@researai/deepscientist 1.5.14 → 1.5.16

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 (225) hide show
  1. package/README.md +336 -90
  2. package/assets/branding/logo-raster.png +0 -0
  3. package/bin/ds.js +816 -131
  4. package/docs/en/00_QUICK_START.md +36 -15
  5. package/docs/en/01_SETTINGS_REFERENCE.md +53 -4
  6. package/docs/en/02_START_RESEARCH_GUIDE.md +7 -0
  7. package/docs/en/03_QQ_CONNECTOR_GUIDE.md +19 -0
  8. package/docs/en/05_TUI_GUIDE.md +6 -0
  9. package/docs/en/06_RUNTIME_AND_CANVAS.md +4 -3
  10. package/docs/en/09_DOCTOR.md +11 -5
  11. package/docs/en/10_WEIXIN_CONNECTOR_GUIDE.md +20 -0
  12. package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +65 -13
  13. package/docs/en/15_CODEX_PROVIDER_SETUP.md +25 -8
  14. package/docs/en/16_TELEGRAM_CONNECTOR_GUIDE.md +134 -0
  15. package/docs/en/17_WHATSAPP_CONNECTOR_GUIDE.md +126 -0
  16. package/docs/en/18_FEISHU_CONNECTOR_GUIDE.md +136 -0
  17. package/docs/en/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  18. package/docs/en/19_LOCAL_BROWSER_AUTH.md +70 -0
  19. package/docs/en/20_WORKSPACE_MODES_GUIDE.md +250 -0
  20. package/docs/en/README.md +24 -0
  21. package/docs/zh/00_QUICK_START.md +36 -15
  22. package/docs/zh/01_SETTINGS_REFERENCE.md +53 -4
  23. package/docs/zh/02_START_RESEARCH_GUIDE.md +7 -0
  24. package/docs/zh/03_QQ_CONNECTOR_GUIDE.md +19 -0
  25. package/docs/zh/05_TUI_GUIDE.md +6 -0
  26. package/docs/zh/09_DOCTOR.md +11 -5
  27. package/docs/zh/10_WEIXIN_CONNECTOR_GUIDE.md +20 -0
  28. package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +65 -13
  29. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +25 -8
  30. package/docs/zh/16_TELEGRAM_CONNECTOR_GUIDE.md +134 -0
  31. package/docs/zh/17_WHATSAPP_CONNECTOR_GUIDE.md +126 -0
  32. package/docs/zh/18_FEISHU_CONNECTOR_GUIDE.md +136 -0
  33. package/docs/zh/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  34. package/docs/zh/19_LOCAL_BROWSER_AUTH.md +68 -0
  35. package/docs/zh/20_WORKSPACE_MODES_GUIDE.md +251 -0
  36. package/docs/zh/README.md +24 -0
  37. package/install.sh +2 -0
  38. package/package.json +1 -1
  39. package/pyproject.toml +1 -1
  40. package/src/deepscientist/__init__.py +1 -1
  41. package/src/deepscientist/acp/envelope.py +6 -0
  42. package/src/deepscientist/artifact/charts.py +567 -0
  43. package/src/deepscientist/artifact/guidance.py +50 -10
  44. package/src/deepscientist/artifact/metrics.py +228 -5
  45. package/src/deepscientist/artifact/schemas.py +3 -0
  46. package/src/deepscientist/artifact/service.py +4276 -308
  47. package/src/deepscientist/bash_exec/models.py +23 -0
  48. package/src/deepscientist/bash_exec/monitor.py +147 -67
  49. package/src/deepscientist/bash_exec/runtime.py +218 -156
  50. package/src/deepscientist/bash_exec/service.py +309 -69
  51. package/src/deepscientist/bash_exec/shells.py +87 -0
  52. package/src/deepscientist/bridges/connectors.py +51 -2
  53. package/src/deepscientist/cli.py +115 -19
  54. package/src/deepscientist/codex_cli_compat.py +232 -0
  55. package/src/deepscientist/config/models.py +8 -4
  56. package/src/deepscientist/config/service.py +38 -11
  57. package/src/deepscientist/connector/weixin_support.py +122 -1
  58. package/src/deepscientist/daemon/api/handlers.py +199 -9
  59. package/src/deepscientist/daemon/api/router.py +5 -0
  60. package/src/deepscientist/daemon/app.py +1458 -289
  61. package/src/deepscientist/doctor.py +51 -0
  62. package/src/deepscientist/file_lock.py +48 -0
  63. package/src/deepscientist/gitops/__init__.py +10 -1
  64. package/src/deepscientist/gitops/diff.py +296 -1
  65. package/src/deepscientist/gitops/service.py +4 -1
  66. package/src/deepscientist/mcp/server.py +212 -5
  67. package/src/deepscientist/process_control.py +161 -0
  68. package/src/deepscientist/prompts/builder.py +501 -453
  69. package/src/deepscientist/quest/layout.py +15 -2
  70. package/src/deepscientist/quest/service.py +2539 -195
  71. package/src/deepscientist/quest/stage_views.py +177 -1
  72. package/src/deepscientist/runners/base.py +2 -0
  73. package/src/deepscientist/runners/codex.py +169 -31
  74. package/src/deepscientist/runners/runtime_overrides.py +17 -1
  75. package/src/deepscientist/skills/__init__.py +2 -2
  76. package/src/deepscientist/skills/installer.py +196 -5
  77. package/src/deepscientist/skills/registry.py +66 -0
  78. package/src/prompts/connectors/qq.md +18 -8
  79. package/src/prompts/connectors/weixin.md +16 -6
  80. package/src/prompts/contracts/shared_interaction.md +24 -4
  81. package/src/prompts/system.md +921 -72
  82. package/src/prompts/system_copilot.md +43 -0
  83. package/src/skills/analysis-campaign/SKILL.md +32 -2
  84. package/src/skills/analysis-campaign/references/artifact-orchestration.md +1 -1
  85. package/src/skills/analysis-campaign/references/writing-facing-slice-examples.md +65 -0
  86. package/src/skills/baseline/SKILL.md +10 -0
  87. package/src/skills/decision/SKILL.md +27 -2
  88. package/src/skills/experiment/SKILL.md +16 -2
  89. package/src/skills/figure-polish/SKILL.md +1 -0
  90. package/src/skills/finalize/SKILL.md +19 -0
  91. package/src/skills/idea/SKILL.md +79 -0
  92. package/src/skills/idea/references/idea-generation-playbook.md +100 -0
  93. package/src/skills/idea/references/outline-seeding-example.md +60 -0
  94. package/src/skills/intake-audit/SKILL.md +9 -1
  95. package/src/skills/mentor/SKILL.md +217 -0
  96. package/src/skills/mentor/references/correction-rules.md +210 -0
  97. package/src/skills/mentor/references/knowledge-profile.md +91 -0
  98. package/src/skills/mentor/references/persona-profile.md +138 -0
  99. package/src/skills/mentor/references/taste-profile.md +128 -0
  100. package/src/skills/mentor/references/thought-style-profile.md +138 -0
  101. package/src/skills/mentor/references/work-profile.md +289 -0
  102. package/src/skills/mentor/references/workflow-profile.md +240 -0
  103. package/src/skills/optimize/SKILL.md +1645 -0
  104. package/src/skills/rebuttal/SKILL.md +3 -1
  105. package/src/skills/review/SKILL.md +3 -1
  106. package/src/skills/scout/SKILL.md +8 -0
  107. package/src/skills/write/SKILL.md +81 -12
  108. package/src/skills/write/references/outline-evidence-contract-example.md +107 -0
  109. package/src/tui/dist/app/AppContainer.js +22 -11
  110. package/src/tui/dist/index.js +4 -1
  111. package/src/tui/dist/lib/api.js +33 -3
  112. package/src/tui/package.json +1 -1
  113. package/src/ui/dist/assets/AiManusChatView-COFACy7V.js +204 -0
  114. package/src/ui/dist/assets/AnalysisPlugin-DnSm0GZn.js +1 -0
  115. package/src/ui/dist/assets/CliPlugin-CvwCmDQ5.js +109 -0
  116. package/src/ui/dist/assets/CodeEditorPlugin-cOqSa0xq.js +2 -0
  117. package/src/ui/dist/assets/CodeViewerPlugin-itb0tltR.js +270 -0
  118. package/src/ui/dist/assets/DocViewerPlugin-DqKkiCI6.js +7 -0
  119. package/src/ui/dist/assets/GitCommitViewerPlugin-DVgNHBCS.js +1 -0
  120. package/src/ui/dist/assets/GitDiffViewerPlugin-DxL2ezFG.js +6 -0
  121. package/src/ui/dist/assets/GitSnapshotViewer-B_RQm1YZ.js +30 -0
  122. package/src/ui/dist/assets/ImageViewerPlugin-tHqlXY3n.js +26 -0
  123. package/src/ui/dist/assets/LabCopilotPanel-ClMbq5Yu.js +14 -0
  124. package/src/ui/dist/assets/LabPlugin-L_SuE8ow.js +22 -0
  125. package/src/ui/dist/assets/LatexPlugin-B495DTXC.js +25 -0
  126. package/src/ui/dist/assets/MarkdownViewerPlugin-DG28-61B.js +128 -0
  127. package/src/ui/dist/assets/MarketplacePlugin-BiOGT-Kj.js +13 -0
  128. package/src/ui/dist/assets/{NotebookEditor-CccQYZjX.css → NotebookEditor-BHH8rdGj.css} +1 -1
  129. package/src/ui/dist/assets/NotebookEditor-BOr3x3Ej.css +1 -0
  130. package/src/ui/dist/assets/NotebookEditor-C-4Kt1p9.js +81 -0
  131. package/src/ui/dist/assets/NotebookEditor-CVsj8h_T.js +361 -0
  132. package/src/ui/dist/assets/PdfLoader-CASDQmxJ.js +16 -0
  133. package/src/ui/dist/assets/PdfLoader-Cy5jtWrr.css +1 -0
  134. package/src/ui/dist/assets/PdfMarkdownPlugin-BFhwoKsY.js +1 -0
  135. package/src/ui/dist/assets/PdfViewerPlugin-DcOzU9vd.js +17 -0
  136. package/src/ui/dist/assets/PdfViewerPlugin-nwwE-fjJ.css +1 -0
  137. package/src/ui/dist/assets/SearchPlugin-CHj7M58O.js +16 -0
  138. package/src/ui/dist/assets/SearchPlugin-DA4en4hK.css +1 -0
  139. package/src/ui/dist/assets/TextViewerPlugin-CB4DYfWO.js +54 -0
  140. package/src/ui/dist/assets/VNCViewer-CjlbyCB3.js +11 -0
  141. package/src/ui/dist/assets/bot-CFkZY-JP.js +6 -0
  142. package/src/ui/dist/assets/browser-CTB2jwNe.js +8 -0
  143. package/src/ui/dist/assets/chevron-up-Dq5ofbht.js +6 -0
  144. package/src/ui/dist/assets/code-DLC6G24T.js +6 -0
  145. package/src/ui/dist/assets/file-content-Dv4LoZec.js +1 -0
  146. package/src/ui/dist/assets/file-diff-panel-Denq-lC3.js +1 -0
  147. package/src/ui/dist/assets/file-jump-queue-DA-SdG__.js +1 -0
  148. package/src/ui/dist/assets/file-socket-Cu4Qln7Y.js +1 -0
  149. package/src/ui/dist/assets/git-commit-horizontal-BUh6G52n.js +6 -0
  150. package/src/ui/dist/assets/image-B9HUUddG.js +6 -0
  151. package/src/ui/dist/assets/index-B2B1sg-M.js +1 -0
  152. package/src/ui/dist/assets/index-Cgla8biy.css +33 -0
  153. package/src/ui/dist/assets/index-DRyx7vAc.js +1 -0
  154. package/src/ui/dist/assets/index-Gbl53BNp.js +2496 -0
  155. package/src/ui/dist/assets/index-wQ7RIIRd.js +11 -0
  156. package/src/ui/dist/assets/monaco-CiHMMNH_.js +1 -0
  157. package/src/ui/dist/assets/pdf-effect-queue-ZtnHFCAi.js +6 -0
  158. package/src/ui/dist/assets/plugin-monaco-C8UgLomw.js +19 -0
  159. package/src/ui/dist/assets/plugin-notebook-HbW2K-1c.js +169 -0
  160. package/src/ui/dist/assets/plugin-pdf-CR8hgQBV.js +357 -0
  161. package/src/ui/dist/assets/plugin-terminal-MXFIPun8.js +227 -0
  162. package/src/ui/dist/assets/popover-DL6h35vr.js +1 -0
  163. package/src/ui/dist/assets/project-sync-CsX08Qno.js +1 -0
  164. package/src/ui/dist/assets/select-DvmXt1yY.js +11 -0
  165. package/src/ui/dist/assets/sigma-7jpXazui.js +6 -0
  166. package/src/ui/dist/assets/trash-xA7kFt8i.js +11 -0
  167. package/src/ui/dist/assets/useCliAccess-DsMwDjOp.js +1 -0
  168. package/src/ui/dist/assets/useFileDiffOverlay-FuhcnKiw.js +1 -0
  169. package/src/ui/dist/assets/wrap-text-CwMn-iqb.js +11 -0
  170. package/src/ui/dist/assets/zoom-out-R-GWEhzS.js +11 -0
  171. package/src/ui/dist/index.html +5 -2
  172. package/src/ui/dist/assets/AiManusChatView-DaF9Nge_.js +0 -26597
  173. package/src/ui/dist/assets/AnalysisPlugin-BSVx6dXE.js +0 -123
  174. package/src/ui/dist/assets/CliPlugin-C9gzJX41.js +0 -5905
  175. package/src/ui/dist/assets/CodeEditorPlugin-DU9G0Tox.js +0 -427
  176. package/src/ui/dist/assets/CodeViewerPlugin-DoX_fI9l.js +0 -905
  177. package/src/ui/dist/assets/DocViewerPlugin-C4FWIXuU.js +0 -278
  178. package/src/ui/dist/assets/GitDiffViewerPlugin-BgfFMgtf.js +0 -2661
  179. package/src/ui/dist/assets/ImageViewerPlugin-tcPkfY_x.js +0 -500
  180. package/src/ui/dist/assets/LabCopilotPanel-_dKV60Bf.js +0 -4104
  181. package/src/ui/dist/assets/LabPlugin-Bje0ayoC.js +0 -2677
  182. package/src/ui/dist/assets/LatexPlugin-CVsBzAln.js +0 -1792
  183. package/src/ui/dist/assets/MarkdownViewerPlugin-xjmrqv_8.js +0 -308
  184. package/src/ui/dist/assets/MarketplacePlugin-mMM2A8wP.js +0 -413
  185. package/src/ui/dist/assets/NotebookEditor-3kVDSOBo.js +0 -4214
  186. package/src/ui/dist/assets/NotebookEditor-C3VQ7ylN.css +0 -1405
  187. package/src/ui/dist/assets/NotebookEditor-SoJ8X-MO.js +0 -84873
  188. package/src/ui/dist/assets/PdfLoader-C-Y707R3.css +0 -49
  189. package/src/ui/dist/assets/PdfLoader-DElVuHl9.js +0 -25468
  190. package/src/ui/dist/assets/PdfMarkdownPlugin-Bq88XT4G.js +0 -409
  191. package/src/ui/dist/assets/PdfViewerPlugin-CsCXMo9S.js +0 -3095
  192. package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +0 -3627
  193. package/src/ui/dist/assets/SearchPlugin-DDMrGDkh.css +0 -379
  194. package/src/ui/dist/assets/SearchPlugin-oUPvy19k.js +0 -741
  195. package/src/ui/dist/assets/TextViewerPlugin-CRkT9yNy.js +0 -472
  196. package/src/ui/dist/assets/VNCViewer-BgbuvWhR.js +0 -18821
  197. package/src/ui/dist/assets/awareness-C0NPR2Dj.js +0 -292
  198. package/src/ui/dist/assets/bot-v_RASACv.js +0 -21
  199. package/src/ui/dist/assets/browser-BAcuE0Xj.js +0 -2895
  200. package/src/ui/dist/assets/code-5hC9d0VH.js +0 -17
  201. package/src/ui/dist/assets/file-content-D1PxfOrp.js +0 -377
  202. package/src/ui/dist/assets/file-diff-panel-DG1oT_Hj.js +0 -92
  203. package/src/ui/dist/assets/file-jump-queue-r5XKgJEV.js +0 -16
  204. package/src/ui/dist/assets/file-socket-BmdFYQlk.js +0 -58
  205. package/src/ui/dist/assets/function-B5QZkkHC.js +0 -1895
  206. package/src/ui/dist/assets/image-Dqe2X2tW.js +0 -18
  207. package/src/ui/dist/assets/index-BQG-1s2o.css +0 -12553
  208. package/src/ui/dist/assets/index-DVsMKK_y.js +0 -25
  209. package/src/ui/dist/assets/index-Duvz8Ip0.js +0 -159
  210. package/src/ui/dist/assets/index-Nt9hS4ck.js +0 -244829
  211. package/src/ui/dist/assets/index-RDlNXXx1.js +0 -120
  212. package/src/ui/dist/assets/monaco-DIXge1CP.js +0 -623
  213. package/src/ui/dist/assets/pdf-effect-queue-BBTTQaO-.js +0 -47
  214. package/src/ui/dist/assets/pdf_viewer-e0g1is2C.js +0 -8206
  215. package/src/ui/dist/assets/popover-BWlolyxo.js +0 -476
  216. package/src/ui/dist/assets/project-sync-BM5PkFH4.js +0 -297
  217. package/src/ui/dist/assets/select-D4dAtrA8.js +0 -1690
  218. package/src/ui/dist/assets/sigma-CKbE5jJT.js +0 -22
  219. package/src/ui/dist/assets/square-check-big-CZNGMgiB.js +0 -17
  220. package/src/ui/dist/assets/trash-DaB37xAz.js +0 -32
  221. package/src/ui/dist/assets/useCliAccess-C2OmAcWe.js +0 -957
  222. package/src/ui/dist/assets/useFileDiffOverlay-Dowd1Ij4.js +0 -53
  223. package/src/ui/dist/assets/wrap-text-BGjAhAUq.js +0 -35
  224. package/src/ui/dist/assets/yjs-DncrqiZ8.js +0 -11243
  225. package/src/ui/dist/assets/zoom-out-dMZQMXzc.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
- }