@pi-harness/pi-harness 0.1.2 → 0.1.3

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 (913) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +31 -7
  3. package/apps/web/dist/assets/index-BoEwZu6r.css +2 -0
  4. package/apps/web/dist/assets/index-alZn4u37.js +20 -0
  5. package/apps/web/dist/assets/markdown-vendor-DUdMWn0M.js +66 -0
  6. package/apps/web/dist/assets/react-vendor-BD7-wQo9.js +9 -0
  7. package/apps/web/dist/icons/app/android-192.png +0 -0
  8. package/apps/web/dist/icons/app/android-512.png +0 -0
  9. package/apps/web/dist/icons/app/app-blue-512.png +0 -0
  10. package/apps/web/dist/icons/app/app-store-1024.png +0 -0
  11. package/apps/web/dist/icons/app/apple-touch-icon-180.png +0 -0
  12. package/apps/web/dist/icons/app/maskable-512.png +0 -0
  13. package/apps/web/dist/icons/favicon/favicon-16.png +0 -0
  14. package/apps/web/dist/icons/favicon/favicon-32.png +0 -0
  15. package/apps/web/dist/icons/favicon/favicon-48.png +0 -0
  16. package/apps/web/dist/icons/png-blue/pi-256.png +0 -0
  17. package/apps/web/dist/icons/png-blue/pi-512.png +0 -0
  18. package/apps/web/dist/icons/png-ink/pi-1024.png +0 -0
  19. package/apps/web/dist/icons/png-ink/pi-128.png +0 -0
  20. package/apps/web/dist/icons/png-ink/pi-16.png +0 -0
  21. package/apps/web/dist/icons/png-ink/pi-24.png +0 -0
  22. package/apps/web/dist/icons/png-ink/pi-256.png +0 -0
  23. package/apps/web/dist/icons/png-ink/pi-32.png +0 -0
  24. package/apps/web/dist/icons/png-ink/pi-48.png +0 -0
  25. package/apps/web/dist/icons/png-ink/pi-512.png +0 -0
  26. package/apps/web/dist/icons/png-ink/pi-64.png +0 -0
  27. package/apps/web/dist/icons/png-white/pi-1024.png +0 -0
  28. package/apps/web/dist/icons/png-white/pi-128.png +0 -0
  29. package/apps/web/dist/icons/png-white/pi-16.png +0 -0
  30. package/apps/web/dist/icons/png-white/pi-24.png +0 -0
  31. package/apps/web/dist/icons/png-white/pi-256.png +0 -0
  32. package/apps/web/dist/icons/png-white/pi-32.png +0 -0
  33. package/apps/web/dist/icons/png-white/pi-48.png +0 -0
  34. package/apps/web/dist/icons/png-white/pi-512.png +0 -0
  35. package/apps/web/dist/icons/png-white/pi-64.png +0 -0
  36. package/apps/web/dist/icons/social/og-1200x630.png +0 -0
  37. package/apps/web/dist/icons/svg/app-icon-blue.svg +13 -0
  38. package/apps/web/dist/icons/svg/app-icon-ink.svg +13 -0
  39. package/apps/web/dist/icons/svg/favicon.svg +10 -0
  40. package/apps/web/dist/icons/svg/lockup-horizontal.svg +13 -0
  41. package/apps/web/dist/icons/svg/mark-blue.svg +10 -0
  42. package/apps/web/dist/icons/svg/mark-compact.svg +10 -0
  43. package/apps/web/dist/icons/svg/mark-ink.svg +10 -0
  44. package/apps/web/dist/icons/svg/mark-white.svg +10 -0
  45. package/apps/web/dist/icons/svg/mark.svg +10 -0
  46. package/apps/web/dist/index.html +18 -6
  47. package/apps/web/dist/manifest.webmanifest +14 -0
  48. package/apps/web/index.html +14 -4
  49. package/apps/web/package.json +11 -9
  50. package/apps/web/profile/cordis.yml +222 -1
  51. package/apps/web/public/icons/app/android-192.png +0 -0
  52. package/apps/web/public/icons/app/android-512.png +0 -0
  53. package/apps/web/public/icons/app/app-blue-512.png +0 -0
  54. package/apps/web/public/icons/app/app-store-1024.png +0 -0
  55. package/apps/web/public/icons/app/apple-touch-icon-180.png +0 -0
  56. package/apps/web/public/icons/app/maskable-512.png +0 -0
  57. package/apps/web/public/icons/favicon/favicon-16.png +0 -0
  58. package/apps/web/public/icons/favicon/favicon-32.png +0 -0
  59. package/apps/web/public/icons/favicon/favicon-48.png +0 -0
  60. package/apps/web/public/icons/png-blue/pi-256.png +0 -0
  61. package/apps/web/public/icons/png-blue/pi-512.png +0 -0
  62. package/apps/web/public/icons/png-ink/pi-1024.png +0 -0
  63. package/apps/web/public/icons/png-ink/pi-128.png +0 -0
  64. package/apps/web/public/icons/png-ink/pi-16.png +0 -0
  65. package/apps/web/public/icons/png-ink/pi-24.png +0 -0
  66. package/apps/web/public/icons/png-ink/pi-256.png +0 -0
  67. package/apps/web/public/icons/png-ink/pi-32.png +0 -0
  68. package/apps/web/public/icons/png-ink/pi-48.png +0 -0
  69. package/apps/web/public/icons/png-ink/pi-512.png +0 -0
  70. package/apps/web/public/icons/png-ink/pi-64.png +0 -0
  71. package/apps/web/public/icons/png-white/pi-1024.png +0 -0
  72. package/apps/web/public/icons/png-white/pi-128.png +0 -0
  73. package/apps/web/public/icons/png-white/pi-16.png +0 -0
  74. package/apps/web/public/icons/png-white/pi-24.png +0 -0
  75. package/apps/web/public/icons/png-white/pi-256.png +0 -0
  76. package/apps/web/public/icons/png-white/pi-32.png +0 -0
  77. package/apps/web/public/icons/png-white/pi-48.png +0 -0
  78. package/apps/web/public/icons/png-white/pi-512.png +0 -0
  79. package/apps/web/public/icons/png-white/pi-64.png +0 -0
  80. package/apps/web/public/icons/social/og-1200x630.png +0 -0
  81. package/apps/web/public/icons/svg/app-icon-blue.svg +13 -0
  82. package/apps/web/public/icons/svg/app-icon-ink.svg +13 -0
  83. package/apps/web/public/icons/svg/favicon.svg +10 -0
  84. package/apps/web/public/icons/svg/lockup-horizontal.svg +13 -0
  85. package/apps/web/public/icons/svg/mark-blue.svg +10 -0
  86. package/apps/web/public/icons/svg/mark-compact.svg +10 -0
  87. package/apps/web/public/icons/svg/mark-ink.svg +10 -0
  88. package/apps/web/public/icons/svg/mark-white.svg +10 -0
  89. package/apps/web/public/icons/svg/mark.svg +10 -0
  90. package/apps/web/public/manifest.webmanifest +14 -0
  91. package/apps/web/server-dist/bin.js +19 -6
  92. package/apps/web/server-dist/bin.js.map +1 -1
  93. package/apps/web/src/command-palette.ts +28 -7
  94. package/apps/web/src/file-diff.ts +15 -10
  95. package/apps/web/src/main.ts +4 -1
  96. package/apps/web/src/runtime.css +17 -4
  97. package/apps/web/src/server/bin.ts +24 -7
  98. package/apps/web/src/style.css +2604 -8
  99. package/apps/web/src/tailwind.css +25 -0
  100. package/apps/web/tsconfig.build.json +5 -1
  101. package/apps/web/tsconfig.json +1 -1
  102. package/apps/web/vite.config.ts +20 -0
  103. package/package.json +29 -17
  104. package/packages/api-gateway/LICENSE +9 -0
  105. package/packages/api-gateway/dist/index.d.ts.map +1 -1
  106. package/packages/api-gateway/dist/index.js +1188 -42
  107. package/packages/api-gateway/dist/index.js.map +1 -1
  108. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +16 -0
  109. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +16 -0
  110. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +16 -0
  111. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +16 -0
  112. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +16 -0
  113. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +25 -0
  114. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +16 -0
  115. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +16 -0
  116. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +16 -0
  117. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +16 -0
  118. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +16 -0
  119. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +16 -0
  120. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +16 -0
  121. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +16 -0
  122. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +16 -0
  123. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +22 -0
  124. package/packages/api-gateway/dist/marketplace-entries/official/context.json +16 -0
  125. package/packages/api-gateway/dist/marketplace-entries/official/cordis-group.json +16 -0
  126. package/packages/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +16 -0
  127. package/packages/api-gateway/dist/marketplace-entries/official/cordis-timer.json +16 -0
  128. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +16 -0
  129. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +16 -0
  130. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +16 -0
  131. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +16 -0
  132. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +16 -0
  133. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +16 -0
  134. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +16 -0
  135. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +25 -0
  136. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +16 -0
  137. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +16 -0
  138. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +16 -0
  139. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +16 -0
  140. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +16 -0
  141. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +16 -0
  142. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +16 -0
  143. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +19 -0
  144. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +16 -0
  145. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +16 -0
  146. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +16 -0
  147. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +16 -0
  148. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +16 -0
  149. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +16 -0
  150. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +16 -0
  151. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +16 -0
  152. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +16 -0
  153. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +16 -0
  154. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +16 -0
  155. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +16 -0
  156. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +16 -0
  157. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +16 -0
  158. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +16 -0
  159. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +16 -0
  160. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +22 -0
  161. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +16 -0
  162. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +16 -0
  163. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +16 -0
  164. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +16 -0
  165. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +16 -0
  166. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +16 -0
  167. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +16 -0
  168. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +16 -0
  169. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +16 -0
  170. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +16 -0
  171. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +16 -0
  172. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +16 -0
  173. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +16 -0
  174. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +16 -0
  175. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +16 -0
  176. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +16 -0
  177. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +19 -0
  178. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +16 -0
  179. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +22 -0
  180. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +16 -0
  181. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +16 -0
  182. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +16 -0
  183. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +16 -0
  184. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +16 -0
  185. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +16 -0
  186. package/packages/api-gateway/dist/marketplace.d.ts +40 -2
  187. package/packages/api-gateway/dist/marketplace.d.ts.map +1 -1
  188. package/packages/api-gateway/dist/marketplace.js +225 -19
  189. package/packages/api-gateway/dist/marketplace.js.map +1 -1
  190. package/packages/api-gateway/dist/workspaces.d.ts +8 -0
  191. package/packages/api-gateway/dist/workspaces.d.ts.map +1 -0
  192. package/packages/api-gateway/dist/workspaces.js +14 -0
  193. package/packages/api-gateway/dist/workspaces.js.map +1 -0
  194. package/packages/api-gateway/package.json +20 -10
  195. package/packages/api-gateway/scripts/copy-marketplace-entries.mjs +13 -0
  196. package/packages/api-gateway/src/index.ts +1258 -61
  197. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +16 -0
  198. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +16 -0
  199. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +16 -0
  200. package/packages/api-gateway/src/marketplace-entries/official/archify.json +16 -0
  201. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +16 -0
  202. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +25 -0
  203. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +16 -0
  204. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +16 -0
  205. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +16 -0
  206. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +16 -0
  207. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +16 -0
  208. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +16 -0
  209. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +16 -0
  210. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +16 -0
  211. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +16 -0
  212. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +22 -0
  213. package/packages/api-gateway/src/marketplace-entries/official/context.json +16 -0
  214. package/packages/api-gateway/src/marketplace-entries/official/cordis-group.json +16 -0
  215. package/packages/api-gateway/src/marketplace-entries/official/cordis-logger-console.json +16 -0
  216. package/packages/api-gateway/src/marketplace-entries/official/cordis-timer.json +16 -0
  217. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +16 -0
  218. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +16 -0
  219. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +16 -0
  220. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +16 -0
  221. package/packages/api-gateway/src/marketplace-entries/official/genui.json +16 -0
  222. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +16 -0
  223. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +16 -0
  224. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +25 -0
  225. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +16 -0
  226. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +16 -0
  227. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +16 -0
  228. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +16 -0
  229. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +16 -0
  230. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +16 -0
  231. package/packages/api-gateway/src/marketplace-entries/official/memory.json +16 -0
  232. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +19 -0
  233. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +16 -0
  234. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +16 -0
  235. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +16 -0
  236. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +16 -0
  237. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +16 -0
  238. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +16 -0
  239. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +16 -0
  240. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +16 -0
  241. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +16 -0
  242. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +16 -0
  243. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +16 -0
  244. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +16 -0
  245. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +16 -0
  246. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +16 -0
  247. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +16 -0
  248. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +16 -0
  249. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +22 -0
  250. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +16 -0
  251. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +16 -0
  252. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +16 -0
  253. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +16 -0
  254. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +16 -0
  255. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +16 -0
  256. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +16 -0
  257. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +16 -0
  258. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +16 -0
  259. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +16 -0
  260. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +16 -0
  261. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +16 -0
  262. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +16 -0
  263. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +16 -0
  264. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +16 -0
  265. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +16 -0
  266. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +19 -0
  267. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +16 -0
  268. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +22 -0
  269. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +16 -0
  270. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +16 -0
  271. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +16 -0
  272. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +16 -0
  273. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +16 -0
  274. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +16 -0
  275. package/packages/api-gateway/src/marketplace.ts +267 -22
  276. package/packages/api-gateway/src/workspaces.ts +20 -0
  277. package/packages/api-gateway/test/index.test.ts +483 -33
  278. package/packages/api-gateway/test/marketplace.test.ts +282 -3
  279. package/packages/api-gateway/test/workspaces.test.ts +13 -0
  280. package/packages/api-gateway/tsconfig.build.json +1 -1
  281. package/packages/api-gateway/tsconfig.json +1 -1
  282. package/packages/bundle-web-app/LICENSE +9 -0
  283. package/packages/bundle-web-app/package.json +19 -9
  284. package/packages/bundle-web-app/tsconfig.build.json +1 -1
  285. package/packages/bundle-web-app/tsconfig.json +1 -1
  286. package/packages/cli/LICENSE +9 -0
  287. package/packages/cli/dist/args.d.ts.map +1 -1
  288. package/packages/cli/dist/args.js +16 -9
  289. package/packages/cli/dist/args.js.map +1 -1
  290. package/packages/cli/dist/bin.js +12 -3
  291. package/packages/cli/dist/bin.js.map +1 -1
  292. package/packages/cli/dist/main.d.ts +1 -0
  293. package/packages/cli/dist/main.d.ts.map +1 -1
  294. package/packages/cli/dist/main.js +49 -9
  295. package/packages/cli/dist/main.js.map +1 -1
  296. package/packages/cli/dist/node-stdio.d.ts +3 -1
  297. package/packages/cli/dist/node-stdio.d.ts.map +1 -1
  298. package/packages/cli/dist/node-stdio.js +91 -13
  299. package/packages/cli/dist/node-stdio.js.map +1 -1
  300. package/packages/cli/dist/relaunch.d.ts.map +1 -1
  301. package/packages/cli/dist/relaunch.js +23 -10
  302. package/packages/cli/dist/relaunch.js.map +1 -1
  303. package/packages/cli/package.json +18 -8
  304. package/packages/cli/src/args.ts +16 -10
  305. package/packages/cli/src/bin.ts +12 -3
  306. package/packages/cli/src/main.ts +54 -10
  307. package/packages/cli/src/node-stdio.ts +85 -13
  308. package/packages/cli/src/relaunch.ts +19 -6
  309. package/packages/cli/test/args.test.ts +22 -3
  310. package/packages/cli/test/binary.test.ts +58 -0
  311. package/packages/cli/test/broken-pipe.test.ts +32 -0
  312. package/packages/cli/test/cli.test.ts +57 -8
  313. package/packages/cli/test/node-stdio.test.ts +89 -0
  314. package/packages/cli/test/relaunch.test.ts +30 -2
  315. package/packages/cli/test/stdin-shutdown.test.ts +59 -0
  316. package/packages/cli/tsconfig.build.json +1 -3
  317. package/packages/cli/tsconfig.json +1 -4
  318. package/packages/client-web/LICENSE +9 -0
  319. package/packages/client-web/dist/annotation-ui.d.ts +11 -0
  320. package/packages/client-web/dist/annotation-ui.d.ts.map +1 -0
  321. package/packages/client-web/dist/annotation-ui.js +24 -0
  322. package/packages/client-web/dist/annotation-ui.js.map +1 -0
  323. package/packages/client-web/dist/browser-session-view.d.ts +7 -0
  324. package/packages/client-web/dist/browser-session-view.d.ts.map +1 -0
  325. package/packages/client-web/dist/browser-session-view.js +8 -0
  326. package/packages/client-web/dist/browser-session-view.js.map +1 -0
  327. package/packages/client-web/dist/control-room.d.ts +151 -6
  328. package/packages/client-web/dist/control-room.d.ts.map +1 -1
  329. package/packages/client-web/dist/control-room.js +156 -11
  330. package/packages/client-web/dist/control-room.js.map +1 -1
  331. package/packages/client-web/dist/design-contract.d.ts.map +1 -1
  332. package/packages/client-web/dist/design-contract.js +178 -19
  333. package/packages/client-web/dist/design-contract.js.map +1 -1
  334. package/packages/client-web/dist/index.d.ts +4 -1
  335. package/packages/client-web/dist/index.d.ts.map +1 -1
  336. package/packages/client-web/dist/index.js +11 -3
  337. package/packages/client-web/dist/index.js.map +1 -1
  338. package/packages/client-web/dist/markdown.d.ts +5 -0
  339. package/packages/client-web/dist/markdown.d.ts.map +1 -0
  340. package/packages/client-web/dist/markdown.js +20 -0
  341. package/packages/client-web/dist/markdown.js.map +1 -0
  342. package/packages/client-web/dist/marketplace-catalog.d.ts +3 -0
  343. package/packages/client-web/dist/marketplace-catalog.d.ts.map +1 -0
  344. package/packages/client-web/dist/marketplace-catalog.js +10 -0
  345. package/packages/client-web/dist/marketplace-catalog.js.map +1 -0
  346. package/packages/client-web/dist/marketplace-navigation.d.ts +19 -0
  347. package/packages/client-web/dist/marketplace-navigation.d.ts.map +1 -0
  348. package/packages/client-web/dist/marketplace-navigation.js +31 -0
  349. package/packages/client-web/dist/marketplace-navigation.js.map +1 -0
  350. package/packages/client-web/dist/message-content.d.ts +9 -0
  351. package/packages/client-web/dist/message-content.d.ts.map +1 -0
  352. package/packages/client-web/dist/message-content.js +54 -0
  353. package/packages/client-web/dist/message-content.js.map +1 -0
  354. package/packages/client-web/dist/plugin-navigation.d.ts +3 -0
  355. package/packages/client-web/dist/plugin-navigation.d.ts.map +1 -0
  356. package/packages/client-web/dist/plugin-navigation.js +10 -0
  357. package/packages/client-web/dist/plugin-navigation.js.map +1 -0
  358. package/packages/client-web/dist/plugin-search.d.ts +2 -0
  359. package/packages/client-web/dist/plugin-search.d.ts.map +1 -0
  360. package/packages/client-web/dist/plugin-search.js +7 -0
  361. package/packages/client-web/dist/plugin-search.js.map +1 -0
  362. package/packages/client-web/dist/plugin-stars-view.d.ts +12 -0
  363. package/packages/client-web/dist/plugin-stars-view.d.ts.map +1 -0
  364. package/packages/client-web/dist/plugin-stars-view.js +8 -0
  365. package/packages/client-web/dist/plugin-stars-view.js.map +1 -0
  366. package/packages/client-web/dist/prompt-completion.d.ts +13 -0
  367. package/packages/client-web/dist/prompt-completion.d.ts.map +1 -0
  368. package/packages/client-web/dist/prompt-completion.js +17 -0
  369. package/packages/client-web/dist/prompt-completion.js.map +1 -0
  370. package/packages/client-web/dist/react-room.d.ts +2 -1
  371. package/packages/client-web/dist/react-room.d.ts.map +1 -1
  372. package/packages/client-web/dist/react-room.js +2347 -93
  373. package/packages/client-web/dist/react-room.js.map +1 -1
  374. package/packages/client-web/dist/runtime-events.d.ts +4 -0
  375. package/packages/client-web/dist/runtime-events.d.ts.map +1 -0
  376. package/packages/client-web/dist/runtime-events.js +29 -0
  377. package/packages/client-web/dist/runtime-events.js.map +1 -0
  378. package/packages/client-web/package.json +19 -7
  379. package/packages/client-web/src/annotation-ui.ts +29 -0
  380. package/packages/client-web/src/browser-session-view.ts +13 -0
  381. package/packages/client-web/src/control-room.ts +359 -11
  382. package/packages/client-web/src/design-contract.ts +248 -26
  383. package/packages/client-web/src/index.ts +17 -4
  384. package/packages/client-web/src/markdown.tsx +22 -0
  385. package/packages/client-web/src/marketplace-catalog.ts +10 -0
  386. package/packages/client-web/src/marketplace-navigation.ts +46 -0
  387. package/packages/client-web/src/message-content.ts +51 -0
  388. package/packages/client-web/src/plugin-navigation.ts +9 -0
  389. package/packages/client-web/src/plugin-search.ts +5 -0
  390. package/packages/client-web/src/plugin-stars-view.ts +19 -0
  391. package/packages/client-web/src/prompt-completion.ts +24 -0
  392. package/packages/client-web/src/react-room.tsx +7358 -54
  393. package/packages/client-web/src/runtime-events.ts +29 -0
  394. package/packages/client-web/test/annotation-ui.test.ts +21 -0
  395. package/packages/client-web/test/browser-session-view.test.ts +17 -0
  396. package/packages/client-web/test/design-contract.test.ts +46 -1
  397. package/packages/client-web/test/marketplace-catalog.test.ts +52 -0
  398. package/packages/client-web/test/message-content.test.ts +43 -0
  399. package/packages/client-web/test/plugin-navigation.test.ts +16 -0
  400. package/packages/client-web/test/plugin-search.test.ts +22 -0
  401. package/packages/client-web/test/plugin-stars-view.test.ts +20 -0
  402. package/packages/client-web/test/prompt-completion.test.ts +21 -0
  403. package/packages/client-web/test/runtime-events.test.ts +28 -0
  404. package/packages/client-web/tsconfig.build.json +13 -1
  405. package/packages/client-web/tsconfig.json +11 -1
  406. package/packages/core/LICENSE +9 -0
  407. package/packages/core/dist/boot.d.ts.map +1 -1
  408. package/packages/core/dist/boot.js +42 -3
  409. package/packages/core/dist/boot.js.map +1 -1
  410. package/packages/core/dist/config.d.ts +2 -0
  411. package/packages/core/dist/config.d.ts.map +1 -0
  412. package/packages/core/dist/config.js +8 -0
  413. package/packages/core/dist/config.js.map +1 -0
  414. package/packages/core/dist/http.d.ts +8 -0
  415. package/packages/core/dist/http.d.ts.map +1 -0
  416. package/packages/core/dist/http.js +27 -0
  417. package/packages/core/dist/http.js.map +1 -0
  418. package/packages/core/dist/index.d.ts +2 -0
  419. package/packages/core/dist/index.d.ts.map +1 -1
  420. package/packages/core/dist/index.js +2 -0
  421. package/packages/core/dist/index.js.map +1 -1
  422. package/packages/core/dist/plugins/agent-teams.d.ts +17 -0
  423. package/packages/core/dist/plugins/agent-teams.d.ts.map +1 -0
  424. package/packages/core/dist/plugins/agent-teams.js +298 -0
  425. package/packages/core/dist/plugins/agent-teams.js.map +1 -0
  426. package/packages/core/dist/plugins/anchored-standard.d.ts +14 -0
  427. package/packages/core/dist/plugins/anchored-standard.d.ts.map +1 -0
  428. package/packages/core/dist/plugins/anchored-standard.js +84 -0
  429. package/packages/core/dist/plugins/anchored-standard.js.map +1 -0
  430. package/packages/core/dist/plugins/annotation.d.ts +18 -0
  431. package/packages/core/dist/plugins/annotation.d.ts.map +1 -0
  432. package/packages/core/dist/plugins/annotation.js +94 -0
  433. package/packages/core/dist/plugins/annotation.js.map +1 -0
  434. package/packages/core/dist/plugins/archify.d.ts +23 -0
  435. package/packages/core/dist/plugins/archify.d.ts.map +1 -0
  436. package/packages/core/dist/plugins/archify.js +98 -0
  437. package/packages/core/dist/plugins/archify.js.map +1 -0
  438. package/packages/core/dist/plugins/at-file.d.ts +8 -0
  439. package/packages/core/dist/plugins/at-file.d.ts.map +1 -0
  440. package/packages/core/dist/plugins/at-file.js +52 -0
  441. package/packages/core/dist/plugins/at-file.js.map +1 -0
  442. package/packages/core/dist/plugins/auto-mode.d.ts +15 -0
  443. package/packages/core/dist/plugins/auto-mode.d.ts.map +1 -0
  444. package/packages/core/dist/plugins/auto-mode.js +114 -0
  445. package/packages/core/dist/plugins/auto-mode.js.map +1 -0
  446. package/packages/core/dist/plugins/better-sidebar.d.ts +37 -0
  447. package/packages/core/dist/plugins/better-sidebar.d.ts.map +1 -0
  448. package/packages/core/dist/plugins/better-sidebar.js +89 -0
  449. package/packages/core/dist/plugins/better-sidebar.js.map +1 -0
  450. package/packages/core/dist/plugins/browser-fetch.d.ts +14 -0
  451. package/packages/core/dist/plugins/browser-fetch.d.ts.map +1 -0
  452. package/packages/core/dist/plugins/browser-fetch.js +167 -0
  453. package/packages/core/dist/plugins/browser-fetch.js.map +1 -0
  454. package/packages/core/dist/plugins/browser-session.d.ts +14 -0
  455. package/packages/core/dist/plugins/browser-session.d.ts.map +1 -0
  456. package/packages/core/dist/plugins/browser-session.js +265 -0
  457. package/packages/core/dist/plugins/browser-session.js.map +1 -0
  458. package/packages/core/dist/plugins/canvas-draw.d.ts +8 -0
  459. package/packages/core/dist/plugins/canvas-draw.d.ts.map +1 -0
  460. package/packages/core/dist/plugins/canvas-draw.js +88 -0
  461. package/packages/core/dist/plugins/canvas-draw.js.map +1 -0
  462. package/packages/core/dist/plugins/change-verifier.d.ts +8 -0
  463. package/packages/core/dist/plugins/change-verifier.d.ts.map +1 -0
  464. package/packages/core/dist/plugins/change-verifier.js +67 -0
  465. package/packages/core/dist/plugins/change-verifier.js.map +1 -0
  466. package/packages/core/dist/plugins/cleaner.d.ts +8 -0
  467. package/packages/core/dist/plugins/cleaner.d.ts.map +1 -0
  468. package/packages/core/dist/plugins/cleaner.js +56 -0
  469. package/packages/core/dist/plugins/cleaner.js.map +1 -0
  470. package/packages/core/dist/plugins/cli-notifier.d.ts +15 -0
  471. package/packages/core/dist/plugins/cli-notifier.d.ts.map +1 -0
  472. package/packages/core/dist/plugins/cli-notifier.js +110 -0
  473. package/packages/core/dist/plugins/cli-notifier.js.map +1 -0
  474. package/packages/core/dist/plugins/code2skill.d.ts +8 -0
  475. package/packages/core/dist/plugins/code2skill.d.ts.map +1 -0
  476. package/packages/core/dist/plugins/code2skill.js +95 -0
  477. package/packages/core/dist/plugins/code2skill.js.map +1 -0
  478. package/packages/core/dist/plugins/colleague-skill.d.ts +27 -0
  479. package/packages/core/dist/plugins/colleague-skill.d.ts.map +1 -0
  480. package/packages/core/dist/plugins/colleague-skill.js +99 -0
  481. package/packages/core/dist/plugins/colleague-skill.js.map +1 -0
  482. package/packages/core/dist/plugins/context-doctor.d.ts +30 -0
  483. package/packages/core/dist/plugins/context-doctor.d.ts.map +1 -0
  484. package/packages/core/dist/plugins/context-doctor.js +95 -0
  485. package/packages/core/dist/plugins/context-doctor.js.map +1 -0
  486. package/packages/core/dist/plugins/context.d.ts +8 -0
  487. package/packages/core/dist/plugins/context.d.ts.map +1 -0
  488. package/packages/core/dist/plugins/context.js +87 -0
  489. package/packages/core/dist/plugins/context.js.map +1 -0
  490. package/packages/core/dist/plugins/cost-meter.d.ts +32 -0
  491. package/packages/core/dist/plugins/cost-meter.d.ts.map +1 -0
  492. package/packages/core/dist/plugins/cost-meter.js +204 -0
  493. package/packages/core/dist/plugins/cost-meter.js.map +1 -0
  494. package/packages/core/dist/plugins/dependency-checker.d.ts +27 -0
  495. package/packages/core/dist/plugins/dependency-checker.d.ts.map +1 -0
  496. package/packages/core/dist/plugins/dependency-checker.js +221 -0
  497. package/packages/core/dist/plugins/dependency-checker.js.map +1 -0
  498. package/packages/core/dist/plugins/docker-sandbox.d.ts +8 -0
  499. package/packages/core/dist/plugins/docker-sandbox.d.ts.map +1 -0
  500. package/packages/core/dist/plugins/docker-sandbox.js +102 -0
  501. package/packages/core/dist/plugins/docker-sandbox.js.map +1 -0
  502. package/packages/core/dist/plugins/fail-logger.d.ts +8 -0
  503. package/packages/core/dist/plugins/fail-logger.d.ts.map +1 -0
  504. package/packages/core/dist/plugins/fail-logger.js +51 -0
  505. package/packages/core/dist/plugins/fail-logger.js.map +1 -0
  506. package/packages/core/dist/plugins/genui.d.ts +8 -0
  507. package/packages/core/dist/plugins/genui.d.ts.map +1 -0
  508. package/packages/core/dist/plugins/genui.js +79 -0
  509. package/packages/core/dist/plugins/genui.js.map +1 -0
  510. package/packages/core/dist/plugins/git-time-capsule.d.ts +9 -0
  511. package/packages/core/dist/plugins/git-time-capsule.d.ts.map +1 -0
  512. package/packages/core/dist/plugins/git-time-capsule.js +90 -0
  513. package/packages/core/dist/plugins/git-time-capsule.js.map +1 -0
  514. package/packages/core/dist/plugins/graph-memory.d.ts +16 -0
  515. package/packages/core/dist/plugins/graph-memory.d.ts.map +1 -0
  516. package/packages/core/dist/plugins/graph-memory.js +382 -0
  517. package/packages/core/dist/plugins/graph-memory.js.map +1 -0
  518. package/packages/core/dist/plugins/history-compressor.d.ts +15 -0
  519. package/packages/core/dist/plugins/history-compressor.d.ts.map +1 -0
  520. package/packages/core/dist/plugins/history-compressor.js +80 -0
  521. package/packages/core/dist/plugins/history-compressor.js.map +1 -0
  522. package/packages/core/dist/plugins/hol-guard.d.ts +29 -0
  523. package/packages/core/dist/plugins/hol-guard.d.ts.map +1 -0
  524. package/packages/core/dist/plugins/hol-guard.js +139 -0
  525. package/packages/core/dist/plugins/hol-guard.js.map +1 -0
  526. package/packages/core/dist/plugins/i18n-pair.d.ts +8 -0
  527. package/packages/core/dist/plugins/i18n-pair.d.ts.map +1 -0
  528. package/packages/core/dist/plugins/i18n-pair.js +76 -0
  529. package/packages/core/dist/plugins/i18n-pair.js.map +1 -0
  530. package/packages/core/dist/plugins/image-compressor.d.ts +8 -0
  531. package/packages/core/dist/plugins/image-compressor.d.ts.map +1 -0
  532. package/packages/core/dist/plugins/image-compressor.js +150 -0
  533. package/packages/core/dist/plugins/image-compressor.js.map +1 -0
  534. package/packages/core/dist/plugins/llm-verifier.d.ts +42 -0
  535. package/packages/core/dist/plugins/llm-verifier.d.ts.map +1 -0
  536. package/packages/core/dist/plugins/llm-verifier.js +128 -0
  537. package/packages/core/dist/plugins/llm-verifier.js.map +1 -0
  538. package/packages/core/dist/plugins/mcp-client.d.ts +19 -0
  539. package/packages/core/dist/plugins/mcp-client.d.ts.map +1 -0
  540. package/packages/core/dist/plugins/mcp-client.js +534 -0
  541. package/packages/core/dist/plugins/mcp-client.js.map +1 -0
  542. package/packages/core/dist/plugins/mcp-panel.d.ts +14 -0
  543. package/packages/core/dist/plugins/mcp-panel.d.ts.map +1 -0
  544. package/packages/core/dist/plugins/mcp-panel.js +180 -0
  545. package/packages/core/dist/plugins/mcp-panel.js.map +1 -0
  546. package/packages/core/dist/plugins/memory.d.ts +15 -0
  547. package/packages/core/dist/plugins/memory.d.ts.map +1 -0
  548. package/packages/core/dist/plugins/memory.js +161 -0
  549. package/packages/core/dist/plugins/memory.js.map +1 -0
  550. package/packages/core/dist/plugins/mirage-bridge.d.ts +23 -0
  551. package/packages/core/dist/plugins/mirage-bridge.d.ts.map +1 -0
  552. package/packages/core/dist/plugins/mirage-bridge.js +149 -0
  553. package/packages/core/dist/plugins/mirage-bridge.js.map +1 -0
  554. package/packages/core/dist/plugins/mock-server.d.ts +22 -0
  555. package/packages/core/dist/plugins/mock-server.d.ts.map +1 -0
  556. package/packages/core/dist/plugins/mock-server.js +149 -0
  557. package/packages/core/dist/plugins/mock-server.js.map +1 -0
  558. package/packages/core/dist/plugins/model.d.ts +1 -1
  559. package/packages/core/dist/plugins/model.d.ts.map +1 -1
  560. package/packages/core/dist/plugins/model.js +3 -1
  561. package/packages/core/dist/plugins/model.js.map +1 -1
  562. package/packages/core/dist/plugins/models.d.ts.map +1 -1
  563. package/packages/core/dist/plugins/models.js +5 -2
  564. package/packages/core/dist/plugins/models.js.map +1 -1
  565. package/packages/core/dist/plugins/modlens.d.ts +8 -0
  566. package/packages/core/dist/plugins/modlens.d.ts.map +1 -0
  567. package/packages/core/dist/plugins/modlens.js +63 -0
  568. package/packages/core/dist/plugins/modlens.js.map +1 -0
  569. package/packages/core/dist/plugins/module-search.d.ts +27 -0
  570. package/packages/core/dist/plugins/module-search.d.ts.map +1 -0
  571. package/packages/core/dist/plugins/module-search.js +174 -0
  572. package/packages/core/dist/plugins/module-search.js.map +1 -0
  573. package/packages/core/dist/plugins/obsidian-sync.d.ts +14 -0
  574. package/packages/core/dist/plugins/obsidian-sync.d.ts.map +1 -0
  575. package/packages/core/dist/plugins/obsidian-sync.js +79 -0
  576. package/packages/core/dist/plugins/obsidian-sync.js.map +1 -0
  577. package/packages/core/dist/plugins/openpets.d.ts +14 -0
  578. package/packages/core/dist/plugins/openpets.d.ts.map +1 -0
  579. package/packages/core/dist/plugins/openpets.js +99 -0
  580. package/packages/core/dist/plugins/openpets.js.map +1 -0
  581. package/packages/core/dist/plugins/plan-execute.d.ts +8 -0
  582. package/packages/core/dist/plugins/plan-execute.d.ts.map +1 -0
  583. package/packages/core/dist/plugins/plan-execute.js +70 -0
  584. package/packages/core/dist/plugins/plan-execute.js.map +1 -0
  585. package/packages/core/dist/plugins/plugin-check.d.ts +38 -0
  586. package/packages/core/dist/plugins/plugin-check.d.ts.map +1 -0
  587. package/packages/core/dist/plugins/plugin-check.js +227 -0
  588. package/packages/core/dist/plugins/plugin-check.js.map +1 -0
  589. package/packages/core/dist/plugins/plugin-dev.d.ts +8 -0
  590. package/packages/core/dist/plugins/plugin-dev.d.ts.map +1 -0
  591. package/packages/core/dist/plugins/plugin-dev.js +44 -0
  592. package/packages/core/dist/plugins/plugin-dev.js.map +1 -0
  593. package/packages/core/dist/plugins/plugin-finder.d.ts +16 -0
  594. package/packages/core/dist/plugins/plugin-finder.d.ts.map +1 -0
  595. package/packages/core/dist/plugins/plugin-finder.js +98 -0
  596. package/packages/core/dist/plugins/plugin-finder.js.map +1 -0
  597. package/packages/core/dist/plugins/plugin-radar.d.ts +29 -0
  598. package/packages/core/dist/plugins/plugin-radar.d.ts.map +1 -0
  599. package/packages/core/dist/plugins/plugin-radar.js +146 -0
  600. package/packages/core/dist/plugins/plugin-radar.js.map +1 -0
  601. package/packages/core/dist/plugins/plugin-stars.d.ts +45 -0
  602. package/packages/core/dist/plugins/plugin-stars.d.ts.map +1 -0
  603. package/packages/core/dist/plugins/plugin-stars.js +165 -0
  604. package/packages/core/dist/plugins/plugin-stars.js.map +1 -0
  605. package/packages/core/dist/plugins/prompt-guard.d.ts +8 -0
  606. package/packages/core/dist/plugins/prompt-guard.d.ts.map +1 -0
  607. package/packages/core/dist/plugins/prompt-guard.js +114 -0
  608. package/packages/core/dist/plugins/prompt-guard.js.map +1 -0
  609. package/packages/core/dist/plugins/prompt-library.d.ts +25 -0
  610. package/packages/core/dist/plugins/prompt-library.d.ts.map +1 -0
  611. package/packages/core/dist/plugins/prompt-library.js +142 -0
  612. package/packages/core/dist/plugins/prompt-library.js.map +1 -0
  613. package/packages/core/dist/plugins/readme-gen.d.ts +25 -0
  614. package/packages/core/dist/plugins/readme-gen.d.ts.map +1 -0
  615. package/packages/core/dist/plugins/readme-gen.js +139 -0
  616. package/packages/core/dist/plugins/readme-gen.js.map +1 -0
  617. package/packages/core/dist/plugins/recall-unread.d.ts +24 -0
  618. package/packages/core/dist/plugins/recall-unread.d.ts.map +1 -0
  619. package/packages/core/dist/plugins/recall-unread.js +124 -0
  620. package/packages/core/dist/plugins/recall-unread.js.map +1 -0
  621. package/packages/core/dist/plugins/resources.d.ts +1 -0
  622. package/packages/core/dist/plugins/resources.d.ts.map +1 -1
  623. package/packages/core/dist/plugins/resources.js +31 -22
  624. package/packages/core/dist/plugins/resources.js.map +1 -1
  625. package/packages/core/dist/plugins/reverse-skill.d.ts +23 -0
  626. package/packages/core/dist/plugins/reverse-skill.d.ts.map +1 -0
  627. package/packages/core/dist/plugins/reverse-skill.js +60 -0
  628. package/packages/core/dist/plugins/reverse-skill.js.map +1 -0
  629. package/packages/core/dist/plugins/reviewer-bot.d.ts +14 -0
  630. package/packages/core/dist/plugins/reviewer-bot.d.ts.map +1 -0
  631. package/packages/core/dist/plugins/reviewer-bot.js +133 -0
  632. package/packages/core/dist/plugins/reviewer-bot.js.map +1 -0
  633. package/packages/core/dist/plugins/runtime-doctor.d.ts +33 -0
  634. package/packages/core/dist/plugins/runtime-doctor.d.ts.map +1 -0
  635. package/packages/core/dist/plugins/runtime-doctor.js +114 -0
  636. package/packages/core/dist/plugins/runtime-doctor.js.map +1 -0
  637. package/packages/core/dist/plugins/runtime.d.ts.map +1 -1
  638. package/packages/core/dist/plugins/runtime.js +63 -14
  639. package/packages/core/dist/plugins/runtime.js.map +1 -1
  640. package/packages/core/dist/plugins/secure-audit.d.ts +31 -0
  641. package/packages/core/dist/plugins/secure-audit.d.ts.map +1 -0
  642. package/packages/core/dist/plugins/secure-audit.js +121 -0
  643. package/packages/core/dist/plugins/secure-audit.js.map +1 -0
  644. package/packages/core/dist/plugins/session-bookmarks.d.ts +15 -0
  645. package/packages/core/dist/plugins/session-bookmarks.d.ts.map +1 -0
  646. package/packages/core/dist/plugins/session-bookmarks.js +87 -0
  647. package/packages/core/dist/plugins/session-bookmarks.js.map +1 -0
  648. package/packages/core/dist/plugins/session-bridge.d.ts +44 -0
  649. package/packages/core/dist/plugins/session-bridge.d.ts.map +1 -0
  650. package/packages/core/dist/plugins/session-bridge.js +265 -0
  651. package/packages/core/dist/plugins/session-bridge.js.map +1 -0
  652. package/packages/core/dist/plugins/session-compare.d.ts +33 -0
  653. package/packages/core/dist/plugins/session-compare.d.ts.map +1 -0
  654. package/packages/core/dist/plugins/session-compare.js +150 -0
  655. package/packages/core/dist/plugins/session-compare.js.map +1 -0
  656. package/packages/core/dist/plugins/session-export.d.ts +9 -0
  657. package/packages/core/dist/plugins/session-export.d.ts.map +1 -0
  658. package/packages/core/dist/plugins/session-export.js +93 -0
  659. package/packages/core/dist/plugins/session-export.js.map +1 -0
  660. package/packages/core/dist/plugins/session-insights.d.ts +8 -0
  661. package/packages/core/dist/plugins/session-insights.d.ts.map +1 -0
  662. package/packages/core/dist/plugins/session-insights.js +47 -0
  663. package/packages/core/dist/plugins/session-insights.js.map +1 -0
  664. package/packages/core/dist/plugins/session-search.d.ts +20 -0
  665. package/packages/core/dist/plugins/session-search.d.ts.map +1 -0
  666. package/packages/core/dist/plugins/session-search.js +122 -0
  667. package/packages/core/dist/plugins/session-search.js.map +1 -0
  668. package/packages/core/dist/plugins/session.d.ts.map +1 -1
  669. package/packages/core/dist/plugins/session.js +4 -2
  670. package/packages/core/dist/plugins/session.js.map +1 -1
  671. package/packages/core/dist/plugins/skill-catalog.d.ts +26 -0
  672. package/packages/core/dist/plugins/skill-catalog.d.ts.map +1 -0
  673. package/packages/core/dist/plugins/skill-catalog.js +97 -0
  674. package/packages/core/dist/plugins/skill-catalog.js.map +1 -0
  675. package/packages/core/dist/plugins/skill-guard.d.ts +26 -0
  676. package/packages/core/dist/plugins/skill-guard.d.ts.map +1 -0
  677. package/packages/core/dist/plugins/skill-guard.js +139 -0
  678. package/packages/core/dist/plugins/skill-guard.js.map +1 -0
  679. package/packages/core/dist/plugins/sql-lens.d.ts +8 -0
  680. package/packages/core/dist/plugins/sql-lens.d.ts.map +1 -0
  681. package/packages/core/dist/plugins/sql-lens.js +85 -0
  682. package/packages/core/dist/plugins/sql-lens.js.map +1 -0
  683. package/packages/core/dist/plugins/stdio.d.ts +1 -1
  684. package/packages/core/dist/plugins/stdio.d.ts.map +1 -1
  685. package/packages/core/dist/plugins/stdio.js +3 -1
  686. package/packages/core/dist/plugins/stdio.js.map +1 -1
  687. package/packages/core/dist/plugins/synapse.d.ts +38 -0
  688. package/packages/core/dist/plugins/synapse.d.ts.map +1 -0
  689. package/packages/core/dist/plugins/synapse.js +93 -0
  690. package/packages/core/dist/plugins/synapse.js.map +1 -0
  691. package/packages/core/dist/plugins/tab-manager.d.ts +8 -0
  692. package/packages/core/dist/plugins/tab-manager.d.ts.map +1 -0
  693. package/packages/core/dist/plugins/tab-manager.js +135 -0
  694. package/packages/core/dist/plugins/tab-manager.js.map +1 -0
  695. package/packages/core/dist/plugins/taskboard.d.ts +15 -0
  696. package/packages/core/dist/plugins/taskboard.d.ts.map +1 -0
  697. package/packages/core/dist/plugins/taskboard.js +347 -0
  698. package/packages/core/dist/plugins/taskboard.js.map +1 -0
  699. package/packages/core/dist/plugins/telemetry-blocker.d.ts +8 -0
  700. package/packages/core/dist/plugins/telemetry-blocker.d.ts.map +1 -0
  701. package/packages/core/dist/plugins/telemetry-blocker.js +57 -0
  702. package/packages/core/dist/plugins/telemetry-blocker.js.map +1 -0
  703. package/packages/core/dist/plugins/test-harness.d.ts +8 -0
  704. package/packages/core/dist/plugins/test-harness.d.ts.map +1 -0
  705. package/packages/core/dist/plugins/test-harness.js +64 -0
  706. package/packages/core/dist/plugins/test-harness.js.map +1 -0
  707. package/packages/core/dist/plugins/theme-studio.d.ts +29 -0
  708. package/packages/core/dist/plugins/theme-studio.d.ts.map +1 -0
  709. package/packages/core/dist/plugins/theme-studio.js +141 -0
  710. package/packages/core/dist/plugins/theme-studio.js.map +1 -0
  711. package/packages/core/dist/plugins/token-guard.d.ts +15 -0
  712. package/packages/core/dist/plugins/token-guard.d.ts.map +1 -0
  713. package/packages/core/dist/plugins/token-guard.js +78 -0
  714. package/packages/core/dist/plugins/token-guard.js.map +1 -0
  715. package/packages/core/dist/plugins/tools.d.ts.map +1 -1
  716. package/packages/core/dist/plugins/tools.js +5 -2
  717. package/packages/core/dist/plugins/tools.js.map +1 -1
  718. package/packages/core/dist/plugins/turn-rewind.d.ts +19 -0
  719. package/packages/core/dist/plugins/turn-rewind.d.ts.map +1 -0
  720. package/packages/core/dist/plugins/turn-rewind.js +74 -0
  721. package/packages/core/dist/plugins/turn-rewind.js.map +1 -0
  722. package/packages/core/dist/plugins/undo-savepoint.d.ts +17 -0
  723. package/packages/core/dist/plugins/undo-savepoint.d.ts.map +1 -0
  724. package/packages/core/dist/plugins/undo-savepoint.js +247 -0
  725. package/packages/core/dist/plugins/undo-savepoint.js.map +1 -0
  726. package/packages/core/dist/plugins/vision-toolkit.d.ts +17 -0
  727. package/packages/core/dist/plugins/vision-toolkit.d.ts.map +1 -0
  728. package/packages/core/dist/plugins/vision-toolkit.js +145 -0
  729. package/packages/core/dist/plugins/vision-toolkit.js.map +1 -0
  730. package/packages/core/dist/plugins/web-research.d.ts +17 -0
  731. package/packages/core/dist/plugins/web-research.d.ts.map +1 -0
  732. package/packages/core/dist/plugins/web-research.js +275 -0
  733. package/packages/core/dist/plugins/web-research.js.map +1 -0
  734. package/packages/core/dist/plugins/workspace-navigator.d.ts +36 -0
  735. package/packages/core/dist/plugins/workspace-navigator.d.ts.map +1 -0
  736. package/packages/core/dist/plugins/workspace-navigator.js +150 -0
  737. package/packages/core/dist/plugins/workspace-navigator.js.map +1 -0
  738. package/packages/core/dist/plugins/workspace-search.d.ts +8 -0
  739. package/packages/core/dist/plugins/workspace-search.d.ts.map +1 -0
  740. package/packages/core/dist/plugins/workspace-search.js +134 -0
  741. package/packages/core/dist/plugins/workspace-search.js.map +1 -0
  742. package/packages/core/dist/plugins/yaml-validator.d.ts +8 -0
  743. package/packages/core/dist/plugins/yaml-validator.d.ts.map +1 -0
  744. package/packages/core/dist/plugins/yaml-validator.js +94 -0
  745. package/packages/core/dist/plugins/yaml-validator.js.map +1 -0
  746. package/packages/core/dist/profile.d.ts +1 -0
  747. package/packages/core/dist/profile.d.ts.map +1 -1
  748. package/packages/core/dist/profile.js +3 -0
  749. package/packages/core/dist/profile.js.map +1 -1
  750. package/packages/core/dist/runtime.d.ts.map +1 -1
  751. package/packages/core/dist/runtime.js +13 -4
  752. package/packages/core/dist/runtime.js.map +1 -1
  753. package/packages/core/dist/services.d.ts +55 -0
  754. package/packages/core/dist/services.d.ts.map +1 -1
  755. package/packages/core/dist/services.js +58 -2
  756. package/packages/core/dist/services.js.map +1 -1
  757. package/packages/core/dist/stdio.d.ts +13 -2
  758. package/packages/core/dist/stdio.d.ts.map +1 -1
  759. package/packages/core/dist/stdio.js +75 -9
  760. package/packages/core/dist/stdio.js.map +1 -1
  761. package/packages/core/dist/workspace-path.d.ts +12 -0
  762. package/packages/core/dist/workspace-path.d.ts.map +1 -0
  763. package/packages/core/dist/workspace-path.js +62 -0
  764. package/packages/core/dist/workspace-path.js.map +1 -0
  765. package/packages/core/package.json +18 -8
  766. package/packages/core/profiles/default/cordis.yml +85 -0
  767. package/packages/core/profiles/development/cordis.yml +1 -1
  768. package/packages/core/src/boot.ts +38 -2
  769. package/packages/core/src/config.ts +5 -0
  770. package/packages/core/src/http.ts +32 -0
  771. package/packages/core/src/index.ts +2 -0
  772. package/packages/core/src/plugins/agent-teams.ts +291 -0
  773. package/packages/core/src/plugins/anchored-standard.ts +88 -0
  774. package/packages/core/src/plugins/annotation.ts +106 -0
  775. package/packages/core/src/plugins/archify.ts +124 -0
  776. package/packages/core/src/plugins/at-file.ts +54 -0
  777. package/packages/core/src/plugins/auto-mode.ts +123 -0
  778. package/packages/core/src/plugins/better-sidebar.ts +117 -0
  779. package/packages/core/src/plugins/browser-fetch.ts +171 -0
  780. package/packages/core/src/plugins/browser-session.ts +287 -0
  781. package/packages/core/src/plugins/canvas-draw.ts +90 -0
  782. package/packages/core/src/plugins/change-verifier.ts +79 -0
  783. package/packages/core/src/plugins/cleaner.ts +61 -0
  784. package/packages/core/src/plugins/cli-notifier.ts +125 -0
  785. package/packages/core/src/plugins/code2skill.ts +96 -0
  786. package/packages/core/src/plugins/colleague-skill.ts +122 -0
  787. package/packages/core/src/plugins/context-doctor.ts +117 -0
  788. package/packages/core/src/plugins/context.ts +102 -0
  789. package/packages/core/src/plugins/cost-meter.ts +231 -0
  790. package/packages/core/src/plugins/dependency-checker.ts +241 -0
  791. package/packages/core/src/plugins/docker-sandbox.ts +100 -0
  792. package/packages/core/src/plugins/fail-logger.ts +51 -0
  793. package/packages/core/src/plugins/genui.ts +88 -0
  794. package/packages/core/src/plugins/git-time-capsule.ts +97 -0
  795. package/packages/core/src/plugins/graph-memory.ts +394 -0
  796. package/packages/core/src/plugins/history-compressor.ts +81 -0
  797. package/packages/core/src/plugins/hol-guard.ts +153 -0
  798. package/packages/core/src/plugins/i18n-pair.ts +82 -0
  799. package/packages/core/src/plugins/image-compressor.ts +144 -0
  800. package/packages/core/src/plugins/llm-verifier.ts +164 -0
  801. package/packages/core/src/plugins/mcp-client.ts +559 -0
  802. package/packages/core/src/plugins/mcp-panel.ts +190 -0
  803. package/packages/core/src/plugins/memory.ts +176 -0
  804. package/packages/core/src/plugins/mirage-bridge.ts +179 -0
  805. package/packages/core/src/plugins/mock-server.ts +158 -0
  806. package/packages/core/src/plugins/model.ts +3 -1
  807. package/packages/core/src/plugins/models.ts +5 -2
  808. package/packages/core/src/plugins/modlens.ts +63 -0
  809. package/packages/core/src/plugins/module-search.ts +201 -0
  810. package/packages/core/src/plugins/obsidian-sync.ts +83 -0
  811. package/packages/core/src/plugins/openpets.ts +109 -0
  812. package/packages/core/src/plugins/plan-execute.ts +76 -0
  813. package/packages/core/src/plugins/plugin-check.ts +232 -0
  814. package/packages/core/src/plugins/plugin-dev.ts +47 -0
  815. package/packages/core/src/plugins/plugin-finder.ts +108 -0
  816. package/packages/core/src/plugins/plugin-radar.ts +179 -0
  817. package/packages/core/src/plugins/plugin-stars.ts +205 -0
  818. package/packages/core/src/plugins/prompt-guard.ts +122 -0
  819. package/packages/core/src/plugins/prompt-library.ts +165 -0
  820. package/packages/core/src/plugins/readme-gen.ts +147 -0
  821. package/packages/core/src/plugins/recall-unread.ts +142 -0
  822. package/packages/core/src/plugins/resources.ts +28 -21
  823. package/packages/core/src/plugins/reverse-skill.ts +79 -0
  824. package/packages/core/src/plugins/reviewer-bot.ts +146 -0
  825. package/packages/core/src/plugins/runtime-doctor.ts +137 -0
  826. package/packages/core/src/plugins/runtime.ts +61 -14
  827. package/packages/core/src/plugins/secure-audit.ts +146 -0
  828. package/packages/core/src/plugins/session-bookmarks.ts +89 -0
  829. package/packages/core/src/plugins/session-bridge.ts +299 -0
  830. package/packages/core/src/plugins/session-compare.ts +180 -0
  831. package/packages/core/src/plugins/session-export.ts +99 -0
  832. package/packages/core/src/plugins/session-insights.ts +47 -0
  833. package/packages/core/src/plugins/session-search.ts +126 -0
  834. package/packages/core/src/plugins/session.ts +4 -2
  835. package/packages/core/src/plugins/skill-catalog.ts +117 -0
  836. package/packages/core/src/plugins/skill-guard.ts +152 -0
  837. package/packages/core/src/plugins/sql-lens.ts +92 -0
  838. package/packages/core/src/plugins/stdio.ts +3 -1
  839. package/packages/core/src/plugins/synapse.ts +130 -0
  840. package/packages/core/src/plugins/tab-manager.ts +135 -0
  841. package/packages/core/src/plugins/taskboard.ts +412 -0
  842. package/packages/core/src/plugins/telemetry-blocker.ts +62 -0
  843. package/packages/core/src/plugins/test-harness.ts +67 -0
  844. package/packages/core/src/plugins/theme-studio.ts +165 -0
  845. package/packages/core/src/plugins/token-guard.ts +84 -0
  846. package/packages/core/src/plugins/tools.ts +5 -2
  847. package/packages/core/src/plugins/turn-rewind.ts +86 -0
  848. package/packages/core/src/plugins/undo-savepoint.ts +284 -0
  849. package/packages/core/src/plugins/vision-toolkit.ts +153 -0
  850. package/packages/core/src/plugins/web-research.ts +289 -0
  851. package/packages/core/src/plugins/workspace-navigator.ts +164 -0
  852. package/packages/core/src/plugins/workspace-search.ts +139 -0
  853. package/packages/core/src/plugins/yaml-validator.ts +97 -0
  854. package/packages/core/src/profile.ts +3 -0
  855. package/packages/core/src/runtime.ts +11 -4
  856. package/packages/core/src/services.ts +110 -3
  857. package/packages/core/src/stdio.ts +79 -9
  858. package/packages/core/src/workspace-path.ts +69 -0
  859. package/packages/core/test/agent-teams.test.ts +24 -0
  860. package/packages/core/test/archify.test.ts +33 -0
  861. package/packages/core/test/better-sidebar.test.ts +125 -0
  862. package/packages/core/test/boot.test.ts +49 -6
  863. package/packages/core/test/colleague-skill.test.ts +74 -0
  864. package/packages/core/test/config.test.ts +121 -0
  865. package/packages/core/test/context-doctor.test.ts +32 -0
  866. package/packages/core/test/dependency-checker.test.ts +60 -0
  867. package/packages/core/test/git-time-capsule.test.ts +115 -0
  868. package/packages/core/test/http.test.ts +34 -0
  869. package/packages/core/test/llm-verifier.test.ts +72 -0
  870. package/packages/core/test/mirage-bridge.test.ts +54 -0
  871. package/packages/core/test/module-search.test.ts +78 -0
  872. package/packages/core/test/plugin-check.test.ts +16 -0
  873. package/packages/core/test/plugin-stars.test.ts +55 -0
  874. package/packages/core/test/profiles.integration.test.ts +49 -15
  875. package/packages/core/test/prompt-library.test.ts +56 -0
  876. package/packages/core/test/readme-gen.test.ts +45 -0
  877. package/packages/core/test/recall-unread.test.ts +35 -0
  878. package/packages/core/test/registry.test.ts +48 -0
  879. package/packages/core/test/reverse-skill.test.ts +40 -0
  880. package/packages/core/test/runtime-doctor.test.ts +55 -0
  881. package/packages/core/test/runtime-fixture.ts +4 -4
  882. package/packages/core/test/runtime.test.ts +90 -1
  883. package/packages/core/test/secure-audit.test.ts +16 -0
  884. package/packages/core/test/services.test.ts +2024 -5
  885. package/packages/core/test/session-bookmarks.test.ts +62 -0
  886. package/packages/core/test/session-bridge.test.ts +103 -0
  887. package/packages/core/test/session-compare.test.ts +94 -0
  888. package/packages/core/test/session-export.test.ts +54 -0
  889. package/packages/core/test/session-search.test.ts +30 -0
  890. package/packages/core/test/skill-catalog.test.ts +18 -0
  891. package/packages/core/test/skill-guard.test.ts +21 -0
  892. package/packages/core/test/stdio-args.test.ts +178 -0
  893. package/packages/core/test/theme-studio.test.ts +39 -0
  894. package/packages/core/test/token-guard.test.ts +34 -0
  895. package/packages/core/test/turn-rewind.test.ts +19 -0
  896. package/packages/core/test/vision-toolkit.test.ts +38 -0
  897. package/packages/core/test/workspace-git-status.test.ts +37 -0
  898. package/packages/core/test/workspace-navigator.test.ts +33 -0
  899. package/packages/core/test/workspace-path.test.ts +34 -0
  900. package/packages/core/tsconfig.build.json +1 -3
  901. package/packages/core/tsconfig.json +1 -4
  902. package/packages/host-webserver/LICENSE +9 -0
  903. package/packages/host-webserver/dist/index.js +1 -1
  904. package/packages/host-webserver/dist/index.js.map +1 -1
  905. package/packages/host-webserver/package.json +17 -7
  906. package/packages/host-webserver/src/index.ts +1 -1
  907. package/packages/host-webserver/test/index.test.ts +4 -1
  908. package/packages/host-webserver/tsconfig.build.json +1 -1
  909. package/packages/host-webserver/tsconfig.json +1 -1
  910. package/apps/web/dist/assets/index-Bwqek8LF.js +0 -20
  911. package/apps/web/dist/assets/index-DCHSASjq.css +0 -1
  912. package/packages/api-gateway/dist/marketplace-registry.json +0 -62
  913. package/packages/api-gateway/src/marketplace-registry.json +0 -62
@@ -1,8 +1,2604 @@
1
- :root{color-scheme:light;--ink:#0f1115;--muted:#81858c;--faint:#adb2b8;--line:rgba(0,0,0,.09);--soft:#f9fafb;--blue:#4176e6;--blue-soft:#edf3fe;--green:#22c55e;--red:#ec1313;--amber:#f59e0b;--mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}body{background:#fff;color:var(--ink);font:13px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(65,118,230,.45);outline-offset:1px}[hidden]{display:none!important}.app-frame{display:flex;width:100%;height:100%;overflow:hidden;background:#fff}.sidebar{width:264px;flex:0 0 264px;display:flex;flex-direction:column;min-height:0;background:var(--soft);border-right:1px solid rgba(0,0,0,.06)}.brand-row{height:48px;flex:0 0 48px;display:flex;align-items:center;gap:9px;padding:0 14px}.brand-row strong{font-size:13px;font-weight:600;letter-spacing:-.1px}.pi-mark{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:6px;background:var(--ink);color:#fff;font:13px var(--mono)}.pi-mark.large{width:38px;height:38px;border-radius:11px;font-size:19px}.version{margin-left:auto;color:var(--faint);font:10px var(--mono)}.sidebar-actions{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px}.new-session{height:32px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:500}.new-session:hover,.send-button:hover{background:#43454a}.sidebar-actions input{width:100%;height:30px;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#fff;padding:0 10px;font-size:12px;outline:none}.sidebar-scroll{flex:1;min-height:0;overflow:auto;padding:0 8px 8px}.session-group{margin-bottom:8px}.group-label{padding:6px 8px 4px;color:var(--faint);font-size:10px;letter-spacing:.04em}.session-row{display:flex;align-items:center;gap:7px;width:100%;padding:7px 9px;border-radius:8px;text-align:left}.session-row:hover{background:#f1f3f5}.session-row.active{background:#ebeef2}.session-dot{width:6px;height:6px;flex:none;border-radius:50%;background:#cfd3d6}.session-dot.running{background:var(--green);animation:pulse 1.4s ease-in-out infinite}.session-dot.ok{background:var(--green)}.session-dot.warn{background:var(--amber)}.session-dot.error{background:var(--red)}.session-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.session-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600}.session-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font:10px var(--mono)}.runtime-cells{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 19px 9px;color:var(--faint);font:9.5px var(--mono);border-top:1px solid rgba(0,0,0,.06)}.runtime-cells span{display:flex;gap:5px}.runtime-cells b{font-weight:400}.runtime-cells strong{color:#61666b;font-weight:400}.sidebar-footer{display:flex;flex-direction:column;gap:2px;padding:6px 10px 8px;border-top:1px solid rgba(0,0,0,.06)}.sidebar-link{display:flex;align-items:center;gap:9px;height:30px;padding:0 9px;border-radius:8px;text-align:left;font-size:12.5px}.sidebar-link:hover{background:#f1f3f5}.sidebar-link span:nth-child(2){flex:1}.sidebar-link b{padding:1px 6px;border-radius:20px;background:#ebeef2;color:#61666b;font:10px var(--mono);font-weight:400}.link-glyph{color:var(--blue);font:11.5px var(--mono)}.main-pane{display:flex;flex:1;min-width:0;flex-direction:column}.main-header{height:48px;flex:0 0 48px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid rgba(0,0,0,.06)}.active-heading{display:flex;min-width:0;flex-direction:column}.active-heading strong,.active-heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-heading strong{font-size:13px;font-weight:600}.active-heading small{color:var(--faint);font:10px var(--mono)}.header-spacer{flex:1}.run-indicator{display:flex;align-items:center;gap:6px;flex:none;color:#61666b;font:10.5px var(--mono)}.run-indicator>span{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.4s ease-in-out infinite}.run-indicator button{padding:2px 8px;border:1px solid rgba(236,19,19,.24);border-radius:6px;color:var(--red);font-size:11px}.run-indicator.running>span{background:var(--blue)}.view-tabs{display:flex;gap:2px;padding:2px;border-radius:8px;background:#f1f3f5}.view-tab{padding:4px 11px;border-radius:6px;color:var(--muted);font-size:12px}.view-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600}.session-menu,.details-toggle{height:28px;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#fff;color:#61666b}.session-menu{width:28px;font-size:15px}.details-toggle{padding:0 9px;font-size:12px}.session-menu:hover,.details-toggle:hover{background:#f1f3f5}.view-host{display:flex;flex:1;min-height:0;flex-direction:column}.view-panel{display:flex;flex:1;min-height:0;flex-direction:column}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:20px 24px 4px}.turn{max-width:748px;margin:0 auto 16px;font-size:13.5px;line-height:1.78}.turn.user{display:flex;justify-content:flex-end}.user-bubble{max-width:84%;padding:10px 14px;border-radius:12px;background:var(--blue-soft);white-space:pre-wrap}.turn-text{margin:0;white-space:pre-wrap}.reasoning-head{display:flex;align-items:center;gap:6px;padding:0;color:var(--muted);font-size:11.5px}.reasoning-head .caret{color:var(--faint);font-size:9px}.reasoning-body{display:none;margin:6px 0 0;padding-left:11px;border-left:2px solid #ebeef2;color:#61666b;font-size:12.5px;line-height:1.75;white-space:pre-wrap}.reasoning:hover .reasoning-body{display:block}.plugin-event{display:flex;align-items:center;gap:8px;height:30px;padding:0 11px;border:1px dashed rgba(65,118,230,.35);border-radius:8px;background:#f7faff;color:var(--blue);font:11px var(--mono)}.plugin-event>span:nth-last-child(1){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#61666b;font:12px var(--sans)}.plugin-hook{padding:1px 6px;border-radius:4px;background:#e4edfd;color:#81858c!important;font:10px var(--mono)!important}.tool-card,.approval-card,.subagent-card,.todo-card{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.tool-head,.subagent-head{display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:7px 11px;text-align:left;background:#fff}.tool-head{font:11.5px var(--mono)}.tool-glyph{width:12px;color:var(--muted)}.tool-target,.subagent-goal{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.tool-head .tool-target,.subagent-goal{flex:1}.tool-stat{color:var(--muted)}.tool-detail-link{color:var(--blue);font:10.5px var(--sans)}.tool-output,.diff-preview,.toml{margin:0;padding:10px 12px;border-top:1px solid rgba(0,0,0,.06);background:var(--soft);white-space:pre-wrap;word-break:break-word;color:#61666b;font:11.5px/1.7 var(--mono)}.diff-line{display:flex;gap:10px;padding:0 8px;font:11.5px/1.7 var(--mono)}.diff-line.added{background:#e6faed}.diff-line.removed{background:#fff0f0}.diff-no{width:30px;color:var(--faint);text-align:right}.diff-sign{width:8px;color:var(--green)}.diff-line.removed .diff-sign{color:var(--red)}.approval-card{padding:11px 13px;background:#fffaf0;border-color:rgba(245,158,11,.4)}.approval-card pre{padding:8px 0;background:transparent;border:0}.approval-actions{display:flex;gap:7px;margin-top:4px}.approval-actions button,.plugin-add button{padding:5px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11.5px}.approval-actions .primary,.plugin-add .primary{background:var(--ink);color:#fff}.approval-actions .danger{color:var(--red)}.subagent-head{font-size:12.5px}.subagent-glyph{color:#679efe;font:11px var(--mono)}.subagent-preset{padding:1px 6px;border-radius:4px;background:#e4edfd;color:#81858c;font:10.5px var(--mono)}.subagent-duration{color:var(--faint);font:10.5px var(--mono)}.subagent-body{display:block;padding:4px 11px 9px;border-top:1px solid rgba(0,0,0,.06)}.subagent-lineage{display:block;padding:6px 0 4px;color:var(--faint);font:10px var(--mono)}.subagent-step{display:flex;align-items:center;gap:8px;padding:4px 0;border-left:2px solid #e4edfd;padding-left:10px}.subagent-step code{width:42px;color:var(--muted);font:10.5px var(--mono)}.subagent-step span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#61666b;font:11px var(--mono)}.subagent-step small{color:var(--faint);font:10px var(--mono)}.subagent-body p{margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.todo-head{display:flex;align-items:center;gap:8px;height:32px;padding:0 11px;border-bottom:1px solid rgba(0,0,0,.06)}.todo-head small{color:var(--faint);font:10.5px var(--mono)}.todo-row{display:flex;align-items:flex-start;gap:9px;padding:7px 11px;border-bottom:1px solid rgba(0,0,0,.04)}.todo-row.done{color:var(--muted);text-decoration:line-through}.todo-mark{color:var(--green);font:11px var(--mono)}.stats-row{display:flex;gap:14px;flex-wrap:wrap;color:var(--faint);font:10.5px var(--mono)}.composer-wrap{flex:0 0 auto;padding:8px 24px 14px}.context-line{display:flex;max-width:748px;margin:0 auto 8px;align-items:center;gap:9px;color:var(--faint);font:10.5px var(--mono)}.context-line b{color:var(--muted);font-weight:400}.context-line button{padding:0;color:var(--blue);font-size:11px}.context-bar{display:flex;flex:1;height:4px;overflow:hidden;border-radius:3px;background:#ebeef2}.context-bar i{height:100%}.context-bar.expanded{height:8px}.composer{max-width:748px;margin:0 auto;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03);overflow:hidden}.composer textarea{display:block;width:100%;min-height:65px;padding:11px 13px 4px;border:0;outline:0;resize:none;color:var(--ink);font-size:13.5px;line-height:1.7;background:transparent}.composer-tools{display:flex;align-items:center;gap:6px;padding:6px 8px 8px}.composer-tools select,.tool-chip{height:26px;padding:0 7px;border:1px solid rgba(0,0,0,.1);border-radius:7px;background:#fff;font:11px var(--mono)}.tool-chip{padding:0 9px;color:#61666b;font-family:var(--sans);font-size:11.5px}.composer-hint{flex:1;color:#cfd3d6;font:10px var(--mono);text-align:right}.send-button{width:28px;height:28px;border-radius:8px;background:var(--ink);color:#fff;font-size:15px}.send-button:disabled{cursor:not-allowed;opacity:.45}.new-session-screen{max-width:580px;margin:0 auto;padding:40px 0;display:flex;align-items:center;flex-direction:column;gap:11px;text-align:center}.new-session-screen h2{margin:0;font-size:16.5px}.new-session-screen p{margin:0;color:var(--muted)}.workspace-picker{display:grid;gap:6px;width:100%;margin-top:12px;text-align:left}.workspace-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left}.workspace-row:hover{background:var(--soft);border-color:rgba(65,118,230,.4)}.workspace-row code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px var(--mono)}.workspace-row small{display:block;margin-top:3px;color:var(--faint);font:10px var(--mono)}.workspace-row .live{color:var(--green)}.workspace-row .offline{color:#cfd3d6}.effective-config{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:9px 12px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:var(--soft);text-align:left}.effective-config code{color:var(--faint);font:10.5px var(--mono)}.effective-config span{color:#61666b;font:10.5px var(--mono)}.trajectory-summary{flex:none;padding:12px 16px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11.5px}.trajectory-summary b{margin-left:9px;color:var(--faint);font:10.5px var(--mono);font-weight:400}.timeline{display:flex;gap:3px;height:26px;margin-top:8px}.timeline-turn{display:flex;align-items:stretch;padding:0;background:#ebeef2;border-radius:3px;overflow:hidden}.timeline-strip{display:block;width:100%;opacity:.9}.source-filters{display:flex;align-items:center;gap:6px;flex:none;padding:9px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filter{display:flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid rgba(0,0,0,.1);border-radius:20px;color:var(--muted);font-size:11.5px}.filter.active{border-color:rgba(65,118,230,.35);background:var(--blue-soft);color:var(--blue)}.filter b{color:var(--faint);font:10px var(--mono);font-weight:400}.event-count{margin-left:auto;color:var(--faint);font:10.5px var(--mono)}.event-table{flex:1;min-height:0;overflow:auto}.event-head,.event-row{display:grid;grid-template-columns:78px 132px 1fr 88px 68px;gap:12px;align-items:center;padding:7px 16px}.event-head{background:var(--soft);border-bottom:1px solid rgba(0,0,0,.06);color:var(--faint);font:10px var(--mono);letter-spacing:.04em;text-transform:uppercase}.event-row{width:100%;border-bottom:1px solid rgba(0,0,0,.04);text-align:left;font-size:12px}.event-row:hover{background:var(--soft)}.event-row>span,.event-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row>span:first-child,.event-row>span:last-child{color:var(--faint);font:10.5px var(--mono)}.event-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.event-row>span:nth-child(2){display:flex;align-items:center;gap:7px;color:#61666b;font:11px var(--mono)}.event-dot{width:6px;height:6px;flex:none;border-radius:2px;background:var(--blue)}.files-content{max-width:820px;padding:18px 24px}.files-title{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.files-title strong{font-size:13px}.files-title span{color:var(--faint);font:11px var(--mono)}.file-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.file-row{display:flex;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid rgba(0,0,0,.04)}.file-row:last-child{border-bottom:0}.file-row code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px var(--mono)}.file-kind{padding:1px 6px;border-radius:4px;background:#f1f3f5;color:#61666b;font:10px var(--mono)}.file-kind.new{background:#e6faed;color:#16a34a}.file-row .add{color:var(--green);font:11px var(--mono)}.file-row .del{color:var(--red);font:11px var(--mono)}.diff-button{color:var(--blue);font-size:11.5px}.file-actions{display:flex;gap:8px;margin-top:12px}.file-actions button{padding:6px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11.5px}.file-actions .primary{background:var(--ink);color:#fff}.details-panel{width:336px;flex:0 1 336px;min-width:268px;border-left:1px solid rgba(0,0,0,.1);background:#fff}.details-panel>header{height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid rgba(0,0,0,.06)}.details-panel>header strong{flex:1;font-size:13px}.details-panel>header button{color:var(--muted);font-size:19px;line-height:1}.details-body{padding:12px;overflow:auto}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.detail-stats>div{padding:9px;border:1px solid rgba(0,0,0,.08);border-radius:8px}.detail-stats small,.detail-section>small{display:block;color:var(--faint);font:9.5px var(--mono);letter-spacing:.04em}.detail-stats b{display:block;margin-top:2px;font:12.5px var(--mono);font-weight:400}.detail-section{display:flex;margin-top:14px;flex-direction:column;gap:5px}.detail-plugin{display:block;padding:6px 9px;border:1px solid rgba(0,0,0,.08);border-radius:8px;color:var(--blue);font:10.5px var(--mono);overflow-wrap:anywhere}.raw-json{margin:14px 0 0}.plugins-view{min-width:0}.plugins-page{display:flex;min-height:0;flex:1;flex-direction:column}.subnav{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11.5px}.subnav>a{margin-left:auto;color:var(--blue)}.segmented{display:flex;gap:2px;padding:2px;border-radius:8px;background:#f1f3f5}.segmented button{padding:4px 11px;border-radius:6px;color:var(--muted);font-size:12px}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600}.plugins-scroll{flex:1;overflow:auto;padding:14px 16px}.plugins-list{max-width:900px;display:flex;flex-direction:column;gap:9px}.plugin-card{border:1px solid var(--line);border-radius:10px;padding:11px 13px}.plugin-card-head{display:flex;align-items:flex-start;gap:10px}.plugin-icon{margin-top:2px;color:var(--blue);font:11px var(--mono)}.plugin-copy{flex:1;min-width:0}.plugin-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.plugin-title code{font:12px var(--mono);font-weight:500}.plugin-title small{color:var(--faint);font:10px var(--mono)}.capability,.update,.local{padding:1px 6px;border-radius:4px;background:#ebeef2;color:#61666b;font-size:10px}.update{background:var(--blue-soft);color:var(--blue)}.local{background:#fef5e7;color:#dd8629;font:10px var(--mono)}.plugin-copy p{margin:4px 0 7px;color:#61666b;font-size:12px;line-height:1.6}.hook-list{display:flex;flex-wrap:wrap;gap:5px}.hook-list span{padding:1px 6px;border:1px solid rgba(0,0,0,.08);border-radius:4px;color:var(--muted);font:10px var(--mono)}.switch{position:relative;width:34px;height:20px;flex:0 0 34px;border-radius:20px;background:#cfd3d6}.switch.on{background:var(--ink)}.switch i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch.on i{left:16px}.plugin-add{display:flex;align-items:center;gap:9px;padding:12px 13px;border:1px dashed rgba(0,0,0,.16);border-radius:10px}.plugin-add code{color:var(--muted);font:11.5px var(--mono)}.plugin-add input{flex:1;min-width:0;height:28px;border:1px solid rgba(0,0,0,.1);border-radius:7px;padding:0 9px;font:11.5px var(--mono)}.settings-overlay,.command-palette{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:40px;background:rgba(0,0,0,.24)}.settings-dialog{display:flex;width:100%;max-width:880px;height:100%;max-height:620px;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,.24)}.settings-dialog>aside{display:flex;width:184px;flex:0 0 184px;padding:12px 8px;flex-direction:column;gap:2px;background:var(--soft);border-right:1px solid rgba(0,0,0,.06)}.settings-dialog>aside>strong{padding:4px 9px 10px;font-size:13px}.settings-tab{height:30px;padding:0 9px;border-radius:8px;text-align:left;font-size:12.5px}.settings-tab.active{background:#f1f3f5;font-weight:600}.settings-tab b{float:right;color:#61666b;font:10px var(--mono);font-weight:400}.settings-dialog>section{display:flex;min-width:0;flex:1;flex-direction:column}.settings-dialog section>header{height:44px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid rgba(0,0,0,.06)}.settings-dialog section>header strong{flex:1;font-size:13px}.settings-dialog section>header button{color:var(--muted);font-size:19px}.settings-body{flex:1;overflow:auto;padding:14px 16px}.settings-intro{padding:5px 0 11px;border-bottom:1px solid var(--line)}.settings-intro small{color:var(--faint);font:9.5px var(--mono)}.settings-intro h3{margin:4px 0;font:13px var(--mono);font-weight:500}.settings-intro p{margin:0;color:var(--muted);font-size:12px}.general-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06)}.general-row>div{flex:1}.general-row strong{display:block;font-size:12.5px}.general-row small{display:block;margin-top:2px;color:var(--muted);font-size:11.5px}.provider-card{margin-bottom:12px;padding:12px 13px;border:1px solid var(--line);border-radius:10px}.provider-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.provider-dot{color:var(--green);font-size:10px}.provider-head strong{font-size:12.5px}.provider-state{margin-left:auto;color:var(--green);font:10.5px var(--mono)}.provider-field{display:flex;align-items:center;gap:8px;margin-top:7px}.provider-field code{width:66px;flex:0 0 66px;color:#61666b;font:11px var(--mono)}.provider-field input{flex:1;min-width:0;height:28px;border:1px solid rgba(0,0,0,.1);border-radius:7px;padding:0 9px;background:#fff;font:11.5px var(--mono)}.provider-footer{display:flex;align-items:center;gap:8px;margin-top:9px}.provider-footer code{color:var(--muted);font:10.5px var(--mono)}.provider-footer button{padding:4px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11px}.provider-footer .link-button{margin-left:auto;border:0;color:var(--blue)}.model-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.model-chips span{padding:1px 7px;border-radius:4px;background:#e4edfd;color:var(--blue);font:10.5px var(--mono)}.add-provider{display:flex;align-items:center;gap:9px;width:100%;padding:11px 13px;border:1px dashed rgba(0,0,0,.16);border-radius:10px;text-align:left;color:#61666b}.add-provider small{margin-left:auto;color:var(--faint);font:10.5px var(--mono)}.toml-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--muted);font-size:11.5px}.toml-toolbar span{flex:1}.toml-toolbar button{padding:4px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11px}.toml-toolbar button.active{background:#f1f3f5;font-weight:600}.toml-toolbar .primary{background:var(--ink);color:#fff}.toml{min-height:420px;border:1px solid var(--line);border-radius:9px;color:#61666b}.command-palette{background:rgba(0,0,0,.18)}.palette-dialog{width:100%;max-width:600px;overflow:hidden;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,.22)}.palette-dialog>input{width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--line);outline:0}.palette-group{padding:8px}.palette-group small{display:block;padding:4px 6px;color:var(--faint);font:10px var(--mono)}.palette-group button{display:flex;width:100%;padding:9px 7px;text-align:left;font:12px var(--mono)}.palette-group button span{margin-left:16px;color:var(--muted);font:12px var(--sans)}@keyframes pulse{50%{opacity:.3}}@media(max-width:1100px){.details-panel{display:none}.details-toggle{display:none}}@media(max-width:760px){.sidebar{width:216px;flex-basis: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(max-width:560px){.sidebar{width:54px;flex-basis:54px}.brand-row{justify-content:center;padding:0}.brand-row strong,.version,.sidebar-actions,.sidebar-scroll,.runtime-cells,.sidebar-footer{display:none}.main-header .active-heading small{display:none}.view-tab{padding:4px 7px}.details-panel{display:none}.composer-tools{justify-content:flex-end}}
2
- :root{--empty:#9aa0a6}.empty-state{padding:28px 16px;color:var(--muted);text-align:center;font-size:12px}.settings-plugin-row{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);font:11.5px var(--mono);color:#61666b}.settings-body>p{color:var(--muted);font-size:12px}.provider-card input{display:block;width:100%;height:28px;margin-top:7px;border:1px solid rgba(0,0,0,.1);border-radius:7px;padding:0 9px;font:11.5px var(--mono)}.stop-button{padding:2px 8px;border:1px solid rgba(236,19,19,.24);border-radius:6px;color:var(--red);font-size:11px}.stop-button:disabled{opacity:.45;cursor:not-allowed}.session-menu-popover{position:absolute;top:34px;right:0;z-index:35;width:224px;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.14);overflow:hidden}.session-menu{position:relative}.session-action{display:flex;flex-direction:column;gap:1px;width:100%;padding:8px 11px;border-bottom:1px solid rgba(0,0,0,.04);text-align:left}.session-action:hover{background:var(--soft)}.session-action strong{font-size:12px}.session-action small{color:var(--faint);font-size:10px}.plugins-page{display:flex;flex:1;min-height:0;flex-direction:column}.plugin-description{margin:4px 0 0;color:var(--muted);font-size:12px}.plugin-card{display:block}.plugin-card>.plugin-icon{margin-right:9px}
3
- :root{--starter-border:rgba(0,0,0,.1)}.starter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:10px}.starter-card{padding:10px 12px;border:1px solid var(--starter-border);border-radius:10px;background:#fff;text-align:left}.starter-card:hover{border-color:rgba(65,118,230,.4);background:var(--soft)}.starter-card strong,.starter-card small{display:block}.starter-card strong{font-size:12.5px}.starter-card small{margin-top:4px;color:var(--muted);font:10.5px var(--mono)}
4
- .main-header{position:relative}.context-bar i:nth-child(1){width:44%;background:#c7d6f5}.context-bar i:nth-child(2){width:33%;background:#dce7fb}.context-bar i:nth-child(3){width:23%;background:#edf2fd}.file-summary{margin:-8px 0 12px;color:var(--muted);font:10.5px var(--mono)}.settings-note{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5}.extension-list{max-width:900px}.extension-list .empty-state{border:1px dashed rgba(0,0,0,.14);border-radius:10px}.subnav>a{white-space:nowrap}.plugin-card .switch{margin-left:auto}.session-menu-popover[hidden]{display:none}
5
- :root{--empty:#9aa0a6}.empty-state{padding:28px 16px;color:var(--muted);text-align:center;font-size:12px}.settings-plugin-row{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);font:11.5px var(--mono);color:#61666b}.settings-body>p{color:var(--muted);font-size:12px}.provider-card input{display:block;width:100%;height:28px;margin-top:7px;border:1px solid rgba(0,0,0,.1);border-radius:7px;padding:0 9px;font:11.5px var(--mono)}.stop-button{padding:2px 8px;border:1px solid rgba(236,19,19,.24);border-radius:6px;color:var(--red);font-size:11px}.stop-button:disabled{opacity:.45;cursor:not-allowed}.session-menu-popover{position:absolute;top:34px;right:0;z-index:35;width:224px;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.14);overflow:hidden}.session-menu{position:relative}.session-action{display:flex;flex-direction:column;gap:1px;width:100%;padding:8px 11px;border-bottom:1px solid rgba(0,0,0,.04);text-align:left}.session-action:hover{background:var(--soft)}.session-action strong{font-size:12px}.session-action small{color:var(--faint);font-size:10px}.plugins-page{display:flex;flex:1;min-height:0;flex-direction:column}.plugin-description{margin:4px 0 0;color:var(--muted);font-size:12px}.plugin-card{display:block}.plugin-card>.plugin-icon{margin-right:9px}
6
- :root{--starter-border:rgba(0,0,0,.1)}.starter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:10px}.starter-card{padding:10px 12px;border:1px solid var(--starter-border);border-radius:10px;background:#fff;text-align:left}.starter-card:hover{border-color:rgba(65,118,230,.4);background:var(--soft)}.starter-card strong,.starter-card small{display:block}.starter-card strong{font-size:12.5px}.starter-card strong{font-size:12.5px}.starter-card small{margin-top:4px;color:var(--muted);font:10.5px var(--mono)}
7
- :root{--empty:#9aa0a6}.timeline-empty{padding:5px 8px;color:var(--faint);font:10px var(--mono)}.timeline-turn{flex:1;min-width:4px}.timeline-strip{height:100%;background:var(--blue);border-radius:3px}.timeline-turn:nth-child(3n) .timeline-strip{background:#93c5fd}.timeline-turn:nth-child(4n) .timeline-strip{background:#f59e0b}.extension-note{margin:0 0 10px;color:#61666b;font-size:12px;line-height:1.6}.extension-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.extension-row{display:grid;grid-template-columns:148px 1fr 66px;gap:12px;align-items:center;padding:9px 13px;border-bottom:1px solid rgba(0,0,0,.04)}.extension-row:last-child{border-bottom:0}.extension-head{padding-top:7px;padding-bottom:7px;background:var(--soft);color:var(--faint);font:10px var(--mono);letter-spacing:.04em;text-transform:uppercase}.extension-owners{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.extension-owners span{padding:1px 7px;border-radius:4px;background:#e4edfd;color:var(--blue);font:10.5px var(--mono);overflow-wrap:anywhere}.raw-json{overflow:hidden;border:1px solid var(--line);border-radius:8px}.raw-json summary{padding:7px 9px;cursor:pointer;color:var(--muted);font:10.5px var(--mono)}.raw-json-body{margin:0;padding:9px;border-top:1px solid var(--line);white-space:pre-wrap}.detail-actions{display:flex;gap:7px;margin-top:14px}.detail-actions button{padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#61666b;font-size:11px}.detail-actions button:disabled{cursor:not-allowed;opacity:.5}
8
- .marketplace-view{min-width:0}.marketplace-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 16px 15px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8f9ff,#fff)}.marketplace-hero small{color:var(--blue);font:10px var(--mono);letter-spacing:.08em}.marketplace-hero h2{margin:4px 0 3px;font-size:17px}.marketplace-hero p{margin:0;color:var(--muted);font-size:12px}.marketplace-hero>a{flex:none;color:var(--blue);font-size:12px}.marketplace-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line)}.marketplace-toolbar input{min-width:220px;flex:1;height:30px;padding:0 10px;border:1px solid rgba(0,0,0,.1);border-radius:7px;outline:0;font-size:12px}.marketplace-toolbar select{height:30px;padding:0 9px;border:1px solid rgba(0,0,0,.1);border-radius:7px;background:#fff;color:#61666b;font-size:12px}.marketplace-toolbar>span{color:var(--faint);font:10.5px var(--mono)}.marketplace-list{max-width:940px;display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:10px}.marketplace-card{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.marketplace-card-head{display:flex;align-items:flex-start;gap:10px}.marketplace-icon{color:var(--blue);font:13px var(--mono)}.marketplace-card .plugin-copy{min-width:0}.marketplace-card .plugin-title strong{font-size:13px}.marketplace-badge,.marketplace-source{padding:1px 6px;border-radius:4px;font:10px var(--mono)}.marketplace-badge{background:#e6faed;color:#16a34a}.marketplace-source.official{background:#e4edfd;color:var(--blue)}.marketplace-source.community{background:#fef5e7;color:#dd8629}.marketplace-package{display:block;margin-top:5px;color:#61666b;font:10.5px var(--mono);overflow-wrap:anywhere}.marketplace-card p{margin:6px 0 8px;color:var(--muted);font-size:12px;line-height:1.55}.marketplace-install{flex:none;padding:5px 8px;border:1px solid rgba(65,118,230,.3);border-radius:7px;background:var(--blue-soft);color:var(--blue);font-size:11px}.marketplace-meta{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:9px;border-top:1px solid rgba(0,0,0,.06);color:var(--faint);font:10.5px var(--mono)}.marketplace-meta a{margin-left:auto;color:var(--blue);font:11px var(--sans)}.marketplace-contribute{display:flex;align-items:center;gap:10px;margin-top:13px;padding:11px 13px;border:1px dashed rgba(65,118,230,.35);border-radius:10px;background:#f8f9ff;color:var(--muted);font-size:11.5px}.marketplace-contribute strong{color:var(--ink);font-size:12px}.marketplace-contribute a{margin-left:auto;flex:none;color:var(--blue)}
1
+ @reference "tailwindcss";
2
+
3
+ :root {
4
+ @apply [color-scheme:light];
5
+ }
6
+ * {
7
+ @apply [box-sizing:border-box];
8
+ }
9
+ html,
10
+ body,
11
+ #root {
12
+ @apply [margin:0] [width:100%] [height:100%] [overflow:hidden];
13
+ }
14
+ body {
15
+ @apply [background:#fff] [color:var(--color-ink)] [font:13px/1.5_var(--font-sans)] [-webkit-font-smoothing:antialiased];
16
+ }
17
+ button,
18
+ input,
19
+ textarea,
20
+ select {
21
+ @apply [font:inherit] [color:inherit];
22
+ }
23
+ button {
24
+ @apply [border:0] [background:none] [cursor:pointer];
25
+ }
26
+ button:focus-visible,
27
+ input:focus-visible,
28
+ textarea:focus-visible,
29
+ select:focus-visible,
30
+ summary:focus-visible,
31
+ a:focus-visible,
32
+ [role="button"]:focus-visible {
33
+ @apply [outline:2px_solid_var(--color-blue)] [outline-offset:2px];
34
+ }
35
+ button:disabled {
36
+ @apply [cursor:not-allowed] [opacity:0.55];
37
+ }
38
+ [hidden] {
39
+ @apply [display:none!important];
40
+ }
41
+ .app-frame {
42
+ @apply [display:flex] [width:100%] [height:100%] [overflow:hidden] [background:#fff];
43
+ }
44
+ .sidebar {
45
+ @apply [width:264px] [flex:0_0_264px] [display:flex] [flex-direction:column] [min-height:0] [background:var(--color-soft)] [border-right:1px_solid_rgba(0,_0,_0,_0.06)];
46
+ }
47
+ .brand-row {
48
+ @apply [height:48px] [flex:0_0_48px] [display:flex] [align-items:center] [gap:9px] [padding:0_14px];
49
+ }
50
+ .brand-row strong {
51
+ @apply [font-size:13px] [font-weight:600] [letter-spacing:-0.1px];
52
+ }
53
+ .pi-mark {
54
+ @apply [display:grid] [place-items:center] [width:22px] [height:22px] [flex:none] [border-radius:6px] [background:var(--color-ink)] [overflow:hidden];
55
+ }
56
+ .pi-mark.large {
57
+ @apply [width:38px] [height:38px] [border-radius:11px];
58
+ }
59
+ .pi-mark img {
60
+ @apply [width:82%] [height:82%] [object-fit:contain];
61
+ }
62
+ .version {
63
+ @apply [margin-left:auto] [color:var(--color-faint)] [font:10px_var(--font-mono)];
64
+ }
65
+ .sidebar-actions {
66
+ @apply [position:relative] [display:flex] [flex-direction:column] [gap:8px] [padding:0_10px_10px];
67
+ }
68
+ .new-session {
69
+ @apply [height:32px] [display:flex] [align-items:center] [justify-content:center] [gap:6px] [border-radius:8px] [background:var(--color-ink)] [color:#fff] [font-size:12.5px] [font-weight:500];
70
+ }
71
+ .new-session:hover,
72
+ .send-button:hover {
73
+ @apply [background:#43454a];
74
+ }
75
+ .workspace-chooser {
76
+ @apply [position:fixed] [inset:0] [z-index:60] [display:grid] [place-items:center] [padding:40px] [background:rgba(15,_23,_42,_0.32)] [backdrop-filter:blur(6px)];
77
+ }
78
+ .workspace-chooser-dialog {
79
+ @apply [display:flex] [width:100%] [max-width:640px] [max-height:min(680px,_calc(100vh_-_96px))] [overflow:auto] [padding:14px] [flex-direction:column] [gap:2px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:#fff] [box-shadow:0_28px_80px_rgba(15,_23,_42,_0.26)];
80
+ }
81
+ .workspace-chooser-heading {
82
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [padding:3px_4px_4px_6px];
83
+ }
84
+ .workspace-chooser-heading strong {
85
+ @apply [font-size:12px];
86
+ }
87
+ .workspace-chooser-heading button {
88
+ @apply [width:24px] [height:24px] [border-radius:6px] [color:var(--color-muted)];
89
+ }
90
+ .workspace-chooser-dialog > small {
91
+ @apply [padding:0_6px_8px] [color:var(--color-faint)] [font-size:10px];
92
+ }
93
+ .workspace-pick-directory {
94
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [padding:9px_8px] [border:1px_solid_var(--color-line)] [border-radius:8px] [background:#fff] [text-align:left];
95
+ }
96
+ .workspace-pick-directory:hover {
97
+ @apply [border-color:var(--color-blue)] [background:var(--color-blue-soft)];
98
+ }
99
+ .workspace-pick-directory span {
100
+ @apply [font-size:11.5px] [font-weight:600];
101
+ }
102
+ .workspace-pick-directory small {
103
+ @apply [color:var(--color-faint)] [font-size:10px];
104
+ }
105
+ .workspace-chooser-divider {
106
+ @apply [display:flex] [align-items:center] [gap:8px] [padding:0_6px_5px] [color:var(--color-faint)] [font-size:9px];
107
+ }
108
+ .workspace-chooser-divider::before,
109
+ .workspace-chooser-divider::after {
110
+ @apply [height:1px] [flex:1] [background:var(--color-line)] [content:""];
111
+ }
112
+ .workspace-chooser-empty {
113
+ @apply [padding:20px_6px] [color:var(--color-faint)] [font-size:11px];
114
+ }
115
+ .workspace-chooser-error {
116
+ @apply [margin:0_6px_7px] [padding:8px_9px] [border:1px_solid_rgba(185,_28,_28,_0.18)] [border-radius:7px] [background:#fff5f5] [color:#b42318] [font-size:10.5px] [line-height:1.45];
117
+ }
118
+ .workspace-chooser-row {
119
+ @apply [display:flex] [min-height:48px] [align-items:center] [gap:8px] [padding:7px_6px] [border-radius:7px] [text-align:left];
120
+ }
121
+ .workspace-chooser-row:hover {
122
+ @apply [background:var(--color-blue-soft)];
123
+ }
124
+ .workspace-chooser-row > span:nth-child(2) {
125
+ @apply [display:flex] [min-width:0] [flex:1] [flex-direction:column];
126
+ }
127
+ .workspace-chooser-row strong,
128
+ .workspace-chooser-row code {
129
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
130
+ }
131
+ .workspace-chooser-row strong {
132
+ @apply [font-size:11.5px];
133
+ }
134
+ .workspace-chooser-row code {
135
+ @apply [margin-top:2px] [color:var(--color-faint)] [font:9px_var(--font-mono)];
136
+ }
137
+ .workspace-chooser-row > small {
138
+ @apply [flex:none] [color:var(--color-faint)] [font:9px_var(--font-mono)];
139
+ }
140
+ .sidebar-actions input {
141
+ @apply [width:100%] [height:30px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:8px] [background:#fff] [padding:0_10px] [font-size:12px];
142
+ }
143
+ .sidebar-actions input:focus-visible {
144
+ @apply [border-color:rgba(65,_118,_230,_0.55)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.12)];
145
+ }
146
+ .sidebar-scroll {
147
+ @apply [flex:1] [min-height:0] [overflow:auto] [padding:0_8px_8px];
148
+ }
149
+ .session-group {
150
+ @apply [margin-bottom:8px];
151
+ }
152
+ .group-label {
153
+ @apply [padding:6px_8px_4px] [color:var(--color-faint)] [font-size:10px] [letter-spacing:0.04em];
154
+ }
155
+ .session-row {
156
+ @apply [display:flex] [align-items:center] [gap:7px] [width:100%] [padding:7px_9px] [border-radius:8px] [text-align:left];
157
+ }
158
+ .session-row-wrap {
159
+ @apply [display:flex] [align-items:center] [gap:4px];
160
+ }
161
+ .session-row-wrap > input {
162
+ @apply [margin:0_0_0_6px] [accent-color:var(--color-blue)];
163
+ }
164
+ .session-list-toolbar {
165
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [padding:2px_14px_6px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)];
166
+ }
167
+ .session-list-title {
168
+ @apply [display:flex] [align-items:baseline] [gap:6px];
169
+ }
170
+ .session-list-title strong {
171
+ @apply [font-size:12px] [font-weight:600];
172
+ }
173
+ .session-list-title span {
174
+ @apply [color:var(--color-faint)] [font:10px_var(--font-mono)];
175
+ }
176
+ .session-list-tools {
177
+ @apply [display:flex] [align-items:center] [gap:3px];
178
+ }
179
+ .session-tool-button {
180
+ @apply [height:25px] [padding:0_7px] [border-radius:6px] [color:var(--color-muted)] [font-size:11px];
181
+ }
182
+ .session-tool-button:hover,
183
+ .session-tool-button.active {
184
+ @apply [background:#e9eef8] [color:var(--color-blue)];
185
+ }
186
+ .session-tool-button.icon {
187
+ @apply [width:26px] [padding:0] [font-size:15px];
188
+ }
189
+ .session-tools-wrap {
190
+ @apply [position:relative];
191
+ }
192
+ .session-tools-popover {
193
+ @apply [position:absolute] [top:30px] [right:0] [z-index:40] [display:flex] [width:150px] [flex-direction:column] [padding:4px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:9px] [background:#fff] [box-shadow:0_12px_30px_rgba(15,_23,_42,_0.16)];
194
+ }
195
+ .session-tools-popover button {
196
+ @apply [padding:7px_8px] [border-radius:6px] [text-align:left] [font-size:11px];
197
+ }
198
+ .session-tools-popover button:hover {
199
+ @apply [background:var(--color-soft)];
200
+ }
201
+ .session-row-wrap {
202
+ @apply [position:relative];
203
+ }
204
+ .session-row-more {
205
+ @apply [position:absolute] [right:6px] [display:block] [width:24px] [height:24px] [opacity:0] [pointer-events:none] [border-radius:6px] [background:#fff] [color:var(--color-muted)] [font-size:14px];
206
+ }
207
+ .session-row-wrap:hover .session-row-more,
208
+ .session-row-wrap:focus-within .session-row-more,
209
+ .session-row-more:focus-visible {
210
+ @apply [opacity:1] [pointer-events:auto];
211
+ }
212
+ .session-row-more:hover {
213
+ @apply [background:#e9eef8] [color:var(--color-blue)];
214
+ }
215
+ .session-row-menu-popover {
216
+ @apply [position:absolute] [top:calc(100%_-_2px)] [right:6px] [z-index:45] [display:flex] [width:142px] [flex-direction:column] [padding:4px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:8px] [background:#fff] [box-shadow:0_10px_24px_rgba(15,_23,_42,_0.18)];
217
+ }
218
+ .session-row-menu-popover button {
219
+ @apply [padding:6px_8px] [border-radius:5px] [text-align:left] [font-size:11px];
220
+ }
221
+ .session-row-menu-popover button:hover {
222
+ @apply [background:var(--color-soft)];
223
+ }
224
+ .session-row-menu-popover button.danger {
225
+ @apply [color:var(--color-red)];
226
+ }
227
+ .current-session-row .session-row-more {
228
+ @apply [right:4px];
229
+ }
230
+ .compact-session-menu {
231
+ @apply [width:190px];
232
+ }
233
+ .session-dialog-backdrop {
234
+ @apply [position:fixed] [inset:0] [z-index:80] [display:grid] [place-items:center] [padding:20px] [background:rgba(15,_23,_42,_0.28)] [backdrop-filter:blur(3px)];
235
+ }
236
+ .session-dialog {
237
+ @apply [width:100%] [max-width:380px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:#fff] [box-shadow:0_24px_70px_rgba(15,_23,_42,_0.22)];
238
+ }
239
+ .session-dialog-header {
240
+ @apply [display:flex] [align-items:flex-start] [justify-content:space-between] [gap:18px] [padding:16px_17px_10px];
241
+ }
242
+ .session-dialog-header strong,
243
+ .session-dialog-header small {
244
+ @apply [display:block];
245
+ }
246
+ .session-dialog-header strong {
247
+ @apply [font-size:14px];
248
+ }
249
+ .session-dialog-header small {
250
+ @apply [margin-top:4px] [color:var(--color-muted)] [font-size:11px] [line-height:1.45];
251
+ }
252
+ .session-dialog-header button {
253
+ @apply [width:24px] [height:24px] [border-radius:6px] [color:var(--color-muted)] [font-size:17px];
254
+ }
255
+ .session-dialog-header button:hover {
256
+ @apply [background:var(--color-soft)];
257
+ }
258
+ .session-dialog-field {
259
+ @apply [display:flex] [flex-direction:column] [gap:5px] [padding:5px_17px_15px] [font-size:11px] [font-weight:600];
260
+ }
261
+ .session-dialog-field input {
262
+ @apply [height:34px] [border:1px_solid_var(--color-line)] [border-radius:7px] [padding:0_9px] [font-size:12px] [font-weight:400];
263
+ }
264
+ .session-dialog-field input:focus {
265
+ @apply [border-color:var(--color-blue)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.12)];
266
+ }
267
+ .session-dialog-target {
268
+ @apply [margin:5px_17px_15px] [overflow:hidden] [border-radius:7px] [background:var(--color-soft)] [padding:9px] [color:var(--color-muted)] [font:11px_var(--font-mono)] [text-overflow:ellipsis] [white-space:nowrap];
269
+ }
270
+ .session-dialog-actions {
271
+ @apply [display:flex] [justify-content:flex-end] [gap:7px] [padding:11px_17px_15px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)];
272
+ }
273
+ .session-dialog-actions button {
274
+ @apply [height:30px] [padding:0_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [font-size:11px];
275
+ }
276
+ .session-dialog-actions button.primary {
277
+ @apply [border-color:var(--color-ink)] [background:var(--color-ink)] [color:#fff];
278
+ }
279
+ .session-dialog-actions button.danger {
280
+ @apply [border-color:rgba(185,_28,_28,_0.2)] [background:#fff5f5] [color:var(--color-red)];
281
+ }
282
+ .config-editor {
283
+ @apply [display:flex] [min-height:0] [flex-direction:column];
284
+ }
285
+ .toml-toolbar > div {
286
+ @apply [display:flex] [min-width:0] [flex:1] [flex-direction:column] [gap:2px];
287
+ }
288
+ .toml-toolbar strong {
289
+ @apply [color:var(--color-ink)] [font-size:12px];
290
+ }
291
+ .toml-toolbar span {
292
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
293
+ }
294
+ .config-state {
295
+ @apply [margin:-3px_0_9px] [color:var(--color-blue)] [font:10px_var(--font-mono)];
296
+ }
297
+ .config-state.error {
298
+ @apply [color:var(--color-red)];
299
+ }
300
+ .config-source {
301
+ @apply [display:block] [width:100%] [min-height:420px] [resize:vertical] [margin:0] [overflow:auto] [border:1px_solid_var(--color-line)] [border-radius:10px] [background:#f8fafc] [padding:16px] [color:#334155] [font:11px/1.7_var(--font-mono)] [white-space:pre];
302
+ }
303
+ .config-source:focus {
304
+ @apply [border-color:var(--color-blue)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.12)];
305
+ }
306
+ .config-source-editor {
307
+ @apply [display:flex] [flex-direction:column] [gap:8px];
308
+ }
309
+ .config-source-actions {
310
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [gap:12px];
311
+ }
312
+ .config-source-actions small {
313
+ @apply [color:var(--color-muted)] [font-size:10.5px];
314
+ }
315
+ .config-source-actions button {
316
+ @apply [flex:none] [height:30px] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px];
317
+ }
318
+ .config-sections {
319
+ @apply [display:grid] [grid-template-columns:1fr_1fr] [gap:12px];
320
+ }
321
+ .config-section {
322
+ @apply [padding:13px] [border:1px_solid_var(--color-line)] [border-radius:10px] [background:#fff];
323
+ }
324
+ .config-section:last-child {
325
+ @apply [grid-column:1/-1];
326
+ }
327
+ .config-section > header {
328
+ @apply [display:flex] [flex-direction:column] [gap:2px] [margin-bottom:10px];
329
+ }
330
+ .config-section > header strong {
331
+ @apply [font-size:12.5px];
332
+ }
333
+ .config-section > header small,
334
+ .config-toggle small {
335
+ @apply [color:var(--color-muted)] [font-size:10.5px];
336
+ }
337
+ .config-field {
338
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [gap:12px] [min-height:35px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.05)] [font-size:11.5px];
339
+ }
340
+ .config-field:last-child {
341
+ @apply [border-bottom:0];
342
+ }
343
+ .config-field select {
344
+ @apply [max-width:65%] [border:1px_solid_var(--color-line)] [border-radius:6px] [background:#fff] [padding:5px_7px] [font-size:11px];
345
+ }
346
+ .config-toggle {
347
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [gap:14px] [padding:7px_0] [border-bottom:1px_solid_rgba(0,_0,_0,_0.05)];
348
+ }
349
+ .config-toggle:last-child {
350
+ @apply [border-bottom:0];
351
+ }
352
+ .config-toggle span {
353
+ @apply [display:flex] [flex-direction:column] [gap:2px];
354
+ }
355
+ .config-toggle strong {
356
+ @apply [font-size:11.5px];
357
+ }
358
+ .config-toggle input {
359
+ @apply [width:16px] [height:16px] [accent-color:var(--color-blue)];
360
+ }
361
+ .session-batch-bar,
362
+ .session-pagination {
363
+ @apply [display:flex] [align-items:center] [gap:7px] [padding:7px_12px] [color:var(--color-muted)] [font-size:11px];
364
+ }
365
+ .session-batch-bar button,
366
+ .session-pagination button {
367
+ @apply [border:1px_solid_var(--color-line)] [border-radius:6px] [background:#fff] [padding:4px_8px] [font-size:11px];
368
+ }
369
+ .session-batch-bar button.danger {
370
+ @apply [color:var(--color-red)];
371
+ }
372
+ .session-pagination {
373
+ @apply [justify-content:space-between];
374
+ }
375
+ .session-row:hover {
376
+ @apply [background:#f1f3f5];
377
+ }
378
+ .session-row.active {
379
+ @apply [background:#ebeef2];
380
+ }
381
+ .session-dot {
382
+ @apply [width:6px] [height:6px] [flex:none] [border-radius:50%] [background:#cfd3d6];
383
+ }
384
+ .session-dot.running {
385
+ @apply [background:var(--color-green)] [animation:var(--animate-pulse-soft)];
386
+ }
387
+ .session-dot.ok {
388
+ @apply [background:var(--color-green)];
389
+ }
390
+ .session-dot.warn {
391
+ @apply [background:var(--color-amber)];
392
+ }
393
+ .session-dot.error {
394
+ @apply [background:var(--color-red)];
395
+ }
396
+ .session-copy {
397
+ @apply [display:flex] [flex-direction:column] [gap:2px] [min-width:0];
398
+ }
399
+ .session-copy strong {
400
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [font-size:12.5px] [font-weight:600];
401
+ }
402
+ .session-copy small {
403
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:var(--color-faint)] [font:10px_var(--font-mono)];
404
+ }
405
+ .runtime-cells {
406
+ @apply [display:flex] [flex-wrap:wrap] [gap:4px_12px] [padding:8px_19px_9px] [color:var(--color-faint)] [font:9.5px_var(--font-mono)] [border-top:1px_solid_rgba(0,_0,_0,_0.06)];
407
+ }
408
+ .runtime-cells span {
409
+ @apply [display:flex] [gap:5px];
410
+ }
411
+ .runtime-cells b {
412
+ @apply [font-weight:400];
413
+ }
414
+ .runtime-cells strong {
415
+ @apply [color:#61666b] [font-weight:400];
416
+ }
417
+ .sidebar-footer {
418
+ @apply [display:flex] [flex-direction:column] [gap:2px] [padding:6px_10px_8px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)];
419
+ }
420
+ .sidebar-link {
421
+ @apply [display:flex] [align-items:center] [gap:9px] [height:30px] [padding:0_9px] [border-radius:8px] [text-align:left] [font-size:12.5px];
422
+ }
423
+ .compact-new-session {
424
+ @apply [display:none];
425
+ }
426
+ .sidebar-link:hover {
427
+ @apply [background:#f1f3f5];
428
+ }
429
+ .sidebar-link span:nth-child(2) {
430
+ @apply [flex:1];
431
+ }
432
+ .sidebar-link b {
433
+ @apply [padding:1px_6px] [border-radius:20px] [background:#ebeef2] [color:#61666b] [font:10px_var(--font-mono)] [font-weight:400];
434
+ }
435
+ .link-glyph {
436
+ @apply [color:var(--color-blue)] [font:11.5px_var(--font-mono)];
437
+ }
438
+ .main-pane {
439
+ @apply [display:flex] [flex:1] [min-width:0] [flex-direction:column];
440
+ }
441
+ .main-header {
442
+ @apply [position:relative] [height:48px] [flex:0_0_48px] [display:flex] [align-items:center] [gap:12px] [padding:0_24px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)];
443
+ }
444
+ .refresh-warning {
445
+ @apply [display:flex] [min-height:42px] [flex:none] [align-items:center] [gap:12px] [padding:8px_24px] [border-bottom:1px_solid_#f3d7aa] [background:#fffaf0] [color:#7c5622] [font-size:11.5px];
446
+ }
447
+ .refresh-warning span {
448
+ @apply [min-width:0] [flex:1];
449
+ }
450
+ .refresh-warning strong {
451
+ @apply [margin-right:6px] [color:#8a4b12];
452
+ }
453
+ .refresh-warning button {
454
+ @apply [min-height:30px] [flex:none] [border:1px_solid_#e8c58c] [border-radius:7px] [background:#fff] [padding:4px_10px] [color:#8a4b12];
455
+ }
456
+ .initial-loading {
457
+ @apply [display:flex] [flex:1] [align-items:center] [justify-content:center] [gap:9px] [color:var(--color-muted)] [font:11.5px_var(--font-mono)];
458
+ }
459
+ .initial-loading > span {
460
+ @apply [width:14px] [height:14px] [border:2px_solid_#d9e2f4] [border-top-color:var(--color-blue)] [border-radius:50%] [animation:control-room-spin_800ms_linear_infinite];
461
+ }
462
+ @keyframes control-room-spin {
463
+ to {
464
+ transform: rotate(360deg);
465
+ }
466
+ }
467
+ .active-heading {
468
+ @apply [display:flex] [min-width:0] [flex-direction:column];
469
+ }
470
+ .active-heading strong,
471
+ .active-heading small {
472
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
473
+ }
474
+ .active-heading strong {
475
+ @apply [font-size:13px] [font-weight:600];
476
+ }
477
+ .active-heading small {
478
+ @apply [color:var(--color-faint)] [font:10px_var(--font-mono)];
479
+ }
480
+ .header-spacer {
481
+ @apply [flex:1];
482
+ }
483
+ .run-indicator {
484
+ @apply [display:flex] [align-items:center] [gap:6px] [flex:none] [color:#61666b] [font:10.5px_var(--font-mono)];
485
+ }
486
+ .run-indicator .run-dot {
487
+ @apply [width:6px] [height:6px] [border-radius:50%] [background:var(--color-green)] [animation:var(--animate-pulse-soft)];
488
+ }
489
+ .run-indicator > span:not(.run-dot) {
490
+ @apply [white-space:nowrap];
491
+ }
492
+ .run-indicator button {
493
+ @apply [padding:2px_8px] [border:1px_solid_rgba(236,_19,_19,_0.24)] [border-radius:6px] [color:var(--color-red)] [font-size:11px];
494
+ }
495
+ .run-indicator.running .run-dot {
496
+ @apply [background:var(--color-blue)];
497
+ }
498
+ .view-tabs {
499
+ @apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:#f1f3f5];
500
+ }
501
+ .view-tab {
502
+ @apply [padding:4px_11px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px];
503
+ }
504
+ .view-tab.active {
505
+ @apply [background:#fff] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
506
+ }
507
+ .header-divider {
508
+ @apply [width:1px] [height:18px] [flex:none] [background:rgba(0,_0,_0,_0.08)];
509
+ }
510
+ .session-menu,
511
+ .details-toggle {
512
+ @apply [height:28px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:8px] [background:#fff] [color:#61666b];
513
+ }
514
+ .session-menu {
515
+ @apply [position:relative] [width:28px] [font-size:15px];
516
+ }
517
+ .details-toggle {
518
+ @apply [padding:0_9px] [font-size:12px];
519
+ }
520
+ .session-menu:hover,
521
+ .details-toggle:hover {
522
+ @apply [background:#f1f3f5];
523
+ }
524
+ .view-host {
525
+ @apply [display:flex] [flex:1] [min-height:0] [flex-direction:column];
526
+ }
527
+ .view-panel {
528
+ @apply [display:flex] [flex:1] [min-height:0] [flex-direction:column];
529
+ }
530
+ .chat-scroll {
531
+ @apply [flex:1] [min-height:0] [overflow-y:auto] [padding:20px_24px_4px];
532
+ }
533
+ .turn {
534
+ @apply [max-width:748px] [margin:0_auto_16px] [font-size:13.5px] [line-height:1.78];
535
+ }
536
+ .turn.user {
537
+ @apply [display:flex] [justify-content:flex-end];
538
+ }
539
+ .user-bubble {
540
+ @apply [max-width:84%] [padding:10px_14px] [border-radius:10px] [background:var(--color-blue-soft)] [white-space:pre-wrap];
541
+ }
542
+ .pending-turn .user-bubble {
543
+ @apply [opacity:0.72];
544
+ }
545
+ .turn-markdown {
546
+ @apply [margin:0] [min-width:0] [font-size:13.5px] [line-height:1.78];
547
+ }
548
+ .turn-markdown p {
549
+ @apply [margin:0_0_10px] [white-space:pre-wrap];
550
+ }
551
+ .turn-markdown p:last-child {
552
+ @apply [margin-bottom:0];
553
+ }
554
+ .turn-markdown h1,
555
+ .turn-markdown h2,
556
+ .turn-markdown h3,
557
+ .turn-markdown h4,
558
+ .turn-markdown h5,
559
+ .turn-markdown h6 {
560
+ @apply [margin:16px_0_8px] [font-weight:600] [line-height:1.35];
561
+ }
562
+ .turn-markdown h1 {
563
+ @apply [font-size:20px];
564
+ }
565
+ .turn-markdown h2 {
566
+ @apply [font-size:17px];
567
+ }
568
+ .turn-markdown h3 {
569
+ @apply [font-size:15px];
570
+ }
571
+ .turn-markdown h4,
572
+ .turn-markdown h5,
573
+ .turn-markdown h6 {
574
+ @apply [font-size:13.5px];
575
+ }
576
+ .turn-markdown ul,
577
+ .turn-markdown ol {
578
+ @apply [margin:0_0_10px] [padding-left:22px];
579
+ }
580
+ .turn-markdown li {
581
+ @apply [padding-left:3px];
582
+ }
583
+ .turn-markdown blockquote {
584
+ @apply [margin:0_0_10px] [padding-left:12px] [border-left:2px_solid_#d9e2f4] [color:#61666b];
585
+ }
586
+ .turn-markdown code {
587
+ @apply [border-radius:4px] [background:#f1f3f5] [padding:1px_4px] [font:12px_var(--font-mono)];
588
+ }
589
+ .turn-markdown .markdown-code {
590
+ @apply [margin:0_0_12px] [overflow:auto] [border-radius:8px] [background:#111827] [padding:12px_14px] [color:#e5e7eb] [font:12px_var(--font-mono)] [line-height:1.6] [white-space:pre];
591
+ }
592
+ .turn-markdown .markdown-code code {
593
+ @apply [background:transparent] [padding:0] [color:inherit];
594
+ }
595
+ .turn-markdown a {
596
+ @apply [color:var(--color-blue)] [text-decoration:underline] [text-underline-offset:2px];
597
+ }
598
+ .reasoning-head {
599
+ @apply [display:flex] [align-items:center] [gap:6px] [padding:0] [color:var(--color-muted)] [font-size:11.5px];
600
+ }
601
+ .reasoning-head .caret {
602
+ @apply [color:var(--color-faint)] [font-size:9px];
603
+ }
604
+ .reasoning-body {
605
+ @apply [display:none] [margin:6px_0_0] [padding-left:11px] [border-left:2px_solid_#ebeef2] [color:#61666b] [font-size:12.5px] [line-height:1.75] [white-space:pre-wrap];
606
+ }
607
+ .reasoning[open] .reasoning-body {
608
+ @apply [display:block];
609
+ }
610
+ .message-reasoning {
611
+ @apply [margin-bottom:10px];
612
+ }
613
+ .message-reasoning .reasoning-body {
614
+ @apply [margin-top:6px];
615
+ }
616
+ .visually-hidden {
617
+ @apply [position:absolute] [width:1px] [height:1px] [padding:0] [margin:-1px] [overflow:hidden] [clip:rect(0,0,0,0)] [white-space:nowrap] [border:0];
618
+ }
619
+ .streaming-placeholder {
620
+ @apply [color:var(--color-muted)] [font-size:12px];
621
+ }
622
+ .plugin-event {
623
+ @apply [display:flex] [align-items:center] [gap:8px] [height:30px] [padding:0_11px] [border:1px_dashed_rgba(65,_118,_230,_0.35)] [border-radius:8px] [background:#f7faff] [color:var(--color-blue)] [font:11px_var(--font-mono)];
624
+ }
625
+ .plugin-event > span:nth-last-child(1) {
626
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:#61666b] [font:12px_var(--font-sans)];
627
+ }
628
+ .plugin-hook {
629
+ @apply [padding:1px_6px] [border-radius:4px] [background:#e4edfd] [color:#687381!important] [font:10px_var(--font-mono)!important];
630
+ }
631
+ .tool-card,
632
+ .approval-card,
633
+ .subagent-card,
634
+ .todo-card {
635
+ @apply [border:1px_solid_var(--color-line)] [border-radius:10px] [background:#fff] [overflow:hidden];
636
+ }
637
+ .tool-head,
638
+ .subagent-head {
639
+ @apply [display:flex] [align-items:center] [gap:9px] [width:100%] [min-height:34px] [padding:7px_11px] [text-align:left] [background:#fff];
640
+ }
641
+ .tool-head {
642
+ @apply [font:11.5px_var(--font-mono)];
643
+ }
644
+ .tool-glyph {
645
+ @apply [width:12px] [color:var(--color-muted)];
646
+ }
647
+ .tool-target,
648
+ .subagent-goal {
649
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:var(--color-muted)] [font-size:11px];
650
+ }
651
+ .tool-head .tool-target,
652
+ .subagent-goal {
653
+ @apply [flex:1];
654
+ }
655
+ .tool-stat {
656
+ @apply [color:var(--color-muted)];
657
+ }
658
+ .tool-detail-link {
659
+ @apply [color:var(--color-blue)] [font:10.5px_var(--font-sans)];
660
+ }
661
+ .tool-output,
662
+ .diff-preview,
663
+ .toml {
664
+ @apply [margin:0] [padding:10px_12px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)] [background:var(--color-soft)] [white-space:pre-wrap] [word-break:break-word] [color:#61666b] [font:11.5px/1.7_var(--font-mono)];
665
+ }
666
+ .diff-line {
667
+ @apply [display:flex] [gap:10px] [padding:0_8px] [font:11.5px/1.7_var(--font-mono)];
668
+ }
669
+ .diff-line.added {
670
+ @apply [background:#e6faed];
671
+ }
672
+ .diff-line.removed {
673
+ @apply [background:#fff0f0];
674
+ }
675
+ .diff-no {
676
+ @apply [width:30px] [color:var(--color-faint)] [text-align:right];
677
+ }
678
+ .diff-sign {
679
+ @apply [width:8px] [color:var(--color-green)];
680
+ }
681
+ .diff-line.removed .diff-sign {
682
+ @apply [color:var(--color-red)];
683
+ }
684
+ .approval-card {
685
+ @apply [padding:11px_13px] [background:#fffaf0] [border-color:rgba(245,_158,_11,_0.4)];
686
+ }
687
+ .approval-card pre {
688
+ @apply [padding:8px_0] [background:transparent] [border:0];
689
+ }
690
+ .approval-actions {
691
+ @apply [display:flex] [gap:7px] [margin-top:4px];
692
+ }
693
+ .approval-actions button {
694
+ @apply [padding:5px_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11.5px];
695
+ }
696
+ .approval-actions .primary {
697
+ @apply [background:var(--color-ink)] [color:#fff];
698
+ }
699
+ .approval-actions .danger {
700
+ @apply [color:var(--color-red)];
701
+ }
702
+ .subagent-head {
703
+ @apply [font-size:12.5px];
704
+ }
705
+ .subagent-glyph {
706
+ @apply [color:#3565c5] [font:11px_var(--font-mono)];
707
+ }
708
+ .subagent-preset {
709
+ @apply [padding:1px_6px] [border-radius:4px] [background:#e4edfd] [color:#687381] [font:10.5px_var(--font-mono)];
710
+ }
711
+ .subagent-duration {
712
+ @apply [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
713
+ }
714
+ .subagent-body {
715
+ @apply [display:block] [padding:4px_11px_9px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)];
716
+ }
717
+ .subagent-lineage {
718
+ @apply [display:block] [padding:6px_0_4px] [color:var(--color-faint)] [font:10px_var(--font-mono)];
719
+ }
720
+ .subagent-step {
721
+ @apply [display:flex] [align-items:center] [gap:8px] [padding:4px_0] [border-left:2px_solid_#e4edfd] [padding-left:10px];
722
+ }
723
+ .subagent-step code {
724
+ @apply [width:42px] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
725
+ }
726
+ .subagent-step span {
727
+ @apply [flex:1] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:#61666b] [font:11px_var(--font-mono)];
728
+ }
729
+ .subagent-step small {
730
+ @apply [color:var(--color-faint)] [font:10px_var(--font-mono)];
731
+ }
732
+ .subagent-body p {
733
+ @apply [margin:8px_0_0] [padding-top:8px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)];
734
+ }
735
+ .todo-head {
736
+ @apply [display:flex] [align-items:center] [gap:8px] [height:32px] [padding:0_11px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)];
737
+ }
738
+ .todo-head small {
739
+ @apply [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
740
+ }
741
+ .todo-row {
742
+ @apply [display:flex] [align-items:flex-start] [gap:9px] [padding:7px_11px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.04)];
743
+ }
744
+ .todo-row.done {
745
+ @apply [color:var(--color-muted)] [text-decoration:line-through];
746
+ }
747
+ .todo-mark {
748
+ @apply [color:var(--color-green)] [font:11px_var(--font-mono)];
749
+ }
750
+ .stats-row {
751
+ @apply [display:flex] [gap:14px] [flex-wrap:wrap] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
752
+ }
753
+ .composer-wrap {
754
+ @apply [flex:0_0_auto] [padding:8px_24px_14px];
755
+ }
756
+ .composer-stack {
757
+ @apply [position:relative] [width:100%] [max-width:960px] [margin:0_auto];
758
+ }
759
+ .context-line {
760
+ @apply [display:flex] [max-width:748px] [margin:0_auto_8px] [align-items:center] [gap:9px] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
761
+ }
762
+ .context-line b {
763
+ @apply [color:var(--color-muted)] [font-weight:400];
764
+ }
765
+ .context-line button {
766
+ @apply [padding:0] [color:var(--color-blue)] [font-size:11px];
767
+ }
768
+ .context-bar {
769
+ @apply [display:flex] [flex:1] [height:4px] [overflow:hidden] [border-radius:3px] [background:#ebeef2];
770
+ }
771
+ .context-bar i {
772
+ @apply [height:100%];
773
+ }
774
+ .context-bar.expanded {
775
+ @apply [height:8px];
776
+ }
777
+ .context-breakdown {
778
+ @apply [display:flex] [max-width:748px] [margin:-2px_auto_8px] [gap:14px] [color:var(--color-faint)] [font:10px_var(--font-mono)];
779
+ }
780
+ .context-breakdown span {
781
+ @apply [display:inline-flex] [gap:4px] [align-items:center];
782
+ }
783
+ .context-breakdown b {
784
+ @apply [color:var(--color-muted)] [font-weight:400];
785
+ }
786
+ .composer {
787
+ @apply [position:relative] [max-width:748px] [margin:0_auto] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:10px] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)] [overflow:visible];
788
+ }
789
+ .composer textarea {
790
+ @apply [display:block] [width:100%] [min-height:65px] [max-height:180px] [overflow-y:auto] [padding:11px_13px_4px] [border:0] [resize:none] [color:var(--color-ink)] [font-size:13.5px] [line-height:1.7] [background:transparent];
791
+ }
792
+ .composer-tools {
793
+ @apply [display:flex] [align-items:center] [gap:6px] [padding:6px_8px_8px];
794
+ }
795
+ .composer-tools select,
796
+ .tool-chip {
797
+ @apply [height:26px] [padding:0_7px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:7px] [background:#fff] [font:11px_var(--font-mono)];
798
+ }
799
+ .tool-chip {
800
+ @apply [padding:0_9px] [color:#61666b] [font-family:var(--font-sans)] [font-size:11.5px];
801
+ }
802
+ .composer-hint {
803
+ @apply [flex:1] [color:#687381] [font:10px_var(--font-mono)] [text-align:right];
804
+ }
805
+ .send-button {
806
+ @apply [width:28px] [height:28px] [border-radius:8px] [background:var(--color-ink)] [color:#fff] [font-size:15px];
807
+ }
808
+ .send-button:disabled {
809
+ @apply [cursor:not-allowed] [opacity:0.45];
810
+ }
811
+ .prompt-completion {
812
+ @apply [position:absolute] [right:8px] [bottom:calc(100%_+_8px)] [left:8px] [z-index:30] [max-height:300px] [overflow:auto] [padding:7px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:#fff] [box-shadow:0_14px_36px_rgba(15,_23,_42,_0.18)];
813
+ }
814
+ .prompt-completion > small {
815
+ @apply [display:block] [padding:5px_8px_7px] [color:var(--color-faint)] [font:10px_var(--font-mono)] [letter-spacing:0.08em];
816
+ }
817
+ .prompt-completion button {
818
+ @apply [display:flex] [width:100%] [min-height:38px] [align-items:baseline] [gap:12px] [padding:8px] [border-radius:7px] [text-align:left];
819
+ }
820
+ .prompt-completion button[aria-selected="true"] {
821
+ @apply [background:var(--color-blue-soft)] [color:var(--color-blue)];
822
+ }
823
+ .prompt-completion button strong {
824
+ @apply [width:210px] [flex:none] [overflow:hidden] [font:11px_var(--font-mono)] [text-overflow:ellipsis] [white-space:nowrap];
825
+ }
826
+ .prompt-completion button span {
827
+ @apply [min-width:0] [overflow:hidden] [color:var(--color-muted)] [font-size:11px] [text-overflow:ellipsis] [white-space:nowrap];
828
+ }
829
+ .prompt-completion-empty {
830
+ @apply [display:block] [padding:9px_8px] [color:var(--color-faint)] [font-size:11px];
831
+ }
832
+ .new-session-screen {
833
+ @apply [max-width:580px] [margin:0_auto] [padding:40px_0] [display:flex] [align-items:center] [flex-direction:column] [gap:11px] [text-align:center];
834
+ }
835
+ .new-session-screen h2 {
836
+ @apply [margin:0] [font-size:16.5px];
837
+ }
838
+ .new-session-screen p {
839
+ @apply [margin:0] [color:var(--color-muted)];
840
+ }
841
+ .workspace-picker {
842
+ @apply [display:grid] [gap:6px] [width:100%] [margin-top:12px] [text-align:left];
843
+ }
844
+ .workspace-row {
845
+ @apply [display:flex] [align-items:center] [gap:10px] [width:100%] [padding:10px_12px] [border:1px_solid_var(--color-line)] [border-radius:9px] [background:#fff] [text-align:left];
846
+ }
847
+ .workspace-row:hover {
848
+ @apply [background:var(--color-soft)] [border-color:rgba(65,_118,_230,_0.4)];
849
+ }
850
+ .workspace-row code {
851
+ @apply [flex:1] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [font:12px_var(--font-mono)];
852
+ }
853
+ .workspace-row small {
854
+ @apply [display:block] [margin-top:3px] [color:var(--color-faint)] [font:10px_var(--font-mono)];
855
+ }
856
+ .workspace-row .live {
857
+ @apply [color:var(--color-green)];
858
+ }
859
+ .workspace-row .offline {
860
+ @apply [color:#687381];
861
+ }
862
+ .effective-config {
863
+ @apply [display:flex] [flex-wrap:wrap] [align-items:center] [gap:10px] [width:100%] [padding:9px_12px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:10px] [background:var(--color-soft)] [text-align:left];
864
+ }
865
+ .effective-config code {
866
+ @apply [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
867
+ }
868
+ .effective-config span {
869
+ @apply [color:#61666b] [font:10.5px_var(--font-mono)];
870
+ }
871
+ .trajectory-summary {
872
+ @apply [flex:none] [padding:12px_24px_10px] [border-bottom:1px_solid_var(--color-line)] [color:var(--color-muted)] [font-size:11.5px];
873
+ }
874
+ .trajectory-summary b {
875
+ @apply [margin-left:9px] [color:var(--color-faint)] [font:10.5px_var(--font-mono)] [font-weight:400];
876
+ }
877
+ .timeline {
878
+ @apply [display:flex] [gap:3px] [height:26px] [margin-top:8px];
879
+ }
880
+ .timeline-turn {
881
+ @apply [display:flex] [align-items:stretch] [padding:0] [background:#ebeef2] [border-radius:3px] [overflow:hidden];
882
+ }
883
+ .timeline-strip {
884
+ @apply [display:block] [width:100%] [opacity:0.9];
885
+ }
886
+ .source-filters {
887
+ @apply [display:flex] [align-items:center] [gap:6px] [flex:none] [padding:9px_24px] [border-bottom:1px_solid_var(--color-line)] [flex-wrap:wrap];
888
+ }
889
+ .filter {
890
+ @apply [display:flex] [align-items:center] [gap:6px] [padding:3px_9px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:20px] [color:var(--color-muted)] [font-size:11.5px];
891
+ }
892
+ .filter.active {
893
+ @apply [border-color:rgba(65,_118,_230,_0.35)] [background:var(--color-blue-soft)] [color:var(--color-blue)];
894
+ }
895
+ .filter b {
896
+ @apply [color:var(--color-faint)] [font:10px_var(--font-mono)] [font-weight:400];
897
+ }
898
+ .event-count {
899
+ @apply [margin-left:auto] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
900
+ }
901
+ .event-table {
902
+ @apply [flex:1] [min-height:0] [overflow:auto];
903
+ }
904
+ .event-head,
905
+ .event-row {
906
+ @apply [display:grid] [grid-template-columns:78px_132px_1fr_88px_68px] [gap:12px] [align-items:center] [padding:7px_24px];
907
+ }
908
+ .event-head {
909
+ @apply [background:var(--color-soft)] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)] [color:var(--color-faint)] [font:10px_var(--font-mono)] [letter-spacing:0.04em] [text-transform:uppercase];
910
+ }
911
+ .event-row {
912
+ @apply [width:100%] [border-bottom:1px_solid_rgba(0,_0,_0,_0.04)] [text-align:left] [font-size:12px];
913
+ }
914
+ .event-row:hover {
915
+ @apply [background:var(--color-soft)];
916
+ }
917
+ .event-row > span,
918
+ .event-row code {
919
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
920
+ }
921
+ .event-row > span:first-child,
922
+ .event-row > span:last-child {
923
+ @apply [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
924
+ }
925
+ .event-row strong {
926
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [font-weight:400];
927
+ }
928
+ .event-row > span:nth-child(2) {
929
+ @apply [display:flex] [align-items:center] [gap:7px] [color:#61666b] [font:11px_var(--font-mono)];
930
+ }
931
+ .event-dot {
932
+ @apply [width:6px] [height:6px] [flex:none] [border-radius:2px] [background:var(--color-blue)];
933
+ }
934
+ .files-content {
935
+ @apply [width:100%] [min-height:0] [flex:1] [max-width:none] [overflow:auto] [padding:24px];
936
+ }
937
+ .files-title {
938
+ @apply [display:flex] [align-items:baseline] [gap:10px] [margin-bottom:14px];
939
+ }
940
+ .files-title strong {
941
+ @apply [font-size:13px];
942
+ }
943
+ .files-title span {
944
+ @apply [color:var(--color-faint)] [font:11px_var(--font-mono)];
945
+ }
946
+ .file-list {
947
+ @apply [border:1px_solid_var(--color-line)] [border-radius:10px] [overflow:hidden];
948
+ }
949
+ .file-row {
950
+ @apply [display:flex] [align-items:center] [gap:12px] [padding:10px_13px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.04)];
951
+ }
952
+ .file-row:last-child {
953
+ @apply [border-bottom:0];
954
+ }
955
+ .file-row code {
956
+ @apply [min-width:0] [flex:1] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [font:12px_var(--font-mono)];
957
+ }
958
+ .file-kind {
959
+ @apply [padding:1px_6px] [border-radius:4px] [background:#f1f3f5] [color:#61666b] [font:10px_var(--font-mono)];
960
+ }
961
+ .file-kind.new {
962
+ @apply [background:#e6faed] [color:#14733f];
963
+ }
964
+ .file-row .add {
965
+ @apply [color:var(--color-green)] [font:11px_var(--font-mono)];
966
+ }
967
+ .file-row .del {
968
+ @apply [color:var(--color-red)] [font:11px_var(--font-mono)];
969
+ }
970
+ .diff-button {
971
+ @apply [color:var(--color-blue)] [font-size:11.5px];
972
+ }
973
+ .file-actions {
974
+ @apply [display:flex] [align-items:center] [gap:8px] [margin-top:12px];
975
+ }
976
+ .file-actions input {
977
+ @apply [min-width:180px] [height:34px] [flex:1] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [padding:0_10px] [font-size:12px];
978
+ }
979
+ .file-actions input:focus {
980
+ @apply [border-color:var(--color-blue)];
981
+ }
982
+ .file-actions button {
983
+ @apply [min-height:34px] [padding:6px_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11.5px];
984
+ }
985
+ .file-actions .primary {
986
+ @apply [background:var(--color-ink)] [color:#fff];
987
+ }
988
+ .files-error {
989
+ @apply [margin:12px_0_0] [padding:9px_11px] [border:1px_solid_rgba(236,_19,_19,_0.16)] [border-radius:8px] [background:#fff8f8] [color:#8f2b2b] [font-size:11.5px];
990
+ }
991
+ .details-panel {
992
+ @apply [display:flex] [width:336px] [min-height:0] [flex:0_1_336px] [min-width:268px] [flex-direction:column] [border-left:1px_solid_rgba(0,_0,_0,_0.1)] [background:#fff];
993
+ }
994
+ .details-panel > header {
995
+ @apply [height:56px] [display:flex] [flex:0_0_56px] [align-items:center] [gap:8px] [padding:0_12px_0_16px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)];
996
+ }
997
+ .details-panel > header strong {
998
+ @apply [flex:1] [font-size:13px];
999
+ }
1000
+ .details-panel > header button {
1001
+ @apply [display:grid] [width:32px] [height:32px] [flex:none] [place-items:center] [border-radius:7px] [color:var(--color-muted)] [font-size:19px] [line-height:1];
1002
+ }
1003
+ .details-panel > header button:hover {
1004
+ @apply [background:var(--color-soft)];
1005
+ }
1006
+ .details-body {
1007
+ @apply [min-height:0] [flex:1] [padding:16px] [overflow:auto];
1008
+ }
1009
+ .detail-stats {
1010
+ @apply [display:grid] [grid-template-columns:1fr_1fr] [gap:7px] [margin-bottom:12px];
1011
+ }
1012
+ .detail-stats > div {
1013
+ @apply [padding:9px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:8px];
1014
+ }
1015
+ .detail-stats small,
1016
+ .detail-section > small {
1017
+ @apply [display:block] [color:var(--color-faint)] [font:9.5px_var(--font-mono)] [letter-spacing:0.04em];
1018
+ }
1019
+ .detail-stats b {
1020
+ @apply [display:block] [margin-top:2px] [font:12.5px_var(--font-mono)] [font-weight:400];
1021
+ }
1022
+ .detail-section {
1023
+ @apply [display:flex] [margin-top:14px] [flex-direction:column] [gap:5px];
1024
+ }
1025
+ .detail-plugin {
1026
+ @apply [display:block] [padding:6px_9px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:8px] [color:var(--color-blue)] [font:10.5px_var(--font-mono)] [overflow-wrap:anywhere];
1027
+ }
1028
+ .raw-json {
1029
+ @apply [margin:14px_0_0];
1030
+ }
1031
+ .plugins-view {
1032
+ @apply [min-width:0];
1033
+ }
1034
+ .plugins-page {
1035
+ @apply [display:flex] [min-height:0] [flex:1] [flex-direction:column];
1036
+ }
1037
+ .subnav {
1038
+ @apply [display:flex] [min-height:48px] [flex:none] [align-items:center] [gap:12px] [padding:8px_24px] [border-bottom:1px_solid_var(--color-line)] [color:var(--color-muted)] [font-size:11.5px];
1039
+ }
1040
+ .subnav > a {
1041
+ @apply [margin-left:auto] [color:var(--color-blue)];
1042
+ }
1043
+ .subnav.plugin-detail-subnav {
1044
+ @apply [justify-content:flex-start];
1045
+ padding-inline: 24px;
1046
+ }
1047
+ .subnav.plugin-detail-subnav > a {
1048
+ @apply [margin-left:0];
1049
+ }
1050
+ .plugin-detail-content {
1051
+ @apply [width:100%] [max-width:none] [margin:0] [padding:32px_24px];
1052
+ container-type: inline-size;
1053
+ }
1054
+ .plugin-detail-content > header {
1055
+ min-height: 207px;
1056
+ }
1057
+ @container (max-width: 600px) {
1058
+ .plugin-detail-content > header {
1059
+ min-height: 235px;
1060
+ }
1061
+ }
1062
+ @container (max-width: 500px) {
1063
+ .plugin-detail-content > header {
1064
+ min-height: 299px;
1065
+ }
1066
+ }
1067
+ @container (max-width: 320px) {
1068
+ .plugin-detail-content > header {
1069
+ min-height: 345px;
1070
+ }
1071
+ }
1072
+ .plugin-detail-actions {
1073
+ @apply [display:flex] [flex-wrap:wrap] [gap:8px];
1074
+ }
1075
+ .plugin-detail-action {
1076
+ @apply [min-height:36px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:6px] [background:#fff] [padding:6px_12px] [color:#20252b] [font-size:12px];
1077
+ }
1078
+ .plugin-detail-action:hover {
1079
+ @apply [border-color:rgba(65,_118,_230,_0.32)] [background:#f8faff];
1080
+ }
1081
+ .plugin-detail-action.primary {
1082
+ @apply [border-color:#20252b] [background:#20252b] [color:#fff];
1083
+ }
1084
+ .plugin-detail-action.primary:hover {
1085
+ @apply [border-color:#343a42] [background:#343a42];
1086
+ }
1087
+ .plugin-detail-action.danger {
1088
+ @apply [border-color:#f0caca] [background:#fff5f5] [color:#b42318];
1089
+ }
1090
+ .plugin-detail-action.danger:hover {
1091
+ @apply [border-color:#e7abab] [background:#ffeded];
1092
+ }
1093
+ .segmented {
1094
+ @apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:#f1f3f5];
1095
+ }
1096
+ .segmented button {
1097
+ @apply [min-height:28px] [padding:4px_12px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px];
1098
+ }
1099
+ .segmented button.active {
1100
+ @apply [background:#fff] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
1101
+ }
1102
+ .plugins-scroll {
1103
+ @apply [flex:1] [overflow:auto] [padding:16px_24px_24px];
1104
+ }
1105
+ .plugins-toolbar {
1106
+ @apply [display:flex] [align-items:center] [gap:12px] [padding:12px_24px] [border-bottom:1px_solid_var(--color-line)] [background:#fff];
1107
+ }
1108
+ .plugins-toolbar input {
1109
+ @apply [height:38px] [min-width:220px] [flex:1] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:8px] [padding:0_12px] [font-size:12.5px];
1110
+ }
1111
+ .plugins-toolbar input:focus {
1112
+ @apply [border-color:rgba(65,_118,_230,_0.55)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.1)];
1113
+ }
1114
+ .plugins-toolbar > span {
1115
+ @apply [flex:none] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
1116
+ }
1117
+ .plugins-list {
1118
+ @apply [width:100%] [display:grid] [grid-template-columns:repeat(auto-fit,_minmax(320px,_1fr))] [grid-auto-rows:1fr] [gap:16px];
1119
+ }
1120
+ .plugin-card {
1121
+ @apply [display:flex] [height:100%] [min-height:226px] [flex-direction:column] [border:1px_solid_var(--color-line)] [border-radius:10px] [padding:16px] [background:#fff] [transition:border-color_120ms_ease,box-shadow_120ms_ease,transform_120ms_ease];
1122
+ }
1123
+ .plugin-card:hover {
1124
+ @apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.32)] [box-shadow:0_8px_22px_rgba(15,_17,_21,_0.06)];
1125
+ }
1126
+ .plugin-card-head {
1127
+ @apply [display:flex] [align-items:flex-start] [gap:12px];
1128
+ }
1129
+ .plugin-heading {
1130
+ @apply [display:flex] [min-width:0] [align-items:flex-start] [gap:12px];
1131
+ }
1132
+ .plugin-actions {
1133
+ @apply [display:flex] [flex:none] [align-items:center] [gap:8px] [margin-left:auto];
1134
+ }
1135
+ .plugin-switch-button {
1136
+ @apply [display:grid] [width:36px] [height:28px] [flex:0_0_36px] [place-items:center] [border-radius:7px];
1137
+ }
1138
+ .plugin-switch-button:hover {
1139
+ @apply [background:var(--color-soft)];
1140
+ }
1141
+ .plugin-icon {
1142
+ @apply [margin-top:2px] [color:var(--color-blue)] [font:14px_var(--font-mono)];
1143
+ }
1144
+ .plugin-copy {
1145
+ @apply [flex:1] [min-width:0];
1146
+ }
1147
+ .plugin-card-body {
1148
+ @apply [min-width:0];
1149
+ }
1150
+ .plugin-title {
1151
+ @apply [display:flex] [min-width:0] [flex:1] [align-items:center] [gap:6px] [flex-wrap:wrap];
1152
+ }
1153
+ .plugin-title strong {
1154
+ @apply [font-size:14px] [line-height:1.4] [font-weight:600];
1155
+ }
1156
+ .plugin-state {
1157
+ @apply [padding:1px_6px] [border-radius:4px] [background:#eef0f3] [color:#687381] [font:10px_var(--font-mono)];
1158
+ }
1159
+ .plugin-state.active {
1160
+ @apply [background:#e6faed] [color:#14733f];
1161
+ }
1162
+ .plugin-package {
1163
+ @apply [display:block] [margin-top:8px] [color:#61666b] [font:10.5px_var(--font-mono)] [overflow-wrap:anywhere];
1164
+ }
1165
+ .capability,
1166
+ .update,
1167
+ .local {
1168
+ @apply [padding:1px_6px] [border-radius:4px] [background:#ebeef2] [color:#61666b] [font-size:10px];
1169
+ }
1170
+ .update {
1171
+ @apply [background:var(--color-blue-soft)] [color:var(--color-blue)];
1172
+ }
1173
+ .local {
1174
+ @apply [background:#fef5e7] [color:#9a6700] [font:10px_var(--font-mono)];
1175
+ }
1176
+ .plugin-description {
1177
+ @apply [margin:8px_0_12px] [color:var(--color-muted)] [font-size:13px] [line-height:1.6];
1178
+ }
1179
+ .hook-list {
1180
+ @apply [display:flex] [flex-wrap:wrap] [gap:5px];
1181
+ }
1182
+ .hook-list span {
1183
+ @apply [padding:1px_6px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:4px] [color:var(--color-muted)] [font:10px_var(--font-mono)];
1184
+ }
1185
+ .plugin-card-footer {
1186
+ @apply [display:flex] [min-height:32px] [align-items:flex-end] [justify-content:space-between] [gap:12px] [margin-top:auto] [padding-top:12px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)];
1187
+ }
1188
+ .plugin-card-footer > span {
1189
+ @apply [color:var(--color-faint)] [font:10px_var(--font-mono)] [letter-spacing:0.04em];
1190
+ }
1191
+ .plugin-detail-link {
1192
+ @apply [display:inline-flex] [min-height:28px] [align-items:center] [color:var(--color-blue)] [font-size:11.5px];
1193
+ }
1194
+ .switch {
1195
+ @apply [position:relative] [width:36px] [height:22px] [flex:0_0_36px] [border-radius:999px] [background:#cfd3d6];
1196
+ }
1197
+ .switch.on {
1198
+ @apply [background:var(--color-ink)];
1199
+ }
1200
+ .switch i {
1201
+ @apply [position:absolute] [top:2px] [left:2px] [width:18px] [height:18px] [border-radius:50%] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.2)];
1202
+ }
1203
+ .switch.on i {
1204
+ @apply [left:16px];
1205
+ }
1206
+ .settings-overlay {
1207
+ @apply [position:fixed] [inset:0] [z-index:40] [display:grid] [place-items:center] [padding:40px] [background:rgba(0,_0,_0,_0.24)];
1208
+ }
1209
+ .global-search {
1210
+ @apply [position:fixed] [inset:0] [z-index:50] [display:grid] [place-items:start_center] [padding:12vh_40px_40px] [background:rgba(15,_23,_42,_0.32)] [backdrop-filter:blur(6px)];
1211
+ }
1212
+ .global-search-dialog {
1213
+ @apply [display:flex] [width:100%] [max-width:920px] [max-height:min(680px,_calc(100vh_-_96px))] [flex-direction:column] [overflow:hidden] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:#fff] [box-shadow:0_28px_80px_rgba(15,_23,_42,_0.26)];
1214
+ }
1215
+ .global-search-heading {
1216
+ @apply [display:flex] [align-items:baseline] [gap:10px] [padding:16px_18px_10px];
1217
+ }
1218
+ .global-search-heading strong {
1219
+ @apply [font-size:14px];
1220
+ }
1221
+ .global-search-heading small {
1222
+ @apply [color:var(--color-muted)] [font-size:11px];
1223
+ }
1224
+ .global-search-dialog > input {
1225
+ @apply [width:100%] [height:52px] [flex:none] [padding:0_18px] [border:0] [border-bottom:1px_solid_var(--color-line)] [background:#fff] [color:var(--color-ink)] [font:14px_var(--font-sans)];
1226
+ }
1227
+ .global-search-dialog > input:focus-visible {
1228
+ @apply [outline-offset:-3px];
1229
+ }
1230
+ .global-search-results {
1231
+ @apply [min-height:0] [overflow:auto] [padding:8px_10px_12px];
1232
+ }
1233
+ .global-search-group {
1234
+ @apply [padding:0_0_8px];
1235
+ }
1236
+ .global-search-group > small {
1237
+ @apply [display:block] [padding:6px_8px_7px] [color:var(--color-faint)] [font:10px_var(--font-mono)] [letter-spacing:0.08em];
1238
+ }
1239
+ .global-search-group button {
1240
+ @apply [display:flex] [width:100%] [min-height:44px] [align-items:baseline] [gap:18px] [padding:10px_12px] [border-radius:8px] [text-align:left] [line-height:1.45];
1241
+ }
1242
+ .global-search-group button[aria-selected="true"] {
1243
+ @apply [background:var(--color-blue-soft)];
1244
+ }
1245
+ .global-search-group button strong {
1246
+ @apply [width:260px] [flex:none] [overflow:hidden] [color:var(--color-ink)] [font:12px_var(--font-mono)] [text-overflow:ellipsis] [white-space:nowrap];
1247
+ }
1248
+ .global-search-group button[aria-selected="true"] strong {
1249
+ @apply [color:var(--color-blue)];
1250
+ }
1251
+ .global-search-group button span {
1252
+ @apply [min-width:0] [overflow:hidden] [color:var(--color-muted)] [font:12px_var(--font-sans)] [text-overflow:ellipsis] [white-space:nowrap];
1253
+ }
1254
+ .settings-page {
1255
+ @apply [display:flex] [min-width:0] [flex:1] [background:#f8fafc];
1256
+ }
1257
+ .settings-page .settings-dialog {
1258
+ @apply [width:100%] [max-width:none] [height:100%] [max-height:none] [flex-direction:column] [border-radius:0] [box-shadow:none];
1259
+ }
1260
+ .settings-top-tabs {
1261
+ @apply [display:flex] [align-items:center] [gap:4px] [height:48px] [flex:none] [padding:0_24px] [border-bottom:1px_solid_var(--color-line)] [background:#fff];
1262
+ }
1263
+ .settings-top-tabs .settings-tab {
1264
+ @apply [height:30px] [padding:0_12px] [border-radius:7px] [font-size:12px];
1265
+ }
1266
+ .settings-top-tabs .settings-tab.active {
1267
+ @apply [background:var(--color-blue-soft)] [color:var(--color-blue)];
1268
+ }
1269
+ .settings-top-tabs .settings-tab b {
1270
+ @apply [float:none] [margin-left:4px];
1271
+ }
1272
+ .settings-back {
1273
+ @apply [border:1px_solid_rgba(65,_118,_230,_0.28)] [border-radius:7px] [background:var(--color-blue-soft)] [padding:4px_9px] [color:var(--color-blue)] [font-size:11px];
1274
+ }
1275
+ .settings-back:hover {
1276
+ @apply [background:#e1ebff];
1277
+ }
1278
+ .settings-dialog {
1279
+ @apply [display:flex] [width:100%] [max-width:880px] [height:100%] [max-height:620px] [overflow:hidden] [border-radius:10px] [background:#fff] [box-shadow:0_24px_64px_rgba(0,_0,_0,_0.24)];
1280
+ }
1281
+ .settings-dialog > aside {
1282
+ @apply [display:flex] [width:184px] [flex:0_0_184px] [padding:12px_8px] [flex-direction:column] [gap:2px] [background:var(--color-soft)] [border-right:1px_solid_rgba(0,_0,_0,_0.06)];
1283
+ }
1284
+ .settings-dialog > aside > strong {
1285
+ @apply [padding:4px_9px_10px] [font-size:13px];
1286
+ }
1287
+ .settings-tab {
1288
+ @apply [height:30px] [padding:0_9px] [border-radius:8px] [text-align:left] [font-size:12.5px];
1289
+ }
1290
+ .settings-tab.active {
1291
+ @apply [background:#f1f3f5] [font-weight:600];
1292
+ }
1293
+ .settings-tab b {
1294
+ @apply [float:right] [color:#61666b] [font:10px_var(--font-mono)] [font-weight:400];
1295
+ }
1296
+ .settings-dialog > section {
1297
+ @apply [display:flex] [min-width:0] [min-height:0] [flex:1] [flex-direction:column];
1298
+ }
1299
+ .settings-dialog section > header {
1300
+ @apply [display:flex] [height:52px] [align-items:center] [justify-content:flex-start] [gap:16px] [padding:0_24px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)];
1301
+ }
1302
+ .settings-header-copy {
1303
+ @apply [display:flex] [min-width:0] [align-items:baseline] [gap:10px];
1304
+ }
1305
+ .settings-header-copy strong {
1306
+ @apply [flex:none] [font-size:13px];
1307
+ }
1308
+ .settings-header-copy small {
1309
+ @apply [min-width:0] [overflow:hidden] [color:var(--color-muted)] [font-size:11px] [text-overflow:ellipsis] [white-space:nowrap];
1310
+ }
1311
+ .settings-dialog section > header button {
1312
+ @apply [flex:none] [color:var(--color-muted)] [font-size:12px];
1313
+ }
1314
+ .settings-dialog section > header .settings-back {
1315
+ @apply [border:0] [border-radius:0] [background:transparent] [padding:0] [color:var(--color-blue)] [font-size:11px];
1316
+ }
1317
+ .settings-body {
1318
+ @apply [flex:1] [overflow:auto] [padding:16px_24px_24px];
1319
+ }
1320
+ .settings-intro {
1321
+ @apply [padding:5px_0_11px] [border-bottom:1px_solid_var(--color-line)];
1322
+ }
1323
+ .settings-intro small {
1324
+ @apply [color:var(--color-faint)] [font:9.5px_var(--font-mono)];
1325
+ }
1326
+ .settings-intro h3 {
1327
+ @apply [margin:4px_0] [font:13px_var(--font-mono)] [font-weight:500];
1328
+ }
1329
+ .settings-intro p {
1330
+ @apply [margin:0] [color:var(--color-muted)] [font-size:12px];
1331
+ }
1332
+ .general-row {
1333
+ @apply [display:flex] [align-items:center] [gap:12px] [padding:12px_0] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)];
1334
+ }
1335
+ .general-row > div {
1336
+ @apply [flex:1];
1337
+ }
1338
+ .general-row strong {
1339
+ @apply [display:block] [font-size:12.5px];
1340
+ }
1341
+ .general-row small {
1342
+ @apply [display:block] [margin-top:2px] [color:var(--color-muted)] [font-size:11.5px];
1343
+ }
1344
+ .setting-status {
1345
+ @apply [flex:none] [padding:3px_8px] [border-radius:999px] [background:#ebeef2] [color:#61666b] [font:10.5px_var(--font-mono)];
1346
+ }
1347
+ .setting-status.on {
1348
+ @apply [background:#eaf8f0] [color:#14733f];
1349
+ }
1350
+ .general-row small.setting-error {
1351
+ @apply [color:#b42318];
1352
+ }
1353
+ .provider-card {
1354
+ @apply [margin-bottom:12px] [padding:12px_13px] [border:1px_solid_var(--color-line)] [border-radius:10px];
1355
+ }
1356
+ .provider-add-head {
1357
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [gap:12px] [padding:11px_12px_10px] [border-top:1px_solid_var(--color-line)];
1358
+ }
1359
+ .provider-add-head > div {
1360
+ @apply [display:flex] [flex-direction:column] [gap:2px];
1361
+ }
1362
+ .provider-add-head strong {
1363
+ @apply [font-size:12px];
1364
+ }
1365
+ .provider-add-head > button {
1366
+ @apply [height:30px] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px];
1367
+ }
1368
+ .provider-add-head small,
1369
+ .provider-add-form small {
1370
+ @apply [color:var(--color-faint)] [font-size:10px];
1371
+ }
1372
+ .provider-add-form {
1373
+ @apply [display:grid] [grid-template-columns:repeat(2,minmax(0,1fr))] [gap:12px] [padding:0];
1374
+ }
1375
+ .provider-add-overlay {
1376
+ @apply [position:fixed] [inset:0] [z-index:70] [display:grid] [place-items:center] [padding:32px] [background:rgba(15,_23,_42,_0.32)] [backdrop-filter:blur(6px)];
1377
+ }
1378
+ .provider-add-modal {
1379
+ @apply [width:min(100%,640px)] [max-height:calc(100vh_-_64px)] [overflow:auto] [padding:18px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:#fff] [box-shadow:0_28px_80px_rgba(15,_23,_42,_0.26)];
1380
+ }
1381
+ .provider-add-modal > header {
1382
+ @apply [display:flex] [align-items:flex-start] [justify-content:space-between] [gap:16px] [margin-bottom:16px];
1383
+ }
1384
+ .provider-add-modal > header > div {
1385
+ @apply [display:flex] [flex-direction:column] [gap:3px];
1386
+ }
1387
+ .provider-add-modal > header strong {
1388
+ @apply [font-size:14px];
1389
+ }
1390
+ .provider-add-modal > header small {
1391
+ @apply [color:var(--color-faint)] [font-size:10.5px];
1392
+ }
1393
+ .provider-add-modal > header button {
1394
+ @apply [width:26px] [height:26px] [border-radius:7px] [color:var(--color-muted)] [font-size:18px];
1395
+ }
1396
+ .provider-add-modal .provider-add-form {
1397
+ @apply [width:100%] [margin:0] [padding:0];
1398
+ }
1399
+ .provider-add-form label {
1400
+ @apply [display:flex] [min-width:0] [flex-direction:column] [gap:5px];
1401
+ }
1402
+ .provider-add-form label > span {
1403
+ @apply [color:var(--color-muted)] [font-size:10.5px] [font-weight:600];
1404
+ }
1405
+ .provider-add-form input,
1406
+ .provider-add-form select,
1407
+ .provider-add-form button {
1408
+ @apply [min-width:0] [height:32px] [padding:0_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11px];
1409
+ }
1410
+ .provider-add-form input:focus,
1411
+ .provider-add-form select:focus {
1412
+ @apply [border-color:var(--color-blue)];
1413
+ }
1414
+ .provider-add-wide,
1415
+ .provider-add-actions {
1416
+ @apply [grid-column:1/-1];
1417
+ }
1418
+ .provider-add-actions {
1419
+ @apply [display:flex] [align-items:center] [gap:10px];
1420
+ }
1421
+ .provider-add-actions button {
1422
+ @apply [width:140px];
1423
+ }
1424
+ .provider-add-actions small {
1425
+ @apply [min-width:0] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1426
+ }
1427
+ .provider-add-form button {
1428
+ @apply [border-color:var(--color-ink)] [background:var(--color-ink)] [color:#fff];
1429
+ }
1430
+ .provider-head {
1431
+ @apply [display:flex] [align-items:center] [gap:8px] [margin-bottom:10px];
1432
+ }
1433
+ .provider-dot {
1434
+ @apply [color:var(--color-green)] [font-size:10px];
1435
+ }
1436
+ .provider-head strong {
1437
+ @apply [font-size:12.5px];
1438
+ }
1439
+ .provider-state {
1440
+ @apply [margin-left:auto] [color:var(--color-green)] [font:10.5px_var(--font-mono)];
1441
+ }
1442
+ .provider-field {
1443
+ @apply [display:flex] [align-items:center] [gap:8px] [margin-top:7px];
1444
+ }
1445
+ .provider-field code {
1446
+ @apply [width:66px] [flex:0_0_66px] [color:#61666b] [font:11px_var(--font-mono)];
1447
+ }
1448
+ .provider-field input {
1449
+ @apply [flex:1] [min-width:0] [height:32px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:7px] [padding:0_9px] [background:#fff] [font:11.5px_var(--font-mono)];
1450
+ }
1451
+ .provider-model-value {
1452
+ @apply [min-width:0] [flex:1] [display:flex] [align-items:center] [gap:7px] [min-height:32px] [padding:4px_8px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:7px] [background:#fff] [font:11.5px_var(--font-mono)];
1453
+ }
1454
+ .provider-model-value > span {
1455
+ @apply [min-width:0] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1456
+ }
1457
+ .provider-models-details {
1458
+ @apply [position:relative] [flex:0_0_auto] [margin-left:auto] [font:10px_var(--font-sans)];
1459
+ }
1460
+ .provider-models-details summary {
1461
+ @apply [cursor:pointer] [white-space:nowrap] [color:var(--color-blue)];
1462
+ }
1463
+ .provider-models-details .model-chips {
1464
+ @apply [position:absolute] [top:22px] [right:0] [z-index:2] [width:280px] [max-height:160px] [overflow:auto] [margin:0] [padding:8px] [border:1px_solid_var(--color-line)] [border-radius:8px] [background:#fff] [box-shadow:0_8px_24px_rgba(0,_0,_0,_0.12)];
1465
+ }
1466
+ .provider-footer {
1467
+ @apply [display:flex] [align-items:center] [gap:8px] [margin-top:9px];
1468
+ }
1469
+ .provider-footer code {
1470
+ @apply [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
1471
+ }
1472
+ .provider-footer button {
1473
+ @apply [padding:4px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11px];
1474
+ }
1475
+ .provider-footer button:disabled {
1476
+ @apply [cursor:not-allowed] [opacity:0.5];
1477
+ }
1478
+ .provider-footer .link-button {
1479
+ @apply [margin-left:auto] [border:0] [color:var(--color-blue)];
1480
+ }
1481
+ .model-chips {
1482
+ @apply [display:flex] [flex-wrap:wrap] [gap:5px] [margin-top:10px];
1483
+ }
1484
+ .model-chips span {
1485
+ @apply [padding:1px_7px] [border-radius:4px] [background:#e4edfd] [color:var(--color-blue)] [font:10.5px_var(--font-mono)];
1486
+ }
1487
+ .add-provider {
1488
+ @apply [display:flex] [align-items:center] [gap:9px] [width:100%] [padding:11px_13px] [border:1px_dashed_rgba(0,_0,_0,_0.16)] [border-radius:10px] [text-align:left] [color:#61666b];
1489
+ }
1490
+ .add-provider small {
1491
+ @apply [margin-left:auto] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
1492
+ }
1493
+ .toml-toolbar {
1494
+ @apply [display:flex] [align-items:center] [gap:6px] [margin-bottom:10px] [color:var(--color-muted)] [font-size:11.5px];
1495
+ }
1496
+ .toml-toolbar span {
1497
+ @apply [flex:1];
1498
+ }
1499
+ .toml-toolbar button {
1500
+ @apply [padding:4px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11px];
1501
+ }
1502
+ .toml-toolbar button.active {
1503
+ @apply [background:#f1f3f5] [font-weight:600];
1504
+ }
1505
+ .toml-toolbar .primary {
1506
+ @apply [background:var(--color-ink)] [color:#fff];
1507
+ }
1508
+ .toml {
1509
+ @apply [min-height:420px] [border:1px_solid_var(--color-line)] [border-radius:9px] [color:#61666b];
1510
+ }
1511
+ .session-search {
1512
+ @apply [position:relative] [z-index:20];
1513
+ }
1514
+ .command-palette {
1515
+ @apply [position:absolute] [top:calc(100%_+_6px)] [right:0] [left:0] [max-height:420px] [overflow:auto] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:#fff] [box-shadow:0_16px_40px_rgba(15,_23,_42,_0.18)];
1516
+ }
1517
+ .palette-group {
1518
+ @apply [padding:8px];
1519
+ }
1520
+ .palette-group small {
1521
+ @apply [position:sticky] [top:0] [z-index:1] [display:block] [padding:5px_8px_9px] [background:#fff] [color:var(--color-faint)] [font:10px_var(--font-mono)] [letter-spacing:0.08em];
1522
+ }
1523
+ .palette-group small span {
1524
+ @apply [color:#687381] [letter-spacing:0];
1525
+ }
1526
+ .palette-group button {
1527
+ @apply [display:flex] [width:100%] [min-height:44px] [align-items:baseline] [gap:14px] [padding:10px_12px] [border-radius:8px] [text-align:left] [font:12px_var(--font-mono)] [line-height:1.45];
1528
+ }
1529
+ .palette-group button[aria-selected="true"] {
1530
+ @apply [background:var(--color-blue-soft)] [color:var(--color-blue)];
1531
+ }
1532
+ .palette-group button code {
1533
+ @apply [width:150px] [flex:none] [overflow:hidden] [color:var(--color-ink)] [font:12px_var(--font-mono)] [text-overflow:ellipsis] [white-space:nowrap];
1534
+ }
1535
+ .palette-group button[aria-selected="true"] code {
1536
+ @apply [color:var(--color-blue)];
1537
+ }
1538
+ .palette-group button span {
1539
+ @apply [min-width:0] [overflow:hidden] [color:var(--color-muted)] [font:12px_var(--font-sans)] [line-height:1.45] [text-overflow:ellipsis] [white-space:nowrap];
1540
+ }
1541
+ @media (max-width: 1100px) {
1542
+ .details-panel {
1543
+ @apply [display:none];
1544
+ }
1545
+ .details-toggle {
1546
+ @apply [display:none];
1547
+ }
1548
+ }
1549
+ @media (max-width: 1024px) {
1550
+ .composer-hint {
1551
+ @apply [display:none];
1552
+ }
1553
+ }
1554
+ /* Use one scroll surface when fixed marketplace controls would leave less than one card visible. */
1555
+ @media (max-width: 680px),
1556
+ (max-height: 845px) and (min-width: 681px) and (max-width: 760px),
1557
+ (max-height: 805px) and (min-width: 761px) and (max-width: 900px),
1558
+ (max-height: 747px) and (min-width: 901px) and (max-width: 1023px),
1559
+ (max-height: 664px) and (min-width: 1024px) {
1560
+ .marketplace-page > div {
1561
+ @apply [overflow:auto];
1562
+ }
1563
+ .marketplace-page .marketplace-scroll {
1564
+ @apply [flex:none] [overflow:visible];
1565
+ }
1566
+ }
1567
+ @media (max-height: 400px) {
1568
+ .sidebar .runtime-cells {
1569
+ @apply [display:none];
1570
+ }
1571
+ .sidebar .sidebar-footer {
1572
+ @apply [padding-top:2px] [padding-bottom:2px];
1573
+ }
1574
+ .sidebar .sidebar-scroll {
1575
+ @apply [padding-bottom:0];
1576
+ }
1577
+ }
1578
+ @media (max-width: 900px) {
1579
+ .config-sections {
1580
+ @apply [grid-template-columns:minmax(0,_1fr)];
1581
+ }
1582
+ .config-section:last-child {
1583
+ @apply [grid-column:auto];
1584
+ }
1585
+ }
1586
+ @media (max-width: 760px) {
1587
+ .sidebar {
1588
+ @apply [width:216px] [flex-basis:216px];
1589
+ }
1590
+ .main-header {
1591
+ @apply [gap:7px] [padding:0_10px];
1592
+ }
1593
+ .active-heading small {
1594
+ @apply [max-width:180px];
1595
+ }
1596
+ .composer-wrap,
1597
+ .chat-scroll {
1598
+ @apply [padding-left:12px] [padding-right:12px];
1599
+ }
1600
+ .view-tabs {
1601
+ @apply [margin-left:auto];
1602
+ }
1603
+ .composer-hint {
1604
+ @apply [display:none];
1605
+ }
1606
+ }
1607
+ @media (max-width: 680px) {
1608
+ .sidebar {
1609
+ @apply [width:54px] [flex-basis:54px];
1610
+ }
1611
+ .brand-row {
1612
+ @apply [justify-content:center] [padding:0];
1613
+ }
1614
+ .brand-row strong,
1615
+ .version,
1616
+ .sidebar-actions,
1617
+ .sidebar-scroll {
1618
+ @apply [display:none];
1619
+ }
1620
+ .sidebar-footer {
1621
+ @apply [display:flex] [align-items:center] [padding:6px_5px_8px];
1622
+ }
1623
+ .sidebar-link {
1624
+ @apply [width:44px] [flex:0_0_44px] [justify-content:center] [padding:0];
1625
+ }
1626
+ .compact-new-session {
1627
+ @apply [display:flex];
1628
+ }
1629
+ .sidebar-link > span:nth-child(2),
1630
+ .sidebar-link > b,
1631
+ .sidebar-link > small {
1632
+ @apply [display:none];
1633
+ }
1634
+ .sidebar-link > span:not(.link-glyph) {
1635
+ @apply [display:none];
1636
+ }
1637
+ .main-header .active-heading small {
1638
+ @apply [display:none];
1639
+ }
1640
+ .run-indicator {
1641
+ @apply [display:none];
1642
+ }
1643
+ .view-tab {
1644
+ @apply [padding:4px_7px];
1645
+ }
1646
+ .details-panel {
1647
+ @apply [display:none];
1648
+ }
1649
+ .composer-tools {
1650
+ @apply [justify-content:flex-end];
1651
+ }
1652
+ .palette-group button code {
1653
+ @apply [width:132px];
1654
+ }
1655
+ .global-search {
1656
+ @apply [place-items:center] [padding:16px];
1657
+ }
1658
+ .global-search-dialog {
1659
+ @apply [max-height:calc(100vh_-_32px)];
1660
+ }
1661
+ .global-search-group button strong {
1662
+ @apply [width:132px];
1663
+ }
1664
+ .tool-chip {
1665
+ @apply [white-space:nowrap] [padding-left:6px] [padding-right:6px] [font-size:10.5px];
1666
+ }
1667
+ .plugins-toolbar {
1668
+ @apply [flex-wrap:wrap];
1669
+ }
1670
+ .plugins-toolbar input {
1671
+ @apply [min-width:0] [flex-basis:100%];
1672
+ }
1673
+ }
1674
+ @media (max-width: 760px) {
1675
+ .settings-overlay {
1676
+ @apply [padding:12px];
1677
+ }
1678
+ .settings-dialog {
1679
+ @apply [max-height:none];
1680
+ }
1681
+ }
1682
+ @media (prefers-reduced-motion: reduce) {
1683
+ .session-dot.running,
1684
+ .run-indicator .run-dot,
1685
+ .initial-loading > span {
1686
+ @apply [animation:none];
1687
+ }
1688
+ }
1689
+ .empty-state {
1690
+ @apply [padding:28px_16px] [color:var(--color-muted)] [text-align:center] [font-size:12px];
1691
+ }
1692
+ .settings-plugin-row {
1693
+ @apply [padding:8px_0] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)] [font:11.5px_var(--font-mono)] [color:#61666b];
1694
+ }
1695
+ .settings-body > p {
1696
+ @apply [color:var(--color-muted)] [font-size:12px];
1697
+ }
1698
+ .provider-card input {
1699
+ @apply [display:block] [width:100%] [height:32px] [margin-top:7px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:7px] [padding:0_9px] [font:11.5px_var(--font-mono)];
1700
+ }
1701
+ .stop-button {
1702
+ @apply [padding:2px_8px] [border:1px_solid_rgba(236,_19,_19,_0.24)] [border-radius:6px] [color:var(--color-red)] [font-size:11px];
1703
+ }
1704
+ .stop-button:disabled {
1705
+ @apply [opacity:0.45] [cursor:not-allowed];
1706
+ }
1707
+ .session-menu-popover {
1708
+ @apply [position:absolute] [top:calc(100%_-_4px)] [right:24px] [z-index:35] [width:224px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:10px] [background:#fff] [box-shadow:0_10px_28px_rgba(0,_0,_0,_0.14)] [overflow:hidden];
1709
+ }
1710
+
1711
+ /* Final control-room pass: keep the quiet palette, sharpen hierarchy, and remove decorative telemetry that is not backed by the runtime. */
1712
+ .main-header {
1713
+ @apply [height:54px] [flex-basis:54px] [background:#fff];
1714
+ }
1715
+ .active-heading {
1716
+ @apply [gap:1px];
1717
+ }
1718
+ .active-heading strong {
1719
+ @apply [font-size:13.5px];
1720
+ }
1721
+ .active-heading small {
1722
+ @apply [max-width:440px] [color:var(--color-faint)];
1723
+ }
1724
+ .runtime-cells {
1725
+ @apply [margin:4px_8px_6px] [padding:9px_10px] [border:1px_solid_rgba(0,_0,_0,_0.07)] [border-radius:9px] [background:#fff] [display:grid] [grid-template-columns:1fr_1fr] [gap:5px_10px];
1726
+ }
1727
+ .runtime-cells span:first-child {
1728
+ @apply [grid-column:1/-1] [min-width:0];
1729
+ }
1730
+ .runtime-cells b {
1731
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1732
+ }
1733
+ .session-row.active {
1734
+ @apply [border:1px_solid_rgba(65,_118,_230,_0.14)] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)];
1735
+ }
1736
+ .chat-scroll.is-empty {
1737
+ @apply [display:flex] [align-items:center] [justify-content:center] [padding-top:10px];
1738
+ }
1739
+ .new-session-screen {
1740
+ @apply [width:100%] [max-width:700px] [padding:24px_0_30px] [gap:12px] [text-align:left];
1741
+ }
1742
+ .welcome-kicker {
1743
+ @apply [color:var(--color-blue)] [font:10px_var(--font-mono)] [letter-spacing:0.11em];
1744
+ }
1745
+ .welcome-heading {
1746
+ @apply [display:flex] [align-items:center] [gap:12px] [margin-bottom:3px];
1747
+ }
1748
+ .welcome-heading h2 {
1749
+ @apply [margin:0] [font-size:21px] [letter-spacing:-0.02em];
1750
+ }
1751
+ .welcome-heading p {
1752
+ @apply [margin:4px_0_0] [color:var(--color-muted)] [font-size:12.5px];
1753
+ }
1754
+ .workspace-picker {
1755
+ @apply [margin-top:5px];
1756
+ }
1757
+ .workspace-row {
1758
+ @apply [min-height:68px] [padding:13px_14px] [border-color:rgba(65,_118,_230,_0.2)] [box-shadow:0_6px_20px_rgba(15,_17,_21,_0.04)];
1759
+ }
1760
+ .workspace-row > span:nth-child(2) {
1761
+ @apply [min-width:0] [flex:1];
1762
+ }
1763
+ .workspace-status {
1764
+ @apply [flex:none] [padding:3px_7px] [border-radius:5px] [background:#e6faed] [font:10px_var(--font-mono)];
1765
+ }
1766
+ .workspace-row .live {
1767
+ @apply [color:#14733f];
1768
+ }
1769
+ .workspace-arrow {
1770
+ @apply [color:var(--color-blue)] [font-size:16px];
1771
+ }
1772
+ .effective-config {
1773
+ @apply [min-height:40px] [padding:8px_11px] [gap:9px] [background:#f7f8fa];
1774
+ }
1775
+ .effective-config .config-label {
1776
+ @apply [color:var(--color-muted)] [font-family:var(--font-sans)];
1777
+ }
1778
+ .starter-grid {
1779
+ @apply [display:grid] [grid-template-columns:1fr_1fr] [gap:9px] [width:100%] [margin-top:4px];
1780
+ }
1781
+ .starter-card {
1782
+ @apply [min-height:72px] [padding:12px_13px] [border:1px_solid_var(--color-starter-border)] [border-radius:10px] [background:#fff] [text-align:left] [transition:background_120ms_ease,border-color_120ms_ease,transform_120ms_ease];
1783
+ }
1784
+ .starter-card:hover {
1785
+ @apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.4)] [background:#f8faff];
1786
+ }
1787
+ .starter-card strong,
1788
+ .starter-card small {
1789
+ @apply [display:block];
1790
+ }
1791
+ .starter-card strong {
1792
+ @apply [font-size:12.5px];
1793
+ }
1794
+ .starter-card small {
1795
+ @apply [margin-top:4px] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
1796
+ }
1797
+ .composer-wrap {
1798
+ @apply [padding-top:10px] [border-top:1px_solid_rgba(0,_0,_0,_0.04)];
1799
+ }
1800
+ .context-line {
1801
+ @apply [max-width:800px] [gap:12px] [margin-bottom:7px];
1802
+ }
1803
+ .context-label {
1804
+ @apply [color:var(--color-muted)];
1805
+ }
1806
+ .context-metrics {
1807
+ @apply [display:flex] [min-width:0] [flex:1] [flex-wrap:wrap] [gap:10px] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1808
+ }
1809
+ .context-metrics span {
1810
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1811
+ }
1812
+ .context-bar {
1813
+ @apply [display:none];
1814
+ }
1815
+ .composer {
1816
+ @apply [max-width:800px] [border-radius:10px] [box-shadow:0_8px_24px_rgba(15,_17,_21,_0.06)];
1817
+ }
1818
+ .composer textarea {
1819
+ @apply [min-height:74px] [padding:13px_15px_5px] [font-size:14px];
1820
+ }
1821
+ .action-error {
1822
+ @apply [position:absolute] [right:0] [bottom:calc(100%_+_8px)] [z-index:20] [display:flex] [max-width:800px] [margin:0] [padding:9px_11px] [flex-direction:column] [gap:6px] [border:1px_solid_rgba(236,_19,_19,_0.16)] [border-radius:9px] [background:#fff8f8] [color:#8f2b2b] [font-size:11.5px] [box-shadow:0_8px_24px_rgba(15,_17,_21,_0.1)];
1823
+ }
1824
+ .action-error-summary {
1825
+ @apply [display:flex] [gap:8px] [align-items:baseline];
1826
+ }
1827
+ .action-error-summary strong {
1828
+ @apply [flex:none] [font-size:11.5px] [color:#b42318];
1829
+ }
1830
+ .action-error-summary span {
1831
+ @apply [color:#a05b5b];
1832
+ }
1833
+ .action-error details {
1834
+ @apply [min-width:0];
1835
+ }
1836
+ .action-error summary {
1837
+ @apply [cursor:pointer] [color:#b42318] [font-size:10.5px];
1838
+ }
1839
+ .action-error code {
1840
+ @apply [display:block] [max-height:88px] [margin-top:5px] [overflow:auto] [white-space:pre-wrap] [overflow-wrap:anywhere] [color:#8f2b2b] [font:10px_var(--font-mono)];
1841
+ }
1842
+ .marketplace-page {
1843
+ @apply [min-height:0] [background:#f8fafc];
1844
+ }
1845
+ .marketplace-page > div {
1846
+ @apply [background:#f8fafc];
1847
+ }
1848
+ .marketplace-page .marketplace-grid {
1849
+ @apply [align-content:start];
1850
+ }
1851
+ .marketplace-toolbar {
1852
+ @apply [display:flex] [flex:none] [flex-wrap:wrap] [align-items:center] [gap:12px] [padding:12px_24px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.08)] [background:#fff];
1853
+ }
1854
+ .marketplace-search {
1855
+ @apply [height:38px] [min-width:220px] [flex:1] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:8px] [padding:0_12px] [font-size:12.5px];
1856
+ }
1857
+ .marketplace-search:focus {
1858
+ @apply [border-color:rgba(65,_118,_230,_0.55)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.1)];
1859
+ }
1860
+ .marketplace-filter {
1861
+ @apply [height:38px] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:8px] [background:#fff] [padding:0_12px] [color:#61666b] [font-size:12.5px];
1862
+ }
1863
+ .marketplace-count {
1864
+ @apply [margin-left:auto] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
1865
+ }
1866
+ .marketplace-categories {
1867
+ @apply [display:flex] [min-width:0] [flex:none] [flex-wrap:nowrap] [gap:4px] [overflow-x:auto] [padding:8px_24px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.08)] [background:#fff];
1868
+ }
1869
+ .marketplace-category {
1870
+ @apply [display:flex] [min-height:32px] [flex:none] [align-items:center] [gap:6px] [border-radius:999px] [padding:4px_8px] [color:#61666b] [font-size:11px];
1871
+ }
1872
+ .marketplace-category:hover {
1873
+ @apply [background:#f1f4f9];
1874
+ }
1875
+ .marketplace-category.active {
1876
+ @apply [background:#e4edfd] [color:#3565c5] [font-weight:500];
1877
+ }
1878
+ .marketplace-scroll {
1879
+ @apply [min-height:0] [flex:1] [overflow:auto] [padding:0_24px_24px];
1880
+ }
1881
+ .marketplace-grid {
1882
+ @apply [display:grid] [width:100%] [grid-template-columns:repeat(auto-fit,_minmax(320px,_1fr))] [grid-auto-rows:1fr] [gap:16px] [padding-top:16px];
1883
+ }
1884
+ .marketplace-card {
1885
+ @apply [display:flex] [height:100%] [min-height:226px] [flex-direction:column] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:10px] [background:#fff] [padding:16px] [transition:border-color_120ms_ease,box-shadow_120ms_ease,transform_120ms_ease];
1886
+ }
1887
+ .marketplace-card:hover {
1888
+ @apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.32)] [box-shadow:0_8px_22px_rgba(15,_17,_21,_0.06)];
1889
+ }
1890
+ .marketplace-card > div:first-child {
1891
+ @apply [flex:1];
1892
+ }
1893
+ .marketplace-card-mark {
1894
+ @apply [color:var(--color-blue)] [font:14px_var(--font-mono)];
1895
+ }
1896
+ .marketplace-title {
1897
+ @apply [font-size:14px] [line-height:1.4] [font-weight:600];
1898
+ }
1899
+ .marketplace-package {
1900
+ @apply [display:block] [margin-top:8px] [overflow-wrap:anywhere] [color:#61666b] [font:10.5px_var(--font-mono)];
1901
+ }
1902
+ .marketplace-description {
1903
+ @apply [margin:8px_0_12px] [color:var(--color-muted)] [font-size:13px] [line-height:1.6];
1904
+ }
1905
+ .marketplace-tags {
1906
+ @apply [display:flex] [flex-wrap:wrap] [gap:5px];
1907
+ }
1908
+ .marketplace-card-footer {
1909
+ @apply [display:flex] [min-height:40px] [align-items:center] [gap:8px] [margin-top:auto] [padding-top:12px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
1910
+ }
1911
+ .marketplace-card-footer span {
1912
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1913
+ }
1914
+ .marketplace-card-footer a {
1915
+ @apply [display:inline-flex] [min-height:28px] [flex:none] [align-items:center] [color:var(--color-blue)] [font:11px_var(--font-sans)];
1916
+ }
1917
+ .marketplace-card-footer span + a {
1918
+ @apply [margin-left:auto];
1919
+ }
1920
+ .marketplace-card-footer button {
1921
+ @apply [min-height:28px] [flex:none] [border:1px_solid_rgba(65,_118,_230,_0.3)] [border-radius:6px] [background:var(--color-blue-soft)] [padding:4px_10px] [color:var(--color-blue)] [font-size:10.5px];
1922
+ }
1923
+ .marketplace-card-footer button:hover {
1924
+ @apply [background:#e1ebff];
1925
+ }
1926
+ .marketplace-pagination {
1927
+ @apply [display:flex] [align-items:center] [justify-content:center] [gap:12px] [margin-top:12px] [color:#687381] [font:11px_var(--font-mono)];
1928
+ }
1929
+ .marketplace-pagination-button {
1930
+ @apply [min-height:32px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:6px] [background:#fff] [padding:4px_12px] [color:#0f1115] [font:11px_var(--font-sans)];
1931
+ }
1932
+ .marketplace-pagination-button:hover:not(:disabled) {
1933
+ @apply [border-color:rgba(65,_118,_230,_0.32)] [background:#f8faff];
1934
+ }
1935
+ .session-action {
1936
+ @apply [display:flex] [flex-direction:column] [gap:1px] [width:100%] [padding:8px_11px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.04)] [text-align:left];
1937
+ }
1938
+ .session-action:hover {
1939
+ @apply [background:var(--color-soft)];
1940
+ }
1941
+ .session-action strong {
1942
+ @apply [font-size:12px];
1943
+ }
1944
+ .session-action small {
1945
+ @apply [color:var(--color-faint)] [font-size:10px];
1946
+ }
1947
+ .context-bar i:nth-child(1) {
1948
+ @apply [width:44%] [background:#c7d6f5];
1949
+ }
1950
+ .context-bar i:nth-child(2) {
1951
+ @apply [width:33%] [background:#dce7fb];
1952
+ }
1953
+ .context-bar i:nth-child(3) {
1954
+ @apply [width:23%] [background:#edf2fd];
1955
+ }
1956
+ .file-summary {
1957
+ @apply [margin:-8px_0_12px] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
1958
+ }
1959
+ .settings-note {
1960
+ @apply [display:block] [margin-top:10px] [color:var(--color-muted)] [font-size:11px] [line-height:1.5];
1961
+ }
1962
+ .extension-list {
1963
+ @apply [width:100%];
1964
+ }
1965
+ .extension-list .empty-state {
1966
+ @apply [border:1px_dashed_rgba(0,_0,_0,_0.14)] [border-radius:10px];
1967
+ }
1968
+ .subnav > a {
1969
+ @apply [white-space:nowrap];
1970
+ }
1971
+ .plugin-card .switch {
1972
+ @apply [flex:none];
1973
+ }
1974
+ .plugin-uninstall {
1975
+ @apply [display:inline-flex] [min-height:28px] [align-items:center] [border:1px_solid_rgba(185,_28,_28,_0.16)] [border-radius:6px] [background:#fff8f8] [padding:3px_8px] [color:var(--color-red)] [font-size:11px];
1976
+ }
1977
+ .plugin-uninstall:hover {
1978
+ @apply [border-color:rgba(185,_28,_28,_0.28)] [background:#fff1f1];
1979
+ }
1980
+ .plugin-action-error {
1981
+ @apply [margin:10px_0_0_37px] [color:var(--color-red)] [font-size:11px];
1982
+ }
1983
+ .plugin-confirm-backdrop {
1984
+ @apply [position:fixed] [inset:0] [z-index:60] [display:grid] [place-items:center] [padding:24px] [background:rgba(15,_23,_42,_0.32)] [backdrop-filter:blur(6px)];
1985
+ }
1986
+ .plugin-confirm-dialog {
1987
+ @apply [width:100%] [max-width:440px] [padding:20px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:#fff] [box-shadow:0_24px_64px_rgba(15,_23,_42,_0.26)];
1988
+ }
1989
+ .plugin-confirm-dialog header strong,
1990
+ .plugin-confirm-dialog header small {
1991
+ @apply [display:block];
1992
+ }
1993
+ .plugin-confirm-dialog header strong {
1994
+ @apply [font-size:15px];
1995
+ }
1996
+ .plugin-confirm-dialog header small {
1997
+ @apply [margin-top:4px] [color:var(--color-muted)] [font-size:12px];
1998
+ }
1999
+ .plugin-confirm-dialog > code {
2000
+ @apply [display:block] [margin-top:16px] [padding:10px_11px] [overflow-wrap:anywhere] [border-radius:8px] [background:var(--color-soft)] [font:11px_var(--font-mono)];
2001
+ }
2002
+ .plugin-confirm-dialog footer {
2003
+ @apply [display:flex] [justify-content:flex-end] [gap:8px] [margin-top:18px];
2004
+ }
2005
+ .plugin-confirm-dialog footer button {
2006
+ @apply [padding:7px_12px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:12px];
2007
+ }
2008
+ .plugin-confirm-dialog footer button.danger {
2009
+ @apply [border-color:rgba(185,_28,_28,_0.22)] [background:#fff5f5] [color:#b42318];
2010
+ }
2011
+ .plugin-confirm-error {
2012
+ @apply [margin:10px_0_0] [color:#b42318] [font-size:11px];
2013
+ }
2014
+ .session-menu-popover[hidden] {
2015
+ @apply [display:none];
2016
+ }
2017
+ .timeline-empty {
2018
+ @apply [padding:5px_8px] [color:var(--color-faint)] [font:10px_var(--font-mono)];
2019
+ }
2020
+ .timeline-turn {
2021
+ @apply [flex:1] [min-width:4px];
2022
+ }
2023
+ .timeline-strip {
2024
+ @apply [height:100%] [background:var(--color-blue)] [border-radius:3px];
2025
+ }
2026
+ .timeline-turn:nth-child(3n) .timeline-strip {
2027
+ @apply [background:#93c5fd];
2028
+ }
2029
+ .timeline-turn:nth-child(4n) .timeline-strip {
2030
+ @apply [background:#f59e0b];
2031
+ }
2032
+ .raw-json {
2033
+ @apply [overflow:hidden] [border:1px_solid_var(--color-line)] [border-radius:8px];
2034
+ }
2035
+ .raw-json summary {
2036
+ @apply [padding:7px_9px] [cursor:pointer] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
2037
+ }
2038
+ .raw-json-body {
2039
+ @apply [margin:0] [padding:9px] [border-top:1px_solid_var(--color-line)] [white-space:pre-wrap];
2040
+ }
2041
+ .detail-actions {
2042
+ @apply [display:flex] [gap:7px] [margin-top:14px];
2043
+ }
2044
+ .detail-actions button {
2045
+ @apply [padding:5px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [color:#61666b] [font-size:11px];
2046
+ }
2047
+ .detail-actions button:disabled {
2048
+ @apply [cursor:not-allowed] [opacity:0.5];
2049
+ }
2050
+
2051
+ /* Legibility pass for wide desktop viewports. */
2052
+ body {
2053
+ @apply [font-size:14px];
2054
+ }
2055
+ .sidebar {
2056
+ @apply [width:280px] [flex-basis:280px] [background:#f6f8fa] [border-right-color:rgba(15,_17,_21,_0.1)];
2057
+ }
2058
+ .brand-row {
2059
+ @apply [height:56px] [flex-basis:56px] [padding:0_16px];
2060
+ }
2061
+ .brand-row strong {
2062
+ @apply [font-size:14px];
2063
+ }
2064
+ .new-session {
2065
+ @apply [height:36px] [font-size:13px];
2066
+ }
2067
+ .sidebar-actions {
2068
+ @apply [gap:9px] [padding:0_12px_12px];
2069
+ }
2070
+ .sidebar-actions input {
2071
+ @apply [height:34px] [font-size:12.5px];
2072
+ }
2073
+ .sidebar-scroll {
2074
+ @apply [padding:0_10px_10px];
2075
+ }
2076
+ .group-label {
2077
+ @apply [padding:8px_9px_5px] [font-size:10.5px];
2078
+ }
2079
+ .session-row {
2080
+ @apply [padding:9px_10px];
2081
+ }
2082
+ .session-copy strong {
2083
+ @apply [font-size:13px];
2084
+ }
2085
+ .session-copy small {
2086
+ @apply [font-size:10.5px];
2087
+ }
2088
+ .sidebar-footer {
2089
+ @apply [padding:8px_12px_10px];
2090
+ }
2091
+ .sidebar-link {
2092
+ @apply [height:34px] [font-size:13px];
2093
+ }
2094
+ .chat-scroll .turn {
2095
+ @apply [width:100%] [max-width:960px];
2096
+ }
2097
+ .main-header {
2098
+ @apply [height:56px] [flex-basis:56px] [padding:0_24px];
2099
+ }
2100
+ .active-heading strong {
2101
+ @apply [font-size:15px];
2102
+ }
2103
+ .active-heading small {
2104
+ @apply [font-size:10.5px];
2105
+ }
2106
+ .view-tab {
2107
+ @apply [padding:5px_12px] [font-size:12.5px];
2108
+ }
2109
+ .session-menu,
2110
+ .details-toggle {
2111
+ @apply [height:30px];
2112
+ }
2113
+ .chat-scroll {
2114
+ @apply [padding:28px_24px_8px];
2115
+ }
2116
+ .new-session-screen {
2117
+ @apply [max-width:760px] [padding:30px_0_36px];
2118
+ }
2119
+ .welcome-heading h2 {
2120
+ @apply [font-size:24px];
2121
+ }
2122
+ .welcome-heading p {
2123
+ @apply [font-size:13.5px];
2124
+ }
2125
+ .workspace-row {
2126
+ @apply [min-height:76px] [padding:15px_16px];
2127
+ }
2128
+ .workspace-row code {
2129
+ @apply [font-size:12.5px];
2130
+ }
2131
+ .workspace-row small {
2132
+ @apply [font-size:10.5px];
2133
+ }
2134
+ .effective-config {
2135
+ @apply [min-height:44px] [padding:10px_13px];
2136
+ }
2137
+ .effective-config span,
2138
+ .effective-config code {
2139
+ @apply [font-size:11px];
2140
+ }
2141
+ .starter-card {
2142
+ @apply [min-height:80px] [padding:13px_14px];
2143
+ }
2144
+ .starter-card strong {
2145
+ @apply [font-size:13px];
2146
+ }
2147
+ .starter-card small {
2148
+ @apply [font-size:11px];
2149
+ }
2150
+ .composer-wrap {
2151
+ @apply [width:100%] [padding:12px_24px_18px];
2152
+ }
2153
+ .context-line,
2154
+ .context-breakdown,
2155
+ .composer,
2156
+ .action-error {
2157
+ @apply [width:100%] [max-width:none];
2158
+ }
2159
+ .context-line {
2160
+ @apply [font-size:11px];
2161
+ }
2162
+ .composer textarea {
2163
+ @apply [min-height:82px] [font-size:14.5px];
2164
+ }
2165
+ .composer-tools select,
2166
+ .tool-chip {
2167
+ @apply [height:30px] [font-size:11.5px];
2168
+ }
2169
+ .send-button {
2170
+ @apply [width:30px] [height:30px];
2171
+ }
2172
+ @media (max-width: 900px) {
2173
+ .sidebar {
2174
+ @apply [width:216px] [flex-basis:216px];
2175
+ }
2176
+ }
2177
+ @media (max-width: 760px) {
2178
+ .sidebar {
2179
+ @apply [width:216px] [flex-basis:216px];
2180
+ }
2181
+ .main-header {
2182
+ @apply [height:48px] [flex-basis:48px] [padding:0_16px];
2183
+ }
2184
+ .chat-scroll,
2185
+ .composer-wrap,
2186
+ .trajectory-summary,
2187
+ .source-filters,
2188
+ .event-head,
2189
+ .event-row,
2190
+ .files-content,
2191
+ .settings-top-tabs,
2192
+ .settings-dialog section > header,
2193
+ .settings-body {
2194
+ @apply [padding-left:16px] [padding-right:16px];
2195
+ }
2196
+ .session-menu-popover {
2197
+ @apply [right:16px];
2198
+ }
2199
+ .subnav,
2200
+ .plugins-toolbar,
2201
+ .plugins-scroll,
2202
+ .marketplace-toolbar,
2203
+ .marketplace-categories,
2204
+ .marketplace-scroll {
2205
+ @apply [padding-left:16px] [padding-right:16px];
2206
+ }
2207
+ .subnav.plugin-detail-subnav {
2208
+ padding-inline: 16px;
2209
+ }
2210
+ .plugin-detail-content {
2211
+ @apply [padding-left:16px] [padding-right:16px];
2212
+ }
2213
+ }
2214
+ @media (max-width: 680px) {
2215
+ .sidebar {
2216
+ @apply [width:54px] [flex-basis:54px];
2217
+ }
2218
+ .runtime-cells,
2219
+ .session-list-toolbar {
2220
+ @apply [display:none];
2221
+ }
2222
+ .main-header {
2223
+ @apply [height:56px] [flex-basis:56px];
2224
+ }
2225
+ .view-tab,
2226
+ .session-menu,
2227
+ .sidebar-link {
2228
+ @apply [min-height:44px];
2229
+ }
2230
+ .session-menu {
2231
+ @apply [width:44px] [flex:none];
2232
+ }
2233
+ .settings-top-tabs {
2234
+ @apply [height:auto] [min-height:56px] [flex-wrap:wrap] [padding-top:6px] [padding-bottom:6px];
2235
+ }
2236
+ .settings-top-tabs .settings-tab,
2237
+ .settings-back {
2238
+ @apply [min-height:44px];
2239
+ }
2240
+ .refresh-warning {
2241
+ @apply [align-items:flex-start] [flex-direction:column] [gap:6px] [padding:9px_16px];
2242
+ }
2243
+ .refresh-warning button {
2244
+ @apply [min-width:44px] [min-height:44px];
2245
+ }
2246
+ .settings-back {
2247
+ @apply [display:inline-flex] [align-items:center];
2248
+ }
2249
+ .filter {
2250
+ @apply [min-height:44px];
2251
+ }
2252
+ .event-head,
2253
+ .event-row {
2254
+ @apply [grid-template-columns:64px_96px_minmax(0,_1fr)];
2255
+ }
2256
+ .event-head > :nth-child(4),
2257
+ .event-head > :nth-child(5),
2258
+ .event-row > :nth-child(4),
2259
+ .event-row > :nth-child(5) {
2260
+ @apply [display:none];
2261
+ }
2262
+ .file-actions {
2263
+ @apply [flex-wrap:wrap];
2264
+ }
2265
+ .file-actions input {
2266
+ @apply [width:100%] [min-width:0] [height:44px] [flex-basis:100%];
2267
+ }
2268
+ .file-actions button,
2269
+ .diff-button {
2270
+ @apply [min-height:44px];
2271
+ }
2272
+ .provider-add-overlay {
2273
+ @apply [padding:16px];
2274
+ }
2275
+ .provider-add-form {
2276
+ @apply [grid-template-columns:minmax(0,_1fr)];
2277
+ }
2278
+ .provider-add-wide,
2279
+ .provider-add-actions {
2280
+ @apply [grid-column:auto];
2281
+ }
2282
+ .provider-add-form input,
2283
+ .provider-add-form select,
2284
+ .provider-add-form button,
2285
+ .provider-add-modal > header button {
2286
+ @apply [min-height:44px];
2287
+ }
2288
+ .provider-add-modal > header button {
2289
+ @apply [width:44px];
2290
+ }
2291
+ .plugin-panel-card .grid-cols-3,
2292
+ .plugin-panel-card .grid-cols-4,
2293
+ .plugin-panel-card .grid-cols-5 {
2294
+ @apply [grid-template-columns:repeat(2,_minmax(0,_1fr))];
2295
+ }
2296
+ .provider-add-actions {
2297
+ @apply [align-items:stretch] [flex-direction:column];
2298
+ }
2299
+ .provider-add-actions button {
2300
+ @apply [width:100%];
2301
+ }
2302
+ .provider-add-actions small {
2303
+ @apply [white-space:normal];
2304
+ }
2305
+ .workspace-chooser,
2306
+ .global-search,
2307
+ .session-dialog-backdrop,
2308
+ .plugin-confirm-backdrop {
2309
+ @apply [padding:16px];
2310
+ }
2311
+ .workspace-chooser-heading button,
2312
+ .session-dialog-header button {
2313
+ @apply [width:44px] [height:44px];
2314
+ }
2315
+ .workspace-pick-directory,
2316
+ .workspace-chooser-row,
2317
+ .session-action,
2318
+ .session-tools-popover button,
2319
+ .session-row-menu-popover button,
2320
+ .session-batch-bar button,
2321
+ .session-pagination button,
2322
+ .session-dialog-field input,
2323
+ .session-dialog-actions button,
2324
+ .plugin-confirm-dialog footer button {
2325
+ @apply [min-height:44px];
2326
+ }
2327
+ .new-session-screen,
2328
+ .workspace-picker,
2329
+ .workspace-row,
2330
+ .workspace-row > span:nth-child(2) {
2331
+ @apply [min-width:0];
2332
+ }
2333
+ .chat-scroll.is-empty {
2334
+ @apply [align-items:flex-start];
2335
+ }
2336
+ .workspace-row code,
2337
+ .workspace-row small {
2338
+ @apply [display:block] [max-width:100%] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
2339
+ }
2340
+ .plugin-detail-content > .grid > * {
2341
+ @apply [min-width:0];
2342
+ }
2343
+ .config-sections {
2344
+ @apply [grid-template-columns:minmax(0,_1fr)];
2345
+ }
2346
+ .config-section:last-child {
2347
+ @apply [grid-column:auto];
2348
+ }
2349
+ .session-dialog-actions,
2350
+ .plugin-confirm-dialog footer {
2351
+ @apply [flex-wrap:wrap];
2352
+ }
2353
+ .plugins-list,
2354
+ .marketplace-grid {
2355
+ @apply [grid-template-columns:minmax(0,_1fr)];
2356
+ }
2357
+ .subnav {
2358
+ @apply [flex-wrap:wrap];
2359
+ }
2360
+ .subnav > span {
2361
+ @apply [display:none];
2362
+ }
2363
+ .subnav:not(.plugin-detail-subnav) > a {
2364
+ @apply [display:inline-flex] [width:100%] [min-height:44px] [align-items:center] [margin-left:0];
2365
+ }
2366
+ .plugin-detail-content {
2367
+ @apply [padding-top:24px] [padding-bottom:24px];
2368
+ }
2369
+ .marketplace-toolbar > * {
2370
+ @apply [min-width:0];
2371
+ }
2372
+ .marketplace-search,
2373
+ .marketplace-filter {
2374
+ @apply [width:100%] [flex-basis:100%];
2375
+ }
2376
+ .marketplace-count {
2377
+ @apply [width:100%] [margin-left:0];
2378
+ }
2379
+ .marketplace-card-footer {
2380
+ @apply [flex-wrap:wrap];
2381
+ }
2382
+ .marketplace-card-footer span {
2383
+ @apply [width:100%];
2384
+ }
2385
+ .marketplace-card-footer span + a {
2386
+ @apply [margin-left:0];
2387
+ }
2388
+ .segmented button,
2389
+ .effective-config a,
2390
+ .context-line button,
2391
+ .composer-tools select,
2392
+ .tool-chip,
2393
+ .send-button {
2394
+ @apply [min-height:44px];
2395
+ }
2396
+ .context-line button {
2397
+ @apply [min-width:44px];
2398
+ }
2399
+ .send-button {
2400
+ @apply [min-width:44px];
2401
+ }
2402
+ .effective-config a {
2403
+ @apply [display:inline-flex] [align-items:center];
2404
+ }
2405
+ .plugin-detail-link,
2406
+ .plugin-detail-subnav > a,
2407
+ .plugin-detail-action,
2408
+ .plugin-uninstall,
2409
+ .plugins-toolbar input,
2410
+ .marketplace-search,
2411
+ .marketplace-filter,
2412
+ .marketplace-category,
2413
+ .marketplace-card-footer a,
2414
+ .marketplace-card-footer button,
2415
+ .marketplace-pagination-button,
2416
+ .provider-add-head > button,
2417
+ .provider-field input,
2418
+ .provider-model-value,
2419
+ .provider-footer button,
2420
+ .provider-models-details summary,
2421
+ .toml-toolbar button,
2422
+ .config-field select,
2423
+ .config-source-actions button,
2424
+ .add-provider {
2425
+ @apply [min-height:44px];
2426
+ }
2427
+ .plugin-uninstall,
2428
+ .marketplace-card-footer button,
2429
+ .toml-toolbar button {
2430
+ @apply [min-width:44px];
2431
+ }
2432
+ .plugin-detail-content aside > a {
2433
+ @apply [display:flex] [min-height:44px] [align-items:center];
2434
+ }
2435
+ .plugin-switch-button {
2436
+ @apply [width:44px] [height:44px] [flex-basis:44px];
2437
+ }
2438
+ .plugin-detail-subnav > a,
2439
+ .provider-models-details summary {
2440
+ @apply [display:inline-flex] [align-items:center];
2441
+ }
2442
+ .composer-tools select {
2443
+ @apply [min-width:0] [flex:1];
2444
+ }
2445
+ .tool-chip,
2446
+ .send-button {
2447
+ @apply [flex:none];
2448
+ }
2449
+ .marketplace-contribute {
2450
+ @apply [flex-wrap:wrap];
2451
+ }
2452
+ .marketplace-contribute > span {
2453
+ @apply [width:100%];
2454
+ }
2455
+ .marketplace-contribute > a {
2456
+ @apply [display:inline-flex] [min-height:44px] [align-items:center] [margin-left:0];
2457
+ }
2458
+ }
2459
+ @media (min-width: 681px) and (max-width: 900px) {
2460
+ .new-session,
2461
+ .sidebar-actions input,
2462
+ .sidebar-link,
2463
+ .session-tool-button,
2464
+ .view-tab,
2465
+ .session-menu,
2466
+ .filter,
2467
+ .refresh-warning button,
2468
+ .settings-top-tabs .settings-tab,
2469
+ .settings-back,
2470
+ .plugin-detail-link,
2471
+ .plugin-detail-subnav > a,
2472
+ .plugin-detail-action,
2473
+ .plugin-uninstall,
2474
+ .plugins-toolbar input,
2475
+ .marketplace-search,
2476
+ .marketplace-filter,
2477
+ .marketplace-category,
2478
+ .marketplace-card-footer a,
2479
+ .marketplace-card-footer button,
2480
+ .marketplace-pagination-button,
2481
+ .provider-add-head > button,
2482
+ .provider-add-form input,
2483
+ .provider-add-form select,
2484
+ .provider-add-form button,
2485
+ .provider-add-modal > header button,
2486
+ .provider-field input,
2487
+ .provider-model-value,
2488
+ .provider-footer button,
2489
+ .provider-models-details summary,
2490
+ .toml-toolbar button,
2491
+ .config-field select,
2492
+ .config-source-actions button,
2493
+ .add-provider,
2494
+ .composer-tools select,
2495
+ .tool-chip,
2496
+ .send-button {
2497
+ @apply [min-height:44px];
2498
+ }
2499
+ .workspace-chooser-heading button,
2500
+ .session-dialog-header button,
2501
+ .provider-add-modal > header button {
2502
+ @apply [width:44px] [min-width:44px] [height:44px];
2503
+ }
2504
+ .workspace-pick-directory,
2505
+ .workspace-chooser-row,
2506
+ .session-action,
2507
+ .session-tools-popover button,
2508
+ .session-row-menu-popover button,
2509
+ .session-batch-bar button,
2510
+ .session-pagination button,
2511
+ .session-dialog-field input,
2512
+ .session-dialog-actions button,
2513
+ .plugin-confirm-dialog footer button {
2514
+ @apply [min-height:44px];
2515
+ }
2516
+ .session-tool-button.icon,
2517
+ .session-tool-button,
2518
+ .session-menu,
2519
+ .plugin-switch-button,
2520
+ .plugin-uninstall,
2521
+ .marketplace-card-footer button,
2522
+ .toml-toolbar button,
2523
+ .send-button {
2524
+ @apply [width:44px] [min-width:44px] [flex-basis:44px];
2525
+ }
2526
+ .segmented button,
2527
+ .subnav > a,
2528
+ .effective-config a,
2529
+ .diff-button,
2530
+ .file-actions input,
2531
+ .file-actions button,
2532
+ .plugin-detail-content aside > a,
2533
+ .marketplace-contribute > a {
2534
+ @apply [min-height:44px];
2535
+ }
2536
+ .settings-back,
2537
+ .plugin-detail-link,
2538
+ .plugin-detail-subnav > a,
2539
+ .subnav > a,
2540
+ .effective-config a,
2541
+ .diff-button,
2542
+ .plugin-detail-content aside > a,
2543
+ .marketplace-card-footer a,
2544
+ .provider-models-details summary,
2545
+ .marketplace-contribute > a {
2546
+ @apply [display:inline-flex] [align-items:center];
2547
+ }
2548
+ .file-actions input,
2549
+ .file-actions button {
2550
+ @apply [height:44px];
2551
+ }
2552
+ .settings-top-tabs {
2553
+ @apply [height:auto] [min-height:56px];
2554
+ }
2555
+ .context-line button {
2556
+ @apply [min-width:44px] [min-height:44px];
2557
+ }
2558
+ .plugin-switch-button {
2559
+ @apply [height:44px];
2560
+ }
2561
+ .session-row-more {
2562
+ @apply [right:2px] [width:44px] [height:44px] [opacity:1] [pointer-events:auto];
2563
+ }
2564
+ .session-row {
2565
+ @apply [padding-right:50px];
2566
+ }
2567
+ .session-row-wrap > input {
2568
+ @apply [width:24px] [height:24px] [flex:none] [margin-left:0];
2569
+ }
2570
+ }
2571
+ @media (max-width: 420px) {
2572
+ .plugin-heading {
2573
+ @apply [align-items:stretch] [flex-direction:column] [gap:8px];
2574
+ }
2575
+ .plugin-actions {
2576
+ @apply [margin-left:0] [justify-content:flex-start];
2577
+ }
2578
+ }
2579
+ @media (max-width: 360px) {
2580
+ .main-header {
2581
+ @apply [gap:4px] [padding-left:8px] [padding-right:8px];
2582
+ }
2583
+ .view-tabs {
2584
+ @apply [flex:none];
2585
+ }
2586
+ .view-tab {
2587
+ @apply [min-width:44px] [padding-left:7px] [padding-right:7px];
2588
+ }
2589
+ .active-heading {
2590
+ @apply [min-width:0];
2591
+ }
2592
+ .active-heading strong {
2593
+ @apply [font-size:14px];
2594
+ }
2595
+ .composer-tools {
2596
+ @apply [display:grid] [grid-template-columns:minmax(0,_1fr)_minmax(0,_1fr)_44px];
2597
+ }
2598
+ .composer-tools select {
2599
+ @apply [width:100%] [grid-column:1/-1];
2600
+ }
2601
+ .composer-tools .tool-chip {
2602
+ @apply [min-width:0] [width:100%];
2603
+ }
2604
+ }