@pi-harness/pi-harness 0.1.5 → 0.1.7

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 (682) hide show
  1. package/README.md +1 -1
  2. package/apps/web/dist/assets/index-CkGv0zrr.css +2 -0
  3. package/apps/web/dist/assets/index-pMtwuwHh.js +20 -0
  4. package/apps/web/dist/index.html +2 -2
  5. package/apps/web/package.json +6 -6
  6. package/apps/web/profile/cordis.yml +1 -1
  7. package/apps/web/server-dist/bin.js +1 -1
  8. package/apps/web/src/server/bin.ts +1 -1
  9. package/apps/web/src/style.css +15 -8
  10. package/node_modules/@pi-harness/api-gateway/LICENSE +9 -0
  11. package/node_modules/@pi-harness/api-gateway/dist/index.d.ts +8 -0
  12. package/node_modules/@pi-harness/api-gateway/dist/index.d.ts.map +1 -0
  13. package/node_modules/@pi-harness/api-gateway/dist/index.js +1747 -0
  14. package/node_modules/@pi-harness/api-gateway/dist/index.js.map +1 -0
  15. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +31 -0
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +29 -0
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +28 -0
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +31 -0
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +28 -0
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +32 -0
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +32 -0
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +28 -0
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +29 -0
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +29 -0
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +30 -0
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +29 -0
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +30 -0
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +29 -0
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +30 -0
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +30 -0
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +28 -0
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-group.json +16 -0
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +16 -0
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-timer.json +16 -0
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +31 -0
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +31 -0
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +29 -0
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +29 -0
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +28 -0
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +30 -0
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +29 -0
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +33 -0
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +29 -0
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +29 -0
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +29 -0
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +32 -0
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +29 -0
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +29 -0
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +28 -0
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +33 -0
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +29 -0
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +28 -0
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +30 -0
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +29 -0
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +29 -0
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +29 -0
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +29 -0
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +29 -0
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +32 -0
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +28 -0
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +29 -0
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +28 -0
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +30 -0
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +31 -0
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +29 -0
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +30 -0
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +29 -0
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +32 -0
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +30 -0
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +30 -0
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +30 -0
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +30 -0
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +30 -0
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +29 -0
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +30 -0
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +31 -0
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +29 -0
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +29 -0
  79. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +28 -0
  80. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +29 -0
  81. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +29 -0
  82. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +29 -0
  83. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +29 -0
  84. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +32 -0
  85. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +32 -0
  86. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +29 -0
  87. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +28 -0
  88. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +29 -0
  89. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +29 -0
  90. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +32 -0
  91. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +29 -0
  92. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +29 -0
  93. package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts +60 -0
  94. package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts.map +1 -0
  95. package/node_modules/@pi-harness/api-gateway/dist/marketplace.js +235 -0
  96. package/node_modules/@pi-harness/api-gateway/dist/marketplace.js.map +1 -0
  97. package/node_modules/@pi-harness/api-gateway/dist/workspaces.d.ts +8 -0
  98. package/node_modules/@pi-harness/api-gateway/dist/workspaces.d.ts.map +1 -0
  99. package/node_modules/@pi-harness/api-gateway/dist/workspaces.js +14 -0
  100. package/node_modules/@pi-harness/api-gateway/dist/workspaces.js.map +1 -0
  101. package/node_modules/@pi-harness/api-gateway/package.json +36 -0
  102. package/node_modules/@pi-harness/cli/LICENSE +9 -0
  103. package/node_modules/@pi-harness/cli/dist/args.d.ts +16 -0
  104. package/node_modules/@pi-harness/cli/dist/args.d.ts.map +1 -0
  105. package/node_modules/@pi-harness/cli/dist/args.js +60 -0
  106. package/node_modules/@pi-harness/cli/dist/args.js.map +1 -0
  107. package/node_modules/@pi-harness/cli/dist/bin.d.ts +3 -0
  108. package/node_modules/@pi-harness/cli/dist/bin.d.ts.map +1 -0
  109. package/node_modules/@pi-harness/cli/dist/bin.js +49 -0
  110. package/node_modules/@pi-harness/cli/dist/bin.js.map +1 -0
  111. package/node_modules/@pi-harness/cli/dist/main.d.ts +15 -0
  112. package/node_modules/@pi-harness/cli/dist/main.d.ts.map +1 -0
  113. package/node_modules/@pi-harness/cli/dist/main.js +188 -0
  114. package/node_modules/@pi-harness/cli/dist/main.js.map +1 -0
  115. package/node_modules/@pi-harness/cli/dist/node-stdio.d.ts +12 -0
  116. package/node_modules/@pi-harness/cli/dist/node-stdio.d.ts.map +1 -0
  117. package/node_modules/@pi-harness/cli/dist/node-stdio.js +112 -0
  118. package/node_modules/@pi-harness/cli/dist/node-stdio.js.map +1 -0
  119. package/node_modules/@pi-harness/cli/dist/relaunch.d.ts +5 -0
  120. package/node_modules/@pi-harness/cli/dist/relaunch.d.ts.map +1 -0
  121. package/node_modules/@pi-harness/cli/dist/relaunch.js +65 -0
  122. package/node_modules/@pi-harness/cli/dist/relaunch.js.map +1 -0
  123. package/node_modules/@pi-harness/cli/package.json +33 -0
  124. package/node_modules/@pi-harness/core/LICENSE +9 -0
  125. package/node_modules/@pi-harness/core/dist/boot.d.ts +13 -0
  126. package/node_modules/@pi-harness/core/dist/boot.d.ts.map +1 -0
  127. package/node_modules/@pi-harness/core/dist/boot.js +135 -0
  128. package/node_modules/@pi-harness/core/dist/boot.js.map +1 -0
  129. package/node_modules/@pi-harness/core/dist/config.d.ts +2 -0
  130. package/node_modules/@pi-harness/core/dist/config.d.ts.map +1 -0
  131. package/node_modules/@pi-harness/core/dist/config.js +8 -0
  132. package/node_modules/@pi-harness/core/dist/config.js.map +1 -0
  133. package/node_modules/@pi-harness/core/dist/context.d.ts +3 -0
  134. package/node_modules/@pi-harness/core/dist/context.d.ts.map +1 -0
  135. package/node_modules/@pi-harness/core/dist/context.js +2 -0
  136. package/node_modules/@pi-harness/core/dist/context.js.map +1 -0
  137. package/node_modules/@pi-harness/core/dist/http.d.ts +8 -0
  138. package/node_modules/@pi-harness/core/dist/http.d.ts.map +1 -0
  139. package/node_modules/@pi-harness/core/dist/http.js +27 -0
  140. package/node_modules/@pi-harness/core/dist/http.js.map +1 -0
  141. package/node_modules/@pi-harness/core/dist/index.d.ts +9 -0
  142. package/node_modules/@pi-harness/core/dist/index.d.ts.map +1 -0
  143. package/node_modules/@pi-harness/core/dist/index.js +8 -0
  144. package/node_modules/@pi-harness/core/dist/index.js.map +1 -0
  145. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.d.ts +17 -0
  146. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.d.ts.map +1 -0
  147. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.js +298 -0
  148. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.js.map +1 -0
  149. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.d.ts +14 -0
  150. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.d.ts.map +1 -0
  151. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.js +84 -0
  152. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.js.map +1 -0
  153. package/node_modules/@pi-harness/core/dist/plugins/annotation.d.ts +18 -0
  154. package/node_modules/@pi-harness/core/dist/plugins/annotation.d.ts.map +1 -0
  155. package/node_modules/@pi-harness/core/dist/plugins/annotation.js +94 -0
  156. package/node_modules/@pi-harness/core/dist/plugins/annotation.js.map +1 -0
  157. package/node_modules/@pi-harness/core/dist/plugins/archify.d.ts +23 -0
  158. package/node_modules/@pi-harness/core/dist/plugins/archify.d.ts.map +1 -0
  159. package/node_modules/@pi-harness/core/dist/plugins/archify.js +98 -0
  160. package/node_modules/@pi-harness/core/dist/plugins/archify.js.map +1 -0
  161. package/node_modules/@pi-harness/core/dist/plugins/at-file.d.ts +8 -0
  162. package/node_modules/@pi-harness/core/dist/plugins/at-file.d.ts.map +1 -0
  163. package/node_modules/@pi-harness/core/dist/plugins/at-file.js +52 -0
  164. package/node_modules/@pi-harness/core/dist/plugins/at-file.js.map +1 -0
  165. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.d.ts +15 -0
  166. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.d.ts.map +1 -0
  167. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.js +114 -0
  168. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.js.map +1 -0
  169. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.d.ts +37 -0
  170. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.d.ts.map +1 -0
  171. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.js +89 -0
  172. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.js.map +1 -0
  173. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.d.ts +14 -0
  174. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.d.ts.map +1 -0
  175. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.js +167 -0
  176. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.js.map +1 -0
  177. package/node_modules/@pi-harness/core/dist/plugins/browser-session.d.ts +14 -0
  178. package/node_modules/@pi-harness/core/dist/plugins/browser-session.d.ts.map +1 -0
  179. package/node_modules/@pi-harness/core/dist/plugins/browser-session.js +265 -0
  180. package/node_modules/@pi-harness/core/dist/plugins/browser-session.js.map +1 -0
  181. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.d.ts +8 -0
  182. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.d.ts.map +1 -0
  183. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.js +88 -0
  184. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.js.map +1 -0
  185. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.d.ts +8 -0
  186. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.d.ts.map +1 -0
  187. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.js +67 -0
  188. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.js.map +1 -0
  189. package/node_modules/@pi-harness/core/dist/plugins/cleaner.d.ts +8 -0
  190. package/node_modules/@pi-harness/core/dist/plugins/cleaner.d.ts.map +1 -0
  191. package/node_modules/@pi-harness/core/dist/plugins/cleaner.js +56 -0
  192. package/node_modules/@pi-harness/core/dist/plugins/cleaner.js.map +1 -0
  193. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.d.ts +15 -0
  194. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.d.ts.map +1 -0
  195. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.js +110 -0
  196. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.js.map +1 -0
  197. package/node_modules/@pi-harness/core/dist/plugins/code2skill.d.ts +8 -0
  198. package/node_modules/@pi-harness/core/dist/plugins/code2skill.d.ts.map +1 -0
  199. package/node_modules/@pi-harness/core/dist/plugins/code2skill.js +95 -0
  200. package/node_modules/@pi-harness/core/dist/plugins/code2skill.js.map +1 -0
  201. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.d.ts +27 -0
  202. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.d.ts.map +1 -0
  203. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.js +99 -0
  204. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.js.map +1 -0
  205. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.d.ts +30 -0
  206. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.d.ts.map +1 -0
  207. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.js +95 -0
  208. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.js.map +1 -0
  209. package/node_modules/@pi-harness/core/dist/plugins/context.d.ts +8 -0
  210. package/node_modules/@pi-harness/core/dist/plugins/context.d.ts.map +1 -0
  211. package/node_modules/@pi-harness/core/dist/plugins/context.js +87 -0
  212. package/node_modules/@pi-harness/core/dist/plugins/context.js.map +1 -0
  213. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.d.ts +32 -0
  214. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.d.ts.map +1 -0
  215. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.js +204 -0
  216. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.js.map +1 -0
  217. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.d.ts +27 -0
  218. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.d.ts.map +1 -0
  219. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.js +221 -0
  220. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.js.map +1 -0
  221. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.d.ts +8 -0
  222. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.d.ts.map +1 -0
  223. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.js +102 -0
  224. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.js.map +1 -0
  225. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.d.ts +8 -0
  226. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.d.ts.map +1 -0
  227. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.js +51 -0
  228. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.js.map +1 -0
  229. package/node_modules/@pi-harness/core/dist/plugins/genui.d.ts +8 -0
  230. package/node_modules/@pi-harness/core/dist/plugins/genui.d.ts.map +1 -0
  231. package/node_modules/@pi-harness/core/dist/plugins/genui.js +79 -0
  232. package/node_modules/@pi-harness/core/dist/plugins/genui.js.map +1 -0
  233. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.d.ts +9 -0
  234. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.d.ts.map +1 -0
  235. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.js +90 -0
  236. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.js.map +1 -0
  237. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.d.ts +16 -0
  238. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.d.ts.map +1 -0
  239. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.js +382 -0
  240. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.js.map +1 -0
  241. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.d.ts +15 -0
  242. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.d.ts.map +1 -0
  243. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.js +80 -0
  244. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.js.map +1 -0
  245. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.d.ts +29 -0
  246. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.d.ts.map +1 -0
  247. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.js +139 -0
  248. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.js.map +1 -0
  249. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.d.ts +8 -0
  250. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.d.ts.map +1 -0
  251. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.js +76 -0
  252. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.js.map +1 -0
  253. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.d.ts +8 -0
  254. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.d.ts.map +1 -0
  255. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.js +150 -0
  256. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.js.map +1 -0
  257. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.d.ts +42 -0
  258. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.d.ts.map +1 -0
  259. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.js +128 -0
  260. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.js.map +1 -0
  261. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.d.ts +19 -0
  262. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.d.ts.map +1 -0
  263. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.js +534 -0
  264. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.js.map +1 -0
  265. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.d.ts +14 -0
  266. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.d.ts.map +1 -0
  267. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.js +180 -0
  268. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.js.map +1 -0
  269. package/node_modules/@pi-harness/core/dist/plugins/memory.d.ts +15 -0
  270. package/node_modules/@pi-harness/core/dist/plugins/memory.d.ts.map +1 -0
  271. package/node_modules/@pi-harness/core/dist/plugins/memory.js +161 -0
  272. package/node_modules/@pi-harness/core/dist/plugins/memory.js.map +1 -0
  273. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.d.ts +23 -0
  274. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.d.ts.map +1 -0
  275. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.js +149 -0
  276. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.js.map +1 -0
  277. package/node_modules/@pi-harness/core/dist/plugins/mock-server.d.ts +22 -0
  278. package/node_modules/@pi-harness/core/dist/plugins/mock-server.d.ts.map +1 -0
  279. package/node_modules/@pi-harness/core/dist/plugins/mock-server.js +149 -0
  280. package/node_modules/@pi-harness/core/dist/plugins/mock-server.js.map +1 -0
  281. package/node_modules/@pi-harness/core/dist/plugins/model.d.ts +8 -0
  282. package/node_modules/@pi-harness/core/dist/plugins/model.d.ts.map +1 -0
  283. package/node_modules/@pi-harness/core/dist/plugins/model.js +14 -0
  284. package/node_modules/@pi-harness/core/dist/plugins/model.js.map +1 -0
  285. package/node_modules/@pi-harness/core/dist/plugins/models.d.ts +16 -0
  286. package/node_modules/@pi-harness/core/dist/plugins/models.d.ts.map +1 -0
  287. package/node_modules/@pi-harness/core/dist/plugins/models.js +27 -0
  288. package/node_modules/@pi-harness/core/dist/plugins/models.js.map +1 -0
  289. package/node_modules/@pi-harness/core/dist/plugins/modlens.d.ts +8 -0
  290. package/node_modules/@pi-harness/core/dist/plugins/modlens.d.ts.map +1 -0
  291. package/node_modules/@pi-harness/core/dist/plugins/modlens.js +63 -0
  292. package/node_modules/@pi-harness/core/dist/plugins/modlens.js.map +1 -0
  293. package/node_modules/@pi-harness/core/dist/plugins/module-search.d.ts +27 -0
  294. package/node_modules/@pi-harness/core/dist/plugins/module-search.d.ts.map +1 -0
  295. package/node_modules/@pi-harness/core/dist/plugins/module-search.js +174 -0
  296. package/node_modules/@pi-harness/core/dist/plugins/module-search.js.map +1 -0
  297. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.d.ts +14 -0
  298. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.d.ts.map +1 -0
  299. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.js +79 -0
  300. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.js.map +1 -0
  301. package/node_modules/@pi-harness/core/dist/plugins/openpets.d.ts +14 -0
  302. package/node_modules/@pi-harness/core/dist/plugins/openpets.d.ts.map +1 -0
  303. package/node_modules/@pi-harness/core/dist/plugins/openpets.js +99 -0
  304. package/node_modules/@pi-harness/core/dist/plugins/openpets.js.map +1 -0
  305. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.d.ts +8 -0
  306. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.d.ts.map +1 -0
  307. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.js +70 -0
  308. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.js.map +1 -0
  309. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.d.ts +38 -0
  310. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.d.ts.map +1 -0
  311. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.js +227 -0
  312. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.js.map +1 -0
  313. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.d.ts +8 -0
  314. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.d.ts.map +1 -0
  315. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.js +44 -0
  316. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.js.map +1 -0
  317. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.d.ts +16 -0
  318. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.d.ts.map +1 -0
  319. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.js +98 -0
  320. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.js.map +1 -0
  321. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.d.ts +29 -0
  322. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.d.ts.map +1 -0
  323. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.js +146 -0
  324. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.js.map +1 -0
  325. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.d.ts +45 -0
  326. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.d.ts.map +1 -0
  327. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.js +165 -0
  328. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.js.map +1 -0
  329. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.d.ts +8 -0
  330. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.d.ts.map +1 -0
  331. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.js +114 -0
  332. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.js.map +1 -0
  333. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.d.ts +25 -0
  334. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.d.ts.map +1 -0
  335. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.js +142 -0
  336. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.js.map +1 -0
  337. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.d.ts +25 -0
  338. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.d.ts.map +1 -0
  339. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.js +139 -0
  340. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.js.map +1 -0
  341. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.d.ts +24 -0
  342. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.d.ts.map +1 -0
  343. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.js +124 -0
  344. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.js.map +1 -0
  345. package/node_modules/@pi-harness/core/dist/plugins/resources.d.ts +19 -0
  346. package/node_modules/@pi-harness/core/dist/plugins/resources.d.ts.map +1 -0
  347. package/node_modules/@pi-harness/core/dist/plugins/resources.js +57 -0
  348. package/node_modules/@pi-harness/core/dist/plugins/resources.js.map +1 -0
  349. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.d.ts +23 -0
  350. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.d.ts.map +1 -0
  351. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.js +60 -0
  352. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.js.map +1 -0
  353. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.d.ts +14 -0
  354. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.d.ts.map +1 -0
  355. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.js +133 -0
  356. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.js.map +1 -0
  357. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.d.ts +33 -0
  358. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.d.ts.map +1 -0
  359. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.js +114 -0
  360. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.js.map +1 -0
  361. package/node_modules/@pi-harness/core/dist/plugins/runtime.d.ts +14 -0
  362. package/node_modules/@pi-harness/core/dist/plugins/runtime.d.ts.map +1 -0
  363. package/node_modules/@pi-harness/core/dist/plugins/runtime.js +117 -0
  364. package/node_modules/@pi-harness/core/dist/plugins/runtime.js.map +1 -0
  365. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.d.ts +31 -0
  366. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.d.ts.map +1 -0
  367. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.js +121 -0
  368. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.js.map +1 -0
  369. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.d.ts +15 -0
  370. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.d.ts.map +1 -0
  371. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.js +87 -0
  372. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.js.map +1 -0
  373. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.d.ts +44 -0
  374. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.d.ts.map +1 -0
  375. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.js +265 -0
  376. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.js.map +1 -0
  377. package/node_modules/@pi-harness/core/dist/plugins/session-compare.d.ts +33 -0
  378. package/node_modules/@pi-harness/core/dist/plugins/session-compare.d.ts.map +1 -0
  379. package/node_modules/@pi-harness/core/dist/plugins/session-compare.js +150 -0
  380. package/node_modules/@pi-harness/core/dist/plugins/session-compare.js.map +1 -0
  381. package/node_modules/@pi-harness/core/dist/plugins/session-export.d.ts +9 -0
  382. package/node_modules/@pi-harness/core/dist/plugins/session-export.d.ts.map +1 -0
  383. package/node_modules/@pi-harness/core/dist/plugins/session-export.js +93 -0
  384. package/node_modules/@pi-harness/core/dist/plugins/session-export.js.map +1 -0
  385. package/node_modules/@pi-harness/core/dist/plugins/session-insights.d.ts +8 -0
  386. package/node_modules/@pi-harness/core/dist/plugins/session-insights.d.ts.map +1 -0
  387. package/node_modules/@pi-harness/core/dist/plugins/session-insights.js +47 -0
  388. package/node_modules/@pi-harness/core/dist/plugins/session-insights.js.map +1 -0
  389. package/node_modules/@pi-harness/core/dist/plugins/session-search.d.ts +20 -0
  390. package/node_modules/@pi-harness/core/dist/plugins/session-search.d.ts.map +1 -0
  391. package/node_modules/@pi-harness/core/dist/plugins/session-search.js +122 -0
  392. package/node_modules/@pi-harness/core/dist/plugins/session-search.js.map +1 -0
  393. package/node_modules/@pi-harness/core/dist/plugins/session.d.ts +15 -0
  394. package/node_modules/@pi-harness/core/dist/plugins/session.d.ts.map +1 -0
  395. package/node_modules/@pi-harness/core/dist/plugins/session.js +22 -0
  396. package/node_modules/@pi-harness/core/dist/plugins/session.js.map +1 -0
  397. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.d.ts +26 -0
  398. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.d.ts.map +1 -0
  399. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.js +97 -0
  400. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.js.map +1 -0
  401. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.d.ts +26 -0
  402. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.d.ts.map +1 -0
  403. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.js +139 -0
  404. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.js.map +1 -0
  405. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.d.ts +8 -0
  406. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.d.ts.map +1 -0
  407. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.js +85 -0
  408. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.js.map +1 -0
  409. package/node_modules/@pi-harness/core/dist/plugins/stdio.d.ts +8 -0
  410. package/node_modules/@pi-harness/core/dist/plugins/stdio.d.ts.map +1 -0
  411. package/node_modules/@pi-harness/core/dist/plugins/stdio.js +22 -0
  412. package/node_modules/@pi-harness/core/dist/plugins/stdio.js.map +1 -0
  413. package/node_modules/@pi-harness/core/dist/plugins/synapse.d.ts +38 -0
  414. package/node_modules/@pi-harness/core/dist/plugins/synapse.d.ts.map +1 -0
  415. package/node_modules/@pi-harness/core/dist/plugins/synapse.js +93 -0
  416. package/node_modules/@pi-harness/core/dist/plugins/synapse.js.map +1 -0
  417. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.d.ts +8 -0
  418. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.d.ts.map +1 -0
  419. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.js +135 -0
  420. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.js.map +1 -0
  421. package/node_modules/@pi-harness/core/dist/plugins/taskboard.d.ts +15 -0
  422. package/node_modules/@pi-harness/core/dist/plugins/taskboard.d.ts.map +1 -0
  423. package/node_modules/@pi-harness/core/dist/plugins/taskboard.js +347 -0
  424. package/node_modules/@pi-harness/core/dist/plugins/taskboard.js.map +1 -0
  425. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.d.ts +8 -0
  426. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.d.ts.map +1 -0
  427. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.js +57 -0
  428. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.js.map +1 -0
  429. package/node_modules/@pi-harness/core/dist/plugins/test-harness.d.ts +8 -0
  430. package/node_modules/@pi-harness/core/dist/plugins/test-harness.d.ts.map +1 -0
  431. package/node_modules/@pi-harness/core/dist/plugins/test-harness.js +64 -0
  432. package/node_modules/@pi-harness/core/dist/plugins/test-harness.js.map +1 -0
  433. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.d.ts +29 -0
  434. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.d.ts.map +1 -0
  435. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.js +141 -0
  436. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.js.map +1 -0
  437. package/node_modules/@pi-harness/core/dist/plugins/token-guard.d.ts +15 -0
  438. package/node_modules/@pi-harness/core/dist/plugins/token-guard.d.ts.map +1 -0
  439. package/node_modules/@pi-harness/core/dist/plugins/token-guard.js +78 -0
  440. package/node_modules/@pi-harness/core/dist/plugins/token-guard.js.map +1 -0
  441. package/node_modules/@pi-harness/core/dist/plugins/tools.d.ts +13 -0
  442. package/node_modules/@pi-harness/core/dist/plugins/tools.d.ts.map +1 -0
  443. package/node_modules/@pi-harness/core/dist/plugins/tools.js +20 -0
  444. package/node_modules/@pi-harness/core/dist/plugins/tools.js.map +1 -0
  445. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.d.ts +19 -0
  446. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.d.ts.map +1 -0
  447. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.js +74 -0
  448. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.js.map +1 -0
  449. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.d.ts +17 -0
  450. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.d.ts.map +1 -0
  451. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.js +247 -0
  452. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.js.map +1 -0
  453. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.d.ts +17 -0
  454. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.d.ts.map +1 -0
  455. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.js +145 -0
  456. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.js.map +1 -0
  457. package/node_modules/@pi-harness/core/dist/plugins/web-research.d.ts +17 -0
  458. package/node_modules/@pi-harness/core/dist/plugins/web-research.d.ts.map +1 -0
  459. package/node_modules/@pi-harness/core/dist/plugins/web-research.js +275 -0
  460. package/node_modules/@pi-harness/core/dist/plugins/web-research.js.map +1 -0
  461. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.d.ts +36 -0
  462. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.d.ts.map +1 -0
  463. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.js +150 -0
  464. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.js.map +1 -0
  465. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.d.ts +8 -0
  466. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.d.ts.map +1 -0
  467. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.js +134 -0
  468. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.js.map +1 -0
  469. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.d.ts +8 -0
  470. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.d.ts.map +1 -0
  471. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.js +94 -0
  472. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.js.map +1 -0
  473. package/node_modules/@pi-harness/core/dist/profile.d.ts +9 -0
  474. package/node_modules/@pi-harness/core/dist/profile.d.ts.map +1 -0
  475. package/node_modules/@pi-harness/core/dist/profile.js +31 -0
  476. package/node_modules/@pi-harness/core/dist/profile.js.map +1 -0
  477. package/node_modules/@pi-harness/core/dist/runtime.d.ts +16 -0
  478. package/node_modules/@pi-harness/core/dist/runtime.d.ts.map +1 -0
  479. package/node_modules/@pi-harness/core/dist/runtime.js +42 -0
  480. package/node_modules/@pi-harness/core/dist/runtime.js.map +1 -0
  481. package/node_modules/@pi-harness/core/dist/services.d.ts +118 -0
  482. package/node_modules/@pi-harness/core/dist/services.d.ts.map +1 -0
  483. package/node_modules/@pi-harness/core/dist/services.js +95 -0
  484. package/node_modules/@pi-harness/core/dist/services.js.map +1 -0
  485. package/node_modules/@pi-harness/core/dist/stdio.d.ts +36 -0
  486. package/node_modules/@pi-harness/core/dist/stdio.d.ts.map +1 -0
  487. package/node_modules/@pi-harness/core/dist/stdio.js +140 -0
  488. package/node_modules/@pi-harness/core/dist/stdio.js.map +1 -0
  489. package/node_modules/@pi-harness/core/dist/workspace-path.d.ts +12 -0
  490. package/node_modules/@pi-harness/core/dist/workspace-path.d.ts.map +1 -0
  491. package/node_modules/@pi-harness/core/dist/workspace-path.js +62 -0
  492. package/node_modules/@pi-harness/core/dist/workspace-path.js.map +1 -0
  493. package/node_modules/@pi-harness/core/package.json +42 -0
  494. package/node_modules/@pi-harness/core/profiles/default/cordis.yml +120 -0
  495. package/node_modules/@pi-harness/core/profiles/development/cordis.yml +47 -0
  496. package/node_modules/@pi-harness/host-webserver/LICENSE +9 -0
  497. package/node_modules/@pi-harness/host-webserver/dist/index.d.ts +29 -0
  498. package/node_modules/@pi-harness/host-webserver/dist/index.d.ts.map +1 -0
  499. package/node_modules/@pi-harness/host-webserver/dist/index.js +73 -0
  500. package/node_modules/@pi-harness/host-webserver/dist/index.js.map +1 -0
  501. package/node_modules/@pi-harness/host-webserver/package.json +35 -0
  502. package/node_modules/@pi-harness/web-app/LICENSE +9 -0
  503. package/node_modules/@pi-harness/web-app/cordis.patch.yml +12 -0
  504. package/node_modules/@pi-harness/web-app/dist/index.d.ts +12 -0
  505. package/node_modules/@pi-harness/web-app/dist/index.d.ts.map +1 -0
  506. package/node_modules/@pi-harness/web-app/dist/index.js +63 -0
  507. package/node_modules/@pi-harness/web-app/dist/index.js.map +1 -0
  508. package/node_modules/@pi-harness/web-app/package.json +37 -0
  509. package/package.json +29 -10
  510. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  511. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  512. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  513. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  514. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  515. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  516. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  517. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  518. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  519. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  520. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  521. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  522. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  523. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  524. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  525. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  526. package/packages/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  527. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  528. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  529. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  530. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  531. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  532. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  533. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  534. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  535. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  536. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  537. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  538. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  539. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  540. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  541. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  542. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  543. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  544. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  545. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  546. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  547. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  548. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  549. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  550. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  551. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  552. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  553. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  554. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  555. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  556. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  557. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  558. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  559. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  560. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  561. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  562. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  563. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  564. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  565. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  566. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  567. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  568. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  569. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  570. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  571. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  572. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  573. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  574. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  575. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  576. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  577. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  578. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  579. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  580. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  581. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  582. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  583. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  584. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  585. package/packages/api-gateway/package.json +6 -10
  586. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +1 -1
  587. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +1 -1
  588. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +1 -1
  589. package/packages/api-gateway/src/marketplace-entries/official/archify.json +1 -1
  590. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +1 -1
  591. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +1 -1
  592. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +1 -1
  593. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +1 -1
  594. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +1 -1
  595. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +1 -1
  596. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +1 -1
  597. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +1 -1
  598. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +1 -1
  599. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +1 -1
  600. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +1 -1
  601. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +1 -1
  602. package/packages/api-gateway/src/marketplace-entries/official/context.json +1 -1
  603. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +1 -1
  604. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +1 -1
  605. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +1 -1
  606. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +1 -1
  607. package/packages/api-gateway/src/marketplace-entries/official/genui.json +1 -1
  608. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +1 -1
  609. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +1 -1
  610. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +1 -1
  611. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +1 -1
  612. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +1 -1
  613. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +1 -1
  614. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +1 -1
  615. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +1 -1
  616. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +1 -1
  617. package/packages/api-gateway/src/marketplace-entries/official/memory.json +1 -1
  618. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +1 -1
  619. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +1 -1
  620. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +1 -1
  621. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +1 -1
  622. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +1 -1
  623. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +1 -1
  624. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +1 -1
  625. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +1 -1
  626. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +1 -1
  627. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +1 -1
  628. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +1 -1
  629. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +1 -1
  630. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +1 -1
  631. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +1 -1
  632. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +1 -1
  633. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +1 -1
  634. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +1 -1
  635. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +1 -1
  636. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +1 -1
  637. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +1 -1
  638. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +1 -1
  639. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +1 -1
  640. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +1 -1
  641. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +1 -1
  642. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +1 -1
  643. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +1 -1
  644. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +1 -1
  645. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +1 -1
  646. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +1 -1
  647. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +1 -1
  648. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +1 -1
  649. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +1 -1
  650. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +1 -1
  651. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +1 -1
  652. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +1 -1
  653. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +1 -1
  654. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +1 -1
  655. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +1 -1
  656. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +1 -1
  657. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +1 -1
  658. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +1 -1
  659. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +1 -1
  660. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +1 -1
  661. package/packages/api-gateway/test/release-package.test.ts +33 -0
  662. package/packages/bundle-web-app/cordis.patch.yml +1 -1
  663. package/packages/bundle-web-app/package.json +6 -9
  664. package/packages/cli/package.json +6 -8
  665. package/packages/client-web/dist/plugin-card.d.ts +8 -0
  666. package/packages/client-web/dist/plugin-card.d.ts.map +1 -0
  667. package/packages/client-web/dist/plugin-card.js +15 -0
  668. package/packages/client-web/dist/plugin-card.js.map +1 -0
  669. package/packages/client-web/dist/react-room.d.ts.map +1 -1
  670. package/packages/client-web/dist/react-room.js +9 -7
  671. package/packages/client-web/dist/react-room.js.map +1 -1
  672. package/packages/client-web/package.json +6 -5
  673. package/packages/client-web/src/plugin-card.ts +22 -0
  674. package/packages/client-web/src/react-room.tsx +35 -30
  675. package/packages/client-web/test/browser-session-view.test.ts +2 -2
  676. package/packages/client-web/test/plugin-card.test.ts +46 -0
  677. package/packages/core/package.json +6 -18
  678. package/packages/host-webserver/dist/index.js +1 -1
  679. package/packages/host-webserver/package.json +6 -8
  680. package/packages/host-webserver/src/index.ts +1 -1
  681. package/apps/web/dist/assets/index-CihATCjR.css +0 -2
  682. package/apps/web/dist/assets/index-gDNnM9GK.js +0 -20
package/README.md CHANGED
@@ -33,7 +33,7 @@ npm ci
33
33
  npm run web
34
34
  ```
35
35
 
36
- The web launcher builds the Vite browser bundle, starts the Cordis host, and prints a local URL (by default `http://127.0.0.1:3080`). Set `PI_HARNESS_HOST`, `PI_HARNESS_PORT`, and `PI_AGENT_DIR` to change the bind address, port, or Pi state directory. The browser surface is served by the `@pi-harness/web-app` plugin and talks to `@pi-harness/api-gateway` over `/api/status`, `/api/session`, `/api/sessions`, `/api/session/new`, `/api/session/open`, `/api/models`, `/api/model`, `/api/files`, `/api/prompt`, `/api/abort`, and the `/api/events` Server-Sent Events stream. The launcher refuses non-loopback hosts unless `PI_HARNESS_ALLOW_REMOTE=1` is explicitly set on a trusted network; the API is intended for local use and has no user authentication layer.
36
+ The web launcher builds the Vite browser bundle, starts the Cordis host, and prints a local URL (by default `http://127.0.0.1:3081`). Set `PI_HARNESS_HOST`, `PI_HARNESS_PORT`, and `PI_AGENT_DIR` to change the bind address, port, or Pi state directory. The browser surface is served by the bundled `@pi-harness/web-app` plugin and talks to the bundled `@pi-harness/api-gateway` over `/api/status`, `/api/session`, `/api/sessions`, `/api/session/new`, `/api/session/open`, `/api/models`, `/api/model`, `/api/files`, `/api/prompt`, `/api/abort`, and the `/api/events` Server-Sent Events stream. The launcher refuses non-loopback hosts unless `PI_HARNESS_ALLOW_REMOTE=1` is explicitly set on a trusted network; the API is intended for local use and has no user authentication layer.
37
37
 
38
38
  The default profile selects `everyapi/deepseek-v4-flash`, stores JSONL sessions under `$PI_AGENT_DIR/sessions`, and loads Pi resources from the current project and agent directory. `PI_AGENT_DIR` defaults to `~/.pi/agent`. When the EveryAPI CLI is installed, launch the integrated web surface with `everyapi use pi-harness`; it provisions an isolated Pi agent directory with the EveryAPI provider catalog and starts Pi Harness on its local loopback URL.
39
39
 
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--animate-pulse-soft:pulse-soft 1.4s ease-in-out infinite;--color-ink:#0f1115;--color-muted:#65707b;--color-faint:#687381;--color-line:#0f11151f;--color-soft:#f6f8fa;--color-blue:#3565c5;--color-blue-soft:#edf3fe;--color-green:#14733f;--color-red:#b42318;--color-amber:#f59e0b;--color-empty:#9aa0a6;--color-starter-border:#0f111524}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-fit{height:fit-content}.h-full{height:100%}.max-h-16{max-height:calc(var(--spacing) * 16)}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-0{min-height:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-20{width:calc(var(--spacing) * 20)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-\[65\%\]{max-width:65%}.max-w-\[150px\]{max-width:150px}.min-w-0{min-width:0}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[\#e3e7ee\]>:not(:last-child)){border-color:#e3e7ee}:where(.divide-\[\#eef0f3\]>:not(:last-child)){border-color:#eef0f3}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#9bbcff\]{border-color:#9bbcff}.border-\[\#b8ccf5\]{border-color:#b8ccf5}.border-\[\#b9d0ff\]{border-color:#b9d0ff}.border-\[\#b9e6c9\]{border-color:#b9e6c9}.border-\[\#cdddf8\]{border-color:#cdddf8}.border-\[\#cfe0ff\]{border-color:#cfe0ff}.border-\[\#d9e4f7\]{border-color:#d9e4f7}.border-\[\#dce5f5\]{border-color:#dce5f5}.border-\[\#e3e7ee\]{border-color:#e3e7ee}.border-\[\#e3eaf8\]{border-color:#e3eaf8}.border-\[\#edf0f3\]{border-color:#edf0f3}.border-\[\#eef0f3\]{border-color:#eef0f3}.border-\[\#f0f2f5\]{border-color:#f0f2f5}.border-\[\#f3dfab\]{border-color:#f3dfab}.border-\[\#f4caca\]{border-color:#f4caca}.border-\[\#f4d8a8\]{border-color:#f4d8a8}.border-\[\#f4dfb0\]{border-color:#f4dfb0}.border-\[\#fff0c2\]{border-color:#fff0c2}.bg-\[\#4c83e8\]{background-color:#4c83e8}.bg-\[\#5d8bea\]{background-color:#5d8bea}.bg-\[\#22a06b\]{background-color:#22a06b}.bg-\[\#22c55e\]{background-color:#22c55e}.bg-\[\#32a35a\]{background-color:#32a35a}.bg-\[\#3565c5\]{background-color:#3565c5}.bg-\[\#a0a7b0\]{background-color:#a0a7b0}.bg-\[\#a0a8b2\]{background-color:#a0a8b2}.bg-\[\#c4ccd6\]{background-color:#c4ccd6}.bg-\[\#d7dce2\]{background-color:#d7dce2}.bg-\[\#d64545\]{background-color:#d64545}.bg-\[\#d97706\]{background-color:#d97706}.bg-\[\#dce9ff\]{background-color:#dce9ff}.bg-\[\#dceaff\]{background-color:#dceaff}.bg-\[\#dfe8f7\]{background-color:#dfe8f7}.bg-\[\#dfe8fb\]{background-color:#dfe8fb}.bg-\[\#e0a11a\]{background-color:#e0a11a}.bg-\[\#e4edfd\]{background-color:#e4edfd}.bg-\[\#e6a21a\]{background-color:#e6a21a}.bg-\[\#e6faed\]{background-color:#e6faed}.bg-\[\#e8f8ee\]{background-color:#e8f8ee}.bg-\[\#eaf8f0\]{background-color:#eaf8f0}.bg-\[\#edf3fe\]{background-color:#edf3fe}.bg-\[\#eef0f3\]{background-color:#eef0f3}.bg-\[\#f0edff\]{background-color:#f0edff}.bg-\[\#f0fbf4\]{background-color:#f0fbf4}.bg-\[\#f1f4f9\]{background-color:#f1f4f9}.bg-\[\#f1f6ff\]{background-color:#f1f6ff}.bg-\[\#f2edff\]{background-color:#f2edff}.bg-\[\#f2f3f5\]{background-color:#f2f3f5}.bg-\[\#f4f8ff\]{background-color:#f4f8ff}.bg-\[\#f6f8fa\]{background-color:#f6f8fa}.bg-\[\#f6f8ff\]{background-color:#f6f8ff}.bg-\[\#f7f8fa\]{background-color:#f7f8fa}.bg-\[\#f7faff\]{background-color:#f7faff}.bg-\[\#f8f9fb\]{background-color:#f8f9fb}.bg-\[\#f8f9ff\]{background-color:#f8f9ff}.bg-\[\#f8fafc\]{background-color:#f8fafc}.bg-\[\#fbfcfd\]{background-color:#fbfcfd}.bg-\[\#fef5e7\]{background-color:#fef5e7}.bg-\[\#fff0c7\]{background-color:#fff0c7}.bg-\[\#fff0f0\]{background-color:#fff0f0}.bg-\[\#fff4e5\]{background-color:#fff4e5}.bg-\[\#fff5e7\]{background-color:#fff5e7}.bg-\[\#fff5f5\]{background-color:#fff5f5}.bg-\[\#fff7e8\]{background-color:#fff7e8}.bg-\[\#fff9ed\]{background-color:#fff9ed}.bg-\[\#fffaf0\]{background-color:#fffaf0}.bg-\[\#fffafa\]{background-color:snow}.bg-current{background-color:currentColor}.bg-white{background-color:var(--color-white)}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.bg-white\/70{background-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-px{padding-block:1px}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-7{padding-bottom:calc(var(--spacing) * 7)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[20px\]{font-size:20px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#0f1115\]{color:#0f1115}.text-\[\#3b424b\]{color:#3b424b}.text-\[\#5d6d82\]{color:#5d6d82}.text-\[\#6b4fc3\]{color:#6b4fc3}.text-\[\#6d4bc3\]{color:#6d4bc3}.text-\[\#7f1d1d\]{color:#7f1d1d}.text-\[\#8a5a00\]{color:#8a5a00}.text-\[\#8a6200\]{color:#8a6200}.text-\[\#9a6700\]{color:#9a6700}.text-\[\#315fb8\]{color:#315fb8}.text-\[\#3565c5\]{color:#3565c5}.text-\[\#14733f\]{color:#14733f}.text-\[\#20252b\]{color:#20252b}.text-\[\#30343b\]{color:#30343b}.text-\[\#59636e\]{color:#59636e}.text-\[\#61666b\]{color:#61666b}.text-\[\#65707b\]{color:#65707b}.text-\[\#253044\]{color:#253044}.text-\[\#687381\]{color:#687381}.text-\[\#a15c00\]{color:#a15c00}.text-\[\#b42318\]{color:#b42318}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[0_8px_24px_rgba\(27\,39\,64\,0\.04\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#1b27400a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[\#bdd0f5\]:hover{border-color:#bdd0f5}.hover\:bg-\[\#fbfdff\]:hover{background-color:#fbfdff}.hover\:underline:hover{text-decoration-line:underline}}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=64rem){.lg\:grid-cols-\[minmax\(0\,1fr\)_280px\]{grid-template-columns:minmax(0,1fr) 280px}}@media (width>=80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse-soft{50%{opacity:.3}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--color-ink);-webkit-font-smoothing:antialiased;font:13px/1.5 var(--font-sans);background:#fff}button,input,textarea,select{color:inherit;font:inherit}button{cursor:pointer;background:0 0;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}.app-frame{background:#fff;width:100%;height:100%;display:flex;overflow:hidden}.sidebar{background:var(--color-soft);border-right:1px solid #0000000f;flex-direction:column;flex:0 0 264px;width:264px;min-height:0;display:flex}.brand-row{flex:0 0 48px;align-items:center;gap:9px;height:48px;padding:0 14px;display:flex}.brand-row strong{letter-spacing:-.1px;font-size:13px;font-weight:600}.pi-mark{background:var(--color-ink);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid;overflow:hidden}.pi-mark.large{border-radius:11px;width:38px;height:38px}.pi-mark img{object-fit:contain;width:82%;height:82%}.version{color:var(--color-faint);font:10px var(--font-mono);margin-left:auto}.sidebar-actions{flex-direction:column;gap:8px;padding:0 10px 10px;display:flex;position:relative}.new-session{color:#fff;background:var(--color-ink);border-radius:8px;justify-content:center;align-items:center;gap:6px;height:32px;font-size:12.5px;font-weight:500;display:flex}.new-session:hover,.send-button:hover{background:#43454a}.workspace-chooser{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a52;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.workspace-chooser-dialog{background:#fff;border:1px solid #0f172a24;border-radius:10px;flex-direction:column;gap:2px;width:100%;max-width:640px;max-height:min(680px,100vh - 96px);padding:14px;display:flex;overflow:auto;box-shadow:0 28px 80px #0f172a42}.workspace-chooser-heading{justify-content:space-between;align-items:center;padding:3px 4px 4px 6px;display:flex}.workspace-chooser-heading strong{font-size:12px}.workspace-chooser-heading button{width:24px;height:24px;color:var(--color-muted);border-radius:6px}.workspace-chooser-dialog>small{color:var(--color-faint);padding:0 6px 8px;font-size:10px}.workspace-pick-directory{text-align:left;border:1px solid var(--color-line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 8px;display:flex}.workspace-pick-directory:hover{border-color:var(--color-blue);background:var(--color-blue-soft)}.workspace-pick-directory span{font-size:11.5px;font-weight:600}.workspace-pick-directory small{color:var(--color-faint);font-size:10px}.workspace-chooser-divider{color:var(--color-faint);align-items:center;gap:8px;padding:0 6px 5px;font-size:9px;display:flex}.workspace-chooser-divider:before,.workspace-chooser-divider:after{content:"";background:var(--color-line);flex:1;height:1px}.workspace-chooser-empty{color:var(--color-faint);padding:20px 6px;font-size:11px}.workspace-chooser-error{color:#b42318;background:#fff5f5;border:1px solid #b91c1c2e;border-radius:7px;margin:0 6px 7px;padding:8px 9px;font-size:10.5px;line-height:1.45}.workspace-chooser-row{text-align:left;border-radius:7px;align-items:center;gap:8px;min-height:48px;padding:7px 6px;display:flex}.workspace-chooser-row:hover{background:var(--color-blue-soft)}.workspace-chooser-row>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.workspace-chooser-row strong,.workspace-chooser-row code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-chooser-row strong{font-size:11.5px}.workspace-chooser-row code{color:var(--color-faint);font:9px var(--font-mono);margin-top:2px}.workspace-chooser-row>small{color:var(--color-faint);font:9px var(--font-mono);flex:none}.sidebar-actions input{background:#fff;border:1px solid #0000001a;border-radius:8px;width:100%;height:30px;padding:0 10px;font-size:12px}.sidebar-actions input:focus-visible{border-color:#4176e68c;box-shadow:0 0 0 3px #4176e61f}.sidebar-scroll{flex:1;min-height:0;padding:0 8px 8px;overflow:auto}.session-group{margin-bottom:8px}.group-label{letter-spacing:.04em;color:var(--color-faint);padding:6px 8px 4px;font-size:10px}.session-row{text-align:left;border-radius:8px;align-items:center;gap:7px;width:100%;padding:7px 9px;display:flex}.session-row-wrap{align-items:center;gap:4px;display:flex}.session-row-wrap>input{accent-color:var(--color-blue);margin:0 0 0 6px}.session-list-toolbar{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:2px 14px 6px;display:flex}.session-list-title{align-items:baseline;gap:6px;display:flex}.session-list-title strong{font-size:12px;font-weight:600}.session-list-title span{color:var(--color-faint);font:10px var(--font-mono)}.session-list-tools{align-items:center;gap:3px;display:flex}.session-tool-button{height:25px;color:var(--color-muted);border-radius:6px;padding:0 7px;font-size:11px}.session-tool-button:hover,.session-tool-button.active{color:var(--color-blue);background:#e9eef8}.session-tool-button.icon{width:26px;padding:0;font-size:15px}.session-tools-wrap{position:relative}.session-tools-popover{z-index:40;background:#fff;border:1px solid #0000001a;border-radius:9px;flex-direction:column;width:150px;padding:4px;display:flex;position:absolute;top:30px;right:0;box-shadow:0 12px 30px #0f172a29}.session-tools-popover button{text-align:left;border-radius:6px;padding:7px 8px;font-size:11px}.session-tools-popover button:hover{background:var(--color-soft)}.session-row-wrap{position:relative}.session-row-more{pointer-events:none;width:24px;height:24px;color:var(--color-muted);opacity:0;background:#fff;border-radius:6px;font-size:14px;display:block;position:absolute;right:6px}.session-row-wrap:hover .session-row-more,.session-row-wrap:focus-within .session-row-more,.session-row-more:focus-visible{pointer-events:auto;opacity:1}.session-row-more:hover{color:var(--color-blue);background:#e9eef8}.session-row-menu-popover{z-index:45;background:#fff;border:1px solid #0f172a24;border-radius:8px;flex-direction:column;width:142px;padding:4px;display:flex;position:absolute;top:calc(100% - 2px);right:6px;box-shadow:0 10px 24px #0f172a2e}.session-row-menu-popover button{text-align:left;border-radius:5px;padding:6px 8px;font-size:11px}.session-row-menu-popover button:hover{background:var(--color-soft)}.session-row-menu-popover button.danger{color:var(--color-red)}.current-session-row .session-row-more{right:4px}.compact-session-menu{width:190px}.session-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.session-dialog{background:#fff;border:1px solid #0f172a24;border-radius:10px;width:100%;max-width:380px;box-shadow:0 24px 70px #0f172a38}.session-dialog-header{justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 17px 10px;display:flex}.session-dialog-header strong,.session-dialog-header small{display:block}.session-dialog-header strong{font-size:14px}.session-dialog-header small{color:var(--color-muted);margin-top:4px;font-size:11px;line-height:1.45}.session-dialog-header button{width:24px;height:24px;color:var(--color-muted);border-radius:6px;font-size:17px}.session-dialog-header button:hover{background:var(--color-soft)}.session-dialog-field{flex-direction:column;gap:5px;padding:5px 17px 15px;font-size:11px;font-weight:600;display:flex}.session-dialog-field input{border:1px solid var(--color-line);border-radius:7px;height:34px;padding:0 9px;font-size:12px;font-weight:400}.session-dialog-field input:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #4176e61f}.session-dialog-target{text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);background:var(--color-soft);font:11px var(--font-mono);border-radius:7px;margin:5px 17px 15px;padding:9px;overflow:hidden}.session-dialog-actions{border-top:1px solid #0000000f;justify-content:flex-end;gap:7px;padding:11px 17px 15px;display:flex}.session-dialog-actions button{border:1px solid var(--color-line);border-radius:7px;height:30px;padding:0 11px;font-size:11px}.session-dialog-actions button.primary{border-color:var(--color-ink);color:#fff;background:var(--color-ink)}.session-dialog-actions button.danger{color:var(--color-red);background:#fff5f5;border-color:#b91c1c33}.config-editor{flex-direction:column;min-height:0;display:flex}.toml-toolbar>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toml-toolbar strong{color:var(--color-ink);font-size:12px}.toml-toolbar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.config-state{color:var(--color-blue);font:10px var(--font-mono);margin:-3px 0 9px}.config-state.error{color:var(--color-red)}.config-source{resize:vertical;white-space:pre;color:#334155;border:1px solid var(--color-line);width:100%;min-height:420px;font:11px/1.7 var(--font-mono);background:#f8fafc;border-radius:10px;margin:0;padding:16px;display:block;overflow:auto}.config-source:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #4176e61f}.config-source-editor{flex-direction:column;gap:8px;display:flex}.config-source-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.config-source-actions small{color:var(--color-muted);font-size:10.5px}.config-source-actions button{color:#fff;background:var(--color-ink);border-radius:7px;flex:none;height:30px;padding:0 11px;font-size:11px}.config-sections{grid-template-columns:1fr 1fr;gap:12px;display:grid}.config-section{border:1px solid var(--color-line);background:#fff;border-radius:10px;padding:13px}.config-section:last-child{grid-column:1/-1}.config-section>header{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.config-section>header strong{font-size:12.5px}.config-section>header small,.config-toggle small{color:var(--color-muted);font-size:10.5px}.config-field{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;gap:12px;min-height:35px;font-size:11.5px;display:flex}.config-field:last-child{border-bottom:0}.config-field select{border:1px solid var(--color-line);background:#fff;border-radius:6px;max-width:65%;padding:5px 7px;font-size:11px}.config-toggle{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;gap:14px;padding:7px 0;display:flex}.config-toggle:last-child{border-bottom:0}.config-toggle span{flex-direction:column;gap:2px;display:flex}.config-toggle strong{font-size:11.5px}.config-toggle input{width:16px;height:16px;accent-color:var(--color-blue)}.session-batch-bar,.session-pagination{color:var(--color-muted);align-items:center;gap:7px;padding:7px 12px;font-size:11px;display:flex}.session-batch-bar button,.session-pagination button{border:1px solid var(--color-line);background:#fff;border-radius:6px;padding:4px 8px;font-size:11px}.session-batch-bar button.danger{color:var(--color-red)}.session-pagination{justify-content:space-between}.session-row:hover{background:#f1f3f5}.session-row.active{background:#ebeef2}.session-dot{background:#cfd3d6;border-radius:50%;flex:none;width:6px;height:6px}.session-dot.running{animation:var(--animate-pulse-soft);background:var(--color-green)}.session-dot.ok{background:var(--color-green)}.session-dot.warn{background:var(--color-amber)}.session-dot.error{background:var(--color-red)}.session-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.session-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.session-copy small{text-overflow:ellipsis;white-space:nowrap;color:var(--color-faint);font:10px var(--font-mono);overflow:hidden}.runtime-cells{color:var(--color-faint);font:9.5px var(--font-mono);border-top:1px solid #0000000f;flex-wrap:wrap;gap:4px 12px;padding:8px 19px 9px;display:flex}.runtime-cells span{gap:5px;display:flex}.runtime-cells b{font-weight:400}.runtime-cells strong{color:#61666b;font-weight:400}.sidebar-footer{border-top:1px solid #0000000f;flex-direction:column;gap:2px;padding:6px 10px 8px;display:flex}.sidebar-link{text-align:left;border-radius:8px;align-items:center;gap:9px;height:30px;padding:0 9px;font-size:12.5px;display:flex}.compact-new-session{display:none}.sidebar-link:hover{background:#f1f3f5}.sidebar-link span:nth-child(2){flex:1}.sidebar-link b{color:#61666b;font-weight:400;font:10px var(--font-mono);background:#ebeef2;border-radius:20px;padding:1px 6px}.link-glyph{color:var(--color-blue);font:11.5px var(--font-mono)}.main-pane{flex-direction:column;flex:1;min-width:0;display:flex}.main-header{border-bottom:1px solid #0000000f;flex:0 0 48px;align-items:center;gap:12px;height:48px;padding:0 24px;display:flex;position:relative}.refresh-warning{color:#7c5622;background:#fffaf0;border-bottom:1px solid #f3d7aa;flex:none;align-items:center;gap:12px;min-height:42px;padding:8px 24px;font-size:11.5px;display:flex}.refresh-warning span{flex:1;min-width:0}.refresh-warning strong{color:#8a4b12;margin-right:6px}.refresh-warning button{color:#8a4b12;background:#fff;border:1px solid #e8c58c;border-radius:7px;flex:none;min-height:30px;padding:4px 10px}.initial-loading{color:var(--color-muted);font:11.5px var(--font-mono);flex:1;justify-content:center;align-items:center;gap:9px;display:flex}.initial-loading>span{border-top-color:var(--color-blue);border:2px solid #d9e2f4;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite control-room-spin}@keyframes control-room-spin{to{transform:rotate(360deg)}}.active-heading{flex-direction:column;min-width:0;display:flex}.active-heading strong,.active-heading small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.active-heading strong{font-size:13px;font-weight:600}.active-heading small{color:var(--color-faint);font:10px var(--font-mono)}.header-spacer{flex:1}.run-indicator{color:#61666b;font:10.5px var(--font-mono);flex:none;align-items:center;gap:6px;display:flex}.run-indicator .run-dot{width:6px;height:6px;animation:var(--animate-pulse-soft);background:var(--color-green);border-radius:50%}.run-indicator>span:not(.run-dot){white-space:nowrap}.run-indicator button{color:var(--color-red);border:1px solid #ec13133d;border-radius:6px;padding:2px 8px;font-size:11px}.run-indicator.running .run-dot{background:var(--color-blue)}.view-tabs{background:#f1f3f5;border-radius:8px;gap:2px;padding:2px;display:flex}.view-tab{color:var(--color-muted);border-radius:6px;padding:4px 11px;font-size:12px}.view-tab.active{color:var(--color-ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.header-divider{background:#00000014;flex:none;width:1px;height:18px}.session-menu,.details-toggle{color:#61666b;background:#fff;border:1px solid #0000001a;border-radius:8px;height:28px}.session-menu{width:28px;font-size:15px;position:relative}.details-toggle{padding:0 9px;font-size:12px}.session-menu:hover,.details-toggle:hover{background:#f1f3f5}.view-host,.view-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-scroll{flex:1;min-height:0;padding:20px 24px 4px;overflow-y:auto}.turn{max-width:748px;margin:0 auto 16px;font-size:13.5px;line-height:1.78}.turn.user{justify-content:flex-end;display:flex}.user-bubble{white-space:pre-wrap;background:var(--color-blue-soft);border-radius:10px;max-width:84%;padding:10px 14px}.pending-turn .user-bubble{opacity:.72}.turn-markdown{min-width:0;margin:0;font-size:13.5px;line-height:1.78}.turn-markdown p{white-space:pre-wrap;margin:0 0 10px}.turn-markdown p:last-child{margin-bottom:0}.turn-markdown h1,.turn-markdown h2,.turn-markdown h3,.turn-markdown h4,.turn-markdown h5,.turn-markdown h6{margin:16px 0 8px;font-weight:600;line-height:1.35}.turn-markdown h1{font-size:20px}.turn-markdown h2{font-size:17px}.turn-markdown h3{font-size:15px}.turn-markdown h4,.turn-markdown h5,.turn-markdown h6{font-size:13.5px}.turn-markdown ul,.turn-markdown ol{margin:0 0 10px;padding-left:22px}.turn-markdown li{padding-left:3px}.turn-markdown blockquote{color:#61666b;border-left:2px solid #d9e2f4;margin:0 0 10px;padding-left:12px}.turn-markdown code{font:12px var(--font-mono);background:#f1f3f5;border-radius:4px;padding:1px 4px}.turn-markdown .markdown-code{white-space:pre;color:#e5e7eb;line-height:1.6;font:12px var(--font-mono);background:#111827;border-radius:8px;margin:0 0 12px;padding:12px 14px;overflow:auto}.turn-markdown .markdown-code code{color:inherit;background:0 0;padding:0}.turn-markdown a{color:var(--color-blue);text-underline-offset:2px;text-decoration:underline}.reasoning-head{color:var(--color-muted);align-items:center;gap:6px;padding:0;font-size:11.5px;display:flex}.reasoning-head .caret{color:var(--color-faint);font-size:9px}.reasoning-body{white-space:pre-wrap;color:#61666b;border-left:2px solid #ebeef2;margin:6px 0 0;padding-left:11px;font-size:12.5px;line-height:1.75;display:none}.reasoning[open] .reasoning-body{display:block}.message-reasoning{margin-bottom:10px}.message-reasoning .reasoning-body{margin-top:6px}.visually-hidden{white-space:nowrap;clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.streaming-placeholder{color:var(--color-muted);font-size:12px}.plugin-event{height:30px;color:var(--color-blue);font:11px var(--font-mono);background:#f7faff;border:1px dashed #4176e659;border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.plugin-event>span:last-child{text-overflow:ellipsis;white-space:nowrap;color:#61666b;font:12px var(--font-sans);overflow:hidden}.plugin-hook{background:#e4edfd;border-radius:4px;padding:1px 6px;color:#687381!important;font:10px var(--font-mono)!important}.tool-card,.approval-card,.subagent-card,.todo-card{border:1px solid var(--color-line);background:#fff;border-radius:10px;overflow:hidden}.tool-head,.subagent-head{text-align:left;background:#fff;align-items:center;gap:9px;width:100%;min-height:34px;padding:7px 11px;display:flex}.tool-head{font:11.5px var(--font-mono)}.tool-glyph{width:12px;color:var(--color-muted)}.tool-target,.subagent-goal{text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);font-size:11px;overflow:hidden}.tool-head .tool-target,.subagent-goal{flex:1}.tool-stat{color:var(--color-muted)}.tool-detail-link{color:var(--color-blue);font:10.5px var(--font-sans)}.tool-output,.diff-preview,.toml{word-break:break-word;white-space:pre-wrap;color:#61666b;background:var(--color-soft);font:11.5px/1.7 var(--font-mono);border-top:1px solid #0000000f;margin:0;padding:10px 12px}.diff-line{font:11.5px/1.7 var(--font-mono);gap:10px;padding:0 8px;display:flex}.diff-line.added{background:#e6faed}.diff-line.removed{background:#fff0f0}.diff-no{text-align:right;width:30px;color:var(--color-faint)}.diff-sign{width:8px;color:var(--color-green)}.diff-line.removed .diff-sign{color:var(--color-red)}.approval-card{background:#fffaf0;border-color:#f59e0b66;padding:11px 13px}.approval-card pre{background:0 0;border:0;padding:8px 0}.approval-actions{gap:7px;margin-top:4px;display:flex}.approval-actions button{border:1px solid var(--color-line);background:#fff;border-radius:7px;padding:5px 11px;font-size:11.5px}.approval-actions .primary{color:#fff;background:var(--color-ink)}.approval-actions .danger{color:var(--color-red)}.subagent-head{font-size:12.5px}.subagent-glyph{color:#3565c5;font:11px var(--font-mono)}.subagent-preset{color:#687381;font:10.5px var(--font-mono);background:#e4edfd;border-radius:4px;padding:1px 6px}.subagent-duration{color:var(--color-faint);font:10.5px var(--font-mono)}.subagent-body{border-top:1px solid #0000000f;padding:4px 11px 9px;display:block}.subagent-lineage{color:var(--color-faint);font:10px var(--font-mono);padding:6px 0 4px;display:block}.subagent-step{border-left:2px solid #e4edfd;align-items:center;gap:8px;padding:4px 0 4px 10px;display:flex}.subagent-step code{width:42px;color:var(--color-muted);font:10.5px var(--font-mono)}.subagent-step span{text-overflow:ellipsis;white-space:nowrap;color:#61666b;font:11px var(--font-mono);flex:1;overflow:hidden}.subagent-step small{color:var(--color-faint);font:10px var(--font-mono)}.subagent-body p{border-top:1px solid #0000000f;margin:8px 0 0;padding-top:8px}.todo-head{border-bottom:1px solid #0000000f;align-items:center;gap:8px;height:32px;padding:0 11px;display:flex}.todo-head small{color:var(--color-faint);font:10.5px var(--font-mono)}.todo-row{border-bottom:1px solid #0000000a;align-items:flex-start;gap:9px;padding:7px 11px;display:flex}.todo-row.done{color:var(--color-muted);text-decoration:line-through}.todo-mark{color:var(--color-green);font:11px var(--font-mono)}.stats-row{color:var(--color-faint);font:10.5px var(--font-mono);flex-wrap:wrap;gap:14px;display:flex}.composer-wrap{flex:none;padding:8px 24px 14px}.composer-stack{width:100%;max-width:960px;margin:0 auto;position:relative}.context-line{max-width:748px;color:var(--color-faint);font:10.5px var(--font-mono);align-items:center;gap:9px;margin:0 auto 8px;display:flex}.context-line b{color:var(--color-muted);font-weight:400}.context-line button{color:var(--color-blue);padding:0;font-size:11px}.context-bar{background:#ebeef2;border-radius:3px;flex:1;height:4px;display:flex;overflow:hidden}.context-bar i{height:100%}.context-bar.expanded{height:8px}.context-breakdown{max-width:748px;color:var(--color-faint);font:10px var(--font-mono);gap:14px;margin:-2px auto 8px;display:flex}.context-breakdown span{align-items:center;gap:4px;display:inline-flex}.context-breakdown b{color:var(--color-muted);font-weight:400}.composer{background:#fff;border:1px solid #0000001f;border-radius:10px;max-width:748px;margin:0 auto;position:relative;overflow:visible;box-shadow:0 1px 2px #00000008}.composer textarea{resize:none;width:100%;min-height:65px;max-height:180px;color:var(--color-ink);background:0 0;border:0;padding:11px 13px 4px;font-size:13.5px;line-height:1.7;display:block;overflow-y:auto}.composer-tools{align-items:center;gap:6px;padding:6px 8px 8px;display:flex}.composer-tools select,.tool-chip{height:26px;font:11px var(--font-mono);background:#fff;border:1px solid #0000001a;border-radius:7px;padding:0 7px}.tool-chip{font-family:var(--font-sans);color:#61666b;padding:0 9px;font-size:11.5px}.composer-hint{text-align:right;color:#687381;font:10px var(--font-mono);flex:1}.send-button{color:#fff;background:var(--color-ink);border-radius:8px;width:28px;height:28px;font-size:15px}.send-button:disabled{cursor:not-allowed;opacity:.45}.prompt-completion{z-index:30;background:#fff;border:1px solid #0f172a24;border-radius:10px;max-height:300px;padding:7px;position:absolute;bottom:calc(100% + 8px);left:8px;right:8px;overflow:auto;box-shadow:0 14px 36px #0f172a2e}.prompt-completion>small{letter-spacing:.08em;color:var(--color-faint);font:10px var(--font-mono);padding:5px 8px 7px;display:block}.prompt-completion button{text-align:left;border-radius:7px;align-items:baseline;gap:12px;width:100%;min-height:38px;padding:8px;display:flex}.prompt-completion button[aria-selected=true]{color:var(--color-blue);background:var(--color-blue-soft)}.prompt-completion button strong{text-overflow:ellipsis;white-space:nowrap;width:210px;font:11px var(--font-mono);flex:none;overflow:hidden}.prompt-completion button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-muted);font-size:11px;overflow:hidden}.prompt-completion-empty{color:var(--color-faint);padding:9px 8px;font-size:11px;display:block}.new-session-screen{text-align:center;flex-direction:column;align-items:center;gap:11px;max-width:580px;margin:0 auto;padding:40px 0;display:flex}.new-session-screen h2{margin:0;font-size:16.5px}.new-session-screen p{color:var(--color-muted);margin:0}.workspace-picker{text-align:left;gap:6px;width:100%;margin-top:12px;display:grid}.workspace-row{text-align:left;border:1px solid var(--color-line);background:#fff;border-radius:9px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.workspace-row:hover{background:var(--color-soft);border-color:#4176e666}.workspace-row code{text-overflow:ellipsis;white-space:nowrap;font:12px var(--font-mono);flex:1;overflow:hidden}.workspace-row small{color:var(--color-faint);font:10px var(--font-mono);margin-top:3px;display:block}.workspace-row .offline{color:#687381}.effective-config{text-align:left;background:var(--color-soft);border:1px solid #00000014;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:9px 12px;display:flex}.effective-config code{color:var(--color-faint);font:10.5px var(--font-mono)}.effective-config span{color:#61666b;font:10.5px var(--font-mono)}.trajectory-summary{color:var(--color-muted);border-bottom:1px solid var(--color-line);flex:none;padding:12px 24px 10px;font-size:11.5px}.trajectory-summary b{color:var(--color-faint);font-weight:400;font:10.5px var(--font-mono);margin-left:9px}.timeline{gap:3px;height:26px;margin-top:8px;display:flex}.timeline-turn{background:#ebeef2;border-radius:3px;align-items:stretch;padding:0;display:flex;overflow:hidden}.timeline-strip{opacity:.9;width:100%;display:block}.source-filters{border-bottom:1px solid var(--color-line);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:9px 24px;display:flex}.filter{color:var(--color-muted);border:1px solid #0000001a;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:flex}.filter.active{color:var(--color-blue);background:var(--color-blue-soft);border-color:#4176e659}.filter b{color:var(--color-faint);font-weight:400;font:10px var(--font-mono)}.event-count{color:var(--color-faint);font:10.5px var(--font-mono);margin-left:auto}.event-table{flex:1;min-height:0;overflow:auto}.event-head,.event-row{grid-template-columns:78px 132px 1fr 88px 68px;align-items:center;gap:12px;padding:7px 24px;display:grid}.event-head{letter-spacing:.04em;color:var(--color-faint);text-transform:uppercase;background:var(--color-soft);font:10px var(--font-mono);border-bottom:1px solid #0000000f}.event-row{text-align:left;border-bottom:1px solid #0000000a;width:100%;font-size:12px}.event-row:hover{background:var(--color-soft)}.event-row>span,.event-row code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-row>span:first-child,.event-row>span:last-child{color:var(--color-faint);font:10.5px var(--font-mono)}.event-row strong{text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.event-row>span:nth-child(2){color:#61666b;font:11px var(--font-mono);align-items:center;gap:7px;display:flex}.event-dot{background:var(--color-blue);border-radius:2px;flex:none;width:6px;height:6px}.files-content{flex:1;width:100%;max-width:none;min-height:0;padding:24px;overflow:auto}.files-title{align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.files-title strong{font-size:13px}.files-title span{color:var(--color-faint);font:11px var(--font-mono)}.file-list{border:1px solid var(--color-line);border-radius:10px;overflow:hidden}.file-row{border-bottom:1px solid #0000000a;align-items:center;gap:12px;padding:10px 13px;display:flex}.file-row:last-child{border-bottom:0}.file-row code{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:12px var(--font-mono);flex:1;overflow:hidden}.file-kind{color:#61666b;font:10px var(--font-mono);background:#f1f3f5;border-radius:4px;padding:1px 6px}.file-kind.new{color:#14733f;background:#e6faed}.file-row .add{color:var(--color-green);font:11px var(--font-mono)}.file-row .del{color:var(--color-red);font:11px var(--font-mono)}.diff-button{color:var(--color-blue);font-size:11.5px}.file-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.file-actions input{border:1px solid var(--color-line);background:#fff;border-radius:7px;flex:1;min-width:180px;height:34px;padding:0 10px;font-size:12px}.file-actions input:focus{border-color:var(--color-blue)}.file-actions button{border:1px solid var(--color-line);background:#fff;border-radius:7px;min-height:34px;padding:6px 11px;font-size:11.5px}.file-actions .primary{color:#fff;background:var(--color-ink)}.files-error{color:#8f2b2b;background:#fff8f8;border:1px solid #ec131329;border-radius:8px;margin:12px 0 0;padding:9px 11px;font-size:11.5px}.details-panel{background:#fff;border-left:1px solid #0000001a;flex-direction:column;flex:0 336px;width:336px;min-width:268px;min-height:0;display:flex}.details-panel>header{border-bottom:1px solid #0000000f;flex:0 0 56px;align-items:center;gap:8px;height:56px;padding:0 12px 0 16px;display:flex}.details-panel>header strong{flex:1;font-size:13px}.details-panel>header button{width:32px;height:32px;color:var(--color-muted);border-radius:7px;flex:none;place-items:center;font-size:19px;line-height:1;display:grid}.details-panel>header button:hover{background:var(--color-soft)}.details-body{flex:1;min-height:0;padding:16px;overflow:auto}.detail-stats{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px;display:grid}.detail-stats>div{border:1px solid #00000014;border-radius:8px;padding:9px}.detail-stats small,.detail-section>small{letter-spacing:.04em;color:var(--color-faint);font:9.5px var(--font-mono);display:block}.detail-stats b{font-weight:400;font:12.5px var(--font-mono);margin-top:2px;display:block}.detail-section{flex-direction:column;gap:5px;margin-top:14px;display:flex}.detail-plugin{overflow-wrap:anywhere;color:var(--color-blue);font:10.5px var(--font-mono);border:1px solid #00000014;border-radius:8px;padding:6px 9px;display:block}.raw-json{margin:14px 0 0}.plugins-view{min-width:0}.plugins-page{flex-direction:column;flex:1;min-height:0;display:flex}.subnav{min-height:48px;color:var(--color-muted);border-bottom:1px solid var(--color-line);flex:none;align-items:center;gap:12px;padding:8px 24px;font-size:11.5px;display:flex}.subnav>a{color:var(--color-blue);margin-left:auto}.subnav.plugin-detail-subnav{justify-content:flex-start;padding-inline:24px}.subnav.plugin-detail-subnav>a{margin-left:0}.plugin-detail-content{width:100%;max-width:none;margin:0;padding:32px 24px;container-type:inline-size}.plugin-detail-content>header{min-height:207px}@container (width<=600px){.plugin-detail-content>header{min-height:235px}}@container (width<=500px){.plugin-detail-content>header{min-height:299px}}@container (width<=320px){.plugin-detail-content>header{min-height:345px}}.plugin-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.plugin-detail-action{color:#20252b;background:#fff;border:1px solid #0000001a;border-radius:6px;min-height:36px;padding:6px 12px;font-size:12px}.plugin-detail-action:hover{background:#f8faff;border-color:#4176e652}.plugin-detail-action.primary{color:#fff;background:#20252b;border-color:#20252b}.plugin-detail-action.primary:hover{background:#343a42;border-color:#343a42}.plugin-detail-action.danger{color:#b42318;background:#fff5f5;border-color:#f0caca}.plugin-detail-action.danger:hover{background:#ffeded;border-color:#e7abab}.segmented{background:#f1f3f5;border-radius:8px;gap:2px;padding:2px;display:flex}.segmented button{min-height:28px;color:var(--color-muted);border-radius:6px;padding:4px 12px;font-size:12px}.segmented button.active{color:var(--color-ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.plugins-scroll{flex:1;padding:16px 24px 24px;overflow:auto}.plugins-toolbar{border-bottom:1px solid var(--color-line);background:#fff;align-items:center;gap:12px;padding:12px 24px;display:flex}.plugins-toolbar input{border:1px solid #0000001f;border-radius:8px;flex:1;min-width:220px;height:38px;padding:0 12px;font-size:12.5px}.plugins-toolbar input:focus{border-color:#4176e68c;box-shadow:0 0 0 3px #4176e61a}.plugins-toolbar>span{color:var(--color-faint);font:10.5px var(--font-mono);flex:none}.plugins-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:1fr;gap:16px;width:100%;display:grid}.plugin-card{border:1px solid var(--color-line);background:#fff;border-radius:10px;flex-direction:column;height:100%;min-height:226px;padding:16px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.plugin-card:hover{border-color:#4176e652;transform:translateY(-1px);box-shadow:0 8px 22px #0f11150f}.plugin-card-head{align-items:flex-start;gap:12px;display:flex}.plugin-heading{align-items:flex-start;gap:12px;min-width:0;display:flex}.plugin-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.plugin-switch-button{border-radius:7px;flex:0 0 36px;place-items:center;width:36px;height:28px;display:grid}.plugin-switch-button:hover{background:var(--color-soft)}.plugin-icon{color:var(--color-blue);font:14px var(--font-mono);margin-top:2px}.plugin-copy{flex:1;min-width:0}.plugin-card-body{min-width:0}.plugin-title{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.plugin-title strong{font-size:14px;font-weight:600;line-height:1.4}.plugin-state{color:#687381;font:10px var(--font-mono);background:#eef0f3;border-radius:4px;padding:1px 6px}.plugin-state.active{color:#14733f;background:#e6faed}.plugin-package{overflow-wrap:anywhere;color:#61666b;font:10.5px var(--font-mono);margin-top:8px;display:block}.capability,.update,.local{color:#61666b;background:#ebeef2;border-radius:4px;padding:1px 6px;font-size:10px}.update{color:var(--color-blue);background:var(--color-blue-soft)}.local{color:#9a6700;font:10px var(--font-mono);background:#fef5e7}.plugin-description{color:var(--color-muted);margin:8px 0 12px;font-size:13px;line-height:1.6}.hook-list{flex-wrap:wrap;gap:5px;display:flex}.hook-list span{color:var(--color-muted);font:10px var(--font-mono);border:1px solid #00000014;border-radius:4px;padding:1px 6px}.plugin-card-footer{border-top:1px solid #0000000f;justify-content:space-between;align-items:flex-end;gap:12px;min-height:32px;margin-top:auto;padding-top:12px;display:flex}.plugin-card-footer>span{letter-spacing:.04em;color:var(--color-faint);font:10px var(--font-mono)}.plugin-detail-link{min-height:28px;color:var(--color-blue);align-items:center;font-size:11.5px;display:inline-flex}.switch{background:#cfd3d6;border-radius:999px;flex:0 0 36px;width:36px;height:22px;position:relative}.switch.on{background:var(--color-ink)}.switch i{background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch.on i{left:16px}.settings-overlay{z-index:40;background:#0000003d;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.global-search{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a52;place-items:start center;padding:12vh 40px 40px;display:grid;position:fixed;inset:0}.global-search-dialog{background:#fff;border:1px solid #0f172a24;border-radius:10px;flex-direction:column;width:100%;max-width:920px;max-height:min(680px,100vh - 96px);display:flex;overflow:hidden;box-shadow:0 28px 80px #0f172a42}.global-search-heading{align-items:baseline;gap:10px;padding:16px 18px 10px;display:flex}.global-search-heading strong{font-size:14px}.global-search-heading small{color:var(--color-muted);font-size:11px}.global-search-dialog>input{width:100%;height:52px;color:var(--color-ink);border-bottom:1px solid var(--color-line);font:14px var(--font-sans);background:#fff;border:0;flex:none;padding:0 18px}.global-search-dialog>input:focus-visible{outline-offset:-3px}.global-search-results{min-height:0;padding:8px 10px 12px;overflow:auto}.global-search-group{padding:0 0 8px}.global-search-group>small{letter-spacing:.08em;color:var(--color-faint);font:10px var(--font-mono);padding:6px 8px 7px;display:block}.global-search-group button{text-align:left;border-radius:8px;align-items:baseline;gap:18px;width:100%;min-height:44px;padding:10px 12px;line-height:1.45;display:flex}.global-search-group button[aria-selected=true]{background:var(--color-blue-soft)}.global-search-group button strong{text-overflow:ellipsis;white-space:nowrap;width:260px;color:var(--color-ink);font:12px var(--font-mono);flex:none;overflow:hidden}.global-search-group button[aria-selected=true] strong{color:var(--color-blue)}.global-search-group button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-muted);font:12px var(--font-sans);overflow:hidden}.settings-page{background:#f8fafc;flex:1;min-width:0;display:flex}.settings-page .settings-dialog{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border-radius:0;flex-direction:column}.settings-top-tabs{border-bottom:1px solid var(--color-line);background:#fff;flex:none;align-items:center;gap:4px;height:48px;padding:0 24px;display:flex}.settings-top-tabs .settings-tab{border-radius:7px;height:30px;padding:0 12px;font-size:12px}.settings-top-tabs .settings-tab.active{color:var(--color-blue);background:var(--color-blue-soft)}.settings-top-tabs .settings-tab b{float:none;margin-left:4px}.settings-back{color:var(--color-blue);background:var(--color-blue-soft);border:1px solid #4176e647;border-radius:7px;padding:4px 9px;font-size:11px}.settings-back:hover{background:#e1ebff}.settings-dialog{background:#fff;border-radius:10px;width:100%;max-width:880px;height:100%;max-height:620px;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000003d}.settings-dialog>aside{background:var(--color-soft);border-right:1px solid #0000000f;flex-direction:column;flex:0 0 184px;gap:2px;width:184px;padding:12px 8px;display:flex}.settings-dialog>aside>strong{padding:4px 9px 10px;font-size:13px}.settings-tab{text-align:left;border-radius:8px;height:30px;padding:0 9px;font-size:12.5px}.settings-tab.active{background:#f1f3f5;font-weight:600}.settings-tab b{float:right;color:#61666b;font-weight:400;font:10px var(--font-mono)}.settings-dialog>section{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.settings-dialog section>header{border-bottom:1px solid #0000000f;justify-content:flex-start;align-items:center;gap:16px;height:52px;padding:0 24px;display:flex}.settings-header-copy{align-items:baseline;gap:10px;min-width:0;display:flex}.settings-header-copy strong{flex:none;font-size:13px}.settings-header-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-muted);font-size:11px;overflow:hidden}.settings-dialog section>header button{color:var(--color-muted);flex:none;font-size:12px}.settings-dialog section>header .settings-back{color:var(--color-blue);background:0 0;border:0;border-radius:0;padding:0;font-size:11px}.settings-body{flex:1;padding:16px 24px 24px;overflow:auto}.settings-intro{border-bottom:1px solid var(--color-line);padding:5px 0 11px}.settings-intro small{color:var(--color-faint);font:9.5px var(--font-mono)}.settings-intro h3{font-weight:500;font:13px var(--font-mono);margin:4px 0}.settings-intro p{color:var(--color-muted);margin:0;font-size:12px}.general-row{border-bottom:1px solid #0000000f;align-items:center;gap:12px;padding:12px 0;display:flex}.general-row>div{flex:1}.general-row strong{font-size:12.5px;display:block}.general-row small{color:var(--color-muted);margin-top:2px;font-size:11.5px;display:block}.setting-status{color:#61666b;font:10.5px var(--font-mono);background:#ebeef2;border-radius:999px;flex:none;padding:3px 8px}.setting-status.on{color:#14733f;background:#eaf8f0}.general-row small.setting-error{color:#b42318}.provider-card{border:1px solid var(--color-line);border-radius:10px;margin-bottom:12px;padding:12px 13px}.provider-add-head{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:11px 12px 10px;display:flex}.provider-add-head>div{flex-direction:column;gap:2px;display:flex}.provider-add-head strong{font-size:12px}.provider-add-head>button{color:#fff;background:var(--color-ink);border-radius:7px;height:30px;padding:0 11px;font-size:11px}.provider-add-head small,.provider-add-form small{color:var(--color-faint);font-size:10px}.provider-add-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;display:grid}.provider-add-overlay{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a52;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.provider-add-modal{background:#fff;border:1px solid #0f172a24;border-radius:10px;width:min(100%,640px);max-height:calc(100vh - 64px);padding:18px;overflow:auto;box-shadow:0 28px 80px #0f172a42}.provider-add-modal>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.provider-add-modal>header>div{flex-direction:column;gap:3px;display:flex}.provider-add-modal>header strong{font-size:14px}.provider-add-modal>header small{color:var(--color-faint);font-size:10.5px}.provider-add-modal>header button{width:26px;height:26px;color:var(--color-muted);border-radius:7px;font-size:18px}.provider-add-modal .provider-add-form{width:100%;margin:0;padding:0}.provider-add-form label{flex-direction:column;gap:5px;min-width:0;display:flex}.provider-add-form label>span{color:var(--color-muted);font-size:10.5px;font-weight:600}.provider-add-form input,.provider-add-form select,.provider-add-form button{border:1px solid var(--color-line);background:#fff;border-radius:7px;min-width:0;height:32px;padding:0 9px;font-size:11px}.provider-add-form input:focus,.provider-add-form select:focus{border-color:var(--color-blue)}.provider-add-wide,.provider-add-actions{grid-column:1/-1}.provider-add-actions{align-items:center;gap:10px;display:flex}.provider-add-actions button{width:140px}.provider-add-actions small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.provider-add-form button{border-color:var(--color-ink);color:#fff;background:var(--color-ink)}.provider-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.provider-dot{color:var(--color-green);font-size:10px}.provider-head strong{font-size:12.5px}.provider-state{color:var(--color-green);font:10.5px var(--font-mono);margin-left:auto}.provider-field{align-items:center;gap:8px;margin-top:7px;display:flex}.provider-field code{color:#61666b;width:66px;font:11px var(--font-mono);flex:0 0 66px}.provider-field input{min-width:0;height:32px;font:11.5px var(--font-mono);background:#fff;border:1px solid #0000001a;border-radius:7px;flex:1;padding:0 9px}.provider-model-value{min-width:0;min-height:32px;font:11.5px var(--font-mono);background:#fff;border:1px solid #0000001a;border-radius:7px;flex:1;align-items:center;gap:7px;padding:4px 8px;display:flex}.provider-model-value>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.provider-models-details{font:10px var(--font-sans);flex:none;margin-left:auto;position:relative}.provider-models-details summary{cursor:pointer;white-space:nowrap;color:var(--color-blue)}.provider-models-details .model-chips{z-index:2;border:1px solid var(--color-line);background:#fff;border-radius:8px;width:280px;max-height:160px;margin:0;padding:8px;position:absolute;top:22px;right:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.provider-footer{align-items:center;gap:8px;margin-top:9px;display:flex}.provider-footer code{color:var(--color-muted);font:10.5px var(--font-mono)}.provider-footer button{border:1px solid var(--color-line);background:#fff;border-radius:7px;padding:4px 9px;font-size:11px}.provider-footer button:disabled{cursor:not-allowed;opacity:.5}.provider-footer .link-button{color:var(--color-blue);border:0;margin-left:auto}.model-chips{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.model-chips span{color:var(--color-blue);font:10.5px var(--font-mono);background:#e4edfd;border-radius:4px;padding:1px 7px}.add-provider{text-align:left;color:#61666b;border:1px dashed #00000029;border-radius:10px;align-items:center;gap:9px;width:100%;padding:11px 13px;display:flex}.add-provider small{color:var(--color-faint);font:10.5px var(--font-mono);margin-left:auto}.toml-toolbar{color:var(--color-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:11.5px;display:flex}.toml-toolbar span{flex:1}.toml-toolbar button{border:1px solid var(--color-line);background:#fff;border-radius:7px;padding:4px 9px;font-size:11px}.toml-toolbar button.active{background:#f1f3f5;font-weight:600}.toml-toolbar .primary{color:#fff;background:var(--color-ink)}.toml{color:#61666b;border:1px solid var(--color-line);border-radius:9px;min-height:420px}.session-search{z-index:20;position:relative}.command-palette{background:#fff;border:1px solid #0f172a24;border-radius:10px;max-height:420px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 40px #0f172a2e}.palette-group{padding:8px}.palette-group small{z-index:1;letter-spacing:.08em;color:var(--color-faint);font:10px var(--font-mono);background:#fff;padding:5px 8px 9px;display:block;position:sticky;top:0}.palette-group small span{letter-spacing:0;color:#687381}.palette-group button{text-align:left;width:100%;min-height:44px;line-height:1.45;font:12px var(--font-mono);border-radius:8px;align-items:baseline;gap:14px;padding:10px 12px;display:flex}.palette-group button[aria-selected=true]{color:var(--color-blue);background:var(--color-blue-soft)}.palette-group button code{text-overflow:ellipsis;white-space:nowrap;width:150px;color:var(--color-ink);font:12px var(--font-mono);flex:none;overflow:hidden}.palette-group button[aria-selected=true] code{color:var(--color-blue)}.palette-group button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-muted);line-height:1.45;font:12px var(--font-sans);overflow:hidden}@media (width<=1100px){.details-panel,.details-toggle{display:none}}@media (width<=1024px){.composer-hint{display:none}}@media (width<=680px),(height<=845px) and (width>=681px) and (width<=760px),(height<=805px) and (width>=761px) and (width<=900px),(height<=747px) and (width>=901px) and (width<=1023px),(height<=664px) and (width>=1024px){.marketplace-page>div{overflow:auto}.marketplace-page .marketplace-scroll{flex:none;overflow:visible}}@media (height<=400px){.sidebar .runtime-cells{display:none}.sidebar .sidebar-footer{padding-top:2px;padding-bottom:2px}.sidebar .sidebar-scroll{padding-bottom:0}}@media (width<=900px){.config-sections{grid-template-columns:minmax(0,1fr)}.config-section:last-child{grid-column:auto}}@media (width<=760px){.sidebar{flex-basis:216px;width:216px}.main-header{gap:7px;padding:0 10px}.active-heading small{max-width:180px}.composer-wrap,.chat-scroll{padding-left:12px;padding-right:12px}.view-tabs{margin-left:auto}.composer-hint{display:none}}@media (width<=680px){.sidebar{flex-basis:54px;width:54px}.brand-row{justify-content:center;padding:0}.brand-row strong,.version,.sidebar-actions,.sidebar-scroll{display:none}.sidebar-footer{align-items:center;padding:6px 5px 8px;display:flex}.sidebar-link{flex:0 0 44px;justify-content:center;width:44px;padding:0}.compact-new-session{display:flex}.sidebar-link>span:nth-child(2),.sidebar-link>b,.sidebar-link>small,.sidebar-link>span:not(.link-glyph),.main-header .active-heading small,.run-indicator{display:none}.view-tab{padding:4px 7px}.details-panel{display:none}.composer-tools{justify-content:flex-end}.palette-group button code{width:132px}.global-search{place-items:center;padding:16px}.global-search-dialog{max-height:calc(100vh - 32px)}.global-search-group button strong{width:132px}.tool-chip{white-space:nowrap;padding-left:6px;padding-right:6px;font-size:10.5px}.plugins-toolbar{flex-wrap:wrap}.plugins-toolbar input{flex-basis:100%;min-width:0}}@media (width<=760px){.settings-overlay{padding:12px}.settings-dialog{max-height:none}}@media (prefers-reduced-motion:reduce){.session-dot.running,.run-indicator .run-dot,.initial-loading>span{animation:none}}.empty-state{text-align:center;color:var(--color-muted);padding:28px 16px;font-size:12px}.settings-plugin-row{color:#61666b;font:11.5px var(--font-mono);border-bottom:1px solid #0000000f;padding:8px 0}.settings-body>p{color:var(--color-muted);font-size:12px}.provider-card input{width:100%;height:32px;font:11.5px var(--font-mono);border:1px solid #0000001a;border-radius:7px;margin-top:7px;padding:0 9px;display:block}.stop-button{color:var(--color-red);border:1px solid #ec13133d;border-radius:6px;padding:2px 8px;font-size:11px}.stop-button:disabled{cursor:not-allowed;opacity:.45}.session-menu-popover{z-index:35;background:#fff;border:1px solid #0000001a;border-radius:10px;width:224px;position:absolute;top:calc(100% - 4px);right:24px;overflow:hidden;box-shadow:0 10px 28px #00000024}.main-header{background:#fff;flex-basis:54px;height:54px}.active-heading{gap:1px}.active-heading small{max-width:440px;color:var(--color-faint)}.runtime-cells{background:#fff;border:1px solid #00000012;border-radius:9px;grid-template-columns:1fr 1fr;gap:5px 10px;margin:4px 8px 6px;padding:9px 10px;display:grid}.runtime-cells span:first-child{grid-column:1/-1;min-width:0}.runtime-cells b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-row.active{background:#fff;border:1px solid #4176e624;box-shadow:0 1px 2px #00000008}.chat-scroll.is-empty{justify-content:center;align-items:center;padding-top:10px;display:flex}.new-session-screen{text-align:left;gap:12px;width:100%;max-width:700px;padding:24px 0 30px}.welcome-kicker{letter-spacing:.11em;color:var(--color-blue);font:10px var(--font-mono)}.welcome-heading{align-items:center;gap:12px;margin-bottom:3px;display:flex}.welcome-heading h2{letter-spacing:-.02em;margin:0;font-size:21px}.welcome-heading p{color:var(--color-muted);margin:4px 0 0;font-size:12.5px}.workspace-picker{margin-top:5px}.workspace-row{border-color:#4176e633;min-height:68px;padding:13px 14px;box-shadow:0 6px 20px #0f11150a}.workspace-row>span:nth-child(2){flex:1;min-width:0}.workspace-status{font:10px var(--font-mono);background:#e6faed;border-radius:5px;flex:none;padding:3px 7px}.workspace-row .live{color:#14733f}.workspace-arrow{color:var(--color-blue);font-size:16px}.effective-config{background:#f7f8fa;gap:9px;min-height:40px;padding:8px 11px}.effective-config .config-label{font-family:var(--font-sans);color:var(--color-muted)}.starter-grid{grid-template-columns:1fr 1fr;gap:9px;width:100%;margin-top:4px;display:grid}.starter-card{text-align:left;border:1px solid var(--color-starter-border);background:#fff;border-radius:10px;min-height:72px;padding:12px 13px;transition:background .12s,border-color .12s,transform .12s}.starter-card:hover{background:#f8faff;border-color:#4176e666;transform:translateY(-1px)}.starter-card strong,.starter-card small{display:block}.starter-card small{color:var(--color-muted);font:10.5px var(--font-mono);margin-top:4px}.composer-wrap{border-top:1px solid #0000000a;padding-top:10px}.context-line{gap:12px;max-width:800px;margin-bottom:7px}.context-label{color:var(--color-muted)}.context-metrics{text-overflow:ellipsis;white-space:nowrap;flex-wrap:wrap;flex:1;gap:10px;min-width:0;display:flex;overflow:hidden}.context-metrics span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-bar{display:none}.composer{border-radius:10px;max-width:800px;box-shadow:0 8px 24px #0f11150f}.composer textarea{min-height:74px;padding:13px 15px 5px;font-size:14px}.action-error{z-index:20;color:#8f2b2b;background:#fff8f8;border:1px solid #ec131329;border-radius:9px;flex-direction:column;gap:6px;max-width:800px;margin:0;padding:9px 11px;font-size:11.5px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0f11151a}.action-error-summary{align-items:baseline;gap:8px;display:flex}.action-error-summary strong{color:#b42318;flex:none;font-size:11.5px}.action-error-summary span{color:#a05b5b}.action-error details{min-width:0}.action-error summary{cursor:pointer;color:#b42318;font-size:10.5px}.action-error code{overflow-wrap:anywhere;white-space:pre-wrap;color:#8f2b2b;max-height:88px;font:10px var(--font-mono);margin-top:5px;display:block;overflow:auto}.marketplace-page{background:#f8fafc;min-height:0}.marketplace-page>div{background:#f8fafc}.marketplace-page .marketplace-grid{align-content:start}.marketplace-toolbar{background:#fff;border-bottom:1px solid #00000014;flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:12px 24px;display:flex}.marketplace-search{border:1px solid #0000001f;border-radius:8px;flex:1;min-width:220px;height:38px;padding:0 12px;font-size:12.5px}.marketplace-search:focus{border-color:#4176e68c;box-shadow:0 0 0 3px #4176e61a}.marketplace-filter{color:#61666b;background:#fff;border:1px solid #0000001f;border-radius:8px;height:38px;padding:0 12px;font-size:12.5px}.marketplace-count{color:var(--color-faint);font:10.5px var(--font-mono);margin-left:auto}.marketplace-categories{background:#fff;border-bottom:1px solid #00000014;flex-wrap:nowrap;flex:none;gap:4px;min-width:0;padding:8px 24px;display:flex;overflow-x:auto}.marketplace-category{color:#61666b;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:32px;padding:4px 8px;font-size:11px;display:flex}.marketplace-category:hover{background:#f1f4f9}.marketplace-category.active{color:#3565c5;background:#e4edfd;font-weight:500}.marketplace-scroll{flex:1;min-height:0;padding:0 24px 24px;overflow:auto}.marketplace-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:1fr;gap:16px;width:100%;padding-top:16px;display:grid}.marketplace-card{background:#fff;border:1px solid #0000001a;border-radius:10px;flex-direction:column;height:100%;min-height:226px;padding:16px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.catalog-card{min-height:307px}.marketplace-card:hover{border-color:#4176e652;transform:translateY(-1px);box-shadow:0 8px 22px #0f11150f}.marketplace-card-head{align-items:flex-start;gap:10px;display:flex}.marketplace-card-body{flex:1;min-width:0}.marketplace-card-mark{color:var(--color-blue);font:14px var(--font-mono)}.marketplace-title{font-size:14px;font-weight:600;line-height:1.4}.marketplace-package{overflow-wrap:anywhere;color:#61666b;font:10.5px var(--font-mono);margin-top:8px;display:block}.marketplace-description{color:var(--color-muted);margin:8px 0 12px;font-size:13px;line-height:1.6}.marketplace-tags{flex-wrap:wrap;gap:5px;display:flex}.marketplace-card-footer{min-height:40px;color:var(--color-faint);font:10.5px var(--font-mono);border-top:1px solid #0000000f;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.marketplace-card-footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.marketplace-card-footer a{min-height:28px;color:var(--color-blue);font:11px var(--font-sans);flex:none;align-items:center;display:inline-flex}.marketplace-card-footer span+a{margin-left:auto}.marketplace-card-footer button{min-height:28px;color:var(--color-blue);background:var(--color-blue-soft);border:1px solid #4176e64d;border-radius:6px;flex:none;padding:4px 10px;font-size:10.5px}.marketplace-card-footer button:hover{background:#e1ebff}.marketplace-pagination{color:#687381;font:11px var(--font-mono);justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.marketplace-pagination-button{color:#0f1115;min-height:32px;font:11px var(--font-sans);background:#fff;border:1px solid #0000001a;border-radius:6px;padding:4px 12px}.marketplace-pagination-button:hover:not(:disabled){background:#f8faff;border-color:#4176e652}.session-action{text-align:left;border-bottom:1px solid #0000000a;flex-direction:column;gap:1px;width:100%;padding:8px 11px;display:flex}.session-action:hover{background:var(--color-soft)}.session-action strong{font-size:12px}.session-action small{color:var(--color-faint);font-size:10px}.context-bar i:first-child{background:#c7d6f5;width:44%}.context-bar i:nth-child(2){background:#dce7fb;width:33%}.context-bar i:nth-child(3){background:#edf2fd;width:23%}.file-summary{color:var(--color-muted);font:10.5px var(--font-mono);margin:-8px 0 12px}.settings-note{color:var(--color-muted);margin-top:10px;font-size:11px;line-height:1.5;display:block}.extension-list{width:100%}.extension-list .empty-state{border:1px dashed #00000024;border-radius:10px}.subnav>a{white-space:nowrap}.plugin-card .switch{flex:none}.plugin-uninstall{min-height:28px;color:var(--color-red);background:#fff8f8;border:1px solid #b91c1c29;border-radius:6px;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex}.plugin-uninstall:hover{background:#fff1f1;border-color:#b91c1c47}.plugin-action-error{color:var(--color-red);margin:10px 0 0 37px;font-size:11px}.plugin-confirm-backdrop{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a52;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.plugin-confirm-dialog{background:#fff;border:1px solid #0f172a24;border-radius:10px;width:100%;max-width:440px;padding:20px;box-shadow:0 24px 64px #0f172a42}.plugin-confirm-dialog header strong,.plugin-confirm-dialog header small{display:block}.plugin-confirm-dialog header strong{font-size:15px}.plugin-confirm-dialog header small{color:var(--color-muted);margin-top:4px;font-size:12px}.plugin-confirm-dialog>code{overflow-wrap:anywhere;background:var(--color-soft);font:11px var(--font-mono);border-radius:8px;margin-top:16px;padding:10px 11px;display:block}.plugin-confirm-dialog footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.plugin-confirm-dialog footer button{border:1px solid var(--color-line);background:#fff;border-radius:7px;padding:7px 12px;font-size:12px}.plugin-confirm-dialog footer button.danger{color:#b42318;background:#fff5f5;border-color:#b91c1c38}.plugin-confirm-error{color:#b42318;margin:10px 0 0;font-size:11px}.session-menu-popover[hidden]{display:none}.timeline-empty{color:var(--color-faint);font:10px var(--font-mono);padding:5px 8px}.timeline-turn{flex:1;min-width:4px}.timeline-strip{background:var(--color-blue);border-radius:3px;height:100%}.timeline-turn:nth-child(3n) .timeline-strip{background:#93c5fd}.timeline-turn:nth-child(4n) .timeline-strip{background:#f59e0b}.raw-json{border:1px solid var(--color-line);border-radius:8px;overflow:hidden}.raw-json summary{cursor:pointer;color:var(--color-muted);font:10.5px var(--font-mono);padding:7px 9px}.raw-json-body{white-space:pre-wrap;border-top:1px solid var(--color-line);margin:0;padding:9px}.detail-actions{gap:7px;margin-top:14px;display:flex}.detail-actions button{color:#61666b;border:1px solid var(--color-line);background:#fff;border-radius:7px;padding:5px 9px;font-size:11px}.detail-actions button:disabled{cursor:not-allowed;opacity:.5}body{font-size:14px}.sidebar{background:#f6f8fa;border-right-color:#0f11151a;flex-basis:280px;width:280px}.brand-row{flex-basis:56px;height:56px;padding:0 16px}.brand-row strong{font-size:14px}.new-session{height:36px;font-size:13px}.sidebar-actions{gap:9px;padding:0 12px 12px}.sidebar-actions input{height:34px;font-size:12.5px}.sidebar-scroll{padding:0 10px 10px}.group-label{padding:8px 9px 5px;font-size:10.5px}.session-row{padding:9px 10px}.session-copy strong{font-size:13px}.session-copy small{font-size:10.5px}.sidebar-footer{padding:8px 12px 10px}.sidebar-link{height:34px;font-size:13px}.chat-scroll .turn{width:100%;max-width:960px}.main-header{flex-basis:56px;height:56px;padding:0 24px}.active-heading strong{font-size:15px}.active-heading small{font-size:10.5px}.view-tab{padding:5px 12px;font-size:12.5px}.session-menu,.details-toggle{height:30px}.chat-scroll{padding:28px 24px 8px}.new-session-screen{max-width:760px;padding:30px 0 36px}.welcome-heading h2{font-size:24px}.welcome-heading p{font-size:13.5px}.workspace-row{min-height:76px;padding:15px 16px}.workspace-row code{font-size:12.5px}.workspace-row small{font-size:10.5px}.effective-config{min-height:44px;padding:10px 13px}.effective-config span,.effective-config code{font-size:11px}.starter-card{min-height:80px;padding:13px 14px}.starter-card strong{font-size:13px}.starter-card small{font-size:11px}.composer-wrap{width:100%;padding:12px 24px 18px}.context-line,.context-breakdown,.composer,.action-error{width:100%;max-width:none}.context-line{font-size:11px}.composer textarea{min-height:82px;font-size:14.5px}.composer-tools select,.tool-chip{height:30px;font-size:11.5px}.send-button{width:30px;height:30px}@media (width<=900px){.sidebar{flex-basis:216px;width:216px}}@media (width<=760px){.sidebar{flex-basis:216px;width:216px}.main-header{flex-basis:48px;height:48px;padding:0 16px}.chat-scroll,.composer-wrap,.trajectory-summary,.source-filters,.event-head,.event-row,.files-content,.settings-top-tabs,.settings-dialog section>header,.settings-body{padding-left:16px;padding-right:16px}.session-menu-popover{right:16px}.subnav,.plugins-toolbar,.plugins-scroll,.marketplace-toolbar,.marketplace-categories,.marketplace-scroll{padding-left:16px;padding-right:16px}.subnav.plugin-detail-subnav{padding-inline:16px}.plugin-detail-content{padding-left:16px;padding-right:16px}}@media (width<=680px){.catalog-card{min-height:395px}.sidebar{flex-basis:54px;width:54px}.runtime-cells,.session-list-toolbar{display:none}.main-header{flex-basis:56px;height:56px}.view-tab,.session-menu,.sidebar-link{min-height:44px}.session-menu{flex:none;width:44px}.settings-top-tabs{flex-wrap:wrap;height:auto;min-height:56px;padding-top:6px;padding-bottom:6px}.settings-top-tabs .settings-tab,.settings-back{min-height:44px}.refresh-warning{flex-direction:column;align-items:flex-start;gap:6px;padding:9px 16px}.refresh-warning button{min-width:44px;min-height:44px}.settings-back{align-items:center;display:inline-flex}.filter{min-height:44px}.event-head,.event-row{grid-template-columns:64px 96px minmax(0,1fr)}.event-head>:nth-child(4),.event-head>:nth-child(5),.event-row>:nth-child(4),.event-row>:nth-child(5){display:none}.file-actions{flex-wrap:wrap}.file-actions input{flex-basis:100%;width:100%;min-width:0;height:44px}.file-actions button,.diff-button{min-height:44px}.provider-add-overlay{padding:16px}.provider-add-form{grid-template-columns:minmax(0,1fr)}.provider-add-wide,.provider-add-actions{grid-column:auto}.provider-add-form input,.provider-add-form select,.provider-add-form button,.provider-add-modal>header button{min-height:44px}.provider-add-modal>header button{width:44px}.plugin-panel-card .grid-cols-3,.plugin-panel-card .grid-cols-4,.plugin-panel-card .grid-cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-add-actions{flex-direction:column;align-items:stretch}.provider-add-actions button{width:100%}.provider-add-actions small{white-space:normal}.workspace-chooser,.global-search,.session-dialog-backdrop,.plugin-confirm-backdrop{padding:16px}.workspace-chooser-heading button,.session-dialog-header button{width:44px;height:44px}.workspace-pick-directory,.workspace-chooser-row,.session-action,.session-tools-popover button,.session-row-menu-popover button,.session-batch-bar button,.session-pagination button,.session-dialog-field input,.session-dialog-actions button,.plugin-confirm-dialog footer button{min-height:44px}.new-session-screen,.workspace-picker,.workspace-row,.workspace-row>span:nth-child(2){min-width:0}.chat-scroll.is-empty{align-items:flex-start}.workspace-row code,.workspace-row small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.plugin-detail-content>.grid>*{min-width:0}.config-sections{grid-template-columns:minmax(0,1fr)}.config-section:last-child{grid-column:auto}.session-dialog-actions,.plugin-confirm-dialog footer{flex-wrap:wrap}.plugins-list,.marketplace-grid{grid-template-columns:minmax(0,1fr)}.subnav{flex-wrap:wrap}.subnav>span{display:none}.subnav:not(.plugin-detail-subnav)>a{align-items:center;width:auto;min-height:44px;margin-left:auto;display:inline-flex}.plugin-detail-content{padding-top:24px;padding-bottom:24px}.marketplace-toolbar>*{min-width:0}.marketplace-search,.marketplace-filter{flex-basis:100%;width:100%}.marketplace-count{width:100%;margin-left:0}.marketplace-card-footer{flex-wrap:wrap}.marketplace-card-footer span{width:100%}.marketplace-card-footer span+a{margin-left:0}.plugins-list>.empty-state,.marketplace-grid>.empty-state{grid-column:1/-1}.segmented button,.effective-config a,.context-line button,.composer-tools select,.tool-chip,.send-button{min-height:44px}.context-line button,.send-button{min-width:44px}.effective-config a{align-items:center;display:inline-flex}.plugin-detail-link,.plugin-detail-subnav>a,.plugin-detail-action,.plugin-uninstall,.plugins-toolbar input,.marketplace-search,.marketplace-filter,.marketplace-category,.marketplace-card-footer a,.marketplace-card-footer button,.marketplace-pagination-button,.provider-add-head>button,.provider-field input,.provider-model-value,.provider-footer button,.provider-models-details summary,.toml-toolbar button,.config-field select,.config-source-actions button,.add-provider{min-height:44px}.plugin-uninstall,.marketplace-card-footer button,.toml-toolbar button{min-width:44px}.plugin-detail-content aside>a{align-items:center;min-height:44px;display:flex}.plugin-switch-button{flex-basis:44px;width:44px;height:44px}.plugin-detail-subnav>a,.provider-models-details summary{align-items:center;display:inline-flex}.composer-tools select{flex:1;min-width:0}.tool-chip,.send-button{flex:none}.marketplace-contribute{flex-wrap:wrap}.marketplace-contribute>span{width:100%}.marketplace-contribute>a{align-items:center;min-height:44px;margin-left:0;display:inline-flex}}@media (width>=681px) and (width<=900px){.new-session,.sidebar-actions input,.sidebar-link,.session-tool-button,.view-tab,.session-menu,.filter,.refresh-warning button,.settings-top-tabs .settings-tab,.settings-back,.plugin-detail-link,.plugin-detail-subnav>a,.plugin-detail-action,.plugin-uninstall,.plugins-toolbar input,.marketplace-search,.marketplace-filter,.marketplace-category,.marketplace-card-footer a,.marketplace-card-footer button,.marketplace-pagination-button,.provider-add-head>button,.provider-add-form input,.provider-add-form select,.provider-add-form button,.provider-add-modal>header button,.provider-field input,.provider-model-value,.provider-footer button,.provider-models-details summary,.toml-toolbar button,.config-field select,.config-source-actions button,.add-provider,.composer-tools select,.tool-chip,.send-button{min-height:44px}.workspace-chooser-heading button,.session-dialog-header button,.provider-add-modal>header button{width:44px;min-width:44px;height:44px}.workspace-pick-directory,.workspace-chooser-row,.session-action,.session-tools-popover button,.session-row-menu-popover button,.session-batch-bar button,.session-pagination button,.session-dialog-field input,.session-dialog-actions button,.plugin-confirm-dialog footer button{min-height:44px}.session-tool-button.icon,.session-tool-button,.session-menu,.plugin-switch-button,.plugin-uninstall,.marketplace-card-footer button,.toml-toolbar button,.send-button{flex-basis:44px;width:44px;min-width:44px}.segmented button,.subnav>a,.effective-config a,.diff-button,.file-actions input,.file-actions button,.plugin-detail-content aside>a,.marketplace-contribute>a{min-height:44px}.settings-back,.plugin-detail-link,.plugin-detail-subnav>a,.subnav>a,.effective-config a,.diff-button,.plugin-detail-content aside>a,.marketplace-card-footer a,.provider-models-details summary,.marketplace-contribute>a{align-items:center;display:inline-flex}.file-actions input,.file-actions button{height:44px}.settings-top-tabs{height:auto;min-height:56px}.context-line button{min-width:44px;min-height:44px}.plugin-switch-button{height:44px}.session-row-more{pointer-events:auto;opacity:1;width:44px;height:44px;right:2px}.session-row{padding-right:50px}.session-row-wrap>input{flex:none;width:24px;height:24px;margin-left:0}}@media (width<=360px){.plugin-heading{flex-direction:column;align-items:stretch;gap:8px}.plugin-actions{justify-content:flex-start;margin-left:0}}@media (width<=389px){.catalog-card{min-height:427px}}@media (width<=360px){.catalog-card{min-height:469px}.main-header{gap:4px;padding-left:8px;padding-right:8px}.view-tabs{flex:none}.view-tab{min-width:44px;padding-left:7px;padding-right:7px}.active-heading{min-width:0}.active-heading strong{font-size:14px}.composer-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;display:grid}.composer-tools select{grid-column:1/-1;width:100%}.composer-tools .tool-chip{width:100%;min-width:0}}.status-pill.running{color:var(--color-blue)}.status-pill.running:before{background:var(--color-blue);box-shadow:0 0 8px #4176e673}.palette-group button.active{background:#f1f3f5}.action-error{color:var(--color-red);margin:9px 0 0;font-size:11.5px}.provider-result{color:var(--color-blue);font:10.5px var(--font-mono);margin-top:9px;display:block}