@pheem49/mint 1.5.5 → 1.6.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 (222) hide show
  1. package/.codex +0 -0
  2. package/.github/FUNDING.yml +2 -0
  3. package/.github/workflows/ci.yml +45 -0
  4. package/.github/workflows/release.yml +79 -0
  5. package/Cargo.lock +5792 -0
  6. package/Cargo.toml +32 -0
  7. package/README.md +387 -353
  8. package/assets/icon.png +0 -0
  9. package/bin/mint +0 -0
  10. package/crates/mint-cli/Cargo.toml +23 -0
  11. package/crates/mint-cli/src/agent.rs +851 -0
  12. package/crates/mint-cli/src/gmail.rs +216 -0
  13. package/crates/mint-cli/src/image.rs +142 -0
  14. package/crates/mint-cli/src/main.rs +2837 -0
  15. package/crates/mint-cli/src/mcp.rs +63 -0
  16. package/crates/mint-cli/src/onboard.rs +1149 -0
  17. package/crates/mint-cli/src/setup.rs +390 -0
  18. package/crates/mint-cli/src/skills.rs +8 -0
  19. package/crates/mint-cli/src/updater.rs +279 -0
  20. package/crates/mint-core/Cargo.toml +22 -0
  21. package/crates/mint-core/src/agent_loop.rs +94 -0
  22. package/crates/mint-core/src/api_server.rs +991 -0
  23. package/crates/mint-core/src/channels.rs +248 -0
  24. package/crates/mint-core/src/chat.rs +895 -0
  25. package/crates/mint-core/src/code_tools.rs +729 -0
  26. package/crates/mint-core/src/config.rs +368 -0
  27. package/crates/mint-core/src/files.rs +159 -0
  28. package/crates/mint-core/src/knowledge.rs +541 -0
  29. package/crates/mint-core/src/lib.rs +84 -0
  30. package/crates/mint-core/src/mcp.rs +273 -0
  31. package/crates/mint-core/src/memory.rs +673 -0
  32. package/crates/mint-core/src/orchestration.rs +2157 -0
  33. package/crates/mint-core/src/pictures.rs +314 -0
  34. package/crates/mint-core/src/plugins.rs +727 -0
  35. package/crates/mint-core/src/safety.rs +416 -0
  36. package/crates/mint-core/src/semantic.rs +254 -0
  37. package/crates/mint-core/src/shell.rs +317 -0
  38. package/crates/mint-core/src/skills.rs +71 -0
  39. package/crates/mint-core/src/symbols.rs +157 -0
  40. package/crates/mint-core/src/tasks.rs +308 -0
  41. package/crates/mint-core/src/tts.rs +92 -0
  42. package/crates/mint-core/src/weather.rs +93 -0
  43. package/crates/mint-core/src/web_search.rs +200 -0
  44. package/crates/mint-core/src/workflows.rs +81 -0
  45. package/crates/mint-core/tests/mcp_stdio.rs +45 -0
  46. package/crates/mint-core/tests/memory_persistence.rs +172 -0
  47. package/crates/mint-core/tests/pictures_storage.rs +14 -0
  48. package/crates/mint-core/tests/task_lifecycle.rs +87 -0
  49. package/package.json +35 -99
  50. package/src/bin/index.js +16 -0
  51. package/src/renderer/index-web.html +17 -0
  52. package/src/renderer/index.html +17 -0
  53. package/src/renderer/public/Live2DCubismCore.js +9 -0
  54. package/src/renderer/public/assets/icon.png +0 -0
  55. package/src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.model3.json +36 -0
  56. package/src/renderer/src/App.tsx +33 -0
  57. package/src/renderer/src/calculator.ts +47 -0
  58. package/src/renderer/src/components/ChatPanel.tsx +1598 -0
  59. package/src/renderer/src/components/DashboardSidebar.tsx +358 -0
  60. package/src/renderer/src/components/Live2DStage.tsx +374 -0
  61. package/src/renderer/src/components/MintDashboard.tsx +950 -0
  62. package/src/renderer/src/components/ModelPanel.tsx +154 -0
  63. package/src/renderer/src/components/PicturesLibrary.tsx +46 -0
  64. package/src/renderer/src/components/ProactiveGlow.tsx +19 -0
  65. package/src/renderer/src/components/ScreenPicker.tsx +579 -0
  66. package/src/renderer/src/components/SettingsWindow.tsx +1467 -0
  67. package/src/renderer/src/components/SpotlightWindow.tsx +280 -0
  68. package/src/renderer/src/components/WidgetWindow.tsx +36 -0
  69. package/src/renderer/src/components/WorkspacePanel.tsx +268 -0
  70. package/src/{UI → renderer/src/css}/settings.css +69 -16
  71. package/src/renderer/src/css/spotlight.css +113 -0
  72. package/src/renderer/src/css/styles.css +3722 -0
  73. package/src/renderer/src/css/widget.css +185 -0
  74. package/src/renderer/src/env.d.ts +116 -0
  75. package/src/renderer/src/index.css +379 -0
  76. package/src/renderer/src/main.tsx +13 -0
  77. package/src/renderer/src/tauri.ts +996 -0
  78. package/src/renderer/src-web/App.tsx +25 -0
  79. package/src/renderer/src-web/calculator.ts +47 -0
  80. package/src/renderer/src-web/components/ChatPanel.tsx +1662 -0
  81. package/src/renderer/src-web/components/DashboardSidebar.tsx +242 -0
  82. package/src/renderer/src-web/components/MintDashboard.tsx +763 -0
  83. package/src/renderer/src-web/components/PicturesLibrary.tsx +73 -0
  84. package/src/renderer/src-web/components/SettingsWindow.tsx +1500 -0
  85. package/src/renderer/src-web/css/settings.css +1100 -0
  86. package/src/{UI → renderer/src-web/css}/spotlight.css +4 -4
  87. package/src/{UI → renderer/src-web/css}/styles.css +1055 -159
  88. package/src/{UI → renderer/src-web/css}/widget.css +2 -2
  89. package/src/renderer/src-web/env.d.ts +107 -0
  90. package/src/renderer/src-web/index.css +379 -0
  91. package/src/renderer/src-web/main.tsx +13 -0
  92. package/src/renderer/src-web/tauri.ts +983 -0
  93. package/tsconfig.json +30 -0
  94. package/vite.config.ts +33 -0
  95. package/vite.config.web.ts +51 -0
  96. package/GUIDE_TH.md +0 -125
  97. package/assets/Agent_Mint.png +0 -0
  98. package/assets/CLI_Screen.png +0 -0
  99. package/assets/Settings.png +0 -0
  100. package/benchmark_ai.js +0 -71
  101. package/install.ps1 +0 -64
  102. package/install.sh +0 -54
  103. package/main.js +0 -139
  104. package/mint-cli-logic.js +0 -3
  105. package/mint-cli.js +0 -410
  106. package/models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.model3.json +0 -47
  107. package/models/Shiroko_Model/Shiroko//342/232/241/351/253/230/344/272/256/342/232/241/344/275/277/347/224/250/346/225/231/347/250/213/344/270/216/346/263/250/346/204/217/344/272/213/351/241/271.txt +0 -23
  108. package/preload-picker.js +0 -11
  109. package/preload-settings.js +0 -11
  110. package/preload.js +0 -41
  111. package/scripts/install_linux_desktop_entry.js +0 -48
  112. package/src/AI_Brain/Gemini_API.js +0 -813
  113. package/src/AI_Brain/agent_orchestrator.js +0 -73
  114. package/src/AI_Brain/autonomous_brain.js +0 -179
  115. package/src/AI_Brain/behavior_memory.js +0 -135
  116. package/src/AI_Brain/headless_agent.js +0 -143
  117. package/src/AI_Brain/knowledge_base.js +0 -349
  118. package/src/AI_Brain/memory_store.js +0 -662
  119. package/src/AI_Brain/proactive_engine.js +0 -172
  120. package/src/AI_Brain/provider_adapter.js +0 -365
  121. package/src/Automation_Layer/browser_automation.js +0 -149
  122. package/src/Automation_Layer/file_operations.js +0 -286
  123. package/src/Automation_Layer/open_app.js +0 -85
  124. package/src/Automation_Layer/open_website.js +0 -38
  125. package/src/CLI/approval_handler.js +0 -47
  126. package/src/CLI/chat_router.js +0 -247
  127. package/src/CLI/chat_ui.js +0 -1159
  128. package/src/CLI/cli_colors.js +0 -115
  129. package/src/CLI/cli_formatters.js +0 -94
  130. package/src/CLI/code_agent.js +0 -1667
  131. package/src/CLI/code_session_memory.js +0 -62
  132. package/src/CLI/gmail_auth.js +0 -210
  133. package/src/CLI/image_input.js +0 -90
  134. package/src/CLI/intent_detectors.js +0 -181
  135. package/src/CLI/interactive_chat.js +0 -658
  136. package/src/CLI/list_features.js +0 -64
  137. package/src/CLI/onboarding.js +0 -416
  138. package/src/CLI/repo_summarizer.js +0 -282
  139. package/src/CLI/semantic_code_search.js +0 -312
  140. package/src/CLI/skill_manager.js +0 -41
  141. package/src/CLI/slash_command_handler.js +0 -418
  142. package/src/CLI/symbol_indexer.js +0 -231
  143. package/src/CLI/updater.js +0 -230
  144. package/src/CLI/workspace_manager.js +0 -90
  145. package/src/Channels/brave_search_bridge.js +0 -35
  146. package/src/Channels/discord_bridge.js +0 -66
  147. package/src/Channels/google_search_bridge.js +0 -38
  148. package/src/Channels/line_bridge.js +0 -60
  149. package/src/Channels/slack_bridge.js +0 -48
  150. package/src/Channels/telegram_bridge.js +0 -41
  151. package/src/Channels/whatsapp_bridge.js +0 -57
  152. package/src/Command_Parser/parser.js +0 -45
  153. package/src/Plugins/dev_tools.js +0 -41
  154. package/src/Plugins/discord.js +0 -20
  155. package/src/Plugins/docker.js +0 -47
  156. package/src/Plugins/gmail.js +0 -251
  157. package/src/Plugins/google_calendar.js +0 -252
  158. package/src/Plugins/mcp_manager.js +0 -95
  159. package/src/Plugins/notion.js +0 -256
  160. package/src/Plugins/obsidian.js +0 -54
  161. package/src/Plugins/plugin_manager.js +0 -81
  162. package/src/Plugins/spotify.js +0 -173
  163. package/src/Plugins/system_metrics.js +0 -31
  164. package/src/Plugins/system_monitor.js +0 -72
  165. package/src/System/action_executor.js +0 -178
  166. package/src/System/bridge_manager.js +0 -76
  167. package/src/System/chat_history_manager.js +0 -83
  168. package/src/System/config_manager.js +0 -194
  169. package/src/System/custom_workflows.js +0 -163
  170. package/src/System/daemon_manager.js +0 -67
  171. package/src/System/google_tts_urls.js +0 -51
  172. package/src/System/granular_automation.js +0 -157
  173. package/src/System/ipc_handlers.js +0 -332
  174. package/src/System/notifications.js +0 -23
  175. package/src/System/optional_require.js +0 -23
  176. package/src/System/picture_store.js +0 -109
  177. package/src/System/proactive_loop.js +0 -153
  178. package/src/System/safety_manager.js +0 -273
  179. package/src/System/sandbox_runner.js +0 -182
  180. package/src/System/screen_capture.js +0 -175
  181. package/src/System/smart_context.js +0 -227
  182. package/src/System/system_automation.js +0 -162
  183. package/src/System/system_events.js +0 -79
  184. package/src/System/system_info.js +0 -125
  185. package/src/System/task_manager.js +0 -222
  186. package/src/System/tool_registry.js +0 -293
  187. package/src/System/window_manager.js +0 -220
  188. package/src/UI/floating.css +0 -80
  189. package/src/UI/floating.html +0 -17
  190. package/src/UI/floating.js +0 -67
  191. package/src/UI/live2d_manager.js +0 -600
  192. package/src/UI/preload-floating.js +0 -7
  193. package/src/UI/preload-spotlight.js +0 -11
  194. package/src/UI/preload-widget.js +0 -5
  195. package/src/UI/proactive-glow.html +0 -42
  196. package/src/UI/renderer.js +0 -2127
  197. package/src/UI/screenPicker.html +0 -214
  198. package/src/UI/screenPicker.js +0 -262
  199. package/src/UI/settings.html +0 -577
  200. package/src/UI/settings.js +0 -770
  201. package/src/UI/spotlight.html +0 -23
  202. package/src/UI/spotlight.js +0 -185
  203. package/src/UI/widget.html +0 -29
  204. package/src/UI/widget.js +0 -10
  205. /package/{models → src/renderer/public/models}/Shiroko_Model/Shiroko/Shiroko_Core/72d86db84cfa9730b894c241fd24c0db.png +0 -0
  206. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//345/233/264/350/243/231.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/apron.exp3.json} +0 -0
  207. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//347/214/253/345/222/252/346/273/244/351/225/234.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/catfilter.exp3.json} +0 -0
  208. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//347/202/271/344/270/200/344/270/213.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/click.exp3.json} +0 -0
  209. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//345/221/206/347/214/253.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/dazed.exp3.json} +0 -0
  210. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//345/221/206/347/214/253/347/234/274/347/217/240/346/221/207/346/231/203.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/dazedeyes.exp3.json} +0 -0
  211. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//347/234/274/351/225/234.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/glasses.exp3.json} +0 -0
  212. /package/{models → src/renderer/public/models}/Shiroko_Model/Shiroko/Shiroko_Core/items_pinned_to_model.json +0 -0
  213. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//346/213/277/347/254/224.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/pen.exp3.json} +0 -0
  214. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//346/213/215/347/205/247.exp3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/photo.exp3.json} +0 -0
  215. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.4096/texture_00.png" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.4096/texture_00.png} +0 -0
  216. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.4096/texture_01.png" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.4096/texture_01.png} +0 -0
  217. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.4096/texture_02.png" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.4096/texture_02.png} +0 -0
  218. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.4096/texture_03.png" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.4096/texture_03.png} +0 -0
  219. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.cdi3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.cdi3.json} +0 -0
  220. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.moc3" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.moc3} +0 -0
  221. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.physics3.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.physics3.json} +0 -0
  222. /package/{models/Shiroko_Model/Shiroko/Shiroko_Core//351/235/242/351/245/2740.vtube.json" → src/renderer/public/models/Shiroko_Model/Shiroko/Shiroko_Core/shiroko.vtube.json} +0 -0
@@ -90,7 +90,7 @@ button {
90
90
 
91
91
  .settings-container {
92
92
  display: grid;
93
- grid-template-rows: 0 minmax(0, 1fr) auto;
93
+ grid-template-rows: auto minmax(0, 1fr) auto;
94
94
  height: 100vh;
95
95
  overflow: hidden;
96
96
  background: var(--panel-bg);
@@ -124,13 +124,15 @@ button {
124
124
  -webkit-app-region: drag;
125
125
  position: relative;
126
126
  z-index: 3;
127
- min-height: 0;
128
- padding: 0;
129
- border-bottom: 0;
127
+ min-height: 64px;
128
+ padding: 16px 24px;
129
+ border-bottom: 1px solid var(--border);
130
130
  }
131
131
 
132
132
  .header-left {
133
- display: none;
133
+ display: flex;
134
+ align-items: center;
135
+ gap: 12px;
134
136
  }
135
137
 
136
138
  .settings-icon {
@@ -160,7 +162,8 @@ h1 {
160
162
 
161
163
  .close-btn {
162
164
  position: absolute;
163
- top: 24px;
165
+ top: 50%;
166
+ transform: translateY(-50%);
164
167
  right: 24px;
165
168
  z-index: 5;
166
169
  display: grid;
@@ -172,13 +175,14 @@ h1 {
172
175
  background: transparent;
173
176
  color: var(--text-muted);
174
177
  cursor: pointer;
175
- transition: background 0.15s, border-color 0.15s, color 0.15s;
178
+ transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
176
179
  }
177
180
 
178
181
  .close-btn:hover {
179
182
  background: rgba(239, 68, 68, 0.12);
180
183
  border-color: rgba(239, 68, 68, 0.28);
181
184
  color: var(--danger);
185
+ transform: translateY(-50%) scale(1.05);
182
186
  }
183
187
 
184
188
  .settings-body {
@@ -191,7 +195,7 @@ h1 {
191
195
  .settings-sidebar {
192
196
  width: 194px;
193
197
  min-width: 194px;
194
- padding: 96px 8px 12px;
198
+ padding: 24px 8px 12px;
195
199
  overflow-y: auto;
196
200
  background: var(--sidebar-bg);
197
201
  border-right: 1px solid var(--border);
@@ -218,7 +222,9 @@ h1 {
218
222
  }
219
223
 
220
224
  .tab-btn span {
221
- display: none;
225
+ display: inline-flex;
226
+ align-items: center;
227
+ justify-content: center;
222
228
  }
223
229
 
224
230
  .tab-btn strong {
@@ -244,7 +250,7 @@ h1 {
244
250
  flex: 1;
245
251
  min-width: 0;
246
252
  overflow-y: auto;
247
- padding: 84px 92px 42px;
253
+ padding: 24px 32px 32px;
248
254
  }
249
255
 
250
256
  .settings-content::-webkit-scrollbar,
@@ -262,7 +268,9 @@ h1 {
262
268
  display: none;
263
269
  flex-direction: column;
264
270
  gap: 18px;
271
+ width: 100%;
265
272
  max-width: 624px;
273
+ margin: 0 auto;
266
274
  animation: fadeTab 0.18s ease;
267
275
  }
268
276
 
@@ -339,11 +347,11 @@ h1 {
339
347
  .setting-row {
340
348
  min-width: 0;
341
349
  display: grid;
342
- grid-template-columns: minmax(180px, 1fr) minmax(180px, 220px);
350
+ grid-template-columns: 220px 1fr;
343
351
  align-items: center;
344
352
  gap: 18px;
345
353
  min-height: 48px;
346
- padding: 10px 12px;
354
+ padding: 12px 16px;
347
355
  border-top: 1px solid var(--border);
348
356
  }
349
357
 
@@ -388,6 +396,27 @@ textarea {
388
396
 
389
397
  select {
390
398
  cursor: pointer;
399
+ background-color: var(--input-bg) !important;
400
+ color: var(--text-main) !important;
401
+ color-scheme: dark;
402
+ }
403
+
404
+ select:focus {
405
+ background-color: var(--input-focus-bg) !important;
406
+ }
407
+
408
+ select option {
409
+ background-color: var(--input-bg) !important;
410
+ color: var(--text-main) !important;
411
+ }
412
+
413
+ select option:checked {
414
+ background: linear-gradient(var(--accent), var(--accent)) !important;
415
+ color: #ffffff !important;
416
+ }
417
+
418
+ [data-theme="light"] select {
419
+ color-scheme: light;
391
420
  }
392
421
 
393
422
  textarea {
@@ -403,7 +432,7 @@ select:focus,
403
432
  textarea:focus {
404
433
  background: var(--input-focus-bg);
405
434
  border-color: var(--accent);
406
- box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.13);
435
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
407
436
  }
408
437
 
409
438
  input::placeholder,
@@ -457,7 +486,7 @@ input[type="color"] {
457
486
 
458
487
  .toggle-visibility:hover {
459
488
  background: var(--accent-soft);
460
- border-color: rgba(139, 92, 246, 0.36);
489
+ border-color: rgba(16, 185, 129, 0.36);
461
490
  color: var(--text-main);
462
491
  }
463
492
 
@@ -493,6 +522,25 @@ input[type="color"] {
493
522
  background: transparent;
494
523
  }
495
524
 
525
+ .setting-section .toggle-row {
526
+ border: 0;
527
+ border-radius: 0;
528
+ border-top: 1px solid var(--border);
529
+ padding: 12px 16px;
530
+ }
531
+
532
+ .setting-section .section-heading + .toggle-row,
533
+ .setting-section .form-grid:first-child .toggle-row:first-child {
534
+ border-top: 0;
535
+ }
536
+
537
+ .setting-actions {
538
+ display: flex;
539
+ gap: 12px;
540
+ padding: 12px 16px;
541
+ border-top: 1px solid var(--border);
542
+ }
543
+
496
544
  .toggle-row label {
497
545
  margin-bottom: 4px;
498
546
  color: var(--text-main);
@@ -580,13 +628,13 @@ input:checked + .toggle-slider::before {
580
628
  border: 3px solid var(--panel-bg);
581
629
  border-radius: 50%;
582
630
  background: var(--accent);
583
- box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.5), 0 6px 16px rgba(0, 0, 0, 0.25);
631
+ box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.5), 0 6px 16px rgba(0, 0, 0, 0.25);
584
632
  }
585
633
 
586
634
  .range-value {
587
635
  min-width: 68px;
588
636
  padding: 5px 9px;
589
- border: 1px solid rgba(139, 92, 246, 0.3);
637
+ border: 1px solid rgba(16, 185, 129, 0.3);
590
638
  border-radius: 8px;
591
639
  background: var(--accent-soft);
592
640
  color: var(--accent-hover);
@@ -977,6 +1025,11 @@ kbd {
977
1025
  padding: 10px;
978
1026
  }
979
1027
 
1028
+ .tab-btn span {
1029
+ display: inline-block;
1030
+ font-size: 1.15rem;
1031
+ }
1032
+
980
1033
  .tab-btn strong {
981
1034
  display: none;
982
1035
  }
@@ -0,0 +1,113 @@
1
+ :root {
2
+ --bg-color: rgba(15, 23, 42, 0.85);
3
+ --accent: #10b981;
4
+ --text-main: #f8fafc;
5
+ --text-muted: #94a3b8;
6
+ --border: rgba(255, 255, 255, 0.1);
7
+ --glass-blur: blur(20px);
8
+ }
9
+
10
+ body {
11
+ margin: 0;
12
+ padding: 0;
13
+ font-family: 'Outfit', sans-serif;
14
+ background: transparent;
15
+ overflow: hidden;
16
+ user-select: none;
17
+ }
18
+
19
+ .spotlight-container {
20
+ width: 100vw;
21
+ height: auto;
22
+ background: var(--bg-color);
23
+ backdrop-filter: var(--glass-blur);
24
+ -webkit-backdrop-filter: var(--glass-blur);
25
+ border-radius: 16px;
26
+ border: 1px solid var(--border);
27
+ box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05);
28
+ overflow: hidden;
29
+ }
30
+
31
+ .input-wrapper {
32
+ display: flex;
33
+ align-items: center;
34
+ padding: 16px 20px;
35
+ gap: 15px;
36
+ }
37
+
38
+ .spotlight-icon {
39
+ font-size: 1.5rem;
40
+ }
41
+
42
+ #spotlight-input {
43
+ flex: 1;
44
+ background: transparent;
45
+ border: none;
46
+ outline: none;
47
+ color: var(--text-main);
48
+ font-size: 1.2rem;
49
+ font-family: inherit;
50
+ }
51
+
52
+ #spotlight-input::placeholder {
53
+ color: var(--text-muted);
54
+ }
55
+
56
+ .shortcut-tip {
57
+ font-size: 0.7rem;
58
+ color: var(--text-muted);
59
+ background: rgba(255, 255, 255, 0.05);
60
+ padding: 4px 8px;
61
+ border-radius: 6px;
62
+ border: 1px solid var(--border);
63
+ text-transform: uppercase;
64
+ letter-spacing: 0.5px;
65
+ }
66
+
67
+ .results-container {
68
+ border-top: 1px solid var(--border);
69
+ max-height: 400px;
70
+ overflow-y: auto;
71
+ padding: 8px;
72
+ }
73
+
74
+ .result-item {
75
+ display: flex;
76
+ align-items: center;
77
+ padding: 12px 14px;
78
+ border-radius: 12px;
79
+ gap: 12px;
80
+ cursor: pointer;
81
+ transition: all 0.2s;
82
+ }
83
+
84
+ .result-item:hover, .result-item.selected {
85
+ background: rgba(16, 185, 129, 0.2);
86
+ }
87
+
88
+ .result-icon {
89
+ width: 32px;
90
+ height: 32px;
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: center;
94
+ background: rgba(0, 0, 0, 0.2);
95
+ border-radius: 8px;
96
+ font-size: 1.1rem;
97
+ }
98
+
99
+ .result-content {
100
+ flex: 1;
101
+ }
102
+
103
+ .result-title {
104
+ font-weight: 500;
105
+ color: var(--text-main);
106
+ font-size: 0.95rem;
107
+ }
108
+
109
+ .result-desc {
110
+ font-size: 0.8rem;
111
+ color: var(--text-muted);
112
+ margin-top: 2px;
113
+ }