@researai/deepscientist 1.5.15 → 1.5.17

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 (202) hide show
  1. package/README.md +385 -104
  2. package/bin/ds.js +1241 -110
  3. package/docs/en/00_QUICK_START.md +100 -19
  4. package/docs/en/01_SETTINGS_REFERENCE.md +34 -1
  5. package/docs/en/02_START_RESEARCH_GUIDE.md +7 -0
  6. package/docs/en/05_TUI_GUIDE.md +6 -0
  7. package/docs/en/06_RUNTIME_AND_CANVAS.md +4 -3
  8. package/docs/en/09_DOCTOR.md +25 -8
  9. package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +63 -13
  10. package/docs/en/15_CODEX_PROVIDER_SETUP.md +37 -11
  11. package/docs/en/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  12. package/docs/en/19_LOCAL_BROWSER_AUTH.md +70 -0
  13. package/docs/en/20_WORKSPACE_MODES_GUIDE.md +250 -0
  14. package/docs/en/21_LOCAL_MODEL_BACKENDS_GUIDE.md +283 -0
  15. package/docs/en/91_DEVELOPMENT.md +237 -0
  16. package/docs/en/README.md +24 -2
  17. package/docs/zh/00_QUICK_START.md +89 -19
  18. package/docs/zh/01_SETTINGS_REFERENCE.md +34 -1
  19. package/docs/zh/02_START_RESEARCH_GUIDE.md +7 -0
  20. package/docs/zh/05_TUI_GUIDE.md +6 -0
  21. package/docs/zh/09_DOCTOR.md +26 -9
  22. package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +63 -13
  23. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +37 -11
  24. package/docs/zh/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  25. package/docs/zh/19_LOCAL_BROWSER_AUTH.md +68 -0
  26. package/docs/zh/20_WORKSPACE_MODES_GUIDE.md +251 -0
  27. package/docs/zh/21_LOCAL_MODEL_BACKENDS_GUIDE.md +281 -0
  28. package/docs/zh/README.md +24 -2
  29. package/install.sh +46 -4
  30. package/package.json +2 -1
  31. package/pyproject.toml +1 -1
  32. package/src/deepscientist/__init__.py +1 -1
  33. package/src/deepscientist/acp/envelope.py +6 -0
  34. package/src/deepscientist/artifact/service.py +647 -22
  35. package/src/deepscientist/bash_exec/service.py +234 -9
  36. package/src/deepscientist/bridges/connectors.py +8 -2
  37. package/src/deepscientist/cli.py +115 -19
  38. package/src/deepscientist/codex_cli_compat.py +367 -22
  39. package/src/deepscientist/config/models.py +2 -1
  40. package/src/deepscientist/config/service.py +183 -13
  41. package/src/deepscientist/daemon/api/handlers.py +255 -31
  42. package/src/deepscientist/daemon/api/router.py +9 -0
  43. package/src/deepscientist/daemon/app.py +1146 -105
  44. package/src/deepscientist/diagnostics/__init__.py +6 -0
  45. package/src/deepscientist/diagnostics/runner_failures.py +130 -0
  46. package/src/deepscientist/doctor.py +207 -3
  47. package/src/deepscientist/gitops/__init__.py +10 -1
  48. package/src/deepscientist/gitops/diff.py +129 -0
  49. package/src/deepscientist/gitops/service.py +4 -1
  50. package/src/deepscientist/mcp/server.py +39 -0
  51. package/src/deepscientist/prompts/builder.py +275 -34
  52. package/src/deepscientist/quest/layout.py +15 -2
  53. package/src/deepscientist/quest/service.py +707 -55
  54. package/src/deepscientist/quest/stage_views.py +6 -1
  55. package/src/deepscientist/runners/codex.py +143 -43
  56. package/src/deepscientist/shared.py +19 -0
  57. package/src/deepscientist/skills/__init__.py +2 -2
  58. package/src/deepscientist/skills/installer.py +196 -5
  59. package/src/deepscientist/skills/registry.py +66 -0
  60. package/src/prompts/connectors/qq.md +18 -8
  61. package/src/prompts/connectors/weixin.md +16 -6
  62. package/src/prompts/contracts/shared_interaction.md +14 -2
  63. package/src/prompts/system.md +23 -5
  64. package/src/prompts/system_copilot.md +56 -0
  65. package/src/skills/analysis-campaign/SKILL.md +1 -0
  66. package/src/skills/baseline/SKILL.md +8 -0
  67. package/src/skills/decision/SKILL.md +8 -0
  68. package/src/skills/experiment/SKILL.md +8 -0
  69. package/src/skills/figure-polish/SKILL.md +1 -0
  70. package/src/skills/finalize/SKILL.md +1 -0
  71. package/src/skills/idea/SKILL.md +1 -0
  72. package/src/skills/intake-audit/SKILL.md +8 -0
  73. package/src/skills/mentor/SKILL.md +217 -0
  74. package/src/skills/mentor/references/correction-rules.md +210 -0
  75. package/src/skills/mentor/references/knowledge-profile.md +91 -0
  76. package/src/skills/mentor/references/persona-profile.md +138 -0
  77. package/src/skills/mentor/references/taste-profile.md +128 -0
  78. package/src/skills/mentor/references/thought-style-profile.md +138 -0
  79. package/src/skills/mentor/references/work-profile.md +289 -0
  80. package/src/skills/mentor/references/workflow-profile.md +240 -0
  81. package/src/skills/optimize/SKILL.md +1 -0
  82. package/src/skills/rebuttal/SKILL.md +1 -0
  83. package/src/skills/review/SKILL.md +1 -0
  84. package/src/skills/scout/SKILL.md +8 -0
  85. package/src/skills/write/SKILL.md +1 -0
  86. package/src/tui/dist/app/AppContainer.js +19 -11
  87. package/src/tui/dist/index.js +4 -1
  88. package/src/tui/dist/lib/api.js +33 -3
  89. package/src/tui/package.json +1 -1
  90. package/src/ui/dist/assets/AiManusChatView-Bv-Z8YpU.js +204 -0
  91. package/src/ui/dist/assets/AnalysisPlugin-BCKAfjba.js +1 -0
  92. package/src/ui/dist/assets/CliPlugin-BCKcpc35.js +109 -0
  93. package/src/ui/dist/assets/CodeEditorPlugin-DbOfSJ8K.js +2 -0
  94. package/src/ui/dist/assets/CodeViewerPlugin-CbaFRrUU.js +270 -0
  95. package/src/ui/dist/assets/DocViewerPlugin-DAjLVeQD.js +7 -0
  96. package/src/ui/dist/assets/GitCommitViewerPlugin-CIUqbUDO.js +1 -0
  97. package/src/ui/dist/assets/GitDiffViewerPlugin-CQACjoAA.js +6 -0
  98. package/src/ui/dist/assets/GitSnapshotViewer-0r4nLPke.js +30 -0
  99. package/src/ui/dist/assets/ImageViewerPlugin-nBOmI2v_.js +26 -0
  100. package/src/ui/dist/assets/LabCopilotPanel-BHxOxF4z.js +14 -0
  101. package/src/ui/dist/assets/LabPlugin-BKoZGs95.js +22 -0
  102. package/src/ui/dist/assets/LatexPlugin-ZwtV8pIp.js +25 -0
  103. package/src/ui/dist/assets/MarkdownViewerPlugin-DKqVfKyW.js +128 -0
  104. package/src/ui/dist/assets/MarketplacePlugin-BwxStZ9D.js +13 -0
  105. package/src/ui/dist/assets/NotebookEditor-BEQhaQbt.js +81 -0
  106. package/src/ui/dist/assets/{NotebookEditor-CccQYZjX.css → NotebookEditor-BHH8rdGj.css} +1 -1
  107. package/src/ui/dist/assets/NotebookEditor-BOr3x3Ej.css +1 -0
  108. package/src/ui/dist/assets/NotebookEditor-DB9N_T9q.js +361 -0
  109. package/src/ui/dist/assets/PdfLoader-Cy5jtWrr.css +1 -0
  110. package/src/ui/dist/assets/PdfLoader-eWBONbQP.js +16 -0
  111. package/src/ui/dist/assets/PdfMarkdownPlugin-D22YOZL3.js +1 -0
  112. package/src/ui/dist/assets/PdfViewerPlugin-c-RK9DLM.js +17 -0
  113. package/src/ui/dist/assets/PdfViewerPlugin-nwwE-fjJ.css +1 -0
  114. package/src/ui/dist/assets/SearchPlugin-CxF9ytAx.js +16 -0
  115. package/src/ui/dist/assets/SearchPlugin-DA4en4hK.css +1 -0
  116. package/src/ui/dist/assets/TextViewerPlugin-C5xqeeUH.js +54 -0
  117. package/src/ui/dist/assets/VNCViewer-BoLGLnHz.js +11 -0
  118. package/src/ui/dist/assets/bot-DREQOxzP.js +6 -0
  119. package/src/ui/dist/assets/browser-CTB2jwNe.js +8 -0
  120. package/src/ui/dist/assets/chevron-up-C9Qpx4DE.js +6 -0
  121. package/src/ui/dist/assets/code-WlFHE7z_.js +6 -0
  122. package/src/ui/dist/assets/file-content-BZMz3RYp.js +1 -0
  123. package/src/ui/dist/assets/file-diff-panel-CQhw0jS2.js +1 -0
  124. package/src/ui/dist/assets/file-jump-queue-DA-SdG__.js +1 -0
  125. package/src/ui/dist/assets/file-socket-CfQPKQKj.js +1 -0
  126. package/src/ui/dist/assets/git-commit-horizontal-DxZ8DCZh.js +6 -0
  127. package/src/ui/dist/assets/image-Bgl4VIyx.js +6 -0
  128. package/src/ui/dist/assets/index-BpV6lusQ.css +33 -0
  129. package/src/ui/dist/assets/index-CBNVuWcP.js +2496 -0
  130. package/src/ui/dist/assets/index-CwNu1aH4.js +11 -0
  131. package/src/ui/dist/assets/index-DrUnlf6K.js +1 -0
  132. package/src/ui/dist/assets/index-NW-h8VzN.js +1 -0
  133. package/src/ui/dist/assets/monaco-CiHMMNH_.js +1 -0
  134. package/src/ui/dist/assets/pdf-effect-queue-J8OnM0jE.js +6 -0
  135. package/src/ui/dist/assets/plugin-monaco-C8UgLomw.js +19 -0
  136. package/src/ui/dist/assets/plugin-notebook-HbW2K-1c.js +169 -0
  137. package/src/ui/dist/assets/plugin-pdf-CR8hgQBV.js +357 -0
  138. package/src/ui/dist/assets/plugin-terminal-MXFIPun8.js +227 -0
  139. package/src/ui/dist/assets/popover-CLc0pPP8.js +1 -0
  140. package/src/ui/dist/assets/project-sync-C9IdzdZW.js +1 -0
  141. package/src/ui/dist/assets/select-Cs2PmzwL.js +11 -0
  142. package/src/ui/dist/assets/sigma-ClKcHAXm.js +6 -0
  143. package/src/ui/dist/assets/trash-DwpbFr3w.js +11 -0
  144. package/src/ui/dist/assets/useCliAccess-NQ8m0Let.js +1 -0
  145. package/src/ui/dist/assets/useFileDiffOverlay-FuhcnKiw.js +1 -0
  146. package/src/ui/dist/assets/wrap-text-BC-Hltpd.js +11 -0
  147. package/src/ui/dist/assets/zoom-out-E_gaeAxL.js +11 -0
  148. package/src/ui/dist/index.html +5 -2
  149. package/src/ui/dist/assets/AiManusChatView-DDjbFnbt.js +0 -26597
  150. package/src/ui/dist/assets/AnalysisPlugin-Yb5IdmaU.js +0 -123
  151. package/src/ui/dist/assets/CliPlugin-e64sreyu.js +0 -31037
  152. package/src/ui/dist/assets/CodeEditorPlugin-C4D2TIkU.js +0 -427
  153. package/src/ui/dist/assets/CodeViewerPlugin-BVoNZIvC.js +0 -905
  154. package/src/ui/dist/assets/DocViewerPlugin-CLChbllo.js +0 -278
  155. package/src/ui/dist/assets/GitDiffViewerPlugin-C4xeFyFQ.js +0 -2661
  156. package/src/ui/dist/assets/ImageViewerPlugin-OiMUAcLi.js +0 -500
  157. package/src/ui/dist/assets/LabCopilotPanel-BjD2ThQF.js +0 -4104
  158. package/src/ui/dist/assets/LabPlugin-DQPg-NrB.js +0 -2677
  159. package/src/ui/dist/assets/LatexPlugin-CI05XAV9.js +0 -1792
  160. package/src/ui/dist/assets/MarkdownViewerPlugin-DpeBLYZf.js +0 -308
  161. package/src/ui/dist/assets/MarketplacePlugin-DolE58Q2.js +0 -413
  162. package/src/ui/dist/assets/NotebookEditor-7Qm2rSWD.js +0 -4214
  163. package/src/ui/dist/assets/NotebookEditor-C1kWaxKi.js +0 -84873
  164. package/src/ui/dist/assets/NotebookEditor-C3VQ7ylN.css +0 -1405
  165. package/src/ui/dist/assets/PdfLoader-BfOHw8Zw.js +0 -25468
  166. package/src/ui/dist/assets/PdfLoader-C-Y707R3.css +0 -49
  167. package/src/ui/dist/assets/PdfMarkdownPlugin-BulDREv1.js +0 -409
  168. package/src/ui/dist/assets/PdfViewerPlugin-C-daaOaL.js +0 -3095
  169. package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +0 -3627
  170. package/src/ui/dist/assets/SearchPlugin-CjpaiJ3A.js +0 -741
  171. package/src/ui/dist/assets/SearchPlugin-DDMrGDkh.css +0 -379
  172. package/src/ui/dist/assets/TextViewerPlugin-BxIyqPQC.js +0 -472
  173. package/src/ui/dist/assets/VNCViewer-HAg9mF7M.js +0 -18821
  174. package/src/ui/dist/assets/awareness-C0NPR2Dj.js +0 -292
  175. package/src/ui/dist/assets/bot-0DYntytV.js +0 -21
  176. package/src/ui/dist/assets/browser-BAcuE0Xj.js +0 -2895
  177. package/src/ui/dist/assets/code-B20Slj_w.js +0 -17
  178. package/src/ui/dist/assets/file-content-DT24KFma.js +0 -377
  179. package/src/ui/dist/assets/file-diff-panel-DK13YPql.js +0 -92
  180. package/src/ui/dist/assets/file-jump-queue-r5XKgJEV.js +0 -16
  181. package/src/ui/dist/assets/file-socket-B4T2o4nR.js +0 -58
  182. package/src/ui/dist/assets/function-B5QZkkHC.js +0 -1895
  183. package/src/ui/dist/assets/image-DSeR_sDS.js +0 -18
  184. package/src/ui/dist/assets/index-BrFje2Uk.js +0 -120
  185. package/src/ui/dist/assets/index-BwRJaoTl.js +0 -25
  186. package/src/ui/dist/assets/index-D_E4281X.js +0 -221322
  187. package/src/ui/dist/assets/index-DnYB3xb1.js +0 -159
  188. package/src/ui/dist/assets/index-G7AcWcMu.css +0 -12594
  189. package/src/ui/dist/assets/monaco-LExaAN3Y.js +0 -623
  190. package/src/ui/dist/assets/pdf-effect-queue-BJk5okWJ.js +0 -47
  191. package/src/ui/dist/assets/pdf_viewer-e0g1is2C.js +0 -8206
  192. package/src/ui/dist/assets/popover-D3Gg_FoV.js +0 -476
  193. package/src/ui/dist/assets/project-sync-C_ygLlVU.js +0 -297
  194. package/src/ui/dist/assets/select-CpAK6uWm.js +0 -1690
  195. package/src/ui/dist/assets/sigma-DEccaSgk.js +0 -22
  196. package/src/ui/dist/assets/square-check-big-uUfyVsbD.js +0 -17
  197. package/src/ui/dist/assets/trash-CXvwwSe8.js +0 -32
  198. package/src/ui/dist/assets/useCliAccess-Bnop4mgR.js +0 -957
  199. package/src/ui/dist/assets/useFileDiffOverlay-B8eUAX0I.js +0 -53
  200. package/src/ui/dist/assets/wrap-text-9vbOBpkW.js +0 -35
  201. package/src/ui/dist/assets/yjs-DncrqiZ8.js +0 -11243
  202. package/src/ui/dist/assets/zoom-out-BgVMmOW4.js +0 -34
@@ -1,379 +0,0 @@
1
- .ds-search-surface {
2
- --ds-search-paper: #f7f2e8;
3
- --ds-search-ink: #2f261c;
4
- --ds-search-ink-muted: #6f5c46;
5
- --ds-search-gold: #c2a15c;
6
- --ds-search-teal: #4d7c84;
7
- position: relative;
8
- height: 100%;
9
- overflow: hidden;
10
- padding: 32px 0 36px;
11
- color: var(--ds-search-ink);
12
- background:
13
- radial-gradient(1200px 600px at 10% -10%, rgba(214, 186, 140, 0.25), transparent 60%),
14
- radial-gradient(900px 600px at 90% -20%, rgba(77, 124, 132, 0.18), transparent 60%),
15
- linear-gradient(180deg, #fbf6ec 0%, #f2e5d3 100%);
16
- }
17
-
18
- .ds-search-surface::before {
19
- content: '';
20
- position: absolute;
21
- inset: -20% -10% auto;
22
- height: 120%;
23
- background:
24
- radial-gradient(500px 300px at 20% 20%, rgba(194, 161, 92, 0.2), transparent 70%),
25
- radial-gradient(600px 350px at 80% 0%, rgba(77, 124, 132, 0.18), transparent 75%);
26
- opacity: 0.65;
27
- animation: ds-search-glow 16s ease-in-out infinite;
28
- pointer-events: none;
29
- }
30
-
31
- .ds-search-surface::after {
32
- content: '';
33
- position: absolute;
34
- inset: 0;
35
- background-image:
36
- repeating-linear-gradient(
37
- 110deg,
38
- rgba(47, 38, 28, 0.04) 0px,
39
- rgba(47, 38, 28, 0.04) 1px,
40
- transparent 1px,
41
- transparent 18px
42
- );
43
- opacity: 0.4;
44
- pointer-events: none;
45
- }
46
-
47
- .ds-search-shell {
48
- position: relative;
49
- z-index: 1;
50
- max-width: 980px;
51
- margin: 0 auto;
52
- padding: 0 24px;
53
- }
54
-
55
- .ds-search-header {
56
- display: flex;
57
- align-items: flex-end;
58
- justify-content: space-between;
59
- gap: 24px;
60
- }
61
-
62
- .ds-search-kicker {
63
- font-size: 11px;
64
- letter-spacing: 0.3em;
65
- text-transform: uppercase;
66
- color: var(--ds-search-ink-muted);
67
- font-weight: 600;
68
- }
69
-
70
- .ds-search-title {
71
- margin-top: 6px;
72
- font-size: 32px;
73
- font-weight: 700;
74
- letter-spacing: 0.02em;
75
- font-family: 'Cinzel', 'Cormorant Garamond', 'Georgia', serif;
76
- }
77
-
78
- .ds-search-subtitle {
79
- margin-top: 6px;
80
- font-size: 14px;
81
- color: var(--ds-search-ink-muted);
82
- font-family: 'Source Serif 4', 'Spectral', 'Georgia', serif;
83
- }
84
-
85
- .ds-search-shortcut {
86
- display: flex;
87
- align-items: center;
88
- gap: 8px;
89
- font-size: 11px;
90
- color: var(--ds-search-ink-muted);
91
- }
92
-
93
- .ds-search-shortcut kbd {
94
- padding: 6px 10px;
95
- border-radius: 999px;
96
- border: 1px solid rgba(47, 38, 28, 0.15);
97
- background: rgba(255, 255, 255, 0.75);
98
- font-family: 'Source Code Pro', 'Menlo', monospace;
99
- box-shadow: 0 8px 18px rgba(34, 27, 18, 0.12);
100
- }
101
-
102
- .ds-search-field {
103
- margin-top: 22px;
104
- display: flex;
105
- align-items: center;
106
- gap: 8px;
107
- border-radius: 999px;
108
- border: 1px solid rgba(194, 161, 92, 0.4);
109
- background: rgba(255, 255, 255, 0.8);
110
- padding: 4px 14px;
111
- box-shadow: 0 16px 32px rgba(49, 39, 24, 0.12);
112
- transition: box-shadow 0.3s ease, border-color 0.3s ease;
113
- }
114
-
115
- .ds-search-field:focus-within {
116
- border-color: rgba(194, 161, 92, 0.9);
117
- box-shadow: 0 20px 40px rgba(49, 39, 24, 0.18);
118
- }
119
-
120
- .ds-search-input {
121
- flex: 1;
122
- border: none;
123
- background: transparent;
124
- padding: 10px 8px;
125
- font-size: 15px;
126
- color: var(--ds-search-ink);
127
- font-family: 'Source Serif 4', 'Spectral', 'Georgia', serif;
128
- }
129
-
130
- .ds-search-input:focus {
131
- outline: none;
132
- }
133
-
134
- .ds-search-clear {
135
- border-radius: 999px;
136
- border: none;
137
- background: rgba(47, 38, 28, 0.08);
138
- padding: 6px;
139
- color: var(--ds-search-ink-muted);
140
- transition: background 0.2s ease, color 0.2s ease;
141
- }
142
-
143
- .ds-search-clear:hover {
144
- background: rgba(47, 38, 28, 0.16);
145
- color: var(--ds-search-ink);
146
- }
147
-
148
- .ds-search-scope {
149
- margin-top: 14px;
150
- display: flex;
151
- flex-wrap: wrap;
152
- gap: 8px;
153
- }
154
-
155
- .ds-search-chip {
156
- display: inline-flex;
157
- align-items: center;
158
- gap: 8px;
159
- border-radius: 999px;
160
- border: 1px solid rgba(47, 38, 28, 0.14);
161
- padding: 6px 12px;
162
- font-size: 12px;
163
- letter-spacing: 0.08em;
164
- text-transform: uppercase;
165
- color: var(--ds-search-ink-muted);
166
- background: rgba(255, 255, 255, 0.7);
167
- transition: all 0.2s ease;
168
- }
169
-
170
- .ds-search-chip[data-active='true'] {
171
- background: var(--ds-search-ink);
172
- color: #fff;
173
- border-color: var(--ds-search-ink);
174
- }
175
-
176
- .ds-search-chip span {
177
- letter-spacing: normal;
178
- text-transform: none;
179
- font-size: 11px;
180
- color: inherit;
181
- opacity: 0.8;
182
- }
183
-
184
- .ds-search-panel {
185
- margin-top: 18px;
186
- border-radius: 22px;
187
- border: 1px solid rgba(47, 38, 28, 0.14);
188
- background: rgba(255, 255, 255, 0.85);
189
- box-shadow: 0 26px 60px rgba(45, 36, 22, 0.16);
190
- backdrop-filter: blur(12px);
191
- overflow: hidden;
192
- }
193
-
194
- .ds-search-section {
195
- padding: 18px 20px 6px;
196
- animation: ds-search-rise 0.35s ease both;
197
- animation-delay: var(--ds-delay, 0s);
198
- }
199
-
200
- .ds-search-section-title {
201
- display: flex;
202
- align-items: center;
203
- justify-content: space-between;
204
- gap: 12px;
205
- font-size: 12px;
206
- text-transform: uppercase;
207
- letter-spacing: 0.2em;
208
- color: var(--ds-search-ink-muted);
209
- font-weight: 600;
210
- }
211
-
212
- .ds-search-section-meta {
213
- font-size: 11px;
214
- letter-spacing: 0.08em;
215
- text-transform: uppercase;
216
- color: rgba(47, 38, 28, 0.55);
217
- }
218
-
219
- .ds-search-result-list {
220
- display: flex;
221
- flex-direction: column;
222
- gap: 10px;
223
- padding: 12px 20px 18px;
224
- }
225
-
226
- .ds-search-load {
227
- align-self: flex-start;
228
- border: 1px dashed rgba(194, 161, 92, 0.5);
229
- border-radius: 999px;
230
- padding: 6px 12px;
231
- font-size: 12px;
232
- color: var(--ds-search-ink-muted);
233
- background: transparent;
234
- transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
235
- }
236
-
237
- .ds-search-load:hover {
238
- border-color: rgba(194, 161, 92, 0.8);
239
- color: var(--ds-search-ink);
240
- transform: translateY(-1px);
241
- }
242
-
243
- .ds-search-result {
244
- width: 100%;
245
- text-align: left;
246
- display: flex;
247
- align-items: center;
248
- gap: 12px;
249
- border-radius: 18px;
250
- border: 1px solid rgba(194, 161, 92, 0.22);
251
- background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(252, 248, 241, 0.86));
252
- padding: 12px 14px;
253
- transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
254
- animation: ds-search-rise 0.4s ease both;
255
- animation-delay: var(--ds-delay, 0s);
256
- position: relative;
257
- overflow: hidden;
258
- }
259
-
260
- .ds-search-result:hover {
261
- transform: translateY(-2px);
262
- border-color: color-mix(in srgb, var(--ds-search-accent, var(--ds-search-gold)) 70%, transparent);
263
- box-shadow: 0 18px 30px rgba(45, 34, 20, 0.16);
264
- }
265
-
266
- .ds-search-result-mark {
267
- width: 36px;
268
- height: 36px;
269
- border-radius: 999px;
270
- border: 1px solid color-mix(in srgb, var(--ds-search-accent, var(--ds-search-gold)) 60%, transparent);
271
- background: color-mix(in srgb, var(--ds-search-accent, var(--ds-search-gold)) 16%, #fff);
272
- color: var(--ds-search-accent, var(--ds-search-gold));
273
- display: inline-flex;
274
- align-items: center;
275
- justify-content: center;
276
- }
277
-
278
- .ds-search-result-body {
279
- min-width: 0;
280
- flex: 1;
281
- }
282
-
283
- .ds-search-result-title {
284
- font-size: 14px;
285
- font-weight: 600;
286
- color: var(--ds-search-ink);
287
- }
288
-
289
- .ds-search-result-subtitle {
290
- margin-top: 2px;
291
- font-size: 12px;
292
- color: var(--ds-search-ink-muted);
293
- display: flex;
294
- gap: 8px;
295
- flex-wrap: wrap;
296
- }
297
-
298
- .ds-search-result-meta {
299
- font-size: 11px;
300
- color: rgba(47, 38, 28, 0.55);
301
- }
302
-
303
- .ds-search-badge {
304
- padding: 4px 10px;
305
- border-radius: 999px;
306
- border: 1px solid rgba(47, 38, 28, 0.12);
307
- font-size: 10px;
308
- text-transform: uppercase;
309
- letter-spacing: 0.14em;
310
- color: rgba(47, 38, 28, 0.7);
311
- background: rgba(255, 255, 255, 0.8);
312
- }
313
-
314
- .ds-search-empty {
315
- padding: 26px 20px 28px;
316
- color: var(--ds-search-ink-muted);
317
- font-size: 13px;
318
- animation: ds-search-rise 0.35s ease both;
319
- }
320
-
321
- .ds-search-empty h3 {
322
- font-size: 14px;
323
- font-weight: 600;
324
- color: var(--ds-search-ink);
325
- margin-bottom: 8px;
326
- }
327
-
328
- .ds-search-hint {
329
- margin-top: 14px;
330
- display: flex;
331
- align-items: center;
332
- gap: 6px;
333
- font-size: 11px;
334
- color: rgba(47, 38, 28, 0.6);
335
- }
336
-
337
- .ds-search-status {
338
- padding: 18px 20px 24px;
339
- font-size: 13px;
340
- color: var(--ds-search-ink-muted);
341
- }
342
-
343
- @keyframes ds-search-rise {
344
- from {
345
- opacity: 0;
346
- transform: translateY(8px);
347
- }
348
- to {
349
- opacity: 1;
350
- transform: translateY(0);
351
- }
352
- }
353
-
354
- @keyframes ds-search-glow {
355
- 0%,
356
- 100% {
357
- transform: translateY(0);
358
- opacity: 0.6;
359
- }
360
- 50% {
361
- transform: translateY(12px);
362
- opacity: 0.9;
363
- }
364
- }
365
-
366
- @media (max-width: 640px) {
367
- .ds-search-header {
368
- flex-direction: column;
369
- align-items: flex-start;
370
- }
371
-
372
- .ds-search-title {
373
- font-size: 26px;
374
- }
375
-
376
- .ds-search-shell {
377
- padding: 0 18px;
378
- }
379
- }