@pheem49/mint 1.5.1 → 1.5.3

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 (52) hide show
  1. package/GUIDE_TH.md +7 -7
  2. package/README.md +140 -66
  3. package/assets/Agent_Mint.png +0 -0
  4. package/assets/Settings.png +0 -0
  5. package/main.js +12 -0
  6. package/mint-cli.js +148 -921
  7. package/models/Shiroko_Model/Shiroko/Shiroko_Core//345/221/206/347/214/253.exp3.json +31 -1
  8. package/models/Shiroko_Model/Shiroko/Shiroko_Core//347/202/271/344/270/200/344/270/213.exp3.json +6 -1
  9. package/package.json +20 -21
  10. package/preload.js +2 -0
  11. package/scripts/install_linux_desktop_entry.js +48 -0
  12. package/src/AI_Brain/Gemini_API.js +194 -491
  13. package/src/AI_Brain/autonomous_brain.js +46 -19
  14. package/src/AI_Brain/headless_agent.js +21 -2
  15. package/src/AI_Brain/proactive_engine.js +12 -2
  16. package/src/AI_Brain/provider_adapter.js +358 -0
  17. package/src/Automation_Layer/browser_automation.js +26 -24
  18. package/src/CLI/approval_handler.js +47 -0
  19. package/src/CLI/chat_router.js +7 -0
  20. package/src/CLI/chat_ui.js +586 -80
  21. package/src/CLI/cli_colors.js +115 -0
  22. package/src/CLI/cli_formatters.js +94 -0
  23. package/src/CLI/code_agent.js +825 -283
  24. package/src/CLI/intent_detectors.js +181 -0
  25. package/src/CLI/interactive_chat.js +641 -0
  26. package/src/CLI/list_features.js +3 -0
  27. package/src/CLI/repo_summarizer.js +282 -0
  28. package/src/CLI/semantic_code_search.js +312 -0
  29. package/src/CLI/skill_manager.js +41 -0
  30. package/src/CLI/slash_command_handler.js +418 -0
  31. package/src/CLI/symbol_indexer.js +231 -0
  32. package/src/CLI/updater.js +21 -1
  33. package/src/Channels/discord_bridge.js +11 -13
  34. package/src/Channels/line_bridge.js +10 -10
  35. package/src/Channels/slack_bridge.js +7 -12
  36. package/src/Channels/telegram_bridge.js +6 -14
  37. package/src/Channels/whatsapp_bridge.js +11 -9
  38. package/src/System/chat_history_manager.js +20 -12
  39. package/src/System/config_manager.js +4 -1
  40. package/src/System/ipc_handlers.js +10 -0
  41. package/src/System/optional_require.js +23 -0
  42. package/src/System/picture_store.js +109 -0
  43. package/src/System/task_manager.js +127 -0
  44. package/src/System/tool_registry.js +13 -0
  45. package/src/System/window_manager.js +16 -8
  46. package/src/UI/live2d_manager.js +246 -14
  47. package/src/UI/renderer.js +620 -45
  48. package/src/UI/settings.css +738 -439
  49. package/src/UI/settings.html +487 -432
  50. package/src/UI/settings.js +44 -10
  51. package/src/UI/styles.css +1403 -106
  52. package/privacy.txt +0 -1
@@ -1,39 +1,65 @@
1
1
  :root {
2
- --bg-color: #0f172a;
3
- --bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
4
- --panel-bg: rgba(30, 41, 59, 0.7);
5
- --text-main: #f8fafc;
6
- --text-muted: #94a3b8;
7
- --accent: #8b5cf6;
8
- --accent-hover: #a78bfa;
9
- --border: rgba(255, 255, 255, 0.1);
10
- --shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
11
- --glass-blur: blur(12px);
12
- --card-bg: rgba(30, 41, 59, 0.5);
13
- --input-bg: rgba(0, 0, 0, 0.3);
2
+ --bg-color: #101010;
3
+ --bg-gradient: #101010;
4
+ --panel-bg: #101010;
5
+ --sidebar-bg: #1b1b1c;
6
+ --chrome-bg: #101010;
7
+ --surface-bg: #151515;
8
+ --surface-strong: #1d1d1e;
9
+ --surface-hover: #29292b;
10
+ --input-bg: #2f2f30;
11
+ --input-focus-bg: #343435;
12
+ --text-main: #e8e8ea;
13
+ --text-muted: #8c8c90;
14
+ --text-soft: #c4c4c7;
15
+ --accent: #4f83e6;
16
+ --accent-hover: #75a2ff;
17
+ --accent-soft: #343435;
18
+ --border: rgba(255, 255, 255, 0.075);
19
+ --border-strong: rgba(255, 255, 255, 0.12);
20
+ --danger: #ff4d4d;
21
+ --placeholder: #77777c;
22
+ --shadow: 0 24px 72px rgba(0, 0, 0, 0.5);
23
+ --glass-blur: none;
14
24
  }
15
25
 
16
26
  [data-theme="light"] {
17
- --bg-color: #f1f5f9;
18
- --bg-gradient: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
19
- --panel-bg: rgba(255, 255, 255, 0.8);
27
+ --bg-color: #eef2f7;
28
+ --bg-gradient: linear-gradient(145deg, #f8fafc 0%, #e8edf5 100%);
29
+ --panel-bg: rgba(255, 255, 255, 0.94);
30
+ --sidebar-bg: rgba(241, 245, 249, 0.82);
31
+ --chrome-bg: rgba(255, 255, 255, 0.82);
32
+ --surface-bg: rgba(15, 23, 42, 0.035);
33
+ --surface-strong: rgba(15, 23, 42, 0.065);
34
+ --surface-hover: rgba(15, 23, 42, 0.085);
35
+ --input-bg: rgba(15, 23, 42, 0.045);
36
+ --input-focus-bg: #ffffff;
20
37
  --text-main: #0f172a;
21
38
  --text-muted: #64748b;
22
- --border: rgba(0, 0, 0, 0.12);
23
- --shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
24
- --card-bg: rgba(255, 255, 255, 0.7);
25
- --input-bg: rgba(0, 0, 0, 0.05);
39
+ --text-soft: #334155;
40
+ --border: rgba(15, 23, 42, 0.12);
41
+ --border-strong: rgba(15, 23, 42, 0.18);
42
+ --placeholder: #8590a2;
43
+ --shadow: 0 20px 50px rgba(15, 23, 42, 0.16);
26
44
  }
27
45
 
28
46
  [data-theme="midnight"] {
29
47
  --bg-color: #020617;
30
- --bg-gradient: linear-gradient(135deg, #020617 0%, #0c0a2e 100%);
31
- --panel-bg: rgba(10, 10, 40, 0.8);
48
+ --bg-gradient: linear-gradient(145deg, #020617 0%, #080a22 55%, #120828 100%);
49
+ --panel-bg: rgba(5, 8, 24, 0.94);
50
+ --sidebar-bg: rgba(2, 6, 23, 0.82);
51
+ --chrome-bg: rgba(2, 6, 23, 0.78);
52
+ --surface-bg: rgba(99, 102, 241, 0.055);
53
+ --surface-strong: rgba(99, 102, 241, 0.085);
54
+ --surface-hover: rgba(99, 102, 241, 0.13);
55
+ --input-bg: rgba(0, 0, 0, 0.46);
56
+ --input-focus-bg: rgba(0, 0, 0, 0.64);
32
57
  --text-main: #e2e8f0;
33
- --text-muted: #64748b;
34
- --border: rgba(99, 102, 241, 0.2);
35
- --card-bg: rgba(10, 10, 40, 0.6);
36
- --input-bg: rgba(0, 0, 0, 0.5);
58
+ --text-muted: #74809a;
59
+ --text-soft: #bac4d6;
60
+ --border: rgba(99, 102, 241, 0.16);
61
+ --border-strong: rgba(99, 102, 241, 0.26);
62
+ --placeholder: #68708a;
37
63
  }
38
64
 
39
65
  * {
@@ -43,161 +69,201 @@
43
69
  }
44
70
 
45
71
  body {
46
- font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
47
- background: var(--bg-gradient);
48
- color: var(--text-main);
49
72
  height: 100vh;
50
73
  overflow: hidden;
74
+ background: transparent;
75
+ color: var(--text-main);
76
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
51
77
  user-select: none;
52
- transition: background 0.3s, color 0.3s;
78
+ }
79
+
80
+ button,
81
+ input,
82
+ select,
83
+ textarea {
84
+ font: inherit;
85
+ }
86
+
87
+ button {
88
+ -webkit-app-region: no-drag;
53
89
  }
54
90
 
55
91
  .settings-container {
92
+ display: grid;
93
+ grid-template-rows: 0 minmax(0, 1fr) auto;
56
94
  height: 100vh;
57
- display: flex;
58
- flex-direction: column;
59
- border-radius: 16px;
95
+ overflow: hidden;
96
+ background: var(--panel-bg);
60
97
  border: 1px solid var(--border);
98
+ border-radius: 10px;
61
99
  box-shadow: var(--shadow);
62
- overflow: hidden;
63
- animation: appEntrance 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
64
- opacity: 0;
100
+ opacity: 1;
65
101
  }
66
102
 
67
103
  @keyframes appEntrance {
68
104
  from {
69
105
  opacity: 0;
70
- transform: scale(0.97) translateY(10px);
71
- filter: blur(10px);
106
+ transform: scale(0.985) translateY(8px);
72
107
  }
73
108
  to {
74
109
  opacity: 1;
75
110
  transform: scale(1) translateY(0);
76
- filter: blur(0);
77
111
  }
78
112
  }
79
113
 
80
- /* Header */
81
- .settings-header {
82
- -webkit-app-region: drag;
83
- padding: 16px 20px;
114
+ .settings-header,
115
+ .settings-footer {
84
116
  display: flex;
85
- justify-content: space-between;
86
117
  align-items: center;
87
- background: rgba(0, 0, 0, 0.2);
118
+ background: var(--panel-bg);
119
+ border-color: var(--border);
88
120
  backdrop-filter: var(--glass-blur);
89
- border-bottom: 1px solid var(--border);
121
+ }
122
+
123
+ .settings-header {
124
+ -webkit-app-region: drag;
125
+ position: relative;
126
+ z-index: 3;
127
+ min-height: 0;
128
+ padding: 0;
129
+ border-bottom: 0;
90
130
  }
91
131
 
92
132
  .header-left {
93
- display: flex;
94
- align-items: center;
95
- gap: 10px;
133
+ display: none;
96
134
  }
97
135
 
98
136
  .settings-icon {
99
- font-size: 1.2rem;
137
+ display: grid;
138
+ place-items: center;
139
+ width: 34px;
140
+ height: 34px;
141
+ border: 1px solid var(--border-strong);
142
+ border-radius: 10px;
143
+ background: var(--surface-strong);
144
+ color: var(--accent-hover);
145
+ font-size: 1rem;
100
146
  }
101
147
 
102
148
  h1 {
103
- font-size: 1.05rem;
104
- font-weight: 500;
105
- background: linear-gradient(90deg, var(--text-main), var(--accent));
106
- background-clip: text;
107
- -webkit-background-clip: text;
108
- -webkit-text-fill-color: transparent;
149
+ color: var(--text-main);
150
+ font-size: 1.02rem;
151
+ font-weight: 600;
152
+ letter-spacing: 0;
153
+ }
154
+
155
+ .header-left p {
156
+ margin-top: 2px;
157
+ color: var(--text-muted);
158
+ font-size: 0.78rem;
109
159
  }
110
160
 
111
161
  .close-btn {
112
- -webkit-app-region: no-drag;
162
+ position: absolute;
163
+ top: 24px;
164
+ right: 24px;
165
+ z-index: 5;
166
+ display: grid;
167
+ place-items: center;
168
+ width: 32px;
169
+ height: 32px;
170
+ border: 1px solid transparent;
171
+ border-radius: 8px;
113
172
  background: transparent;
114
- border: none;
115
173
  color: var(--text-muted);
116
174
  cursor: pointer;
117
- padding: 4px;
118
- border-radius: 6px;
119
- display: flex;
120
- align-items: center;
121
- justify-content: center;
122
- transition: all 0.2s;
175
+ transition: background 0.15s, border-color 0.15s, color 0.15s;
123
176
  }
124
177
 
125
178
  .close-btn:hover {
126
- background: rgba(239, 68, 68, 0.2);
127
- color: #ef4444;
179
+ background: rgba(239, 68, 68, 0.12);
180
+ border-color: rgba(239, 68, 68, 0.28);
181
+ color: var(--danger);
128
182
  }
129
183
 
130
- /* Body */
131
184
  .settings-body {
132
- flex: 1;
133
185
  display: flex;
186
+ flex: 1;
187
+ min-height: 0;
134
188
  overflow: hidden;
135
189
  }
136
190
 
137
- /* Sidebar */
138
191
  .settings-sidebar {
139
- width: 160px;
140
- min-width: 160px;
141
- padding: 16px 10px;
142
- display: flex;
143
- flex-direction: column;
144
- gap: 4px;
145
- border-right: 1px solid var(--border);
146
- background: rgba(0, 0, 0, 0.15);
192
+ width: 194px;
193
+ min-width: 194px;
194
+ padding: 96px 8px 12px;
147
195
  overflow-y: auto;
196
+ background: var(--sidebar-bg);
197
+ border-right: 1px solid var(--border);
148
198
  }
149
199
 
150
200
  .tab-btn {
151
- -webkit-app-region: no-drag;
152
201
  display: flex;
153
202
  align-items: center;
154
- gap: 8px;
155
- padding: 10px 12px;
156
- border-radius: 10px;
203
+ width: 100%;
204
+ min-height: 42px;
205
+ gap: 10px;
206
+ padding: 9px 10px;
207
+ border: 1px solid transparent;
208
+ border-radius: 7px;
157
209
  background: transparent;
158
- border: none;
159
210
  color: var(--text-muted);
160
- font-family: inherit;
161
- font-size: 0.82rem;
162
- font-weight: 500;
163
211
  cursor: pointer;
164
212
  text-align: left;
165
- transition: all 0.2s;
213
+ transition: background 0.16s, border-color 0.16s, color 0.16s, transform 0.16s;
214
+ }
215
+
216
+ .tab-btn + .tab-btn {
217
+ margin-top: 5px;
218
+ }
219
+
220
+ .tab-btn span {
221
+ display: none;
222
+ }
223
+
224
+ .tab-btn strong {
225
+ font-size: 0.86rem;
226
+ font-weight: 500;
227
+ line-height: 1.2;
166
228
  }
167
229
 
168
230
  .tab-btn:hover {
169
- background: rgba(139, 92, 246, 0.1);
231
+ background: var(--surface-hover);
170
232
  color: var(--text-main);
233
+ transform: none;
171
234
  }
172
235
 
173
236
  .tab-btn.active {
174
- background: rgba(139, 92, 246, 0.18);
175
- color: var(--accent);
176
- box-shadow: inset 3px 0 0 var(--accent);
237
+ background: var(--surface-strong);
238
+ border-color: transparent;
239
+ color: var(--text-main);
240
+ box-shadow: none;
177
241
  }
178
242
 
179
- /* Content area */
180
243
  .settings-content {
181
244
  flex: 1;
182
- padding: 24px;
245
+ min-width: 0;
183
246
  overflow-y: auto;
247
+ padding: 84px 92px 42px;
184
248
  }
185
249
 
186
- .settings-content::-webkit-scrollbar {
187
- width: 4px;
250
+ .settings-content::-webkit-scrollbar,
251
+ .settings-sidebar::-webkit-scrollbar {
252
+ width: 6px;
188
253
  }
189
254
 
190
- .settings-content::-webkit-scrollbar-thumb {
191
- background: var(--border);
255
+ .settings-content::-webkit-scrollbar-thumb,
256
+ .settings-sidebar::-webkit-scrollbar-thumb {
257
+ background: var(--border-strong);
192
258
  border-radius: 10px;
193
259
  }
194
260
 
195
- /* Tab panes */
196
261
  .tab-pane {
197
262
  display: none;
198
263
  flex-direction: column;
199
- gap: 8px;
200
- animation: fadeTab 0.2s ease;
264
+ gap: 18px;
265
+ max-width: 624px;
266
+ animation: fadeTab 0.18s ease;
201
267
  }
202
268
 
203
269
  .tab-pane.active {
@@ -205,501 +271,734 @@ h1 {
205
271
  }
206
272
 
207
273
  @keyframes fadeTab {
208
- from { opacity: 0; transform: translateX(8px); }
209
- to { opacity: 1; transform: translateX(0); }
274
+ from {
275
+ opacity: 0;
276
+ transform: translateY(4px);
277
+ }
278
+ to {
279
+ opacity: 1;
280
+ transform: translateY(0);
281
+ }
210
282
  }
211
283
 
212
- .setting-section h2.section-title {
213
- font-size: 0.85rem;
214
- font-weight: 500;
215
- color: var(--text-main);
216
- opacity: 0.7;
217
- margin-bottom: 14px;
218
- letter-spacing: 0.5px;
219
- text-transform: uppercase;
284
+ .setting-section {
285
+ padding: 0;
286
+ border: 1px solid var(--border);
287
+ border-radius: 12px;
288
+ background: color-mix(in srgb, var(--surface-bg) 74%, transparent);
289
+ overflow: hidden;
290
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
220
291
  }
221
292
 
222
- .divider {
223
- border: none;
224
- border-top: 1px solid var(--border);
225
- margin: 4px 0;
293
+ .section-heading {
294
+ display: block;
295
+ margin-bottom: 0;
296
+ padding: 20px 14px 14px;
297
+ border-bottom: 1px solid var(--border);
226
298
  }
227
299
 
228
- /* API Key */
229
- .input-group {
230
- display: flex;
231
- gap: 8px;
232
- margin-bottom: 6px;
300
+ .section-kicker {
301
+ margin-bottom: 4px;
302
+ color: var(--accent-hover);
303
+ font-size: 0.72rem;
304
+ font-weight: 600;
305
+ letter-spacing: 0.08em;
306
+ text-transform: uppercase;
233
307
  }
234
308
 
235
- .input-group input,
236
- #api-key-input {
237
- flex: 1;
238
- background: var(--input-bg);
239
- border: 1px solid var(--border);
240
- border-radius: 10px;
241
- padding: 10px 14px;
309
+ .section-title {
242
310
  color: var(--text-main);
243
- font-family: inherit;
244
- font-size: 0.9rem;
245
- outline: none;
246
- transition: border-color 0.2s;
247
- user-select: text;
248
- }
249
-
250
- .input-group input:focus,
251
- #api-key-input:focus {
252
- border-color: var(--accent);
311
+ font-size: 1rem;
312
+ font-weight: 500;
253
313
  }
254
314
 
255
- .toggle-visibility {
256
- background: var(--input-bg);
257
- border: 1px solid var(--border);
258
- border-radius: 10px;
259
- padding: 0 12px;
260
- cursor: pointer;
261
- font-size: 1rem;
315
+ .section-description {
316
+ max-width: none;
317
+ margin-top: 8px;
262
318
  color: var(--text-muted);
263
- transition: all 0.2s;
264
- -webkit-app-region: no-drag;
319
+ font-size: 0.82rem;
320
+ line-height: 1.45;
265
321
  }
266
322
 
267
- .toggle-visibility:hover {
268
- border-color: var(--accent);
323
+ .form-grid {
324
+ display: grid;
325
+ grid-template-columns: minmax(0, 1fr);
326
+ gap: 0;
327
+ padding: 0;
269
328
  }
270
329
 
271
- .api-actions {
272
- display: flex;
273
- align-items: center;
274
- gap: 10px;
275
- margin-bottom: 6px;
330
+ .form-grid.compact {
331
+ grid-template-columns: minmax(0, 1fr);
276
332
  }
277
333
 
278
- .api-save-btn {
279
- -webkit-app-region: no-drag;
280
- padding: 8px 14px;
281
- border-radius: 10px;
282
- font-family: inherit;
283
- font-size: 0.85rem;
284
- font-weight: 500;
285
- cursor: pointer;
286
- background: var(--accent);
287
- color: white;
288
- border: none;
289
- transition: all 0.2s;
334
+ .form-grid.single {
335
+ grid-template-columns: minmax(0, 1fr);
336
+ max-width: 540px;
290
337
  }
291
338
 
292
- .api-save-btn:hover {
293
- background: var(--accent-hover);
294
- transform: translateY(-1px);
339
+ .setting-row {
340
+ min-width: 0;
341
+ display: grid;
342
+ grid-template-columns: minmax(180px, 1fr) minmax(180px, 220px);
343
+ align-items: center;
344
+ gap: 18px;
345
+ min-height: 48px;
346
+ padding: 10px 12px;
347
+ border-top: 1px solid var(--border);
295
348
  }
296
349
 
297
- .api-save-status {
298
- font-size: 0.8rem;
299
- color: var(--text-muted);
350
+ .setting-section .form-grid:first-child .setting-row:first-child,
351
+ .setting-section .section-heading + .form-grid .setting-row:first-child,
352
+ .custom-theme-panel .setting-row:first-child {
353
+ border-top: 0;
300
354
  }
301
355
 
302
- .hint {
303
- font-size: 0.8rem;
304
- color: var(--text-muted);
356
+ .setting-row.wide {
357
+ grid-column: 1 / -1;
305
358
  }
306
359
 
307
- .hint a {
308
- color: var(--accent);
309
- text-decoration: none;
310
- cursor: pointer;
360
+ .setting-row label,
361
+ .color-section label,
362
+ .toggle-row label {
363
+ display: block;
364
+ margin-bottom: 0;
365
+ color: var(--text-soft);
366
+ font-size: 0.83rem;
367
+ font-weight: 500;
311
368
  }
312
369
 
313
- /* Theme Cards */
314
- .theme-grid {
315
- display: grid;
316
- grid-template-columns: repeat(3, 1fr);
317
- gap: 12px;
370
+ input[type="text"],
371
+ input[type="password"],
372
+ input[type="email"],
373
+ input[type="url"],
374
+ select,
375
+ textarea {
376
+ width: 100%;
377
+ min-height: 32px;
378
+ padding: 6px 10px;
379
+ border: 1px solid var(--border);
380
+ border-radius: 7px;
381
+ outline: none;
382
+ background: var(--input-bg);
383
+ color: var(--text-main);
384
+ font-size: 0.88rem;
385
+ user-select: text;
386
+ transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
318
387
  }
319
388
 
320
- .theme-card {
321
- -webkit-app-region: no-drag;
322
- display: flex;
323
- flex-direction: column;
324
- align-items: center;
325
- gap: 8px;
326
- padding: 12px 8px;
327
- background: var(--card-bg);
328
- border: 2px solid var(--border);
329
- border-radius: 12px;
389
+ select {
330
390
  cursor: pointer;
331
- color: var(--text-main);
332
- font-family: inherit;
333
- font-size: 0.85rem;
334
- transition: all 0.2s;
335
391
  }
336
392
 
337
- .theme-card:hover {
338
- border-color: var(--accent);
339
- transform: translateY(-2px);
393
+ textarea {
394
+ min-height: 74px;
395
+ resize: vertical;
396
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
397
+ font-size: 0.8rem;
398
+ line-height: 1.45;
340
399
  }
341
400
 
342
- .theme-card.active {
401
+ input:focus,
402
+ select:focus,
403
+ textarea:focus {
404
+ background: var(--input-focus-bg);
343
405
  border-color: var(--accent);
344
- box-shadow: 0 0 12px rgba(139, 92, 246, 0.3);
345
- }
346
-
347
- .theme-preview {
348
- width: 100%;
349
- height: 44px;
350
- border-radius: 8px;
406
+ box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.13);
351
407
  }
352
408
 
353
- .dark-preview { background: linear-gradient(135deg, #090e17 0%, #1e1b4b 100%); }
354
-
355
- .light-preview { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); }
356
- .midnight-preview { background: linear-gradient(135deg, #02040a 0%, #08061f 100%); }
357
- .custom-preview {
358
- background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
359
- border: 1px dashed rgba(255,255,255,0.3);
360
- }
361
-
362
- /* Accent Colors */
363
- .accent-row {
364
- display: flex;
365
- align-items: center;
366
- justify-content: space-between;
409
+ input::placeholder,
410
+ textarea::placeholder {
411
+ color: var(--placeholder);
367
412
  }
368
413
 
369
- .color-presets {
370
- display: flex;
371
- gap: 10px;
414
+ input[type="color"] {
415
+ width: 44px;
416
+ height: 34px;
417
+ padding: 3px;
418
+ border: 1px solid var(--border);
419
+ border-radius: 9px;
420
+ background: var(--input-bg);
421
+ cursor: pointer;
372
422
  }
373
423
 
374
- .color-dot {
375
- -webkit-app-region: no-drag;
376
- width: 32px;
377
- height: 32px;
378
- border-radius: 50%;
379
- border: 3px solid transparent;
380
- cursor: pointer;
381
- transition: all 0.2s;
424
+ #sect-theme .form-grid {
425
+ padding: 0;
382
426
  }
383
427
 
384
- .color-dot:hover {
385
- transform: scale(1.15);
428
+ #sect-theme .form-grid .setting-row {
429
+ min-height: 56px;
430
+ background: transparent;
386
431
  }
387
432
 
388
- .color-dot.active {
389
- border-color: white;
390
- box-shadow: 0 0 8px rgba(255, 255, 255, 0.4);
433
+ #sect-theme select {
434
+ height: 36px;
435
+ border-radius: 8px;
436
+ background: var(--input-bg);
391
437
  }
392
438
 
393
- .custom-color {
439
+ .input-group {
394
440
  display: flex;
395
- align-items: center;
441
+ align-items: stretch;
396
442
  gap: 8px;
397
- color: var(--text-muted);
398
- font-size: 0.85rem;
399
443
  }
400
444
 
401
- #custom-color {
402
- -webkit-app-region: no-drag;
403
- width: 40px;
404
- height: 32px;
405
- border-radius: 8px;
445
+ .toggle-visibility {
446
+ display: grid;
447
+ place-items: center;
448
+ width: 42px;
449
+ min-width: 42px;
406
450
  border: 1px solid var(--border);
407
- background: transparent;
451
+ border-radius: 9px;
452
+ background: var(--input-bg);
453
+ color: var(--text-muted);
408
454
  cursor: pointer;
409
- padding: 2px;
455
+ transition: background 0.15s, border-color 0.15s, color 0.15s;
410
456
  }
411
457
 
412
- /* Footer */
413
- .settings-footer {
414
- padding: 16px 24px;
415
- display: flex;
416
- justify-content: flex-end;
417
- gap: 12px;
418
- border-top: 1px solid var(--border);
419
- background: rgba(0, 0, 0, 0.1);
458
+ .toggle-visibility:hover {
459
+ background: var(--accent-soft);
460
+ border-color: rgba(139, 92, 246, 0.36);
461
+ color: var(--text-main);
420
462
  }
421
463
 
422
- .btn-primary,
423
- .btn-secondary {
424
- -webkit-app-region: no-drag;
425
- padding: 10px 20px;
426
- border-radius: 10px;
427
- font-family: inherit;
428
- font-size: 0.9rem;
429
- font-weight: 500;
430
- cursor: pointer;
431
- transition: all 0.2s;
464
+ .hidden-row {
465
+ display: none;
432
466
  }
433
467
 
434
- .btn-primary {
435
- background: var(--accent);
436
- color: white;
437
- border: none;
468
+ .hint {
469
+ color: var(--text-muted);
470
+ font-size: 0.78rem;
471
+ line-height: 1.45;
438
472
  }
439
473
 
440
- .btn-primary:hover {
441
- background: var(--accent-hover);
442
- transform: translateY(-1px);
474
+ .hint a {
475
+ color: var(--accent-hover);
476
+ text-decoration: none;
443
477
  }
444
478
 
445
- .btn-secondary {
446
- background: transparent;
447
- color: var(--text-muted);
479
+ .hint a:hover {
480
+ text-decoration: underline;
481
+ }
482
+
483
+ .toggle-row {
484
+ display: grid;
485
+ grid-template-columns: minmax(0, 1fr) auto;
486
+ align-items: center;
487
+ justify-content: space-between;
488
+ gap: 20px;
489
+ min-height: 58px;
490
+ padding: 10px 12px;
448
491
  border: 1px solid var(--border);
492
+ border-radius: 11px;
493
+ background: transparent;
449
494
  }
450
495
 
451
- .btn-secondary:hover {
452
- border-color: var(--text-muted);
496
+ .toggle-row label {
497
+ margin-bottom: 4px;
453
498
  color: var(--text-main);
454
499
  }
455
500
 
456
- .btn-danger {
457
- -webkit-app-region: no-drag;
458
- padding: 10px 20px;
459
- border-radius: 10px;
460
- font-family: inherit;
461
- font-size: 0.9rem;
462
- font-weight: 500;
463
- cursor: pointer;
464
- background: rgba(239, 68, 68, 0.1);
465
- color: #ef4444;
466
- border: 1px solid rgba(239, 68, 68, 0.4);
467
- transition: all 0.2s;
501
+ .toggle-switch {
502
+ position: relative;
503
+ display: inline-block;
504
+ width: 46px;
505
+ min-width: 46px;
506
+ height: 26px;
468
507
  }
469
508
 
470
- .btn-danger:hover {
471
- background: #ef4444;
472
- color: white;
473
- transform: translateY(-1px);
474
- box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
509
+ .toggle-switch input {
510
+ width: 0;
511
+ height: 0;
512
+ opacity: 0;
475
513
  }
476
514
 
477
- /* Range Slider (Proactive Settings) */
478
- .slider-group {
479
- display: flex;
515
+ .toggle-slider {
516
+ position: absolute;
517
+ inset: 0;
518
+ cursor: pointer;
519
+ background: var(--input-bg);
520
+ border: 1px solid var(--border-strong);
521
+ border-radius: 999px;
522
+ transition: background 0.18s, border-color 0.18s;
523
+ }
524
+
525
+ .toggle-slider::before {
526
+ position: absolute;
527
+ content: "";
528
+ width: 18px;
529
+ height: 18px;
530
+ left: 3px;
531
+ bottom: 3px;
532
+ border-radius: 50%;
533
+ background: var(--text-muted);
534
+ transition: transform 0.18s, background 0.18s;
535
+ }
536
+
537
+ input:checked + .toggle-slider {
538
+ background: var(--accent);
539
+ border-color: var(--accent);
540
+ }
541
+
542
+ input:checked + .toggle-slider::before {
543
+ transform: translateX(20px);
544
+ background: #ffffff;
545
+ }
546
+
547
+ .slider-stack {
548
+ display: grid;
549
+ gap: 16px;
550
+ max-width: 660px;
551
+ }
552
+
553
+ .slider-group {
554
+ display: flex;
480
555
  align-items: center;
481
556
  gap: 12px;
482
- margin-bottom: 6px;
483
557
  }
484
558
 
485
559
  .range-slider {
486
- -webkit-app-region: no-drag;
487
560
  flex: 1;
561
+ min-height: 22px;
488
562
  -webkit-appearance: none;
489
563
  appearance: none;
490
- height: 5px;
491
- border-radius: 10px;
492
- background: var(--border);
493
- outline: none;
564
+ background: transparent;
494
565
  cursor: pointer;
495
- transition: background 0.2s;
566
+ }
567
+
568
+ .range-slider::-webkit-slider-runnable-track {
569
+ height: 6px;
570
+ border-radius: 999px;
571
+ background: var(--border-strong);
496
572
  }
497
573
 
498
574
  .range-slider::-webkit-slider-thumb {
575
+ width: 18px;
576
+ height: 18px;
577
+ margin-top: -6px;
499
578
  -webkit-appearance: none;
500
579
  appearance: none;
501
- width: 16px;
502
- height: 16px;
580
+ border: 3px solid var(--panel-bg);
503
581
  border-radius: 50%;
504
582
  background: var(--accent);
505
- cursor: pointer;
506
- box-shadow: 0 0 6px rgba(139, 92, 246, 0.5);
507
- transition: transform 0.15s, box-shadow 0.15s;
508
- }
509
-
510
- .range-slider::-webkit-slider-thumb:hover {
511
- transform: scale(1.2);
512
- box-shadow: 0 0 10px rgba(139, 92, 246, 0.7);
583
+ box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.5), 0 6px 16px rgba(0, 0, 0, 0.25);
513
584
  }
514
585
 
515
586
  .range-value {
516
- font-size: 0.82rem;
517
- font-weight: 600;
518
- color: var(--accent);
519
- background: rgba(139, 92, 246, 0.12);
587
+ min-width: 68px;
588
+ padding: 5px 9px;
520
589
  border: 1px solid rgba(139, 92, 246, 0.3);
521
590
  border-radius: 8px;
522
- padding: 3px 10px;
523
- min-width: 60px;
591
+ background: var(--accent-soft);
592
+ color: var(--accent-hover);
593
+ font-size: 0.78rem;
594
+ font-weight: 600;
524
595
  text-align: center;
525
596
  white-space: nowrap;
526
597
  }
527
598
 
528
- .setting-row label {
529
- display: block;
530
- font-size: 0.88rem;
531
- font-weight: 500;
599
+ .button-row,
600
+ .footer-actions {
601
+ display: flex;
602
+ align-items: center;
603
+ gap: 10px;
604
+ }
605
+
606
+ .btn-primary,
607
+ .btn-secondary,
608
+ .btn-danger,
609
+ .btn-connect,
610
+ .btn-disconnect {
611
+ min-height: 38px;
612
+ padding: 9px 15px;
613
+ border-radius: 9px;
614
+ cursor: pointer;
615
+ font-size: 0.86rem;
616
+ font-weight: 600;
617
+ transition: transform 0.15s, background 0.15s, border-color 0.15s, color 0.15s;
618
+ }
619
+
620
+ .btn-small {
621
+ min-height: 32px;
622
+ padding: 6px 11px;
623
+ font-size: 0.78rem;
624
+ }
625
+
626
+ .btn-primary {
627
+ border: 1px solid transparent;
628
+ background: var(--accent);
629
+ color: #ffffff;
630
+ box-shadow: none;
631
+ }
632
+
633
+ .btn-primary:hover,
634
+ .btn-secondary:hover,
635
+ .btn-danger:hover,
636
+ .btn-connect:hover,
637
+ .btn-disconnect:hover {
638
+ transform: translateY(-1px);
639
+ }
640
+
641
+ .btn-secondary {
642
+ border: 1px solid var(--border);
643
+ background: #252526;
644
+ color: var(--text-soft);
645
+ }
646
+
647
+ .btn-secondary:hover {
648
+ border-color: var(--border-strong);
532
649
  color: var(--text-main);
533
- margin-bottom: 8px;
534
650
  }
535
651
 
536
- /* Shortcuts Guide */
537
- .shortcut-list {
652
+ .btn-danger,
653
+ .btn-disconnect {
654
+ border: 1px solid rgba(239, 68, 68, 0.36);
655
+ background: rgba(239, 68, 68, 0.1);
656
+ color: var(--danger);
657
+ }
658
+
659
+ .btn-danger:hover,
660
+ .btn-disconnect:hover {
661
+ background: var(--danger);
662
+ color: #ffffff;
663
+ }
664
+
665
+ .btn-connect {
666
+ border: 1px solid transparent;
667
+ background: var(--accent);
668
+ color: #ffffff;
669
+ }
670
+
671
+ .full-width {
672
+ width: 100%;
673
+ }
674
+
675
+ .theme-grid {
676
+ display: grid;
677
+ grid-template-columns: repeat(4, minmax(0, 1fr));
678
+ gap: 10px;
679
+ padding: 14px;
680
+ }
681
+
682
+ .theme-card {
683
+ position: relative;
538
684
  display: flex;
539
685
  flex-direction: column;
540
- gap: 12px;
541
- background: rgba(0, 0, 0, 0.15);
542
- padding: 16px;
543
- border-radius: 12px;
686
+ gap: 10px;
687
+ min-height: 102px;
688
+ padding: 10px;
544
689
  border: 1px solid var(--border);
690
+ border-radius: 10px;
691
+ background: var(--input-bg);
692
+ color: var(--text-soft);
693
+ cursor: pointer;
694
+ text-align: left;
695
+ overflow: hidden;
696
+ transition: border-color 0.16s, background 0.16s, color 0.16s, transform 0.16s, box-shadow 0.16s;
545
697
  }
546
698
 
547
- .shortcut-item {
548
- display: flex;
549
- justify-content: space-between;
550
- align-items: center;
551
- font-size: 0.88rem;
699
+ .theme-card:hover {
700
+ background: var(--surface-hover);
701
+ border-color: var(--border-strong);
552
702
  color: var(--text-main);
553
703
  }
554
704
 
555
- .keys {
556
- display: flex;
557
- gap: 4px;
558
- align-items: center;
559
- color: var(--text-muted);
560
- font-size: 0.75rem;
705
+ .theme-card.active {
706
+ border-color: var(--accent);
707
+ color: var(--text-main);
708
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);
561
709
  }
562
710
 
563
- kbd {
564
- background: rgba(255, 255, 255, 0.1);
565
- border: 1px solid var(--border);
566
- border-radius: 4px;
567
- padding: 2px 6px;
568
- font-family: 'Outfit', sans-serif;
569
- font-size: 0.75rem;
570
- font-weight: 600;
571
- color: var(--accent);
572
- box-shadow: 0 2px 0 rgba(0, 0, 0, 0.3);
711
+ .theme-card.active::after {
712
+ content: "";
713
+ position: absolute;
714
+ top: 10px;
715
+ right: 10px;
716
+ width: 8px;
717
+ height: 8px;
718
+ border-radius: 999px;
719
+ background: var(--accent);
720
+ box-shadow: 0 0 12px color-mix(in srgb, var(--accent) 70%, transparent);
573
721
  }
574
722
 
575
- /* Toggle Switch */
576
- .toggle-switch {
577
- position: relative;
578
- display: inline-block;
579
- width: 44px;
580
- height: 24px;
581
- -webkit-app-region: no-drag;
723
+ .theme-card span {
724
+ font-size: 0.88rem;
725
+ font-weight: 500;
582
726
  }
583
727
 
584
- .toggle-switch input {
585
- opacity: 0;
586
- width: 0;
587
- height: 0;
728
+ .theme-preview {
729
+ width: 100%;
730
+ height: 54px;
731
+ border-radius: 8px;
732
+ border: 1px solid rgba(255, 255, 255, 0.06);
733
+ box-shadow: inset 0 -18px 30px rgba(0, 0, 0, 0.12);
588
734
  }
589
735
 
590
- .toggle-slider {
591
- position: absolute;
592
- cursor: pointer;
593
- top: 0;
594
- left: 0;
595
- right: 0;
596
- bottom: 0;
597
- background-color: var(--input-bg);
598
- border: 1px solid var(--border);
599
- transition: .3s;
600
- border-radius: 24px;
736
+ .dark-preview {
737
+ background: linear-gradient(135deg, #0b1020 0%, #241642 100%);
601
738
  }
602
739
 
603
- .toggle-slider:before {
604
- position: absolute;
605
- content: "";
606
- height: 16px;
607
- width: 16px;
608
- left: 3px;
609
- bottom: 3px;
610
- background-color: var(--text-muted);
611
- transition: .3s;
612
- border-radius: 50%;
740
+ .light-preview {
741
+ background: linear-gradient(135deg, #f8fafc 0%, #dbe5f0 100%);
613
742
  }
614
743
 
615
- input:checked + .toggle-slider {
616
- background-color: var(--accent);
617
- border-color: var(--accent);
744
+ .midnight-preview {
745
+ background: linear-gradient(135deg, #020617 0%, #100626 100%);
618
746
  }
619
747
 
620
- input:checked + .toggle-slider:before {
621
- transform: translateX(19px);
622
- background-color: white;
623
- box-shadow: 0 0 6px rgba(255, 255, 255, 0.8);
748
+ .custom-preview {
749
+ background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
750
+ border: 1px dashed rgba(255, 255, 255, 0.28);
624
751
  }
625
752
 
626
- /* Plugin Manager */
627
- .plugin-list {
628
- display: flex;
629
- flex-direction: column;
630
- gap: 12px;
753
+ .custom-theme-panel {
754
+ margin: 0 14px 14px;
755
+ padding: 0;
756
+ border: 1px dashed var(--border-strong);
757
+ border-radius: 10px;
758
+ background: var(--input-bg);
759
+ overflow: hidden;
631
760
  }
632
761
 
633
- .plugin-card {
634
- -webkit-app-region: no-drag;
762
+ .custom-theme-panel .setting-row + .setting-row {
763
+ margin-top: 12px;
764
+ }
765
+
766
+ .color-range,
767
+ .color-inputs {
635
768
  display: flex;
636
769
  align-items: center;
637
- background: rgba(0, 0, 0, 0.2);
638
- border: 1px solid var(--border);
639
- border-radius: 12px;
770
+ gap: 10px;
771
+ }
772
+
773
+ .color-section {
774
+ display: grid;
775
+ grid-template-columns: minmax(0, 1fr) auto;
776
+ align-items: center;
777
+ justify-content: space-between;
778
+ gap: 20px;
640
779
  padding: 14px;
641
- transition: all 0.2s;
642
780
  }
643
781
 
644
- .plugin-card:hover {
645
- border-color: var(--accent);
782
+ .color-presets {
783
+ display: flex;
784
+ flex-wrap: wrap;
785
+ gap: 10px;
646
786
  }
647
787
 
648
- .plugin-icon {
649
- font-size: 2rem;
650
- margin-right: 14px;
788
+ .color-dot {
789
+ width: 31px;
790
+ height: 31px;
791
+ border: 3px solid transparent;
792
+ border-radius: 50%;
793
+ cursor: pointer;
794
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
795
+ transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
651
796
  }
652
797
 
653
- .plugin-info {
654
- flex: 1;
798
+ .color-dot:hover {
799
+ transform: scale(1.08);
800
+ }
801
+
802
+ .color-dot.active {
803
+ border-color: #ffffff;
804
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 44%, transparent), inset 0 0 0 1px rgba(255, 255, 255, 0.22);
805
+ }
806
+
807
+ .accent-purple { background: #8b5cf6; }
808
+ .accent-cyan { background: #06b6d4; }
809
+ .accent-green { background: #10b981; }
810
+ .accent-amber { background: #f59e0b; }
811
+ .accent-red { background: #ef4444; }
812
+ .accent-pink { background: #ec4899; }
813
+
814
+ .plugin-list {
815
+ display: grid;
816
+ gap: 10px;
817
+ }
818
+
819
+ .plugin-card {
820
+ display: grid;
821
+ grid-template-columns: 38px minmax(0, 1fr) auto;
822
+ align-items: center;
823
+ gap: 12px;
824
+ padding: 12px;
825
+ border: 1px solid var(--border);
826
+ border-radius: 11px;
827
+ background: var(--surface-bg);
828
+ }
829
+
830
+ .plugin-icon {
831
+ display: grid;
832
+ place-items: center;
833
+ width: 38px;
834
+ height: 38px;
835
+ border: 1px solid var(--border);
836
+ border-radius: 10px;
837
+ background: var(--surface-strong);
655
838
  }
656
839
 
657
840
  .plugin-name {
658
- font-size: 0.95rem;
659
- font-weight: 500;
841
+ margin-bottom: 3px;
660
842
  color: var(--text-main);
661
- margin-bottom: 4px;
843
+ font-size: 0.92rem;
844
+ font-weight: 600;
662
845
  }
663
846
 
664
847
  .plugin-desc {
665
- font-size: 0.8rem;
666
848
  color: var(--text-muted);
849
+ font-size: 0.78rem;
850
+ line-height: 1.35;
851
+ }
852
+
853
+ .mcp-list {
854
+ display: grid;
855
+ gap: 10px;
856
+ margin-bottom: 16px;
857
+ }
858
+
859
+ .mcp-empty {
860
+ padding: 16px;
861
+ border: 1px dashed var(--border);
862
+ border-radius: 11px;
863
+ color: var(--text-muted);
864
+ font-size: 0.82rem;
865
+ text-align: center;
667
866
  }
668
867
 
669
- .plugin-actions {
868
+ .mcp-item {
670
869
  display: flex;
671
- gap: 8px;
870
+ align-items: center;
871
+ justify-content: space-between;
872
+ gap: 14px;
873
+ padding: 12px;
874
+ border: 1px solid var(--border);
875
+ border-radius: 11px;
876
+ background: var(--surface-bg);
672
877
  }
673
878
 
674
- .btn-connect {
675
- padding: 6px 14px;
676
- border-radius: 8px;
677
- font-size: 0.8rem;
678
- font-weight: 500;
679
- cursor: pointer;
680
- background: var(--accent);
681
- color: white;
682
- border: none;
683
- transition: all 0.2s;
879
+ .mcp-info {
880
+ min-width: 0;
684
881
  }
685
882
 
686
- .btn-connect:hover {
687
- background: var(--accent-hover);
688
- transform: translateY(-1px);
883
+ .mcp-name {
884
+ margin-bottom: 4px;
885
+ color: var(--text-main);
886
+ font-size: 0.9rem;
887
+ font-weight: 600;
689
888
  }
690
889
 
691
- .btn-disconnect {
692
- padding: 6px 14px;
693
- border-radius: 8px;
694
- font-size: 0.8rem;
695
- font-weight: 500;
696
- cursor: pointer;
697
- background: transparent;
698
- color: #ef4444;
699
- border: 1px solid rgba(239, 68, 68, 0.4);
700
- transition: all 0.2s;
890
+ .mcp-command {
891
+ overflow: hidden;
892
+ color: var(--text-muted);
893
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
894
+ font-size: 0.74rem;
895
+ text-overflow: ellipsis;
896
+ white-space: nowrap;
701
897
  }
702
898
 
703
- .btn-disconnect:hover {
704
- background: rgba(239, 68, 68, 0.1);
899
+ .add-mcp-box {
900
+ display: grid;
901
+ gap: 10px;
902
+ padding: 14px;
903
+ border: 1px dashed var(--border-strong);
904
+ border-radius: 11px;
905
+ background: var(--surface-bg);
906
+ }
907
+
908
+ .add-mcp-box h3 {
909
+ color: var(--accent-hover);
910
+ font-size: 0.94rem;
911
+ font-weight: 600;
912
+ }
913
+
914
+ .shortcut-list {
915
+ display: grid;
916
+ gap: 10px;
917
+ }
918
+
919
+ .shortcut-item {
920
+ display: flex;
921
+ align-items: center;
922
+ justify-content: space-between;
923
+ gap: 16px;
924
+ padding: 13px 14px;
925
+ border: 1px solid var(--border);
926
+ border-radius: 11px;
927
+ background: var(--surface-bg);
928
+ color: var(--text-soft);
929
+ font-size: 0.88rem;
930
+ }
931
+
932
+ .keys {
933
+ display: flex;
934
+ align-items: center;
935
+ gap: 6px;
936
+ }
937
+
938
+ kbd {
939
+ min-width: 30px;
940
+ padding: 4px 8px;
941
+ border: 1px solid var(--border-strong);
942
+ border-radius: 7px;
943
+ background: var(--input-bg);
944
+ color: var(--accent-hover);
945
+ font-family: 'Outfit', sans-serif;
946
+ font-size: 0.76rem;
947
+ font-weight: 700;
948
+ text-align: center;
949
+ }
950
+
951
+ .settings-footer {
952
+ justify-content: space-between;
953
+ gap: 14px;
954
+ min-height: 64px;
955
+ padding: 12px 20px;
956
+ border-top: 1px solid var(--border);
957
+ background: var(--panel-bg);
958
+ }
959
+
960
+ .settings-footer .btn-danger {
961
+ min-width: 150px;
962
+ }
963
+
964
+ .footer-actions {
965
+ margin-left: auto;
966
+ }
967
+
968
+ @media (max-width: 620px) {
969
+ .settings-sidebar {
970
+ width: 64px;
971
+ min-width: 64px;
972
+ padding: 12px 8px;
973
+ }
974
+
975
+ .tab-btn {
976
+ justify-content: center;
977
+ padding: 10px;
978
+ }
979
+
980
+ .tab-btn strong {
981
+ display: none;
982
+ }
983
+
984
+ .settings-content {
985
+ padding: 18px;
986
+ }
987
+
988
+ .section-heading,
989
+ .color-section,
990
+ .settings-footer {
991
+ align-items: stretch;
992
+ flex-direction: column;
993
+ }
994
+
995
+ .footer-actions {
996
+ margin-left: 0;
997
+ }
998
+
999
+ .form-grid,
1000
+ .form-grid.compact,
1001
+ .theme-grid {
1002
+ grid-template-columns: minmax(0, 1fr);
1003
+ }
705
1004
  }