@pi-harness/pi-harness 0.1.36 → 0.1.38

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 (234) hide show
  1. package/apps/web/dist/assets/de-DKAiZCiT.js +1 -0
  2. package/apps/web/dist/assets/en-C4OBIACD.js +1 -0
  3. package/apps/web/dist/assets/es-Bj2z7sXT.js +1 -0
  4. package/apps/web/dist/assets/fr-C2Iqg8aA.js +1 -0
  5. package/apps/web/dist/assets/index-BgKO-uFl.js +27 -0
  6. package/apps/web/dist/assets/index-CDsjRtEk.css +2 -0
  7. package/apps/web/dist/assets/ja-QDWzP_6S.js +1 -0
  8. package/apps/web/dist/assets/ko-CG9vWUNu.js +1 -0
  9. package/apps/web/dist/assets/pt-BR-BYKT3h_9.js +1 -0
  10. package/apps/web/dist/assets/ru-myrAE8FL.js +1 -0
  11. package/apps/web/dist/assets/zh-TW--gZYR1R8.js +1 -0
  12. package/apps/web/dist/index.html +2 -2
  13. package/apps/web/package.json +1 -1
  14. package/apps/web/src/style.css +252 -168
  15. package/apps/web/src/tailwind.css +6 -1
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  79. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  80. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  81. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  82. package/node_modules/@pi-harness/api-gateway/package.json +1 -1
  83. package/node_modules/@pi-harness/cli/package.json +1 -1
  84. package/node_modules/@pi-harness/host-webserver/package.json +1 -1
  85. package/node_modules/@pi-harness/web-app/package.json +1 -1
  86. package/package.json +6 -6
  87. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  88. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  89. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  90. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  91. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  92. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  93. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  94. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  95. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  96. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  97. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  98. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  99. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  100. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  101. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  102. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  103. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  104. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  105. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  106. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  107. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  108. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  109. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  110. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  111. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  112. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  113. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  114. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  115. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  116. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  117. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  118. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  119. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  120. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  121. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  122. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  123. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  124. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  125. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  126. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  127. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  128. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  129. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  130. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  131. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  132. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  133. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  134. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  135. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  136. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  137. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  138. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  139. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  140. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  141. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  142. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  143. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  144. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  145. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  146. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  147. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  148. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  149. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  150. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  151. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  152. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  153. package/packages/api-gateway/package.json +1 -1
  154. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +1 -1
  155. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +1 -1
  156. package/packages/api-gateway/src/marketplace-entries/official/archify.json +1 -1
  157. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +1 -1
  158. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +1 -1
  159. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +1 -1
  160. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +1 -1
  161. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +1 -1
  162. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +1 -1
  163. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +1 -1
  164. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +1 -1
  165. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +1 -1
  166. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +1 -1
  167. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +1 -1
  168. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +1 -1
  169. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +1 -1
  170. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +1 -1
  171. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +1 -1
  172. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +1 -1
  173. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +1 -1
  174. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +1 -1
  175. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +1 -1
  176. package/packages/api-gateway/src/marketplace-entries/official/memory.json +1 -1
  177. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +1 -1
  178. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +1 -1
  179. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +1 -1
  180. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +1 -1
  181. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +1 -1
  182. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +1 -1
  183. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +1 -1
  184. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +1 -1
  185. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +1 -1
  186. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +1 -1
  187. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +1 -1
  188. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +1 -1
  189. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +1 -1
  190. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +1 -1
  191. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +1 -1
  192. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +1 -1
  193. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +1 -1
  194. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +1 -1
  195. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +1 -1
  196. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +1 -1
  197. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +1 -1
  198. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +1 -1
  199. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +1 -1
  200. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +1 -1
  201. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +1 -1
  202. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +1 -1
  203. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +1 -1
  204. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +1 -1
  205. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +1 -1
  206. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +1 -1
  207. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +1 -1
  208. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +1 -1
  209. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +1 -1
  210. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +1 -1
  211. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +1 -1
  212. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +1 -1
  213. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +1 -1
  214. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +1 -1
  215. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +1 -1
  216. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +1 -1
  217. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +1 -1
  218. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +1 -1
  219. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +1 -1
  220. package/packages/api-gateway/test/index.test.ts +108 -92
  221. package/packages/bundle-web-app/package.json +1 -1
  222. package/packages/cli/package.json +1 -1
  223. package/packages/host-webserver/package.json +1 -1
  224. package/apps/web/dist/assets/de-Dsdw9H3G.js +0 -1
  225. package/apps/web/dist/assets/en-hSS3nI9l.js +0 -1
  226. package/apps/web/dist/assets/es-DGOg-gMW.js +0 -1
  227. package/apps/web/dist/assets/fr-CEeL4CfB.js +0 -1
  228. package/apps/web/dist/assets/index-BJWp1dbE.js +0 -26
  229. package/apps/web/dist/assets/index-RFvnLMy8.css +0 -2
  230. package/apps/web/dist/assets/ja-CUUloIMH.js +0 -1
  231. package/apps/web/dist/assets/ko-CWQmbUzE.js +0 -1
  232. package/apps/web/dist/assets/pt-BR-BEK3BGKg.js +0 -1
  233. package/apps/web/dist/assets/ru-B_OIQphr.js +0 -1
  234. package/apps/web/dist/assets/zh-TW-25hUkQTw.js +0 -1
@@ -12,7 +12,7 @@ body,
12
12
  @apply [margin:0] [width:100%] [height:100%] [overflow:hidden];
13
13
  }
14
14
  body {
15
- @apply [background:#fff] [color:var(--color-ink)] [font:13px/1.5_var(--font-sans)] [-webkit-font-smoothing:antialiased];
15
+ @apply [background:var(--color-surface)] [color:var(--color-ink)] [font:13px/1.5_var(--font-sans)] [-webkit-font-smoothing:antialiased];
16
16
  }
17
17
  button,
18
18
  input,
@@ -50,7 +50,7 @@ button:disabled {
50
50
  @apply [display:none!important];
51
51
  }
52
52
  .app-frame {
53
- @apply [display:flex] [width:100%] [height:100%] [overflow:hidden] [background:#fff];
53
+ @apply [display:flex] [width:100%] [height:100%] [overflow:hidden] [background:var(--color-surface)] [color:var(--color-ink)];
54
54
  }
55
55
  .sidebar {
56
56
  @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)];
@@ -62,7 +62,7 @@ button:disabled {
62
62
  @apply [font-size:13px] [font-weight:600] [letter-spacing:-0.1px];
63
63
  }
64
64
  .pi-mark {
65
- @apply [display:grid] [place-items:center] [width:22px] [height:22px] [flex:none] [border-radius:6px] [background:var(--color-ink)] [overflow:hidden];
65
+ @apply [display:grid] [place-items:center] [width:22px] [height:22px] [flex:none] [border-radius:6px] [background:#0f1115] [overflow:hidden];
66
66
  }
67
67
  .pi-mark.large {
68
68
  @apply [width:38px] [height:38px] [border-radius:11px];
@@ -77,17 +77,17 @@ button:disabled {
77
77
  @apply [position:relative] [display:flex] [flex-direction:column] [gap:8px] [padding:0_10px_10px];
78
78
  }
79
79
  .new-session {
80
- @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];
80
+ @apply [height:32px] [display:flex] [align-items:center] [justify-content:center] [gap:6px] [border-radius:8px] [background:var(--color-ink)] [color:var(--color-inverse)] [font-size:12.5px] [font-weight:500];
81
81
  }
82
82
  .new-session:hover,
83
83
  .send-button:hover {
84
- @apply [background:#43454a];
84
+ @apply [background:var(--color-blue)];
85
85
  }
86
86
  .workspace-chooser {
87
87
  @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)];
88
88
  }
89
89
  .workspace-chooser-dialog {
90
- @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)];
90
+ @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:var(--color-surface)] [box-shadow:0_28px_80px_rgba(15,_23,_42,_0.26)];
91
91
  }
92
92
  .workspace-chooser-heading {
93
93
  @apply [display:flex] [align-items:center] [justify-content:space-between] [padding:3px_4px_4px_6px];
@@ -102,7 +102,7 @@ button:disabled {
102
102
  @apply [padding:0_6px_8px] [color:var(--color-faint)] [font-size:10px];
103
103
  }
104
104
  .workspace-pick-directory {
105
- @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];
105
+ @apply [display:flex] [align-items:center] [justify-content:space-between] [padding:9px_8px] [border:1px_solid_var(--color-line)] [border-radius:8px] [background:var(--color-surface)] [text-align:left];
106
106
  }
107
107
  .workspace-pick-directory:hover {
108
108
  @apply [border-color:var(--color-blue)] [background:var(--color-blue-soft)];
@@ -124,7 +124,7 @@ button:disabled {
124
124
  @apply [padding:20px_6px] [color:var(--color-faint)] [font-size:11px];
125
125
  }
126
126
  .workspace-chooser-error {
127
- @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];
127
+ @apply [margin:0_6px_7px] [padding:8px_9px] [border:1px_solid_rgba(185,_28,_28,_0.18)] [border-radius:7px] [background:var(--color-red-soft)] [color:var(--color-red)] [font-size:10.5px] [line-height:1.45];
128
128
  }
129
129
  .workspace-chooser-row {
130
130
  @apply [display:flex] [min-height:48px] [align-items:center] [gap:8px] [padding:7px_6px] [border-radius:7px] [text-align:left];
@@ -149,7 +149,7 @@ button:disabled {
149
149
  @apply [flex:none] [color:var(--color-faint)] [font:9px_var(--font-mono)];
150
150
  }
151
151
  .sidebar-actions input {
152
- @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];
152
+ @apply [width:100%] [height:30px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:8px] [background:var(--color-surface)] [padding:0_10px] [font-size:12px];
153
153
  }
154
154
  .sidebar-actions input:focus-visible {
155
155
  @apply [border-color:rgba(65,_118,_230,_0.55)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.12)];
@@ -192,7 +192,7 @@ button:disabled {
192
192
  }
193
193
  .session-tool-button:hover,
194
194
  .session-tool-button.active {
195
- @apply [background:#e9eef8] [color:var(--color-blue)];
195
+ @apply [background:var(--color-blue-soft)] [color:var(--color-blue)];
196
196
  }
197
197
  .session-tool-button.icon {
198
198
  @apply [width:26px] [padding:0] [font-size:15px];
@@ -201,7 +201,7 @@ button:disabled {
201
201
  @apply [position:relative];
202
202
  }
203
203
  .session-tools-popover {
204
- @apply [position:fixed] [z-index:70] [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)];
204
+ @apply [position:fixed] [z-index:70] [display:flex] [width:150px] [flex-direction:column] [padding:4px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:9px] [background:var(--color-surface)] [box-shadow:0_12px_30px_rgba(15,_23,_42,_0.16)];
205
205
  }
206
206
  .session-tools-popover button {
207
207
  @apply [padding:7px_8px] [border-radius:6px] [text-align:left] [font-size:11px];
@@ -213,7 +213,7 @@ button:disabled {
213
213
  @apply [position:relative];
214
214
  }
215
215
  .session-row-more {
216
- @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];
216
+ @apply [position:absolute] [right:6px] [display:block] [width:24px] [height:24px] [opacity:0] [pointer-events:none] [border-radius:6px] [background:var(--color-surface)] [color:var(--color-muted)] [font-size:14px];
217
217
  }
218
218
  .session-row-wrap:hover .session-row-more,
219
219
  .session-row-wrap:focus-within .session-row-more,
@@ -221,10 +221,10 @@ button:disabled {
221
221
  @apply [opacity:1] [pointer-events:auto];
222
222
  }
223
223
  .session-row-more:hover {
224
- @apply [background:#e9eef8] [color:var(--color-blue)];
224
+ @apply [background:var(--color-blue-soft)] [color:var(--color-blue)];
225
225
  }
226
226
  .session-row-menu-popover {
227
- @apply [position:fixed] [z-index:70] [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)];
227
+ @apply [position:fixed] [z-index:70] [display:flex] [width:142px] [flex-direction:column] [padding:4px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:8px] [background:var(--color-surface)] [box-shadow:0_10px_24px_rgba(15,_23,_42,_0.18)];
228
228
  }
229
229
  .session-row-menu-popover button {
230
230
  @apply [padding:6px_8px] [border-radius:5px] [text-align:left] [font-size:11px];
@@ -245,7 +245,7 @@ button:disabled {
245
245
  @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)];
246
246
  }
247
247
  .session-dialog {
248
- @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)];
248
+ @apply [width:100%] [max-width:380px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:var(--color-surface)] [box-shadow:0_24px_70px_rgba(15,_23,_42,_0.22)];
249
249
  }
250
250
  .session-dialog-header {
251
251
  @apply [display:flex] [align-items:flex-start] [justify-content:space-between] [gap:18px] [padding:16px_17px_10px];
@@ -285,10 +285,10 @@ button:disabled {
285
285
  @apply [height:30px] [padding:0_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [font-size:11px];
286
286
  }
287
287
  .session-dialog-actions button.primary {
288
- @apply [border-color:var(--color-ink)] [background:var(--color-ink)] [color:#fff];
288
+ @apply [border-color:var(--color-ink)] [background:var(--color-ink)] [color:var(--color-inverse)];
289
289
  }
290
290
  .session-dialog-actions button.danger {
291
- @apply [border-color:rgba(185,_28,_28,_0.2)] [background:#fff5f5] [color:var(--color-red)];
291
+ @apply [border-color:rgba(185,_28,_28,_0.2)] [background:var(--color-red-soft)] [color:var(--color-red)];
292
292
  }
293
293
  .config-editor {
294
294
  @apply [display:flex] [min-height:0] [flex-direction:column];
@@ -309,7 +309,7 @@ button:disabled {
309
309
  @apply [color:var(--color-red)];
310
310
  }
311
311
  .config-source {
312
- @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];
312
+ @apply [display:block] [width:100%] [min-height:420px] [resize:vertical] [margin:0] [overflow:auto] [border:1px_solid_var(--color-line)] [border-radius:10px] [background:var(--color-soft)] [padding:16px] [color:var(--color-ink)] [font:11px/1.7_var(--font-mono)] [white-space:pre];
313
313
  }
314
314
  .config-source:focus {
315
315
  @apply [border-color:var(--color-blue)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.12)];
@@ -324,13 +324,13 @@ button:disabled {
324
324
  @apply [color:var(--color-muted)] [font-size:10.5px];
325
325
  }
326
326
  .config-source-actions button {
327
- @apply [flex:none] [height:30px] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px];
327
+ @apply [flex:none] [height:30px] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:var(--color-inverse)] [font-size:11px];
328
328
  }
329
329
  .config-sections {
330
330
  @apply [display:grid] [grid-template-columns:1fr_1fr] [gap:12px];
331
331
  }
332
332
  .config-section {
333
- @apply [padding:13px] [border:1px_solid_var(--color-line)] [border-radius:10px] [background:#fff];
333
+ @apply [padding:13px] [border:1px_solid_var(--color-line)] [border-radius:10px] [background:var(--color-surface)];
334
334
  }
335
335
  .config-section:last-child {
336
336
  @apply [grid-column:1/-1];
@@ -352,7 +352,7 @@ button:disabled {
352
352
  @apply [border-bottom:0];
353
353
  }
354
354
  .config-field select {
355
- @apply [max-width:65%] [border:1px_solid_var(--color-line)] [border-radius:6px] [background:#fff] [padding:5px_7px] [font-size:11px];
355
+ @apply [max-width:65%] [border:1px_solid_var(--color-line)] [border-radius:6px] [background:var(--color-surface)] [padding:5px_7px] [font-size:11px];
356
356
  }
357
357
  .config-toggle {
358
358
  @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)];
@@ -375,7 +375,7 @@ button:disabled {
375
375
  }
376
376
  .session-batch-bar button,
377
377
  .session-pagination button {
378
- @apply [border:1px_solid_var(--color-line)] [border-radius:6px] [background:#fff] [padding:4px_8px] [font-size:11px];
378
+ @apply [border:1px_solid_var(--color-line)] [border-radius:6px] [background:var(--color-surface)] [padding:4px_8px] [font-size:11px];
379
379
  }
380
380
  .session-batch-bar button.danger {
381
381
  @apply [color:var(--color-red)];
@@ -384,13 +384,13 @@ button:disabled {
384
384
  @apply [justify-content:space-between];
385
385
  }
386
386
  .session-row:hover {
387
- @apply [background:#f1f3f5];
387
+ @apply [background:var(--color-soft)];
388
388
  }
389
389
  .session-row.active {
390
- @apply [background:#ebeef2];
390
+ @apply [background:var(--color-line)];
391
391
  }
392
392
  .session-dot {
393
- @apply [width:6px] [height:6px] [flex:none] [border-radius:50%] [background:#cfd3d6];
393
+ @apply [width:6px] [height:6px] [flex:none] [border-radius:50%] [background:var(--color-blue-soft)];
394
394
  }
395
395
  .session-dot.running {
396
396
  @apply [background:var(--color-green)] [animation:var(--animate-pulse-soft)];
@@ -423,7 +423,7 @@ button:disabled {
423
423
  @apply [font-weight:400];
424
424
  }
425
425
  .runtime-cells strong {
426
- @apply [color:#61666b] [font-weight:400];
426
+ @apply [color:var(--color-muted)] [font-weight:400];
427
427
  }
428
428
  .sidebar-footer {
429
429
  @apply [display:flex] [flex-direction:column] [gap:2px] [padding:6px_10px_8px] [border-top:1px_solid_rgba(0,_0,_0,_0.06)];
@@ -436,13 +436,13 @@ button:disabled {
436
436
  @apply [display:none];
437
437
  }
438
438
  .sidebar-link:hover {
439
- @apply [background:#f1f3f5];
439
+ @apply [background:var(--color-soft)];
440
440
  }
441
441
  .sidebar-link span:nth-child(2) {
442
442
  @apply [flex:1];
443
443
  }
444
444
  .sidebar-link b {
445
- @apply [padding:1px_6px] [border-radius:20px] [background:#ebeef2] [color:#61666b] [font:10px_var(--font-mono)] [font-weight:400];
445
+ @apply [padding:1px_6px] [border-radius:20px] [background:var(--color-line)] [color:var(--color-muted)] [font:10px_var(--font-mono)] [font-weight:400];
446
446
  }
447
447
  .link-glyph {
448
448
  @apply [color:var(--color-blue)] [font:11.5px_var(--font-mono)];
@@ -454,16 +454,16 @@ button:disabled {
454
454
  @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)];
455
455
  }
456
456
  .refresh-warning {
457
- @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];
457
+ @apply [display:flex] [min-height:42px] [flex:none] [align-items:center] [gap:12px] [padding:8px_24px] [border-bottom:1px_solid_#f3d7aa] [background:var(--color-amber-soft)] [color:var(--color-amber)] [font-size:11.5px];
458
458
  }
459
459
  .refresh-warning span {
460
460
  @apply [min-width:0] [flex:1];
461
461
  }
462
462
  .refresh-warning strong {
463
- @apply [margin-right:6px] [color:#8a4b12];
463
+ @apply [margin-right:6px] [color:var(--color-amber)];
464
464
  }
465
465
  .refresh-warning button {
466
- @apply [min-height:30px] [flex:none] [border:1px_solid_#e8c58c] [border-radius:7px] [background:#fff] [padding:4px_10px] [color:#8a4b12];
466
+ @apply [min-height:30px] [flex:none] [border:1px_solid_#e8c58c] [border-radius:7px] [background:var(--color-surface)] [padding:4px_10px] [color:var(--color-amber)];
467
467
  }
468
468
  .initial-loading {
469
469
  @apply [display:flex] [flex:1] [align-items:center] [justify-content:center] [gap:9px] [color:var(--color-muted)] [font:11.5px_var(--font-mono)];
@@ -493,7 +493,7 @@ button:disabled {
493
493
  @apply [flex:1];
494
494
  }
495
495
  .run-indicator {
496
- @apply [display:flex] [align-items:center] [gap:6px] [flex:none] [color:#61666b] [font:10.5px_var(--font-mono)];
496
+ @apply [display:flex] [align-items:center] [gap:6px] [flex:none] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
497
497
  }
498
498
  .run-indicator .run-dot {
499
499
  @apply [width:6px] [height:6px] [border-radius:50%] [background:var(--color-green)] [animation:var(--animate-pulse-soft)];
@@ -508,20 +508,20 @@ button:disabled {
508
508
  @apply [background:var(--color-blue)];
509
509
  }
510
510
  .view-tabs {
511
- @apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:#f1f3f5];
511
+ @apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:var(--color-soft)];
512
512
  }
513
513
  .view-tab {
514
514
  @apply [padding:4px_11px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px] [white-space:nowrap];
515
515
  }
516
516
  .view-tab.active {
517
- @apply [background:#fff] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
517
+ @apply [background:var(--color-surface)] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
518
518
  }
519
519
  .header-divider {
520
520
  @apply [width:1px] [height:18px] [flex:none] [background:rgba(0,_0,_0,_0.08)];
521
521
  }
522
522
  .session-menu,
523
523
  .details-toggle {
524
- @apply [height:28px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:8px] [background:#fff] [color:#61666b];
524
+ @apply [height:28px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:8px] [background:var(--color-surface)] [color:var(--color-muted)];
525
525
  }
526
526
  .session-menu {
527
527
  @apply [position:relative] [width:28px] [font-size:15px];
@@ -534,7 +534,7 @@ button:disabled {
534
534
  }
535
535
  .session-menu:hover,
536
536
  .details-toggle:hover {
537
- @apply [background:#f1f3f5];
537
+ @apply [background:var(--color-soft)];
538
538
  }
539
539
  .view-host {
540
540
  @apply [display:flex] [flex:1] [min-height:0] [flex-direction:column];
@@ -599,10 +599,10 @@ button:disabled {
599
599
  @apply [padding-left:3px];
600
600
  }
601
601
  .turn-markdown blockquote {
602
- @apply [margin:0_0_10px] [padding-left:12px] [border-left:2px_solid_#d9e2f4] [color:#61666b];
602
+ @apply [margin:0_0_10px] [padding-left:12px] [border-left:2px_solid_#d9e2f4] [color:var(--color-muted)];
603
603
  }
604
604
  .turn-markdown code {
605
- @apply [border-radius:4px] [background:#f1f3f5] [padding:1px_4px] [font:12px_var(--font-mono)];
605
+ @apply [border-radius:4px] [background:var(--color-soft)] [padding:1px_4px] [font:12px_var(--font-mono)];
606
606
  }
607
607
  .turn-markdown .markdown-code {
608
608
  @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];
@@ -620,7 +620,7 @@ button:disabled {
620
620
  @apply [color:var(--color-faint)] [font-size:9px];
621
621
  }
622
622
  .reasoning-body {
623
- @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];
623
+ @apply [display:none] [margin:6px_0_0] [padding-left:11px] [border-left:2px_solid_var(--color-line)] [color:var(--color-muted)] [font-size:12.5px] [line-height:1.75] [white-space:pre-wrap];
624
624
  }
625
625
  .reasoning[open] .reasoning-body {
626
626
  @apply [display:block];
@@ -632,10 +632,10 @@ button:disabled {
632
632
  @apply [margin-top:6px];
633
633
  }
634
634
  .turn-tool {
635
- @apply [margin:0_0_10px] [overflow:hidden] [border:1px_solid_var(--color-line)] [border-radius:8px] [background:#fbfcfd];
635
+ @apply [margin:0_0_10px] [overflow:hidden] [border:1px_solid_var(--color-line)] [border-radius:8px] [background:var(--color-surface)];
636
636
  }
637
637
  .turn-tool.failed {
638
- @apply [border-color:rgba(236,_19,_19,_0.28)] [background:#fdf6f6];
638
+ @apply [border-color:rgba(236,_19,_19,_0.28)] [background:var(--color-red-soft)];
639
639
  }
640
640
  .turn-tool-head {
641
641
  @apply [display:flex] [cursor:pointer] [align-items:baseline] [gap:8px] [padding:7px_10px] [color:var(--color-muted)] [font-size:11.5px];
@@ -659,26 +659,110 @@ button:disabled {
659
659
  @apply [position:absolute] [width:1px] [height:1px] [padding:0] [margin:-1px] [overflow:hidden] [clip:rect(0,0,0,0)] [white-space:nowrap] [border:0];
660
660
  }
661
661
  .streaming-placeholder {
662
- @apply [color:var(--color-muted)] [font-size:12px];
662
+ @apply [display:flex] [align-items:center] [gap:8px] [color:var(--color-muted)] [font-size:12px];
663
+ }
664
+ @keyframes spin-smooth {
665
+ to {
666
+ transform: rotate(360deg);
667
+ }
668
+ }
669
+ @keyframes thinking-dots {
670
+ 0%,
671
+ 20% {
672
+ content: ".";
673
+ }
674
+ 40% {
675
+ content: "..";
676
+ }
677
+ 60%,
678
+ 100% {
679
+ content: "...";
680
+ }
681
+ }
682
+ .streaming-spinner {
683
+ display: inline-block;
684
+ width: 12px;
685
+ height: 12px;
686
+ border: 1.5px solid var(--color-line);
687
+ border-top-color: var(--color-muted);
688
+ border-radius: 50%;
689
+ animation: spin-smooth 0.8s linear infinite;
690
+ }
691
+ .reasoning-head::after {
692
+ content: "...";
693
+ display: inline-block;
694
+ animation: thinking-dots 1.5s steps(1, end) infinite;
695
+ min-width: 1.5em;
696
+ }
697
+ .streaming-elapsed {
698
+ display: inline-flex;
699
+ align-items: center;
700
+ margin-left: 8px;
701
+ padding: 1px 6px;
702
+ border-radius: 4px;
703
+ background: var(--color-soft);
704
+ color: var(--color-faint);
705
+ font-size: 10px;
706
+ font-variant-numeric: tabular-nums;
707
+ }
708
+ .workspace-path-input-row {
709
+ display: flex;
710
+ gap: 6px;
711
+ margin: 8px 0;
712
+ }
713
+ .workspace-path-input {
714
+ flex: 1;
715
+ padding: 6px 10px;
716
+ border: 1px solid var(--color-line);
717
+ border-radius: 6px;
718
+ font-size: 12px;
719
+ font-family: var(--font-mono);
720
+ background: #fff;
721
+ color: var(--color-ink);
722
+ outline: none;
723
+ }
724
+ .workspace-path-input:focus {
725
+ border-color: var(--color-blue);
726
+ box-shadow: 0 0 0 2px rgba(53, 101, 197, 0.15);
727
+ }
728
+ .workspace-path-input::placeholder {
729
+ color: var(--color-faint);
730
+ }
731
+ .workspace-path-go {
732
+ flex: none;
733
+ padding: 6px 14px;
734
+ border: 1px solid var(--color-line);
735
+ border-radius: 6px;
736
+ background: var(--color-soft);
737
+ color: var(--color-ink);
738
+ font-size: 12px;
739
+ cursor: pointer;
740
+ }
741
+ .workspace-path-go:hover {
742
+ background: #eaeef2;
743
+ }
744
+ .workspace-path-go:disabled {
745
+ opacity: 0.4;
746
+ cursor: not-allowed;
663
747
  }
664
748
  .plugin-event {
665
- @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)];
749
+ @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:var(--color-blue-soft)] [color:var(--color-blue)] [font:11px_var(--font-mono)];
666
750
  }
667
751
  .plugin-event > span:nth-last-child(1) {
668
- @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:#61666b] [font:12px_var(--font-sans)];
752
+ @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:var(--color-muted)] [font:12px_var(--font-sans)];
669
753
  }
670
754
  .plugin-hook {
671
- @apply [padding:1px_6px] [border-radius:4px] [background:#e4edfd] [color:#687381!important] [font:10px_var(--font-mono)!important];
755
+ @apply [padding:1px_6px] [border-radius:4px] [background:var(--color-blue-soft)] [color:var(--color-faint)!important] [font:10px_var(--font-mono)!important];
672
756
  }
673
757
  .tool-card,
674
758
  .approval-card,
675
759
  .subagent-card,
676
760
  .todo-card {
677
- @apply [border:1px_solid_var(--color-line)] [border-radius:10px] [background:#fff] [overflow:hidden];
761
+ @apply [border:1px_solid_var(--color-line)] [border-radius:10px] [background:var(--color-surface)] [overflow:hidden];
678
762
  }
679
763
  .tool-head,
680
764
  .subagent-head {
681
- @apply [display:flex] [align-items:center] [gap:9px] [width:100%] [min-height:34px] [padding:7px_11px] [text-align:left] [background:#fff];
765
+ @apply [display:flex] [align-items:center] [gap:9px] [width:100%] [min-height:34px] [padding:7px_11px] [text-align:left] [background:var(--color-surface)];
682
766
  }
683
767
  .tool-head {
684
768
  @apply [font:11.5px_var(--font-mono)];
@@ -703,16 +787,16 @@ button:disabled {
703
787
  .tool-output,
704
788
  .diff-preview,
705
789
  .toml {
706
- @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)];
790
+ @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:var(--color-muted)] [font:11.5px/1.7_var(--font-mono)];
707
791
  }
708
792
  .diff-line {
709
793
  @apply [display:flex] [gap:10px] [padding:0_8px] [font:11.5px/1.7_var(--font-mono)];
710
794
  }
711
795
  .diff-line.added {
712
- @apply [background:#e6faed];
796
+ @apply [background:var(--color-green-soft)];
713
797
  }
714
798
  .diff-line.removed {
715
- @apply [background:#fff0f0];
799
+ @apply [background:var(--color-red-soft)];
716
800
  }
717
801
  .diff-no {
718
802
  @apply [width:30px] [color:var(--color-faint)] [text-align:right];
@@ -724,7 +808,7 @@ button:disabled {
724
808
  @apply [color:var(--color-red)];
725
809
  }
726
810
  .approval-card {
727
- @apply [padding:11px_13px] [background:#fffaf0] [border-color:rgba(245,_158,_11,_0.4)];
811
+ @apply [padding:11px_13px] [background:var(--color-amber-soft)] [border-color:rgba(245,_158,_11,_0.4)];
728
812
  }
729
813
  .approval-card pre {
730
814
  @apply [padding:8px_0] [background:transparent] [border:0];
@@ -733,10 +817,10 @@ button:disabled {
733
817
  @apply [display:flex] [gap:7px] [margin-top:4px];
734
818
  }
735
819
  .approval-actions button {
736
- @apply [padding:5px_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11.5px];
820
+ @apply [padding:5px_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [font-size:11.5px];
737
821
  }
738
822
  .approval-actions .primary {
739
- @apply [background:var(--color-ink)] [color:#fff];
823
+ @apply [background:var(--color-ink)] [color:var(--color-inverse)];
740
824
  }
741
825
  .approval-actions .danger {
742
826
  @apply [color:var(--color-red)];
@@ -745,10 +829,10 @@ button:disabled {
745
829
  @apply [font-size:12.5px];
746
830
  }
747
831
  .subagent-glyph {
748
- @apply [color:#3565c5] [font:11px_var(--font-mono)];
832
+ @apply [color:var(--color-blue)] [font:11px_var(--font-mono)];
749
833
  }
750
834
  .subagent-preset {
751
- @apply [padding:1px_6px] [border-radius:4px] [background:#e4edfd] [color:#687381] [font:10.5px_var(--font-mono)];
835
+ @apply [padding:1px_6px] [border-radius:4px] [background:var(--color-blue-soft)] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
752
836
  }
753
837
  .subagent-duration {
754
838
  @apply [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
@@ -760,13 +844,13 @@ button:disabled {
760
844
  @apply [display:block] [padding:6px_0_4px] [color:var(--color-faint)] [font:10px_var(--font-mono)];
761
845
  }
762
846
  .subagent-step {
763
- @apply [display:flex] [align-items:center] [gap:8px] [padding:4px_0] [border-left:2px_solid_#e4edfd] [padding-left:10px];
847
+ @apply [display:flex] [align-items:center] [gap:8px] [padding:4px_0] [border-left:2px_solid_var(--color-blue-soft)] [padding-left:10px];
764
848
  }
765
849
  .subagent-step code {
766
850
  @apply [width:42px] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
767
851
  }
768
852
  .subagent-step span {
769
- @apply [flex:1] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:#61666b] [font:11px_var(--font-mono)];
853
+ @apply [flex:1] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [color:var(--color-muted)] [font:11px_var(--font-mono)];
770
854
  }
771
855
  .subagent-step small {
772
856
  @apply [color:var(--color-faint)] [font:10px_var(--font-mono)];
@@ -808,7 +892,7 @@ button:disabled {
808
892
  @apply [color:var(--color-muted)] [font-weight:400];
809
893
  }
810
894
  .context-bar {
811
- @apply [display:flex] [flex:1] [height:4px] [overflow:hidden] [border-radius:3px] [background:#ebeef2];
895
+ @apply [display:flex] [flex:1] [height:4px] [overflow:hidden] [border-radius:3px] [background:var(--color-line)];
812
896
  }
813
897
  .context-bar i {
814
898
  @apply [height:100%];
@@ -817,7 +901,7 @@ button:disabled {
817
901
  @apply [height:8px];
818
902
  }
819
903
  .composer {
820
- @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] [transition:border-color_120ms_ease,box-shadow_120ms_ease];
904
+ @apply [position:relative] [max-width:748px] [margin:0_auto] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:10px] [background:var(--color-surface)] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)] [overflow:visible] [transition:border-color_120ms_ease,box-shadow_120ms_ease];
821
905
  }
822
906
  .composer:focus-within {
823
907
  @apply [border-color:rgba(65,_118,_230,_0.42)] [box-shadow:0_8px_24px_rgba(15,_17,_21,_0.06),0_0_0_3px_rgba(65,_118,_230,_0.08)];
@@ -833,26 +917,26 @@ button:disabled {
833
917
  }
834
918
  .composer-tools select,
835
919
  .tool-chip {
836
- @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)];
920
+ @apply [height:26px] [padding:0_7px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:7px] [background:var(--color-surface)] [font:11px_var(--font-mono)];
837
921
  }
838
922
  .tool-chip {
839
- @apply [padding:0_9px] [color:#61666b] [font-family:var(--font-sans)] [font-size:11.5px];
923
+ @apply [padding:0_9px] [color:var(--color-muted)] [font-family:var(--font-sans)] [font-size:11.5px];
840
924
  }
841
925
  /* Chrome and Safari drop pointer events on a disabled control and never show its title, so the chip's explanation of why it is dead sits on this wrapper instead. */
842
926
  .tool-chip-hint {
843
927
  @apply [display:inline-flex] [min-width:0];
844
928
  }
845
929
  .composer-hint {
846
- @apply [flex:1] [color:#687381] [font:10px_var(--font-mono)] [text-align:right];
930
+ @apply [flex:1] [color:var(--color-faint)] [font:10px_var(--font-mono)] [text-align:right];
847
931
  }
848
932
  .send-button {
849
- @apply [width:28px] [height:28px] [border-radius:8px] [background:var(--color-ink)] [color:#fff] [font-size:15px];
933
+ @apply [width:28px] [height:28px] [border-radius:8px] [background:var(--color-ink)] [color:var(--color-inverse)] [font-size:15px];
850
934
  }
851
935
  .send-button:disabled {
852
936
  @apply [cursor:not-allowed] [opacity:0.45];
853
937
  }
854
938
  .prompt-completion {
855
- @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)];
939
+ @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:var(--color-surface)] [box-shadow:0_14px_36px_rgba(15,_23,_42,_0.18)];
856
940
  }
857
941
  .prompt-completion > small {
858
942
  @apply [display:block] [padding:5px_8px_7px] [color:var(--color-faint)] [font:10px_var(--font-mono)] [letter-spacing:0.08em];
@@ -885,7 +969,7 @@ button:disabled {
885
969
  @apply [display:grid] [gap:6px] [width:100%] [margin-top:12px] [text-align:left];
886
970
  }
887
971
  .workspace-row {
888
- @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];
972
+ @apply [display:flex] [align-items:center] [gap:10px] [width:100%] [padding:10px_12px] [border:1px_solid_var(--color-line)] [border-radius:9px] [background:var(--color-surface)] [text-align:left];
889
973
  }
890
974
  .workspace-row:hover {
891
975
  @apply [background:var(--color-soft)] [border-color:rgba(65,_118,_230,_0.4)];
@@ -900,7 +984,7 @@ button:disabled {
900
984
  @apply [color:var(--color-green)];
901
985
  }
902
986
  .workspace-row .offline {
903
- @apply [color:#687381];
987
+ @apply [color:var(--color-faint)];
904
988
  }
905
989
  .effective-config {
906
990
  @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];
@@ -909,7 +993,7 @@ button:disabled {
909
993
  @apply [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
910
994
  }
911
995
  .effective-config span {
912
- @apply [color:#61666b] [font:10.5px_var(--font-mono)];
996
+ @apply [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
913
997
  }
914
998
  .trajectory-summary {
915
999
  @apply [flex:none] [padding:12px_24px_10px] [border-bottom:1px_solid_var(--color-line)] [color:var(--color-muted)] [font-size:11.5px];
@@ -921,7 +1005,7 @@ button:disabled {
921
1005
  @apply [display:flex] [gap:3px] [height:26px] [margin-top:8px];
922
1006
  }
923
1007
  .timeline-turn {
924
- @apply [display:flex] [align-items:stretch] [padding:0] [background:#ebeef2] [border-radius:3px] [overflow:hidden];
1008
+ @apply [display:flex] [align-items:stretch] [padding:0] [background:var(--color-line)] [border-radius:3px] [overflow:hidden];
925
1009
  }
926
1010
  .timeline-strip {
927
1011
  @apply [display:block] [width:100%] [opacity:0.9];
@@ -969,7 +1053,7 @@ button:disabled {
969
1053
  @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [font-weight:400];
970
1054
  }
971
1055
  .event-row > span:nth-child(2) {
972
- @apply [display:flex] [align-items:center] [gap:7px] [color:#61666b] [font:11px_var(--font-mono)];
1056
+ @apply [display:flex] [align-items:center] [gap:7px] [color:var(--color-muted)] [font:11px_var(--font-mono)];
973
1057
  }
974
1058
  .event-dot {
975
1059
  @apply [width:6px] [height:6px] [flex:none] [border-radius:2px] [background:var(--color-blue)];
@@ -999,10 +1083,10 @@ button:disabled {
999
1083
  @apply [min-width:0] [flex:1] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap] [font:12px_var(--font-mono)];
1000
1084
  }
1001
1085
  .file-kind {
1002
- @apply [padding:1px_6px] [border-radius:4px] [background:#f1f3f5] [color:#61666b] [font:10px_var(--font-mono)];
1086
+ @apply [padding:1px_6px] [border-radius:4px] [background:var(--color-soft)] [color:var(--color-muted)] [font:10px_var(--font-mono)];
1003
1087
  }
1004
1088
  .file-kind.new {
1005
- @apply [background:#e6faed] [color:#14733f];
1089
+ @apply [background:var(--color-green-soft)] [color:var(--color-green)];
1006
1090
  }
1007
1091
  .file-row .add {
1008
1092
  @apply [color:var(--color-green)] [font:11px_var(--font-mono)];
@@ -1017,22 +1101,22 @@ button:disabled {
1017
1101
  @apply [display:flex] [align-items:center] [gap:8px] [margin-top:12px];
1018
1102
  }
1019
1103
  .file-actions input {
1020
- @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];
1104
+ @apply [min-width:180px] [height:34px] [flex:1] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [padding:0_10px] [font-size:12px];
1021
1105
  }
1022
1106
  .file-actions input:focus {
1023
1107
  @apply [border-color:var(--color-blue)];
1024
1108
  }
1025
1109
  .file-actions button {
1026
- @apply [min-height:34px] [padding:6px_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11.5px];
1110
+ @apply [min-height:34px] [padding:6px_11px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [font-size:11.5px];
1027
1111
  }
1028
1112
  .file-actions .primary {
1029
- @apply [background:var(--color-ink)] [color:#fff];
1113
+ @apply [background:var(--color-ink)] [color:var(--color-inverse)];
1030
1114
  }
1031
1115
  .files-error {
1032
- @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];
1116
+ @apply [margin:12px_0_0] [padding:9px_11px] [border:1px_solid_rgba(236,_19,_19,_0.16)] [border-radius:8px] [background:var(--color-red-soft)] [color:var(--color-red)] [font-size:11.5px];
1033
1117
  }
1034
1118
  .details-panel {
1035
- @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];
1119
+ @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:var(--color-surface)];
1036
1120
  }
1037
1121
  .details-panel > header {
1038
1122
  @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)];
@@ -1098,37 +1182,37 @@ button:disabled {
1098
1182
  @apply [display:flex] [flex-wrap:wrap] [gap:8px];
1099
1183
  }
1100
1184
  .plugin-detail-action {
1101
- @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];
1185
+ @apply [min-height:36px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:6px] [background:var(--color-surface)] [padding:6px_12px] [color:var(--color-ink)] [font-size:12px];
1102
1186
  }
1103
1187
  .plugin-detail-action:hover {
1104
- @apply [border-color:rgba(65,_118,_230,_0.32)] [background:#f8faff];
1188
+ @apply [border-color:rgba(65,_118,_230,_0.32)] [background:var(--color-blue-soft)];
1105
1189
  }
1106
1190
  .plugin-detail-action.primary {
1107
- @apply [border-color:#20252b] [background:#20252b] [color:#fff];
1191
+ @apply [border-color:var(--color-ink)] [background:var(--color-ink)] [color:var(--color-inverse)];
1108
1192
  }
1109
1193
  .plugin-detail-action.primary:hover {
1110
- @apply [border-color:#343a42] [background:#343a42];
1194
+ @apply [border-color:var(--color-ink)] [background:var(--color-ink)];
1111
1195
  }
1112
1196
  .plugin-detail-action.danger {
1113
- @apply [border-color:#f0caca] [background:#fff5f5] [color:#b42318];
1197
+ @apply [border-color:#f0caca] [background:var(--color-red-soft)] [color:var(--color-red)];
1114
1198
  }
1115
1199
  .plugin-detail-action.danger:hover {
1116
- @apply [border-color:#e7abab] [background:#ffeded];
1200
+ @apply [border-color:#e7abab] [background:var(--color-red-soft)];
1117
1201
  }
1118
1202
  .segmented {
1119
- @apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:#f1f3f5];
1203
+ @apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:var(--color-soft)];
1120
1204
  }
1121
1205
  .segmented button {
1122
1206
  @apply [min-height:28px] [padding:4px_12px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px];
1123
1207
  }
1124
1208
  .segmented button.active {
1125
- @apply [background:#fff] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
1209
+ @apply [background:var(--color-surface)] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
1126
1210
  }
1127
1211
  .plugins-scroll {
1128
1212
  @apply [flex:1] [overflow:auto] [padding:16px_24px_24px];
1129
1213
  }
1130
1214
  .plugins-toolbar {
1131
- @apply [display:flex] [align-items:center] [gap:12px] [padding:12px_24px] [border-bottom:1px_solid_var(--color-line)] [background:#fff];
1215
+ @apply [display:flex] [align-items:center] [gap:12px] [padding:12px_24px] [border-bottom:1px_solid_var(--color-line)] [background:var(--color-surface)];
1132
1216
  }
1133
1217
  .plugins-toolbar input {
1134
1218
  @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];
@@ -1143,7 +1227,7 @@ button:disabled {
1143
1227
  @apply [width:100%] [display:grid] [grid-template-columns:repeat(auto-fit,_minmax(320px,_1fr))] [grid-auto-rows:1fr] [gap:16px];
1144
1228
  }
1145
1229
  .plugin-card {
1146
- @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];
1230
+ @apply [display:flex] [height:100%] [min-height:226px] [flex-direction:column] [border:1px_solid_var(--color-line)] [border-radius:10px] [padding:16px] [background:var(--color-surface)] [transition:border-color_120ms_ease,box-shadow_120ms_ease,transform_120ms_ease];
1147
1231
  }
1148
1232
  .plugin-card:hover {
1149
1233
  @apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.32)] [box-shadow:0_8px_22px_rgba(15,_17,_21,_0.06)];
@@ -1179,24 +1263,24 @@ button:disabled {
1179
1263
  @apply [font-size:14px] [line-height:1.4] [font-weight:600];
1180
1264
  }
1181
1265
  .plugin-state {
1182
- @apply [padding:1px_6px] [border-radius:4px] [background:#eef0f3] [color:#687381] [font:10px_var(--font-mono)];
1266
+ @apply [padding:1px_6px] [border-radius:4px] [background:var(--color-soft)] [color:var(--color-faint)] [font:10px_var(--font-mono)];
1183
1267
  }
1184
1268
  .plugin-state.active {
1185
- @apply [background:#e6faed] [color:#14733f];
1269
+ @apply [background:var(--color-green-soft)] [color:var(--color-green)];
1186
1270
  }
1187
1271
  .plugin-package {
1188
- @apply [display:block] [margin-top:8px] [color:#61666b] [font:10.5px_var(--font-mono)] [overflow-wrap:anywhere];
1272
+ @apply [display:block] [margin-top:8px] [color:var(--color-muted)] [font:10.5px_var(--font-mono)] [overflow-wrap:anywhere];
1189
1273
  }
1190
1274
  .capability,
1191
1275
  .update,
1192
1276
  .local {
1193
- @apply [padding:1px_6px] [border-radius:4px] [background:#ebeef2] [color:#61666b] [font-size:10px];
1277
+ @apply [padding:1px_6px] [border-radius:4px] [background:var(--color-line)] [color:var(--color-muted)] [font-size:10px];
1194
1278
  }
1195
1279
  .update {
1196
1280
  @apply [background:var(--color-blue-soft)] [color:var(--color-blue)];
1197
1281
  }
1198
1282
  .local {
1199
- @apply [background:#fef5e7] [color:#9a6700] [font:10px_var(--font-mono)];
1283
+ @apply [background:var(--color-amber-soft)] [color:var(--color-amber)] [font:10px_var(--font-mono)];
1200
1284
  }
1201
1285
  .plugin-description {
1202
1286
  @apply [margin:8px_0_12px] [color:var(--color-muted)] [font-size:13px] [line-height:1.6];
@@ -1217,13 +1301,13 @@ button:disabled {
1217
1301
  @apply [display:inline-flex] [min-height:28px] [align-items:center] [color:var(--color-blue)] [font-size:11.5px];
1218
1302
  }
1219
1303
  .switch {
1220
- @apply [position:relative] [width:36px] [height:22px] [flex:0_0_36px] [border-radius:999px] [background:#cfd3d6];
1304
+ @apply [position:relative] [width:36px] [height:22px] [flex:0_0_36px] [border-radius:999px] [background:var(--color-blue-soft)];
1221
1305
  }
1222
1306
  .switch.on {
1223
1307
  @apply [background:var(--color-ink)];
1224
1308
  }
1225
1309
  .switch i {
1226
- @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)];
1310
+ @apply [position:absolute] [top:2px] [left:2px] [width:18px] [height:18px] [border-radius:50%] [background:var(--color-surface)] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.2)];
1227
1311
  }
1228
1312
  .switch.on i {
1229
1313
  @apply [left:16px];
@@ -1235,7 +1319,7 @@ button:disabled {
1235
1319
  @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)];
1236
1320
  }
1237
1321
  .global-search-dialog {
1238
- @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)];
1322
+ @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:var(--color-surface)] [box-shadow:0_28px_80px_rgba(15,_23,_42,_0.26)];
1239
1323
  }
1240
1324
  .global-search-heading {
1241
1325
  @apply [display:flex] [align-items:baseline] [gap:10px] [padding:16px_18px_10px];
@@ -1253,7 +1337,7 @@ button:disabled {
1253
1337
  @apply [background:var(--color-soft)];
1254
1338
  }
1255
1339
  .global-search-dialog > input {
1256
- @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)];
1340
+ @apply [width:100%] [height:52px] [flex:none] [padding:0_18px] [border:0] [border-bottom:1px_solid_var(--color-line)] [background:var(--color-surface)] [color:var(--color-ink)] [font:14px_var(--font-sans)];
1257
1341
  }
1258
1342
  .global-search-dialog > input:focus-visible {
1259
1343
  @apply [border-bottom-color:rgba(65,_118,_230,_0.42)] [box-shadow:inset_0_-2px_0_rgba(65,_118,_230,_0.12)];
@@ -1283,13 +1367,13 @@ button:disabled {
1283
1367
  @apply [min-width:0] [overflow:hidden] [color:var(--color-muted)] [font:12px_var(--font-sans)] [text-overflow:ellipsis] [white-space:nowrap];
1284
1368
  }
1285
1369
  .settings-page {
1286
- @apply [display:flex] [min-width:0] [flex:1] [background:#f8fafc];
1370
+ @apply [display:flex] [min-width:0] [flex:1] [background:var(--color-soft)];
1287
1371
  }
1288
1372
  .settings-page .settings-dialog {
1289
1373
  @apply [width:100%] [max-width:none] [height:100%] [max-height:none] [flex-direction:column] [border-radius:0] [box-shadow:none];
1290
1374
  }
1291
1375
  .settings-top-tabs {
1292
- @apply [display:flex] [align-items:center] [gap:4px] [height:48px] [flex:none] [padding:0_24px] [border-bottom:1px_solid_var(--color-line)] [background:#fff];
1376
+ @apply [display:flex] [align-items:center] [gap:4px] [height:48px] [flex:none] [padding:0_24px] [border-bottom:1px_solid_var(--color-line)] [background:var(--color-surface)];
1293
1377
  }
1294
1378
  .settings-top-tabs .settings-tab {
1295
1379
  @apply [height:30px] [padding:0_12px] [border-radius:7px] [font-size:12px];
@@ -1304,10 +1388,10 @@ button:disabled {
1304
1388
  @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];
1305
1389
  }
1306
1390
  .settings-back:hover {
1307
- @apply [background:#e1ebff];
1391
+ @apply [background:var(--color-blue-soft)];
1308
1392
  }
1309
1393
  .settings-dialog {
1310
- @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)];
1394
+ @apply [display:flex] [width:100%] [max-width:880px] [height:100%] [max-height:620px] [overflow:hidden] [border-radius:10px] [background:var(--color-surface)] [box-shadow:0_24px_64px_rgba(0,_0,_0,_0.24)];
1311
1395
  }
1312
1396
  .settings-dialog > aside {
1313
1397
  @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)];
@@ -1319,10 +1403,10 @@ button:disabled {
1319
1403
  @apply [height:30px] [padding:0_9px] [border-radius:8px] [text-align:left] [font-size:12.5px];
1320
1404
  }
1321
1405
  .settings-tab.active {
1322
- @apply [background:#f1f3f5] [font-weight:600];
1406
+ @apply [background:var(--color-soft)] [font-weight:600];
1323
1407
  }
1324
1408
  .settings-tab b {
1325
- @apply [float:right] [color:#61666b] [font:10px_var(--font-mono)] [font-weight:400];
1409
+ @apply [float:right] [color:var(--color-muted)] [font:10px_var(--font-mono)] [font-weight:400];
1326
1410
  }
1327
1411
  .settings-dialog > section {
1328
1412
  @apply [display:flex] [min-width:0] [min-height:0] [flex:1] [flex-direction:column];
@@ -1373,16 +1457,16 @@ button:disabled {
1373
1457
  @apply [display:block] [margin-top:2px] [color:var(--color-muted)] [font-size:11.5px];
1374
1458
  }
1375
1459
  .setting-status {
1376
- @apply [flex:none] [padding:3px_8px] [border-radius:999px] [background:#ebeef2] [color:#61666b] [font:10.5px_var(--font-mono)];
1460
+ @apply [flex:none] [padding:3px_8px] [border-radius:999px] [background:var(--color-line)] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
1377
1461
  }
1378
1462
  .setting-status.on {
1379
- @apply [background:#eaf8f0] [color:#14733f];
1463
+ @apply [background:var(--color-green-soft)] [color:var(--color-green)];
1380
1464
  }
1381
1465
  .general-row small.setting-error {
1382
- @apply [color:#b42318];
1466
+ @apply [color:var(--color-red)];
1383
1467
  }
1384
1468
  .setting-select {
1385
- @apply [flex:none] [height:30px] [padding:0_8px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11.5px];
1469
+ @apply [flex:none] [height:30px] [padding:0_8px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [color:var(--color-ink)] [font-size:11.5px];
1386
1470
  }
1387
1471
  .provider-card {
1388
1472
  @apply [margin-bottom:12px] [padding:12px_13px] [border:1px_solid_var(--color-line)] [border-radius:10px];
@@ -1397,7 +1481,7 @@ button:disabled {
1397
1481
  @apply [font-size:12px];
1398
1482
  }
1399
1483
  .provider-add-head > button {
1400
- @apply [height:30px] [flex:none] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px] [white-space:nowrap];
1484
+ @apply [height:30px] [flex:none] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:var(--color-inverse)] [font-size:11px] [white-space:nowrap];
1401
1485
  }
1402
1486
  .provider-add-head small,
1403
1487
  .provider-add-form small {
@@ -1410,7 +1494,7 @@ button:disabled {
1410
1494
  @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)];
1411
1495
  }
1412
1496
  .provider-add-modal {
1413
- @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)];
1497
+ @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:var(--color-surface)] [box-shadow:0_28px_80px_rgba(15,_23,_42,_0.26)];
1414
1498
  }
1415
1499
  .provider-add-modal > header {
1416
1500
  @apply [display:flex] [align-items:flex-start] [justify-content:space-between] [gap:16px] [margin-bottom:16px];
@@ -1439,7 +1523,7 @@ button:disabled {
1439
1523
  .provider-add-form input,
1440
1524
  .provider-add-form select,
1441
1525
  .provider-add-form button {
1442
- @apply [min-width:0] [height:32px] [padding:0_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11px];
1526
+ @apply [min-width:0] [height:32px] [padding:0_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [font-size:11px];
1443
1527
  }
1444
1528
  .provider-add-form input:focus,
1445
1529
  .provider-add-form select:focus {
@@ -1459,7 +1543,7 @@ button:disabled {
1459
1543
  @apply [min-width:0] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1460
1544
  }
1461
1545
  .provider-add-form button {
1462
- @apply [border-color:var(--color-ink)] [background:var(--color-ink)] [color:#fff];
1546
+ @apply [border-color:var(--color-ink)] [background:var(--color-ink)] [color:var(--color-inverse)];
1463
1547
  }
1464
1548
  .provider-head {
1465
1549
  @apply [display:flex] [align-items:center] [gap:8px] [margin-bottom:10px];
@@ -1477,13 +1561,13 @@ button:disabled {
1477
1561
  @apply [display:flex] [align-items:center] [gap:8px] [margin-top:7px];
1478
1562
  }
1479
1563
  .provider-field code {
1480
- @apply [width:66px] [flex:0_0_66px] [color:#61666b] [font:11px_var(--font-mono)];
1564
+ @apply [width:66px] [flex:0_0_66px] [color:var(--color-muted)] [font:11px_var(--font-mono)];
1481
1565
  }
1482
1566
  .provider-field input {
1483
- @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)];
1567
+ @apply [flex:1] [min-width:0] [height:32px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:7px] [padding:0_9px] [background:var(--color-surface)] [font:11.5px_var(--font-mono)];
1484
1568
  }
1485
1569
  .provider-model-value {
1486
- @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)];
1570
+ @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:var(--color-surface)] [font:11.5px_var(--font-mono)];
1487
1571
  }
1488
1572
  .provider-model-value > span {
1489
1573
  @apply [min-width:0] [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
@@ -1495,7 +1579,7 @@ button:disabled {
1495
1579
  @apply [cursor:pointer] [white-space:nowrap] [color:var(--color-blue)];
1496
1580
  }
1497
1581
  .provider-models-details .model-chips {
1498
- @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)];
1582
+ @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:var(--color-surface)] [box-shadow:0_8px_24px_rgba(0,_0,_0,_0.12)];
1499
1583
  }
1500
1584
  .provider-footer {
1501
1585
  @apply [display:flex] [align-items:center] [gap:8px] [margin-top:9px];
@@ -1504,7 +1588,7 @@ button:disabled {
1504
1588
  @apply [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
1505
1589
  }
1506
1590
  .provider-footer button {
1507
- @apply [padding:4px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11px];
1591
+ @apply [padding:4px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [font-size:11px];
1508
1592
  }
1509
1593
  .provider-footer button:disabled {
1510
1594
  @apply [cursor:not-allowed] [opacity:0.5];
@@ -1516,10 +1600,10 @@ button:disabled {
1516
1600
  @apply [display:flex] [flex-wrap:wrap] [gap:5px] [margin-top:10px];
1517
1601
  }
1518
1602
  .model-chips span {
1519
- @apply [padding:1px_7px] [border-radius:4px] [background:#e4edfd] [color:var(--color-blue)] [font:10.5px_var(--font-mono)];
1603
+ @apply [padding:1px_7px] [border-radius:4px] [background:var(--color-blue-soft)] [color:var(--color-blue)] [font:10.5px_var(--font-mono)];
1520
1604
  }
1521
1605
  .add-provider {
1522
- @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];
1606
+ @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:var(--color-muted)];
1523
1607
  }
1524
1608
  .add-provider small {
1525
1609
  @apply [margin-left:auto] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
@@ -1531,31 +1615,31 @@ button:disabled {
1531
1615
  @apply [flex:1];
1532
1616
  }
1533
1617
  .toml-toolbar button {
1534
- @apply [padding:4px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:11px];
1618
+ @apply [padding:4px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [font-size:11px];
1535
1619
  }
1536
1620
  .toml-toolbar button.active {
1537
- @apply [background:#f1f3f5] [font-weight:600];
1621
+ @apply [background:var(--color-soft)] [font-weight:600];
1538
1622
  }
1539
1623
  .toml-toolbar .primary {
1540
- @apply [background:var(--color-ink)] [color:#fff];
1624
+ @apply [background:var(--color-ink)] [color:var(--color-inverse)];
1541
1625
  }
1542
1626
  .toml {
1543
- @apply [min-height:420px] [border:1px_solid_var(--color-line)] [border-radius:9px] [color:#61666b];
1627
+ @apply [min-height:420px] [border:1px_solid_var(--color-line)] [border-radius:9px] [color:var(--color-muted)];
1544
1628
  }
1545
1629
  .session-search {
1546
1630
  @apply [position:relative] [z-index:20];
1547
1631
  }
1548
1632
  .command-palette {
1549
- @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)];
1633
+ @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:var(--color-surface)] [box-shadow:0_16px_40px_rgba(15,_23,_42,_0.18)];
1550
1634
  }
1551
1635
  .palette-group {
1552
1636
  @apply [padding:8px];
1553
1637
  }
1554
1638
  .palette-group small {
1555
- @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];
1639
+ @apply [position:sticky] [top:0] [z-index:1] [display:block] [padding:5px_8px_9px] [background:var(--color-surface)] [color:var(--color-faint)] [font:10px_var(--font-mono)] [letter-spacing:0.08em];
1556
1640
  }
1557
1641
  .palette-group small span {
1558
- @apply [color:#687381] [letter-spacing:0];
1642
+ @apply [color:var(--color-faint)] [letter-spacing:0];
1559
1643
  }
1560
1644
  .palette-group button {
1561
1645
  @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];
@@ -1745,7 +1829,7 @@ button:disabled {
1745
1829
  @apply [padding:28px_16px] [color:var(--color-muted)] [text-align:center] [font-size:12px];
1746
1830
  }
1747
1831
  .settings-plugin-row {
1748
- @apply [padding:8px_0] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)] [font:11.5px_var(--font-mono)] [color:#61666b];
1832
+ @apply [padding:8px_0] [border-bottom:1px_solid_rgba(0,_0,_0,_0.06)] [font:11.5px_var(--font-mono)] [color:var(--color-muted)];
1749
1833
  }
1750
1834
  .settings-body > p {
1751
1835
  @apply [color:var(--color-muted)] [font-size:12px];
@@ -1760,7 +1844,7 @@ button:disabled {
1760
1844
  @apply [opacity:0.45] [cursor:not-allowed];
1761
1845
  }
1762
1846
  .session-menu-popover {
1763
- @apply [position:absolute] [top:calc(100%_+_6px)] [right:0] [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];
1847
+ @apply [position:absolute] [top:calc(100%_+_6px)] [right:0] [z-index:35] [width:224px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:10px] [background:var(--color-surface)] [box-shadow:0_10px_28px_rgba(0,_0,_0,_0.14)] [overflow:hidden];
1764
1848
  }
1765
1849
  .session-menu-wrap {
1766
1850
  @apply [position:relative] [flex:none];
@@ -1768,7 +1852,7 @@ button:disabled {
1768
1852
 
1769
1853
  /* Final control-room pass: keep the quiet palette, sharpen hierarchy, and remove decorative telemetry that is not backed by the runtime. */
1770
1854
  .main-header {
1771
- @apply [height:54px] [flex-basis:54px] [background:#fff];
1855
+ @apply [height:54px] [flex-basis:54px] [background:var(--color-surface)];
1772
1856
  }
1773
1857
  .active-heading {
1774
1858
  @apply [gap:1px];
@@ -1780,7 +1864,7 @@ button:disabled {
1780
1864
  @apply [max-width:440px] [color:var(--color-faint)];
1781
1865
  }
1782
1866
  .runtime-cells {
1783
- @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];
1867
+ @apply [margin:4px_8px_6px] [padding:9px_10px] [border:1px_solid_rgba(0,_0,_0,_0.07)] [border-radius:9px] [background:var(--color-surface)] [display:grid] [grid-template-columns:1fr_1fr] [gap:5px_10px];
1784
1868
  }
1785
1869
  .runtime-cells span:first-child {
1786
1870
  @apply [grid-column:1/-1] [min-width:0];
@@ -1789,7 +1873,7 @@ button:disabled {
1789
1873
  @apply [overflow:hidden] [text-overflow:ellipsis] [white-space:nowrap];
1790
1874
  }
1791
1875
  .session-row.active {
1792
- @apply [border:1px_solid_rgba(65,_118,_230,_0.14)] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)];
1876
+ @apply [border:1px_solid_rgba(65,_118,_230,_0.14)] [background:var(--color-surface)] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)];
1793
1877
  }
1794
1878
  .chat-scroll.is-empty {
1795
1879
  @apply [display:flex] [align-items:center] [justify-content:center] [padding-top:10px];
@@ -1819,16 +1903,16 @@ button:disabled {
1819
1903
  @apply [min-width:0] [flex:1];
1820
1904
  }
1821
1905
  .workspace-status {
1822
- @apply [flex:none] [padding:3px_7px] [border-radius:5px] [background:#e6faed] [font:10px_var(--font-mono)];
1906
+ @apply [flex:none] [padding:3px_7px] [border-radius:5px] [background:var(--color-green-soft)] [font:10px_var(--font-mono)];
1823
1907
  }
1824
1908
  .workspace-row .live {
1825
- @apply [color:#14733f];
1909
+ @apply [color:var(--color-green)];
1826
1910
  }
1827
1911
  .workspace-arrow {
1828
1912
  @apply [color:var(--color-blue)] [font-size:16px];
1829
1913
  }
1830
1914
  .effective-config {
1831
- @apply [min-height:40px] [padding:8px_11px] [gap:9px] [background:#f7f8fa];
1915
+ @apply [min-height:40px] [padding:8px_11px] [gap:9px] [background:var(--color-soft)];
1832
1916
  }
1833
1917
  .effective-config .config-label {
1834
1918
  @apply [color:var(--color-muted)] [font-family:var(--font-sans)];
@@ -1837,10 +1921,10 @@ button:disabled {
1837
1921
  @apply [display:grid] [grid-template-columns:1fr_1fr] [gap:9px] [width:100%] [margin-top:4px];
1838
1922
  }
1839
1923
  .starter-card {
1840
- @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];
1924
+ @apply [min-height:72px] [padding:12px_13px] [border:1px_solid_var(--color-starter-border)] [border-radius:10px] [background:var(--color-surface)] [text-align:left] [transition:background_120ms_ease,border-color_120ms_ease,transform_120ms_ease];
1841
1925
  }
1842
1926
  .starter-card:hover {
1843
- @apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.4)] [background:#f8faff];
1927
+ @apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.4)] [background:var(--color-blue-soft)];
1844
1928
  }
1845
1929
  .starter-card strong,
1846
1930
  .starter-card small {
@@ -1880,37 +1964,37 @@ button:disabled {
1880
1964
  @apply [min-height:74px] [padding:13px_15px_5px] [font-size:14px];
1881
1965
  }
1882
1966
  .action-error {
1883
- @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)];
1967
+ @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:var(--color-red-soft)] [color:var(--color-red)] [font-size:11.5px] [box-shadow:0_8px_24px_rgba(15,_17,_21,_0.1)];
1884
1968
  }
1885
1969
  .action-error-summary {
1886
1970
  @apply [display:flex] [gap:8px] [align-items:baseline];
1887
1971
  }
1888
1972
  .action-error-summary strong {
1889
- @apply [flex:none] [font-size:11.5px] [color:#b42318];
1973
+ @apply [flex:none] [font-size:11.5px] [color:var(--color-red)];
1890
1974
  }
1891
1975
  .action-error-summary span {
1892
- @apply [color:#a05b5b];
1976
+ @apply [color:var(--color-red)];
1893
1977
  }
1894
1978
  .action-error details {
1895
1979
  @apply [min-width:0];
1896
1980
  }
1897
1981
  .action-error summary {
1898
- @apply [cursor:pointer] [color:#b42318] [font-size:10.5px];
1982
+ @apply [cursor:pointer] [color:var(--color-red)] [font-size:10.5px];
1899
1983
  }
1900
1984
  .action-error code {
1901
- @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)];
1985
+ @apply [display:block] [max-height:88px] [margin-top:5px] [overflow:auto] [white-space:pre-wrap] [overflow-wrap:anywhere] [color:var(--color-red)] [font:10px_var(--font-mono)];
1902
1986
  }
1903
1987
  .marketplace-page {
1904
- @apply [min-height:0] [background:#f8fafc];
1988
+ @apply [min-height:0] [background:var(--color-soft)];
1905
1989
  }
1906
1990
  .marketplace-page > div {
1907
- @apply [background:#f8fafc];
1991
+ @apply [background:var(--color-soft)];
1908
1992
  }
1909
1993
  .marketplace-page .marketplace-grid {
1910
1994
  @apply [align-content:start];
1911
1995
  }
1912
1996
  .marketplace-toolbar {
1913
- @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];
1997
+ @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:var(--color-surface)];
1914
1998
  }
1915
1999
  .marketplace-search {
1916
2000
  @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];
@@ -1919,7 +2003,7 @@ button:disabled {
1919
2003
  @apply [border-color:rgba(65,_118,_230,_0.55)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.1)];
1920
2004
  }
1921
2005
  .marketplace-filter {
1922
- @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];
2006
+ @apply [height:38px] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:8px] [background:var(--color-surface)] [padding:0_12px] [color:var(--color-muted)] [font-size:12.5px];
1923
2007
  }
1924
2008
  .marketplace-count {
1925
2009
  @apply [margin-left:auto] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
@@ -1935,22 +2019,22 @@ button:disabled {
1935
2019
  @apply [display:flex] [min-width:0] [flex-wrap:wrap] [align-items:center] [gap:8px] [border-radius:8px] [padding:8px_10px] [font-size:11.5px] [line-height:1.7];
1936
2020
  }
1937
2021
  .marketplace-message.notice {
1938
- @apply [border:1px_solid_rgba(65,_118,_230,_0.28)] [background:#f4f8ff] [color:#3565c5];
2022
+ @apply [border:1px_solid_rgba(65,_118,_230,_0.28)] [background:var(--color-blue-soft)] [color:var(--color-blue)];
1939
2023
  }
1940
2024
  .marketplace-message.error {
1941
- @apply [border:1px_solid_rgba(185,_28,_28,_0.24)] [background:#fff5f5] [color:var(--color-red)];
2025
+ @apply [border:1px_solid_rgba(185,_28,_28,_0.24)] [background:var(--color-red-soft)] [color:var(--color-red)];
1942
2026
  }
1943
2027
  .marketplace-message-dismiss {
1944
2028
  @apply [flex:none] [margin-left:auto] [border:1px_solid_currentColor] [border-radius:6px] [padding:2px_8px] [font-size:11px];
1945
2029
  }
1946
2030
  .marketplace-categories {
1947
- @apply [display:flex] [min-width:0] [flex:1] [flex-wrap:nowrap] [gap:4px] [overflow-x:auto] [padding:8px_48px_8px_24px] [background:#fff] [scrollbar-width:none];
2031
+ @apply [display:flex] [min-width:0] [flex:1] [flex-wrap:nowrap] [gap:4px] [overflow-x:auto] [padding:8px_48px_8px_24px] [background:var(--color-surface)] [scrollbar-width:none];
1948
2032
  }
1949
2033
  .marketplace-categories::-webkit-scrollbar {
1950
2034
  @apply [display:none];
1951
2035
  }
1952
2036
  .marketplace-categories-shell {
1953
- @apply [position:relative] [display:flex] [min-width:0] [flex:none] [border-bottom:1px_solid_rgba(0,_0,_0,_0.08)] [background:#fff];
2037
+ @apply [position:relative] [display:flex] [min-width:0] [flex:none] [border-bottom:1px_solid_rgba(0,_0,_0,_0.08)] [background:var(--color-surface)];
1954
2038
  }
1955
2039
  .marketplace-categories-shell::before,
1956
2040
  .marketplace-categories-shell::after {
@@ -1966,7 +2050,7 @@ button:disabled {
1966
2050
  @apply [position:absolute] [top:50%] [z-index:2] [display:grid] [width:32px] [height:32px] [transform:translateY(-50%)] [place-items:center] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:999px] [background:rgba(255,_255,_255,_0.96)] [color:#445064] [font-size:22px] [line-height:1] [box-shadow:0_2px_10px_rgba(15,_23,_42,_0.12)];
1967
2051
  }
1968
2052
  .marketplace-category-scroll:hover {
1969
- @apply [border-color:rgba(65,_118,_230,_0.35)] [background:#f8faff] [color:var(--color-blue)];
2053
+ @apply [border-color:rgba(65,_118,_230,_0.35)] [background:var(--color-blue-soft)] [color:var(--color-blue)];
1970
2054
  }
1971
2055
  .marketplace-category-scroll.previous {
1972
2056
  @apply [left:8px];
@@ -1975,13 +2059,13 @@ button:disabled {
1975
2059
  @apply [right:8px];
1976
2060
  }
1977
2061
  .marketplace-category {
1978
- @apply [display:flex] [min-height:32px] [flex:none] [align-items:center] [gap:6px] [border-radius:999px] [padding:4px_8px] [color:#61666b] [font-size:11px];
2062
+ @apply [display:flex] [min-height:32px] [flex:none] [align-items:center] [gap:6px] [border-radius:999px] [padding:4px_8px] [color:var(--color-muted)] [font-size:11px];
1979
2063
  }
1980
2064
  .marketplace-category:hover {
1981
- @apply [background:#f1f4f9];
2065
+ @apply [background:var(--color-blue-soft)];
1982
2066
  }
1983
2067
  .marketplace-category.active {
1984
- @apply [background:#e4edfd] [color:#3565c5] [font-weight:500];
2068
+ @apply [background:var(--color-blue-soft)] [color:var(--color-blue)] [font-weight:500];
1985
2069
  }
1986
2070
  .marketplace-scroll {
1987
2071
  @apply [min-height:0] [flex:1] [overflow:auto] [padding:0_24px_24px];
@@ -1990,7 +2074,7 @@ button:disabled {
1990
2074
  @apply [display:grid] [width:100%] [grid-template-columns:repeat(auto-fit,_minmax(320px,_1fr))] [grid-auto-rows:1fr] [gap:16px] [padding-top:16px];
1991
2075
  }
1992
2076
  .marketplace-card {
1993
- @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];
2077
+ @apply [display:flex] [height:100%] [min-height:226px] [flex-direction:column] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:10px] [background:var(--color-surface)] [padding:16px] [transition:border-color_120ms_ease,box-shadow_120ms_ease,transform_120ms_ease];
1994
2078
  }
1995
2079
  .catalog-card {
1996
2080
  @apply [min-height:260px];
@@ -2011,7 +2095,7 @@ button:disabled {
2011
2095
  @apply [font-size:14px] [line-height:1.4] [font-weight:600];
2012
2096
  }
2013
2097
  .marketplace-package {
2014
- @apply [display:block] [margin-top:8px] [overflow-wrap:anywhere] [color:#61666b] [font:10.5px_var(--font-mono)];
2098
+ @apply [display:block] [margin-top:8px] [overflow-wrap:anywhere] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
2015
2099
  }
2016
2100
  .marketplace-description {
2017
2101
  @apply [margin:8px_0_12px] [color:var(--color-muted)] [font-size:13px] [line-height:1.6];
@@ -2035,16 +2119,16 @@ button:disabled {
2035
2119
  @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] [white-space:nowrap];
2036
2120
  }
2037
2121
  .marketplace-card-footer button:hover {
2038
- @apply [background:#e1ebff];
2122
+ @apply [background:var(--color-blue-soft)];
2039
2123
  }
2040
2124
  .marketplace-pagination {
2041
- @apply [display:flex] [align-items:center] [justify-content:center] [gap:12px] [margin-top:12px] [color:#687381] [font:11px_var(--font-mono)];
2125
+ @apply [display:flex] [align-items:center] [justify-content:center] [gap:12px] [margin-top:12px] [color:var(--color-faint)] [font:11px_var(--font-mono)];
2042
2126
  }
2043
2127
  .marketplace-pagination-button {
2044
- @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)];
2128
+ @apply [min-height:32px] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:6px] [background:var(--color-surface)] [padding:4px_12px] [color:var(--color-ink)] [font:11px_var(--font-sans)];
2045
2129
  }
2046
2130
  .marketplace-pagination-button:hover:not(:disabled) {
2047
- @apply [border-color:rgba(65,_118,_230,_0.32)] [background:#f8faff];
2131
+ @apply [border-color:rgba(65,_118,_230,_0.32)] [background:var(--color-blue-soft)];
2048
2132
  }
2049
2133
  .session-action {
2050
2134
  @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];
@@ -2059,13 +2143,13 @@ button:disabled {
2059
2143
  @apply [color:var(--color-faint)] [font-size:10px];
2060
2144
  }
2061
2145
  .context-bar i:nth-child(1) {
2062
- @apply [width:44%] [background:#c7d6f5];
2146
+ @apply [width:44%] [background:var(--color-blue-soft)];
2063
2147
  }
2064
2148
  .context-bar i:nth-child(2) {
2065
- @apply [width:33%] [background:#dce7fb];
2149
+ @apply [width:33%] [background:var(--color-blue-soft)];
2066
2150
  }
2067
2151
  .context-bar i:nth-child(3) {
2068
- @apply [width:23%] [background:#edf2fd];
2152
+ @apply [width:23%] [background:var(--color-blue-soft)];
2069
2153
  }
2070
2154
  .file-summary {
2071
2155
  @apply [margin:-8px_0_12px] [color:var(--color-muted)] [font:10.5px_var(--font-mono)];
@@ -2086,22 +2170,22 @@ button:disabled {
2086
2170
  @apply [flex:none];
2087
2171
  }
2088
2172
  .plugin-uninstall {
2089
- @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];
2173
+ @apply [display:inline-flex] [min-height:28px] [align-items:center] [border:1px_solid_rgba(185,_28,_28,_0.16)] [border-radius:6px] [background:var(--color-red-soft)] [padding:3px_8px] [color:var(--color-red)] [font-size:11px];
2090
2174
  }
2091
2175
  .plugin-uninstall:hover {
2092
- @apply [border-color:rgba(185,_28,_28,_0.28)] [background:#fff1f1];
2176
+ @apply [border-color:rgba(185,_28,_28,_0.28)] [background:var(--color-red-soft)];
2093
2177
  }
2094
2178
  .plugin-action-error {
2095
2179
  @apply [margin:10px_0_0_37px] [color:var(--color-red)] [font-size:11px];
2096
2180
  }
2097
2181
  .plugin-action-notice {
2098
- @apply [margin:10px_0_0_37px] [color:#8a5a00] [font-size:11px];
2182
+ @apply [margin:10px_0_0_37px] [color:var(--color-amber)] [font-size:11px];
2099
2183
  }
2100
2184
  .plugin-confirm-backdrop {
2101
2185
  @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)];
2102
2186
  }
2103
2187
  .plugin-confirm-dialog {
2104
- @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)];
2188
+ @apply [width:100%] [max-width:440px] [padding:20px] [border:1px_solid_rgba(15,_23,_42,_0.14)] [border-radius:10px] [background:var(--color-surface)] [box-shadow:0_24px_64px_rgba(15,_23,_42,_0.26)];
2105
2189
  }
2106
2190
  .plugin-confirm-dialog header strong,
2107
2191
  .plugin-confirm-dialog header small {
@@ -2120,13 +2204,13 @@ button:disabled {
2120
2204
  @apply [display:flex] [justify-content:flex-end] [gap:8px] [margin-top:18px];
2121
2205
  }
2122
2206
  .plugin-confirm-dialog footer button {
2123
- @apply [padding:7px_12px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [font-size:12px];
2207
+ @apply [padding:7px_12px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [font-size:12px];
2124
2208
  }
2125
2209
  .plugin-confirm-dialog footer button.danger {
2126
- @apply [border-color:rgba(185,_28,_28,_0.22)] [background:#fff5f5] [color:#b42318];
2210
+ @apply [border-color:rgba(185,_28,_28,_0.22)] [background:var(--color-red-soft)] [color:var(--color-red)];
2127
2211
  }
2128
2212
  .plugin-confirm-error {
2129
- @apply [margin:10px_0_0] [color:#b42318] [font-size:11px];
2213
+ @apply [margin:10px_0_0] [color:var(--color-red)] [font-size:11px];
2130
2214
  }
2131
2215
  .session-menu-popover[hidden] {
2132
2216
  @apply [display:none];
@@ -2159,7 +2243,7 @@ button:disabled {
2159
2243
  @apply [display:flex] [gap:7px] [margin-top:14px];
2160
2244
  }
2161
2245
  .detail-actions button {
2162
- @apply [padding:5px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:#fff] [color:#61666b] [font-size:11px];
2246
+ @apply [padding:5px_9px] [border:1px_solid_var(--color-line)] [border-radius:7px] [background:var(--color-surface)] [color:var(--color-muted)] [font-size:11px];
2163
2247
  }
2164
2248
  .detail-actions button:disabled {
2165
2249
  @apply [cursor:not-allowed] [opacity:0.5];
@@ -2170,7 +2254,7 @@ body {
2170
2254
  @apply [font-size:14px];
2171
2255
  }
2172
2256
  .sidebar {
2173
- @apply [width:280px] [flex-basis:280px] [background:#f6f8fa] [border-right-color:rgba(15,_17,_21,_0.1)];
2257
+ @apply [width:280px] [flex-basis:280px] [background:var(--color-soft)] [border-right-color:rgba(15,_17,_21,_0.1)];
2174
2258
  }
2175
2259
  .brand-row {
2176
2260
  @apply [height:56px] [flex-basis:56px] [padding:0_16px];