@pheem49/mint 1.7.1 → 1.8.0

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 (51) hide show
  1. package/Cargo.lock +3 -3
  2. package/Cargo.toml +1 -1
  3. package/README.md +9 -0
  4. package/crates/mint-core/src/api_server.rs +62 -4
  5. package/crates/mint-core/src/chat.rs +79 -0
  6. package/crates/mint-core/src/lib.rs +1 -1
  7. package/crates/mint-core/src/workflows.rs +8 -0
  8. package/package.json +2 -1
  9. package/src/renderer/src/App.tsx +1 -1
  10. package/src/renderer/src/components/ChatPanel.tsx +27 -14
  11. package/src/renderer/src/components/DashboardSidebar.tsx +71 -12
  12. package/src/renderer/src/components/ImageStudioPanel.tsx +7 -3
  13. package/src/renderer/src/components/MintDashboard.tsx +199 -5
  14. package/src/renderer/src/components/PicturesLibrary.tsx +1 -3
  15. package/src/renderer/src/components/Settings/AudioTab.tsx +97 -0
  16. package/src/renderer/src/components/Settings/AutomationTab.tsx +195 -0
  17. package/src/renderer/src/components/Settings/GeneralTab.tsx +950 -0
  18. package/src/renderer/src/components/Settings/MemoryTab.tsx +60 -0
  19. package/src/renderer/src/components/Settings/PluginsTab.tsx +452 -0
  20. package/src/renderer/src/components/Settings/ShortcutsTab.tsx +30 -0
  21. package/src/renderer/src/components/Settings/ThemeTab.tsx +129 -0
  22. package/src/renderer/src/components/SettingsWindow.tsx +175 -962
  23. package/src/renderer/src/components/WorkflowBuilderPanel.tsx +536 -0
  24. package/src/renderer/src/components/WorkflowsWindow.tsx +46 -0
  25. package/src/renderer/src/css/image-studio.css +9 -4
  26. package/src/renderer/src/css/settings.css +75 -6
  27. package/src/renderer/src/css/styles.css +355 -38
  28. package/src/renderer/src/css/workflows.css +542 -0
  29. package/src/renderer/src/env.d.ts +2 -0
  30. package/src/renderer/src/index.css +1 -0
  31. package/src/renderer/src/tauri.ts +97 -0
  32. package/src/renderer/src-web/components/ChatPanel.tsx +27 -14
  33. package/src/renderer/src-web/components/DashboardSidebar.tsx +17 -1
  34. package/src/renderer/src-web/components/ImageStudioPanel.tsx +7 -3
  35. package/src/renderer/src-web/components/MintDashboard.tsx +189 -0
  36. package/src/renderer/src-web/components/PicturesLibrary.tsx +1 -3
  37. package/src/renderer/src-web/components/Settings/AudioTab.tsx +97 -0
  38. package/src/renderer/src-web/components/Settings/AutomationTab.tsx +196 -0
  39. package/src/renderer/src-web/components/Settings/GeneralTab.tsx +948 -0
  40. package/src/renderer/src-web/components/Settings/MemoryTab.tsx +60 -0
  41. package/src/renderer/src-web/components/Settings/PluginsTab.tsx +452 -0
  42. package/src/renderer/src-web/components/Settings/ShortcutsTab.tsx +30 -0
  43. package/src/renderer/src-web/components/Settings/ThemeTab.tsx +129 -0
  44. package/src/renderer/src-web/components/SettingsWindow.tsx +187 -968
  45. package/src/renderer/src-web/css/image-studio.css +9 -4
  46. package/src/renderer/src-web/css/settings.css +75 -6
  47. package/src/renderer/src-web/css/styles.css +294 -38
  48. package/src/renderer/src-web/env.d.ts +2 -0
  49. package/src/renderer/src-web/tauri.ts +36 -0
  50. package/src-tauri/src/lib.rs +83 -90
  51. package/src-tauri/tauri.conf.json +1 -1
@@ -546,7 +546,7 @@ input[type="color"] {
546
546
  color: var(--text-main);
547
547
  }
548
548
 
549
- .toggle-switch {
549
+ .settings-toggle-switch {
550
550
  position: relative;
551
551
  display: inline-block;
552
552
  width: 46px;
@@ -554,13 +554,13 @@ input[type="color"] {
554
554
  height: 26px;
555
555
  }
556
556
 
557
- .toggle-switch input {
557
+ .settings-toggle-switch input {
558
558
  width: 0;
559
559
  height: 0;
560
560
  opacity: 0;
561
561
  }
562
562
 
563
- .toggle-slider {
563
+ .settings-toggle-slider {
564
564
  position: absolute;
565
565
  inset: 0;
566
566
  cursor: pointer;
@@ -570,7 +570,7 @@ input[type="color"] {
570
570
  transition: background 0.18s, border-color 0.18s;
571
571
  }
572
572
 
573
- .toggle-slider::before {
573
+ .settings-toggle-slider::before {
574
574
  position: absolute;
575
575
  content: "";
576
576
  width: 18px;
@@ -582,12 +582,12 @@ input[type="color"] {
582
582
  transition: transform 0.18s, background 0.18s;
583
583
  }
584
584
 
585
- input:checked + .toggle-slider {
585
+ input:checked + .settings-toggle-slider {
586
586
  background: var(--accent);
587
587
  border-color: var(--accent);
588
588
  }
589
589
 
590
- input:checked + .toggle-slider::before {
590
+ input:checked + .settings-toggle-slider::before {
591
591
  transform: translateX(20px);
592
592
  background: #ffffff;
593
593
  }
@@ -1064,4 +1064,73 @@ kbd {
1064
1064
  align-items: flex-start;
1065
1065
  }
1066
1066
 
1067
+ /* Provider Cards styling */
1068
+ .provider-cards-container {
1069
+ padding: 16px;
1070
+ display: flex;
1071
+ flex-direction: column;
1072
+ gap: 16px;
1073
+ }
1074
+
1075
+ .provider-card {
1076
+ border: 1px solid var(--border);
1077
+ border-radius: 12px;
1078
+ background: var(--surface-bg);
1079
+ padding: 16px;
1080
+ transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
1081
+ }
1082
+
1083
+ .provider-card:hover {
1084
+ border-color: var(--border-strong);
1085
+ }
1086
+
1087
+ .provider-card.active-provider {
1088
+ border-color: var(--accent);
1089
+ box-shadow: 0 0 0 1px var(--accent);
1090
+ background: color-mix(in srgb, var(--accent) 2%, var(--surface-bg));
1091
+ }
1092
+
1093
+ .provider-card-header {
1094
+ display: flex;
1095
+ align-items: center;
1096
+ justify-content: space-between;
1097
+ margin-bottom: 12px;
1098
+ padding-bottom: 8px;
1099
+ border-bottom: 1px solid var(--border);
1100
+ }
1101
+
1102
+ .provider-card-title {
1103
+ font-size: 0.92rem;
1104
+ font-weight: 600;
1105
+ color: var(--text-main);
1106
+ display: flex;
1107
+ align-items: center;
1108
+ gap: 8px;
1109
+ }
1110
+
1111
+ .provider-active-badge {
1112
+ background: color-mix(in srgb, var(--accent) 15%, transparent);
1113
+ color: var(--accent-hover);
1114
+ border: 1px solid var(--accent);
1115
+ font-size: 0.7rem;
1116
+ font-weight: 600;
1117
+ padding: 2px 8px;
1118
+ border-radius: 20px;
1119
+ text-transform: uppercase;
1120
+ letter-spacing: 0.05em;
1121
+ }
1122
+
1123
+ .provider-card-body {
1124
+ display: flex;
1125
+ flex-direction: column;
1126
+ gap: 12px;
1127
+ }
1128
+
1129
+ .provider-card-body .setting-row {
1130
+ border-top: none;
1131
+ padding: 6px 0;
1132
+ grid-template-columns: 180px 1fr;
1133
+ }
1134
+
1135
+
1067
1136
 
@@ -401,24 +401,24 @@ h1 {
401
401
 
402
402
  .picture-refresh-btn {
403
403
  -webkit-app-region: no-drag;
404
- height: 28px;
405
- min-width: 0;
406
- padding: 0 8px;
404
+ height: 36px;
405
+ width: 36px;
406
+ padding: 0;
407
407
  display: inline-flex;
408
408
  align-items: center;
409
409
  justify-content: center;
410
- gap: 8px;
411
- border-radius: 6px;
412
- background: transparent;
413
- color: var(--text-muted);
414
- border: 1px solid transparent;
410
+ border-radius: 8px;
411
+ background: rgba(255, 255, 255, 0.04);
412
+ color: var(--text-soft);
413
+ border: 1px solid var(--border);
415
414
  cursor: pointer;
415
+ transition: background 0.15s, color 0.15s, border-color 0.15s;
416
416
  }
417
417
 
418
418
  .picture-refresh-btn:hover {
419
- background: color-mix(in srgb, var(--accent) 10%, transparent);
420
- border-color: color-mix(in srgb, var(--accent) 16%, transparent);
421
- color: var(--accent);
419
+ background: rgba(255, 255, 255, 0.08);
420
+ border-color: rgba(255, 255, 255, 0.15);
421
+ color: var(--text-main);
422
422
  }
423
423
 
424
424
  .interaction-guide-btn:hover {
@@ -2086,7 +2086,7 @@ input:checked + .slider:before {
2086
2086
  -webkit-backdrop-filter: var(--glass-blur);
2087
2087
  border-right: 1px solid var(--border);
2088
2088
  color: var(--text-muted);
2089
- overflow: hidden;
2089
+ overflow: visible;
2090
2090
  transition: width 0.22s ease, padding 0.22s ease, opacity 0.18s ease, transform 0.22s ease;
2091
2091
  }
2092
2092
 
@@ -2214,6 +2214,56 @@ input:checked + .slider:before {
2214
2214
  margin-bottom: 12px;
2215
2215
  }
2216
2216
 
2217
+ .sidebar-more-container {
2218
+ position: relative;
2219
+ width: 100%;
2220
+ margin-bottom: 12px;
2221
+ }
2222
+
2223
+ .sidebar-more-popover {
2224
+ position: absolute;
2225
+ left: 100%;
2226
+ top: 0;
2227
+ margin-left: 8px;
2228
+ z-index: 1000;
2229
+ background: var(--surface-strong);
2230
+ border: 1px solid var(--border);
2231
+ border-radius: 8px;
2232
+ padding: 6px;
2233
+ min-width: 160px;
2234
+ display: flex;
2235
+ flex-direction: column;
2236
+ gap: 4px;
2237
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
2238
+ backdrop-filter: blur(12px);
2239
+ -webkit-backdrop-filter: blur(12px);
2240
+ }
2241
+
2242
+ .sidebar-more-popover .popover-item {
2243
+ width: 100%;
2244
+ height: 32px;
2245
+ display: flex;
2246
+ align-items: center;
2247
+ gap: 9px;
2248
+ border: 0;
2249
+ border-radius: 6px;
2250
+ background: transparent;
2251
+ color: var(--text-soft);
2252
+ cursor: pointer;
2253
+ padding: 0 10px;
2254
+ text-align: left;
2255
+ font: inherit;
2256
+ font-size: 0.9rem;
2257
+ transition: background 0.16s ease, color 0.16s ease;
2258
+ }
2259
+
2260
+ .sidebar-more-popover .popover-item:hover,
2261
+ .sidebar-more-popover .popover-item.active {
2262
+ background: var(--surface-main);
2263
+ color: var(--text-main);
2264
+ }
2265
+
2266
+
2217
2267
  .sidebar-model-controls {
2218
2268
  display: grid;
2219
2269
  width: 100%;
@@ -2597,6 +2647,18 @@ input:checked + .slider:before {
2597
2647
  grid-template-rows: auto auto minmax(0, 1fr);
2598
2648
  padding: 16px 0 16px 14px;
2599
2649
  color: var(--text-main);
2650
+ animation: panelFadeIn 0.22s cubic-bezier(0.4, 0, 0.2, 1) forwards;
2651
+ }
2652
+
2653
+ @keyframes panelFadeIn {
2654
+ from {
2655
+ opacity: 0;
2656
+ transform: translateY(8px);
2657
+ }
2658
+ to {
2659
+ opacity: 1;
2660
+ transform: translateY(0);
2661
+ }
2600
2662
  }
2601
2663
 
2602
2664
  .workspace-panel-header {
@@ -2918,11 +2980,15 @@ input:checked + .slider:before {
2918
2980
  color: var(--text-main);
2919
2981
  opacity: 0;
2920
2982
  pointer-events: none;
2983
+ transform: translateY(12px) scale(0.995);
2984
+ transition: opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1), transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
2921
2985
  }
2922
2986
 
2923
- .app-body.pictures-open .pictures-library {
2987
+ .app-body.pictures-open .pictures-library,
2988
+ .pictures-library.is-visible {
2924
2989
  opacity: 1;
2925
2990
  pointer-events: auto;
2991
+ transform: translateY(0) scale(1);
2926
2992
  }
2927
2993
 
2928
2994
  .pictures-library[hidden] {
@@ -2957,19 +3023,30 @@ input:checked + .slider:before {
2957
3023
  }
2958
3024
 
2959
3025
  .pictures-header-actions {
2960
- display: grid;
2961
- gap: 8px;
2962
- width: 130px;
3026
+ display: flex;
3027
+ align-items: center;
3028
+ gap: 10px;
2963
3029
  }
2964
3030
 
2965
3031
  .pictures-close-btn {
2966
- height: 34px;
2967
- padding: 0 14px;
3032
+ height: 36px;
3033
+ padding: 0 16px;
2968
3034
  border: 1px solid var(--border);
2969
3035
  border-radius: 8px;
2970
- background: var(--surface-strong);
3036
+ background: rgba(255, 255, 255, 0.04);
2971
3037
  color: var(--text-main);
3038
+ font-size: 0.82rem;
3039
+ font-weight: 500;
2972
3040
  cursor: pointer;
3041
+ display: inline-flex;
3042
+ align-items: center;
3043
+ justify-content: center;
3044
+ transition: background 0.15s ease, border-color 0.15s ease;
3045
+ }
3046
+
3047
+ .pictures-close-btn:hover {
3048
+ background: rgba(255, 255, 255, 0.08);
3049
+ border-color: rgba(255, 255, 255, 0.15);
2973
3050
  }
2974
3051
 
2975
3052
  .pictures-grid {
@@ -3020,20 +3097,24 @@ input:checked + .slider:before {
3020
3097
  }
3021
3098
 
3022
3099
  .picture-folder-btn {
3023
- width: 100%;
3024
- height: 34px;
3100
+ height: 36px;
3101
+ padding: 0 16px;
3025
3102
  border: 1px solid var(--border);
3026
3103
  border-radius: 8px;
3027
- background: var(--panel-soft);
3028
- color: var(--text);
3029
- font-size: 0.75rem;
3030
- font-weight: 700;
3104
+ background: rgba(255, 255, 255, 0.04);
3105
+ color: var(--text-main);
3106
+ font-size: 0.82rem;
3107
+ font-weight: 500;
3031
3108
  cursor: pointer;
3109
+ display: inline-flex;
3110
+ align-items: center;
3111
+ justify-content: center;
3112
+ transition: background 0.15s ease, border-color 0.15s ease;
3032
3113
  }
3033
3114
 
3034
3115
  .picture-folder-btn:hover {
3035
- border-color: color-mix(in srgb, var(--accent) 48%, var(--border));
3036
- background: color-mix(in srgb, var(--accent) 12%, var(--panel-soft));
3116
+ background: rgba(255, 255, 255, 0.08);
3117
+ border-color: rgba(255, 255, 255, 0.15);
3037
3118
  }
3038
3119
 
3039
3120
  .picture-folder-btn:disabled {
@@ -3517,23 +3598,20 @@ input:checked + .slider:before {
3517
3598
 
3518
3599
  .mint-image-attachment {
3519
3600
  position: relative;
3520
- display: inline-flex;
3521
- width: auto;
3522
- height: auto;
3523
- max-width: min(360px, 72vw);
3524
- max-height: 196px;
3601
+ display: block;
3602
+ width: 80px;
3603
+ height: 80px;
3525
3604
  overflow: hidden;
3526
3605
  border: 1px solid var(--border);
3527
3606
  border-radius: 8px;
3528
3607
  background: color-mix(in srgb, var(--surface-strong) 78%, rgba(0, 0, 0, 0.22));
3529
3608
  }
3530
3609
 
3531
- .mint-image-preview {
3532
- width: auto;
3533
- height: auto;
3534
- max-width: min(360px, 72vw);
3535
- max-height: 196px;
3536
- display: block;
3610
+ .mint-image-attachment img.mint-image-preview {
3611
+ width: 100% !important;
3612
+ height: 100% !important;
3613
+ object-fit: cover !important;
3614
+ display: block !important;
3537
3615
  }
3538
3616
 
3539
3617
  .mint-attachment-remove {
@@ -3922,3 +4000,242 @@ input:checked + .slider:before {
3922
4000
  [data-theme="midnight"] .chat-bold-highlight {
3923
4001
  color: #38bdf8; /* Sky-400 for midnight theme */
3924
4002
  }
4003
+
4004
+ /* System Event Divider with Pill */
4005
+ .system-event-divider {
4006
+ display: flex;
4007
+ align-items: center;
4008
+ justify-content: center;
4009
+ width: 100%;
4010
+ margin: 20px 0;
4011
+ flex-shrink: 0;
4012
+ }
4013
+
4014
+ .system-event-line {
4015
+ flex: 1;
4016
+ height: 1px;
4017
+ border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
4018
+ }
4019
+
4020
+ [data-theme="light"] .system-event-line {
4021
+ border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
4022
+ }
4023
+
4024
+ .system-event-pill {
4025
+ display: flex;
4026
+ align-items: center;
4027
+ gap: 6px;
4028
+ padding: 4px 14px;
4029
+ background: var(--panel-raised, rgba(30, 41, 59, 0.6));
4030
+ border: 1px solid rgba(255, 255, 255, 0.08);
4031
+ border-radius: 9999px;
4032
+ color: var(--text-soft, #94a3b8);
4033
+ font-size: 0.78rem;
4034
+ font-weight: 500;
4035
+ margin: 0 12px;
4036
+ white-space: nowrap;
4037
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
4038
+ }
4039
+
4040
+ [data-theme="light"] .system-event-pill {
4041
+ background: #f1f5f9;
4042
+ border-color: rgba(0, 0, 0, 0.06);
4043
+ color: #475569;
4044
+ }
4045
+
4046
+ .system-event-pill svg {
4047
+ color: var(--accent, #38bdf8);
4048
+ }
4049
+
4050
+ /* Sidebar Search Chats Button */
4051
+ .sidebar-search-btn {
4052
+ margin-top: 4px;
4053
+ }
4054
+
4055
+ /* Sidebar Search Modal Backdrop */
4056
+ .sidebar-search-modal-backdrop {
4057
+ position: fixed;
4058
+ inset: 0;
4059
+ z-index: 10000;
4060
+ background: rgba(0, 0, 0, 0.6);
4061
+ backdrop-filter: blur(8px);
4062
+ -webkit-backdrop-filter: blur(8px);
4063
+ display: flex;
4064
+ align-items: flex-start;
4065
+ justify-content: center;
4066
+ padding-top: 12vh;
4067
+ }
4068
+
4069
+ /* Sidebar Search Modal Box */
4070
+ .sidebar-search-modal {
4071
+ width: 100%;
4072
+ max-width: 520px;
4073
+ background: var(--surface-strong, #1e293b);
4074
+ border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
4075
+ border-radius: 12px;
4076
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
4077
+ display: flex;
4078
+ flex-direction: column;
4079
+ overflow: hidden;
4080
+ animation: modalFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
4081
+ }
4082
+
4083
+ @keyframes modalFadeIn {
4084
+ from {
4085
+ opacity: 0;
4086
+ transform: translateY(-20px) scale(0.96);
4087
+ }
4088
+ to {
4089
+ opacity: 1;
4090
+ transform: translateY(0) scale(1);
4091
+ }
4092
+ }
4093
+
4094
+ /* Header */
4095
+ .search-modal-header {
4096
+ display: flex;
4097
+ align-items: center;
4098
+ gap: 12px;
4099
+ padding: 14px 16px;
4100
+ border-bottom: 1px solid var(--border, rgba(255, 255, 255, 0.08));
4101
+ position: relative;
4102
+ }
4103
+
4104
+ .search-icon-wrapper {
4105
+ color: var(--text-soft, #94a3b8);
4106
+ display: inline-flex;
4107
+ align-items: center;
4108
+ }
4109
+
4110
+ .search-modal-header input {
4111
+ flex: 1;
4112
+ background: transparent;
4113
+ border: 0;
4114
+ color: var(--text-main, #f8fafc);
4115
+ font: inherit;
4116
+ font-size: 0.95rem;
4117
+ outline: none;
4118
+ }
4119
+
4120
+ .search-modal-header input::placeholder {
4121
+ color: var(--text-muted, #64748b);
4122
+ }
4123
+
4124
+ .search-modal-close {
4125
+ background: transparent;
4126
+ border: 0;
4127
+ color: var(--text-muted, #64748b);
4128
+ cursor: pointer;
4129
+ display: inline-flex;
4130
+ align-items: center;
4131
+ justify-content: center;
4132
+ padding: 4px;
4133
+ border-radius: 4px;
4134
+ transition: color 0.15s ease, background 0.15s ease;
4135
+ }
4136
+
4137
+ .search-modal-close:hover {
4138
+ color: var(--text-main, #f8fafc);
4139
+ background: rgba(255, 255, 255, 0.05);
4140
+ }
4141
+
4142
+ /* Body */
4143
+ .search-modal-body {
4144
+ max-height: 480px;
4145
+ overflow-y: auto;
4146
+ padding: 12px;
4147
+ display: flex;
4148
+ flex-direction: column;
4149
+ gap: 14px;
4150
+ }
4151
+
4152
+ .search-new-chat-btn {
4153
+ display: flex;
4154
+ align-items: center;
4155
+ gap: 10px;
4156
+ background: rgba(255, 255, 255, 0.03);
4157
+ border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
4158
+ border-radius: 8px;
4159
+ color: var(--text-main, #f8fafc);
4160
+ padding: 10px 14px;
4161
+ cursor: pointer;
4162
+ text-align: left;
4163
+ font: inherit;
4164
+ font-size: 0.9rem;
4165
+ transition: background 0.15s ease;
4166
+ }
4167
+
4168
+ .search-new-chat-btn:hover {
4169
+ background: rgba(255, 255, 255, 0.08);
4170
+ }
4171
+
4172
+ .search-modal-results {
4173
+ display: flex;
4174
+ flex-direction: column;
4175
+ gap: 14px;
4176
+ }
4177
+
4178
+ .search-results-group {
4179
+ display: flex;
4180
+ flex-direction: column;
4181
+ gap: 4px;
4182
+ }
4183
+
4184
+ .search-group-title {
4185
+ color: var(--accent, #10b981);
4186
+ font-size: 0.72rem;
4187
+ font-weight: 600;
4188
+ text-transform: uppercase;
4189
+ letter-spacing: 0.05em;
4190
+ padding: 4px 10px;
4191
+ }
4192
+
4193
+ .search-result-item {
4194
+ display: flex;
4195
+ align-items: center;
4196
+ gap: 10px;
4197
+ background: transparent;
4198
+ border: 0;
4199
+ border-radius: 6px;
4200
+ color: var(--text-soft, #94a3b8);
4201
+ padding: 8px 12px;
4202
+ cursor: pointer;
4203
+ text-align: left;
4204
+ font: inherit;
4205
+ font-size: 0.88rem;
4206
+ transition: background 0.15s ease, color 0.15s ease;
4207
+ white-space: nowrap;
4208
+ overflow: hidden;
4209
+ text-overflow: ellipsis;
4210
+ width: 100%;
4211
+ }
4212
+
4213
+ .search-result-item svg {
4214
+ color: var(--text-muted, #64748b);
4215
+ flex-shrink: 0;
4216
+ }
4217
+
4218
+ .search-result-item:hover,
4219
+ .search-result-item.active {
4220
+ background: rgba(255, 255, 255, 0.05);
4221
+ color: var(--text-main, #f8fafc);
4222
+ }
4223
+
4224
+ .search-result-item:hover svg,
4225
+ .search-result-item.active svg {
4226
+ color: var(--text-main, #f8fafc);
4227
+ }
4228
+
4229
+ .search-result-title {
4230
+ overflow: hidden;
4231
+ text-overflow: ellipsis;
4232
+ white-space: nowrap;
4233
+ }
4234
+
4235
+ .search-no-results {
4236
+ color: var(--text-muted, #64748b);
4237
+ text-align: center;
4238
+ padding: 30px 0;
4239
+ font-size: 0.9rem;
4240
+ }
4241
+