@pheem49/mint 1.2.1

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 (69) hide show
  1. package/BUILD_AND_RELEASE.md +75 -0
  2. package/LICENSE +654 -0
  3. package/README.md +165 -0
  4. package/assets/Agent_Mint.png +0 -0
  5. package/assets/CLI_Screen.png +0 -0
  6. package/assets/Settings.png +0 -0
  7. package/assets/icon.png +0 -0
  8. package/benchmark_ai.js +71 -0
  9. package/main.js +968 -0
  10. package/mint-cli-logic.js +71 -0
  11. package/mint-cli.js +239 -0
  12. package/package.json +60 -0
  13. package/preload-picker.js +11 -0
  14. package/preload-settings.js +11 -0
  15. package/preload.js +37 -0
  16. package/privacy.txt +1 -0
  17. package/src/AI_Brain/Gemini_API.js +419 -0
  18. package/src/AI_Brain/autonomous_brain.js +139 -0
  19. package/src/AI_Brain/behavior_memory.js +114 -0
  20. package/src/AI_Brain/headless_agent.js +120 -0
  21. package/src/AI_Brain/knowledge_base.js +222 -0
  22. package/src/AI_Brain/proactive_engine.js +168 -0
  23. package/src/Automation_Layer/browser_automation.js +147 -0
  24. package/src/Automation_Layer/file_operations.js +80 -0
  25. package/src/Automation_Layer/open_app.js +56 -0
  26. package/src/Automation_Layer/open_website.js +38 -0
  27. package/src/CLI/chat_ui.js +468 -0
  28. package/src/CLI/list_features.js +56 -0
  29. package/src/CLI/onboarding.js +60 -0
  30. package/src/Command_Parser/parser.js +34 -0
  31. package/src/Plugins/dev_tools.js +41 -0
  32. package/src/Plugins/discord.js +20 -0
  33. package/src/Plugins/docker.js +45 -0
  34. package/src/Plugins/google_calendar.js +26 -0
  35. package/src/Plugins/obsidian.js +54 -0
  36. package/src/Plugins/plugin_manager.js +81 -0
  37. package/src/Plugins/spotify.js +45 -0
  38. package/src/Plugins/system_metrics.js +31 -0
  39. package/src/System/chat_history_manager.js +57 -0
  40. package/src/System/config_manager.js +73 -0
  41. package/src/System/custom_workflows.js +127 -0
  42. package/src/System/daemon_manager.js +67 -0
  43. package/src/System/system_automation.js +88 -0
  44. package/src/System/system_events.js +79 -0
  45. package/src/System/system_info.js +55 -0
  46. package/src/System/task_manager.js +85 -0
  47. package/src/UI/floating.css +80 -0
  48. package/src/UI/floating.html +17 -0
  49. package/src/UI/floating.js +67 -0
  50. package/src/UI/index.html +126 -0
  51. package/src/UI/preload-floating.js +7 -0
  52. package/src/UI/preload-spotlight.js +10 -0
  53. package/src/UI/preload-widget.js +5 -0
  54. package/src/UI/proactive-glow.html +42 -0
  55. package/src/UI/renderer.js +978 -0
  56. package/src/UI/screenPicker.html +214 -0
  57. package/src/UI/screenPicker.js +262 -0
  58. package/src/UI/settings.css +705 -0
  59. package/src/UI/settings.html +396 -0
  60. package/src/UI/settings.js +514 -0
  61. package/src/UI/spotlight.css +119 -0
  62. package/src/UI/spotlight.html +23 -0
  63. package/src/UI/spotlight.js +181 -0
  64. package/src/UI/styles.css +627 -0
  65. package/src/UI/widget.css +218 -0
  66. package/src/UI/widget.html +29 -0
  67. package/src/UI/widget.js +10 -0
  68. package/tech_news.txt +3 -0
  69. package/test_knowledge.txt +3 -0
@@ -0,0 +1,705 @@
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);
14
+ }
15
+
16
+ [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);
20
+ --text-main: #0f172a;
21
+ --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);
26
+ }
27
+
28
+ [data-theme="midnight"] {
29
+ --bg-color: #020617;
30
+ --bg-gradient: linear-gradient(135deg, #020617 0%, #0c0a2e 100%);
31
+ --panel-bg: rgba(10, 10, 40, 0.8);
32
+ --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);
37
+ }
38
+
39
+ * {
40
+ box-sizing: border-box;
41
+ margin: 0;
42
+ padding: 0;
43
+ }
44
+
45
+ body {
46
+ font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
47
+ background: var(--bg-gradient);
48
+ color: var(--text-main);
49
+ height: 100vh;
50
+ overflow: hidden;
51
+ user-select: none;
52
+ transition: background 0.3s, color 0.3s;
53
+ }
54
+
55
+ .settings-container {
56
+ height: 100vh;
57
+ display: flex;
58
+ flex-direction: column;
59
+ border-radius: 16px;
60
+ border: 1px solid var(--border);
61
+ 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;
65
+ }
66
+
67
+ @keyframes appEntrance {
68
+ from {
69
+ opacity: 0;
70
+ transform: scale(0.97) translateY(10px);
71
+ filter: blur(10px);
72
+ }
73
+ to {
74
+ opacity: 1;
75
+ transform: scale(1) translateY(0);
76
+ filter: blur(0);
77
+ }
78
+ }
79
+
80
+ /* Header */
81
+ .settings-header {
82
+ -webkit-app-region: drag;
83
+ padding: 16px 20px;
84
+ display: flex;
85
+ justify-content: space-between;
86
+ align-items: center;
87
+ background: rgba(0, 0, 0, 0.2);
88
+ backdrop-filter: var(--glass-blur);
89
+ border-bottom: 1px solid var(--border);
90
+ }
91
+
92
+ .header-left {
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 10px;
96
+ }
97
+
98
+ .settings-icon {
99
+ font-size: 1.2rem;
100
+ }
101
+
102
+ 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;
109
+ }
110
+
111
+ .close-btn {
112
+ -webkit-app-region: no-drag;
113
+ background: transparent;
114
+ border: none;
115
+ color: var(--text-muted);
116
+ 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;
123
+ }
124
+
125
+ .close-btn:hover {
126
+ background: rgba(239, 68, 68, 0.2);
127
+ color: #ef4444;
128
+ }
129
+
130
+ /* Body */
131
+ .settings-body {
132
+ flex: 1;
133
+ display: flex;
134
+ overflow: hidden;
135
+ }
136
+
137
+ /* Sidebar */
138
+ .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);
147
+ overflow-y: auto;
148
+ }
149
+
150
+ .tab-btn {
151
+ -webkit-app-region: no-drag;
152
+ display: flex;
153
+ align-items: center;
154
+ gap: 8px;
155
+ padding: 10px 12px;
156
+ border-radius: 10px;
157
+ background: transparent;
158
+ border: none;
159
+ color: var(--text-muted);
160
+ font-family: inherit;
161
+ font-size: 0.82rem;
162
+ font-weight: 500;
163
+ cursor: pointer;
164
+ text-align: left;
165
+ transition: all 0.2s;
166
+ }
167
+
168
+ .tab-btn:hover {
169
+ background: rgba(139, 92, 246, 0.1);
170
+ color: var(--text-main);
171
+ }
172
+
173
+ .tab-btn.active {
174
+ background: rgba(139, 92, 246, 0.18);
175
+ color: var(--accent);
176
+ box-shadow: inset 3px 0 0 var(--accent);
177
+ }
178
+
179
+ /* Content area */
180
+ .settings-content {
181
+ flex: 1;
182
+ padding: 24px;
183
+ overflow-y: auto;
184
+ }
185
+
186
+ .settings-content::-webkit-scrollbar {
187
+ width: 4px;
188
+ }
189
+
190
+ .settings-content::-webkit-scrollbar-thumb {
191
+ background: var(--border);
192
+ border-radius: 10px;
193
+ }
194
+
195
+ /* Tab panes */
196
+ .tab-pane {
197
+ display: none;
198
+ flex-direction: column;
199
+ gap: 8px;
200
+ animation: fadeTab 0.2s ease;
201
+ }
202
+
203
+ .tab-pane.active {
204
+ display: flex;
205
+ }
206
+
207
+ @keyframes fadeTab {
208
+ from { opacity: 0; transform: translateX(8px); }
209
+ to { opacity: 1; transform: translateX(0); }
210
+ }
211
+
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;
220
+ }
221
+
222
+ .divider {
223
+ border: none;
224
+ border-top: 1px solid var(--border);
225
+ margin: 4px 0;
226
+ }
227
+
228
+ /* API Key */
229
+ .input-group {
230
+ display: flex;
231
+ gap: 8px;
232
+ margin-bottom: 6px;
233
+ }
234
+
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;
242
+ 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);
253
+ }
254
+
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;
262
+ color: var(--text-muted);
263
+ transition: all 0.2s;
264
+ -webkit-app-region: no-drag;
265
+ }
266
+
267
+ .toggle-visibility:hover {
268
+ border-color: var(--accent);
269
+ }
270
+
271
+ .api-actions {
272
+ display: flex;
273
+ align-items: center;
274
+ gap: 10px;
275
+ margin-bottom: 6px;
276
+ }
277
+
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;
290
+ }
291
+
292
+ .api-save-btn:hover {
293
+ background: var(--accent-hover);
294
+ transform: translateY(-1px);
295
+ }
296
+
297
+ .api-save-status {
298
+ font-size: 0.8rem;
299
+ color: var(--text-muted);
300
+ }
301
+
302
+ .hint {
303
+ font-size: 0.8rem;
304
+ color: var(--text-muted);
305
+ }
306
+
307
+ .hint a {
308
+ color: var(--accent);
309
+ text-decoration: none;
310
+ cursor: pointer;
311
+ }
312
+
313
+ /* Theme Cards */
314
+ .theme-grid {
315
+ display: grid;
316
+ grid-template-columns: repeat(3, 1fr);
317
+ gap: 12px;
318
+ }
319
+
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;
330
+ cursor: pointer;
331
+ color: var(--text-main);
332
+ font-family: inherit;
333
+ font-size: 0.85rem;
334
+ transition: all 0.2s;
335
+ }
336
+
337
+ .theme-card:hover {
338
+ border-color: var(--accent);
339
+ transform: translateY(-2px);
340
+ }
341
+
342
+ .theme-card.active {
343
+ 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;
351
+ }
352
+
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;
367
+ }
368
+
369
+ .color-presets {
370
+ display: flex;
371
+ gap: 10px;
372
+ }
373
+
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;
382
+ }
383
+
384
+ .color-dot:hover {
385
+ transform: scale(1.15);
386
+ }
387
+
388
+ .color-dot.active {
389
+ border-color: white;
390
+ box-shadow: 0 0 8px rgba(255, 255, 255, 0.4);
391
+ }
392
+
393
+ .custom-color {
394
+ display: flex;
395
+ align-items: center;
396
+ gap: 8px;
397
+ color: var(--text-muted);
398
+ font-size: 0.85rem;
399
+ }
400
+
401
+ #custom-color {
402
+ -webkit-app-region: no-drag;
403
+ width: 40px;
404
+ height: 32px;
405
+ border-radius: 8px;
406
+ border: 1px solid var(--border);
407
+ background: transparent;
408
+ cursor: pointer;
409
+ padding: 2px;
410
+ }
411
+
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);
420
+ }
421
+
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;
432
+ }
433
+
434
+ .btn-primary {
435
+ background: var(--accent);
436
+ color: white;
437
+ border: none;
438
+ }
439
+
440
+ .btn-primary:hover {
441
+ background: var(--accent-hover);
442
+ transform: translateY(-1px);
443
+ }
444
+
445
+ .btn-secondary {
446
+ background: transparent;
447
+ color: var(--text-muted);
448
+ border: 1px solid var(--border);
449
+ }
450
+
451
+ .btn-secondary:hover {
452
+ border-color: var(--text-muted);
453
+ color: var(--text-main);
454
+ }
455
+
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;
468
+ }
469
+
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);
475
+ }
476
+
477
+ /* Range Slider (Proactive Settings) */
478
+ .slider-group {
479
+ display: flex;
480
+ align-items: center;
481
+ gap: 12px;
482
+ margin-bottom: 6px;
483
+ }
484
+
485
+ .range-slider {
486
+ -webkit-app-region: no-drag;
487
+ flex: 1;
488
+ -webkit-appearance: none;
489
+ appearance: none;
490
+ height: 5px;
491
+ border-radius: 10px;
492
+ background: var(--border);
493
+ outline: none;
494
+ cursor: pointer;
495
+ transition: background 0.2s;
496
+ }
497
+
498
+ .range-slider::-webkit-slider-thumb {
499
+ -webkit-appearance: none;
500
+ appearance: none;
501
+ width: 16px;
502
+ height: 16px;
503
+ border-radius: 50%;
504
+ 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);
513
+ }
514
+
515
+ .range-value {
516
+ font-size: 0.82rem;
517
+ font-weight: 600;
518
+ color: var(--accent);
519
+ background: rgba(139, 92, 246, 0.12);
520
+ border: 1px solid rgba(139, 92, 246, 0.3);
521
+ border-radius: 8px;
522
+ padding: 3px 10px;
523
+ min-width: 60px;
524
+ text-align: center;
525
+ white-space: nowrap;
526
+ }
527
+
528
+ .setting-row label {
529
+ display: block;
530
+ font-size: 0.88rem;
531
+ font-weight: 500;
532
+ color: var(--text-main);
533
+ margin-bottom: 8px;
534
+ }
535
+
536
+ /* Shortcuts Guide */
537
+ .shortcut-list {
538
+ display: flex;
539
+ flex-direction: column;
540
+ gap: 12px;
541
+ background: rgba(0, 0, 0, 0.15);
542
+ padding: 16px;
543
+ border-radius: 12px;
544
+ border: 1px solid var(--border);
545
+ }
546
+
547
+ .shortcut-item {
548
+ display: flex;
549
+ justify-content: space-between;
550
+ align-items: center;
551
+ font-size: 0.88rem;
552
+ color: var(--text-main);
553
+ }
554
+
555
+ .keys {
556
+ display: flex;
557
+ gap: 4px;
558
+ align-items: center;
559
+ color: var(--text-muted);
560
+ font-size: 0.75rem;
561
+ }
562
+
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);
573
+ }
574
+
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;
582
+ }
583
+
584
+ .toggle-switch input {
585
+ opacity: 0;
586
+ width: 0;
587
+ height: 0;
588
+ }
589
+
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;
601
+ }
602
+
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%;
613
+ }
614
+
615
+ input:checked + .toggle-slider {
616
+ background-color: var(--accent);
617
+ border-color: var(--accent);
618
+ }
619
+
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);
624
+ }
625
+
626
+ /* Plugin Manager */
627
+ .plugin-list {
628
+ display: flex;
629
+ flex-direction: column;
630
+ gap: 12px;
631
+ }
632
+
633
+ .plugin-card {
634
+ -webkit-app-region: no-drag;
635
+ display: flex;
636
+ align-items: center;
637
+ background: rgba(0, 0, 0, 0.2);
638
+ border: 1px solid var(--border);
639
+ border-radius: 12px;
640
+ padding: 14px;
641
+ transition: all 0.2s;
642
+ }
643
+
644
+ .plugin-card:hover {
645
+ border-color: var(--accent);
646
+ }
647
+
648
+ .plugin-icon {
649
+ font-size: 2rem;
650
+ margin-right: 14px;
651
+ }
652
+
653
+ .plugin-info {
654
+ flex: 1;
655
+ }
656
+
657
+ .plugin-name {
658
+ font-size: 0.95rem;
659
+ font-weight: 500;
660
+ color: var(--text-main);
661
+ margin-bottom: 4px;
662
+ }
663
+
664
+ .plugin-desc {
665
+ font-size: 0.8rem;
666
+ color: var(--text-muted);
667
+ }
668
+
669
+ .plugin-actions {
670
+ display: flex;
671
+ gap: 8px;
672
+ }
673
+
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;
684
+ }
685
+
686
+ .btn-connect:hover {
687
+ background: var(--accent-hover);
688
+ transform: translateY(-1px);
689
+ }
690
+
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;
701
+ }
702
+
703
+ .btn-disconnect:hover {
704
+ background: rgba(239, 68, 68, 0.1);
705
+ }