shortcutxl 0.3.76 → 0.3.78

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 (480) hide show
  1. package/BINARY-INVENTORY.json +813 -813
  2. package/CHANGELOG.md +14 -0
  3. package/dist/ai/models.d.ts +10 -6
  4. package/dist/ai/models.generated.d.ts +72 -0
  5. package/dist/ai/models.generated.js +33 -0
  6. package/dist/ai/models.js +36 -13
  7. package/dist/ai/providers/anthropic.d.ts +4 -2
  8. package/dist/ai/providers/anthropic.js +59 -29
  9. package/dist/ai/providers/azure-openai-responses.d.ts +2 -1
  10. package/dist/ai/providers/azure-openai-responses.js +4 -20
  11. package/dist/ai/providers/google-vertex.d.ts +8 -2
  12. package/dist/ai/providers/google-vertex.js +66 -54
  13. package/dist/ai/providers/google.js +15 -48
  14. package/dist/ai/providers/openai-completions.d.ts +4 -1
  15. package/dist/ai/providers/openai-completions.js +26 -10
  16. package/dist/ai/providers/openai-reasoning.d.ts +5 -0
  17. package/dist/ai/providers/openai-reasoning.js +13 -0
  18. package/dist/ai/providers/openai-responses-shared.js +1 -1
  19. package/dist/ai/providers/openai-responses.d.ts +6 -2
  20. package/dist/ai/providers/openai-responses.js +28 -23
  21. package/dist/ai/providers/simple-options.d.ts +2 -3
  22. package/dist/ai/providers/simple-options.js +4 -6
  23. package/dist/ai/types.d.ts +19 -2
  24. package/dist/app/agent-session-runtime-adapter.js +7 -6
  25. package/dist/app/agent-session.d.ts +0 -15
  26. package/dist/app/agent-session.js +0 -37
  27. package/dist/app/approvals/approval-errors.d.ts +15 -0
  28. package/dist/app/approvals/approval-errors.js +14 -0
  29. package/dist/app/approvals/runtime-approval-gates.d.ts +1 -2
  30. package/dist/app/approvals/tool-approval.d.ts +1 -0
  31. package/dist/app/approvals/tool-approval.js +11 -23
  32. package/dist/app/approvals/types.d.ts +0 -14
  33. package/dist/app/approvals/types.js +0 -2
  34. package/dist/app/background/tool-summaries.js +0 -2
  35. package/dist/app/extensions/slash-commands.js +1 -3
  36. package/dist/app/local/tools/execute-code/executor.d.ts +1 -1
  37. package/dist/app/local/tools/execute-code/executor.js +20 -10
  38. package/dist/app/local/tools/execute-code/tool.js +21 -2
  39. package/dist/app/modes/action/agent.js +4 -5
  40. package/dist/app/modes/ask/agent.js +4 -6
  41. package/dist/app/modes/index.js +20 -10
  42. package/dist/app/modes/installation/agent.js +4 -5
  43. package/dist/app/modes/manage/agent.js +3 -4
  44. package/dist/app/modes/manage/prompt.js +1 -2
  45. package/dist/app/modes/metadata.d.ts +31 -0
  46. package/dist/app/modes/metadata.js +35 -0
  47. package/dist/app/modes/plan/agent.js +5 -8
  48. package/dist/app/modes/plan/prompt.js +3 -3
  49. package/dist/app/permissions/runtime-approval-flow.d.ts +1 -5
  50. package/dist/app/permissions/runtime-approval-flow.js +0 -28
  51. package/dist/app/permissions/tool-gates.d.ts +2 -3
  52. package/dist/app/permissions/tool-gates.js +3 -81
  53. package/dist/app/prompts/com-api.js +1 -1
  54. package/dist/app/prompts/shared-guidelines.js +7 -3
  55. package/dist/app/providers/google-vertex-gateway.js +4 -51
  56. package/dist/app/providers/model-registry.d.ts +1 -0
  57. package/dist/app/providers/model-registry.js +39 -0
  58. package/dist/app/providers/model-resolver.js +10 -7
  59. package/dist/app/providers/register-shortcut-provider.js +6 -6
  60. package/dist/app/providers/shortcut-api-v2-transport.js +4 -0
  61. package/dist/app/providers/shortcut-llm-proxy-client.d.ts +2 -2
  62. package/dist/app/providers/shortcut-llm-proxy-client.js +1 -0
  63. package/dist/app/resources/package-manager.js +2 -123
  64. package/dist/app/resources/resource-patterns.d.ts +9 -0
  65. package/dist/app/resources/resource-patterns.js +120 -0
  66. package/dist/app/session/forked-agent.d.ts +2 -2
  67. package/dist/app/session/model-manager.js +3 -2
  68. package/dist/app/session/session-lifecycle.js +3 -2
  69. package/dist/app/session/session-models.d.ts +2 -0
  70. package/dist/app/session/session-models.js +14 -6
  71. package/dist/app/settings-manager.d.ts +3 -3
  72. package/dist/app/shared/tools/execute-code/mog.d.ts +3 -1
  73. package/dist/app/shared/tools/execute-code/mog.js +18 -2
  74. package/dist/app/tools/bash.js +3 -3
  75. package/dist/app/tools/execute-code/index.d.ts +1 -0
  76. package/dist/app/tools/execute-code/index.js +3 -1
  77. package/dist/app/tools/find-ignore-files.d.ts +3 -0
  78. package/dist/app/tools/find-ignore-files.js +33 -0
  79. package/dist/app/tools/find.js +2 -21
  80. package/dist/app/tools/llm-analysis.js +0 -2
  81. package/dist/app/tools/refresh-context.d.ts +1 -1
  82. package/dist/app/tools/session-settings/update-session-settings.js +2 -2
  83. package/dist/app/tools/switch-mode.js +2 -2
  84. package/dist/app/tools/take-screenshot.js +0 -2
  85. package/dist/app/tools/task/runner.js +1 -2
  86. package/dist/app/tools/task/task.d.ts +1 -3
  87. package/dist/app/tools/task/task.js +20 -40
  88. package/dist/app/tools/web-search.js +12 -2
  89. package/dist/autocomplete/core.d.ts +33 -0
  90. package/dist/autocomplete/core.js +113 -0
  91. package/dist/{tui → autocomplete}/fuzzy.d.ts +0 -1
  92. package/dist/{tui → autocomplete}/fuzzy.js +0 -1
  93. package/dist/{tui/autocomplete.d.ts → autocomplete/index.d.ts} +0 -1
  94. package/dist/{tui/autocomplete.js → autocomplete/index.js} +62 -158
  95. package/dist/cli/args.js +1 -1
  96. package/dist/cli/list-models.js +1 -1
  97. package/dist/cli.js +26227 -30480
  98. package/dist/constants.d.ts +0 -2
  99. package/dist/constants.js +0 -3
  100. package/dist/contracts/agent-session-store.d.ts +1 -1
  101. package/dist/contracts/agent-settings.d.ts +1 -0
  102. package/dist/contracts/agent-settings.js +2 -1
  103. package/dist/contracts/model-call.d.ts +1 -2
  104. package/dist/contracts/model-call.js +1 -2
  105. package/dist/contracts/model-stream.d.ts +1 -0
  106. package/dist/contracts/model-stream.js +1 -0
  107. package/dist/contracts/wire.d.ts +10 -7
  108. package/dist/contracts/wire.js +8 -0
  109. package/dist/core/agent-engine.js +1 -1
  110. package/dist/core/core-types.d.ts +1 -21
  111. package/dist/core/defaults.d.ts +1 -1
  112. package/dist/core/defaults.js +9 -1
  113. package/dist/core/prompts/agent-guidelines.d.ts +4 -5
  114. package/dist/core/prompts/agent-guidelines.js +28 -42
  115. package/dist/core/session-schema.d.ts +1 -1
  116. package/dist/embedded-agent/ai-invoke.d.ts +1 -2
  117. package/dist/embedded-agent/ai-invoke.js +2 -70
  118. package/dist/embedded-agent/anthropic-messages-transport.d.ts +4 -20
  119. package/dist/embedded-agent/anthropic-messages-transport.js +23 -786
  120. package/dist/embedded-agent/bootstrap.js +2 -2
  121. package/dist/embedded-agent/compose.js +8 -7
  122. package/dist/embedded-agent/gateway-base-url.d.ts +3 -0
  123. package/dist/embedded-agent/gateway-base-url.js +35 -0
  124. package/dist/embedded-agent/google-vertex-transport.d.ts +2 -11
  125. package/dist/embedded-agent/google-vertex-transport.js +20 -117
  126. package/dist/embedded-agent/host-runtime-options.d.ts +0 -8
  127. package/dist/embedded-agent/host-runtime-options.js +10 -2
  128. package/dist/embedded-agent/host-tools/invoke-llm/contract.d.ts +2 -2
  129. package/dist/embedded-agent/host-tools/invoke-llm/contract.js +4 -2
  130. package/dist/embedded-agent/host-tools/sandbox-llm/contract.d.ts +8 -3
  131. package/dist/embedded-agent/host-tools/sandbox-llm/contract.js +12 -8
  132. package/dist/embedded-agent/host-tools/sandbox-llm/index.d.ts +1 -1
  133. package/dist/embedded-agent/host-tools/sandbox-llm/index.js +1 -1
  134. package/dist/embedded-agent/host-tools/shared/index.d.ts +1 -1
  135. package/dist/embedded-agent/host-tools/shared/index.js +1 -1
  136. package/dist/embedded-agent/host-tools/shared/llm-stream-error.d.ts +7 -0
  137. package/dist/embedded-agent/host-tools/shared/llm-stream-error.js +10 -0
  138. package/dist/embedded-agent/host-tools/take-screenshot/contract.d.ts +0 -2
  139. package/dist/embedded-agent/host-tools/take-screenshot/contract.js +1 -3
  140. package/dist/embedded-agent/host-tools/take-screenshot/index.d.ts +1 -1
  141. package/dist/embedded-agent/host-tools/take-screenshot/index.js +1 -1
  142. package/dist/embedded-agent/host-tools/task/agents/clone.js +1 -2
  143. package/dist/embedded-agent/host-tools/task/contract.js +1 -1
  144. package/dist/embedded-agent/index.d.ts +3 -4
  145. package/dist/embedded-agent/index.js +2 -3
  146. package/dist/embedded-agent/model-selection.d.ts +0 -6
  147. package/dist/embedded-agent/model-selection.js +15 -8
  148. package/dist/embedded-agent/openai-completions-transport.d.ts +2 -11
  149. package/dist/embedded-agent/openai-completions-transport.js +20 -120
  150. package/dist/embedded-agent/openai-responses-transport.d.ts +2 -11
  151. package/dist/embedded-agent/openai-responses-transport.js +15 -170
  152. package/dist/embedded-agent/prompt/build.js +1 -2
  153. package/dist/embedded-agent/prompt/sections.d.ts +1 -1
  154. package/dist/embedded-agent/prompt/sections.js +2 -0
  155. package/dist/embedded-agent/provider-native-request.d.ts +29 -0
  156. package/dist/embedded-agent/provider-native-request.js +65 -0
  157. package/dist/embedded-agent/run-stats.d.ts +1 -1
  158. package/dist/embedded-agent/stream.d.ts +10 -96
  159. package/dist/embedded-agent/stream.js +31 -556
  160. package/dist/embedded-agent/suggestions.d.ts +1 -1
  161. package/dist/embedded-agent/suggestions.js +1 -1
  162. package/dist/embedded-agent/worker-bridge/host-client.d.ts +7 -0
  163. package/dist/embedded-agent/worker-bridge/host-client.js +15 -0
  164. package/dist/embedded-agent/worker-bridge/worker-port.js +17 -1
  165. package/dist/main.js +18 -14
  166. package/dist/rpc/index.d.ts +1 -1
  167. package/dist/rpc/rpc-approval-gates.js +1 -2
  168. package/dist/rpc/rpc-host.d.ts +4 -0
  169. package/dist/rpc/rpc-host.js +13 -24
  170. package/dist/rpc/rpc-types.d.ts +6 -17
  171. package/dist/shared/platform/open.d.ts +4 -1
  172. package/dist/shared/platform/open.js +14 -2
  173. package/dist/shell/approvals/runtime-approval-gates.js +1 -3
  174. package/dist/shell/components/selectors/model-selector.js +2 -1
  175. package/dist/shell/components/selectors/session-selector-search.js +1 -1
  176. package/dist/shell/components/selectors/thinking-selector.js +7 -6
  177. package/dist/shell/index.d.ts +0 -1
  178. package/dist/shell/index.js +0 -1
  179. package/dist/shell/interactive/interactive-mode-options.d.ts +10 -0
  180. package/dist/shell/interactive/interactive-mode.d.ts +6 -12
  181. package/dist/shell/interactive/interactive-mode.js +39 -158
  182. package/dist/shell/interactive/slash-commands.d.ts +0 -34
  183. package/dist/shell/interactive/slash-commands.js +0 -2
  184. package/dist/shell/links/local-file-link-input.d.ts +15 -0
  185. package/dist/shell/links/local-file-link-input.js +38 -0
  186. package/dist/shell/links/local-file-link.d.ts +7 -0
  187. package/dist/shell/links/local-file-link.js +35 -0
  188. package/dist/shell/links/local-file-opener.d.ts +16 -0
  189. package/dist/shell/links/local-file-opener.js +90 -0
  190. package/dist/shell/session-client.d.ts +0 -1
  191. package/dist/shell/session-client.js +0 -6
  192. package/dist/shell/status/update-check-scheduler.d.ts +30 -0
  193. package/dist/shell/status/update-check-scheduler.js +71 -0
  194. package/dist/shell/status/update-reminder-controller.d.ts +22 -0
  195. package/dist/shell/status/update-reminder-controller.js +40 -0
  196. package/dist/shell/status/update-reminder.d.ts +6 -0
  197. package/dist/shell/status/update-reminder.js +4 -0
  198. package/dist/shell/theme/dark.json +1 -2
  199. package/dist/shell/theme/light.json +1 -2
  200. package/dist/shell/theme/runtime.d.ts +2 -3
  201. package/dist/shell/theme/runtime.js +2 -6
  202. package/dist/shell/theme/theme-schema.json +1 -6
  203. package/dist/shortcut-model-catalog.d.ts +7 -2
  204. package/dist/shortcut-model-catalog.js +134 -10
  205. package/dist/startup/update-manager.d.ts +6 -6
  206. package/dist/startup/update-manager.js +23 -38
  207. package/dist/startup/update-prompt.d.ts +1 -0
  208. package/dist/startup/update-prompt.js +2 -2
  209. package/dist/tui/components/editor.d.ts +1 -1
  210. package/dist/tui/components/editor.js +1 -1
  211. package/dist/tui/components/markdown.js +15 -6
  212. package/dist/tui/components/settings-list.js +1 -1
  213. package/dist/tui/editor-component.d.ts +1 -1
  214. package/dist/tui/index.d.ts +7 -8
  215. package/dist/tui/index.js +7 -6
  216. package/dist/tui/tui.d.ts +2 -0
  217. package/dist/tui/tui.js +16 -1
  218. package/dist/tui/utils.d.ts +7 -0
  219. package/dist/tui/utils.js +58 -8
  220. package/native-app/main/index.js +3200 -48
  221. package/native-app/main/{photon_rs-SoVDgheu.js → photon_rs-XkYyYTVA.js} +2 -2
  222. package/native-app/package.json +1 -1
  223. package/native-app/preload/index.cjs +2 -0
  224. package/native-app/renderer/assets/{index-CFc-oZuS.js → index-B4jz6epR.js} +825 -155
  225. package/native-app/renderer/assets/{index-OhGE0UY4.css → index-C__g36ft.css} +412 -162
  226. package/native-app/renderer/assets/shortcutagent-DxFsGSkw.png +0 -0
  227. package/native-app/renderer/index.html +2 -2
  228. package/package.json +17 -3
  229. package/skills/add-custom-model/SKILL.md +52 -0
  230. package/user-docs/dist/index.html +1 -1
  231. package/user-docs/dist/shortcutxl-docs.pdf +0 -0
  232. package/xll/ShortcutXL.xll +0 -0
  233. package/xll/modules/shortcut_xl/_managed.py +26 -7
  234. package/xll/modules/shortcut_xl/_tracking.py +141 -251
  235. package/xll/modules/shortcut_xl/api/__init__.py +60 -0
  236. package/xll/modules/shortcut_xl/api/workbook.py +9 -1
  237. package/xll/modules/shortcut_xl/api/worksheet.py +4 -1
  238. package/xll/python/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +1 -1
  239. package/xll/python/Lib/site-packages/idna-3.18.dist-info/RECORD +1 -1
  240. package/xll/python/Lib/site-packages/pip/__init__.py +1 -1
  241. package/xll/python/Lib/site-packages/pip/_internal/build_env/__init__.py +25 -0
  242. package/xll/python/Lib/site-packages/pip/_internal/build_env/base.py +103 -0
  243. package/xll/python/Lib/site-packages/pip/_internal/build_env/installer.py +333 -0
  244. package/xll/python/Lib/site-packages/pip/_internal/build_env/noop.py +42 -0
  245. package/xll/python/Lib/site-packages/pip/_internal/build_env/venv.py +145 -0
  246. package/xll/python/Lib/site-packages/pip/_internal/build_env/virtual.py +139 -0
  247. package/xll/python/Lib/site-packages/pip/_internal/cache.py +4 -1
  248. package/xll/python/Lib/site-packages/pip/_internal/cli/autocompletion.py +4 -1
  249. package/xll/python/Lib/site-packages/pip/_internal/cli/base_command.py +11 -14
  250. package/xll/python/Lib/site-packages/pip/_internal/cli/cmdoptions.py +133 -22
  251. package/xll/python/Lib/site-packages/pip/_internal/cli/index_command.py +11 -6
  252. package/xll/python/Lib/site-packages/pip/_internal/cli/main.py +2 -1
  253. package/xll/python/Lib/site-packages/pip/_internal/cli/main_parser.py +1 -2
  254. package/xll/python/Lib/site-packages/pip/_internal/cli/parser.py +10 -2
  255. package/xll/python/Lib/site-packages/pip/_internal/cli/progress_bars.py +2 -2
  256. package/xll/python/Lib/site-packages/pip/_internal/cli/req_command.py +57 -25
  257. package/xll/python/Lib/site-packages/pip/_internal/cli/status_codes.py +1 -0
  258. package/xll/python/Lib/site-packages/pip/_internal/commands/cache.py +7 -6
  259. package/xll/python/Lib/site-packages/pip/_internal/commands/configuration.py +2 -1
  260. package/xll/python/Lib/site-packages/pip/_internal/commands/debug.py +4 -5
  261. package/xll/python/Lib/site-packages/pip/_internal/commands/download.py +4 -0
  262. package/xll/python/Lib/site-packages/pip/_internal/commands/freeze.py +1 -1
  263. package/xll/python/Lib/site-packages/pip/_internal/commands/index.py +10 -3
  264. package/xll/python/Lib/site-packages/pip/_internal/commands/inspect.py +1 -1
  265. package/xll/python/Lib/site-packages/pip/_internal/commands/install.py +6 -6
  266. package/xll/python/Lib/site-packages/pip/_internal/commands/list.py +11 -6
  267. package/xll/python/Lib/site-packages/pip/_internal/commands/lock.py +4 -6
  268. package/xll/python/Lib/site-packages/pip/_internal/commands/show.py +14 -8
  269. package/xll/python/Lib/site-packages/pip/_internal/commands/wheel.py +7 -1
  270. package/xll/python/Lib/site-packages/pip/_internal/configuration.py +2 -3
  271. package/xll/python/Lib/site-packages/pip/_internal/distributions/base.py +5 -3
  272. package/xll/python/Lib/site-packages/pip/_internal/distributions/installed.py +3 -2
  273. package/xll/python/Lib/site-packages/pip/_internal/distributions/sdist.py +45 -20
  274. package/xll/python/Lib/site-packages/pip/_internal/distributions/wheel.py +3 -2
  275. package/xll/python/Lib/site-packages/pip/_internal/exceptions.py +174 -0
  276. package/xll/python/Lib/site-packages/pip/_internal/index/collector.py +70 -48
  277. package/xll/python/Lib/site-packages/pip/_internal/index/package_finder.py +46 -7
  278. package/xll/python/Lib/site-packages/pip/_internal/index/sources.py +1 -2
  279. package/xll/python/Lib/site-packages/pip/_internal/locations/_sysconfig.py +1 -1
  280. package/xll/python/Lib/site-packages/pip/_internal/locations/base.py +1 -1
  281. package/xll/python/Lib/site-packages/pip/_internal/metadata/base.py +10 -5
  282. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +1 -1
  283. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +8 -3
  284. package/xll/python/Lib/site-packages/pip/_internal/models/candidate.py +5 -1
  285. package/xll/python/Lib/site-packages/pip/_internal/models/link.py +53 -13
  286. package/xll/python/Lib/site-packages/pip/_internal/network/auth.py +38 -21
  287. package/xll/python/Lib/site-packages/pip/_internal/network/cache.py +2 -2
  288. package/xll/python/Lib/site-packages/pip/_internal/network/download.py +58 -11
  289. package/xll/python/Lib/site-packages/pip/_internal/network/session.py +35 -40
  290. package/xll/python/Lib/site-packages/pip/_internal/network/utils.py +109 -1
  291. package/xll/python/Lib/site-packages/pip/_internal/operations/check.py +2 -3
  292. package/xll/python/Lib/site-packages/pip/_internal/operations/install/wheel.py +23 -18
  293. package/xll/python/Lib/site-packages/pip/_internal/operations/prepare.py +152 -7
  294. package/xll/python/Lib/site-packages/pip/_internal/req/__init__.py +2 -0
  295. package/xll/python/Lib/site-packages/pip/_internal/req/constructors.py +54 -69
  296. package/xll/python/Lib/site-packages/pip/_internal/req/req_file.py +6 -6
  297. package/xll/python/Lib/site-packages/pip/_internal/req/req_install.py +25 -21
  298. package/xll/python/Lib/site-packages/pip/_internal/req/req_uninstall.py +13 -8
  299. package/xll/python/Lib/site-packages/pip/_internal/resolution/base.py +2 -2
  300. package/xll/python/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +2 -2
  301. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +1 -1
  302. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -1
  303. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +39 -52
  304. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +3 -3
  305. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +3 -0
  306. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +9 -0
  307. package/xll/python/Lib/site-packages/pip/_internal/utils/compat.py +15 -9
  308. package/xll/python/Lib/site-packages/pip/_internal/utils/deprecation.py +6 -1
  309. package/xll/python/Lib/site-packages/pip/_internal/utils/filesystem.py +2 -2
  310. package/xll/python/Lib/site-packages/pip/_internal/utils/logging.py +11 -3
  311. package/xll/python/Lib/site-packages/pip/_internal/utils/misc.py +48 -4
  312. package/xll/python/Lib/site-packages/pip/_internal/utils/pylock.py +18 -2
  313. package/xll/python/Lib/site-packages/pip/_internal/utils/retry.py +2 -1
  314. package/xll/python/Lib/site-packages/pip/_internal/utils/subprocess.py +4 -3
  315. package/xll/python/Lib/site-packages/pip/_internal/utils/temp_dir.py +1 -2
  316. package/xll/python/Lib/site-packages/pip/_internal/utils/unpacking.py +30 -4
  317. package/xll/python/Lib/site-packages/pip/_internal/utils/urls.py +5 -2
  318. package/xll/python/Lib/site-packages/pip/_internal/utils/virtualenv.py +2 -36
  319. package/xll/python/Lib/site-packages/pip/_internal/vcs/git.py +8 -5
  320. package/xll/python/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +1 -2
  321. package/xll/python/Lib/site-packages/pip/_internal/wheel_builder.py +5 -1
  322. package/xll/python/Lib/site-packages/pip/_vendor/bom.cdx.json +231 -0
  323. package/xll/python/Lib/site-packages/pip/_vendor/certifi/__init__.py +1 -1
  324. package/xll/python/Lib/site-packages/pip/_vendor/certifi/cacert.pem +0 -631
  325. package/xll/python/Lib/site-packages/pip/_vendor/distlib/__init__.py +1 -1
  326. package/xll/python/Lib/site-packages/pip/_vendor/distlib/compat.py +34 -64
  327. package/xll/python/Lib/site-packages/pip/_vendor/distlib/resources.py +28 -14
  328. package/xll/python/Lib/site-packages/pip/_vendor/distlib/scripts.py +7 -3
  329. package/xll/python/Lib/site-packages/pip/_vendor/distlib/util.py +48 -11
  330. package/xll/python/Lib/site-packages/pip/_vendor/idna/LICENSE.md +1 -1
  331. package/xll/python/Lib/site-packages/pip/_vendor/idna/__main__.py +6 -0
  332. package/xll/python/Lib/site-packages/pip/_vendor/idna/cli.py +128 -0
  333. package/xll/python/Lib/site-packages/pip/_vendor/idna/codec.py +50 -13
  334. package/xll/python/Lib/site-packages/pip/_vendor/idna/compat.py +26 -0
  335. package/xll/python/Lib/site-packages/pip/_vendor/idna/core.py +352 -141
  336. package/xll/python/Lib/site-packages/pip/_vendor/idna/idnadata.py +571 -2983
  337. package/xll/python/Lib/site-packages/pip/_vendor/idna/intranges.py +5 -7
  338. package/xll/python/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -1
  339. package/xll/python/Lib/site-packages/pip/_vendor/idna/uts46data.py +16887 -8832
  340. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +352 -66
  341. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +11 -0
  342. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/_xdg.py +171 -0
  343. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/android.py +92 -41
  344. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/api.py +213 -49
  345. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/macos.py +128 -51
  346. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/unix.py +176 -127
  347. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/version.py +8 -18
  348. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/windows.py +185 -68
  349. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__init__.py +2 -2
  350. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__main__.py +1 -1
  351. package/xll/python/Lib/site-packages/pip/_vendor/pygments/console.py +1 -1
  352. package/xll/python/Lib/site-packages/pip/_vendor/pygments/filter.py +1 -1
  353. package/xll/python/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +10 -8
  354. package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatter.py +1 -1
  355. package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +1 -1
  356. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexer.py +7 -5
  357. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +1 -1
  358. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +9 -8
  359. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +35 -32
  360. package/xll/python/Lib/site-packages/pip/_vendor/pygments/modeline.py +1 -1
  361. package/xll/python/Lib/site-packages/pip/_vendor/pygments/plugin.py +3 -1
  362. package/xll/python/Lib/site-packages/pip/_vendor/pygments/regexopt.py +13 -2
  363. package/xll/python/Lib/site-packages/pip/_vendor/pygments/scanner.py +1 -1
  364. package/xll/python/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +1 -1
  365. package/xll/python/Lib/site-packages/pip/_vendor/pygments/style.py +1 -1
  366. package/xll/python/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +1 -1
  367. package/xll/python/Lib/site-packages/pip/_vendor/pygments/token.py +1 -1
  368. package/xll/python/Lib/site-packages/pip/_vendor/pygments/unistring.py +1 -1
  369. package/xll/python/Lib/site-packages/pip/_vendor/pygments/util.py +2 -2
  370. package/xll/python/Lib/site-packages/pip/_vendor/requests/__init__.py +52 -16
  371. package/xll/python/Lib/site-packages/pip/_vendor/requests/__version__.py +2 -2
  372. package/xll/python/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +2 -2
  373. package/xll/python/Lib/site-packages/pip/_vendor/requests/_types.py +183 -0
  374. package/xll/python/Lib/site-packages/pip/_vendor/requests/adapters.py +101 -50
  375. package/xll/python/Lib/site-packages/pip/_vendor/requests/api.py +31 -8
  376. package/xll/python/Lib/site-packages/pip/_vendor/requests/auth.py +80 -40
  377. package/xll/python/Lib/site-packages/pip/_vendor/requests/compat.py +9 -3
  378. package/xll/python/Lib/site-packages/pip/_vendor/requests/cookies.py +143 -79
  379. package/xll/python/Lib/site-packages/pip/_vendor/requests/exceptions.py +15 -5
  380. package/xll/python/Lib/site-packages/pip/_vendor/requests/help.py +13 -10
  381. package/xll/python/Lib/site-packages/pip/_vendor/requests/hooks.py +23 -9
  382. package/xll/python/Lib/site-packages/pip/_vendor/requests/models.py +265 -126
  383. package/xll/python/Lib/site-packages/pip/_vendor/requests/py.typed +0 -0
  384. package/xll/python/Lib/site-packages/pip/_vendor/requests/sessions.py +164 -78
  385. package/xll/python/Lib/site-packages/pip/_vendor/requests/status_codes.py +2 -2
  386. package/xll/python/Lib/site-packages/pip/_vendor/requests/structures.py +51 -20
  387. package/xll/python/Lib/site-packages/pip/_vendor/requests/utils.py +161 -89
  388. package/xll/python/Lib/site-packages/pip/_vendor/tomli/__init__.py +1 -1
  389. package/xll/python/Lib/site-packages/pip/_vendor/tomli/_parser.py +9 -4
  390. package/xll/python/Lib/site-packages/pip/_vendor/tomli/_re.py +13 -9
  391. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_base_connection.py +3 -1
  392. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -1
  393. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_version.py +8 -18
  394. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connection.py +4 -4
  395. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +23 -10
  396. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py +5 -1
  397. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +7 -8
  398. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +1 -1
  399. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +2 -2
  400. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/fields.py +14 -14
  401. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +8 -6
  402. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/response.py +35 -22
  403. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +8 -0
  404. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +11 -61
  405. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +5 -11
  406. package/xll/python/Lib/site-packages/pip/_vendor/vendor.txt +8 -8
  407. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/METADATA +3 -2
  408. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/RECORD +208 -188
  409. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/AUTHORS.txt +20 -0
  410. package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/idna/LICENSE.md +1 -1
  411. package/xll/python/Lib/site-packages/pywin32-311.dist-info/RECORD +2 -2
  412. package/xll/python/Scripts/httpx.exe +0 -0
  413. package/xll/python/Scripts/idna.exe +0 -0
  414. package/xll/python/Scripts/pip.exe +0 -0
  415. package/xll/python/Scripts/pip3.13.exe +0 -0
  416. package/xll/python/Scripts/pip3.exe +0 -0
  417. package/xll/python/Scripts/pywin32_postinstall.exe +0 -0
  418. package/xll/python/Scripts/pywin32_testall.exe +0 -0
  419. package/dist/app/collab/awareness.d.ts +0 -32
  420. package/dist/app/collab/awareness.js +0 -52
  421. package/dist/app/collab/collab-client.d.ts +0 -37
  422. package/dist/app/collab/collab-client.js +0 -208
  423. package/dist/app/collab/collab-manager.d.ts +0 -91
  424. package/dist/app/collab/collab-manager.js +0 -218
  425. package/dist/app/collab/collab-sync.d.ts +0 -62
  426. package/dist/app/collab/collab-sync.js +0 -215
  427. package/dist/app/collab/index.d.ts +0 -9
  428. package/dist/app/collab/index.js +0 -6
  429. package/dist/app/collab/super-fight.d.ts +0 -90
  430. package/dist/app/collab/super-fight.js +0 -310
  431. package/dist/app/collab/sync-bridge.d.ts +0 -35
  432. package/dist/app/collab/sync-bridge.js +0 -109
  433. package/dist/app/collab/types.d.ts +0 -75
  434. package/dist/app/collab/types.js +0 -5
  435. package/dist/embedded-agent/ai-content.d.ts +0 -52
  436. package/dist/embedded-agent/ai-content.js +0 -101
  437. package/dist/embedded-agent/host-tools/shared/llm-stream.d.ts +0 -31
  438. package/dist/embedded-agent/host-tools/shared/llm-stream.js +0 -136
  439. package/dist/embedded-agent/model-call-orchestrator.d.ts +0 -22
  440. package/dist/embedded-agent/model-call-orchestrator.js +0 -22
  441. package/dist/embedded-agent/stream-errors.d.ts +0 -10
  442. package/dist/embedded-agent/stream-errors.js +0 -73
  443. package/dist/embedded-agent/stream-message-state.d.ts +0 -14
  444. package/dist/embedded-agent/stream-message-state.js +0 -271
  445. package/dist/embedded-agent/stream-sse.d.ts +0 -78
  446. package/dist/embedded-agent/stream-sse.js +0 -73
  447. package/dist/shell/approvals/task-spawn-approval.d.ts +0 -20
  448. package/dist/shell/approvals/task-spawn-approval.js +0 -93
  449. package/dist/shell/interactive/collab-command.d.ts +0 -9
  450. package/dist/shell/interactive/collab-command.js +0 -115
  451. package/dist/shell/interactive/super-fight-ui.d.ts +0 -80
  452. package/dist/shell/interactive/super-fight-ui.js +0 -484
  453. package/dist/shell/status/collab-status.d.ts +0 -18
  454. package/dist/shell/status/collab-status.js +0 -46
  455. package/xll/python/Lib/site-packages/pip/_internal/build_env.py +0 -606
  456. /package/dist/{tui → autocomplete}/skill-autocomplete.js +0 -0
  457. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/INSTALLER +0 -0
  458. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/REQUESTED +0 -0
  459. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/WHEEL +0 -0
  460. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/entry_points.txt +0 -0
  461. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/LICENSE.txt +0 -0
  462. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
  463. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/certifi/LICENSE +0 -0
  464. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distlib/LICENSE.txt +0 -0
  465. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distro/LICENSE +0 -0
  466. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/msgpack/COPYING +0 -0
  467. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE +0 -0
  468. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
  469. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
  470. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pkg_resources/LICENSE +0 -0
  471. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/platformdirs/LICENSE +0 -0
  472. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pygments/LICENSE +0 -0
  473. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
  474. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/requests/LICENSE +0 -0
  475. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/resolvelib/LICENSE +0 -0
  476. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/rich/LICENSE +0 -0
  477. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli/LICENSE +0 -0
  478. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli_w/LICENSE +0 -0
  479. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/truststore/LICENSE +0 -0
  480. /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
@@ -1,3 +1,11 @@
1
+ /*
2
+ * Shortcut design-language palette. One hue axis (155, the brand green);
3
+ * only danger (22) and warning (70 light / 84 dark) leave it. Light mode is
4
+ * the app language: grey canvas, white where you act. Brand anchors: light
5
+ * #217346 (Excel green), dark a tempered mint kept below body-text luminance
6
+ * so chrome never outshines content. All text/bg pairs verified >= 4.5:1 and
7
+ * rings >= 3:1 on every surface they render on, both themes.
8
+ */
1
9
  :root,
2
10
  :root[data-theme='terminal-light'] {
3
11
  font-family: ui-monospace, 'SFMono-Regular', Menlo, Monaco, Consolas, monospace;
@@ -6,49 +14,50 @@
6
14
  font-synthesis: weight;
7
15
  font-kerning: normal;
8
16
  --font-terminal: ui-monospace, 'SFMono-Regular', Menlo, Monaco, Consolas, monospace;
9
- --font-ui: var(--font-terminal);
10
17
  --terminal-text-size: 0.75rem;
11
- --ink: oklch(23% 0.011 145);
12
- --ink-soft: oklch(34% 0.013 145);
13
- --muted: oklch(48% 0.014 145);
14
- --quiet: oklch(60% 0.012 145);
15
- --line: oklch(91.5% 0.008 145);
16
- --line-strong: oklch(84.5% 0.012 145);
17
- --canvas: oklch(98.8% 0.004 145);
18
- --surface: oklch(99.4% 0.003 145);
19
- --surface-raised: oklch(99.8% 0.002 145);
20
- --sidebar: oklch(96.9% 0.008 145);
21
- --sidebar-active: oklch(93.3% 0.014 145);
22
- --terminal-surface: oklch(97.1% 0.006 145);
23
- --brand: oklch(43% 0.135 145);
24
- --brand-hover: oklch(38% 0.125 145);
25
- --brand-soft: oklch(94.8% 0.025 145);
26
- --danger: oklch(50% 0.16 25);
27
- --danger-soft: oklch(96% 0.025 25);
28
- --warning: oklch(48% 0.1 80);
29
- --warning-soft: oklch(96.5% 0.035 80);
30
- --focus-ring: oklch(65% 0.12 145);
31
- --danger-line: oklch(86% 0.05 25);
32
- --danger-line-strong: oklch(82% 0.06 25);
33
- --menu-shadow: oklch(20% 0.01 145 / 0.16);
34
- --dialog-shadow: oklch(20% 0.01 145 / 0.25);
35
- --panel-shadow: oklch(20% 0.01 145 / 0.1);
36
- --control-active-line: oklch(82% 0.04 145);
37
- --notice-line: oklch(86% 0.025 145);
38
- --notice-ink: oklch(40% 0.04 145);
39
- --warning-line: oklch(86% 0.055 80);
40
- --link-underline: oklch(68% 0.08 145 / 0.5);
41
- --code-surface: oklch(96.2% 0.006 145);
42
- --composer-line: oklch(67% 0.07 145 / 0.7);
43
- --composer-line-focus: oklch(67% 0.07 145);
44
- --subtle-shadow: oklch(20% 0.01 145 / 0.03);
45
- --interaction-surface: var(--surface-raised);
46
- --interaction-line: var(--line);
47
- --interaction-shadow: var(--subtle-shadow);
48
- --on-brand: oklch(98% 0.005 145);
49
- --overlay: oklch(20% 0.01 145 / 0.18);
50
- --auth-line: oklch(86% 0.025 145);
51
- --hover-surface: oklch(94.4% 0.009 145);
18
+ --ink: oklch(23% 0 0);
19
+ --ink-soft: oklch(34% 0 0);
20
+ --muted: oklch(44.5% 0 0);
21
+ --quiet: oklch(50.5% 0 0);
22
+ --line: oklch(90.5% 0 0);
23
+ --line-strong: oklch(83.5% 0 0);
24
+ --canvas: oklch(97% 0 0);
25
+ --surface: oklch(99.4% 0 0);
26
+ --surface-raised: oklch(100% 0 0);
27
+ --sidebar: oklch(97% 0 0);
28
+ --sidebar-active: oklch(91.6% 0 0);
29
+ --terminal-surface: oklch(98.6% 0 0);
30
+ --brand: oklch(49.5% 0.106 155);
31
+ --brand-hover: oklch(43% 0.105 155);
32
+ --brand-soft: oklch(93.8% 0.025 155);
33
+ --danger: oklch(50% 0.19 22);
34
+ --danger-soft: oklch(95.4% 0.02 22);
35
+ --warning: oklch(49% 0.11 70);
36
+ --warning-soft: oklch(95.8% 0.03 70);
37
+ --focus-ring: oklch(57% 0.125 155);
38
+ --affordance-line: oklch(64% 0 0);
39
+ --think-1: oklch(62% 0.03 155);
40
+ --think-2: oklch(58% 0.055 155);
41
+ --think-3: oklch(54% 0.08 155);
42
+ --think-4: oklch(51% 0.1 155);
43
+ --danger-line: oklch(85% 0.055 22);
44
+ --danger-line-strong: oklch(81% 0.07 22);
45
+ --menu-shadow: oklch(20% 0 0 / 0.16);
46
+ --dialog-shadow: oklch(20% 0 0 / 0.25);
47
+ --panel-shadow: oklch(20% 0 0 / 0.1);
48
+ --control-active-line: oklch(81% 0.04 155);
49
+ --notice-line: oklch(85% 0.025 155);
50
+ --notice-ink: oklch(40% 0.04 155);
51
+ --warning-line: oklch(85% 0.055 70);
52
+ --link-underline: oklch(68% 0.08 155 / 0.5);
53
+ --code-surface: oklch(94.4% 0 0);
54
+ --composer-line: oklch(67% 0.07 155 / 0.7);
55
+ --composer-line-focus: oklch(58% 0.09 155);
56
+ --subtle-shadow: oklch(20% 0 0 / 0.03);
57
+ --on-brand: oklch(98% 0.005 155);
58
+ --overlay: oklch(20% 0 0 / 0.18);
59
+ --auth-line: oklch(85% 0 0);
60
+ --hover-surface: oklch(92.4% 0 0);
52
61
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
53
62
  --radius-control: 6px;
54
63
  --radius-surface: 8px;
@@ -57,47 +66,49 @@
57
66
  :root[data-theme='terminal-dark'] {
58
67
  color: var(--ink);
59
68
  background: var(--canvas);
60
- --ink: oklch(91% 0.012 145);
61
- --ink-soft: oklch(87% 0.016 145);
62
- --muted: oklch(76% 0.016 145);
63
- --quiet: oklch(66% 0.014 145);
64
- --line: oklch(30% 0.014 145);
65
- --line-strong: oklch(42% 0.018 145);
66
- --canvas: oklch(13.5% 0.01 145);
67
- --surface: oklch(18% 0.012 145);
68
- --surface-raised: oklch(21% 0.014 145);
69
- --sidebar: oklch(14.5% 0.01 145);
70
- --sidebar-active: oklch(29% 0.03 145);
71
- --terminal-surface: oklch(17% 0.012 145);
72
- --brand: oklch(72% 0.16 145);
73
- --brand-hover: oklch(80% 0.15 145);
74
- --brand-soft: oklch(28% 0.06 145);
75
- --danger: oklch(70% 0.16 25);
76
- --danger-soft: oklch(27% 0.055 25);
77
- --warning: oklch(78% 0.11 80);
78
- --warning-soft: oklch(28% 0.05 80);
79
- --focus-ring: oklch(72% 0.14 145);
80
- --danger-line: oklch(39% 0.08 25);
81
- --danger-line-strong: oklch(48% 0.1 25);
82
- --menu-shadow: oklch(4% 0.01 145 / 0.58);
83
- --dialog-shadow: oklch(4% 0.01 145 / 0.72);
84
- --panel-shadow: oklch(4% 0.01 145 / 0.5);
85
- --control-active-line: oklch(48% 0.065 145);
86
- --notice-line: oklch(42% 0.05 145);
87
- --notice-ink: oklch(80% 0.07 145);
88
- --warning-line: oklch(42% 0.075 80);
89
- --link-underline: oklch(70% 0.11 145 / 0.65);
90
- --code-surface: oklch(15% 0.01 145);
91
- --composer-line: oklch(52% 0.08 145 / 0.75);
92
- --composer-line-focus: oklch(67% 0.11 145);
93
- --subtle-shadow: oklch(4% 0.01 145 / 0.45);
94
- --interaction-surface: var(--surface-raised);
95
- --interaction-line: var(--line);
96
- --interaction-shadow: var(--subtle-shadow);
97
- --on-brand: oklch(13% 0.025 145);
98
- --overlay: oklch(3% 0.01 145 / 0.66);
99
- --auth-line: oklch(44% 0.06 145);
100
- --hover-surface: oklch(26% 0.025 145);
69
+ --ink: oklch(91% 0 0);
70
+ --ink-soft: oklch(87% 0 0);
71
+ --muted: oklch(76% 0 0);
72
+ --quiet: oklch(68% 0 0);
73
+ --line: oklch(32% 0 0);
74
+ --line-strong: oklch(44% 0 0);
75
+ --canvas: oklch(16.5% 0 0);
76
+ --surface: oklch(20% 0 0);
77
+ --surface-raised: oklch(23.5% 0 0);
78
+ --sidebar: oklch(16.5% 0 0);
79
+ --sidebar-active: oklch(31% 0 0);
80
+ --terminal-surface: oklch(22.5% 0 0);
81
+ --brand: oklch(78% 0.145 153);
82
+ --brand-hover: oklch(84% 0.13 153);
83
+ --brand-soft: oklch(28% 0.05 155);
84
+ --danger: oklch(71% 0.166 22);
85
+ --danger-soft: oklch(27% 0.06 22);
86
+ --warning: oklch(83.7% 0.164 84);
87
+ --warning-soft: oklch(28% 0.05 84);
88
+ --focus-ring: oklch(78% 0.145 153);
89
+ --affordance-line: oklch(52% 0 0);
90
+ --think-1: oklch(58% 0.03 155);
91
+ --think-2: oklch(64% 0.06 155);
92
+ --think-3: oklch(69% 0.09 155);
93
+ --think-4: oklch(74% 0.12 155);
94
+ --danger-line: oklch(39% 0.085 22);
95
+ --danger-line-strong: oklch(48% 0.105 22);
96
+ --menu-shadow: oklch(4% 0 0 / 0.58);
97
+ --dialog-shadow: oklch(4% 0 0 / 0.72);
98
+ --panel-shadow: oklch(4% 0 0 / 0.5);
99
+ --control-active-line: oklch(48% 0.065 155);
100
+ --notice-line: oklch(42% 0.05 155);
101
+ --notice-ink: oklch(84% 0.08 155);
102
+ --warning-line: oklch(42% 0.075 84);
103
+ --link-underline: oklch(78% 0.11 153 / 0.65);
104
+ --code-surface: oklch(19% 0 0);
105
+ --composer-line: oklch(52% 0.08 155 / 0.75);
106
+ --composer-line-focus: oklch(72% 0.11 153);
107
+ --subtle-shadow: oklch(4% 0 0 / 0.45);
108
+ --on-brand: oklch(25.2% 0.049 156);
109
+ --overlay: oklch(3% 0 0 / 0.66);
110
+ --auth-line: oklch(44% 0 0);
111
+ --hover-surface: oklch(28% 0 0);
101
112
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
102
113
  --radius-control: 6px;
103
114
  --radius-surface: 8px;
@@ -168,6 +179,45 @@ button:not(:disabled):active {
168
179
  background: var(--sidebar);
169
180
  }
170
181
 
182
+ .sidebar-account {
183
+ display: flex;
184
+ width: 100%;
185
+ min-height: 30px;
186
+ align-items: center;
187
+ justify-content: center;
188
+ margin-top: 7px;
189
+ padding: 0 9px;
190
+ border: 1px solid var(--affordance-line);
191
+ border-radius: var(--radius-control);
192
+ color: var(--muted);
193
+ background: transparent;
194
+ font-family: var(--font-terminal);
195
+ font-size: 0.6875rem;
196
+ font-weight: 600;
197
+ cursor: pointer;
198
+ transition:
199
+ background 100ms var(--ease-out),
200
+ border-color 100ms var(--ease-out);
201
+ }
202
+
203
+ .sidebar-account.logged-out {
204
+ border-color: var(--brand);
205
+ color: var(--on-brand);
206
+ background: var(--brand);
207
+ }
208
+
209
+ .sidebar-account.logged-out:hover,
210
+ .sidebar-account.logged-out:focus-visible {
211
+ border-color: var(--brand-hover);
212
+ background: var(--brand-hover);
213
+ }
214
+
215
+ .sidebar-account:not(.logged-out):hover,
216
+ .sidebar-account:not(.logged-out):focus-visible {
217
+ border-color: var(--line-strong);
218
+ background: var(--hover-surface);
219
+ }
220
+
171
221
  .new-chat-button {
172
222
  display: flex;
173
223
  flex: 0 0 auto;
@@ -176,14 +226,23 @@ button:not(:disabled):active {
176
226
  gap: 0;
177
227
  width: 100%;
178
228
  padding: 0 9px;
179
- border: 0;
229
+ border: 1px solid var(--affordance-line);
180
230
  border-radius: var(--radius-control);
181
231
  color: var(--ink-soft);
182
- background: transparent;
232
+ background: var(--surface);
183
233
  font-size: 0.71875rem;
184
234
  font-weight: 600;
185
235
  text-align: left;
186
236
  cursor: pointer;
237
+ transition:
238
+ background 100ms var(--ease-out),
239
+ border-color 100ms var(--ease-out);
240
+ }
241
+
242
+ .new-chat-button:hover:not(:disabled),
243
+ .new-chat-button:focus-visible {
244
+ border-color: var(--affordance-line);
245
+ background: var(--surface-raised);
187
246
  }
188
247
 
189
248
  .new-chat-button:disabled {
@@ -197,9 +256,9 @@ button:not(:disabled):active {
197
256
  min-height: 30px;
198
257
  flex: 0 0 auto;
199
258
  align-items: center;
200
- margin-top: 3px;
259
+ margin-top: 5px;
201
260
  padding: 0 9px;
202
- border: 0;
261
+ border: 1px solid var(--line);
203
262
  border-radius: var(--radius-control);
204
263
  color: var(--muted);
205
264
  background: transparent;
@@ -208,6 +267,9 @@ button:not(:disabled):active {
208
267
  font-weight: 600;
209
268
  text-align: left;
210
269
  cursor: pointer;
270
+ transition:
271
+ background 100ms var(--ease-out),
272
+ border-color 100ms var(--ease-out);
211
273
  }
212
274
 
213
275
  .command-center-button:hover,
@@ -526,18 +588,29 @@ button:not(:disabled):active {
526
588
 
527
589
  .header-control-button,
528
590
  .control-button {
529
- min-height: 26px;
591
+ min-height: 24px;
530
592
  padding: 0 7px;
531
- border: 1px solid transparent;
593
+ border: 1px solid var(--line);
532
594
  border-radius: 5px;
533
595
  color: var(--muted);
534
596
  background: transparent;
535
597
  font-family: var(--font-terminal);
536
- font-size: var(--terminal-text-size);
598
+ font-size: 0.6875rem;
537
599
  font-weight: 550;
538
600
  cursor: pointer;
539
601
  }
540
602
 
603
+ .header-control-button[aria-haspopup] {
604
+ border-color: var(--affordance-line);
605
+ }
606
+
607
+ .header-control-button[aria-haspopup]::after {
608
+ content: '▾';
609
+ flex: 0 0 auto;
610
+ font-size: 0.5625rem;
611
+ opacity: 0.7;
612
+ }
613
+
541
614
  .header-control-button,
542
615
  .control-button {
543
616
  display: inline-flex;
@@ -659,6 +732,7 @@ button:not(:disabled):active {
659
732
 
660
733
  .notice {
661
734
  display: flex;
735
+ align-items: center;
662
736
  justify-content: space-between;
663
737
  gap: 16px;
664
738
  margin: 12px 24px 0;
@@ -683,6 +757,28 @@ button:not(:disabled):active {
683
757
  background: var(--danger-soft);
684
758
  }
685
759
 
760
+ .notice > span {
761
+ flex: 1 1 auto;
762
+ }
763
+
764
+ .notice .notice-login {
765
+ display: inline-flex;
766
+ align-items: center;
767
+ margin-right: 10px;
768
+ padding: 3px 12px;
769
+ border: 1px solid var(--brand);
770
+ border-radius: var(--radius-control);
771
+ color: var(--on-brand);
772
+ background: var(--brand);
773
+ font-weight: 620;
774
+ cursor: pointer;
775
+ }
776
+
777
+ .notice .notice-login:hover {
778
+ border-color: var(--brand-hover);
779
+ background: var(--brand-hover);
780
+ }
781
+
686
782
  .notice button {
687
783
  display: grid;
688
784
  flex: 0 0 auto;
@@ -694,21 +790,51 @@ button:not(:disabled):active {
694
790
  cursor: pointer;
695
791
  }
696
792
 
697
- .conversation {
698
- display: grid;
699
- flex: 1 1 auto;
793
+ .conversation-frame {
794
+ position: relative;
700
795
  min-height: 0;
701
- place-items: center;
796
+ flex: 1 1 auto;
797
+ }
798
+
799
+ .conversation {
800
+ width: 100%;
801
+ height: 100%;
702
802
  overflow: auto;
703
803
  padding: 24px var(--chat-inline-gutter) 16px;
704
804
  scrollbar-color: var(--line-strong) transparent;
705
805
  }
706
806
 
807
+ .conversation-content {
808
+ display: grid;
809
+ min-height: 100%;
810
+ place-items: center;
811
+ }
812
+
707
813
  .conversation.command-center-conversation {
708
- place-items: start center;
709
814
  padding-top: clamp(72px, 16vh, 140px);
710
815
  }
711
816
 
817
+ .conversation.command-center-conversation .conversation-content {
818
+ place-items: start center;
819
+ }
820
+
821
+ .scroll-to-bottom {
822
+ position: absolute;
823
+ z-index: 2;
824
+ right: 18px;
825
+ bottom: 14px;
826
+ display: grid;
827
+ width: 32px;
828
+ height: 32px;
829
+ place-items: center;
830
+ border: 1px solid var(--line-strong);
831
+ border-radius: 50%;
832
+ color: var(--ink-soft);
833
+ background: var(--surface-raised);
834
+ box-shadow: 0 6px 18px var(--subtle-shadow);
835
+ cursor: pointer;
836
+ }
837
+
712
838
  .empty-state {
713
839
  width: min(640px, 100%);
714
840
  color: var(--muted);
@@ -746,6 +872,123 @@ button:not(:disabled):active {
746
872
  width: min(720px, 100%);
747
873
  }
748
874
 
875
+ /* Wide windows: Environment and Commands sit side by side under the hero. */
876
+ @media (min-width: 1140px) {
877
+ .runtime-dashboard {
878
+ display: grid;
879
+ width: min(940px, 100%);
880
+ grid-template-columns: repeat(2, minmax(0, 1fr));
881
+ column-gap: 34px;
882
+ align-items: start;
883
+ }
884
+
885
+ .runtime-dashboard .empty-hero {
886
+ grid-column: 1 / -1;
887
+ }
888
+
889
+ .runtime-dashboard .command-reference {
890
+ margin-top: 0;
891
+ }
892
+ }
893
+
894
+ /* Start-ellipsis so a deep workspace path keeps its meaningful tail visible. */
895
+ .environment-list .path-tail {
896
+ direction: rtl;
897
+ text-align: left;
898
+ }
899
+
900
+ .empty-hero {
901
+ display: flex;
902
+ flex-direction: column;
903
+ align-items: flex-start;
904
+ margin-bottom: 34px;
905
+ text-align: left;
906
+ }
907
+
908
+ .empty-hero-brand {
909
+ display: flex;
910
+ align-items: center;
911
+ gap: 12px;
912
+ }
913
+
914
+ .empty-hero-brand .hero-mascot {
915
+ width: 42px;
916
+ height: auto;
917
+ image-rendering: pixelated;
918
+ user-select: none;
919
+ }
920
+
921
+ .empty-hero-brand .hero-wordmark {
922
+ height: 64px;
923
+ width: auto;
924
+ margin-left: -5px;
925
+ image-rendering: pixelated;
926
+ user-select: none;
927
+ }
928
+
929
+ .empty-hero-brand .hero-spark {
930
+ color: var(--brand);
931
+ font-size: 1.5rem;
932
+ font-weight: 700;
933
+ line-height: 1;
934
+ opacity: 0;
935
+ animation:
936
+ fade-in-spin 0.5s ease-in 1.2s forwards,
937
+ spin-and-pulse 2.5s linear infinite 1.2s;
938
+ }
939
+
940
+ .empty-hero-tagline {
941
+ margin-top: 10px;
942
+ font-size: 0.75rem;
943
+ color: var(--quiet);
944
+ }
945
+
946
+ .empty-hero-version {
947
+ display: flex;
948
+ gap: 6px;
949
+ align-items: center;
950
+ margin-top: 3px;
951
+ font-size: 0.75rem;
952
+ color: var(--quiet);
953
+ }
954
+
955
+ .empty-hero-version a {
956
+ color: var(--brand);
957
+ text-decoration: underline;
958
+ text-underline-offset: 2px;
959
+ }
960
+
961
+ .runtime-dashboard > section > header h2 {
962
+ color: var(--quiet);
963
+ }
964
+
965
+ @keyframes fade-in-spin {
966
+ from {
967
+ opacity: 0;
968
+ }
969
+ to {
970
+ opacity: 1;
971
+ }
972
+ }
973
+
974
+ @keyframes spin-and-pulse {
975
+ 0% {
976
+ transform: rotate(0deg) scale(1);
977
+ }
978
+ 25% {
979
+ transform: rotate(90deg) scale(0.6);
980
+ }
981
+ 50% {
982
+ transform: rotate(180deg) scale(0.6);
983
+ }
984
+ 75% {
985
+ transform: rotate(270deg) scale(1);
986
+ }
987
+ 100% {
988
+ transform: rotate(360deg) scale(1);
989
+ }
990
+ }
991
+
749
992
  .command-center {
750
993
  width: min(520px, 100%);
751
994
  font-family: var(--font-terminal);
@@ -860,7 +1103,7 @@ button:not(:disabled):active {
860
1103
  .message {
861
1104
  display: flex;
862
1105
  width: 100%;
863
- margin-bottom: 12px;
1106
+ margin-bottom: 20px;
864
1107
  }
865
1108
 
866
1109
  .user-message {
@@ -923,15 +1166,15 @@ button:not(:disabled):active {
923
1166
  .assistant-mark {
924
1167
  display: block;
925
1168
  flex: 0 0 auto;
926
- width: 20px;
927
- height: 20px;
928
- margin-top: 0;
1169
+ width: 16px;
1170
+ height: 16px;
1171
+ margin-top: 2px;
929
1172
  object-fit: contain;
930
1173
  }
931
1174
 
932
1175
  .assistant-mark-spacer {
933
- width: 20px;
934
- flex: 0 0 20px;
1176
+ width: 16px;
1177
+ flex: 0 0 16px;
935
1178
  }
936
1179
 
937
1180
  .message-body {
@@ -1016,7 +1259,7 @@ button:not(:disabled):active {
1016
1259
  }
1017
1260
 
1018
1261
  .markdown a {
1019
- color: var(--brand-hover);
1262
+ color: var(--brand);
1020
1263
  font-weight: 540;
1021
1264
  text-decoration: underline;
1022
1265
  text-decoration-color: var(--link-underline);
@@ -1158,8 +1401,8 @@ button:not(:disabled):active {
1158
1401
  width: 100%;
1159
1402
  min-width: 0;
1160
1403
  flex-direction: column;
1161
- gap: 5px;
1162
- margin: 0 0 8px;
1404
+ gap: 9px;
1405
+ margin: 0 0 14px;
1163
1406
  }
1164
1407
 
1165
1408
  .tool-call {
@@ -1240,23 +1483,23 @@ button:not(:disabled):active {
1240
1483
 
1241
1484
  .tool-text-accent,
1242
1485
  .tool-text-success {
1243
- color: #217346;
1486
+ color: var(--brand);
1244
1487
  }
1245
1488
 
1246
1489
  .tool-text-output {
1247
- color: #6b7280;
1490
+ color: var(--muted);
1248
1491
  }
1249
1492
 
1250
1493
  .tool-text-dim {
1251
- color: #9ca3af;
1494
+ color: var(--quiet);
1252
1495
  }
1253
1496
 
1254
1497
  .tool-text-warning {
1255
- color: #d97706;
1498
+ color: var(--warning);
1256
1499
  }
1257
1500
 
1258
1501
  .tool-text-error {
1259
- color: #dc2626;
1502
+ color: var(--danger);
1260
1503
  }
1261
1504
 
1262
1505
  .tool-lines {
@@ -1797,7 +2040,7 @@ button:not(:disabled):active {
1797
2040
  padding: 0 7px;
1798
2041
  border: 0;
1799
2042
  border-radius: 4px;
1800
- color: white;
2043
+ color: var(--on-brand);
1801
2044
  background: var(--brand);
1802
2045
  font-size: 0.5625rem;
1803
2046
  cursor: pointer;
@@ -1813,17 +2056,16 @@ button:not(:disabled):active {
1813
2056
 
1814
2057
  flex: 0 0 auto;
1815
2058
  width: auto;
1816
- margin: 0 var(--chat-inline-gutter) 12px;
2059
+ margin: 0 var(--chat-inline-gutter) 20px;
1817
2060
  }
1818
2061
 
1819
2062
  .interaction-panel {
1820
2063
  min-width: 0;
1821
- padding: 14px;
1822
- border: 1px solid var(--line-strong);
1823
- border-bottom: 0;
1824
- border-radius: var(--radius-surface) var(--radius-surface) 0 0;
1825
- background: var(--interaction-surface);
1826
- box-shadow: 0 -8px 24px var(--interaction-shadow);
2064
+ margin-bottom: 10px;
2065
+ padding: 12px 14px;
2066
+ border: 1px solid var(--affordance-line);
2067
+ border-radius: var(--radius-surface);
2068
+ background: transparent;
1827
2069
  }
1828
2070
 
1829
2071
  .interaction-heading {
@@ -1929,22 +2171,23 @@ button:not(:disabled):active {
1929
2171
  }
1930
2172
 
1931
2173
  .composer-shell[data-thinking-level='minimal'] .composer-editor {
1932
- --editor-line: oklch(72% 0.06 220);
2174
+ --editor-line: var(--think-1);
1933
2175
  }
1934
2176
 
1935
2177
  .composer-shell[data-thinking-level='low'] .composer-editor {
1936
- --editor-line: oklch(67% 0.08 210);
2178
+ --editor-line: var(--think-2);
1937
2179
  }
1938
2180
 
1939
2181
  .composer-shell[data-thinking-level='medium'] .composer-editor {
1940
- --editor-line: oklch(62% 0.1 190);
2182
+ --editor-line: var(--think-3);
1941
2183
  }
1942
2184
 
1943
2185
  .composer-shell[data-thinking-level='high'] .composer-editor {
1944
- --editor-line: oklch(57% 0.11 165);
2186
+ --editor-line: var(--think-4);
1945
2187
  }
1946
2188
 
1947
- .composer-shell[data-thinking-level='xhigh'] .composer-editor {
2189
+ .composer-shell[data-thinking-level='xhigh'] .composer-editor,
2190
+ .composer-shell[data-thinking-level='max'] .composer-editor {
1948
2191
  --editor-line: var(--brand);
1949
2192
  }
1950
2193
 
@@ -1960,9 +2203,8 @@ button:not(:disabled):active {
1960
2203
  margin: 8px 8px 0;
1961
2204
  padding: 5px;
1962
2205
  overflow-y: auto;
1963
- border: 1px solid var(--line);
1964
- border-radius: 9px;
1965
- background: var(--surface);
2206
+ border: 0;
2207
+ background: transparent;
1966
2208
  }
1967
2209
 
1968
2210
  .command-menu button {
@@ -1981,7 +2223,8 @@ button:not(:disabled):active {
1981
2223
  }
1982
2224
 
1983
2225
  .command-menu button:hover,
1984
- .command-menu button:focus-visible {
2226
+ .command-menu button:focus-visible,
2227
+ .command-menu button.selected {
1985
2228
  background: var(--sidebar-active);
1986
2229
  }
1987
2230
 
@@ -2009,7 +2252,7 @@ button:not(:disabled):active {
2009
2252
  .composer-shell textarea {
2010
2253
  display: block;
2011
2254
  width: 100%;
2012
- min-height: 38px;
2255
+ min-height: 58px;
2013
2256
  max-height: 150px;
2014
2257
  field-sizing: content;
2015
2258
  padding: 9px 1px 8px;
@@ -2135,6 +2378,7 @@ button:not(:disabled):active {
2135
2378
  }
2136
2379
 
2137
2380
  .composer-footer {
2381
+ margin-top: 10px;
2138
2382
  display: flex;
2139
2383
  min-height: 30px;
2140
2384
  align-items: center;
@@ -2183,11 +2427,20 @@ button:not(:disabled):active {
2183
2427
  align-items: center;
2184
2428
  gap: 2px;
2185
2429
  padding-left: 5px;
2186
- border: 1px solid transparent;
2430
+ padding-right: 6px;
2431
+ border: 1px solid var(--affordance-line);
2187
2432
  border-radius: 4px;
2188
2433
  color: var(--quiet);
2189
2434
  }
2190
2435
 
2436
+ .composer-mode-control::after {
2437
+ content: '▾';
2438
+ flex: 0 0 auto;
2439
+ font-size: 0.5rem;
2440
+ opacity: 0.55;
2441
+ pointer-events: none;
2442
+ }
2443
+
2191
2444
  .composer-mode-control > span {
2192
2445
  font-size: var(--terminal-footer-size);
2193
2446
  }
@@ -2198,23 +2451,24 @@ button:not(:disabled):active {
2198
2451
  padding: 0 5px 0 1px;
2199
2452
  border: 0;
2200
2453
  border-radius: 3px;
2201
- color: var(--ink-soft);
2454
+ color: var(--quiet);
2202
2455
  background-color: transparent;
2203
2456
  font-family: var(--font-terminal);
2204
2457
  font-size: var(--terminal-footer-size);
2205
2458
  font-weight: 550;
2459
+ font-synthesis: weight;
2206
2460
  cursor: pointer;
2207
2461
  }
2208
2462
 
2209
2463
  .composer-mode-control:hover,
2210
2464
  .composer-mode-control:focus-within {
2211
- color: var(--brand-hover);
2212
- background-color: var(--brand-soft);
2465
+ color: var(--ink-soft);
2466
+ background-color: var(--hover-surface);
2213
2467
  }
2214
2468
 
2215
2469
  .composer-mode-control:hover .composer-mode-select,
2216
2470
  .composer-mode-control:focus-within .composer-mode-select {
2217
- color: var(--brand-hover);
2471
+ color: var(--ink-soft);
2218
2472
  background-color: transparent;
2219
2473
  }
2220
2474
 
@@ -2759,28 +3013,6 @@ button:not(:disabled):active {
2759
3013
  margin-top: 3px;
2760
3014
  }
2761
3015
 
2762
- .collab-settings {
2763
- margin-top: 22px;
2764
- }
2765
-
2766
- .collab-settings h3,
2767
- .collab-settings p {
2768
- margin: 0;
2769
- color: var(--muted);
2770
- font-size: 0.6875rem;
2771
- }
2772
-
2773
- .collab-settings p {
2774
- margin-top: 7px;
2775
- }
2776
-
2777
- .collab-settings ul {
2778
- margin: 7px 0 0;
2779
- padding-left: 18px;
2780
- color: var(--quiet);
2781
- font-size: 0.625rem;
2782
- }
2783
-
2784
3016
  .skill-settings {
2785
3017
  margin-top: 22px;
2786
3018
  }
@@ -2997,10 +3229,9 @@ button:not(:disabled):active {
2997
3229
  }
2998
3230
 
2999
3231
  .send-button,
3000
- .stop-button,
3001
- .attach-button {
3232
+ .stop-button {
3002
3233
  display: flex;
3003
- min-width: 40px;
3234
+ min-width: 34px;
3004
3235
  height: 26px;
3005
3236
  align-items: center;
3006
3237
  justify-content: center;
@@ -3017,14 +3248,29 @@ button:not(:disabled):active {
3017
3248
  }
3018
3249
 
3019
3250
  .attach-button {
3020
- padding: 0 6px;
3251
+ display: inline-flex;
3252
+ height: 26px;
3253
+ align-items: center;
3254
+ gap: 6px;
3255
+ padding: 0 9px;
3256
+ border: 1px solid var(--affordance-line);
3257
+ border-radius: 4px;
3021
3258
  color: var(--muted);
3022
- background: transparent;
3259
+ background: var(--surface);
3260
+ font-family: var(--font-terminal);
3261
+ font-size: var(--terminal-footer-size);
3262
+ font-weight: 550;
3263
+ cursor: pointer;
3264
+ }
3265
+
3266
+ .attach-button svg {
3267
+ flex: 0 0 auto;
3023
3268
  }
3024
3269
 
3025
3270
  .attach-button:hover:not(:disabled) {
3026
- color: var(--brand-hover);
3027
- background: var(--brand-soft);
3271
+ border-color: var(--affordance-line);
3272
+ background: var(--hover-surface);
3273
+ color: var(--ink-soft);
3028
3274
  }
3029
3275
 
3030
3276
  .stop-button {
@@ -3053,7 +3299,6 @@ button:not(:disabled):active {
3053
3299
  }
3054
3300
 
3055
3301
  @media (hover: hover) and (pointer: fine) {
3056
- .new-chat-button:hover:not(:disabled),
3057
3302
  .sidebar-session-row:hover:not(:disabled) {
3058
3303
  color: var(--ink-soft);
3059
3304
  background: var(--hover-surface);
@@ -3126,6 +3371,11 @@ button:not(:disabled):active {
3126
3371
  animation: none;
3127
3372
  }
3128
3373
 
3374
+ .empty-hero-brand .hero-spark {
3375
+ animation: none;
3376
+ opacity: 1;
3377
+ }
3378
+
3129
3379
  .tool-call-state.running::before {
3130
3380
  animation: none;
3131
3381
  }