@pheem49/mint 1.14.0 → 1.15.0

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 (585) hide show
  1. package/CLAUDE.md +1 -1
  2. package/Cargo.lock +291 -11
  3. package/Cargo.toml +1 -1
  4. package/README.md +71 -9
  5. package/ROADMAP.md +30 -0
  6. package/Release_Note.md +579 -465
  7. package/crates/mint-cli/Cargo.toml +3 -1
  8. package/crates/mint-cli/src/agent/approval_prompts.rs +16 -3
  9. package/crates/mint-cli/src/agent/live_status.rs +367 -118
  10. package/crates/mint-cli/src/agent/markdown_render.rs +601 -61
  11. package/crates/mint-cli/src/agent.rs +452 -215
  12. package/crates/mint-cli/src/commands/agent.rs +16 -21
  13. package/crates/mint-cli/src/commands/eval.rs +9 -5
  14. package/crates/mint-cli/src/commands/git.rs +204 -0
  15. package/crates/mint-cli/src/commands/integrations.rs +28 -0
  16. package/crates/mint-cli/src/commands/knowledge.rs +1 -0
  17. package/crates/mint-cli/src/commands/mod.rs +37 -2
  18. package/crates/mint-cli/src/commands/tailnet_web.rs +235 -0
  19. package/crates/mint-cli/src/image.rs +26 -3
  20. package/crates/mint-cli/src/interactive/chat_tui.rs +4742 -0
  21. package/crates/mint-cli/src/interactive/command_ui.rs +477 -0
  22. package/crates/mint-cli/src/interactive/format.rs +8 -0
  23. package/crates/mint-cli/src/interactive/input_box.rs +38 -2
  24. package/crates/mint-cli/src/interactive/picker.rs +180 -37
  25. package/crates/mint-cli/src/interactive/resume_picker.rs +686 -0
  26. package/crates/mint-cli/src/interactive/slash_commands.rs +868 -450
  27. package/crates/mint-cli/src/interactive/thought_viewer.rs +286 -0
  28. package/crates/mint-cli/src/interactive.rs +400 -136
  29. package/crates/mint-cli/src/main.rs +84 -23
  30. package/crates/mint-cli/src/markdown.rs +12 -5
  31. package/crates/mint-cli/src/onboard.rs +32 -30
  32. package/crates/mint-cli/src/plugins_cli.rs +8 -5
  33. package/crates/mint-cli/src/setup.rs +10 -8
  34. package/crates/mint-cli/src/terminal_theme.rs +187 -0
  35. package/crates/mint-cli/src/updater.rs +56 -21
  36. package/crates/mint-core/src/agent/agent_loop.rs +1 -0
  37. package/crates/mint-core/src/agent/chat.rs +843 -177
  38. package/crates/mint-core/src/agent/code_tools.rs +83 -2
  39. package/crates/mint-core/src/agent/memory.rs +658 -20
  40. package/crates/mint-core/src/agent/skills.rs +1 -1
  41. package/crates/mint-core/src/api_server/routes/chat.rs +31 -5
  42. package/crates/mint-core/src/api_server/routes/linked_folders.rs +118 -3
  43. package/crates/mint-core/src/api_server/routes/misc.rs +10 -14
  44. package/crates/mint-core/src/api_server/routes/sessions.rs +44 -0
  45. package/crates/mint-core/src/api_server.rs +22 -3
  46. package/crates/mint-core/src/avatar_bridge.rs +2 -0
  47. package/crates/mint-core/src/browser/cdp.rs +74 -83
  48. package/crates/mint-core/src/browser/evidence.rs +260 -0
  49. package/crates/mint-core/src/browser/input.rs +1 -1
  50. package/crates/mint-core/src/browser/interact.rs +98 -124
  51. package/crates/mint-core/src/browser/lifecycle.rs +75 -4
  52. package/crates/mint-core/src/browser/mod.rs +16 -2
  53. package/crates/mint-core/src/browser/navigate.rs +27 -19
  54. package/crates/mint-core/src/browser/observe.js +40 -0
  55. package/crates/mint-core/src/browser/session.rs +1558 -0
  56. package/crates/mint-core/src/git/branches.rs +348 -0
  57. package/crates/mint-core/src/git/checkpoint.rs +40 -0
  58. package/crates/mint-core/src/git/diff.rs +206 -0
  59. package/crates/mint-core/src/git/mod.rs +10 -2
  60. package/crates/mint-core/src/integrations/channels.rs +1 -0
  61. package/crates/mint-core/src/lib.rs +22 -14
  62. package/crates/mint-core/src/live_sync.rs +28 -9
  63. package/crates/mint-core/src/media/auto_shorts.rs +1 -0
  64. package/crates/mint-core/src/media/gemini_live.rs +12 -1
  65. package/crates/mint-core/src/media/mic_transcribe.rs +1 -0
  66. package/crates/mint-core/src/media/subtitle.rs +1 -0
  67. package/crates/mint-core/src/orchestration/context_render.rs +1 -0
  68. package/crates/mint-core/src/orchestration/memory_skill.rs +6 -1
  69. package/crates/mint-core/src/orchestration/mod.rs +1024 -271
  70. package/crates/mint-core/src/orchestration/tools/browser.rs +16 -139
  71. package/crates/mint-core/src/orchestration/tools/misc.rs +2 -1
  72. package/crates/mint-core/src/orchestration/tools/web.rs +1 -1
  73. package/crates/mint-core/src/prompts/agent.rs +58 -29
  74. package/crates/mint-core/src/prompts/chat.rs +1 -1
  75. package/crates/mint-core/src/prompts/persona.rs +1 -1
  76. package/crates/mint-core/src/prompts/tool_catalog.rs +93 -25
  77. package/crates/mint-core/src/search/linked_folders/index.rs +732 -0
  78. package/crates/mint-core/src/search/linked_folders.rs +391 -130
  79. package/crates/mint-core/src/slash/mod.rs +470 -22
  80. package/crates/mint-core/src/slash/model_fetcher.rs +12 -3
  81. package/crates/mint-core/src/slash/models.rs +66 -10
  82. package/crates/mint-core/src/system/config.rs +230 -0
  83. package/crates/mint-core/src/system/workspace.rs +228 -0
  84. package/crates/mint-core/src/system.rs +1 -0
  85. package/crates/mint-core/tests/memory_persistence.rs +39 -0
  86. package/mint-presentation-demo.mp4 +0 -0
  87. package/out/web/assets/CliSessionsView-BxUVWEEL.js +1 -0
  88. package/out/web/assets/CliSessionsView-CBDTXuQv.css +1 -0
  89. package/out/web/assets/CodeReviewPage-DkMgfcos.css +1 -0
  90. package/out/web/assets/CodeReviewPage-jKlmLJwT.js +3 -0
  91. package/out/web/assets/CommandPalette-DnwPA5hy.js +1 -0
  92. package/out/web/assets/ImageStudioPanel-BR1XFwhR.js +1 -0
  93. package/out/web/assets/ImageStudioPanel-D0lnhQV5.css +1 -0
  94. package/out/web/assets/LinkedFoldersView-bi-CWQ-I.js +1 -0
  95. package/out/web/assets/McpRegistryPicker-D5tEFnyq.js +1 -0
  96. package/out/web/assets/McpServersView-BGG1dhFM.js +1 -0
  97. package/out/web/assets/MintDashboard-BIglDEWX.js +20 -0
  98. package/out/web/assets/MintDashboard-DSMywSgs.css +1 -0
  99. package/out/web/assets/ModelPanel-CbJ1PFoZ.js +1 -0
  100. package/out/web/assets/PicturesLibrary-CQP0fLP1.css +1 -0
  101. package/out/web/assets/PicturesLibrary-DoYN7T1p.js +1 -0
  102. package/out/web/assets/PluginsView-CU1HWXGk.js +1 -0
  103. package/out/web/assets/ScheduledTasksView-Bnl36y2N.js +1 -0
  104. package/out/web/assets/SettingsWindow-DhWLAn9T.css +1 -0
  105. package/out/web/assets/SettingsWindow-Dw8L01pw.js +2 -0
  106. package/out/web/assets/SkillsView-cnl8aY5p.js +2 -0
  107. package/out/web/assets/ToolSurfacePage-CgsQw6l5.css +1 -0
  108. package/out/web/assets/ToolSurfacePage-Cz2VJAPZ.js +37 -0
  109. package/out/web/assets/VeoStudioPanel-D4JnERWR.js +4 -0
  110. package/out/web/assets/VeoStudioPanel-DOj7_WR3.css +1 -0
  111. package/out/web/assets/WorkspacePanel-CbJ1PFoZ.js +1 -0
  112. package/out/web/assets/{abnfDiagram-VCTEODGH-DAOBA7ZG.js → abnfDiagram-VCTEODGH-ByMyfanq.js} +1 -1
  113. package/out/web/assets/{architecture-7GRP2DOG-CgSwQOPQ.js → architecture-7GRP2DOG-CLq2kEOB.js} +1 -1
  114. package/out/web/assets/{architectureDiagram-5GKGNRK7-CYp3yupP.js → architectureDiagram-5GKGNRK7-6PoVSmNG.js} +1 -1
  115. package/out/web/assets/{blockDiagram-NRAW4CY4-CyWybDWr.js → blockDiagram-NRAW4CY4-cKw9mAKi.js} +1 -1
  116. package/out/web/assets/{c4Diagram-UCG6FXSJ-BvY3U709.js → c4Diagram-UCG6FXSJ-Cqy8N5Ge.js} +1 -1
  117. package/out/web/assets/{chunk-75Z2AOVW-TLXCoZYv.js → chunk-75Z2AOVW-3qybijF5.js} +1 -1
  118. package/out/web/assets/chunk-CKBBP62Z-cIrXq6jN.js +2 -0
  119. package/out/web/assets/{chunk-CLGD4ZFX-xjsKtNS7.js → chunk-CLGD4ZFX-CndDQkww.js} +1 -1
  120. package/out/web/assets/chunk-DSNCTWBM-Cc4NxvgD.js +2 -0
  121. package/out/web/assets/chunk-DU6HZSFF-drzh6GsU.js +128 -0
  122. package/out/web/assets/{chunk-F27PBJKO-BFpgF55A.js → chunk-F27PBJKO-FiY35l4v.js} +1 -1
  123. package/out/web/assets/{chunk-G27WJ6UU-DfF7qW-C.js → chunk-G27WJ6UU-Bjt9Il4A.js} +1 -1
  124. package/out/web/assets/{chunk-GMAD6QVW-C-558kh_.js → chunk-GMAD6QVW-Bppi3Ctd.js} +1 -1
  125. package/out/web/assets/{chunk-JQ64N6SF-wJmeGKAw.js → chunk-JQ64N6SF-DGg5kcEV.js} +1 -1
  126. package/out/web/assets/{chunk-LCL6LL3I-C1wHD8Ie.js → chunk-LCL6LL3I-CCYcjd7p.js} +1 -1
  127. package/out/web/assets/{chunk-OBVCFTLP-BsRTPBqs.js → chunk-OBVCFTLP-DJeNil5M.js} +1 -1
  128. package/out/web/assets/{chunk-P2QGCYS3-HZIiM7Ni.js → chunk-P2QGCYS3-lRzkRjBB.js} +1 -1
  129. package/out/web/assets/{chunk-POPQ4Y6H-Dk9wvVb0.js → chunk-POPQ4Y6H-DouASMBW.js} +1 -1
  130. package/out/web/assets/{chunk-PWAF6VOD-BmjYLNbq.js → chunk-PWAF6VOD-DMmD1vVf.js} +1 -1
  131. package/out/web/assets/{chunk-R7TYR2AO-CaHIf-lK.js → chunk-R7TYR2AO-CYLA5UC5.js} +1 -1
  132. package/out/web/assets/{chunk-RHFEMEQ7-_T561hOU.js → chunk-RHFEMEQ7-BiXwEcUT.js} +1 -1
  133. package/out/web/assets/{chunk-SVP7TREG-CM-GGYoY.js → chunk-SVP7TREG-BV-zPslF.js} +1 -1
  134. package/out/web/assets/{chunk-TEH6E4GO-K2A8Vg2C.js → chunk-TEH6E4GO-B2RGEohZ.js} +1 -1
  135. package/out/web/assets/classDiagram-DTDB5LWJ-Dq0smRWk.js +1 -0
  136. package/out/web/assets/classDiagram-v2-JRS7N3AN-Dq0smRWk.js +1 -0
  137. package/out/web/assets/config-C-ZFtipU.css +1 -0
  138. package/out/web/assets/config-eEDngJXO.js +1 -0
  139. package/out/web/assets/core-hQ2VA9Ti.js +1 -0
  140. package/out/web/assets/{cynefin-OW5HDTMX-ClzaB6cc.js → cynefin-OW5HDTMX-Cas4csHM.js} +1 -1
  141. package/out/web/assets/{cynefinDiagram-5FMLGOSQ-D_JzZBzf.js → cynefinDiagram-5FMLGOSQ-Bbpj66Y3.js} +1 -1
  142. package/out/web/assets/{dagre-3AP2YEHR-BDuUeMHj.js → dagre-3AP2YEHR-B0-2RDEd.js} +1 -1
  143. package/out/web/assets/{diagram-S7CK7UJ4-DgtcfE8P.js → diagram-S7CK7UJ4-BdzEjUyH.js} +1 -1
  144. package/out/web/assets/{diagram-UQ7AKVKN-DTLoEYti.js → diagram-UQ7AKVKN-CJDwyPxF.js} +1 -1
  145. package/out/web/assets/{diagram-VSXAHHWV-ChGl9pXz.js → diagram-VSXAHHWV-BxaG1r_B.js} +1 -1
  146. package/out/web/assets/{diagram-VX7I27RA-Be8DWz0S.js → diagram-VX7I27RA-BMmUqm8f.js} +1 -1
  147. package/out/web/assets/{diagram-Z3DM3KII-BMXjRTOF.js → diagram-Z3DM3KII-CFtd03eE.js} +1 -1
  148. package/out/web/assets/dist-js-Bf2bhoku.js +1 -0
  149. package/out/web/assets/{ebnfDiagram-PWID7BFC-8Q9pl1CJ.js → ebnfDiagram-PWID7BFC-DwAen1hO.js} +1 -1
  150. package/out/web/assets/{erDiagram-SSCWMZ5O-DjH8Lnkn.js → erDiagram-SSCWMZ5O-BCZSHACj.js} +1 -1
  151. package/out/web/assets/event-ChBVpRy0.js +1 -0
  152. package/out/web/assets/{eventmodeling-NTZA5JFV-BKUH_DOp.js → eventmodeling-NTZA5JFV-XHStE4E_.js} +1 -1
  153. package/out/web/assets/fira-code-latin-600-normal-BmSSHshu.woff +0 -0
  154. package/out/web/assets/fira-code-latin-600-normal-CvYZpPHg.woff2 +0 -0
  155. package/out/web/assets/fira-code-symbols2-600-normal-Dvq6IQE5.woff +0 -0
  156. package/out/web/assets/flowDiagram-A5DVABFB-BLg7nEcd.js +1 -0
  157. package/out/web/assets/{ganttDiagram-EL5Y4UJY-D7fZKJNM.js → ganttDiagram-EL5Y4UJY-BAEu1Cql.js} +1 -1
  158. package/out/web/assets/{gitGraph-4MIJSDKK-BypWaaBU.js → gitGraph-4MIJSDKK-r32Vyper.js} +1 -1
  159. package/out/web/assets/{gitGraphDiagram-WWUBYQGX-DWiw_3bq.js → gitGraphDiagram-WWUBYQGX-z9o9qt6V.js} +1 -1
  160. package/out/web/assets/index-Btsf4L8M.css +1 -0
  161. package/out/web/assets/index-D8D9MeRA.js +11 -0
  162. package/out/web/assets/{info-A6RAGUB7-KkAUxT4j.js → info-A6RAGUB7-BvLaC2cw.js} +1 -1
  163. package/out/web/assets/{infoDiagram-RXCK75RN-BNb6E48y.js → infoDiagram-RXCK75RN-Be6WAXXw.js} +1 -1
  164. package/out/web/assets/{ishikawaDiagram-5VMMS53U-Caa-JoAK.js → ishikawaDiagram-5VMMS53U-DZjoHJHC.js} +1 -1
  165. package/out/web/assets/{journeyDiagram-EYS64GPL-DOrmFGz6.js → journeyDiagram-EYS64GPL-CtVkjkGm.js} +1 -1
  166. package/out/web/assets/{kanban-definition-3QL26DDD-BOWCYcK0.js → kanban-definition-3QL26DDD-CW5FMv1w.js} +1 -1
  167. package/out/web/assets/lucide-react-Ip3L6Jtn.js +1 -0
  168. package/out/web/assets/markdown-BSeeUbJH.js +38 -0
  169. package/out/web/assets/{mermaid-parser.core-BQqjCkS_.js → mermaid-parser.core-aUgCqsZ5.js} +3 -3
  170. package/out/web/assets/mermaid.core-D57sEiSL.js +11 -0
  171. package/out/web/assets/{mindmap-definition-FBJOCRG2-jTceWpr0.js → mindmap-definition-FBJOCRG2-DAmSpM3a.js} +1 -1
  172. package/out/web/assets/modelManager-tMVmJVAW.js +2 -0
  173. package/out/web/assets/oauthManager-9jxicDWJ.js +1 -0
  174. package/out/web/assets/{packet-AYTQ26CC-CJ5RXgol.js → packet-AYTQ26CC-DJ27iIoJ.js} +1 -1
  175. package/out/web/assets/{pegDiagram-XKGWAZYB-y8wMtd0y.js → pegDiagram-XKGWAZYB-Bj3ii-gS.js} +1 -1
  176. package/out/web/assets/{pie-WAS4IAKB-72fTBbl4.js → pie-WAS4IAKB-DG5mCUbc.js} +1 -1
  177. package/out/web/assets/{pieDiagram-E7YTZNPT-e0O02qWq.js → pieDiagram-E7YTZNPT-BrJLPnDA.js} +1 -1
  178. package/out/web/assets/prompt-latin-700-normal-BfbftDSq.woff +0 -0
  179. package/out/web/assets/prompt-latin-700-normal-I2gc831J.woff2 +0 -0
  180. package/out/web/assets/prompt-thai-700-normal-Cb5ilR-c.woff +0 -0
  181. package/out/web/assets/prompt-thai-700-normal-Cg4aQ0Nn.woff2 +0 -0
  182. package/out/web/assets/{quadrantDiagram-AXDQQJYC-C9phYLom.js → quadrantDiagram-AXDQQJYC-3x_TmF3j.js} +1 -1
  183. package/out/web/assets/{radar-RG4KPBEZ-BAU2hzUT.js → radar-RG4KPBEZ-CrXaTTuV.js} +1 -1
  184. package/out/web/assets/{railroad-74A4TZTK-B0bCAVHC.js → railroad-74A4TZTK-BpqMH9BE.js} +1 -1
  185. package/out/web/assets/{railroad-abnf-HS5TGJTU-WhxO7ndE.js → railroad-abnf-HS5TGJTU-DHI0uLlV.js} +1 -1
  186. package/out/web/assets/{railroad-ebnf-LZEXJU2U-BkA0m7-F.js → railroad-ebnf-LZEXJU2U-CQCb316y.js} +1 -1
  187. package/out/web/assets/{railroad-peg-WCYAUIDC-BsVpHIaj.js → railroad-peg-WCYAUIDC-Ph1giKkH.js} +1 -1
  188. package/out/web/assets/{railroadDiagram-O6MQD6OU-CyOLN65Q.js → railroadDiagram-O6MQD6OU-BRq6wIxx.js} +1 -1
  189. package/out/web/assets/{requirementDiagram-EFPCY7ZU-DQXJ7Dud.js → requirementDiagram-EFPCY7ZU-DIJj6G1g.js} +1 -1
  190. package/out/web/assets/{sankeyDiagram-P5KCCOFB-B2XLyIIc.js → sankeyDiagram-P5KCCOFB-DZajSryq.js} +1 -1
  191. package/out/web/assets/{sequenceDiagram-WJ2MYXX4-DGQY4wwm.js → sequenceDiagram-WJ2MYXX4-DxJCWyZS.js} +1 -1
  192. package/out/web/assets/{stateDiagram-HBIQ2CUA-DHZpDwNy.js → stateDiagram-HBIQ2CUA-k6voi8Vf.js} +1 -1
  193. package/out/web/assets/stateDiagram-v2-4QOOHH4V-DeEc0lGZ.js +1 -0
  194. package/out/web/assets/studio-B1mk40wD.js +1 -0
  195. package/out/web/assets/{swimlanes-XN3QIQJK-Bn_jcZz-.js → swimlanes-XN3QIQJK-igYhTjXB.js} +1 -1
  196. package/out/web/assets/swimlanesDiagram-VK2B7HYN-DpVik9v7.js +8 -0
  197. package/out/web/assets/{timeline-definition-24CTP7MA-CdTERuJZ.js → timeline-definition-24CTP7MA-Dke2p93p.js} +1 -1
  198. package/out/web/assets/{treeView-Q6P3EWNA-TKBKQG6R.js → treeView-Q6P3EWNA-hNELnXUs.js} +1 -1
  199. package/out/web/assets/{treemap-WGGIJYW6-BP7gQoiC.js → treemap-WGGIJYW6-D2B6wDsx.js} +1 -1
  200. package/out/web/assets/{vennDiagram-4TSXK5OY-BHUmxDuK.js → vennDiagram-4TSXK5OY-CDkW7rUP.js} +1 -1
  201. package/out/web/assets/{wardley-WFR3VGLG-9bct5AAN.js → wardley-WFR3VGLG-BECdXETi.js} +1 -1
  202. package/out/web/assets/{wardleyDiagram-VM6X3IG4-BfJwDDso.js → wardleyDiagram-VM6X3IG4-B5BycpQ4.js} +1 -1
  203. package/out/web/assets/window-5qYXKoW7.js +1 -0
  204. package/out/web/assets/{xychartDiagram-S5SC5T6Z-Dqd9Mvpo.js → xychartDiagram-S5SC5T6Z-CtJS3b--.js} +1 -1
  205. package/out/web/index-web.html +3 -4
  206. package/out/web/index.html +3 -4
  207. package/package.json +17 -6
  208. package/skills-lock.json +36 -0
  209. package/slash-commands.json +9 -0
  210. package/src/renderer/index-web.html +1 -0
  211. package/src/renderer/index.html +1 -0
  212. package/src/renderer/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  213. package/src/renderer/shared/agentProgress.ts +168 -3
  214. package/src/renderer/shared/components/AgentActivityDrawer.tsx +6 -6
  215. package/src/renderer/shared/components/AgentActivityTable.tsx +192 -132
  216. package/src/renderer/shared/components/ArtifactPreviewPanel.tsx +4 -4
  217. package/src/renderer/shared/components/AuthGate.tsx +4 -9
  218. package/src/renderer/shared/components/CalculationCard.tsx +41 -15
  219. package/src/renderer/shared/components/ChatMessageItem.tsx +20 -21
  220. package/src/renderer/shared/components/ChatPanel.tsx +432 -193
  221. package/src/renderer/shared/components/ChunkErrorBoundary.tsx +198 -49
  222. package/src/renderer/shared/components/CliSessionsView.tsx +495 -0
  223. package/src/renderer/shared/components/CodeReviewPage.tsx +565 -0
  224. package/src/renderer/shared/components/CommandPalette.tsx +8 -8
  225. package/src/renderer/shared/components/DashboardSidebar.tsx +862 -125
  226. package/src/renderer/shared/components/DesktopTitlebar.tsx +345 -0
  227. package/src/renderer/shared/components/DiffReviewModal.tsx +3 -3
  228. package/src/renderer/shared/components/GitBranchSelector.tsx +442 -0
  229. package/src/renderer/shared/components/ImageGenCard.tsx +31 -12
  230. package/src/renderer/shared/components/ImageSearchCard.tsx +59 -38
  231. package/src/renderer/shared/components/ImageStudioPanel.tsx +40 -41
  232. package/src/renderer/shared/components/InlineThoughtNote.tsx +27 -0
  233. package/src/renderer/shared/components/LinkedFoldersView.tsx +365 -46
  234. package/src/renderer/shared/components/McpRegistryPicker.tsx +1 -1
  235. package/src/renderer/shared/components/McpServersView.tsx +24 -22
  236. package/src/renderer/shared/components/MermaidCard.tsx +14 -8
  237. package/src/renderer/shared/components/MintDashboard.tsx +1141 -508
  238. package/src/renderer/shared/components/ModelSelectorPopover.tsx +535 -214
  239. package/src/renderer/shared/components/PlanChecklistWidget.tsx +1 -1
  240. package/src/renderer/shared/components/PluginsView.tsx +1 -1
  241. package/src/renderer/shared/components/RewindModal.tsx +6 -6
  242. package/src/renderer/shared/components/RunSummaryDashboard.tsx +3 -3
  243. package/src/renderer/shared/components/ScheduledTasksView.tsx +4 -4
  244. package/src/renderer/shared/components/ScreenCaptureDialog.css +221 -0
  245. package/src/renderer/shared/components/ScreenCaptureDialog.tsx +199 -0
  246. package/src/renderer/shared/components/Settings/AgentsTab.tsx +34 -39
  247. package/src/renderer/shared/components/Settings/AudioTab.tsx +8 -8
  248. package/src/renderer/shared/components/Settings/AutomationTab.tsx +8 -58
  249. package/src/renderer/shared/components/Settings/AvatarCropModal.tsx +368 -0
  250. package/src/renderer/shared/components/Settings/GeneralTab.tsx +335 -81
  251. package/src/renderer/shared/components/Settings/MemoryTab.tsx +3 -3
  252. package/src/renderer/shared/components/Settings/PluginsTab.tsx +20 -12
  253. package/src/renderer/shared/components/Settings/ProfileTab.tsx +29 -5
  254. package/src/renderer/shared/components/Settings/SearchableModelCombobox.tsx +411 -0
  255. package/src/renderer/shared/components/Settings/ThemeTab.tsx +401 -158
  256. package/src/renderer/shared/components/SkillsView.tsx +41 -16
  257. package/src/renderer/shared/components/SlashSuggestions.tsx +3 -2
  258. package/src/renderer/shared/components/SourcesBlock.tsx +44 -32
  259. package/src/renderer/shared/components/StockCard.tsx +58 -24
  260. package/src/renderer/shared/components/SubagentDagView.tsx +4 -4
  261. package/src/renderer/shared/components/TerminalDock.tsx +241 -0
  262. package/src/renderer/shared/components/ThinkingBlock.tsx +14 -8
  263. package/src/renderer/shared/components/ToolSurfacePage.tsx +520 -0
  264. package/src/renderer/shared/components/UiFeatureCard.tsx +267 -0
  265. package/src/renderer/shared/components/UiGridCard.tsx +188 -0
  266. package/src/renderer/shared/components/UiMockupWidget.tsx +149 -0
  267. package/src/renderer/shared/components/VeoStudioPanel.tsx +13 -29
  268. package/src/renderer/shared/components/WeatherCard.tsx +3 -3
  269. package/src/renderer/shared/components/WorkspaceContextPopover.tsx +133 -0
  270. package/src/renderer/shared/components/WorkspaceSelector.tsx +149 -0
  271. package/src/renderer/shared/constants/config.ts +28 -3
  272. package/src/renderer/shared/constants/models.ts +189 -2
  273. package/src/renderer/shared/conversation/coordinator.test.ts +27 -0
  274. package/src/renderer/shared/conversation/coordinator.ts +82 -0
  275. package/src/renderer/shared/conversation/syncView.test.ts +46 -0
  276. package/src/renderer/shared/conversation/syncView.ts +43 -0
  277. package/src/renderer/shared/conversation/useConversationCoordinator.ts +106 -0
  278. package/src/renderer/shared/css/agent-observability.css +35 -3
  279. package/src/renderer/shared/css/auth-gate.css +2 -2
  280. package/src/renderer/shared/css/chat-ui-cards.css +495 -0
  281. package/src/renderer/shared/css/code-review.css +823 -0
  282. package/src/renderer/shared/css/code-sessions.css +452 -0
  283. package/src/renderer/shared/css/file-changes.css +132 -0
  284. package/src/renderer/shared/css/image-studio.css +16 -16
  285. package/src/renderer/shared/css/management-views.css +277 -27
  286. package/src/renderer/shared/css/model-selector.css +442 -42
  287. package/src/renderer/shared/css/settings/agents.css +1 -1
  288. package/src/renderer/shared/css/settings/automation.css +13 -13
  289. package/src/renderer/shared/css/settings/general.css +526 -5
  290. package/src/renderer/shared/css/settings/plugins.css +5 -5
  291. package/src/renderer/shared/css/settings/profile.css +331 -1
  292. package/src/renderer/shared/css/settings/theme.css +651 -3
  293. package/src/renderer/shared/css/veo-studio.css +16 -15
  294. package/src/renderer/shared/fonts.ts +19 -37
  295. package/src/renderer/shared/platform.test.ts +34 -0
  296. package/src/renderer/shared/platform.ts +173 -6
  297. package/src/renderer/shared/theme/themeManager.ts +144 -0
  298. package/src/renderer/shared/theme/themes.ts +116 -0
  299. package/src/renderer/shared/theme/tokens.css +318 -0
  300. package/src/renderer/shared/types.ts +82 -1
  301. package/src/renderer/shared/utils/agentActivity.ts +126 -5
  302. package/src/renderer/shared/utils/cardJson.test.ts +35 -0
  303. package/src/renderer/shared/utils/cardJson.ts +30 -0
  304. package/src/renderer/shared/utils/fileIcons.ts +1 -1
  305. package/src/renderer/shared/utils/markdown.tsx +329 -80
  306. package/src/renderer/shared/utils/markdown.webImages.test.tsx +40 -0
  307. package/src/renderer/shared/utils/providers.ts +8 -3
  308. package/src/renderer/shared/utils/screenCapture.ts +43 -0
  309. package/src/renderer/shared/utils/slashCommandProcessor.ts +4 -1
  310. package/src/renderer/shared/utils/ui.ts +4 -64
  311. package/src/renderer/src/App.tsx +7 -0
  312. package/src/renderer/src/components/BrowserShell.tsx +108 -0
  313. package/src/renderer/src/components/BrowserSuggestionsPopup.tsx +91 -0
  314. package/src/renderer/src/components/Live2DStage.tsx +32 -9
  315. package/src/renderer/src/components/MintDashboard.tsx +4 -2
  316. package/src/renderer/src/components/ModelPanel.tsx +2 -1
  317. package/src/renderer/src/components/PicturesLibrary.tsx +3 -2
  318. package/src/renderer/src/components/ScreenPicker.css +190 -0
  319. package/src/renderer/src/components/ScreenPicker.tsx +185 -540
  320. package/src/renderer/src/components/SettingsWindow.tsx +40 -2
  321. package/src/renderer/src/components/SpotlightWindow.tsx +1 -0
  322. package/src/renderer/src/components/WidgetWindow.tsx +27 -3
  323. package/src/renderer/src/components/WorkspacePanel.tsx +61 -43
  324. package/src/renderer/src/components/browser-shell.css +185 -0
  325. package/src/renderer/src/components/browser-suggestions-popup.css +55 -0
  326. package/src/renderer/src/components/liveTranslateFrames.test.ts +23 -0
  327. package/src/renderer/src/components/liveTranslateFrames.ts +34 -0
  328. package/src/renderer/src/css/app-shell.css +394 -113
  329. package/src/renderer/src/css/chat.css +1926 -380
  330. package/src/renderer/src/css/dashboard.css +11 -0
  331. package/src/renderer/src/css/desktop-tools.css +730 -0
  332. package/src/renderer/src/css/misc.css +19 -22
  333. package/src/renderer/src/css/model.css +49 -48
  334. package/src/renderer/src/css/pictures.css +144 -136
  335. package/src/renderer/src/css/settings/base.css +357 -123
  336. package/src/renderer/src/css/sidebar-workspace.css +930 -291
  337. package/src/renderer/src/css/spotlight.css +15 -26
  338. package/src/renderer/src/css/tool-surfaces.css +728 -0
  339. package/src/renderer/src/css/widget.css +35 -7
  340. package/src/renderer/src/env.d.ts +3 -0
  341. package/src/renderer/src/hooks/useProviderModels.ts +2 -9
  342. package/src/renderer/src/index.css +53 -46
  343. package/src/renderer/src/main.tsx +11 -0
  344. package/src/renderer/src/tauri.ts +201 -30
  345. package/src/renderer/src-web/App.tsx +40 -0
  346. package/src/renderer/src-web/components/MintDashboard.tsx +4 -2
  347. package/src/renderer/src-web/components/PicturesLibrary.tsx +3 -2
  348. package/src/renderer/src-web/components/PullToRefresh.tsx +107 -0
  349. package/src/renderer/src-web/components/SettingsWindow.tsx +28 -2
  350. package/src/renderer/src-web/css/app-shell.css +174 -96
  351. package/src/renderer/src-web/css/chat.css +1519 -316
  352. package/src/renderer/src-web/css/dashboard.css +11 -0
  353. package/src/renderer/src-web/css/misc.css +17 -17
  354. package/src/renderer/src-web/css/mobile.css +678 -0
  355. package/src/renderer/src-web/css/model.css +46 -46
  356. package/src/renderer/src-web/css/pictures.css +81 -34
  357. package/src/renderer/src-web/css/pull-to-refresh.css +54 -0
  358. package/src/renderer/src-web/css/settings/base.css +316 -100
  359. package/src/renderer/src-web/css/settings/mobile.css +320 -0
  360. package/src/renderer/src-web/css/sidebar-workspace.css +545 -100
  361. package/src/renderer/src-web/css/spotlight.css +9 -26
  362. package/src/renderer/src-web/css/widget.css +0 -5
  363. package/src/renderer/src-web/env.d.ts +3 -0
  364. package/src/renderer/src-web/hooks/useProviderModels.ts +2 -9
  365. package/src/renderer/src-web/index.css +53 -96
  366. package/src/renderer/src-web/main.tsx +11 -0
  367. package/src/renderer/src-web/tauri.ts +200 -30
  368. package/vite.config.web.ts +1 -0
  369. package/out/web/assets/MintDashboard-DWSqucgb.js +0 -57
  370. package/out/web/assets/SettingsWindow-DFM2aj5B.js +0 -2
  371. package/out/web/assets/chunk-CKBBP62Z-nr1uKPj9.js +0 -2
  372. package/out/web/assets/chunk-DSNCTWBM-Dtj8Rqsd.js +0 -2
  373. package/out/web/assets/chunk-DU6HZSFF-2tv5K1wT.js +0 -128
  374. package/out/web/assets/classDiagram-DTDB5LWJ-BdSFArgw.js +0 -1
  375. package/out/web/assets/classDiagram-v2-JRS7N3AN-BdSFArgw.js +0 -1
  376. package/out/web/assets/core-DImejIUG.js +0 -1
  377. package/out/web/assets/dist-js-BxuKEVWM.js +0 -1
  378. package/out/web/assets/event-BNl8Zahw.js +0 -1
  379. package/out/web/assets/fira-code-cyrillic-400-normal-UC0NFL4U.woff2 +0 -0
  380. package/out/web/assets/fira-code-cyrillic-400-normal-dc1q3VD7.woff +0 -0
  381. package/out/web/assets/fira-code-cyrillic-500-normal-Bu7VCL72.woff +0 -0
  382. package/out/web/assets/fira-code-cyrillic-500-normal-CX35h3Mg.woff2 +0 -0
  383. package/out/web/assets/fira-code-cyrillic-ext-400-normal-Buh61xzB.woff +0 -0
  384. package/out/web/assets/fira-code-cyrillic-ext-400-normal-txZ9Fk_1.woff2 +0 -0
  385. package/out/web/assets/fira-code-cyrillic-ext-500-normal-CYRspHgm.woff2 +0 -0
  386. package/out/web/assets/fira-code-cyrillic-ext-500-normal-CwtLmSFD.woff +0 -0
  387. package/out/web/assets/fira-code-greek-400-normal-B2Gh_Y8s.woff2 +0 -0
  388. package/out/web/assets/fira-code-greek-400-normal-DobhaxvF.woff +0 -0
  389. package/out/web/assets/fira-code-greek-500-normal-CVO0IRNt.woff2 +0 -0
  390. package/out/web/assets/fira-code-greek-500-normal-DEXIWiey.woff +0 -0
  391. package/out/web/assets/fira-code-greek-ext-400-normal-DR7mBgIM.woff2 +0 -0
  392. package/out/web/assets/fira-code-greek-ext-400-normal-DSPUheWg.woff +0 -0
  393. package/out/web/assets/fira-code-greek-ext-500-normal-BO3iq16n.woff2 +0 -0
  394. package/out/web/assets/fira-code-greek-ext-500-normal-CMiNLXER.woff +0 -0
  395. package/out/web/assets/fira-code-latin-ext-400-normal-DG73JjOf.woff +0 -0
  396. package/out/web/assets/fira-code-latin-ext-400-normal-KSMg0QLl.woff2 +0 -0
  397. package/out/web/assets/fira-code-latin-ext-500-normal-CaANqXjI.woff +0 -0
  398. package/out/web/assets/fira-code-latin-ext-500-normal-Crd9e_oI.woff2 +0 -0
  399. package/out/web/assets/flowDiagram-A5DVABFB-BpnHUSU7.js +0 -1
  400. package/out/web/assets/index-CVRg270z.css +0 -1
  401. package/out/web/assets/index-DxZQr9yD.js +0 -10
  402. package/out/web/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  403. package/out/web/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  404. package/out/web/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  405. package/out/web/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  406. package/out/web/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  407. package/out/web/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  408. package/out/web/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  409. package/out/web/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  410. package/out/web/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  411. package/out/web/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  412. package/out/web/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  413. package/out/web/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  414. package/out/web/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  415. package/out/web/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  416. package/out/web/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  417. package/out/web/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  418. package/out/web/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  419. package/out/web/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  420. package/out/web/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  421. package/out/web/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  422. package/out/web/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  423. package/out/web/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  424. package/out/web/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  425. package/out/web/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  426. package/out/web/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  427. package/out/web/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  428. package/out/web/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  429. package/out/web/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  430. package/out/web/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  431. package/out/web/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  432. package/out/web/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  433. package/out/web/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  434. package/out/web/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  435. package/out/web/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  436. package/out/web/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  437. package/out/web/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  438. package/out/web/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  439. package/out/web/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  440. package/out/web/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  441. package/out/web/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  442. package/out/web/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  443. package/out/web/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  444. package/out/web/assets/kanit-latin-400-normal-BUlsQXH3.woff2 +0 -0
  445. package/out/web/assets/kanit-latin-400-normal-HVZWrfev.woff +0 -0
  446. package/out/web/assets/kanit-latin-500-normal-CX_4XcKi.woff2 +0 -0
  447. package/out/web/assets/kanit-latin-500-normal-qBha86O4.woff +0 -0
  448. package/out/web/assets/kanit-latin-600-normal-0lS78yAd.woff2 +0 -0
  449. package/out/web/assets/kanit-latin-600-normal-DlacpeTg.woff +0 -0
  450. package/out/web/assets/kanit-latin-ext-400-normal-B2xPf58u.woff2 +0 -0
  451. package/out/web/assets/kanit-latin-ext-400-normal-CHvNKHHD.woff +0 -0
  452. package/out/web/assets/kanit-latin-ext-500-normal-BFdWrG22.woff +0 -0
  453. package/out/web/assets/kanit-latin-ext-500-normal-EHs3suD6.woff2 +0 -0
  454. package/out/web/assets/kanit-latin-ext-600-normal-BBDzoLaj.woff +0 -0
  455. package/out/web/assets/kanit-latin-ext-600-normal-DAX3wtuq.woff2 +0 -0
  456. package/out/web/assets/kanit-thai-400-normal-D2nliXKa.woff +0 -0
  457. package/out/web/assets/kanit-thai-400-normal-D80Pglro.woff2 +0 -0
  458. package/out/web/assets/kanit-thai-500-normal-BB8gri04.woff2 +0 -0
  459. package/out/web/assets/kanit-thai-500-normal-Iy_w0a80.woff +0 -0
  460. package/out/web/assets/kanit-thai-600-normal-Bj6oiaDc.woff2 +0 -0
  461. package/out/web/assets/kanit-thai-600-normal-wbTlPO7I.woff +0 -0
  462. package/out/web/assets/kanit-vietnamese-400-normal-DRI8YWyb.woff2 +0 -0
  463. package/out/web/assets/kanit-vietnamese-400-normal-dow6Bnto.woff +0 -0
  464. package/out/web/assets/kanit-vietnamese-500-normal-BzTrpCM3.woff2 +0 -0
  465. package/out/web/assets/kanit-vietnamese-500-normal-T1ndT7MF.woff +0 -0
  466. package/out/web/assets/kanit-vietnamese-600-normal-Bi7fw3I4.woff2 +0 -0
  467. package/out/web/assets/kanit-vietnamese-600-normal-DXCRAa_8.woff +0 -0
  468. package/out/web/assets/mali-latin-400-normal-ByPcZ8Gx.woff +0 -0
  469. package/out/web/assets/mali-latin-400-normal-Cuc6Ykl8.woff2 +0 -0
  470. package/out/web/assets/mali-latin-500-normal-B01M-LP6.woff2 +0 -0
  471. package/out/web/assets/mali-latin-500-normal-Thgqw_9f.woff +0 -0
  472. package/out/web/assets/mali-latin-600-normal-B9TiUNpT.woff2 +0 -0
  473. package/out/web/assets/mali-latin-600-normal-CycpQCwU.woff +0 -0
  474. package/out/web/assets/mali-latin-ext-400-normal-DUVdJQO4.woff +0 -0
  475. package/out/web/assets/mali-latin-ext-400-normal-iCG1ALuJ.woff2 +0 -0
  476. package/out/web/assets/mali-latin-ext-500-normal-BfJE4UMZ.woff2 +0 -0
  477. package/out/web/assets/mali-latin-ext-500-normal-FoLEyOKS.woff +0 -0
  478. package/out/web/assets/mali-latin-ext-600-normal-BTvIfiCp.woff2 +0 -0
  479. package/out/web/assets/mali-latin-ext-600-normal-DAQcLVmD.woff +0 -0
  480. package/out/web/assets/mali-thai-400-normal-BO7A3bLZ.woff2 +0 -0
  481. package/out/web/assets/mali-thai-400-normal-CX9VrjTn.woff +0 -0
  482. package/out/web/assets/mali-thai-500-normal-Cph2qha9.woff +0 -0
  483. package/out/web/assets/mali-thai-500-normal-D89rMT77.woff2 +0 -0
  484. package/out/web/assets/mali-thai-600-normal-DPgXT6rZ.woff +0 -0
  485. package/out/web/assets/mali-thai-600-normal-DlTx3OsB.woff2 +0 -0
  486. package/out/web/assets/mali-vietnamese-400-normal-DUKxzXaz.woff2 +0 -0
  487. package/out/web/assets/mali-vietnamese-400-normal-gFDLvsOK.woff +0 -0
  488. package/out/web/assets/mali-vietnamese-500-normal--OY07q2c.woff +0 -0
  489. package/out/web/assets/mali-vietnamese-500-normal-KDrNRwfW.woff2 +0 -0
  490. package/out/web/assets/mali-vietnamese-600-normal-CtTMUU7T.woff +0 -0
  491. package/out/web/assets/mali-vietnamese-600-normal-DFlJr66u.woff2 +0 -0
  492. package/out/web/assets/mermaid.core-DYGGlqOf.js +0 -11
  493. package/out/web/assets/mitr-latin-400-normal-Cb18vPmZ.woff +0 -0
  494. package/out/web/assets/mitr-latin-400-normal-CwbkLQ4a.woff2 +0 -0
  495. package/out/web/assets/mitr-latin-500-normal-B4JOhzAi.woff +0 -0
  496. package/out/web/assets/mitr-latin-500-normal-BmClOow2.woff2 +0 -0
  497. package/out/web/assets/mitr-latin-ext-400-normal-B3CPG7Yo.woff2 +0 -0
  498. package/out/web/assets/mitr-latin-ext-400-normal-DTx65hiC.woff +0 -0
  499. package/out/web/assets/mitr-latin-ext-500-normal-B_Diajz1.woff2 +0 -0
  500. package/out/web/assets/mitr-latin-ext-500-normal-DYOsVaVT.woff +0 -0
  501. package/out/web/assets/mitr-thai-400-normal-CS4Do6aM.woff +0 -0
  502. package/out/web/assets/mitr-thai-400-normal-CXWaAdVj.woff2 +0 -0
  503. package/out/web/assets/mitr-thai-500-normal-CVdBrEVH.woff2 +0 -0
  504. package/out/web/assets/mitr-thai-500-normal-CW_B5D-i.woff +0 -0
  505. package/out/web/assets/mitr-vietnamese-400-normal-CPMGWyoC.woff2 +0 -0
  506. package/out/web/assets/mitr-vietnamese-400-normal-Z6XhIpdY.woff +0 -0
  507. package/out/web/assets/mitr-vietnamese-500-normal-CDrv0585.woff2 +0 -0
  508. package/out/web/assets/mitr-vietnamese-500-normal-CMQWyq-Z.woff +0 -0
  509. package/out/web/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2 +0 -0
  510. package/out/web/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff +0 -0
  511. package/out/web/assets/noto-sans-thai-latin-500-normal-BC04jsmm.woff +0 -0
  512. package/out/web/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2 +0 -0
  513. package/out/web/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2 +0 -0
  514. package/out/web/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff +0 -0
  515. package/out/web/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff +0 -0
  516. package/out/web/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2 +0 -0
  517. package/out/web/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2 +0 -0
  518. package/out/web/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.woff +0 -0
  519. package/out/web/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff +0 -0
  520. package/out/web/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2 +0 -0
  521. package/out/web/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2 +0 -0
  522. package/out/web/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff +0 -0
  523. package/out/web/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff +0 -0
  524. package/out/web/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2 +0 -0
  525. package/out/web/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff +0 -0
  526. package/out/web/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2 +0 -0
  527. package/out/web/assets/oauthManager-DNiwM8Rn.js +0 -2
  528. package/out/web/assets/oauthManager-DuamS1Av.css +0 -1
  529. package/out/web/assets/outfit-latin-300-normal-AWLfuCom.woff +0 -0
  530. package/out/web/assets/outfit-latin-300-normal-CRYTwY6m.woff2 +0 -0
  531. package/out/web/assets/outfit-latin-400-normal-BGsTXAXT.woff2 +0 -0
  532. package/out/web/assets/outfit-latin-400-normal-DMwTpYkH.woff +0 -0
  533. package/out/web/assets/outfit-latin-500-normal-ClnHRwRh.woff +0 -0
  534. package/out/web/assets/outfit-latin-500-normal-DKnIMDSk.woff2 +0 -0
  535. package/out/web/assets/outfit-latin-600-normal-B7SfZ07L.woff2 +0 -0
  536. package/out/web/assets/outfit-latin-600-normal-BEfTtDA7.woff +0 -0
  537. package/out/web/assets/outfit-latin-ext-300-normal-BYS6Dpvq.woff2 +0 -0
  538. package/out/web/assets/outfit-latin-ext-300-normal-CMIMshEd.woff +0 -0
  539. package/out/web/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2 +0 -0
  540. package/out/web/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff +0 -0
  541. package/out/web/assets/outfit-latin-ext-500-normal-DrCvqoFD.woff +0 -0
  542. package/out/web/assets/outfit-latin-ext-500-normal-zeox_O30.woff2 +0 -0
  543. package/out/web/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2 +0 -0
  544. package/out/web/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff +0 -0
  545. package/out/web/assets/preload-helper-D0uHx7FM.js +0 -1
  546. package/out/web/assets/prompt-latin-ext-400-normal-1pHbN9uy.woff +0 -0
  547. package/out/web/assets/prompt-latin-ext-400-normal-DdSafGZ9.woff2 +0 -0
  548. package/out/web/assets/prompt-latin-ext-500-normal--EZ1um7s.woff2 +0 -0
  549. package/out/web/assets/prompt-latin-ext-500-normal-D-lI1EVT.woff +0 -0
  550. package/out/web/assets/prompt-latin-ext-600-normal-C8b50x67.woff +0 -0
  551. package/out/web/assets/prompt-latin-ext-600-normal-Cg9L7iJU.woff2 +0 -0
  552. package/out/web/assets/prompt-vietnamese-400-normal-BCPzsgPT.woff2 +0 -0
  553. package/out/web/assets/prompt-vietnamese-400-normal-D4pLyeNK.woff +0 -0
  554. package/out/web/assets/prompt-vietnamese-500-normal-DmzxmPwa.woff2 +0 -0
  555. package/out/web/assets/prompt-vietnamese-500-normal-w_sS_j2F.woff +0 -0
  556. package/out/web/assets/prompt-vietnamese-600-normal-1dyohtNh.woff +0 -0
  557. package/out/web/assets/prompt-vietnamese-600-normal-7QWjJBsF.woff2 +0 -0
  558. package/out/web/assets/sarabun-latin-400-normal-DmguIS-7.woff +0 -0
  559. package/out/web/assets/sarabun-latin-400-normal-URPBxl-K.woff2 +0 -0
  560. package/out/web/assets/sarabun-latin-500-normal-BjUTcdxu.woff2 +0 -0
  561. package/out/web/assets/sarabun-latin-500-normal-CJexTAnl.woff +0 -0
  562. package/out/web/assets/sarabun-latin-600-normal-9FonlkKx.woff +0 -0
  563. package/out/web/assets/sarabun-latin-600-normal-DMD3TROr.woff2 +0 -0
  564. package/out/web/assets/sarabun-latin-ext-400-normal-BbP7GpLL.woff2 +0 -0
  565. package/out/web/assets/sarabun-latin-ext-400-normal-BsmTn0SS.woff +0 -0
  566. package/out/web/assets/sarabun-latin-ext-500-normal-Cot16Bd2.woff +0 -0
  567. package/out/web/assets/sarabun-latin-ext-500-normal-DE1LysqI.woff2 +0 -0
  568. package/out/web/assets/sarabun-latin-ext-600-normal-0tXu9x_i.woff +0 -0
  569. package/out/web/assets/sarabun-latin-ext-600-normal-BRxjKUQ6.woff2 +0 -0
  570. package/out/web/assets/sarabun-thai-400-normal-C2DaJlKK.woff2 +0 -0
  571. package/out/web/assets/sarabun-thai-400-normal-CH-UbWgg.woff +0 -0
  572. package/out/web/assets/sarabun-thai-500-normal-BVssjame.woff2 +0 -0
  573. package/out/web/assets/sarabun-thai-500-normal-C3iDLEzi.woff +0 -0
  574. package/out/web/assets/sarabun-thai-600-normal-3dIAQ-_s.woff2 +0 -0
  575. package/out/web/assets/sarabun-thai-600-normal-DWKeTe6a.woff +0 -0
  576. package/out/web/assets/sarabun-vietnamese-400-normal-DPfkSCMy.woff +0 -0
  577. package/out/web/assets/sarabun-vietnamese-400-normal-igdrzAGY.woff2 +0 -0
  578. package/out/web/assets/sarabun-vietnamese-500-normal-CpRVvGRU.woff +0 -0
  579. package/out/web/assets/sarabun-vietnamese-500-normal-Dpe7Br9m.woff2 +0 -0
  580. package/out/web/assets/sarabun-vietnamese-600-normal-BMbOgAW-.woff +0 -0
  581. package/out/web/assets/sarabun-vietnamese-600-normal-DkxrOlLB.woff2 +0 -0
  582. package/out/web/assets/stateDiagram-v2-4QOOHH4V-s6P9g2_b.js +0 -1
  583. package/out/web/assets/swimlanesDiagram-VK2B7HYN-CV9fOLrV.js +0 -8
  584. package/out/web/assets/tauri-CNrHQ2Gb.js +0 -3
  585. package/out/web/assets/window-DkIhgI7B.js +0 -1
@@ -24,6 +24,7 @@
24
24
  min-width: 0;
25
25
  padding: 20px;
26
26
  overflow-y: auto;
27
+ overflow-x: hidden;
27
28
  display: flex;
28
29
  flex-direction: column;
29
30
  gap: 16px;
@@ -32,6 +33,13 @@
32
33
  will-change: transform;
33
34
  }
34
35
 
36
+ /* Every chat item must be able to shrink inside a narrow conversation panel.
37
+ Individual code/output blocks provide their own horizontal scrolling. */
38
+ .chat-container > * {
39
+ min-width: 0;
40
+ max-width: 100%;
41
+ }
42
+
35
43
  .chat-container::-webkit-scrollbar {
36
44
  width: 6px;
37
45
  }
@@ -41,7 +49,7 @@
41
49
  }
42
50
 
43
51
  .chat-container::-webkit-scrollbar-thumb {
44
- background: rgba(255, 255, 255, 0.1);
52
+ background: var(--bg-surface-hover);
45
53
  border-radius: var(--radius-lg);
46
54
  }
47
55
 
@@ -131,13 +139,13 @@
131
139
  display: inline-flex;
132
140
  align-items: center;
133
141
  gap: 6px;
134
- background: var(--surface-bg, rgba(255, 255, 255, 0.04));
135
- border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
142
+ background: var(--bg-surface-soft);
143
+ border: 1px solid var(--border-default);
136
144
  border-radius: var(--radius-full, 999px);
137
145
  padding: 2px 9px 2px 7px;
138
146
  font-size: 0.72rem;
139
147
  font-family: 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
140
- color: var(--text-muted, #94a3b8);
148
+ color: var(--text-secondary);
141
149
  line-height: 1.3;
142
150
  user-select: none;
143
151
  transition: all 0.15s ease;
@@ -148,9 +156,9 @@
148
156
  }
149
157
 
150
158
  .provider-model-chip:hover {
151
- background: var(--panel-raised, rgba(255, 255, 255, 0.07));
152
- border-color: var(--border-light, rgba(255, 255, 255, 0.16));
153
- color: var(--text-main, #f1f5f9);
159
+ background: var(--bg-surface-hover);
160
+ border-color: var(--border-strong);
161
+ color: var(--text-primary);
154
162
  }
155
163
 
156
164
  .provider-chip-dot {
@@ -197,24 +205,26 @@
197
205
  .provider-chip-name {
198
206
  font-weight: 600;
199
207
  text-transform: lowercase;
200
- opacity: 0.85;
208
+ color: var(--text-primary);
209
+ opacity: 0.9;
201
210
  }
202
211
 
203
212
  .provider-chip-divider {
204
- opacity: 0.35;
213
+ opacity: 0.5;
205
214
  font-size: 0.68rem;
206
215
  margin: 0 1px;
216
+ color: var(--text-muted);
207
217
  }
208
218
 
209
219
  .provider-chip-model {
210
- font-weight: 450;
211
- color: var(--text-chat, var(--text-main, #e2e8f0));
220
+ font-weight: 500;
221
+ color: var(--text-primary);
212
222
  }
213
223
 
214
224
  .message-timestamp {
215
225
  font-size: 0.72rem;
216
- color: var(--text-muted, #64748b);
217
- opacity: 0.8;
226
+ color: var(--text-muted);
227
+ opacity: 1;
218
228
  user-select: none;
219
229
  }
220
230
 
@@ -225,7 +235,7 @@
225
235
  white-space: nowrap;
226
236
  border: 0;
227
237
  background: transparent;
228
- color: var(--accent);
238
+ color: var(--interactive-fg);
229
239
  font-weight: 600;
230
240
  font: inherit;
231
241
  line-height: 1.2;
@@ -235,7 +245,7 @@
235
245
 
236
246
  .provider-badge:hover,
237
247
  .provider-badge.is-open {
238
- color: var(--accent-hover);
248
+ color: var(--interactive-fg-hover);
239
249
  text-decoration: underline;
240
250
  text-underline-offset: 2px;
241
251
  }
@@ -344,7 +354,7 @@
344
354
  }
345
355
 
346
356
  .ai-list-bullet {
347
- color: var(--accent-hover);
357
+ color: var(--interactive-fg-hover);
348
358
  font-weight: 700;
349
359
  line-height: 1.5;
350
360
  }
@@ -355,8 +365,8 @@
355
365
 
356
366
  .user-message .message-bubble {
357
367
  background: linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 70%, #000000) 100%);
358
- color: white;
359
- border-bottom-right-radius: var(--radius-xs);
368
+ color: var(--text-on-accent);
369
+ border-radius: 22px 22px 6px 22px;
360
370
  box-shadow: var(--glow-accent-md), inset 1px 1px 0 rgba(255, 255, 255, 0.2);
361
371
  }
362
372
 
@@ -406,11 +416,12 @@
406
416
 
407
417
  .chat-paragraph {
408
418
  margin: 0;
409
- margin-bottom: 6px;
410
- line-height: 1.7;
419
+ margin-bottom: 8px;
420
+ line-height: 1.74;
421
+ letter-spacing: 0.005em;
411
422
  white-space: pre-wrap;
412
423
  word-break: break-word;
413
- color: var(--text-chat, var(--text-main));
424
+ color: var(--text-chat);
414
425
  }
415
426
 
416
427
  .chat-paragraph:last-child {
@@ -418,61 +429,51 @@
418
429
  }
419
430
 
420
431
  .chat-heading {
421
- font-weight: 700;
422
- color: var(--text-chat, var(--text-main));
423
- margin-top: 14px;
424
- margin-bottom: 6px;
432
+ font-weight: 600;
433
+ color: var(--text-main);
434
+ margin-top: 16px;
435
+ margin-bottom: 8px;
425
436
  line-height: 1.45;
437
+ letter-spacing: -0.015em;
426
438
  }
427
439
 
428
- .chat-heading-1 { font-size: 1.25rem; color: var(--text-chat, var(--text-main)); }
440
+ .chat-heading-1 { font-size: 1.3rem; color: var(--text-main); }
429
441
 
430
- .chat-heading-2 { font-size: 1.15rem; color: var(--text-chat, var(--text-main)); }
442
+ .chat-heading-2 { font-size: 1.18rem; color: var(--text-main); }
431
443
 
432
- .chat-heading-3 { font-size: 1.05rem; color: var(--text-chat, var(--text-main)); }
444
+ .chat-heading-3 { font-size: 1.06rem; color: var(--text-main); }
433
445
 
434
446
  .chat-section-title {
435
447
  font-size: 1.02rem;
436
- font-weight: 700;
437
- color: var(--text-chat, var(--text-main));
448
+ font-weight: 600;
449
+ color: var(--text-main);
438
450
  padding-bottom: 2px;
439
- margin-top: 12px;
440
- margin-bottom: 6px;
451
+ margin-top: 14px;
452
+ margin-bottom: 8px;
441
453
  }
442
454
 
443
455
  .chat-list-item {
444
456
  display: flex;
445
457
  align-items: flex-start;
446
- gap: 8px;
447
- margin: 3px 0 3px 4px;
448
- line-height: 1.7;
458
+ gap: 10px;
459
+ margin: 4px 0 4px 4px;
460
+ line-height: 1.74;
449
461
  }
450
462
 
451
463
  .chat-list-bullet {
452
- position: relative;
453
464
  display: inline-flex;
454
465
  align-items: center;
455
466
  justify-content: center;
456
467
  flex-shrink: 0;
457
- height: 1.7em;
458
468
  width: 14px;
459
- font-size: 0.94rem;
460
- line-height: 1.7;
461
- color: transparent;
469
+ font-size: 1.1rem;
470
+ line-height: 1.6;
471
+ color: var(--text-muted);
462
472
  user-select: none;
463
473
  }
464
474
 
465
475
  .chat-list-bullet::before {
466
- content: '';
467
- position: absolute;
468
- top: 50%;
469
- left: 50%;
470
- transform: translate(-50%, -50%);
471
- width: 7px;
472
- height: 7px;
473
- border-radius: 50%;
474
- background-color: var(--accent, #10b981);
475
- box-shadow: 0 0 5px color-mix(in srgb, var(--accent, #10b981) 35%, transparent);
476
+ display: none;
476
477
  }
477
478
 
478
479
  .chat-list-number {
@@ -493,7 +494,7 @@
493
494
  }
494
495
 
495
496
  .chat-link {
496
- color: var(--accent-hover, #34d399);
497
+ color: var(--interactive-fg-hover);
497
498
  text-decoration: underline;
498
499
  text-underline-offset: 3px;
499
500
  word-break: break-all;
@@ -507,17 +508,18 @@
507
508
 
508
509
  .chat-bold-highlight {
509
510
  font-weight: 600;
510
- color: var(--text-chat, var(--text-main));
511
+ color: var(--text-chat, var(--text-main, inherit));
511
512
  }
512
513
 
513
514
  .chat-inline-code {
514
- background: color-mix(in srgb, var(--text-chat, var(--text-main)) 12%, transparent);
515
- border: 1px solid color-mix(in srgb, var(--text-chat, var(--text-main)) 24%, transparent);
516
- padding: 2px 6px;
517
- border-radius: var(--radius-xs);
515
+ background: var(--bg-surface-soft);
516
+ border: 1px solid var(--border-default);
517
+ padding: 2px 7px;
518
+ border-radius: 6px;
518
519
  font-family: 'Fira Code', monospace;
519
- font-size: 0.88em;
520
- color: var(--text-chat, var(--text-main));
520
+ font-size: 0.86em;
521
+ color: var(--text-chat);
522
+ letter-spacing: -0.01em;
521
523
  }
522
524
 
523
525
  /* Typing Indicator */
@@ -571,16 +573,16 @@
571
573
  left: 20px;
572
574
  right: 20px;
573
575
  max-height: 250px;
574
- background: color-mix(in srgb, var(--card-bg, #18191c) 92%, #000 8%);
575
- border: 1px solid var(--border, rgba(255, 255, 255, 0.15));
576
+ background: var(--bg-overlay);
577
+ border: 1px solid var(--border-default);
576
578
  border-radius: var(--radius-2xl);
577
- box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(45, 212, 191, 0.15);
579
+ box-shadow: var(--shadow-lg);
578
580
  display: flex;
579
581
  flex-direction: column;
580
582
  overflow: hidden;
581
583
  z-index: 100;
582
- backdrop-filter: blur(16px);
583
- -webkit-backdrop-filter: blur(16px);
584
+ backdrop-filter: var(--glass-blur);
585
+ -webkit-backdrop-filter: var(--glass-blur);
584
586
  transform-origin: bottom center;
585
587
  animation: slashPopupFadeIn 0.22s cubic-bezier(0.16, 1, 0.3, 1);
586
588
  will-change: transform, opacity;
@@ -594,16 +596,16 @@
594
596
  padding: 9px 16px;
595
597
  font-size: 0.72rem;
596
598
  font-weight: 700;
597
- color: var(--accent, #2dd4bf);
598
- border-bottom: 1px solid var(--border, rgba(255, 255, 255, 0.08));
599
- background: rgba(0, 0, 0, 0.3);
599
+ color: var(--interactive-fg);
600
+ border-bottom: 1px solid var(--border-subtle);
601
+ background: var(--bg-surface-soft);
600
602
  letter-spacing: 0.04em;
601
- text-transform: uppercase;
603
+ text-transform: none;
602
604
  }
603
605
 
604
606
  .slash-suggestions-count {
605
607
  font-weight: 600;
606
- color: var(--text-muted, rgba(255, 255, 255, 0.5));
608
+ color: var(--text-muted);
607
609
  letter-spacing: 0.02em;
608
610
  text-transform: none;
609
611
  }
@@ -632,8 +634,8 @@
632
634
  font-size: 0.66rem;
633
635
  font-weight: 700;
634
636
  letter-spacing: 0.06em;
635
- text-transform: uppercase;
636
- color: var(--text-muted, rgba(255, 255, 255, 0.45));
637
+ text-transform: none;
638
+ color: var(--text-muted);
637
639
  }
638
640
 
639
641
  .slash-suggestion-item {
@@ -651,33 +653,33 @@
651
653
  }
652
654
 
653
655
  .slash-suggestion-item:hover {
654
- background: rgba(45, 212, 191, 0.06);
656
+ background: var(--bg-surface-hover);
655
657
  }
656
658
 
657
659
  .slash-suggestion-item.active {
658
- background: rgba(45, 212, 191, 0.12);
659
- box-shadow: inset 2px 0 0 var(--accent, #2dd4bf);
660
+ background: var(--bg-surface-soft);
661
+ box-shadow: inset 2px 0 0 var(--accent);
660
662
  }
661
663
 
662
664
  .slash-cmd-name {
663
665
  font-size: 0.84rem;
664
666
  font-weight: 600;
665
667
  font-family: var(--font-mono, monospace);
666
- color: var(--accent, #2dd4bf);
668
+ color: var(--interactive-fg);
667
669
  min-width: 128px;
668
670
  flex-shrink: 0;
669
671
  white-space: nowrap;
670
672
  }
671
673
 
672
674
  .slash-suggestion-item.active .slash-cmd-name {
673
- color: #5eead4;
675
+ color: var(--interactive-fg-hover);
674
676
  }
675
677
 
676
678
  .skill-badge {
677
679
  font-size: 0.7rem;
678
680
  font-weight: 600;
679
- color: var(--accent, #2dd4bf);
680
- background: rgba(45, 212, 191, 0.16);
681
+ color: var(--interactive-fg);
682
+ background: var(--accent-subtle);
681
683
  padding: 2px 7px;
682
684
  border-radius: var(--radius-sm);
683
685
  flex-shrink: 0;
@@ -694,7 +696,7 @@
694
696
  .slash-cmd-usage {
695
697
  font-size: 0.72rem;
696
698
  font-family: var(--font-mono, monospace);
697
- color: var(--text-muted, rgba(255, 255, 255, 0.4));
699
+ color: var(--text-muted);
698
700
  overflow: hidden;
699
701
  text-overflow: ellipsis;
700
702
  white-space: nowrap;
@@ -706,7 +708,7 @@
706
708
  gap: 10px;
707
709
  padding: 12px 16px;
708
710
  font-size: 0.8rem;
709
- color: var(--text-soft, rgba(255, 255, 255, 0.6));
711
+ color: var(--text-soft);
710
712
  }
711
713
 
712
714
  .slash-suggestions-empty .slash-cmd-name {
@@ -715,14 +717,14 @@
715
717
 
716
718
  .slash-suggestions-empty code {
717
719
  font-family: var(--font-mono, monospace);
718
- background: rgba(255, 255, 255, 0.08);
720
+ background: var(--bg-surface-soft);
719
721
  padding: 1px 6px;
720
722
  border-radius: var(--radius-sm);
721
723
  }
722
724
 
723
725
  .slash-cmd-desc {
724
726
  font-size: 0.8rem;
725
- color: var(--text-soft, rgba(255, 255, 255, 0.6));
727
+ color: var(--text-soft);
726
728
  overflow: hidden;
727
729
  text-overflow: ellipsis;
728
730
  white-space: nowrap;
@@ -776,7 +778,7 @@
776
778
  #chat-tool-btn,
777
779
  #screen-capture-btn {
778
780
  background: var(--accent);
779
- color: white;
781
+ color: var(--text-on-accent);
780
782
  border: none;
781
783
  width: 44px;
782
784
  height: 40px;
@@ -805,7 +807,7 @@
805
807
  }
806
808
 
807
809
  #mic-btn.listening {
808
- background: #ef4444;
810
+ background: var(--danger);
809
811
  /* Red color when listening */
810
812
  animation: pulse-mic 1.5s infinite;
811
813
  }
@@ -820,7 +822,7 @@
820
822
  #chat-tool-btn:hover,
821
823
  #screen-capture-btn:hover {
822
824
  background: color-mix(in srgb, var(--accent) 15%, transparent);
823
- color: var(--accent);
825
+ color: var(--interactive-fg);
824
826
  border-color: color-mix(in srgb, var(--accent) 40%, transparent);
825
827
  }
826
828
 
@@ -867,11 +869,11 @@
867
869
  ========================================================================== */
868
870
  .approval-card {
869
871
  width: 100%;
870
- background: var(--panel-bg, #18181b);
871
- border: 1px solid var(--border-light, rgba(255, 255, 255, 0.12));
872
+ background: var(--bg-surface-raised);
873
+ border: 1px solid var(--border-default);
872
874
  border-radius: var(--radius-xl, 14px);
873
875
  padding: 16px 18px;
874
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
876
+ box-shadow: var(--shadow-md);
875
877
  display: flex;
876
878
  flex-direction: column;
877
879
  align-items: stretch;
@@ -884,8 +886,8 @@
884
886
  }
885
887
 
886
888
  .approval-card[data-tier="dangerous"] {
887
- border-color: rgba(255, 255, 255, 0.15);
888
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
889
+ border-color: var(--border-strong);
890
+ box-shadow: var(--shadow-md);
889
891
  }
890
892
 
891
893
  .approval-card-header {
@@ -908,8 +910,8 @@
908
910
  width: 28px;
909
911
  height: 28px;
910
912
  border-radius: 7px;
911
- background: rgba(255, 255, 255, 0.06);
912
- border: 1px solid rgba(255, 255, 255, 0.1);
913
+ background: var(--bg-surface-soft);
914
+ border: 1px solid var(--border-subtle);
913
915
  display: flex;
914
916
  align-items: center;
915
917
  justify-content: center;
@@ -920,7 +922,7 @@
920
922
  .approval-title-text {
921
923
  font-size: 0.92rem;
922
924
  font-weight: 600;
923
- color: var(--text-main, #f4f4f5);
925
+ color: var(--text-main);
924
926
  letter-spacing: -0.01em;
925
927
  text-align: left;
926
928
  }
@@ -932,10 +934,10 @@
932
934
  font-size: 0.68rem;
933
935
  font-weight: 600;
934
936
  letter-spacing: 0.04em;
935
- text-transform: uppercase;
936
- background: rgba(255, 255, 255, 0.06);
937
- color: var(--text-muted, #a1a1aa);
938
- border: 1px solid rgba(255, 255, 255, 0.1);
937
+ text-transform: none;
938
+ background: var(--bg-surface-soft);
939
+ color: var(--text-muted);
940
+ border: 1px solid var(--border-subtle);
939
941
  }
940
942
 
941
943
  .approval-badge-chip.dangerous,
@@ -944,22 +946,22 @@
944
946
  .approval-badge-chip.mcp,
945
947
  .approval-badge-chip.command,
946
948
  .approval-badge-chip.default {
947
- background: rgba(255, 255, 255, 0.06);
948
- color: var(--text-muted, #a1a1aa);
949
- border-color: rgba(255, 255, 255, 0.1);
949
+ background: var(--bg-surface-soft);
950
+ color: var(--text-muted);
951
+ border-color: var(--border-subtle);
950
952
  }
951
953
 
952
954
  .approval-content-box {
953
955
  width: 100%;
954
956
  box-sizing: border-box;
955
- background: rgba(0, 0, 0, 0.32);
956
- border: 1px solid rgba(255, 255, 255, 0.08);
957
+ background: var(--bg-surface-soft);
958
+ border: 1px solid var(--border-subtle);
957
959
  border-radius: 9px;
958
960
  padding: 10px 14px;
959
961
  font-family: 'Fira Code', ui-monospace, monospace;
960
962
  font-size: 0.84rem;
961
963
  line-height: 1.5;
962
- color: var(--text-main, #e4e4e7);
964
+ color: var(--text-main);
963
965
  white-space: pre-wrap;
964
966
  word-break: break-word;
965
967
  max-height: 240px;
@@ -981,7 +983,7 @@
981
983
  .approval-reason-text {
982
984
  width: 100%;
983
985
  font-size: 0.78rem;
984
- color: var(--text-muted, #94a3b8);
986
+ color: var(--text-muted);
985
987
  line-height: 1.4;
986
988
  margin-top: -4px;
987
989
  text-align: left;
@@ -1011,8 +1013,8 @@
1011
1013
  justify-content: space-between;
1012
1014
  width: 100%;
1013
1015
  padding: 10px 13px;
1014
- background: rgba(255, 255, 255, 0.035);
1015
- border: 1px solid rgba(255, 255, 255, 0.08);
1016
+ background: var(--bg-surface-soft);
1017
+ border: 1px solid var(--border-subtle);
1016
1018
  border-radius: 10px;
1017
1019
  cursor: pointer;
1018
1020
  text-align: left;
@@ -1021,21 +1023,21 @@
1021
1023
  }
1022
1024
 
1023
1025
  .claude-choice-card:hover {
1024
- background: rgba(255, 255, 255, 0.075);
1025
- border-color: rgba(255, 255, 255, 0.22);
1026
+ background: var(--bg-surface-hover);
1027
+ border-color: var(--border-strong);
1026
1028
  transform: translateY(-1px);
1027
1029
  }
1028
1030
 
1029
1031
  .claude-choice-card.variant-approve:hover,
1030
1032
  .claude-choice-card.variant-session:hover,
1031
1033
  .claude-choice-card.variant-cancel:hover {
1032
- background: rgba(255, 255, 255, 0.075);
1033
- border-color: rgba(255, 255, 255, 0.22);
1034
+ background: var(--bg-surface-hover);
1035
+ border-color: var(--border-strong);
1034
1036
  }
1035
1037
 
1036
1038
  .claude-choice-card.selected {
1037
- background: rgba(255, 255, 255, 0.1);
1038
- border-color: rgba(255, 255, 255, 0.35);
1039
+ background: var(--bg-surface-hover);
1040
+ border-color: var(--border-strong);
1039
1041
  box-shadow: none;
1040
1042
  }
1041
1043
 
@@ -1051,29 +1053,29 @@
1051
1053
  width: 22px;
1052
1054
  height: 22px;
1053
1055
  border-radius: 6px;
1054
- background: rgba(255, 255, 255, 0.06);
1055
- border: 1px solid rgba(255, 255, 255, 0.12);
1056
+ background: var(--bg-surface-soft);
1057
+ border: 1px solid var(--border-default);
1056
1058
  display: flex;
1057
1059
  align-items: center;
1058
1060
  justify-content: center;
1059
1061
  font-family: 'Fira Code', ui-monospace, monospace;
1060
1062
  font-size: 0.72rem;
1061
1063
  font-weight: 700;
1062
- color: var(--text-muted, #a1a1aa);
1064
+ color: var(--text-muted);
1063
1065
  flex-shrink: 0;
1064
1066
  transition: all 0.15s ease;
1065
1067
  }
1066
1068
 
1067
1069
  .claude-choice-card:hover .claude-choice-key {
1068
- color: #ffffff;
1069
- border-color: rgba(255, 255, 255, 0.3);
1070
- background: rgba(255, 255, 255, 0.12);
1070
+ color: var(--text-main);
1071
+ border-color: var(--border-strong);
1072
+ background: var(--bg-surface-hover);
1071
1073
  }
1072
1074
 
1073
1075
  .claude-choice-card.selected .claude-choice-key {
1074
- background: rgba(255, 255, 255, 0.2);
1075
- color: #ffffff;
1076
- border-color: rgba(255, 255, 255, 0.4);
1076
+ background: var(--bg-surface-hover);
1077
+ color: var(--text-main);
1078
+ border-color: var(--border-strong);
1077
1079
  }
1078
1080
 
1079
1081
  .claude-choice-text {
@@ -1087,14 +1089,14 @@
1087
1089
  .claude-choice-title {
1088
1090
  font-size: 0.85rem;
1089
1091
  font-weight: 650;
1090
- color: var(--text-main, #f4f4f5);
1092
+ color: var(--text-main);
1091
1093
  line-height: 1.3;
1092
1094
  text-align: left;
1093
1095
  }
1094
1096
 
1095
1097
  .claude-choice-desc {
1096
1098
  font-size: 0.74rem;
1097
- color: var(--text-muted, #a1a1aa);
1099
+ color: var(--text-muted);
1098
1100
  line-height: 1.35;
1099
1101
  text-align: left;
1100
1102
  }
@@ -1110,12 +1112,12 @@
1110
1112
  }
1111
1113
 
1112
1114
  .claude-choice-card:hover .claude-choice-right {
1113
- color: var(--text-main, #f4f4f5);
1115
+ color: var(--text-main);
1114
1116
  transform: translateX(2px);
1115
1117
  }
1116
1118
 
1117
1119
  .claude-choice-card.selected .claude-choice-right {
1118
- color: #ffffff;
1120
+ color: var(--text-main);
1119
1121
  }
1120
1122
 
1121
1123
  .claude-choice-custom-box {
@@ -1130,10 +1132,10 @@
1130
1132
  width: 100%;
1131
1133
  box-sizing: border-box;
1132
1134
  padding: 9px 12px;
1133
- background: rgba(0, 0, 0, 0.25);
1134
- border: 1px solid rgba(255, 255, 255, 0.1);
1135
+ background: var(--bg-input);
1136
+ border: 1px solid var(--border-default);
1135
1137
  border-radius: 8px;
1136
- color: var(--text-main, #f4f4f5);
1138
+ color: var(--text-main);
1137
1139
  font-size: 0.84rem;
1138
1140
  font-family: inherit;
1139
1141
  outline: none;
@@ -1141,12 +1143,12 @@
1141
1143
  }
1142
1144
 
1143
1145
  .claude-choice-input:focus {
1144
- border-color: var(--accent, #10b981);
1145
- box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
1146
+ border-color: var(--accent);
1147
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);
1146
1148
  }
1147
1149
 
1148
1150
  .approval-btn {
1149
- border: 1px solid rgba(255, 255, 255, 0.14);
1151
+ border: 1px solid var(--border-default);
1150
1152
  border-radius: var(--radius-sm);
1151
1153
  color: var(--text-main);
1152
1154
  cursor: pointer;
@@ -1173,6 +1175,7 @@
1173
1175
  gap: 8px;
1174
1176
  margin-bottom: 8px;
1175
1177
  margin-top: 0;
1178
+ min-width: 0;
1176
1179
  max-width: 100%;
1177
1180
  }
1178
1181
 
@@ -1209,6 +1212,7 @@
1209
1212
  border-radius: 0;
1210
1213
  color: var(--text-main);
1211
1214
  width: 100%;
1215
+ min-width: 0;
1212
1216
  max-width: 100%;
1213
1217
  padding: 4px 0;
1214
1218
  box-shadow: none;
@@ -1221,13 +1225,13 @@
1221
1225
  display: flex;
1222
1226
  align-items: center;
1223
1227
  gap: 6px;
1224
- color: var(--accent);
1228
+ color: var(--interactive-fg);
1225
1229
  font-weight: 500;
1226
1230
  transition: color 0.15s ease;
1227
1231
  }
1228
1232
 
1229
1233
  .file-changes-toggle:hover {
1230
- color: var(--accent-hover, var(--accent));
1234
+ color: var(--interactive-fg-hover);
1231
1235
  }
1232
1236
 
1233
1237
  .file-changes-rewind-btn {
@@ -1289,7 +1293,7 @@
1289
1293
  }
1290
1294
 
1291
1295
  .file-changes-filename.is-new {
1292
- color: var(--accent);
1296
+ color: var(--interactive-fg);
1293
1297
  }
1294
1298
 
1295
1299
  .file-changes-dirpath {
@@ -1302,7 +1306,7 @@
1302
1306
  .file-changes-badge-new {
1303
1307
  font-size: 0.68rem;
1304
1308
  font-weight: 700;
1305
- color: var(--accent);
1309
+ color: var(--interactive-fg);
1306
1310
  margin-left: 8px;
1307
1311
  padding: 1px 6px;
1308
1312
  border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
@@ -1312,7 +1316,7 @@
1312
1316
  }
1313
1317
 
1314
1318
  .file-changes-count-add {
1315
- color: var(--accent);
1319
+ color: var(--interactive-fg);
1316
1320
  font-weight: 600;
1317
1321
  }
1318
1322
 
@@ -1326,10 +1330,10 @@
1326
1330
  align-items: center;
1327
1331
  gap: 3px;
1328
1332
  padding: 1px 6px;
1329
- fontSize: 0.68rem;
1333
+ font-size: 0.68rem;
1330
1334
  border-radius: var(--radius-xs, 4px);
1331
1335
  background: color-mix(in srgb, var(--accent) 14%, transparent);
1332
- color: var(--accent);
1336
+ color: var(--interactive-fg);
1333
1337
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
1334
1338
  cursor: pointer;
1335
1339
  font-weight: 500;
@@ -1338,7 +1342,7 @@
1338
1342
 
1339
1343
  .file-changes-preview-btn:hover {
1340
1344
  background: color-mix(in srgb, var(--accent) 22%, transparent);
1341
- color: var(--accent-hover, var(--accent));
1345
+ color: var(--interactive-fg-hover);
1342
1346
  }
1343
1347
 
1344
1348
  .file-changes-diff-box {
@@ -1383,7 +1387,7 @@
1383
1387
  }
1384
1388
 
1385
1389
  .file-changes-diff-sign-add {
1386
- color: var(--accent);
1390
+ color: var(--interactive-fg);
1387
1391
  margin-right: 6px;
1388
1392
  user-select: none;
1389
1393
  font-weight: 600;
@@ -1489,28 +1493,27 @@
1489
1493
  .agent-activity-list {
1490
1494
  display: flex;
1491
1495
  flex-direction: column;
1492
- border: 1px solid var(--border);
1493
- border-radius: var(--radius-md);
1494
- overflow: hidden;
1495
- background: var(--panel-bg, #141416);
1496
+ gap: 6px;
1497
+ border: none;
1498
+ border-radius: 0;
1499
+ background: transparent;
1500
+ overflow: visible;
1496
1501
  }
1497
1502
 
1498
1503
  .agent-activity-item {
1499
1504
  display: flex;
1500
1505
  align-items: center;
1501
1506
  gap: 10px;
1502
- min-height: 34px;
1507
+ min-height: 36px;
1503
1508
  padding: 6px 12px;
1504
- border-bottom: 1px solid var(--border);
1509
+ border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
1510
+ border-radius: var(--radius-sm, 6px);
1511
+ background: color-mix(in srgb, var(--panel-soft) 40%, transparent);
1505
1512
  color: var(--text-soft);
1506
- font-size: 0.84rem;
1513
+ font-size: 0.82rem;
1507
1514
  transition: background 0.15s ease, color 0.15s ease;
1508
1515
  }
1509
1516
 
1510
- .agent-activity-item:last-child {
1511
- border-bottom: 0;
1512
- }
1513
-
1514
1517
  .agent-activity-item:hover {
1515
1518
  background: var(--panel-soft);
1516
1519
  color: var(--text-main);
@@ -1581,7 +1584,7 @@
1581
1584
  .agent-activity-inline-result {
1582
1585
  font-family: var(--font-mono, ui-monospace, monospace);
1583
1586
  font-size: 0.76rem;
1584
- color: var(--accent, #38bdf8);
1587
+ color: var(--interactive-fg);
1585
1588
  font-weight: 500;
1586
1589
  flex-shrink: 0;
1587
1590
  background: color-mix(in srgb, var(--accent, #38bdf8) 10%, transparent);
@@ -1599,11 +1602,11 @@
1599
1602
  }
1600
1603
 
1601
1604
  .agent-activity-status-check {
1602
- color: var(--accent, #10b981);
1605
+ color: var(--interactive-fg);
1603
1606
  }
1604
1607
 
1605
1608
  .agent-activity-status-spin {
1606
- color: var(--accent, #38bdf8);
1609
+ color: var(--interactive-fg);
1607
1610
  animation: spin 1.2s linear infinite;
1608
1611
  }
1609
1612
 
@@ -1647,11 +1650,10 @@
1647
1650
  /* ── Grouped Activity Styling ───────────────────────────── */
1648
1651
 
1649
1652
  .agent-activity-group {
1650
- border-bottom: 1px solid var(--border);
1651
- }
1652
-
1653
- .agent-activity-group:last-child {
1654
- border-bottom: 0;
1653
+ border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
1654
+ border-radius: var(--radius-sm, 6px);
1655
+ overflow: hidden;
1656
+ background: var(--bg-surface-soft, rgba(255, 255, 255, 0.03));
1655
1657
  }
1656
1658
 
1657
1659
  .agent-activity-group-header {
@@ -1695,9 +1697,9 @@
1695
1697
  font-size: 0.68rem;
1696
1698
  font-weight: 600;
1697
1699
  letter-spacing: 0.02em;
1698
- color: var(--text-muted, #94a3b8);
1699
- background: rgba(255, 255, 255, 0.05);
1700
- border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
1700
+ color: var(--text-muted);
1701
+ background: var(--bg-surface-soft);
1702
+ border: 1px solid var(--border-subtle);
1701
1703
  border-radius: 10px;
1702
1704
  }
1703
1705
 
@@ -1720,8 +1722,8 @@
1720
1722
  }
1721
1723
 
1722
1724
  .agent-activity-subitem:hover {
1723
- background: rgba(255, 255, 255, 0.04);
1724
- color: var(--text-main, #f1f5f9);
1725
+ background: var(--bg-surface-soft);
1726
+ color: var(--text-main);
1725
1727
  }
1726
1728
 
1727
1729
  .agent-activity-tree-bullet {
@@ -1779,7 +1781,7 @@
1779
1781
 
1780
1782
  .thinking-block {
1781
1783
  margin: 6px 0 10px 0;
1782
- border-radius: var(--radius-md, 8px);
1784
+ border-radius: var(--radius-xl, 16px);
1783
1785
  border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
1784
1786
  background: var(--panel-soft, rgba(255, 255, 255, 0.02));
1785
1787
  overflow: hidden;
@@ -1799,13 +1801,14 @@
1799
1801
  .thinking-block-header {
1800
1802
  display: flex;
1801
1803
  align-items: center;
1802
- gap: 8px;
1804
+ gap: 10px;
1803
1805
  width: 100%;
1804
- padding: 7px 12px;
1805
- background: transparent;
1806
+ min-height: 36px;
1807
+ padding: 6px 12px;
1808
+ background: color-mix(in srgb, var(--panel-soft) 40%, transparent);
1806
1809
  border: 0;
1807
1810
  color: var(--text-muted, #94a3b8);
1808
- font-size: 0.76rem;
1811
+ font-size: 0.82rem;
1809
1812
  font-weight: 500;
1810
1813
  cursor: pointer;
1811
1814
  text-align: left;
@@ -1814,8 +1817,8 @@
1814
1817
  }
1815
1818
 
1816
1819
  .thinking-block-header:hover {
1817
- background: rgba(255, 255, 255, 0.03);
1818
- color: var(--text-main, #f1f5f9);
1820
+ background: var(--panel-soft);
1821
+ color: var(--text-main);
1819
1822
  }
1820
1823
 
1821
1824
  .thinking-block-icon {
@@ -1894,7 +1897,7 @@
1894
1897
  font-size: 11px;
1895
1898
  font-weight: 600;
1896
1899
  letter-spacing: 0.03em;
1897
- text-transform: uppercase;
1900
+ text-transform: none;
1898
1901
  color: var(--text-muted, #94a3b8);
1899
1902
  opacity: 0.65;
1900
1903
  margin-bottom: 4px;
@@ -1952,13 +1955,8 @@
1952
1955
  .thinking-block-step-body strong {
1953
1956
  font-size: inherit;
1954
1957
  font-weight: 600;
1955
- color: var(--text-main, #e2e8f0);
1956
- opacity: 0.92;
1957
- }
1958
-
1959
- [data-theme="light"] .thinking-block-content .chat-bold-highlight {
1960
- color: var(--text-main, #334155);
1961
- opacity: 0.92;
1958
+ color: var(--text-secondary);
1959
+ opacity: 1;
1962
1960
  }
1963
1961
 
1964
1962
  .thinking-block-content .chat-list-block {
@@ -2086,6 +2084,130 @@
2086
2084
  }
2087
2085
  }
2088
2086
 
2087
+ /* Extended Thinking inherits clean neutral styling directly from .thinking-block */
2088
+
2089
+ /* Inline Thought Note (short agent notes rendered as normal plain text) */
2090
+
2091
+ .inline-thought-note {
2092
+ display: block;
2093
+ padding: 4px 0 6px 0;
2094
+ margin: 4px 0 6px 0;
2095
+ background: transparent;
2096
+ border: none;
2097
+ border-radius: 0;
2098
+ color: var(--text-main, #f1f5f9);
2099
+ font-size: 0.92rem;
2100
+ line-height: 1.6;
2101
+ animation: agent-activity-slide-up-fade 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
2102
+ }
2103
+
2104
+ .inline-thought-note-text {
2105
+ word-break: break-word;
2106
+ white-space: pre-wrap;
2107
+ color: inherit;
2108
+ font-size: inherit;
2109
+ line-height: inherit;
2110
+ }
2111
+
2112
+ .inline-thought-note .chat-formatted-body {
2113
+ font-size: inherit;
2114
+ color: inherit;
2115
+ line-height: inherit;
2116
+ }
2117
+
2118
+ .inline-thought-note .chat-formatted-body p {
2119
+ margin: 0 0 6px 0;
2120
+ color: inherit;
2121
+ font-size: inherit;
2122
+ line-height: inherit;
2123
+ }
2124
+
2125
+ .inline-thought-note .chat-formatted-body p:last-child {
2126
+ margin-bottom: 0;
2127
+ }
2128
+
2129
+ .agent-activity-timeline {
2130
+ display: flex;
2131
+ flex-direction: column;
2132
+ gap: 4px;
2133
+ margin-bottom: 8px;
2134
+ }
2135
+
2136
+ /* Unified Timeline: Extended Thinking row inside Activity Drawer */
2137
+ .agent-activity-thought-step {
2138
+ margin: 0;
2139
+ border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
2140
+ border-radius: var(--radius-sm, 6px);
2141
+ background: var(--bg-surface-soft, rgba(255, 255, 255, 0.03));
2142
+ overflow: hidden;
2143
+ }
2144
+
2145
+ .agent-activity-thought-header {
2146
+ display: flex;
2147
+ align-items: center;
2148
+ gap: 10px;
2149
+ min-height: 36px;
2150
+ padding: 6px 12px;
2151
+ border-radius: var(--radius-sm, 6px);
2152
+ cursor: pointer;
2153
+ color: var(--text-muted, #94a3b8);
2154
+ font-size: 0.82rem;
2155
+ font-weight: 500;
2156
+ background: color-mix(in srgb, var(--panel-soft) 40%, transparent);
2157
+ transition: background 0.15s ease, color 0.15s ease;
2158
+ user-select: none;
2159
+ }
2160
+
2161
+ .agent-activity-thought-header:hover {
2162
+ background: var(--panel-soft);
2163
+ color: var(--text-main, #f1f5f9);
2164
+ }
2165
+
2166
+ .agent-activity-thought-header .agent-activity-kind-icon {
2167
+ color: var(--text-muted, #94a3b8);
2168
+ }
2169
+
2170
+ .agent-activity-thought-title {
2171
+ flex: 1;
2172
+ min-width: 0;
2173
+ font-size: 0.82rem;
2174
+ font-weight: 500;
2175
+ color: var(--text-main, #f1f5f9);
2176
+ overflow: hidden;
2177
+ text-overflow: ellipsis;
2178
+ white-space: nowrap;
2179
+ letter-spacing: 0.01em;
2180
+ }
2181
+
2182
+ .agent-activity-thought-meta {
2183
+ color: var(--text-muted);
2184
+ font-weight: 500;
2185
+ }
2186
+
2187
+ .agent-activity-thought-cursor {
2188
+ display: inline-block;
2189
+ margin-left: 2px;
2190
+ color: var(--interactive-fg);
2191
+ animation: agent-thought-cursor-blink 0.9s steps(1) infinite;
2192
+ }
2193
+
2194
+ @keyframes agent-thought-cursor-blink {
2195
+ 50% { opacity: 0; }
2196
+ }
2197
+
2198
+ .agent-activity-thought-body {
2199
+ padding: 8px 12px 8px 28px;
2200
+ font-size: 0.8rem;
2201
+ line-height: 1.5;
2202
+ color: var(--text-muted, #cbd5e1);
2203
+ background: rgba(0, 0, 0, 0.12);
2204
+ border-radius: var(--radius-sm, 6px);
2205
+ margin: 2px 0 4px 0;
2206
+ max-height: 300px;
2207
+ overflow-y: auto;
2208
+ user-select: text;
2209
+ }
2210
+
2089
2211
  /* Smart Context Toggle */
2090
2212
 
2091
2213
  .smart-context-bar {
@@ -2104,7 +2226,7 @@
2104
2226
  }
2105
2227
 
2106
2228
  .smart-context-control.is-active .smart-context-label {
2107
- color: var(--accent);
2229
+ color: var(--interactive-fg);
2108
2230
  }
2109
2231
 
2110
2232
  .smart-context-label {
@@ -2132,6 +2254,7 @@
2132
2254
  cursor: pointer;
2133
2255
  top: 0; left: 0; right: 0; bottom: 0;
2134
2256
  background-color: rgba(255, 255, 255, 0.2);
2257
+ border: 1px solid transparent;
2135
2258
  transition: .4s;
2136
2259
  }
2137
2260
 
@@ -2143,15 +2266,18 @@
2143
2266
  left: 3px;
2144
2267
  bottom: 3px;
2145
2268
  background-color: white;
2269
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
2146
2270
  transition: .4s;
2147
2271
  }
2148
2272
 
2149
2273
  input:checked + .slider {
2150
2274
  background-color: var(--accent);
2275
+ border-color: color-mix(in srgb, var(--accent) 70%, var(--border-strong, rgba(255, 255, 255, 0.2)));
2151
2276
  }
2152
2277
 
2153
2278
  input:checked + .slider:before {
2154
2279
  transform: translateX(14px);
2280
+ background-color: var(--accent-contrast, #ffffff);
2155
2281
  }
2156
2282
 
2157
2283
  .slider.round {
@@ -2251,7 +2377,7 @@ input:checked + .slider:before {
2251
2377
  }
2252
2378
 
2253
2379
  .conversation-panel.is-empty {
2254
- justify-content: center;
2380
+ justify-content: flex-start;
2255
2381
  }
2256
2382
 
2257
2383
  .conversation-panel.is-empty .chat-container {
@@ -2264,27 +2390,62 @@ input:checked + .slider:before {
2264
2390
  transform: translateY(-7vh);
2265
2391
  }
2266
2392
 
2267
- .empty-chat-prompt {
2393
+ .empty-chat-prompt-wrap {
2394
+ display: flex;
2395
+ flex-direction: column;
2396
+ align-items: center;
2397
+ gap: 12px;
2268
2398
  margin: 0 0 28px;
2269
- color: var(--text-main);
2270
- font-size: clamp(2rem, 4vw, 3.15rem);
2271
- font-weight: 500;
2272
- line-height: 1.18;
2273
- text-align: center;
2274
- }
2275
-
2276
- .chat-container {
2277
- flex: 1;
2278
- min-height: 0;
2279
- max-height: none;
2280
- padding: 0 4px 16px;
2281
- gap: 10px;
2282
- pointer-events: auto;
2283
2399
  }
2284
2400
 
2285
- .message {
2286
- max-width: min(100%, 620px);
2287
- animation: messagePopIn 0.22s ease forwards;
2401
+ .empty-chat-prompt-wrap .empty-chat-prompt {
2402
+ margin: 0;
2403
+ }
2404
+
2405
+ .empty-chat-project-badge {
2406
+ display: inline-flex;
2407
+ align-items: center;
2408
+ gap: 7px;
2409
+ padding: 5px 14px;
2410
+ background: rgba(255, 255, 255, 0.05);
2411
+ border: 1px solid rgba(255, 255, 255, 0.08);
2412
+ border-radius: 9999px;
2413
+ font-size: 0.85rem;
2414
+ color: var(--text-muted, #94a3b8);
2415
+ letter-spacing: -0.01em;
2416
+ }
2417
+
2418
+ .empty-chat-project-badge svg {
2419
+ color: var(--flavor-teal, #2dd4bf);
2420
+ flex-shrink: 0;
2421
+ }
2422
+
2423
+ .empty-chat-project-badge strong {
2424
+ color: var(--text-primary, #f1f5f9);
2425
+ font-weight: 600;
2426
+ }
2427
+
2428
+ .empty-chat-prompt {
2429
+ margin: 0 0 28px;
2430
+ color: var(--text-main);
2431
+ font-size: clamp(2rem, 4vw, 3.15rem);
2432
+ font-weight: 500;
2433
+ line-height: 1.18;
2434
+ text-align: center;
2435
+ }
2436
+
2437
+ .chat-container {
2438
+ flex: 1;
2439
+ min-height: 0;
2440
+ max-height: none;
2441
+ padding: 0 4px 16px;
2442
+ gap: 10px;
2443
+ pointer-events: auto;
2444
+ }
2445
+
2446
+ .message {
2447
+ max-width: min(100%, 620px);
2448
+ animation: messagePopIn 0.22s ease forwards;
2288
2449
  }
2289
2450
 
2290
2451
  .message-bubble {
@@ -2310,66 +2471,910 @@ input:checked + .slider:before {
2310
2471
  padding: 0; /* spacing handled by wrapper */
2311
2472
  }
2312
2473
 
2313
- .user-message .message-bubble {
2314
- background: linear-gradient(135deg, var(--surface-strong), color-mix(in srgb, var(--accent) 16%, var(--surface-strong)));
2315
- border: 1px solid rgba(255, 255, 255, 0.08);
2316
- border-radius: var(--radius-md);
2317
- color: var(--text-main);
2318
- box-shadow: none;
2474
+ .user-message .message-bubble {
2475
+ background: linear-gradient(135deg, var(--surface-strong), color-mix(in srgb, var(--accent) 16%, var(--surface-strong)));
2476
+ border: 1px solid var(--border-default);
2477
+ border-radius: 22px 22px 6px 22px;
2478
+ color: var(--text-main);
2479
+ box-shadow: none;
2480
+ }
2481
+
2482
+ .provider-badge {
2483
+ color: var(--interactive-fg-hover);
2484
+ }
2485
+
2486
+ /* Force AI replies to render as plain inline text (no bubble/frame). */
2487
+
2488
+ .message.ai-message .message-bubble {
2489
+ background: transparent !important;
2490
+ border: none !important;
2491
+ box-shadow: none !important;
2492
+ border-radius: 0 !important;
2493
+ padding: 0 !important;
2494
+ }
2495
+
2496
+ .input-area {
2497
+ flex: 0 0 auto;
2498
+ padding: 0;
2499
+ background: transparent;
2500
+ border: 0;
2501
+ box-shadow: none;
2502
+ pointer-events: auto;
2503
+ }
2504
+
2505
+ /* A compact, reviewable handoff between the latest agent run and the next prompt. */
2506
+ .composer-change-status {
2507
+ display: flex;
2508
+ align-items: center;
2509
+ justify-content: space-between;
2510
+ gap: 10px;
2511
+ max-width: calc(100% - 28px);
2512
+ min-height: 30px;
2513
+ margin: 0 auto 8px;
2514
+ padding: 5px 11px;
2515
+ color: var(--text-secondary);
2516
+ font: inherit;
2517
+ font-size: 0.72rem;
2518
+ font-weight: 600;
2519
+ line-height: 1.25;
2520
+ text-align: left;
2521
+ background: var(--bg-surface-raised);
2522
+ border: 1px solid var(--border-subtle);
2523
+ border-radius: var(--radius-full);
2524
+ box-shadow: var(--shadow-xs);
2525
+ cursor: pointer;
2526
+ transition: border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
2527
+ }
2528
+
2529
+ .composer-change-status:hover {
2530
+ color: var(--text-primary);
2531
+ border-color: var(--border-strong);
2532
+ box-shadow: var(--shadow-sm);
2533
+ }
2534
+
2535
+ .composer-change-status:focus-visible {
2536
+ outline: 2px solid var(--focus-ring);
2537
+ outline-offset: 2px;
2538
+ }
2539
+
2540
+ .composer-change-status-copy,
2541
+ .composer-change-status-counts {
2542
+ display: inline-flex;
2543
+ align-items: center;
2544
+ min-width: 0;
2545
+ }
2546
+
2547
+ .composer-change-status-copy {
2548
+ gap: 7px;
2549
+ overflow: hidden;
2550
+ }
2551
+
2552
+ .composer-change-status-copy > span:last-child {
2553
+ overflow: hidden;
2554
+ text-overflow: ellipsis;
2555
+ white-space: nowrap;
2556
+ }
2557
+
2558
+ .composer-change-status-counts {
2559
+ flex: 0 0 auto;
2560
+ gap: 5px;
2561
+ font-family: var(--font-mono);
2562
+ font-size: 0.94em;
2563
+ }
2564
+
2565
+ .composer-change-status-counts strong {
2566
+ color: var(--status-success);
2567
+ }
2568
+
2569
+ .composer-change-status-counts em {
2570
+ color: var(--status-error);
2571
+ font-style: normal;
2572
+ }
2573
+
2574
+ .composer-change-status.is-live {
2575
+ color: var(--interactive-fg-hover);
2576
+ border-color: var(--accent-border);
2577
+ }
2578
+
2579
+ .composer-change-status-spinner {
2580
+ width: 8px;
2581
+ height: 8px;
2582
+ flex: 0 0 auto;
2583
+ border: 1.5px solid var(--accent-border);
2584
+ border-top-color: var(--interactive-fg-hover);
2585
+ border-radius: 50%;
2586
+ animation: composer-change-status-spin 700ms linear infinite;
2587
+ }
2588
+
2589
+ @keyframes composer-change-status-spin {
2590
+ to { transform: rotate(360deg); }
2591
+ }
2592
+
2593
+ @media (prefers-reduced-motion: reduce) {
2594
+ .composer-change-status,
2595
+ .composer-change-status-spinner {
2596
+ transition: none;
2597
+ animation: none;
2598
+ }
2599
+ }
2600
+
2601
+ /* Project context is the first row of the composer, not a promotional CTA. */
2602
+ .project-context-row {
2603
+ position: relative;
2604
+ min-width: 0;
2605
+ display: flex;
2606
+ align-items: center;
2607
+ gap: 6px;
2608
+ min-height: 44px;
2609
+ padding: 5px 8px;
2610
+ background: var(--input-bg);
2611
+ border: 1px solid var(--border);
2612
+ border-bottom: 0;
2613
+ border-radius: var(--radius-xl) var(--radius-xl) 0 0;
2614
+ }
2615
+
2616
+ .workspace-selector {
2617
+ position: relative;
2618
+ display: flex;
2619
+ min-width: 0;
2620
+ max-width: 56%;
2621
+ flex: 0 1 auto;
2622
+ }
2623
+
2624
+ .workspace-selector.needs-workspace {
2625
+ max-width: 100%;
2626
+ }
2627
+
2628
+ .workspace-select-btn {
2629
+ min-width: 0;
2630
+ min-height: 32px;
2631
+ margin: 0;
2632
+ padding: 0 10px;
2633
+ display: flex;
2634
+ align-items: center;
2635
+ gap: 7px;
2636
+ color: var(--text-primary);
2637
+ background: var(--surface-strong);
2638
+ border: 1px solid var(--border-subtle);
2639
+ border-radius: var(--radius-md);
2640
+ text-align: left;
2641
+ cursor: pointer;
2642
+ transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
2643
+ }
2644
+
2645
+ .workspace-select-btn:hover {
2646
+ background: var(--bg-surface-hover);
2647
+ border-color: var(--border);
2648
+ }
2649
+
2650
+ .workspace-select-btn:focus-visible {
2651
+ position: relative;
2652
+ z-index: 2;
2653
+ outline: 2px solid var(--border-focus, var(--accent));
2654
+ outline-offset: -2px;
2655
+ }
2656
+
2657
+ .workspace-select-btn.needs-workspace {
2658
+ max-width: 100%;
2659
+ }
2660
+
2661
+ .workspace-select-icon {
2662
+ width: 16px;
2663
+ height: 16px;
2664
+ display: inline-flex;
2665
+ align-items: center;
2666
+ justify-content: center;
2667
+ flex: 0 0 16px;
2668
+ color: var(--interactive-fg);
2669
+ }
2670
+
2671
+ .workspace-select-copy {
2672
+ min-width: 0;
2673
+ display: flex;
2674
+ flex: 0 1 auto;
2675
+ align-items: baseline;
2676
+ gap: 6px;
2677
+ }
2678
+
2679
+ .workspace-select-name {
2680
+ overflow: hidden;
2681
+ color: var(--text-primary);
2682
+ font-size: 0.78rem;
2683
+ font-weight: 500;
2684
+ line-height: 1.2;
2685
+ text-overflow: ellipsis;
2686
+ white-space: nowrap;
2687
+ }
2688
+
2689
+ .workspace-select-chevron {
2690
+ flex: 0 0 auto;
2691
+ color: var(--text-muted);
2692
+ transition: transform 120ms ease;
2693
+ }
2694
+
2695
+ .workspace-select-btn:hover .workspace-select-chevron {
2696
+ color: var(--text-primary);
2697
+ }
2698
+
2699
+ .workspace-select-menu {
2700
+ position: absolute;
2701
+ z-index: 80;
2702
+ left: 0;
2703
+ bottom: calc(100% + 6px);
2704
+ width: min(360px, calc(100vw - 32px));
2705
+ max-height: min(420px, 65vh);
2706
+ display: flex;
2707
+ flex-direction: column;
2708
+ overflow: hidden;
2709
+ color: var(--text-primary);
2710
+ background: var(--bg-overlay);
2711
+ border: 1px solid var(--border);
2712
+ border-radius: var(--radius-lg);
2713
+ box-shadow: var(--shadow-md);
2714
+ }
2715
+
2716
+ .workspace-select-search {
2717
+ min-height: 40px;
2718
+ padding: 0 12px;
2719
+ display: flex;
2720
+ align-items: center;
2721
+ gap: 9px;
2722
+ color: var(--text-muted);
2723
+ border-bottom: 1px solid var(--border-subtle);
2724
+ }
2725
+
2726
+ .workspace-select-search:focus-within {
2727
+ color: var(--interactive-fg);
2728
+ }
2729
+
2730
+ .workspace-select-search input {
2731
+ min-width: 0;
2732
+ width: 100%;
2733
+ padding: 0;
2734
+ color: var(--text-primary);
2735
+ background: transparent;
2736
+ border: 0;
2737
+ outline: none;
2738
+ font: inherit;
2739
+ font-size: 0.8rem;
2740
+ }
2741
+
2742
+ .workspace-select-search input::placeholder {
2743
+ color: var(--text-muted);
2744
+ }
2745
+
2746
+ .workspace-select-list {
2747
+ min-height: 0;
2748
+ padding: 4px;
2749
+ overflow-y: auto;
2750
+ scrollbar-width: thin;
2751
+ }
2752
+
2753
+ .workspace-select-option {
2754
+ width: 100%;
2755
+ min-width: 0;
2756
+ padding: 8px 9px;
2757
+ display: grid;
2758
+ grid-template-columns: 16px minmax(0, 1fr) 16px;
2759
+ align-items: center;
2760
+ gap: 9px;
2761
+ color: var(--text-secondary);
2762
+ text-align: left;
2763
+ background: transparent;
2764
+ border: 0;
2765
+ border-radius: var(--radius-sm);
2766
+ cursor: pointer;
2767
+ }
2768
+
2769
+ .workspace-select-option:hover,
2770
+ .workspace-select-option:focus-visible,
2771
+ .workspace-select-option[aria-current="true"] {
2772
+ color: var(--text-primary);
2773
+ background: var(--bg-surface-hover);
2774
+ outline: none;
2775
+ }
2776
+
2777
+ .workspace-select-option-icon {
2778
+ color: var(--text-muted);
2779
+ }
2780
+
2781
+ .workspace-select-option-copy {
2782
+ min-width: 0;
2783
+ display: flex;
2784
+ flex-direction: column;
2785
+ gap: 2px;
2786
+ }
2787
+
2788
+ .workspace-select-option-name,
2789
+ .workspace-select-option-path {
2790
+ overflow: hidden;
2791
+ text-overflow: ellipsis;
2792
+ white-space: nowrap;
2793
+ }
2794
+
2795
+ .workspace-select-option-name {
2796
+ color: inherit;
2797
+ font-size: 0.8rem;
2798
+ line-height: 1.25;
2799
+ }
2800
+
2801
+ .workspace-select-option-path {
2802
+ color: var(--text-muted);
2803
+ font-size: 0.66rem;
2804
+ line-height: 1.2;
2805
+ }
2806
+
2807
+ .workspace-select-current {
2808
+ color: var(--interactive-fg);
2809
+ }
2810
+
2811
+ .workspace-select-empty {
2812
+ padding: 18px 12px;
2813
+ color: var(--text-muted);
2814
+ font-size: 0.76rem;
2815
+ text-align: center;
2816
+ }
2817
+
2818
+ .workspace-select-menu-footer {
2819
+ padding: 4px;
2820
+ border-top: 1px solid var(--border-subtle);
2821
+ }
2822
+
2823
+ .workspace-select-open-folder {
2824
+ width: 100%;
2825
+ min-height: 34px;
2826
+ padding: 0 9px;
2827
+ display: flex;
2828
+ align-items: center;
2829
+ gap: 9px;
2830
+ color: var(--text-secondary);
2831
+ text-align: left;
2832
+ background: transparent;
2833
+ border: 0;
2834
+ border-radius: var(--radius-sm);
2835
+ cursor: pointer;
2836
+ font: inherit;
2837
+ font-size: 0.78rem;
2838
+ }
2839
+
2840
+ .workspace-select-open-folder:hover,
2841
+ .workspace-select-open-folder:focus-visible {
2842
+ color: var(--text-primary);
2843
+ background: var(--bg-surface-hover);
2844
+ outline: none;
2845
+ }
2846
+
2847
+ .project-context-row + .smart-context-bar {
2848
+ border-top-color: var(--border-subtle);
2849
+ border-radius: 0;
2850
+ }
2851
+
2852
+ .git-branch-selector {
2853
+ position: relative;
2854
+ display: flex;
2855
+ flex: 0 1 auto;
2856
+ min-width: 0;
2857
+ max-width: 38%;
2858
+ }
2859
+
2860
+ .git-branch-trigger {
2861
+ min-width: 0;
2862
+ min-height: 32px;
2863
+ max-width: 100%;
2864
+ padding: 0 9px;
2865
+ display: flex;
2866
+ align-items: center;
2867
+ gap: 7px;
2868
+ color: var(--text-secondary);
2869
+ background: transparent;
2870
+ border: 0;
2871
+ border-radius: var(--radius-md);
2872
+ cursor: pointer;
2873
+ }
2874
+
2875
+ .git-branch-trigger:hover:not(:disabled),
2876
+ .git-branch-trigger[aria-expanded='true'] {
2877
+ color: var(--text-primary);
2878
+ background: var(--bg-surface-hover);
2879
+ }
2880
+
2881
+ .git-branch-trigger:focus-visible {
2882
+ position: relative;
2883
+ z-index: 2;
2884
+ outline: 2px solid var(--border-focus, var(--accent));
2885
+ outline-offset: -2px;
2886
+ }
2887
+
2888
+ .git-branch-trigger:disabled {
2889
+ cursor: default;
2890
+ opacity: 0.55;
2891
+ }
2892
+
2893
+ .git-branch-icon,
2894
+ .git-branch-chevron {
2895
+ flex: 0 0 auto;
2896
+ }
2897
+
2898
+ .git-branch-icon {
2899
+ color: var(--text-muted);
2900
+ }
2901
+
2902
+ .git-branch-chevron {
2903
+ color: var(--text-muted);
2904
+ transition: transform 120ms ease;
2905
+ }
2906
+
2907
+ .git-branch-trigger[aria-expanded='true'] .git-branch-chevron {
2908
+ transform: rotate(180deg);
2909
+ }
2910
+
2911
+ .git-branch-name {
2912
+ min-width: 0;
2913
+ overflow: hidden;
2914
+ font-size: 0.76rem;
2915
+ font-weight: 500;
2916
+ line-height: 1;
2917
+ text-overflow: ellipsis;
2918
+ white-space: nowrap;
2919
+ }
2920
+
2921
+ .git-branch-dirty {
2922
+ width: 5px;
2923
+ height: 5px;
2924
+ flex: 0 0 5px;
2925
+ border-radius: 50%;
2926
+ background: var(--accent);
2927
+ }
2928
+
2929
+ .git-branch-menu {
2930
+ position: absolute;
2931
+ left: 0;
2932
+ right: auto;
2933
+ bottom: calc(100% + 8px);
2934
+ z-index: 80;
2935
+ width: min(320px, calc(100vw - 48px));
2936
+ padding: 6px;
2937
+ color: var(--text-primary);
2938
+ background: var(--bg-surface-raised);
2939
+ border: 1px solid var(--border-default);
2940
+ border-radius: var(--radius-md);
2941
+ box-shadow: var(--shadow-lg);
2942
+ overflow-y: auto;
2943
+ }
2944
+
2945
+ .git-branch-menu.align-right {
2946
+ left: auto;
2947
+ right: 0;
2948
+ }
2949
+
2950
+ .git-branch-menu.opens-down {
2951
+ top: calc(100% + 8px);
2952
+ bottom: auto;
2953
+ }
2954
+
2955
+ .git-branch-search {
2956
+ height: 34px;
2957
+ padding: 0 10px;
2958
+ display: flex;
2959
+ align-items: center;
2960
+ gap: 8px;
2961
+ color: var(--text-muted);
2962
+ background: var(--input-bg);
2963
+ border: 1px solid var(--border);
2964
+ border-radius: var(--radius-sm);
2965
+ }
2966
+
2967
+ .git-branch-search:focus-within {
2968
+ border-color: var(--border-focus, var(--accent));
2969
+ }
2970
+
2971
+ .git-branch-search input {
2972
+ min-width: 0;
2973
+ flex: 1;
2974
+ color: var(--text-primary);
2975
+ background: transparent;
2976
+ border: 0;
2977
+ outline: 0;
2978
+ font: inherit;
2979
+ font-size: 0.76rem;
2980
+ }
2981
+
2982
+ .git-branch-search input::placeholder {
2983
+ color: var(--text-muted);
2984
+ }
2985
+
2986
+ .git-branch-menu-heading {
2987
+ padding: 10px 8px 5px;
2988
+ color: var(--text-muted);
2989
+ font-size: 0.66rem;
2990
+ font-weight: 600;
2991
+ letter-spacing: 0.06em;
2992
+ text-transform: none;
2993
+ }
2994
+
2995
+ .git-branch-list {
2996
+ max-height: 180px;
2997
+ overflow-y: auto;
2998
+ }
2999
+
3000
+ .git-branch-option {
3001
+ width: 100%;
3002
+ min-height: 34px;
3003
+ padding: 6px 8px;
3004
+ display: grid;
3005
+ grid-template-columns: 18px minmax(0, 1fr) 16px;
3006
+ align-items: center;
3007
+ gap: 7px;
3008
+ color: var(--text-secondary);
3009
+ background: transparent;
3010
+ border: 0;
3011
+ border-radius: var(--radius-sm);
3012
+ text-align: left;
3013
+ cursor: pointer;
3014
+ }
3015
+
3016
+ .git-branch-option span:nth-child(2) {
3017
+ overflow: hidden;
3018
+ text-overflow: ellipsis;
3019
+ white-space: nowrap;
3020
+ }
3021
+
3022
+ .git-branch-option:hover:not(:disabled),
3023
+ .git-branch-option:focus-visible {
3024
+ color: var(--text-primary);
3025
+ background: var(--bg-surface-hover);
3026
+ outline: 0;
3027
+ }
3028
+
3029
+ .git-branch-option[aria-selected='true'] {
3030
+ color: var(--text-primary);
3031
+ background: var(--bg-surface-soft);
3032
+ }
3033
+
3034
+ .git-branch-option[aria-selected='true'] svg {
3035
+ color: var(--interactive-fg);
3036
+ }
3037
+
3038
+ .git-branch-option:disabled {
3039
+ cursor: wait;
3040
+ opacity: 0.6;
3041
+ }
3042
+
3043
+ .git-branch-option-icon {
3044
+ color: var(--text-muted);
3045
+ font-size: 0.9rem;
3046
+ }
3047
+
3048
+ .git-branch-empty {
3049
+ padding: 14px 8px;
3050
+ color: var(--text-muted);
3051
+ font-size: 0.76rem;
3052
+ text-align: center;
3053
+ }
3054
+
3055
+ .git-branch-error {
3056
+ margin-top: 6px;
3057
+ padding: 8px;
3058
+ display: flex;
3059
+ align-items: flex-start;
3060
+ justify-content: space-between;
3061
+ gap: 10px;
3062
+ color: var(--status-error, #ef4444);
3063
+ border-top: 1px solid var(--border-subtle);
3064
+ font-size: 0.7rem;
3065
+ line-height: 1.35;
3066
+ }
3067
+
3068
+ .git-branch-error button {
3069
+ padding: 0;
3070
+ color: inherit;
3071
+ background: transparent;
3072
+ border: 0;
3073
+ cursor: pointer;
3074
+ font: inherit;
3075
+ font-weight: 600;
3076
+ }
3077
+
3078
+ .git-branch-track-label {
3079
+ color: var(--text-muted);
3080
+ font-size: 0.64rem;
3081
+ text-align: right;
3082
+ }
3083
+
3084
+ .git-branch-actions {
3085
+ margin-top: 6px;
3086
+ padding-top: 6px;
3087
+ display: grid;
3088
+ border-top: 1px solid var(--border-subtle);
3089
+ }
3090
+
3091
+ .git-branch-actions button {
3092
+ min-height: 34px;
3093
+ padding: 6px 8px;
3094
+ display: flex;
3095
+ align-items: center;
3096
+ gap: 8px;
3097
+ color: var(--text-secondary);
3098
+ background: transparent;
3099
+ border: 0;
3100
+ border-radius: var(--radius-sm);
3101
+ text-align: left;
3102
+ cursor: pointer;
3103
+ }
3104
+
3105
+ .git-branch-actions button:hover,
3106
+ .git-branch-actions button:focus-visible {
3107
+ color: var(--text-primary);
3108
+ background: var(--bg-surface-hover);
3109
+ outline: 0;
3110
+ }
3111
+
3112
+ .git-branch-view-header {
3113
+ min-height: 34px;
3114
+ display: grid;
3115
+ grid-template-columns: 30px minmax(0, 1fr) auto;
3116
+ align-items: center;
3117
+ gap: 6px;
3118
+ border-bottom: 1px solid var(--border-subtle);
3119
+ }
3120
+
3121
+ .git-branch-view-header > button {
3122
+ min-width: 30px;
3123
+ height: 30px;
3124
+ padding: 0 7px;
3125
+ color: var(--text-muted);
3126
+ background: transparent;
3127
+ border: 0;
3128
+ border-radius: var(--radius-sm);
3129
+ cursor: pointer;
3130
+ }
3131
+
3132
+ .git-branch-view-header > button:hover:not(:disabled),
3133
+ .git-branch-view-header > button:focus-visible {
3134
+ color: var(--text-primary);
3135
+ background: var(--bg-surface-hover);
3136
+ outline: 0;
3137
+ }
3138
+
3139
+ .git-branch-view-header strong {
3140
+ overflow: hidden;
3141
+ font-size: 0.76rem;
3142
+ font-weight: 600;
3143
+ text-overflow: ellipsis;
3144
+ white-space: nowrap;
3145
+ }
3146
+
3147
+ .git-branch-create {
3148
+ display: grid;
3149
+ gap: 9px;
3150
+ }
3151
+
3152
+ .git-branch-create > label {
3153
+ margin-top: 3px;
3154
+ color: var(--text-muted);
3155
+ font-size: 0.68rem;
3156
+ font-weight: 600;
3157
+ }
3158
+
3159
+ .git-branch-create > input {
3160
+ height: 36px;
3161
+ padding: 0 10px;
3162
+ color: var(--text-primary);
3163
+ background: var(--input-bg);
3164
+ border: 1px solid var(--border);
3165
+ border-radius: var(--radius-sm);
3166
+ outline: 0;
3167
+ font: inherit;
3168
+ font-size: 0.76rem;
3169
+ }
3170
+
3171
+ .git-branch-create > input:focus {
3172
+ border-color: var(--border-focus, var(--accent));
3173
+ }
3174
+
3175
+ .git-branch-create > p {
3176
+ margin: 0;
3177
+ color: var(--text-muted);
3178
+ font-size: 0.68rem;
3179
+ line-height: 1.4;
3180
+ }
3181
+
3182
+ .git-branch-create > p strong {
3183
+ color: var(--text-secondary);
3184
+ font-weight: 500;
3185
+ }
3186
+
3187
+ .git-branch-create-submit {
3188
+ min-height: 34px;
3189
+ color: var(--text-on-accent);
3190
+ background: var(--accent);
3191
+ border: 0;
3192
+ border-radius: var(--radius-sm);
3193
+ cursor: pointer;
3194
+ font: inherit;
3195
+ font-size: 0.74rem;
3196
+ font-weight: 600;
3197
+ }
3198
+
3199
+ .git-branch-create-submit:hover:not(:disabled) {
3200
+ background: var(--accent-hover);
3201
+ }
3202
+
3203
+ .git-branch-create-submit:focus-visible {
3204
+ outline: 2px solid var(--border-focus, var(--accent));
3205
+ outline-offset: 2px;
3206
+ }
3207
+
3208
+ .git-branch-create-submit:disabled {
3209
+ cursor: default;
3210
+ opacity: 0.45;
3211
+ }
3212
+
3213
+ .git-branch-menu.is-graph {
3214
+ width: min(540px, calc(100vw - 48px));
3215
+ }
3216
+
3217
+ .git-graph-view {
3218
+ display: grid;
3219
+ gap: 6px;
3220
+ }
3221
+
3222
+ .git-graph-refresh {
3223
+ width: auto;
3224
+ font-size: 0.68rem;
3225
+ }
3226
+
3227
+ .git-graph-output {
3228
+ min-height: 180px;
3229
+ max-height: 330px;
3230
+ margin: 0;
3231
+ padding: 10px;
3232
+ overflow: auto;
3233
+ color: var(--text-secondary);
3234
+ background: var(--input-bg);
3235
+ border: 1px solid var(--border-subtle);
3236
+ border-radius: var(--radius-sm);
3237
+ font-family: var(--font-mono, monospace);
3238
+ font-size: 0.68rem;
3239
+ line-height: 1.65;
3240
+ tab-size: 14;
3241
+ white-space: pre;
3242
+ }
3243
+
3244
+ .git-graph-output:focus-visible {
3245
+ outline: 2px solid var(--border-focus, var(--accent));
3246
+ outline-offset: -2px;
3247
+ }
3248
+
3249
+ .git-graph-state {
3250
+ min-height: 140px;
3251
+ display: grid;
3252
+ place-items: center;
3253
+ color: var(--text-muted);
3254
+ font-size: 0.74rem;
3255
+ }
3256
+
3257
+ @media (max-width: 1100px) {
3258
+ .git-branch-menu.is-graph {
3259
+ width: min(320px, calc(100vw - 48px));
3260
+ }
3261
+ }
3262
+
3263
+ @media (max-width: 640px) {
3264
+ .workspace-selector {
3265
+ max-width: 54%;
3266
+ }
3267
+
3268
+ .git-branch-selector {
3269
+ max-width: 38%;
3270
+ }
3271
+
3272
+ .git-branch-trigger {
3273
+ padding-inline: 7px;
3274
+ }
2319
3275
  }
2320
3276
 
2321
- .provider-badge {
2322
- color: var(--accent-hover);
3277
+ @media (prefers-reduced-motion: reduce) {
3278
+ .git-branch-chevron {
3279
+ transition: none;
3280
+ }
2323
3281
  }
2324
3282
 
2325
- /* Force AI replies to render as plain inline text (no bubble/frame). */
3283
+ @media (forced-colors: active) {
3284
+ .project-context-row,
3285
+ .workspace-select-btn,
3286
+ .workspace-select-menu,
3287
+ .workspace-select-search,
3288
+ .git-branch-menu,
3289
+ .git-branch-search,
3290
+ .git-branch-create > input,
3291
+ .git-graph-output {
3292
+ border-color: CanvasText;
3293
+ }
2326
3294
 
2327
- .message.ai-message .message-bubble {
2328
- background: transparent !important;
2329
- border: none !important;
2330
- box-shadow: none !important;
2331
- border-radius: 0 !important;
2332
- padding: 0 !important;
2333
- }
3295
+ .git-branch-option[aria-selected='true'] {
3296
+ outline: 1px solid Highlight;
3297
+ outline-offset: -1px;
3298
+ }
2334
3299
 
2335
- .input-area {
2336
- flex: 0 0 auto;
2337
- padding: 0;
2338
- background: transparent;
2339
- border: 0;
2340
- box-shadow: none;
2341
- pointer-events: auto;
3300
+ .git-branch-dirty,
3301
+ .git-branch-create-submit {
3302
+ background: Highlight;
3303
+ color: HighlightText;
3304
+ }
2342
3305
  }
2343
3306
 
2344
3307
  .smart-context-bar {
2345
- min-height: 24px;
2346
- padding: 3px 10px 3px 14px;
3308
+ min-height: 26px;
3309
+ padding: 7px 14px 6px 18px;
2347
3310
  margin: 0;
2348
3311
  background: var(--input-bg);
2349
3312
  border: 1px solid var(--border);
2350
3313
  border-bottom: 0;
2351
- border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
3314
+ border-radius: var(--radius-xl) var(--radius-xl) 0 0;
2352
3315
  display: flex;
3316
+ align-items: center;
2353
3317
  flex-wrap: wrap;
2354
- gap: 10px;
3318
+ gap: 7px;
2355
3319
  }
2356
3320
 
2357
- .smart-context-label {
3321
+ .smart-context-option {
3322
+ min-height: 30px;
3323
+ padding: 4px 9px;
3324
+ display: inline-flex;
3325
+ align-items: center;
3326
+ gap: 7px;
3327
+ border: 1px solid transparent;
3328
+ border-radius: 999px;
2358
3329
  color: var(--text-soft);
2359
- font-size: 0.76rem;
2360
- font-weight: 400;
3330
+ background: transparent;
3331
+ cursor: pointer;
3332
+ transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
2361
3333
  }
2362
3334
 
2363
- .smart-context-label span {
2364
- color: var(--text-muted);
2365
- font-size: 0.68rem;
3335
+ .smart-context-option:hover {
3336
+ border-color: var(--border);
3337
+ background: color-mix(in srgb, var(--surface-strong) 55%, transparent);
3338
+ }
3339
+
3340
+ .smart-context-option.is-active {
3341
+ border-color: color-mix(in srgb, var(--accent) 32%, transparent);
3342
+ background: color-mix(in srgb, var(--accent) 9%, transparent);
3343
+ color: var(--text-main);
3344
+ }
3345
+
3346
+ @media (prefers-reduced-motion: reduce) {
3347
+ .smart-context-option {
3348
+ transition: none;
3349
+ }
3350
+ }
3351
+
3352
+ .smart-context-copy {
3353
+ display: inline-flex;
3354
+ align-items: baseline;
3355
+ gap: 4px;
3356
+ white-space: nowrap;
3357
+ }
3358
+
3359
+ .smart-context-title {
3360
+ color: inherit;
3361
+ font-size: 0.74rem;
3362
+ font-weight: 500;
2366
3363
  }
2367
3364
 
2368
3365
  .toggle-switch {
3366
+ position: relative;
3367
+ display: inline-block;
3368
+ flex: 0 0 auto;
2369
3369
  width: 32px;
2370
3370
  height: 18px;
2371
3371
  }
2372
3372
 
3373
+ .toggle-switch input:focus-visible + .slider {
3374
+ outline: 2px solid var(--accent);
3375
+ outline-offset: 2px;
3376
+ }
3377
+
2373
3378
  .slider {
2374
3379
  background-color: var(--surface-strong);
2375
3380
  }
@@ -2383,6 +3388,19 @@ input:checked + .slider:before {
2383
3388
 
2384
3389
  input:checked + .slider:before {
2385
3390
  transform: translateX(14px);
3391
+ background-color: var(--accent-contrast, #ffffff);
3392
+ }
3393
+
3394
+ @media (max-width: 560px) {
3395
+ .smart-context-bar {
3396
+ padding: 6px 10px 5px;
3397
+ gap: 4px;
3398
+ }
3399
+
3400
+ .smart-context-option {
3401
+ padding-inline: 7px;
3402
+ }
3403
+
2386
3404
  }
2387
3405
 
2388
3406
  #chat-form {
@@ -2392,10 +3410,10 @@ input:checked + .slider:before {
2392
3410
  grid-template-rows: auto minmax(48px, auto) 32px;
2393
3411
  align-items: end;
2394
3412
  gap: 6px;
2395
- padding: 8px;
3413
+ padding: 10px 14px 10px 14px;
2396
3414
  background: var(--input-bg);
2397
3415
  border: 1px solid var(--border);
2398
- border-radius: var(--radius-2xl);
3416
+ border-radius: var(--radius-xl);
2399
3417
  box-shadow: none;
2400
3418
  backdrop-filter: var(--glass-blur);
2401
3419
  -webkit-backdrop-filter: var(--glass-blur);
@@ -2404,6 +3422,8 @@ input:checked + .slider:before {
2404
3422
  .smart-context-bar + #chat-form {
2405
3423
  border-top-left-radius: 0;
2406
3424
  border-top-right-radius: 0;
3425
+ border-bottom-left-radius: var(--radius-xl);
3426
+ border-bottom-right-radius: var(--radius-xl);
2407
3427
  }
2408
3428
 
2409
3429
  #chat-form:focus-within {
@@ -2545,28 +3565,6 @@ input:checked + .slider:before {
2545
3565
  cursor: pointer;
2546
3566
  }
2547
3567
 
2548
- .screen-capture-eye {
2549
- position: relative;
2550
- width: 18px;
2551
- height: 11px;
2552
- border: 1.6px solid currentColor;
2553
- border-radius: 50% / 58%;
2554
- background: transparent;
2555
- }
2556
-
2557
- .screen-capture-eye::after {
2558
- content: '';
2559
- position: absolute;
2560
- width: 4px;
2561
- height: 4px;
2562
- left: 50%;
2563
- top: 50%;
2564
- border: 1.6px solid currentColor;
2565
- border-radius: 50%;
2566
- background: transparent;
2567
- transform: translate(-50%, -50%);
2568
- }
2569
-
2570
3568
  #chat-tool-btn,
2571
3569
  #send-btn,
2572
3570
  #mic-btn,
@@ -2651,11 +3649,11 @@ input:checked + .slider:before {
2651
3649
  width: fit-content;
2652
3650
  max-width: 100%;
2653
3651
  height: 32px;
2654
- padding: 0 24px 0 6px;
2655
- background: transparent;
2656
- border: 0;
2657
- border-radius: var(--radius-md);
2658
- color: var(--text-soft);
3652
+ padding: 0 16px 0 10px;
3653
+ background: var(--surface-strong);
3654
+ border: 1px solid var(--border-default);
3655
+ border-radius: var(--radius-full, 999px);
3656
+ color: var(--text-secondary);
2659
3657
  cursor: pointer;
2660
3658
  font-family: inherit;
2661
3659
  font-size: 0.78rem;
@@ -2664,6 +3662,7 @@ input:checked + .slider:before {
2664
3662
  text-overflow: ellipsis;
2665
3663
  white-space: nowrap;
2666
3664
  -webkit-app-region: no-drag;
3665
+ transition: all 0.15s ease;
2667
3666
  }
2668
3667
 
2669
3668
  .chat-provider-select:hover,
@@ -2684,7 +3683,7 @@ input:checked + .slider:before {
2684
3683
 
2685
3684
  .chat-provider-select option:checked {
2686
3685
  background: linear-gradient(var(--accent), var(--accent));
2687
- color: #ffffff;
3686
+ color: var(--accent-contrast, #ffffff);
2688
3687
  }
2689
3688
 
2690
3689
  .voice-mode-bar {
@@ -2730,7 +3729,7 @@ input:checked + .slider:before {
2730
3729
  #mic-btn.voice-mode-active {
2731
3730
  background: color-mix(in srgb, var(--accent) 18%, var(--surface-strong));
2732
3731
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
2733
- color: var(--accent-hover);
3732
+ color: var(--interactive-fg-hover);
2734
3733
  }
2735
3734
 
2736
3735
  #send-btn {
@@ -2780,7 +3779,7 @@ input:checked + .slider:before {
2780
3779
 
2781
3780
  #send-btn {
2782
3781
  background: linear-gradient(135deg, var(--accent), var(--accent-hover));
2783
- color: white;
3782
+ color: var(--accent-contrast, #ffffff);
2784
3783
  box-shadow: var(--glow-accent-md);
2785
3784
  }
2786
3785
 
@@ -2832,16 +3831,13 @@ input:checked + .slider:before {
2832
3831
  /* Chat Bold Highlight styling */
2833
3832
 
2834
3833
  .chat-bold-highlight {
2835
- color: #38bdf8; /* Soft blue (sky-400) for default/dark theme */
3834
+ color: var(--text-chat, var(--text-main, inherit));
2836
3835
  font-weight: 600;
2837
3836
  }
2838
3837
 
2839
- [data-theme="light"] .chat-bold-highlight {
2840
- color: #0284c7; /* Sky-600 for light theme */
2841
- }
2842
-
2843
- [data-theme="midnight"] .chat-bold-highlight {
2844
- color: #38bdf8; /* Sky-400 for midnight theme */
3838
+ .chat-bold-highlight {
3839
+ color: var(--text-primary);
3840
+ font-weight: 700;
2845
3841
  }
2846
3842
 
2847
3843
  /* Input Disclaimer Footer */
@@ -2850,7 +3846,7 @@ input:checked + .slider:before {
2850
3846
  text-align: center;
2851
3847
  font-size: 0.7rem;
2852
3848
  color: var(--text-muted);
2853
- opacity: 0.55;
3849
+ opacity: 0.85;
2854
3850
  padding: 6px 20px 10px;
2855
3851
  margin: 0;
2856
3852
  flex-shrink: 0;
@@ -2858,58 +3854,192 @@ input:checked + .slider:before {
2858
3854
  user-select: none;
2859
3855
  }
2860
3856
 
2861
- /* Web-Native Chat Header */
3857
+ /* Floating Glass Capsule Chat Header */
2862
3858
 
2863
3859
  .chat-header {
2864
3860
  display: flex;
2865
3861
  align-items: center;
3862
+ justify-content: space-between;
2866
3863
  gap: 12px;
2867
- padding: 10px 18px;
2868
- background: var(--chrome-bg);
2869
- backdrop-filter: var(--glass-blur);
2870
- -webkit-backdrop-filter: var(--glass-blur);
2871
- border-bottom: 1px solid var(--border);
3864
+ padding: 6px 14px 6px 12px;
3865
+ background: color-mix(in srgb, var(--chrome-bg, #161a22) 75%, transparent);
3866
+ backdrop-filter: blur(20px) saturate(180%);
3867
+ -webkit-backdrop-filter: blur(20px) saturate(180%);
3868
+ border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
3869
+ border-radius: var(--radius-xl, 14px);
3870
+ box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.35),
3871
+ 0 1px 0 0 rgba(255, 255, 255, 0.04) inset;
2872
3872
  position: sticky;
2873
- top: 0;
3873
+ top: 12px;
2874
3874
  z-index: 50;
2875
- height: 52px;
3875
+ height: 48px;
2876
3876
  flex-shrink: 0;
3877
+ margin: 0 0 10px 0;
3878
+ transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
3879
+ }
3880
+
3881
+ .chat-header:hover {
3882
+ border-color: var(--border-default, rgba(255, 255, 255, 0.16));
3883
+ box-shadow: 0 10px 30px -4px rgba(0, 0, 0, 0.45),
3884
+ 0 1px 0 0 rgba(255, 255, 255, 0.08) inset;
2877
3885
  }
2878
3886
 
2879
3887
  .chat-header-title {
2880
3888
  display: flex;
2881
3889
  align-items: center;
2882
- gap: 8px;
2883
- font-weight: 600;
2884
- color: var(--text-main);
2885
- font-size: 0.92rem;
3890
+ gap: 10px;
3891
+ min-width: 0;
3892
+ flex: 1;
3893
+ }
3894
+
3895
+ .chat-header-brand-group {
3896
+ display: flex;
3897
+ align-items: center;
3898
+ gap: 9px;
3899
+ min-width: 0;
2886
3900
  }
2887
3901
 
2888
3902
  .chat-header-logo {
2889
- width: 20px;
2890
- height: 20px;
3903
+ width: 18px;
3904
+ height: 18px;
2891
3905
  object-fit: contain;
3906
+ flex-shrink: 0;
2892
3907
  }
2893
3908
 
2894
- .chat-header-clear-btn {
3909
+ .chat-header-title-text {
3910
+ font-size: 0.88rem;
3911
+ font-weight: 600;
3912
+ color: var(--text-primary, #f1f5f9);
3913
+ white-space: nowrap;
3914
+ overflow: hidden;
3915
+ text-overflow: ellipsis;
3916
+ max-width: 420px;
3917
+ letter-spacing: -0.01em;
3918
+ }
3919
+
3920
+ .chat-header-project-pill {
3921
+ display: inline-flex;
3922
+ align-items: center;
3923
+ gap: 5px;
3924
+ padding: 2px 8px;
3925
+ background: rgba(255, 255, 255, 0.06);
3926
+ border: 1px solid rgba(255, 255, 255, 0.08);
3927
+ border-radius: var(--radius-sm, 6px);
3928
+ font-size: 0.76rem;
3929
+ font-weight: 500;
3930
+ color: var(--text-secondary, #94a3b8);
3931
+ white-space: nowrap;
3932
+ user-select: none;
3933
+ flex-shrink: 0;
3934
+ }
3935
+
3936
+ .chat-header-project-pill svg {
3937
+ color: var(--flavor-teal, #2dd4bf);
3938
+ flex-shrink: 0;
3939
+ }
3940
+
3941
+
3942
+ .chat-header-actions {
3943
+ display: flex;
3944
+ align-items: center;
3945
+ gap: 8px;
2895
3946
  margin-left: auto;
2896
3947
  flex-shrink: 0;
3948
+ }
3949
+
3950
+ .chat-header-pill-btn {
3951
+ display: inline-flex;
3952
+ align-items: center;
3953
+ gap: 5px;
3954
+ padding: 4px 10px;
3955
+ font-size: 0.73rem;
3956
+ font-weight: 600;
3957
+ color: var(--interactive-fg);
3958
+ background: color-mix(in srgb, var(--accent, #10b981) 12%, transparent);
3959
+ border: 1px solid color-mix(in srgb, var(--accent, #10b981) 28%, transparent);
3960
+ border-radius: 999px;
3961
+ cursor: pointer;
3962
+ transition: all 0.18s ease;
3963
+ }
3964
+
3965
+ .chat-header-pill-btn:hover {
3966
+ background: color-mix(in srgb, var(--accent, #10b981) 22%, transparent);
3967
+ border-color: var(--accent, #10b981);
3968
+ transform: translateY(-0.5px);
3969
+ }
3970
+
3971
+ .chat-header-action-btn,
3972
+ .chat-header-clear-btn {
2897
3973
  display: flex;
2898
3974
  align-items: center;
2899
3975
  justify-content: center;
2900
- width: 28px;
2901
- height: 28px;
2902
- border: 0;
2903
- border-radius: var(--radius-sm);
2904
- background: transparent;
2905
- color: var(--text-muted);
3976
+ width: 30px;
3977
+ height: 30px;
3978
+ border-radius: 8px;
3979
+ background: color-mix(in srgb, var(--bg-surface, #202632) 70%, transparent);
3980
+ border: 1px solid color-mix(in srgb, var(--border, rgba(255, 255, 255, 0.08)) 80%, transparent);
3981
+ color: var(--text-muted, #94a3b8);
2906
3982
  cursor: pointer;
2907
- transition: background 0.16s ease, color 0.16s ease;
3983
+ transition: all 0.18s ease;
2908
3984
  }
2909
3985
 
3986
+ .chat-header-action-btn:hover,
2910
3987
  .chat-header-clear-btn:hover {
2911
- background: var(--surface-strong);
2912
- color: var(--text-main);
3988
+ background: color-mix(in srgb, #ef4444 14%, transparent);
3989
+ border-color: color-mix(in srgb, #ef4444 35%, transparent);
3990
+ color: #ef4444;
3991
+ transform: translateY(-0.5px);
3992
+ box-shadow: 0 2px 8px rgba(239, 68, 68, 0.2);
3993
+ }
3994
+
3995
+ .chat-header-breadcrumb {
3996
+ display: inline-flex;
3997
+ align-items: center;
3998
+ gap: 8px;
3999
+ font-size: 0.88rem;
4000
+ }
4001
+
4002
+ .chat-header-back-btn {
4003
+ display: inline-flex;
4004
+ align-items: center;
4005
+ gap: 5px;
4006
+ background: color-mix(in srgb, var(--bg-surface, #202632) 80%, transparent);
4007
+ border: 1px solid var(--border-default, rgba(255, 255, 255, 0.1));
4008
+ border-radius: var(--radius-xs, 6px);
4009
+ padding: 3px 9px;
4010
+ color: var(--text-primary);
4011
+ font-size: 0.8rem;
4012
+ font-weight: 500;
4013
+ cursor: pointer;
4014
+ transition: all 0.15s ease;
4015
+ }
4016
+
4017
+ .chat-header-back-btn:hover {
4018
+ background: var(--bg-surface-hover);
4019
+ border-color: var(--border-strong);
4020
+ color: var(--text-primary);
4021
+ transform: translateY(-0.5px);
4022
+ }
4023
+
4024
+ .chat-header-sep {
4025
+ color: var(--text-muted);
4026
+ opacity: 0.6;
4027
+ font-size: 0.8rem;
4028
+ user-select: none;
4029
+ }
4030
+
4031
+ .chat-header-session-tag {
4032
+ display: inline-flex;
4033
+ align-items: center;
4034
+ gap: 6px;
4035
+ padding: 2px 8px;
4036
+ border-radius: 6px;
4037
+ background: color-mix(in srgb, var(--accent, #10b981) 10%, transparent);
4038
+ border: 1px solid color-mix(in srgb, var(--accent, #10b981) 20%, transparent);
4039
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
4040
+ font-size: 0.8rem;
4041
+ font-weight: 600;
4042
+ color: var(--interactive-fg);
2913
4043
  }
2914
4044
 
2915
4045
  /* Animations and Recording States */
@@ -2947,8 +4077,17 @@ input:checked + .slider:before {
2947
4077
  backdrop-filter: var(--glass-blur);
2948
4078
  -webkit-backdrop-filter: var(--glass-blur);
2949
4079
  border-bottom: 1px solid var(--border);
4080
+ border-top: 0;
4081
+ border-left: 0;
4082
+ border-right: 0;
4083
+ border-radius: 0;
4084
+ margin: 0;
2950
4085
  height: 52px;
2951
4086
  padding: 10px 16px;
4087
+ box-shadow: none;
4088
+ }
4089
+ .chat-header-title-text {
4090
+ max-width: 180px;
2952
4091
  }
2953
4092
  }
2954
4093
 
@@ -2966,11 +4105,7 @@ input:checked + .slider:before {
2966
4105
  .system-event-line {
2967
4106
  flex: 1;
2968
4107
  height: 1px;
2969
- border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
2970
- }
2971
-
2972
- [data-theme="light"] .system-event-line {
2973
- border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
4108
+ border-bottom: 1px dashed var(--border-default);
2974
4109
  }
2975
4110
 
2976
4111
  .system-event-pill {
@@ -2978,25 +4113,19 @@ input:checked + .slider:before {
2978
4113
  align-items: center;
2979
4114
  gap: 6px;
2980
4115
  padding: 4px 14px;
2981
- background: var(--panel-raised, rgba(30, 41, 59, 0.6));
2982
- border: 1px solid rgba(255, 255, 255, 0.08);
4116
+ background: var(--bg-surface-raised);
4117
+ border: 1px solid var(--border-default);
2983
4118
  border-radius: var(--radius-full);
2984
- color: var(--text-soft, #94a3b8);
4119
+ color: var(--text-secondary);
2985
4120
  font-size: 0.78rem;
2986
4121
  font-weight: 500;
2987
4122
  margin: 0 12px;
2988
4123
  white-space: nowrap;
2989
- box-shadow: var(--shadow-xs);
2990
- }
2991
-
2992
- [data-theme="light"] .system-event-pill {
2993
- background: #f1f5f9;
2994
- border-color: rgba(0, 0, 0, 0.06);
2995
- color: #475569;
4124
+ box-shadow: var(--shadow-sm);
2996
4125
  }
2997
4126
 
2998
4127
  .system-event-pill svg {
2999
- color: var(--accent, #38bdf8);
4128
+ color: var(--interactive-fg);
3000
4129
  }
3001
4130
 
3002
4131
  /* Stop button styling overrides for ChatPanel */
@@ -3042,23 +4171,97 @@ input:checked + .slider:before {
3042
4171
  }
3043
4172
 
3044
4173
  .msg-action-btn:hover {
3045
- background: var(--surface-bg, rgba(255, 255, 255, 0.08));
3046
- border-color: var(--border, rgba(255, 255, 255, 0.1));
3047
- color: var(--text-main, #f8fafc);
4174
+ background: var(--bg-surface-hover);
4175
+ border-color: var(--border-default);
4176
+ color: var(--text-primary);
3048
4177
  opacity: 1;
3049
4178
  }
3050
4179
 
3051
4180
  .msg-action-btn.is-copied {
3052
- color: var(--accent, #10b981) !important;
4181
+ color: var(--interactive-fg) !important;
3053
4182
  background: color-mix(in srgb, var(--accent, #10b981) 12%, transparent);
3054
4183
  border-color: color-mix(in srgb, var(--accent, #10b981) 25%, transparent);
3055
4184
  opacity: 1 !important;
3056
4185
  }
3057
4186
 
3058
4187
  .msg-action-btn.is-speaking {
3059
- color: var(--accent, #10b981) !important;
4188
+ color: var(--interactive-fg) !important;
3060
4189
  background: color-mix(in srgb, var(--accent, #10b981) 12%, transparent);
3061
4190
  border-color: color-mix(in srgb, var(--accent, #10b981) 25%, transparent);
3062
4191
  animation: aura-breathe-bar 1.8s infinite ease-in-out;
3063
4192
  opacity: 1 !important;
3064
4193
  }
4194
+
4195
+ /* Light Theme High-Contrast & Depth Enhancements */
4196
+
4197
+ [data-theme="light"] .chat-header {
4198
+ background: rgba(255, 255, 255, 0.94);
4199
+ border: 1px solid rgba(15, 23, 42, 0.12);
4200
+ box-shadow: 0 4px 18px -2px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
4201
+ }
4202
+
4203
+ [data-theme="light"] .chat-header:hover {
4204
+ border-color: rgba(15, 23, 42, 0.22);
4205
+ box-shadow: 0 6px 24px -2px rgba(15, 23, 42, 0.12);
4206
+ }
4207
+
4208
+ [data-theme="light"] .chat-header-title-text {
4209
+ color: #0f172a;
4210
+ }
4211
+
4212
+ [data-theme="light"] .chat-header-action-btn {
4213
+ background: #f1f5f9;
4214
+ border-color: rgba(15, 23, 42, 0.12);
4215
+ color: #475569;
4216
+ }
4217
+
4218
+ [data-theme="light"] .chat-header-action-btn:hover {
4219
+ background: #fee2e2;
4220
+ border-color: #fca5a5;
4221
+ color: #dc2626;
4222
+ }
4223
+
4224
+ [data-theme="light"] .smart-context-bar,
4225
+ [data-theme="light"] #chat-form {
4226
+ background: #ffffff;
4227
+ border-color: rgba(15, 23, 42, 0.16);
4228
+ box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.06);
4229
+ }
4230
+
4231
+ [data-theme="light"] .smart-context-bar {
4232
+ border-bottom: 0;
4233
+ }
4234
+
4235
+ [data-theme="light"] .smart-context-option {
4236
+ color: #334155;
4237
+ }
4238
+
4239
+ [data-theme="light"] .smart-context-option.is-active {
4240
+ color: #0f172a;
4241
+ border-color: color-mix(in srgb, var(--accent) 38%, transparent);
4242
+ background: color-mix(in srgb, var(--accent) 10%, white);
4243
+ }
4244
+
4245
+ [data-theme="light"] .slider {
4246
+ background-color: #cbd5e1;
4247
+ }
4248
+
4249
+ [data-theme="light"] .input-disclaimer {
4250
+ color: #475569;
4251
+ opacity: 1;
4252
+ }
4253
+
4254
+ [data-theme="light"] #chat-tool-btn,
4255
+ [data-theme="light"] #screen-capture-btn,
4256
+ [data-theme="light"] #mic-btn {
4257
+ background: #f1f5f9;
4258
+ border: 1px solid rgba(15, 23, 42, 0.1);
4259
+ color: #334155;
4260
+ }
4261
+
4262
+ [data-theme="light"] #chat-tool-btn:hover,
4263
+ [data-theme="light"] #screen-capture-btn:hover,
4264
+ [data-theme="light"] #mic-btn:hover {
4265
+ background: #e2e8f0;
4266
+ color: #0f172a;
4267
+ }