@symerian/symi 2.2.8 → 2.3.1

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 (361) hide show
  1. package/dist/{accounts-tNElYrCH.js → accounts-CI6zQTJj.js} +14 -14
  2. package/dist/{accounts-qtxJ-6em.js → accounts-CJR8j_Kq.js} +1 -1
  3. package/dist/{accounts-CWktKM8a.js → accounts-ChTFYj8Q.js} +1 -1
  4. package/dist/{acp-cli-C39L0DlT.js → acp-cli-Cu4icbJT.js} +2 -2
  5. package/dist/{acp-cli-C3PXowAr.js → acp-cli-NJzARaHq.js} +2 -2
  6. package/dist/{active-listener-C9r8ZB9m.js → active-listener-D6sXIjAg.js} +1 -1
  7. package/dist/{agent-scope-BxoUQqgM.js → agent-scope-Bw1Ed8W9.js} +3 -3
  8. package/dist/{agents-DbnUoR_W.js → agents-DzuttgJU.js} +7 -7
  9. package/dist/{agents.config-qyBeLoW5.js → agents.config-2HlZJsR3.js} +1 -1
  10. package/dist/{agents.config-D4WnZfkE.js → agents.config-CSucty2T.js} +1 -1
  11. package/dist/{audio-preflight-Cv9Z1hfd.js → audio-preflight-BsfqyC31.js} +29 -29
  12. package/dist/{audio-preflight-BsS_1f9-.js → audio-preflight-C40mKAp7.js} +5 -5
  13. package/dist/{audio-preflight-D6xo_ucC.js → audio-preflight-CWnxkaac.js} +11 -11
  14. package/dist/{audio-preflight-Dx82ytdb.js → audio-preflight-xSDULLAj.js} +11 -11
  15. package/dist/{audit-F6tyY79q.js → audit-Byo5jCLN.js} +5 -5
  16. package/dist/{audit-CbxXbquQ.js → audit-CrITRV6w.js} +5 -5
  17. package/dist/{auth-choice-DYxn5otk.js → auth-choice-ChrEc3cZ.js} +4 -4
  18. package/dist/{auth-choice-TbOBqNzh.js → auth-choice-Cve09z1a.js} +4 -4
  19. package/dist/{banner-BGxrGU83.js → banner-BoLflN_R.js} +1 -1
  20. package/dist/{bindings-B7Ke6LJi.js → bindings-BU2hsBd9.js} +2 -2
  21. package/dist/{browser-cli-BsdB0_5b.js → browser-cli-BG4qPxpM.js} +3 -3
  22. package/dist/{browser-cli-CTQX5_tu.js → browser-cli-CPcnnsJJ.js} +3 -3
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/boot-md/handler.js +53 -53
  25. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  26. package/dist/bundled/command-logger/handler.js +1 -1
  27. package/dist/bundled/session-memory/handler.js +53 -53
  28. package/dist/{call-C7OJzLEL.js → call-BcE47FtD.js} +1 -1
  29. package/dist/{call-BOIceRVF.js → call-CJaS1iRF.js} +1 -1
  30. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  31. package/dist/{channel-activity-CsM_hJ_s.js → channel-activity-C9-gaquj.js} +1 -1
  32. package/dist/{channel-options-qDtKomWq.js → channel-options-Dkd1WQZx.js} +1 -1
  33. package/dist/{channel-options-8st4ZPAV.js → channel-options-DqgeO1f6.js} +1 -1
  34. package/dist/{channel-web-DQusem-l.js → channel-web-CJvDQ5Ea.js} +7 -7
  35. package/dist/{channels-cli-DZ9QSHcp.js → channels-cli-D0jjOLRb.js} +29 -29
  36. package/dist/{channels-cli-BfrCgEUI.js → channels-cli-DtqwJZWy.js} +30 -30
  37. package/dist/{chrome-Bf5N4gMh.js → chrome-CDJYxX5a.js} +8 -8
  38. package/dist/{chrome-CCN6Uf1O.js → chrome-Dq0bSDVx.js} +1 -1
  39. package/dist/{chrome-BtuJAYB6.js → chrome-DtPkPq9T.js} +1 -1
  40. package/dist/{chrome-CQNK4Of4.js → chrome-w3SLcQJF.js} +13 -13
  41. package/dist/{chunk-BW5f05BR.js → chunk-ClbN9Pqy.js} +1 -1
  42. package/dist/cli/daemon-cli.js +1 -1
  43. package/dist/{cli-isTrIFLa.js → cli-CEtg8kql.js} +26 -26
  44. package/dist/{cli-D484UoYM.js → cli-CHOmeum9.js} +25 -25
  45. package/dist/{command-format-BaxDnULz.js → command-format-UKHV-j0K.js} +1 -1
  46. package/dist/{command-registry-D4kcHIMn.js → command-registry-Ba2z3dYq.js} +11 -11
  47. package/dist/{commands-registry-D7CTCQPm.js → commands-registry-VSmULp-g.js} +4 -4
  48. package/dist/{completion-cli-CtOpZu6z.js → completion-cli-BgX3MWVU.js} +1 -1
  49. package/dist/{completion-cli-1m5OvbnB.js → completion-cli-CD-306wt.js} +2 -2
  50. package/dist/{config-Btm9gODl.js → config-BmV60pPT.js} +28 -0
  51. package/dist/{config-CkPct-ND.js → config-CHwyw6l5.js} +28 -0
  52. package/dist/{config-CJigbfdK.js → config-DHBLS1Hl.js} +28 -0
  53. package/dist/{config-cli-BlpcRRjX.js → config-cli-Cz87-TYh.js} +2 -2
  54. package/dist/{config-cli-BVbYrdKA.js → config-cli-DAbXVRUL.js} +2 -2
  55. package/dist/{config-CT6a99bQ.js → config-eEaJddXj.js} +40 -12
  56. package/dist/{config-guard-Q2nmK4Xy.js → config-guard-BflmO0t7.js} +3 -3
  57. package/dist/{config-guard-Fe8ddF5U.js → config-guard-CPHvOzsC.js} +2 -2
  58. package/dist/{config-validation-CqVVl--v.js → config-validation-BITwrsxY.js} +1 -1
  59. package/dist/{config-validation-DXA9-y5q.js → config-validation-CmimHAES.js} +1 -1
  60. package/dist/{configure-D4WT6m8B.js → configure-0nrthdSf.js} +10 -10
  61. package/dist/{configure-C-o6fkN4.js → configure-D45ne4lm.js} +10 -10
  62. package/dist/{control-service-DWy5T1wZ.js → control-service-Bz7rxLWq.js} +4 -4
  63. package/dist/{control-service-D2-SfYYP.js → control-service-DEVN6FRR.js} +4 -4
  64. package/dist/control-ui/css/style.css +1437 -548
  65. package/dist/control-ui/index.html +912 -652
  66. package/dist/control-ui/js/app.js +82 -6
  67. package/dist/control-ui/js/debug.js +55 -0
  68. package/dist/control-ui/js/gateway.js +11 -0
  69. package/dist/control-ui/js/models.js +16 -1
  70. package/dist/control-ui/js/render.js +74 -1
  71. package/dist/control-ui/js/render.test.js +36 -35
  72. package/dist/control-ui/js/utils.js +6 -6
  73. package/dist/{cron-cli-DCjmF5-B.js → cron-cli-BP24xl6n.js} +3 -3
  74. package/dist/{cron-cli-BXgHvojs.js → cron-cli-DBIlCvp3.js} +3 -3
  75. package/dist/{daemon-cli-D-Ceof_K.js → daemon-cli-DscwlsKW.js} +6 -6
  76. package/dist/{daemon-cli-2Xzn9zI0.js → daemon-cli-wWnBIQtk.js} +6 -6
  77. package/dist/daemon-cli.js +28 -0
  78. package/dist/{daemon-runtime-DpFImSwP.js → daemon-runtime-2mwX-jqj.js} +1 -1
  79. package/dist/{daemon-runtime-Co0_hiZm.js → daemon-runtime-CfRwa6qh.js} +1 -1
  80. package/dist/{deliver-CBVqE05W.js → deliver-BH0l3UKW.js} +2 -2
  81. package/dist/{deliver-CeOnWRNZ.js → deliver-BmPK91JP.js} +20 -20
  82. package/dist/{deliver-PKvGnPCv.js → deliver-CXRSdUr1.js} +3 -3
  83. package/dist/{deliver-CuDHWgo8.js → deliver-CceEhg3d.js} +3 -3
  84. package/dist/{devices-cli-Sgz97CCh.js → devices-cli-BHiPx2c2.js} +2 -2
  85. package/dist/{devices-cli-gzdkKCIr.js → devices-cli-Dds-25Ve.js} +2 -2
  86. package/dist/{diagnostic-CI0kRQkt.js → diagnostic-C3nsWaw3.js} +1 -1
  87. package/dist/{directory-cli-B7qWiEB9.js → directory-cli-CpUByQew.js} +1 -1
  88. package/dist/{directory-cli-B3reyWxB.js → directory-cli-D6vlxPje.js} +1 -1
  89. package/dist/{dns-cli-w2PtF7dQ.js → dns-cli-BEub5qgQ.js} +1 -1
  90. package/dist/{dns-cli-CAyakH9y.js → dns-cli-Beyzdh3S.js} +1 -1
  91. package/dist/{doctor-completion-CU32z26S.js → doctor-completion-CcDVOtZ5.js} +1 -1
  92. package/dist/{doctor-completion-rtRPARP8.js → doctor-completion-CmGtqUHQ.js} +1 -1
  93. package/dist/{doctor-config-flow-Bvd_Aoem.js → doctor-config-flow-CA3eiKhd.js} +2 -2
  94. package/dist/{doctor-config-flow-q1cK5vqE.js → doctor-config-flow-QnaBd8kL.js} +2 -2
  95. package/dist/entry.js +1 -1
  96. package/dist/{exec-approvals-cli-BGR981x_.js → exec-approvals-cli--zyXYrNY.js} +4 -4
  97. package/dist/{exec-approvals-cli-qL61CX5W.js → exec-approvals-cli-BliRl8VB.js} +4 -4
  98. package/dist/extensionAPI.js +13 -13
  99. package/dist/{frontmatter-C_bv_0P8.js → frontmatter-DPlG6yha.js} +2 -2
  100. package/dist/{gateway-cli-dxsgPoqI.js → gateway-cli-BVN31fwu.js} +135 -45
  101. package/dist/{gateway-cli-D9tJexeo.js → gateway-cli-DajX3Pye.js} +134 -44
  102. package/dist/{gateway-rpc-o-EndnYx.js → gateway-rpc-BxkKeCZ0.js} +1 -1
  103. package/dist/{gateway-rpc-DjjmZ7bN.js → gateway-rpc-DfZSz5JF.js} +1 -1
  104. package/dist/{gemini-auth-CdSPHuLl.js → gemini-auth-CF48hUR9.js} +1 -1
  105. package/dist/{github-copilot-token-C_qUP7p5.js → github-copilot-token-DJqsJ2-r.js} +7 -7
  106. package/dist/{glass-ui-ws-BvSaDLuk.js → glass-ui-ws-CQG6acJl.js} +34 -34
  107. package/dist/{glass-ui-ws-BxliIaQO.js → glass-ui-ws-Z1IOT6Vc.js} +33 -33
  108. package/dist/{health-BpVkd1NR.js → health-D9eQW7fJ.js} +5 -5
  109. package/dist/{health-6atzBDlL.js → health-f056vLGT.js} +5 -5
  110. package/dist/{hooks-cli-BdV4KLxW.js → hooks-cli-CW-IRS72.js} +27 -27
  111. package/dist/{hooks-cli-A0zhogYG.js → hooks-cli-hJ4euq2R.js} +26 -26
  112. package/dist/{image-Crdjqg8r.js → image-CHzdaNJ4.js} +2 -2
  113. package/dist/{image-CAI2RIyk.js → image-CO4meYzg.js} +2 -2
  114. package/dist/{image-Bf75JOg6.js → image-D9uvDTrc.js} +2 -2
  115. package/dist/{image-ops-CvJzsyvE.js → image-ops-S8-8dAhx.js} +1 -1
  116. package/dist/{image-CAUuNGNO.js → image-rZ4x9VS9.js} +4 -4
  117. package/dist/index.js +34 -34
  118. package/dist/{ir-DccrnjsE.js → ir-CbFUkv_T.js} +4 -4
  119. package/dist/{lifecycle-core-S8m0j4NY.js → lifecycle-core-D6LYXpFj.js} +2 -2
  120. package/dist/{lifecycle-core-D7Ye5Yes.js → lifecycle-core-DIBHfMOL.js} +2 -2
  121. package/dist/llm-slug-generator.js +53 -53
  122. package/dist/{local-roots-DMwIh5cS.js → local-roots-C7OCYACU.js} +5 -5
  123. package/dist/{login-Bw5pRDS9.js → login-B8uiUAnV.js} +7 -7
  124. package/dist/{login-Cy0xKkFK.js → login-XprgoYoQ.js} +2 -2
  125. package/dist/{login-CLDr2P2d.js → login-dIlDkG4X.js} +2 -2
  126. package/dist/{login-qr-UgF5nhwc.js → login-qr-CIZk8uKX.js} +12 -12
  127. package/dist/{login-qr-B1vLxxOr.js → login-qr-CUErSLXH.js} +2 -2
  128. package/dist/{login-qr-x-m9V4_i.js → login-qr-CqPpNO1y.js} +2 -2
  129. package/dist/{login-qr-CJ3r_moH.js → login-qr-pbXdFORv.js} +2 -2
  130. package/dist/{login-CrnzK7Rc.js → login-tFW8qUTU.js} +2 -2
  131. package/dist/{logs-cli-DJIwkEZN.js → logs-cli-Du8FCgKK.js} +3 -3
  132. package/dist/{logs-cli-DoSU6ypE.js → logs-cli-xOzIPrHm.js} +3 -3
  133. package/dist/{manager-D_LwXbc6.js → manager-BoLr3xR_.js} +13 -13
  134. package/dist/{manifest-registry-D0IQ3WuX.js → manifest-registry-CneMHk0N.js} +19 -19
  135. package/dist/{markdown-tables-iMQQZu4Q.js → markdown-tables-DSHvnTLx.js} +1 -1
  136. package/dist/{memory-cli-B1eBVFD2.js → memory-cli-C2SWDd8g.js} +1 -1
  137. package/dist/{memory-cli-DKU7WTEa.js → memory-cli-Ca5r9AUb.js} +1 -1
  138. package/dist/{message-channel-Dz5lr5b0.js → message-channel-DbsRltF2.js} +1 -1
  139. package/dist/{model-auth-DK43VicI.js → model-auth-CwOuTuXl.js} +9 -9
  140. package/dist/{model-catalog-D2Q4fkGC.js → model-catalog-CqCsARJX.js} +2 -2
  141. package/dist/{model-catalog-67tJywj6.js → model-catalog-DvBJ8pMD.js} +3 -3
  142. package/dist/{model-picker-Cv_lMtfR.js → model-picker-D5nCutGW.js} +2 -2
  143. package/dist/{model-picker-C5-xr7Au.js → model-picker-Ddo3jHe-.js} +2 -2
  144. package/dist/{models-cli-BIM5pEpQ.js → models-cli-B2ticsCM.js} +29 -29
  145. package/dist/{models-cli-DlUDMBlo.js → models-cli-D9bG44Ao.js} +29 -29
  146. package/dist/{models-config--wR0kLo6.js → models-config-CCMpqFyr.js} +1 -1
  147. package/dist/{models-config-CZKT8W0M.js → models-config-qyOXrOli.js} +1 -1
  148. package/dist/{models-CBEZc-xT.js → models-nO_t1uzp.js} +8 -8
  149. package/dist/{node-cli-D8nG9EDD.js → node-cli-C_G-Q3h-.js} +9 -9
  150. package/dist/{node-cli-DGmvLskU.js → node-cli-DSEhcjUV.js} +9 -9
  151. package/dist/{nodes-cli-B058F0sZ.js → nodes-cli-BIPA9B8G.js} +3 -3
  152. package/dist/{nodes-cli-BZ5aitST.js → nodes-cli-BcnuJajV.js} +3 -3
  153. package/dist/{onboard-BXp3rpw1.js → onboard-BDbpfrZj.js} +7 -7
  154. package/dist/{onboard-DXEF3bw2.js → onboard-BtZ9WqhJ.js} +7 -7
  155. package/dist/{onboard-channels-OKIylMMu.js → onboard-channels-CHE8nfNA.js} +1 -1
  156. package/dist/{onboard-channels-qLCTzt3v.js → onboard-channels-HubyUVjT.js} +1 -1
  157. package/dist/{onboard-custom-BiDvzYz-.js → onboard-custom-C7O-zfQ1.js} +2 -2
  158. package/dist/{onboard-custom-Bcifi3N2.js → onboard-custom-DdWPfzJO.js} +2 -2
  159. package/dist/{onboard-helpers-DHgVt6rY.js → onboard-helpers-ZmZYzlq3.js} +2 -2
  160. package/dist/{onboard-helpers-Cammg0Xb.js → onboard-helpers-_pit1NZW.js} +2 -2
  161. package/dist/{onboard-remote-BnOKv_rG.js → onboard-remote-R1g6st9i.js} +1 -1
  162. package/dist/{onboard-remote-CPI1Dsgo.js → onboard-remote-zUjD7UtM.js} +1 -1
  163. package/dist/{onboard-skills-5R6rRZiZ.js → onboard-skills-BB0YhUmF.js} +1 -1
  164. package/dist/{onboard-skills-LkCNrrQL.js → onboard-skills-ByO_wSN5.js} +1 -1
  165. package/dist/{onboarding-HJJedJ3u.js → onboarding-DtP0sps0.js} +10 -10
  166. package/dist/{onboarding-m_e9LePg.js → onboarding-eVb5gvwo.js} +10 -10
  167. package/dist/{onboarding.finalize-CbjQ-91D.js → onboarding.finalize-CetxPTxL.js} +31 -31
  168. package/dist/{onboarding.finalize-CGVAc5-e.js → onboarding.finalize-D8035U2E.js} +33 -33
  169. package/dist/{onboarding.gateway-config-BOUh5scQ.js → onboarding.gateway-config-BQFO9a_h.js} +4 -4
  170. package/dist/{onboarding.gateway-config-xF_Hfx5r.js → onboarding.gateway-config-CJUgDC6Y.js} +4 -4
  171. package/dist/{outbound-DzTvHYT8.js → outbound-3MZ12YrQ.js} +1 -1
  172. package/dist/{outbound-DHZ4Sktx.js → outbound-DB5Zus0-.js} +1 -1
  173. package/dist/{outbound-attachment-DjNDa3zn.js → outbound-attachment-Co2diKdP.js} +2 -2
  174. package/dist/{outbound-DeJ-MyLv.js → outbound-drXCcH8D.js} +1 -1
  175. package/dist/{outbound-GuMlcXXN.js → outbound-opDNxv-l.js} +7 -7
  176. package/dist/{pairing-cli-BunHc86C.js → pairing-cli-CBLfGvqW.js} +1 -1
  177. package/dist/{pairing-cli-DNAQqsxT.js → pairing-cli-CQRAnpvm.js} +1 -1
  178. package/dist/{paths-DLyHUt31.js → paths-Cb87-LzP.js} +1 -1
  179. package/dist/{paths-Cce4PUkG.js → paths-CySxpNhH.js} +5 -5
  180. package/dist/{pi-auth-json-0SYBFZTt.js → pi-auth-json-DPWPoruO.js} +8 -8
  181. package/dist/{pi-auth-json-C3yexKNU.js → pi-auth-json-DayrlDg_.js} +1 -1
  182. package/dist/{pi-embedded-Cd7Gd0Am.js → pi-embedded-BY-dBus2.js} +250 -39
  183. package/dist/{pi-embedded-C4Cb6hc3.js → pi-embedded-Dc3muKtS.js} +374 -163
  184. package/dist/{pi-embedded-helpers-B86ZS0eB.js → pi-embedded-helpers-B2z46qeM.js} +52 -52
  185. package/dist/{pi-embedded-helpers-UsrsQKwr.js → pi-embedded-helpers-CNPyv_ax.js} +1 -1
  186. package/dist/{pi-embedded-helpers-B2k8Fh9T.js → pi-embedded-helpers-DE9h5GAu.js} +1 -1
  187. package/dist/{pi-embedded-helpers-xjO9noTy.js → pi-embedded-helpers-lgx_U5KS.js} +5 -5
  188. package/dist/{pi-tools.policy-DKHZCIA2.js → pi-tools.policy-CIDBbw6x.js} +2 -2
  189. package/dist/{pi-tools.policy-CwzwRugl.js → pi-tools.policy-De00gPXt.js} +2 -2
  190. package/dist/{plugin-registry-DOEhQFQJ.js → plugin-registry-CuoX8mar.js} +2 -2
  191. package/dist/{plugin-registry-D0iAVBbj.js → plugin-registry-fxcvycGr.js} +2 -2
  192. package/dist/plugin-sdk/{audio-preflight-B8X7BvQ5.js → audio-preflight-DoQQKlxa.js} +5 -5
  193. package/dist/plugin-sdk/{channel-web-B92UQWLf.js → channel-web-CV1KLtZh.js} +7 -7
  194. package/dist/plugin-sdk/{chrome-DxJPopF7.js → chrome-C7c_0I5M.js} +1 -1
  195. package/dist/plugin-sdk/config/model-profiles-builtin.d.ts +9 -0
  196. package/dist/plugin-sdk/config/model-profiles.d.ts +56 -0
  197. package/dist/plugin-sdk/config/resolve-model-profile.d.ts +15 -0
  198. package/dist/plugin-sdk/config/types.models.d.ts +28 -0
  199. package/dist/plugin-sdk/config/zod-schema.core.d.ts +54 -0
  200. package/dist/plugin-sdk/config/zod-schema.d.ts +27 -0
  201. package/dist/plugin-sdk/{config-B0SemGqU.js → config-DDkdiUOR.js} +28 -0
  202. package/dist/plugin-sdk/{deliver-C51eaClJ.js → deliver-BUns_L9e.js} +2 -2
  203. package/dist/plugin-sdk/{image-VGrV0d09.js → image-BOYy0Ump.js} +2 -2
  204. package/dist/plugin-sdk/index.js +17 -17
  205. package/dist/plugin-sdk/{login-CG8p5_rW.js → login-Bh3DZPam.js} +2 -2
  206. package/dist/plugin-sdk/{login-qr-buvA9Dp8.js → login-qr-DbR7odSr.js} +2 -2
  207. package/dist/plugin-sdk/{outbound-LqNDFLO5.js → outbound-rF6G8Xpr.js} +1 -1
  208. package/dist/plugin-sdk/{pi-embedded-helpers-IkpqVZZa.js → pi-embedded-helpers-BveUP4hk.js} +5 -5
  209. package/dist/plugin-sdk/{pw-ai-CjPImm6b.js → pw-ai-DjGUsee-.js} +2 -2
  210. package/dist/plugin-sdk/{replies-BLMuwbVf.js → replies-fI39rPGa.js} +1 -1
  211. package/dist/plugin-sdk/{reply-BS99Apig.js → reply-C4mijdMZ.js} +246 -35
  212. package/dist/plugin-sdk/{runner-pmvwohi9.js → runner-BVqnEfNe.js} +2 -2
  213. package/dist/plugin-sdk/{send-D8Zs62CE.js → send-BHbXh8Ly.js} +1 -1
  214. package/dist/plugin-sdk/{send-DOXV-BQw.js → send-BMfJIhCk.js} +1 -1
  215. package/dist/plugin-sdk/{send-BinD92v_.js → send-BtANzsAo.js} +1 -1
  216. package/dist/plugin-sdk/{send-cUp3Bf9t.js → send-Bxdu6ZZy.js} +1 -1
  217. package/dist/plugin-sdk/{send-BOrHNGsc.js → send-D6LMZJ_h.js} +1 -1
  218. package/dist/plugin-sdk/{session-B0bWB4Wf.js → session-kI0tzViQ.js} +1 -1
  219. package/dist/plugin-sdk/{web-CF79DBe3.js → web-B17UUsjm.js} +17 -17
  220. package/dist/plugin-sdk/{whatsapp-actions-Bp33E4JW.js → whatsapp-actions-CcBzDuL-.js} +2 -2
  221. package/dist/{plugins-DQYI3Fr-.js → plugins-C4C9637U.js} +9 -9
  222. package/dist/{plugins-cli-6nKHKPj8.js → plugins-cli-4OqSGHp-.js} +26 -26
  223. package/dist/{plugins-cli-DU06_0f6.js → plugins-cli-BbE_Qnlk.js} +27 -27
  224. package/dist/{program-D1icw1T9.js → program-DkXOdfM2.js} +33 -33
  225. package/dist/{program-context-Bqybavvo.js → program-context-0bDxGpMx.js} +38 -38
  226. package/dist/{prompt-select-styled-DptZ40df.js → prompt-select-styled-DJkRn30j.js} +14 -14
  227. package/dist/{prompt-select-styled-Cj3jTVJJ.js → prompt-select-styled-_6KbTFXs.js} +14 -14
  228. package/dist/{provider-auth-helpers-CDnMFdFw.js → provider-auth-helpers-Bnkj4QXS.js} +2 -2
  229. package/dist/{provider-auth-helpers-BVSJctmE.js → provider-auth-helpers-BpVAdwK_.js} +2 -2
  230. package/dist/{push-apns-DtKC_-eP.js → push-apns-C0wMP1XU.js} +1 -1
  231. package/dist/{push-apns-CpUJIlI7.js → push-apns-EKnCwrqK.js} +1 -1
  232. package/dist/{pw-ai-DgDn1s1W.js → pw-ai-CbyO1fbh.js} +2 -2
  233. package/dist/{pw-ai-C2hGnRfL.js → pw-ai-De-KR9_s.js} +2 -2
  234. package/dist/{pw-ai-CsvxsEwI.js → pw-ai-DqL87js3.js} +2 -2
  235. package/dist/{pw-ai-BcniFyZm.js → pw-ai-PiQUncix.js} +11 -11
  236. package/dist/{qmd-manager-QHUP-_em.js → qmd-manager-DdZh9PHs.js} +7 -7
  237. package/dist/{qr-cli-Deyb-bdE.js → qr-cli-jd9LdZpq.js} +1 -1
  238. package/dist/{qr-cli-DvDQ233a.js → qr-cli-mgnfD5ce.js} +1 -1
  239. package/dist/{register.agent-DesQbi0N.js → register.agent-B0S1CJEx.js} +32 -32
  240. package/dist/{register.agent-DszKb7kT.js → register.agent-B48Vf_DK.js} +34 -34
  241. package/dist/{register.configure-CPZ2pkCL.js → register.configure-Drr3E9OG.js} +36 -36
  242. package/dist/{register.configure-CiHbtNBW.js → register.configure-Wyv7vb24.js} +37 -37
  243. package/dist/{register.maintenance-BBjwt-34.js → register.maintenance-Cmf17EW0.js} +34 -34
  244. package/dist/{register.maintenance-hUQ3a2-X.js → register.maintenance-TgjAQ4E0.js} +36 -36
  245. package/dist/{register.message-BZ_faykn.js → register.message-BcsPnPvW.js} +26 -26
  246. package/dist/{register.message-BJG43ey1.js → register.message-Dwv2puIB.js} +27 -27
  247. package/dist/{register.onboard-CtDGWgek.js → register.onboard-BDGaSyq2.js} +32 -32
  248. package/dist/{register.onboard-BuvppItf.js → register.onboard-C8w7_w93.js} +33 -33
  249. package/dist/{register.setup-09FZm-3U.js → register.setup-CMGSNKXS.js} +33 -33
  250. package/dist/{register.setup-CK_rXwht.js → register.setup-CiEuZOlI.js} +32 -32
  251. package/dist/{register.status-health-sessions-CYBXZfzw.js → register.status-health-sessions-C8p0uINc.js} +29 -29
  252. package/dist/{register.status-health-sessions-Dq1GhVZd.js → register.status-health-sessions-zKjmZyOs.js} +31 -31
  253. package/dist/{register.subclis-oaqsIg7c.js → register.subclis-CofZE_pt.js} +28 -28
  254. package/dist/{registry-CK4e9hn8.js → registry-DP24za6g.js} +17 -17
  255. package/dist/{replies-CVeSBasT.js → replies-DO80zq73.js} +1 -1
  256. package/dist/{replies-9jiCJtyj.js → replies-DpPvWiGF.js} +3 -3
  257. package/dist/{replies-Dfqu9AXG.js → replies-ZYtI9jr0.js} +1 -1
  258. package/dist/{replies-ByiY6ZyB.js → replies-vgss3_QA.js} +1 -1
  259. package/dist/{reply-BnAPNcvn.js → reply-SBi_U7P7.js} +258 -47
  260. package/dist/{reply-prefix-XlyuyChD.js → reply-prefix-CtL0omgM.js} +1 -1
  261. package/dist/{resolve-route-CZ-1eqw0.js → resolve-route-BVikmvWO.js} +4 -4
  262. package/dist/{retry-Cly39XZB.js → retry-dGG-MbxL.js} +1 -1
  263. package/dist/{routes-br_73dY_.js → routes-BFw2-yAN.js} +3 -3
  264. package/dist/{routes-BZCzIvY1.js → routes-Ba9CUQ8M.js} +3 -3
  265. package/dist/{rpc-CbirYKS1.js → rpc-BfhojW8g.js} +1 -1
  266. package/dist/{rpc-BsIk35AA.js → rpc-BjLadgzu.js} +1 -1
  267. package/dist/{run-main-g9-g4T_a.js → run-main-BJaDO3WW.js} +44 -44
  268. package/dist/{runner-BPcjrrjx.js → runner-BORIO-D3.js} +3 -3
  269. package/dist/{runner-M7hSmkG1.js → runner-CCSMfQee.js} +9 -9
  270. package/dist/{runner-Iw-AU75D.js → runner-CUglpiFP.js} +3 -3
  271. package/dist/{runner-DFFbD4Jj.js → runner-DUBExAb5.js} +2 -2
  272. package/dist/{sandbox-C9zB9HTn.js → sandbox-BFzSUT19.js} +5 -5
  273. package/dist/{sandbox-BnivFdOs.js → sandbox-C-T6hOMv.js} +5 -5
  274. package/dist/{sandbox-cli-6RGP0CNN.js → sandbox-cli-BllVdQzR.js} +6 -6
  275. package/dist/{sandbox-cli-Dl8IMlpe.js → sandbox-cli-Cj5__-gh.js} +6 -6
  276. package/dist/{security-cli-BHG6kV1z.js → security-cli-BFLtWWHy.js} +9 -9
  277. package/dist/{security-cli-CtgTAznE.js → security-cli-Dmb1k47A.js} +9 -9
  278. package/dist/{send-uxuOCFdA.js → send-BArQpbtx.js} +1 -1
  279. package/dist/{send-C1DE47RQ.js → send-C1IYd3g7.js} +1 -1
  280. package/dist/{send-CdxBNofn.js → send-C4Ucr8ep.js} +1 -1
  281. package/dist/{send-Z6uznj5j.js → send-CHEOWVc8.js} +6 -6
  282. package/dist/{send-DB2tDd9M.js → send-CPF8hSFp.js} +1 -1
  283. package/dist/{send-DKvfyTNM.js → send-CR5fRDgW.js} +1 -1
  284. package/dist/{send-CU_BDzc0.js → send-CXxQ_f7L.js} +1 -1
  285. package/dist/{send-CkYljROn.js → send-CY8oqBFg.js} +1 -1
  286. package/dist/{send-Bf-tLRDW.js → send-CZr1hVHY.js} +1 -1
  287. package/dist/{send-DP6zL1r4.js → send-CukP8Vq4.js} +1 -1
  288. package/dist/{send-DKB9atcf.js → send-Cutb0ZDY.js} +1 -1
  289. package/dist/{send-DoiQ-lVY.js → send-D-hWrHoH.js} +1 -1
  290. package/dist/{send-rirP23D6.js → send-DK_pm_7l.js} +1 -1
  291. package/dist/{send-Dv5K7btg.js → send-DTTtmhjA.js} +1 -1
  292. package/dist/{send-DUWSrao-.js → send-DXW6mdgR.js} +1 -1
  293. package/dist/{send-KhJZHqoK.js → send-DbcLJb0P.js} +7 -7
  294. package/dist/{send-B2c8xd6F.js → send-DeEosX8F.js} +18 -18
  295. package/dist/{send-Dp3_Z9LN.js → send-DwKJK3sM.js} +10 -10
  296. package/dist/{send-Bv3GF77o.js → send-tanEMpHN.js} +1 -1
  297. package/dist/{send-IjhsR55j.js → send-zSarozV2.js} +6 -6
  298. package/dist/{server-context-Bn72icrR.js → server-context-CEpFjqSk.js} +5 -5
  299. package/dist/{server-context-BogDcclm.js → server-context-H24IFajW.js} +5 -5
  300. package/dist/{server-methods-CYVVBHwG.js → server-methods-Cm6W01ne.js} +15 -15
  301. package/dist/{server-methods-1TVNg0k5.js → server-methods-CyFB3XQf.js} +16 -16
  302. package/dist/{server-node-events-CPTRFOMY.js → server-node-events-Bhgt3xLw.js} +26 -26
  303. package/dist/{server-node-events-Cvqw-9rw.js → server-node-events-CX1plxJz.js} +27 -27
  304. package/dist/{session-CRf_exZ0.js → session-Ckw7cXeP.js} +1 -1
  305. package/dist/{session-eZHBxAr-.js → session-DIBTkyvE.js} +1 -1
  306. package/dist/{session-BvpMfKh-.js → session-DV1MNlbV.js} +8 -8
  307. package/dist/{session-C4z7523K.js → session-DtMfLMdP.js} +1 -1
  308. package/dist/{session-utils-D5F7F--L.js → session-utils-Bka9dR4m.js} +3 -3
  309. package/dist/{sessions-Cb4Hj78H.js → sessions-CJXnZVjR.js} +1 -1
  310. package/dist/{sessions-B2cR2hug.js → sessions-DgYpBvse.js} +1 -1
  311. package/dist/{sessions-DHCZbuoQ.js → sessions-WBoXk-Ag.js} +3 -3
  312. package/dist/{shared-zPQArNFi.js → shared-D8K9MkWg.js} +1 -1
  313. package/dist/{shared-CxsYh_6Q.js → shared-Knv1hy6h.js} +1 -1
  314. package/dist/{skill-commands-BJMb_psG.js → skill-commands-D610IKhm.js} +9 -9
  315. package/dist/{skills-cli-urhcJuu8.js → skills-cli-BZTBLQTt.js} +1 -1
  316. package/dist/{skills-cli-XmXhTH3z.js → skills-cli-CkTGL9dR.js} +1 -1
  317. package/dist/{skills-BFekKL7i.js → skills-o5WVqM4V.js} +21 -21
  318. package/dist/{sqlite-DRbx2dhW.js → sqlite-6H6Zw1cs.js} +4 -4
  319. package/dist/{status-B7VIwi53.js → status-BBpD_1pG.js} +10 -10
  320. package/dist/{status-CDpLvmFd.js → status-BdmYV3_x.js} +2 -2
  321. package/dist/{status-CCrlpUEA.js → status-CwXg8OO1.js} +9 -9
  322. package/dist/{status-BS3y9HjF.js → status-U_1mE-yc.js} +2 -2
  323. package/dist/{status.update-D8lzj5TK.js → status.update-DbmZz0Aq.js} +1 -1
  324. package/dist/{status.update-Cu6R3wwz.js → status.update-DtwCUTf-.js} +1 -1
  325. package/dist/{store-C0wvOkae.js → store-vVE6N2mH.js} +2 -2
  326. package/dist/{subagent-registry-BSgPGZxs.js → subagent-registry-Du9P0G2U.js} +259 -48
  327. package/dist/{subsystem-Bs9YvKLa.js → subsystem-DgpxyDQ_.js} +1 -1
  328. package/dist/{system-cli-BXvpbG10.js → system-cli-D_EIZpBm.js} +3 -3
  329. package/dist/{system-cli-CD1cvYkc.js → system-cli-UMsMEurS.js} +3 -3
  330. package/dist/{systemd-hints-Cn-fd1AF.js → systemd-hints-BR6gChwm.js} +1 -1
  331. package/dist/{systemd-hints-BMl55p2_.js → systemd-hints-sQipWGd1.js} +1 -1
  332. package/dist/{tables-DuZspiBu.js → tables-BIWsCKXJ.js} +1 -1
  333. package/dist/{target-errors-Be1SwYlW.js → target-errors-DyItGyW9.js} +2 -2
  334. package/dist/{thinking-CdlENGRW.js → thinking-Ni0HF-w6.js} +5 -5
  335. package/dist/{tokens-H1H1LiSQ.js → tokens-c_SLAkVb.js} +1 -1
  336. package/dist/{tool-images-DXB7tqWi.js → tool-images-DBCfXdli.js} +2 -2
  337. package/dist/{tool-loop-detection-Cs8_HCsx.js → tool-loop-detection-Bbc9OPFR.js} +3 -3
  338. package/dist/{tui-OUhw8eT1.js → tui-BJB80muc.js} +4 -4
  339. package/dist/{tui-DJefgPwz.js → tui-CriznorL.js} +4 -4
  340. package/dist/{tui-cli-_ohekmDR.js → tui-cli-C7Q9lK8Q.js} +9 -9
  341. package/dist/{tui-cli-C-CoSVeQ.js → tui-cli-CSIdfCTR.js} +9 -9
  342. package/dist/{update-cli-DL3Tb3b0.js → update-cli-DJzF_9UX.js} +37 -37
  343. package/dist/{update-cli-C8sM6pAA.js → update-cli-_45TJ3hZ.js} +39 -39
  344. package/dist/{update-runner-ChoWv-od.js → update-runner-8Ac4bJ1w.js} +1 -1
  345. package/dist/{update-runner-Dm7EwGFW.js → update-runner-BSQFv9b6.js} +1 -1
  346. package/dist/{web-sQrQA6or.js → web-BZSI7b07.js} +29 -29
  347. package/dist/{web-0w8t_r2B.js → web-BqRsq6mP.js} +57 -57
  348. package/dist/{web-UEqiaso9.js → web-C1Zn8_qW.js} +16 -16
  349. package/dist/{web-VbydcdAk.js → web-w-vV1rCZ.js} +29 -29
  350. package/dist/{webhooks-cli-B8gdUXw-.js → webhooks-cli-ChiCyIaD.js} +1 -1
  351. package/dist/{webhooks-cli-DpiLQ_-A.js → webhooks-cli-cD58DWAE.js} +1 -1
  352. package/dist/{whatsapp-actions-DrReF5st.js → whatsapp-actions-C8nNH4ax.js} +2 -2
  353. package/dist/{whatsapp-actions-xolxich-.js → whatsapp-actions-DbcsdOH3.js} +2 -2
  354. package/dist/{whatsapp-actions-D_KIOhRu.js → whatsapp-actions-DvhI5-DC.js} +2 -2
  355. package/dist/{whatsapp-actions-BVZaCecm.js → whatsapp-actions-oRQjcdQe.js} +23 -23
  356. package/dist/{with-timeout-vknUanNX.js → with-timeout-Di0nddLY.js} +1 -1
  357. package/dist/{with-timeout-DIHZxCIl.js → with-timeout-gmK6RciS.js} +1 -1
  358. package/dist/{workspace-wAaHI8-5.js → workspace-CbvamIU6.js} +6 -6
  359. package/docs/reference/templates/CONFIG-SCHEMA.md +173 -0
  360. package/docs/reference/templates/SYMICORE.md +24 -0
  361. package/package.json +1 -1
@@ -1,27 +1,34 @@
1
1
  /* ── Reset & Base ─────────────────────────────────────────────────── */
2
- *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
2
+ *,
3
+ *::before,
4
+ *::after {
5
+ box-sizing: border-box;
6
+ margin: 0;
7
+ padding: 0;
8
+ }
3
9
 
4
10
  :root {
5
11
  --bg: #07070f;
6
- --glass-bg: rgba(255,255,255,0.04);
7
- --glass-bg-hover: rgba(255,255,255,0.07);
8
- --glass-border: rgba(255,255,255,0.08);
9
- --glass-border-strong: rgba(255,255,255,0.14);
10
- --text: rgba(255,255,255,0.92);
11
- --text-muted: rgba(255,255,255,0.45);
12
- --text-dim: rgba(255,255,255,0.25);
12
+ --glass-bg: rgba(255, 255, 255, 0.04);
13
+ --glass-bg-hover: rgba(255, 255, 255, 0.07);
14
+ --glass-border: rgba(255, 255, 255, 0.08);
15
+ --glass-border-strong: rgba(255, 255, 255, 0.14);
16
+ --text: rgba(255, 255, 255, 0.92);
17
+ --text-muted: rgba(255, 255, 255, 0.45);
18
+ --text-dim: rgba(255, 255, 255, 0.25);
13
19
  --accent-cyan: #00d4ff;
14
20
  --accent-purple: #8b5cf6;
15
21
  --accent-pink: #f472b6;
16
22
  --accent-green: #34d399;
17
23
  --accent-blue: #60a5fa;
18
- --shadow: 0 8px 32px rgba(0,0,0,0.5);
24
+ --shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
19
25
  --blur: blur(24px) saturate(160%);
20
- --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
21
- --font-mono: 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace;
26
+ --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
27
+ --font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;
22
28
  }
23
29
 
24
- html, body {
30
+ html,
31
+ body {
25
32
  height: 100%;
26
33
  width: 100%;
27
34
  overflow: hidden;
@@ -51,34 +58,48 @@ html, body {
51
58
  }
52
59
 
53
60
  .orb-1 {
54
- width: 700px; height: 700px;
61
+ width: 700px;
62
+ height: 700px;
55
63
  background: radial-gradient(circle, var(--accent-cyan), transparent 70%);
56
- top: -200px; left: -150px;
64
+ top: -200px;
65
+ left: -150px;
57
66
  animation-duration: 25s;
58
67
  }
59
68
 
60
69
  .orb-2 {
61
- width: 600px; height: 600px;
70
+ width: 600px;
71
+ height: 600px;
62
72
  background: radial-gradient(circle, var(--accent-purple), transparent 70%);
63
- bottom: -100px; right: -100px;
73
+ bottom: -100px;
74
+ right: -100px;
64
75
  animation-duration: 30s;
65
76
  animation-delay: -8s;
66
77
  }
67
78
 
68
79
  .orb-3 {
69
- width: 500px; height: 500px;
80
+ width: 500px;
81
+ height: 500px;
70
82
  background: radial-gradient(circle, var(--accent-pink), transparent 70%);
71
- top: 40%; left: 45%;
83
+ top: 40%;
84
+ left: 45%;
72
85
  animation-duration: 22s;
73
86
  animation-delay: -4s;
74
87
  opacity: 0.1;
75
88
  }
76
89
 
77
90
  @keyframes drift {
78
- 0% { transform: translate(0, 0) scale(1); }
79
- 33% { transform: translate(60px, -40px) scale(1.05); }
80
- 66% { transform: translate(-40px, 60px) scale(0.95); }
81
- 100% { transform: translate(30px, 20px) scale(1.02); }
91
+ 0% {
92
+ transform: translate(0, 0) scale(1);
93
+ }
94
+ 33% {
95
+ transform: translate(60px, -40px) scale(1.05);
96
+ }
97
+ 66% {
98
+ transform: translate(-40px, 60px) scale(0.95);
99
+ }
100
+ 100% {
101
+ transform: translate(30px, 20px) scale(1.02);
102
+ }
82
103
  }
83
104
 
84
105
  .bg-grid {
@@ -87,8 +108,8 @@ html, body {
87
108
  z-index: 0;
88
109
  pointer-events: none;
89
110
  background-image:
90
- linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
91
- linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
111
+ linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px),
112
+ linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
92
113
  background-size: 48px 48px;
93
114
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
94
115
  }
@@ -102,25 +123,34 @@ html, body {
102
123
  border: 1px solid var(--glass-border);
103
124
  border-radius: 14px;
104
125
  padding: 14px;
105
- box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.06);
106
- transition: border-color 0.3s, box-shadow 0.3s;
126
+ box-shadow:
127
+ var(--shadow),
128
+ inset 0 1px 0 rgba(255, 255, 255, 0.06);
129
+ transition:
130
+ border-color 0.3s,
131
+ box-shadow 0.3s;
107
132
  }
108
133
 
109
134
  .glass-panel:hover {
110
135
  border-color: var(--glass-border-strong);
111
- box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.1), 0 0 0 1px rgba(0,212,255,0.05);
136
+ box-shadow:
137
+ var(--shadow),
138
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
139
+ 0 0 0 1px rgba(0, 212, 255, 0.05);
112
140
  }
113
141
 
114
142
  .glass-panel::before {
115
- content: '';
143
+ content: "";
116
144
  position: absolute;
117
145
  inset: 0;
118
146
  border-radius: 16px;
119
- background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, transparent 60%);
147
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, transparent 60%);
120
148
  pointer-events: none;
121
149
  }
122
150
 
123
- .panel-sm { padding: 10px 12px; }
151
+ .panel-sm {
152
+ padding: 10px 12px;
153
+ }
124
154
 
125
155
  .panel-label {
126
156
  font-size: 10px;
@@ -142,15 +172,15 @@ html, body {
142
172
  }
143
173
 
144
174
  .brand-panel::after {
145
- content: '';
175
+ content: "";
146
176
  position: absolute;
147
177
  inset: 0;
148
178
  border-radius: 14px;
149
179
  background: linear-gradient(
150
180
  120deg,
151
- rgba(0,212,255,0.06) 0%,
152
- rgba(139,92,246,0.06) 50%,
153
- rgba(0,212,255,0.03) 100%
181
+ rgba(0, 212, 255, 0.06) 0%,
182
+ rgba(139, 92, 246, 0.06) 50%,
183
+ rgba(0, 212, 255, 0.03) 100%
154
184
  );
155
185
  pointer-events: none;
156
186
  }
@@ -160,13 +190,15 @@ html, body {
160
190
  width: 36px;
161
191
  height: 36px;
162
192
  border-radius: 10px;
163
- background: linear-gradient(135deg, rgba(0,212,255,0.15), rgba(139,92,246,0.15));
164
- border: 1px solid rgba(0,212,255,0.2);
193
+ background: linear-gradient(135deg, rgba(0, 212, 255, 0.15), rgba(139, 92, 246, 0.15));
194
+ border: 1px solid rgba(0, 212, 255, 0.2);
165
195
  display: flex;
166
196
  align-items: center;
167
197
  justify-content: center;
168
198
  font-size: 16px;
169
- box-shadow: 0 0 16px rgba(0,212,255,0.1), inset 0 1px 0 rgba(255,255,255,0.1);
199
+ box-shadow:
200
+ 0 0 16px rgba(0, 212, 255, 0.1),
201
+ inset 0 1px 0 rgba(255, 255, 255, 0.1);
170
202
  }
171
203
 
172
204
  .brand-text {
@@ -200,8 +232,12 @@ html, body {
200
232
  }
201
233
 
202
234
  @keyframes brand-shimmer {
203
- 0% { background-position: 0% center; }
204
- 100% { background-position: 200% center; }
235
+ 0% {
236
+ background-position: 0% center;
237
+ }
238
+ 100% {
239
+ background-position: 200% center;
240
+ }
205
241
  }
206
242
 
207
243
  /* ── Metric Rows ──────────────────────────────────────────────────── */
@@ -212,7 +248,9 @@ html, body {
212
248
  margin-bottom: 7px;
213
249
  }
214
250
 
215
- .metric-row:last-child { margin-bottom: 0; }
251
+ .metric-row:last-child {
252
+ margin-bottom: 0;
253
+ }
216
254
 
217
255
  .metric-name {
218
256
  font-family: var(--font-mono);
@@ -225,7 +263,7 @@ html, body {
225
263
  .metric-bar {
226
264
  flex: 1;
227
265
  height: 3px;
228
- background: rgba(255,255,255,0.08);
266
+ background: rgba(255, 255, 255, 0.08);
229
267
  border-radius: 99px;
230
268
  overflow: hidden;
231
269
  }
@@ -257,14 +295,18 @@ html, body {
257
295
  margin-bottom: 8px;
258
296
  min-height: 20px;
259
297
  }
260
- .net-row:last-child { margin-bottom: 0; }
298
+ .net-row:last-child {
299
+ margin-bottom: 0;
300
+ }
261
301
 
262
302
  .net-name {
263
303
  font-size: 12px;
264
304
  color: var(--text);
265
305
  flex: 1;
266
306
  }
267
- .net-name.muted { color: var(--text-muted); }
307
+ .net-name.muted {
308
+ color: var(--text-muted);
309
+ }
268
310
 
269
311
  .net-ip {
270
312
  font-family: var(--font-mono);
@@ -273,20 +315,39 @@ html, body {
273
315
  }
274
316
 
275
317
  .status-dot {
276
- width: 7px; height: 7px;
318
+ width: 7px;
319
+ height: 7px;
277
320
  border-radius: 50%;
278
321
  flex-shrink: 0;
279
322
  }
280
- .dot-green { background: var(--accent-green); box-shadow: 0 0 6px var(--accent-green); }
281
- .dot-blue { background: var(--accent-blue); box-shadow: 0 0 6px var(--accent-blue); }
282
- .dot-yellow { background: #fbbf24; box-shadow: 0 0 6px #fbbf24; }
323
+ .dot-green {
324
+ background: var(--accent-green);
325
+ box-shadow: 0 0 6px var(--accent-green);
326
+ }
327
+ .dot-blue {
328
+ background: var(--accent-blue);
329
+ box-shadow: 0 0 6px var(--accent-blue);
330
+ }
331
+ .dot-yellow {
332
+ background: #fbbf24;
333
+ box-shadow: 0 0 6px #fbbf24;
334
+ }
283
335
 
284
336
  .pulse {
285
337
  animation: pulse-glow 2s ease-in-out infinite;
286
338
  }
287
339
  @keyframes pulse-glow {
288
- 0%, 100% { opacity: 1; box-shadow: 0 0 6px var(--accent-green); }
289
- 50% { opacity: 0.5; box-shadow: 0 0 12px var(--accent-green), 0 0 24px var(--accent-green); }
340
+ 0%,
341
+ 100% {
342
+ opacity: 1;
343
+ box-shadow: 0 0 6px var(--accent-green);
344
+ }
345
+ 50% {
346
+ opacity: 0.5;
347
+ box-shadow:
348
+ 0 0 12px var(--accent-green),
349
+ 0 0 24px var(--accent-green);
350
+ }
290
351
  }
291
352
 
292
353
  .divider {
@@ -303,9 +364,21 @@ html, body {
303
364
  padding: 2px 7px;
304
365
  border-radius: 99px;
305
366
  }
306
- .badge-green { background: rgba(52,211,153,0.12); color: var(--accent-green); border: 1px solid rgba(52,211,153,0.2); }
307
- .badge-blue { background: rgba(96,165,250,0.12); color: var(--accent-blue); border: 1px solid rgba(96,165,250,0.2); }
308
- .badge-cyan { background: rgba(0,212,255,0.10); color: var(--accent-cyan); border: 1px solid rgba(0,212,255,0.2); }
367
+ .badge-green {
368
+ background: rgba(52, 211, 153, 0.12);
369
+ color: var(--accent-green);
370
+ border: 1px solid rgba(52, 211, 153, 0.2);
371
+ }
372
+ .badge-blue {
373
+ background: rgba(96, 165, 250, 0.12);
374
+ color: var(--accent-blue);
375
+ border: 1px solid rgba(96, 165, 250, 0.2);
376
+ }
377
+ .badge-cyan {
378
+ background: rgba(0, 212, 255, 0.1);
379
+ color: var(--accent-cyan);
380
+ border: 1px solid rgba(0, 212, 255, 0.2);
381
+ }
309
382
 
310
383
  /* ── Big Stats ────────────────────────────────────────────────────── */
311
384
  .big-stat {
@@ -333,7 +406,7 @@ html, body {
333
406
  padding: 8px 4px;
334
407
  border: 1px solid var(--glass-border);
335
408
  border-radius: 6px;
336
- background: rgba(255,255,255,0.03);
409
+ background: rgba(255, 255, 255, 0.03);
337
410
  color: var(--text-dim);
338
411
  font-family: var(--font-mono);
339
412
  font-size: 10px;
@@ -347,10 +420,10 @@ html, body {
347
420
  color: var(--text);
348
421
  }
349
422
  .model-toggle-btn.active {
350
- background: rgba(0,212,255,0.08);
423
+ background: rgba(0, 212, 255, 0.08);
351
424
  border-color: var(--accent-cyan);
352
425
  color: var(--accent-cyan);
353
- box-shadow: 0 0 8px rgba(0,212,255,0.12);
426
+ box-shadow: 0 0 8px rgba(0, 212, 255, 0.12);
354
427
  }
355
428
  .model-status {
356
429
  font-size: 10px;
@@ -361,7 +434,9 @@ html, body {
361
434
  }
362
435
 
363
436
  /* ── Agent Status Orb ─────────────────────────────────────────────── */
364
- .agent-status-panel { text-align: center; }
437
+ .agent-status-panel {
438
+ text-align: center;
439
+ }
365
440
 
366
441
  .aso-orb-wrap {
367
442
  width: 120px;
@@ -378,7 +453,7 @@ html, body {
378
453
  /* Orbit guide tracks — faint rings */
379
454
  .aso-track {
380
455
  fill: none;
381
- stroke: rgba(255,255,255,0.07);
456
+ stroke: rgba(255, 255, 255, 0.07);
382
457
  stroke-width: 1;
383
458
  }
384
459
 
@@ -390,7 +465,9 @@ html, body {
390
465
  stroke-linecap: round;
391
466
  filter: drop-shadow(0 0 3px var(--aso-color));
392
467
  }
393
- .aso-arc-dim { opacity: 0.5; }
468
+ .aso-arc-dim {
469
+ opacity: 0.5;
470
+ }
394
471
 
395
472
  /* Core halo */
396
473
  .aso-core-halo {
@@ -412,62 +489,153 @@ html, body {
412
489
  }
413
490
 
414
491
  /* ── State: idle — slow cyan ── */
415
- #agent-status-panel[data-state="idle"] { --aso-color: rgba(0,212,255,0.75); }
416
- #agent-status-panel[data-state="idle"] .aso-rot1 { animation: aso-spin 8s linear infinite; }
417
- #agent-status-panel[data-state="idle"] .aso-rot2 { animation: aso-spin 13s linear infinite reverse; }
418
- #agent-status-panel[data-state="idle"] .aso-rot3 { animation: aso-spin 10s linear infinite; }
419
- #agent-status-panel[data-state="idle"] .aso-rot4 { animation: aso-spin 17s linear infinite reverse; }
420
- #agent-status-panel[data-state="idle"] .aso-rot5 { animation: aso-spin 12s linear infinite; }
421
- #agent-status-panel[data-state="idle"] .aso-core { animation: aso-breathe 3.5s ease-in-out infinite; }
492
+ #agent-status-panel[data-state="idle"] {
493
+ --aso-color: rgba(0, 212, 255, 0.75);
494
+ }
495
+ #agent-status-panel[data-state="idle"] .aso-rot1 {
496
+ animation: aso-spin 8s linear infinite;
497
+ }
498
+ #agent-status-panel[data-state="idle"] .aso-rot2 {
499
+ animation: aso-spin 13s linear infinite reverse;
500
+ }
501
+ #agent-status-panel[data-state="idle"] .aso-rot3 {
502
+ animation: aso-spin 10s linear infinite;
503
+ }
504
+ #agent-status-panel[data-state="idle"] .aso-rot4 {
505
+ animation: aso-spin 17s linear infinite reverse;
506
+ }
507
+ #agent-status-panel[data-state="idle"] .aso-rot5 {
508
+ animation: aso-spin 12s linear infinite;
509
+ }
510
+ #agent-status-panel[data-state="idle"] .aso-core {
511
+ animation: aso-breathe 3.5s ease-in-out infinite;
512
+ }
422
513
 
423
514
  /* ── State: waiting — amber, a bit faster ── */
424
- #agent-status-panel[data-state="waiting"] { --aso-color: #f59e0b; }
425
- #agent-status-panel[data-state="waiting"] .aso-rot1 { animation: aso-spin 4s linear infinite; }
426
- #agent-status-panel[data-state="waiting"] .aso-rot2 { animation: aso-spin 6s linear infinite reverse; }
427
- #agent-status-panel[data-state="waiting"] .aso-rot3 { animation: aso-spin 5s linear infinite; }
428
- #agent-status-panel[data-state="waiting"] .aso-rot4 { animation: aso-spin 9s linear infinite reverse; }
429
- #agent-status-panel[data-state="waiting"] .aso-rot5 { animation: aso-spin 6s linear infinite; }
430
- #agent-status-panel[data-state="waiting"] .aso-core { animation: aso-pulse 1s ease-in-out infinite; }
515
+ #agent-status-panel[data-state="waiting"] {
516
+ --aso-color: #f59e0b;
517
+ }
518
+ #agent-status-panel[data-state="waiting"] .aso-rot1 {
519
+ animation: aso-spin 4s linear infinite;
520
+ }
521
+ #agent-status-panel[data-state="waiting"] .aso-rot2 {
522
+ animation: aso-spin 6s linear infinite reverse;
523
+ }
524
+ #agent-status-panel[data-state="waiting"] .aso-rot3 {
525
+ animation: aso-spin 5s linear infinite;
526
+ }
527
+ #agent-status-panel[data-state="waiting"] .aso-rot4 {
528
+ animation: aso-spin 9s linear infinite reverse;
529
+ }
530
+ #agent-status-panel[data-state="waiting"] .aso-rot5 {
531
+ animation: aso-spin 6s linear infinite;
532
+ }
533
+ #agent-status-panel[data-state="waiting"] .aso-core {
534
+ animation: aso-pulse 1s ease-in-out infinite;
535
+ }
431
536
 
432
537
  /* ── State: thinking — violet, fast spin ── */
433
- #agent-status-panel[data-state="thinking"] { --aso-color: #a78bfa; }
434
- #agent-status-panel[data-state="thinking"] .aso-rot1 { animation: aso-spin 1.1s linear infinite; }
435
- #agent-status-panel[data-state="thinking"] .aso-rot2 { animation: aso-spin 0.7s linear infinite reverse; }
436
- #agent-status-panel[data-state="thinking"] .aso-rot3 { animation: aso-spin 1.4s linear infinite; }
437
- #agent-status-panel[data-state="thinking"] .aso-rot4 { animation: aso-spin 0.5s linear infinite reverse; }
438
- #agent-status-panel[data-state="thinking"] .aso-rot5 { animation: aso-spin 1.8s linear infinite; }
439
- #agent-status-panel[data-state="thinking"] .aso-core { animation: aso-pulse 0.45s ease-in-out infinite; }
538
+ #agent-status-panel[data-state="thinking"] {
539
+ --aso-color: #a78bfa;
540
+ }
541
+ #agent-status-panel[data-state="thinking"] .aso-rot1 {
542
+ animation: aso-spin 1.1s linear infinite;
543
+ }
544
+ #agent-status-panel[data-state="thinking"] .aso-rot2 {
545
+ animation: aso-spin 0.7s linear infinite reverse;
546
+ }
547
+ #agent-status-panel[data-state="thinking"] .aso-rot3 {
548
+ animation: aso-spin 1.4s linear infinite;
549
+ }
550
+ #agent-status-panel[data-state="thinking"] .aso-rot4 {
551
+ animation: aso-spin 0.5s linear infinite reverse;
552
+ }
553
+ #agent-status-panel[data-state="thinking"] .aso-rot5 {
554
+ animation: aso-spin 1.8s linear infinite;
555
+ }
556
+ #agent-status-panel[data-state="thinking"] .aso-core {
557
+ animation: aso-pulse 0.45s ease-in-out infinite;
558
+ }
440
559
 
441
560
  /* ── State: streaming — green, medium flow ── */
442
- #agent-status-panel[data-state="streaming"] { --aso-color: #34d399; }
443
- #agent-status-panel[data-state="streaming"] .aso-rot1 { animation: aso-spin 2.2s linear infinite; }
444
- #agent-status-panel[data-state="streaming"] .aso-rot2 { animation: aso-spin 3.5s linear infinite reverse; }
445
- #agent-status-panel[data-state="streaming"] .aso-rot3 { animation: aso-spin 2.8s linear infinite; }
446
- #agent-status-panel[data-state="streaming"] .aso-rot4 { animation: aso-spin 4.5s linear infinite reverse; }
447
- #agent-status-panel[data-state="streaming"] .aso-rot5 { animation: aso-spin 3.2s linear infinite; }
448
- #agent-status-panel[data-state="streaming"] .aso-core { animation: aso-pulse 0.7s ease-in-out infinite; }
561
+ #agent-status-panel[data-state="streaming"] {
562
+ --aso-color: #34d399;
563
+ }
564
+ #agent-status-panel[data-state="streaming"] .aso-rot1 {
565
+ animation: aso-spin 2.2s linear infinite;
566
+ }
567
+ #agent-status-panel[data-state="streaming"] .aso-rot2 {
568
+ animation: aso-spin 3.5s linear infinite reverse;
569
+ }
570
+ #agent-status-panel[data-state="streaming"] .aso-rot3 {
571
+ animation: aso-spin 2.8s linear infinite;
572
+ }
573
+ #agent-status-panel[data-state="streaming"] .aso-rot4 {
574
+ animation: aso-spin 4.5s linear infinite reverse;
575
+ }
576
+ #agent-status-panel[data-state="streaming"] .aso-rot5 {
577
+ animation: aso-spin 3.2s linear infinite;
578
+ }
579
+ #agent-status-panel[data-state="streaming"] .aso-core {
580
+ animation: aso-pulse 0.7s ease-in-out infinite;
581
+ }
449
582
 
450
583
  /* ── State: done — brief flash, stays green ── */
451
- #agent-status-panel[data-state="done"] { --aso-color: #34d399; }
452
- #agent-status-panel[data-state="done"] .aso-rot1 { animation: aso-spin 0.4s linear infinite; }
453
- #agent-status-panel[data-state="done"] .aso-rot2 { animation: aso-spin 0.3s linear infinite reverse; }
454
- #agent-status-panel[data-state="done"] .aso-rot3 { animation: aso-spin 0.5s linear infinite; }
455
- #agent-status-panel[data-state="done"] .aso-rot4 { animation: aso-spin 0.25s linear infinite reverse; }
456
- #agent-status-panel[data-state="done"] .aso-rot5 { animation: aso-spin 0.6s linear infinite; }
457
- #agent-status-panel[data-state="done"] .aso-core { animation: aso-flash 0.4s ease-out forwards; }
584
+ #agent-status-panel[data-state="done"] {
585
+ --aso-color: #34d399;
586
+ }
587
+ #agent-status-panel[data-state="done"] .aso-rot1 {
588
+ animation: aso-spin 0.4s linear infinite;
589
+ }
590
+ #agent-status-panel[data-state="done"] .aso-rot2 {
591
+ animation: aso-spin 0.3s linear infinite reverse;
592
+ }
593
+ #agent-status-panel[data-state="done"] .aso-rot3 {
594
+ animation: aso-spin 0.5s linear infinite;
595
+ }
596
+ #agent-status-panel[data-state="done"] .aso-rot4 {
597
+ animation: aso-spin 0.25s linear infinite reverse;
598
+ }
599
+ #agent-status-panel[data-state="done"] .aso-rot5 {
600
+ animation: aso-spin 0.6s linear infinite;
601
+ }
602
+ #agent-status-panel[data-state="done"] .aso-core {
603
+ animation: aso-flash 0.4s ease-out forwards;
604
+ }
458
605
 
459
606
  /* ERROR state — red/pink, irregular erratic pulse to signal distress */
460
- #agent-status-panel[data-state="error"] { --aso-color: #f87171; }
461
- #agent-status-panel[data-state="error"] .aso-rot1 { animation: aso-spin 2.1s linear infinite; }
462
- #agent-status-panel[data-state="error"] .aso-rot2 { animation: aso-spin 1.4s linear infinite reverse; }
463
- #agent-status-panel[data-state="error"] .aso-rot3 { animation: aso-spin 3.3s linear infinite; }
464
- #agent-status-panel[data-state="error"] .aso-rot4 { animation: aso-spin 1.8s linear infinite reverse; }
465
- #agent-status-panel[data-state="error"] .aso-rot5 { animation: aso-spin 2.7s linear infinite; }
466
- #agent-status-panel[data-state="error"] .aso-core { animation: aso-error-pulse 0.6s ease-in-out infinite; }
607
+ #agent-status-panel[data-state="error"] {
608
+ --aso-color: #f87171;
609
+ }
610
+ #agent-status-panel[data-state="error"] .aso-rot1 {
611
+ animation: aso-spin 2.1s linear infinite;
612
+ }
613
+ #agent-status-panel[data-state="error"] .aso-rot2 {
614
+ animation: aso-spin 1.4s linear infinite reverse;
615
+ }
616
+ #agent-status-panel[data-state="error"] .aso-rot3 {
617
+ animation: aso-spin 3.3s linear infinite;
618
+ }
619
+ #agent-status-panel[data-state="error"] .aso-rot4 {
620
+ animation: aso-spin 1.8s linear infinite reverse;
621
+ }
622
+ #agent-status-panel[data-state="error"] .aso-rot5 {
623
+ animation: aso-spin 2.7s linear infinite;
624
+ }
625
+ #agent-status-panel[data-state="error"] .aso-core {
626
+ animation: aso-error-pulse 0.6s ease-in-out infinite;
627
+ }
467
628
 
468
629
  @keyframes aso-error-pulse {
469
- 0%, 100% { opacity: 1; transform: scale(1); }
470
- 50% { opacity: 0.4; transform: scale(0.75); }
630
+ 0%,
631
+ 100% {
632
+ opacity: 1;
633
+ transform: scale(1);
634
+ }
635
+ 50% {
636
+ opacity: 0.4;
637
+ transform: scale(0.75);
638
+ }
471
639
  }
472
640
 
473
641
  /* ── Run error bubble (failure message in the feed) ──────────────── */
@@ -484,7 +652,7 @@ html, body {
484
652
  flex-shrink: 0;
485
653
  margin-top: 1px;
486
654
  color: #f87171;
487
- filter: drop-shadow(0 0 4px rgba(248,113,113,0.5));
655
+ filter: drop-shadow(0 0 4px rgba(248, 113, 113, 0.5));
488
656
  }
489
657
 
490
658
  .run-error-text {
@@ -496,10 +664,10 @@ html, body {
496
664
  /* Partial/failed stream bubble — dim to indicate incomplete */
497
665
  .stream-failed {
498
666
  opacity: 0.6;
499
- border-color: rgba(248,113,113,0.2) !important;
667
+ border-color: rgba(248, 113, 113, 0.2) !important;
500
668
  }
501
669
  .stream-failed::after {
502
- content: ' [incomplete]';
670
+ content: " [incomplete]";
503
671
  font-size: 11px;
504
672
  color: #f87171;
505
673
  font-family: var(--font-mono);
@@ -508,21 +676,46 @@ html, body {
508
676
 
509
677
  /* ── Keyframes ── */
510
678
  @keyframes aso-spin {
511
- from { transform: rotate(0deg); }
512
- to { transform: rotate(360deg); }
679
+ from {
680
+ transform: rotate(0deg);
681
+ }
682
+ to {
683
+ transform: rotate(360deg);
684
+ }
513
685
  }
514
686
  @keyframes aso-breathe {
515
- 0%, 100% { transform: scale(1); opacity: 0.75; }
516
- 50% { transform: scale(1.45); opacity: 1; }
687
+ 0%,
688
+ 100% {
689
+ transform: scale(1);
690
+ opacity: 0.75;
691
+ }
692
+ 50% {
693
+ transform: scale(1.45);
694
+ opacity: 1;
695
+ }
517
696
  }
518
697
  @keyframes aso-pulse {
519
- 0%, 100% { transform: scale(1); }
520
- 50% { transform: scale(1.6); }
698
+ 0%,
699
+ 100% {
700
+ transform: scale(1);
701
+ }
702
+ 50% {
703
+ transform: scale(1.6);
704
+ }
521
705
  }
522
706
  @keyframes aso-flash {
523
- 0% { transform: scale(2.5); opacity: 1; }
524
- 60% { transform: scale(1.2); opacity: 1; }
525
- 100% { transform: scale(1); opacity: 1; }
707
+ 0% {
708
+ transform: scale(2.5);
709
+ opacity: 1;
710
+ }
711
+ 60% {
712
+ transform: scale(1.2);
713
+ opacity: 1;
714
+ }
715
+ 100% {
716
+ transform: scale(1);
717
+ opacity: 1;
718
+ }
526
719
  }
527
720
 
528
721
  /* ── Status label & sub-text ── */
@@ -534,7 +727,9 @@ html, body {
534
727
  color: var(--aso-color);
535
728
  margin-bottom: 5px;
536
729
  text-shadow: 0 0 8px var(--aso-color);
537
- transition: color 0.4s ease, text-shadow 0.4s ease;
730
+ transition:
731
+ color 0.4s ease,
732
+ text-shadow 0.4s ease;
538
733
  }
539
734
  .aso-sub {
540
735
  font-size: 10px;
@@ -559,9 +754,9 @@ html, body {
559
754
  .aso-working-asterisk {
560
755
  display: inline-block;
561
756
  font-size: 12px;
562
- color: var(--aso-color, rgba(0,212,255,0.75));
757
+ color: var(--aso-color, rgba(0, 212, 255, 0.75));
563
758
  animation: aso-spin 1.5s linear infinite;
564
- filter: drop-shadow(0 0 4px var(--aso-color, rgba(0,212,255,0.75)));
759
+ filter: drop-shadow(0 0 4px var(--aso-color, rgba(0, 212, 255, 0.75)));
565
760
  }
566
761
  .aso-working-text {
567
762
  font-family: var(--font-mono);
@@ -586,17 +781,23 @@ html, body {
586
781
  scrollbar-width: none;
587
782
  padding-bottom: 8px;
588
783
  }
589
- .metrics-col::-webkit-scrollbar { display: none; }
784
+ .metrics-col::-webkit-scrollbar {
785
+ display: none;
786
+ }
590
787
 
591
788
  /* Anchor panels adjacent to the centered 740px chat column, 16px gap */
592
- .metrics-left { left: calc(50% - 370px - 16px - 360px); }
593
- .metrics-right { right: calc(50% - 370px - 16px - 360px); }
789
+ .metrics-left {
790
+ left: calc(50% - 370px - 16px - 360px);
791
+ }
792
+ .metrics-right {
793
+ right: calc(50% - 370px - 16px - 360px);
794
+ }
594
795
 
595
796
  /* ── Response Area ────────────────────────────────────────────────── */
596
797
  .response-area {
597
798
  position: fixed;
598
799
  top: 0;
599
- left: calc(50% - 370px);
800
+ left: calc(50% - 370px);
600
801
  right: calc(50% - 370px);
601
802
  bottom: 150px;
602
803
  z-index: 5;
@@ -633,12 +834,15 @@ html, body {
633
834
  }
634
835
 
635
836
  @keyframes waterfall {
636
- to { opacity: 1; transform: translateY(0); }
837
+ to {
838
+ opacity: 1;
839
+ transform: translateY(0);
840
+ }
637
841
  }
638
842
 
639
843
  .message.user-msg .bubble {
640
- background: rgba(0,212,255,0.07);
641
- border: 1px solid rgba(0,212,255,0.18);
844
+ background: rgba(0, 212, 255, 0.07);
845
+ border: 1px solid rgba(0, 212, 255, 0.18);
642
846
  border-radius: 12px 12px 4px 12px;
643
847
  padding: 10px 14px;
644
848
  display: inline-block;
@@ -657,7 +861,9 @@ html, body {
657
861
  padding: 12px 16px;
658
862
  backdrop-filter: var(--blur);
659
863
  -webkit-backdrop-filter: var(--blur);
660
- box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.04);
864
+ box-shadow:
865
+ var(--shadow),
866
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
661
867
  font-size: 14.5px;
662
868
  line-height: 1.75;
663
869
  color: var(--text);
@@ -671,14 +877,18 @@ html, body {
671
877
  }
672
878
 
673
879
  .message.symi-msg .bubble::before {
674
- content: '';
880
+ content: "";
675
881
  position: absolute;
676
- top: 0; left: 0; right: 0;
882
+ top: 0;
883
+ left: 0;
884
+ right: 0;
677
885
  height: 1px;
678
- background: linear-gradient(90deg, transparent, rgba(0,212,255,0.3), transparent);
886
+ background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.3), transparent);
679
887
  }
680
888
 
681
- .message-clearfix { clear: both; }
889
+ .message-clearfix {
890
+ clear: both;
891
+ }
682
892
 
683
893
  .typing-cursor {
684
894
  display: inline-block;
@@ -691,15 +901,20 @@ html, body {
691
901
  box-shadow: 0 0 4px var(--accent-cyan);
692
902
  }
693
903
  @keyframes blink {
694
- 0%, 100% { opacity: 1; }
695
- 50% { opacity: 0; }
904
+ 0%,
905
+ 100% {
906
+ opacity: 1;
907
+ }
908
+ 50% {
909
+ opacity: 0;
910
+ }
696
911
  }
697
912
 
698
913
  /* ── Floating Prompt Bar ──────────────────────────────────────────── */
699
914
  .prompt-wrap {
700
915
  position: fixed;
701
916
  bottom: 28px;
702
- left: calc(50% - 370px);
917
+ left: calc(50% - 370px);
703
918
  right: calc(50% - 370px);
704
919
  z-index: 20;
705
920
  display: flex;
@@ -712,18 +927,20 @@ html, body {
712
927
  display: flex;
713
928
  flex-direction: column;
714
929
  gap: 10px;
715
- background: rgba(255,255,255,0.05);
930
+ background: rgba(255, 255, 255, 0.05);
716
931
  backdrop-filter: blur(32px) saturate(200%);
717
932
  -webkit-backdrop-filter: blur(32px) saturate(200%);
718
- border: 1px solid rgba(255,255,255,0.12);
933
+ border: 1px solid rgba(255, 255, 255, 0.12);
719
934
  border-radius: 20px;
720
935
  padding: 14px 16px 12px;
721
936
  box-shadow:
722
- 0 0 0 1px rgba(0,212,255,0.08),
723
- 0 8px 40px rgba(0,0,0,0.6),
724
- 0 0 60px rgba(0,212,255,0.04),
725
- inset 0 1px 0 rgba(255,255,255,0.08);
726
- transition: border-color 0.3s, box-shadow 0.3s;
937
+ 0 0 0 1px rgba(0, 212, 255, 0.08),
938
+ 0 8px 40px rgba(0, 0, 0, 0.6),
939
+ 0 0 60px rgba(0, 212, 255, 0.04),
940
+ inset 0 1px 0 rgba(255, 255, 255, 0.08);
941
+ transition:
942
+ border-color 0.3s,
943
+ box-shadow 0.3s;
727
944
  cursor: text;
728
945
  }
729
946
 
@@ -742,16 +959,16 @@ html, body {
742
959
  gap: 8px;
743
960
  width: 100%;
744
961
  padding-top: 2px;
745
- border-top: 1px solid rgba(255,255,255,0.05);
962
+ border-top: 1px solid rgba(255, 255, 255, 0.05);
746
963
  }
747
964
 
748
965
  .prompt-bar:focus-within {
749
- border-color: rgba(0,212,255,0.3);
966
+ border-color: rgba(0, 212, 255, 0.3);
750
967
  box-shadow:
751
- 0 0 0 1px rgba(0,212,255,0.15),
752
- 0 8px 40px rgba(0,0,0,0.6),
753
- 0 0 80px rgba(0,212,255,0.08),
754
- inset 0 1px 0 rgba(255,255,255,0.1);
968
+ 0 0 0 1px rgba(0, 212, 255, 0.15),
969
+ 0 8px 40px rgba(0, 0, 0, 0.6),
970
+ 0 0 80px rgba(0, 212, 255, 0.08),
971
+ inset 0 1px 0 rgba(255, 255, 255, 0.1);
755
972
  }
756
973
 
757
974
  .prompt-icon {
@@ -784,15 +1001,17 @@ html, body {
784
1001
  scrollbar-width: none;
785
1002
  }
786
1003
 
787
- .prompt-bar textarea::-webkit-scrollbar { display: none; }
1004
+ .prompt-bar textarea::-webkit-scrollbar {
1005
+ display: none;
1006
+ }
788
1007
 
789
1008
  .prompt-bar textarea::placeholder {
790
1009
  color: var(--text-dim);
791
1010
  }
792
1011
 
793
1012
  .send-btn {
794
- background: rgba(0,212,255,0.12);
795
- border: 1px solid rgba(0,212,255,0.2);
1013
+ background: rgba(0, 212, 255, 0.12);
1014
+ border: 1px solid rgba(0, 212, 255, 0.2);
796
1015
  border-radius: 50%;
797
1016
  width: 32px;
798
1017
  height: 32px;
@@ -802,12 +1021,15 @@ html, body {
802
1021
  color: var(--accent-cyan);
803
1022
  cursor: pointer;
804
1023
  flex-shrink: 0;
805
- transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
1024
+ transition:
1025
+ background 0.2s,
1026
+ transform 0.15s,
1027
+ box-shadow 0.2s;
806
1028
  }
807
1029
 
808
1030
  .send-btn:hover {
809
- background: rgba(0,212,255,0.22);
810
- box-shadow: 0 0 16px rgba(0,212,255,0.25);
1031
+ background: rgba(0, 212, 255, 0.22);
1032
+ box-shadow: 0 0 16px rgba(0, 212, 255, 0.25);
811
1033
  transform: scale(1.05);
812
1034
  }
813
1035
 
@@ -819,7 +1041,7 @@ html, body {
819
1041
  .prompt-divider {
820
1042
  width: 1px;
821
1043
  height: 18px;
822
- background: rgba(255,255,255,0.08);
1044
+ background: rgba(255, 255, 255, 0.08);
823
1045
  flex-shrink: 0;
824
1046
  }
825
1047
 
@@ -827,20 +1049,24 @@ html, body {
827
1049
  display: flex;
828
1050
  align-items: center;
829
1051
  gap: 5px;
830
- background: rgba(139,92,246,0.1);
831
- border: 1px solid rgba(139,92,246,0.2);
1052
+ background: rgba(139, 92, 246, 0.1);
1053
+ border: 1px solid rgba(139, 92, 246, 0.2);
832
1054
  border-radius: 8px;
833
1055
  padding: 0 11px;
834
1056
  height: 28px;
835
- color: rgba(139,92,246,0.85);
1057
+ color: rgba(139, 92, 246, 0.85);
836
1058
  cursor: pointer;
837
1059
  flex-shrink: 0;
838
- transition: background 0.2s, box-shadow 0.2s, transform 0.15s, opacity 0.2s;
1060
+ transition:
1061
+ background 0.2s,
1062
+ box-shadow 0.2s,
1063
+ transform 0.15s,
1064
+ opacity 0.2s;
839
1065
  }
840
1066
 
841
1067
  .new-session-btn:hover {
842
- background: rgba(139,92,246,0.2);
843
- box-shadow: 0 0 16px rgba(139,92,246,0.2);
1068
+ background: rgba(139, 92, 246, 0.2);
1069
+ box-shadow: 0 0 16px rgba(139, 92, 246, 0.2);
844
1070
  transform: scale(1.03);
845
1071
  }
846
1072
 
@@ -887,14 +1113,20 @@ html, body {
887
1113
  }
888
1114
 
889
1115
  @keyframes session-cleared-in {
890
- from { opacity: 0; transform: translateY(8px); }
891
- to { opacity: 1; transform: translateY(0); }
1116
+ from {
1117
+ opacity: 0;
1118
+ transform: translateY(8px);
1119
+ }
1120
+ to {
1121
+ opacity: 1;
1122
+ transform: translateY(0);
1123
+ }
892
1124
  }
893
1125
 
894
1126
  /* ── Thinking Bubble ──────────────────────────────────────────────── */
895
1127
  .thinking-bubble {
896
- background: rgba(0,212,255,0.04) !important;
897
- border-color: rgba(0,212,255,0.15) !important;
1128
+ background: rgba(0, 212, 255, 0.04) !important;
1129
+ border-color: rgba(0, 212, 255, 0.15) !important;
898
1130
  padding: 10px 16px !important;
899
1131
  }
900
1132
 
@@ -921,18 +1153,31 @@ html, body {
921
1153
  font-size: 14px;
922
1154
  opacity: 0;
923
1155
  }
924
- .think-dots span:nth-child(1) { animation-delay: 0s; }
925
- .think-dots span:nth-child(2) { animation-delay: 0.2s; }
926
- .think-dots span:nth-child(3) { animation-delay: 0.4s; }
1156
+ .think-dots span:nth-child(1) {
1157
+ animation-delay: 0s;
1158
+ }
1159
+ .think-dots span:nth-child(2) {
1160
+ animation-delay: 0.2s;
1161
+ }
1162
+ .think-dots span:nth-child(3) {
1163
+ animation-delay: 0.4s;
1164
+ }
927
1165
 
928
1166
  @keyframes dot-pulse {
929
- 0%, 100% { opacity: 0; transform: translateY(0); }
930
- 50% { opacity: 1; transform: translateY(-3px); }
1167
+ 0%,
1168
+ 100% {
1169
+ opacity: 0;
1170
+ transform: translateY(0);
1171
+ }
1172
+ 50% {
1173
+ opacity: 1;
1174
+ transform: translateY(-3px);
1175
+ }
931
1176
  }
932
1177
 
933
1178
  .think-bar-wrap {
934
1179
  height: 2px;
935
- background: rgba(255,255,255,0.06);
1180
+ background: rgba(255, 255, 255, 0.06);
936
1181
  border-radius: 99px;
937
1182
  overflow: hidden;
938
1183
  }
@@ -946,9 +1191,21 @@ html, body {
946
1191
  }
947
1192
 
948
1193
  @keyframes think-scan {
949
- 0% { width: 0%; margin-left: 0%; opacity: 1; }
950
- 50% { width: 60%; margin-left: 20%; opacity: 1; }
951
- 100% { width: 0%; margin-left: 100%; opacity: 0; }
1194
+ 0% {
1195
+ width: 0%;
1196
+ margin-left: 0%;
1197
+ opacity: 1;
1198
+ }
1199
+ 50% {
1200
+ width: 60%;
1201
+ margin-left: 20%;
1202
+ opacity: 1;
1203
+ }
1204
+ 100% {
1205
+ width: 0%;
1206
+ margin-left: 100%;
1207
+ opacity: 0;
1208
+ }
952
1209
  }
953
1210
 
954
1211
  /* ── Streaming Bubble ─────────────────────────────────────────────── */
@@ -958,23 +1215,36 @@ html, body {
958
1215
 
959
1216
  .stream-bubble.streaming {
960
1217
  width: 100% !important;
961
- border-color: rgba(0,212,255,0.25) !important;
1218
+ border-color: rgba(0, 212, 255, 0.25) !important;
962
1219
  box-shadow:
963
- 0 8px 32px rgba(0,0,0,0.5),
964
- 0 0 20px rgba(0,212,255,0.06),
965
- inset 0 1px 0 rgba(255,255,255,0.06) !important;
1220
+ 0 8px 32px rgba(0, 0, 0, 0.5),
1221
+ 0 0 20px rgba(0, 212, 255, 0.06),
1222
+ inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
966
1223
  animation: stream-pulse 1.8s ease-in-out infinite;
967
1224
  }
968
1225
 
969
1226
  @keyframes stream-pulse {
970
- 0%, 100% { box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 0 20px rgba(0,212,255,0.06), inset 0 1px 0 rgba(255,255,255,0.06); }
971
- 50% { box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 0 40px rgba(0,212,255,0.12), inset 0 1px 0 rgba(255,255,255,0.06); }
1227
+ 0%,
1228
+ 100% {
1229
+ box-shadow:
1230
+ 0 8px 32px rgba(0, 0, 0, 0.5),
1231
+ 0 0 20px rgba(0, 212, 255, 0.06),
1232
+ inset 0 1px 0 rgba(255, 255, 255, 0.06);
1233
+ }
1234
+ 50% {
1235
+ box-shadow:
1236
+ 0 8px 32px rgba(0, 0, 0, 0.5),
1237
+ 0 0 40px rgba(0, 212, 255, 0.12),
1238
+ inset 0 1px 0 rgba(255, 255, 255, 0.06);
1239
+ }
972
1240
  }
973
1241
 
974
1242
  .stream-bubble.streaming::after {
975
- content: '';
1243
+ content: "";
976
1244
  position: absolute;
977
- top: 0; left: 0; right: 0;
1245
+ top: 0;
1246
+ left: 0;
1247
+ right: 0;
978
1248
  height: 1px;
979
1249
  background: linear-gradient(90deg, transparent, var(--accent-cyan), transparent);
980
1250
  opacity: 0.6;
@@ -982,16 +1252,31 @@ html, body {
982
1252
  }
983
1253
 
984
1254
  @keyframes top-scan {
985
- 0% { transform: scaleX(0); transform-origin: left; opacity: 0.8; }
986
- 50% { transform: scaleX(1); transform-origin: left; opacity: 0.6; }
987
- 100% { transform: scaleX(0); transform-origin: right; opacity: 0; }
1255
+ 0% {
1256
+ transform: scaleX(0);
1257
+ transform-origin: left;
1258
+ opacity: 0.8;
1259
+ }
1260
+ 50% {
1261
+ transform: scaleX(1);
1262
+ transform-origin: left;
1263
+ opacity: 0.6;
1264
+ }
1265
+ 100% {
1266
+ transform: scaleX(0);
1267
+ transform-origin: right;
1268
+ opacity: 0;
1269
+ }
988
1270
  }
989
1271
 
990
1272
  .stream-bubble.done {
991
1273
  width: fit-content;
992
1274
  max-width: 100%;
993
- border-color: rgba(255,255,255,0.1) !important;
994
- transition: border-color 0.8s, box-shadow 0.8s, width 0.3s ease;
1275
+ border-color: rgba(255, 255, 255, 0.1) !important;
1276
+ transition:
1277
+ border-color 0.8s,
1278
+ box-shadow 0.8s,
1279
+ width 0.3s ease;
995
1280
  }
996
1281
 
997
1282
  /* ── Character spawn animation ────────────────────────────────────── */
@@ -999,19 +1284,32 @@ html, body {
999
1284
  display: inline;
1000
1285
  color: transparent;
1001
1286
  text-shadow: none;
1002
- transition: color 0.12s ease, text-shadow 0.2s ease;
1287
+ transition:
1288
+ color 0.12s ease,
1289
+ text-shadow 0.2s ease;
1003
1290
  }
1004
1291
 
1005
1292
  .char-spawn.char-visible {
1006
1293
  color: var(--text);
1007
- text-shadow: 0 0 8px rgba(0,212,255,0.4);
1294
+ text-shadow: 0 0 8px rgba(0, 212, 255, 0.4);
1008
1295
  animation: char-settle 0.4s ease forwards;
1009
1296
  }
1010
1297
 
1011
1298
  @keyframes char-settle {
1012
- 0% { color: var(--accent-cyan); text-shadow: 0 0 12px var(--accent-cyan), 0 0 24px rgba(0,212,255,0.3); }
1013
- 40% { color: rgba(200,240,255,0.95); text-shadow: 0 0 6px rgba(0,212,255,0.2); }
1014
- 100% { color: var(--text); text-shadow: none; }
1299
+ 0% {
1300
+ color: var(--accent-cyan);
1301
+ text-shadow:
1302
+ 0 0 12px var(--accent-cyan),
1303
+ 0 0 24px rgba(0, 212, 255, 0.3);
1304
+ }
1305
+ 40% {
1306
+ color: rgba(200, 240, 255, 0.95);
1307
+ text-shadow: 0 0 6px rgba(0, 212, 255, 0.2);
1308
+ }
1309
+ 100% {
1310
+ color: var(--text);
1311
+ text-shadow: none;
1312
+ }
1015
1313
  }
1016
1314
 
1017
1315
  /* ── Telemetry footer ─────────────────────────────────────────────── */
@@ -1021,10 +1319,12 @@ html, body {
1021
1319
  gap: 6px;
1022
1320
  margin-top: 10px;
1023
1321
  padding-top: 8px;
1024
- border-top: 1px solid rgba(255,255,255,0.05);
1322
+ border-top: 1px solid rgba(255, 255, 255, 0.05);
1025
1323
  opacity: 0;
1026
1324
  transform: translateY(4px);
1027
- transition: opacity 0.5s ease 0.2s, transform 0.5s ease 0.2s;
1325
+ transition:
1326
+ opacity 0.5s ease 0.2s,
1327
+ transform 0.5s ease 0.2s;
1028
1328
  }
1029
1329
 
1030
1330
  .telemetry.tele-visible {
@@ -1040,7 +1340,7 @@ html, body {
1040
1340
  }
1041
1341
 
1042
1342
  .tele-sep {
1043
- color: rgba(255,255,255,0.12);
1343
+ color: rgba(255, 255, 255, 0.12);
1044
1344
  font-size: 9px;
1045
1345
  }
1046
1346
 
@@ -1049,7 +1349,9 @@ html, body {
1049
1349
  animation: btn-spin 1s linear infinite;
1050
1350
  }
1051
1351
  @keyframes btn-spin {
1052
- to { transform: rotate(360deg); }
1352
+ to {
1353
+ transform: rotate(360deg);
1354
+ }
1053
1355
  }
1054
1356
 
1055
1357
  /* ── Connection status ────────────────────────────────────────────── */
@@ -1078,7 +1380,10 @@ html, body {
1078
1380
  color: var(--text-dim);
1079
1381
  }
1080
1382
 
1081
- .dot-red { background: #f87171; box-shadow: 0 0 6px #f87171; }
1383
+ .dot-red {
1384
+ background: #f87171;
1385
+ box-shadow: 0 0 6px #f87171;
1386
+ }
1082
1387
 
1083
1388
  /* ── UI Toggle button ─────────────────────────────────────────────── */
1084
1389
  .ui-toggle {
@@ -1100,18 +1405,25 @@ html, body {
1100
1405
  font-family: var(--font-mono);
1101
1406
  letter-spacing: 0.05em;
1102
1407
  text-decoration: none;
1103
- transition: border-color 0.2s, color 0.2s, box-shadow 0.2s;
1408
+ transition:
1409
+ border-color 0.2s,
1410
+ color 0.2s,
1411
+ box-shadow 0.2s;
1104
1412
  }
1105
1413
 
1106
1414
  .ui-toggle:hover {
1107
1415
  border-color: var(--glass-border-strong);
1108
1416
  color: var(--text);
1109
- box-shadow: 0 0 16px rgba(0,212,255,0.08);
1417
+ box-shadow: 0 0 16px rgba(0, 212, 255, 0.08);
1110
1418
  }
1111
1419
 
1112
1420
  /* ── Scrollbar ────────────────────────────────────────────────────── */
1113
- .response-area::-webkit-scrollbar { display: none; }
1114
- .response-area { scrollbar-width: none; }
1421
+ .response-area::-webkit-scrollbar {
1422
+ display: none;
1423
+ }
1424
+ .response-area {
1425
+ scrollbar-width: none;
1426
+ }
1115
1427
 
1116
1428
  /* ═══════════════════════════════════════════════════════════════════
1117
1429
  CONTENT TYPES — Markdown, Thinking, Tool Cards, Code
@@ -1128,42 +1440,109 @@ html, body {
1128
1440
  }
1129
1441
 
1130
1442
  /* Paragraph spacing */
1131
- .msg-text :where(p, ul, ol, pre, blockquote, table) { margin: 0; }
1132
- .msg-text :where(p + p,
1133
- p + ul, p + ol, p + pre, p + blockquote, p + table,
1134
- ul + p, ol + p, pre + p, blockquote + p, table + p) { margin-top: 0.75em; }
1135
- .msg-text :where(li + li) { margin-top: 0.25em; }
1443
+ .msg-text :where(p, ul, ol, pre, blockquote, table) {
1444
+ margin: 0;
1445
+ }
1446
+ .msg-text
1447
+ :where(
1448
+ p + p,
1449
+ p + ul,
1450
+ p + ol,
1451
+ p + pre,
1452
+ p + blockquote,
1453
+ p + table,
1454
+ ul + p,
1455
+ ol + p,
1456
+ pre + p,
1457
+ blockquote + p,
1458
+ table + p
1459
+ ) {
1460
+ margin-top: 0.75em;
1461
+ }
1462
+ .msg-text :where(li + li) {
1463
+ margin-top: 0.25em;
1464
+ }
1136
1465
 
1137
1466
  /* Headings */
1138
1467
  .msg-text :where(h1, h2, h3, h4, h5, h6) {
1139
1468
  font-weight: 600;
1140
1469
  line-height: 1.3;
1141
- color: rgba(255,255,255,0.96);
1470
+ color: rgba(255, 255, 255, 0.96);
1142
1471
  margin: 1.1em 0 0.4em;
1143
1472
  }
1144
- .msg-text :where(h1) { font-size: 1.35em; border-bottom: 1px solid var(--glass-border); padding-bottom: 0.3em; }
1145
- .msg-text :where(h2) { font-size: 1.18em; border-bottom: 1px solid rgba(255,255,255,0.05); padding-bottom: 0.2em; }
1146
- .msg-text :where(h3) { font-size: 1.06em; }
1147
- .msg-text :where(h4, h5, h6) { font-size: 1em; color: rgba(255,255,255,0.8); }
1148
- .msg-text :where(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0.3em; }
1473
+ .msg-text :where(h1) {
1474
+ font-size: 1.35em;
1475
+ border-bottom: 1px solid var(--glass-border);
1476
+ padding-bottom: 0.3em;
1477
+ }
1478
+ .msg-text :where(h2) {
1479
+ font-size: 1.18em;
1480
+ border-bottom: 1px solid rgba(255, 255, 255, 0.05);
1481
+ padding-bottom: 0.2em;
1482
+ }
1483
+ .msg-text :where(h3) {
1484
+ font-size: 1.06em;
1485
+ }
1486
+ .msg-text :where(h4, h5, h6) {
1487
+ font-size: 1em;
1488
+ color: rgba(255, 255, 255, 0.8);
1489
+ }
1490
+ .msg-text :where(h1, h2, h3, h4, h5, h6):first-child {
1491
+ margin-top: 0.3em;
1492
+ }
1149
1493
 
1150
1494
  /* Lists */
1151
- .msg-text :where(ul, ol) { padding-left: 1.4em; }
1152
- .msg-text :where(ul) { list-style-type: disc; }
1153
- .msg-text :where(ol) { list-style-type: decimal; }
1154
- .msg-text :where(ul ul) { list-style-type: circle; margin-top: 0.25em; }
1495
+ .msg-text :where(ul, ol) {
1496
+ padding-left: 1.4em;
1497
+ }
1498
+ .msg-text :where(ul) {
1499
+ list-style-type: disc;
1500
+ }
1501
+ .msg-text :where(ol) {
1502
+ list-style-type: decimal;
1503
+ }
1504
+ .msg-text :where(ul ul) {
1505
+ list-style-type: circle;
1506
+ margin-top: 0.25em;
1507
+ }
1155
1508
 
1156
1509
  /* Text formatting */
1157
- .msg-text :where(strong) { font-weight: 600; color: rgba(255,255,255,0.97); }
1158
- .msg-text :where(em) { font-style: italic; color: rgba(255,255,255,0.82); }
1159
- .msg-text :where(del) { text-decoration: line-through; opacity: 0.6; }
1160
- .msg-text :where(mark) { background: rgba(251,191,36,0.2); color: #fbbf24; border-radius: 2px; padding: 0 3px; }
1161
- .msg-text :where(sup) { font-size: 0.75em; vertical-align: super; }
1162
- .msg-text :where(sub) { font-size: 0.75em; vertical-align: sub; }
1510
+ .msg-text :where(strong) {
1511
+ font-weight: 600;
1512
+ color: rgba(255, 255, 255, 0.97);
1513
+ }
1514
+ .msg-text :where(em) {
1515
+ font-style: italic;
1516
+ color: rgba(255, 255, 255, 0.82);
1517
+ }
1518
+ .msg-text :where(del) {
1519
+ text-decoration: line-through;
1520
+ opacity: 0.6;
1521
+ }
1522
+ .msg-text :where(mark) {
1523
+ background: rgba(251, 191, 36, 0.2);
1524
+ color: #fbbf24;
1525
+ border-radius: 2px;
1526
+ padding: 0 3px;
1527
+ }
1528
+ .msg-text :where(sup) {
1529
+ font-size: 0.75em;
1530
+ vertical-align: super;
1531
+ }
1532
+ .msg-text :where(sub) {
1533
+ font-size: 0.75em;
1534
+ vertical-align: sub;
1535
+ }
1163
1536
 
1164
1537
  /* Links */
1165
- .msg-text :where(a) { color: var(--accent-cyan); text-decoration: none; border-bottom: 1px solid rgba(0,212,255,0.3); }
1166
- .msg-text :where(a:hover) { border-bottom-color: var(--accent-cyan); }
1538
+ .msg-text :where(a) {
1539
+ color: var(--accent-cyan);
1540
+ text-decoration: none;
1541
+ border-bottom: 1px solid rgba(0, 212, 255, 0.3);
1542
+ }
1543
+ .msg-text :where(a:hover) {
1544
+ border-bottom-color: var(--accent-cyan);
1545
+ }
1167
1546
 
1168
1547
  /* Horizontal rule */
1169
1548
  .msg-text :where(hr) {
@@ -1174,16 +1553,16 @@ html, body {
1174
1553
 
1175
1554
  /* Blockquote */
1176
1555
  .msg-text :where(blockquote) {
1177
- border-left: 2px solid rgba(0,212,255,0.3);
1556
+ border-left: 2px solid rgba(0, 212, 255, 0.3);
1178
1557
  margin: 0.6em 0;
1179
1558
  padding: 6px 14px;
1180
- background: rgba(0,212,255,0.03);
1559
+ background: rgba(0, 212, 255, 0.03);
1181
1560
  color: var(--text-muted);
1182
1561
  border-radius: 0 6px 6px 0;
1183
1562
  }
1184
1563
  .msg-text :where(blockquote blockquote) {
1185
- border-left-color: rgba(139,92,246,0.4);
1186
- background: rgba(139,92,246,0.03);
1564
+ border-left-color: rgba(139, 92, 246, 0.4);
1565
+ background: rgba(139, 92, 246, 0.03);
1187
1566
  margin-top: 6px;
1188
1567
  }
1189
1568
 
@@ -1199,7 +1578,7 @@ html, body {
1199
1578
  }
1200
1579
 
1201
1580
  .msg-text :where(thead) {
1202
- background: rgba(0,212,255,0.06);
1581
+ background: rgba(0, 212, 255, 0.06);
1203
1582
  }
1204
1583
 
1205
1584
  .msg-text :where(th) {
@@ -1212,7 +1591,7 @@ html, body {
1212
1591
  border: 1px solid var(--glass-border);
1213
1592
  padding: 8px 12px;
1214
1593
  text-align: left;
1215
- background: rgba(0,0,0,0.15);
1594
+ background: rgba(0, 0, 0, 0.15);
1216
1595
  }
1217
1596
 
1218
1597
  .msg-text :where(td) {
@@ -1224,11 +1603,11 @@ html, body {
1224
1603
  }
1225
1604
 
1226
1605
  .msg-text :where(tr:nth-child(even) td) {
1227
- background: rgba(255,255,255,0.015);
1606
+ background: rgba(255, 255, 255, 0.015);
1228
1607
  }
1229
1608
 
1230
1609
  .msg-text :where(tr:hover td) {
1231
- background: rgba(0,212,255,0.03);
1610
+ background: rgba(0, 212, 255, 0.03);
1232
1611
  }
1233
1612
 
1234
1613
  /* ── Inline code ────────────────────────────────────────────────────── */
@@ -1236,8 +1615,8 @@ html, body {
1236
1615
  .msg-text :where(:not(pre) > code) {
1237
1616
  font-family: var(--font-mono);
1238
1617
  font-size: 0.875em;
1239
- background: rgba(255,255,255,0.08);
1240
- border: 1px solid rgba(255,255,255,0.1);
1618
+ background: rgba(255, 255, 255, 0.08);
1619
+ border: 1px solid rgba(255, 255, 255, 0.1);
1241
1620
  border-radius: 4px;
1242
1621
  padding: 0.1em 0.4em;
1243
1622
  color: var(--accent-cyan);
@@ -1249,7 +1628,7 @@ html, body {
1249
1628
  border: 1px solid var(--glass-border);
1250
1629
  border-radius: 10px;
1251
1630
  overflow: hidden;
1252
- background: rgba(0,0,0,0.45);
1631
+ background: rgba(0, 0, 0, 0.45);
1253
1632
  font-family: var(--font-mono);
1254
1633
  }
1255
1634
 
@@ -1265,13 +1644,24 @@ html, body {
1265
1644
  align-items: center;
1266
1645
  justify-content: space-between;
1267
1646
  padding: 7px 12px;
1268
- background: rgba(255,255,255,0.04);
1647
+ background: rgba(255, 255, 255, 0.04);
1269
1648
  border-bottom: 1px solid var(--glass-border);
1270
1649
  gap: 10px;
1271
1650
  }
1272
1651
 
1273
- .code-header-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
1274
- .code-header-right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
1652
+ .code-header-left {
1653
+ display: flex;
1654
+ align-items: center;
1655
+ gap: 10px;
1656
+ flex: 1;
1657
+ min-width: 0;
1658
+ }
1659
+ .code-header-right {
1660
+ display: flex;
1661
+ align-items: center;
1662
+ gap: 6px;
1663
+ flex-shrink: 0;
1664
+ }
1275
1665
 
1276
1666
  /* Language badge with per-language color */
1277
1667
  .code-lang-badge {
@@ -1293,7 +1683,7 @@ html, body {
1293
1683
  font-family: var(--font-mono);
1294
1684
  font-size: 11px;
1295
1685
  color: var(--text-muted);
1296
- background: rgba(255,255,255,0.05);
1686
+ background: rgba(255, 255, 255, 0.05);
1297
1687
  border: 1px solid var(--glass-border);
1298
1688
  border-radius: 4px;
1299
1689
  padding: 1px 7px;
@@ -1322,7 +1712,9 @@ html, body {
1322
1712
  line-height: 1;
1323
1713
  transition: color 0.2s;
1324
1714
  }
1325
- .code-expand-btn:hover { color: var(--text); }
1715
+ .code-expand-btn:hover {
1716
+ color: var(--text);
1717
+ }
1326
1718
 
1327
1719
  /* Copy button */
1328
1720
  .code-copy {
@@ -1337,32 +1729,52 @@ html, body {
1337
1729
  cursor: pointer;
1338
1730
  padding: 3px 8px;
1339
1731
  border-radius: 4px;
1340
- transition: color 0.2s, background 0.2s;
1732
+ transition:
1733
+ color 0.2s,
1734
+ background 0.2s;
1341
1735
  white-space: nowrap;
1342
1736
  }
1343
- .code-copy:hover { color: var(--text); background: rgba(255,255,255,0.06); }
1344
- .code-copy.copied { color: var(--accent-green); }
1737
+ .code-copy:hover {
1738
+ color: var(--text);
1739
+ background: rgba(255, 255, 255, 0.06);
1740
+ }
1741
+ .code-copy.copied {
1742
+ color: var(--accent-green);
1743
+ }
1345
1744
 
1346
1745
  /* ── Code body ── */
1347
- .code-body { overflow: hidden; }
1348
- .code-body-collapsed { max-height: 400px; overflow: hidden; position: relative; }
1746
+ .code-body {
1747
+ overflow: hidden;
1748
+ }
1749
+ .code-body-collapsed {
1750
+ max-height: 400px;
1751
+ overflow: hidden;
1752
+ position: relative;
1753
+ }
1349
1754
  .code-body-collapsed::after {
1350
- content: '';
1755
+ content: "";
1351
1756
  position: absolute;
1352
- bottom: 0; left: 0; right: 0;
1757
+ bottom: 0;
1758
+ left: 0;
1759
+ right: 0;
1353
1760
  height: 80px;
1354
- background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.8));
1761
+ background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.8));
1355
1762
  pointer-events: none;
1356
1763
  }
1357
- .code-expanded .code-body-collapsed { max-height: none; overflow: auto; }
1358
- .code-expanded .code-body-collapsed::after { display: none; }
1764
+ .code-expanded .code-body-collapsed {
1765
+ max-height: none;
1766
+ overflow: auto;
1767
+ }
1768
+ .code-expanded .code-body-collapsed::after {
1769
+ display: none;
1770
+ }
1359
1771
 
1360
1772
  /* Show more button */
1361
1773
  .code-show-more {
1362
1774
  display: block;
1363
1775
  width: 100%;
1364
1776
  padding: 8px;
1365
- background: rgba(255,255,255,0.03);
1777
+ background: rgba(255, 255, 255, 0.03);
1366
1778
  border: none;
1367
1779
  border-top: 1px solid var(--glass-border);
1368
1780
  color: var(--text-dim);
@@ -1370,10 +1782,15 @@ html, body {
1370
1782
  font-size: 10px;
1371
1783
  cursor: pointer;
1372
1784
  letter-spacing: 0.06em;
1373
- transition: background 0.2s, color 0.2s;
1785
+ transition:
1786
+ background 0.2s,
1787
+ color 0.2s;
1374
1788
  text-align: center;
1375
1789
  }
1376
- .code-show-more:hover { background: rgba(255,255,255,0.06); color: var(--text); }
1790
+ .code-show-more:hover {
1791
+ background: rgba(255, 255, 255, 0.06);
1792
+ color: var(--text);
1793
+ }
1377
1794
 
1378
1795
  /* ── Line numbers ── */
1379
1796
  .code-pre {
@@ -1384,23 +1801,27 @@ html, body {
1384
1801
  line-height: 1.65;
1385
1802
  }
1386
1803
 
1387
- .code-numbered { display: block; }
1804
+ .code-numbered {
1805
+ display: block;
1806
+ }
1388
1807
 
1389
1808
  .code-line {
1390
1809
  display: flex;
1391
1810
  min-height: 1.65em;
1392
1811
  }
1393
1812
 
1394
- .code-line:hover { background: rgba(255,255,255,0.03); }
1813
+ .code-line:hover {
1814
+ background: rgba(255, 255, 255, 0.03);
1815
+ }
1395
1816
 
1396
1817
  .line-num {
1397
1818
  display: inline-block;
1398
1819
  min-width: 44px;
1399
1820
  padding: 0 12px 0 14px;
1400
- color: rgba(255,255,255,0.2);
1821
+ color: rgba(255, 255, 255, 0.2);
1401
1822
  text-align: right;
1402
1823
  user-select: none;
1403
- border-right: 1px solid rgba(255,255,255,0.06);
1824
+ border-right: 1px solid rgba(255, 255, 255, 0.06);
1404
1825
  flex-shrink: 0;
1405
1826
  font-size: 11px;
1406
1827
  line-height: inherit;
@@ -1413,10 +1834,15 @@ html, body {
1413
1834
  flex: 1;
1414
1835
  }
1415
1836
 
1416
- .hljs { background: transparent !important; padding: 0 !important; }
1837
+ .hljs {
1838
+ background: transparent !important;
1839
+ padding: 0 !important;
1840
+ }
1417
1841
 
1418
1842
  /* ── Thinking block ─────────────────────────────────────────────────── */
1419
- .msg-thinking { margin: 4px 0 8px; }
1843
+ .msg-thinking {
1844
+ margin: 4px 0 8px;
1845
+ }
1420
1846
 
1421
1847
  .thinking-toggle {
1422
1848
  display: flex;
@@ -1432,23 +1858,33 @@ html, body {
1432
1858
  letter-spacing: 0.05em;
1433
1859
  transition: color 0.2s;
1434
1860
  }
1435
- .thinking-toggle:hover { color: var(--text-muted); }
1436
- .thinking-icon { color: var(--accent-purple); }
1437
- .thinking-chevron { font-size: 9px; transition: transform 0.2s; }
1861
+ .thinking-toggle:hover {
1862
+ color: var(--text-muted);
1863
+ }
1864
+ .thinking-icon {
1865
+ color: var(--accent-purple);
1866
+ }
1867
+ .thinking-chevron {
1868
+ font-size: 9px;
1869
+ transition: transform 0.2s;
1870
+ }
1438
1871
 
1439
1872
  .thinking-body {
1440
1873
  max-height: 0;
1441
1874
  overflow: hidden;
1442
1875
  transition: max-height 0.35s ease;
1443
1876
  }
1444
- .thinking-body.thinking-open { max-height: 600px; overflow-y: auto; }
1877
+ .thinking-body.thinking-open {
1878
+ max-height: 600px;
1879
+ overflow-y: auto;
1880
+ }
1445
1881
 
1446
1882
  .thinking-text {
1447
1883
  margin-top: 6px;
1448
1884
  padding: 10px 14px;
1449
- border: 1px dashed rgba(139,92,246,0.25);
1885
+ border: 1px dashed rgba(139, 92, 246, 0.25);
1450
1886
  border-radius: 8px;
1451
- background: rgba(139,92,246,0.04);
1887
+ background: rgba(139, 92, 246, 0.04);
1452
1888
  font-size: 12px;
1453
1889
  line-height: 1.65;
1454
1890
  color: var(--text-muted);
@@ -1462,7 +1898,7 @@ html, body {
1462
1898
  border: 1px solid var(--glass-border);
1463
1899
  border-radius: 8px;
1464
1900
  overflow: hidden;
1465
- background: rgba(255,255,255,0.02);
1901
+ background: rgba(255, 255, 255, 0.02);
1466
1902
  }
1467
1903
 
1468
1904
  .tool-header {
@@ -1479,10 +1915,23 @@ html, body {
1479
1915
  font-size: 12px;
1480
1916
  transition: background 0.2s;
1481
1917
  }
1482
- .tool-header:hover { background: rgba(255,255,255,0.03); }
1483
- .tool-icon { font-size: 13px; flex-shrink: 0; }
1484
- .tool-name { flex: 1; font-family: var(--font-mono); font-size: 11px; color: var(--text); }
1485
- .tool-chevron { font-size: 9px; color: var(--text-dim); }
1918
+ .tool-header:hover {
1919
+ background: rgba(255, 255, 255, 0.03);
1920
+ }
1921
+ .tool-icon {
1922
+ font-size: 13px;
1923
+ flex-shrink: 0;
1924
+ }
1925
+ .tool-name {
1926
+ flex: 1;
1927
+ font-family: var(--font-mono);
1928
+ font-size: 11px;
1929
+ color: var(--text);
1930
+ }
1931
+ .tool-chevron {
1932
+ font-size: 9px;
1933
+ color: var(--text-dim);
1934
+ }
1486
1935
 
1487
1936
  .tool-body {
1488
1937
  max-height: 0;
@@ -1490,7 +1939,11 @@ html, body {
1490
1939
  transition: max-height 0.3s ease;
1491
1940
  border-top: 0 solid var(--glass-border);
1492
1941
  }
1493
- .tool-body.tool-open { max-height: 320px; overflow-y: auto; border-top-width: 1px; }
1942
+ .tool-body.tool-open {
1943
+ max-height: 320px;
1944
+ overflow-y: auto;
1945
+ border-top-width: 1px;
1946
+ }
1494
1947
 
1495
1948
  .tool-input {
1496
1949
  margin: 0;
@@ -1501,16 +1954,16 @@ html, body {
1501
1954
  color: var(--text-muted);
1502
1955
  white-space: pre-wrap;
1503
1956
  word-break: break-all;
1504
- background: rgba(0,0,0,0.25);
1957
+ background: rgba(0, 0, 0, 0.25);
1505
1958
  }
1506
1959
 
1507
1960
  /* ── Tool result ────────────────────────────────────────────────────── */
1508
1961
  .msg-tool-result {
1509
1962
  margin: 2px 0 6px;
1510
- border: 1px solid rgba(52,211,153,0.14);
1963
+ border: 1px solid rgba(52, 211, 153, 0.14);
1511
1964
  border-radius: 8px;
1512
1965
  overflow: hidden;
1513
- background: rgba(52,211,153,0.02);
1966
+ background: rgba(52, 211, 153, 0.02);
1514
1967
  }
1515
1968
 
1516
1969
  .result-header {
@@ -1521,8 +1974,15 @@ html, body {
1521
1974
  font-size: 11px;
1522
1975
  color: var(--text-dim);
1523
1976
  }
1524
- .result-icon { color: var(--accent-green); font-size: 12px; }
1525
- .result-label { font-family: var(--font-mono); letter-spacing: 0.06em; flex: 1; }
1977
+ .result-icon {
1978
+ color: var(--accent-green);
1979
+ font-size: 12px;
1980
+ }
1981
+ .result-label {
1982
+ font-family: var(--font-mono);
1983
+ letter-spacing: 0.06em;
1984
+ flex: 1;
1985
+ }
1526
1986
 
1527
1987
  .result-expand {
1528
1988
  font-family: var(--font-mono);
@@ -1535,10 +1995,21 @@ html, body {
1535
1995
  padding: 2px 8px;
1536
1996
  transition: color 0.2s;
1537
1997
  }
1538
- .result-expand:hover { color: var(--text); }
1998
+ .result-expand:hover {
1999
+ color: var(--text);
2000
+ }
1539
2001
 
1540
- .result-preview { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; border-top: 0 solid rgba(52,211,153,0.14); }
1541
- .result-open { max-height: 260px; overflow-y: auto; border-top-width: 1px; }
2002
+ .result-preview {
2003
+ max-height: 0;
2004
+ overflow: hidden;
2005
+ transition: max-height 0.3s ease;
2006
+ border-top: 0 solid rgba(52, 211, 153, 0.14);
2007
+ }
2008
+ .result-open {
2009
+ max-height: 260px;
2010
+ overflow-y: auto;
2011
+ border-top-width: 1px;
2012
+ }
1542
2013
 
1543
2014
  .result-text {
1544
2015
  margin: 0;
@@ -1549,7 +2020,7 @@ html, body {
1549
2020
  color: var(--text-muted);
1550
2021
  white-space: pre-wrap;
1551
2022
  word-break: break-all;
1552
- background: rgba(0,0,0,0.2);
2023
+ background: rgba(0, 0, 0, 0.2);
1553
2024
  }
1554
2025
 
1555
2026
  /* ── Message image ──────────────────────────────────────────────────── */
@@ -1565,22 +2036,32 @@ html, body {
1565
2036
  position: absolute;
1566
2037
  top: 8px;
1567
2038
  right: 8px;
1568
- background: rgba(255,255,255,0.06);
2039
+ background: rgba(255, 255, 255, 0.06);
1569
2040
  border: 1px solid var(--glass-border);
1570
2041
  border-radius: 6px;
1571
2042
  color: var(--text-dim);
1572
2043
  cursor: pointer;
1573
2044
  padding: 5px 6px;
1574
2045
  opacity: 0;
1575
- transition: opacity 0.2s, color 0.2s, background 0.2s;
2046
+ transition:
2047
+ opacity 0.2s,
2048
+ color 0.2s,
2049
+ background 0.2s;
1576
2050
  display: flex;
1577
2051
  align-items: center;
1578
2052
  line-height: 1;
1579
2053
  }
1580
2054
  .stream-bubble:hover .msg-copy-btn,
1581
- .msg-copy-visible { opacity: 1; }
1582
- .msg-copy-btn:hover { color: var(--text); background: rgba(255,255,255,0.1); }
1583
- .msg-copy-btn.copied { color: var(--accent-green); }
2055
+ .msg-copy-visible {
2056
+ opacity: 1;
2057
+ }
2058
+ .msg-copy-btn:hover {
2059
+ color: var(--text);
2060
+ background: rgba(255, 255, 255, 0.1);
2061
+ }
2062
+ .msg-copy-btn.copied {
2063
+ color: var(--accent-green);
2064
+ }
1584
2065
 
1585
2066
  /* ── Timestamp ──────────────────────────────────────────────────────── */
1586
2067
  .msg-timestamp {
@@ -1591,7 +2072,6 @@ html, body {
1591
2072
  letter-spacing: 0.05em;
1592
2073
  }
1593
2074
 
1594
-
1595
2075
  /* ── Task lists ─────────────────────────────────────────────────────── */
1596
2076
  .msg-text :where(li.task-item) {
1597
2077
  list-style: none;
@@ -1622,19 +2102,25 @@ html, body {
1622
2102
  }
1623
2103
 
1624
2104
  .task-cb:checked::after {
1625
- content: '';
2105
+ content: "";
1626
2106
  position: absolute;
1627
- top: 1px; left: 3px;
1628
- width: 5px; height: 8px;
2107
+ top: 1px;
2108
+ left: 3px;
2109
+ width: 5px;
2110
+ height: 8px;
1629
2111
  border: 2px solid #000;
1630
2112
  border-top: none;
1631
2113
  border-left: none;
1632
2114
  transform: rotate(45deg);
1633
2115
  }
1634
2116
 
1635
- .task-done > * { opacity: 0.55; }
2117
+ .task-done > * {
2118
+ opacity: 0.55;
2119
+ }
1636
2120
  .task-done .task-cb + span,
1637
- .task-done .task-cb ~ * { text-decoration: line-through; }
2121
+ .task-done .task-cb ~ * {
2122
+ text-decoration: line-through;
2123
+ }
1638
2124
 
1639
2125
  /* ── Table overflow wrapper ──────────────────────────────────────────── */
1640
2126
  .msg-text :where(table) {
@@ -1655,7 +2141,7 @@ html, body {
1655
2141
  padding: 0;
1656
2142
  margin: 0.6em 0;
1657
2143
  overflow: hidden;
1658
- background: rgba(255,255,255,0.02);
2144
+ background: rgba(255, 255, 255, 0.02);
1659
2145
  }
1660
2146
 
1661
2147
  .msg-text :where(summary) {
@@ -1671,9 +2157,11 @@ html, body {
1671
2157
  user-select: none;
1672
2158
  transition: background 0.2s;
1673
2159
  }
1674
- .msg-text :where(summary):hover { background: rgba(255,255,255,0.03); }
2160
+ .msg-text :where(summary):hover {
2161
+ background: rgba(255, 255, 255, 0.03);
2162
+ }
1675
2163
  .msg-text :where(summary)::before {
1676
- content: '';
2164
+ content: "";
1677
2165
  font-size: 9px;
1678
2166
  color: var(--accent-cyan);
1679
2167
  transition: transform 0.2s;
@@ -1686,10 +2174,16 @@ html, body {
1686
2174
  }
1687
2175
 
1688
2176
  /* ── Spacing improvements ────────────────────────────────────────────── */
1689
- .bubble-content + .bubble-content { margin-top: 0.5em; }
2177
+ .bubble-content + .bubble-content {
2178
+ margin-top: 0.5em;
2179
+ }
1690
2180
 
1691
- .msg-text :where(h1 + p, h2 + p, h3 + p) { margin-top: 0.4em; }
1692
- .msg-text :where(p:last-child, ul:last-child, ol:last-child) { margin-bottom: 0; }
2181
+ .msg-text :where(h1 + p, h2 + p, h3 + p) {
2182
+ margin-top: 0.4em;
2183
+ }
2184
+ .msg-text :where(p:last-child, ul:last-child, ol:last-child) {
2185
+ margin-bottom: 0;
2186
+ }
1693
2187
 
1694
2188
  /* Separator after heading when followed by block content */
1695
2189
  .msg-text :where(h2, h3) {
@@ -1707,9 +2201,9 @@ html, body {
1707
2201
  .msg-text :where(kbd) {
1708
2202
  font-family: var(--font-mono);
1709
2203
  font-size: 0.8em;
1710
- background: rgba(255,255,255,0.1);
1711
- border: 1px solid rgba(255,255,255,0.2);
1712
- border-bottom: 2px solid rgba(255,255,255,0.15);
2204
+ background: rgba(255, 255, 255, 0.1);
2205
+ border: 1px solid rgba(255, 255, 255, 0.2);
2206
+ border-bottom: 2px solid rgba(255, 255, 255, 0.15);
1713
2207
  border-radius: 4px;
1714
2208
  padding: 1px 5px;
1715
2209
  color: var(--text);
@@ -1723,8 +2217,12 @@ html, body {
1723
2217
  }
1724
2218
 
1725
2219
  /* ── Scrollbar ────────────────────────────────────────────────────── */
1726
- .response-area::-webkit-scrollbar { display: none; }
1727
- .response-area { scrollbar-width: none; }
2220
+ .response-area::-webkit-scrollbar {
2221
+ display: none;
2222
+ }
2223
+ .response-area {
2224
+ scrollbar-width: none;
2225
+ }
1728
2226
 
1729
2227
  /* ══════════════════════════════════════════════════════════════════════
1730
2228
  COMMAND MENU SYSTEM
@@ -1732,10 +2230,10 @@ html, body {
1732
2230
 
1733
2231
  /* ── Group accent colours ─────────────────────────────────────────── */
1734
2232
  :root {
1735
- --cmd-chat: #00d4ff;
1736
- --cmd-control: #60a5fa;
1737
- --cmd-agent: #a78bfa;
1738
- --cmd-settings: #f59e0b;
2233
+ --cmd-chat: #00d4ff;
2234
+ --cmd-control: #60a5fa;
2235
+ --cmd-agent: #a78bfa;
2236
+ --cmd-settings: #f59e0b;
1739
2237
  --cmd-resources: #34d399;
1740
2238
  }
1741
2239
 
@@ -1757,23 +2255,36 @@ html, body {
1757
2255
  border-radius: 10px;
1758
2256
  color: var(--text-muted);
1759
2257
  cursor: pointer;
1760
- transition: color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s;
2258
+ transition:
2259
+ color 0.2s,
2260
+ border-color 0.2s,
2261
+ box-shadow 0.2s,
2262
+ transform 0.2s;
1761
2263
  }
1762
2264
  .menu-trigger:hover {
1763
2265
  color: var(--accent-cyan);
1764
- border-color: rgba(0,212,255,0.35);
1765
- box-shadow: 0 0 12px rgba(0,212,255,0.15);
2266
+ border-color: rgba(0, 212, 255, 0.35);
2267
+ box-shadow: 0 0 12px rgba(0, 212, 255, 0.15);
2268
+ }
2269
+ .menu-trigger:active {
2270
+ transform: scale(0.93);
1766
2271
  }
1767
- .menu-trigger:active { transform: scale(0.93); }
1768
2272
 
1769
2273
  /* Icon swap: grid → close */
1770
- .menu-icon-close { display: none; }
1771
- .menu-trigger.menu-open .menu-icon-grid { display: none; }
1772
- .menu-trigger.menu-open .menu-icon-close { display: block; color: var(--accent-cyan); }
2274
+ .menu-icon-close {
2275
+ display: none;
2276
+ }
2277
+ .menu-trigger.menu-open .menu-icon-grid {
2278
+ display: none;
2279
+ }
2280
+ .menu-trigger.menu-open .menu-icon-close {
2281
+ display: block;
2282
+ color: var(--accent-cyan);
2283
+ }
1773
2284
  .menu-trigger.menu-open {
1774
2285
  color: var(--accent-cyan);
1775
- border-color: rgba(0,212,255,0.4);
1776
- box-shadow: 0 0 16px rgba(0,212,255,0.2);
2286
+ border-color: rgba(0, 212, 255, 0.4);
2287
+ box-shadow: 0 0 16px rgba(0, 212, 255, 0.2);
1777
2288
  }
1778
2289
 
1779
2290
  /* ── Full-Screen Overlay ──────────────────────────────────────────── */
@@ -1788,7 +2299,9 @@ html, body {
1788
2299
  opacity: 0;
1789
2300
  pointer-events: none;
1790
2301
  transform: scale(0.97);
1791
- transition: opacity 0.28s ease, transform 0.28s ease;
2302
+ transition:
2303
+ opacity 0.28s ease,
2304
+ transform 0.28s ease;
1792
2305
  }
1793
2306
  .cmd-overlay.open {
1794
2307
  opacity: 1;
@@ -1866,8 +2379,8 @@ html, body {
1866
2379
  font-family: var(--font-mono);
1867
2380
  font-size: 10px;
1868
2381
  padding: 2px 6px;
1869
- background: rgba(255,255,255,0.07);
1870
- border: 1px solid rgba(255,255,255,0.12);
2382
+ background: rgba(255, 255, 255, 0.07);
2383
+ border: 1px solid rgba(255, 255, 255, 0.12);
1871
2384
  border-radius: 4px;
1872
2385
  color: var(--text-muted);
1873
2386
  }
@@ -1881,11 +2394,26 @@ html, body {
1881
2394
  width: 100%;
1882
2395
  }
1883
2396
 
1884
- .cmd-group--chat { grid-column: 1; grid-row: 1 / 3; }
1885
- .cmd-group--control { grid-column: 2; grid-row: 1; }
1886
- .cmd-group--agent { grid-column: 3; grid-row: 1; }
1887
- .cmd-group--settings { grid-column: 2; grid-row: 2; }
1888
- .cmd-group--resources { grid-column: 3; grid-row: 2; }
2397
+ .cmd-group--chat {
2398
+ grid-column: 1;
2399
+ grid-row: 1 / 3;
2400
+ }
2401
+ .cmd-group--control {
2402
+ grid-column: 2;
2403
+ grid-row: 1;
2404
+ }
2405
+ .cmd-group--agent {
2406
+ grid-column: 3;
2407
+ grid-row: 1;
2408
+ }
2409
+ .cmd-group--settings {
2410
+ grid-column: 2;
2411
+ grid-row: 2;
2412
+ }
2413
+ .cmd-group--resources {
2414
+ grid-column: 3;
2415
+ grid-row: 2;
2416
+ }
1889
2417
 
1890
2418
  /* ── Group Card ───────────────────────────────────────────────────── */
1891
2419
  .cmd-group {
@@ -1899,28 +2427,61 @@ html, body {
1899
2427
  /* Stagger-reveal when overlay opens */
1900
2428
  opacity: 0;
1901
2429
  transform: translateY(14px);
1902
- transition: border-color 0.25s, box-shadow 0.25s;
2430
+ transition:
2431
+ border-color 0.25s,
2432
+ box-shadow 0.25s;
1903
2433
  }
1904
2434
  .cmd-overlay.open .cmd-group {
1905
2435
  animation: cmd-card-in 0.32s ease forwards;
1906
2436
  }
1907
- .cmd-overlay.open .cmd-group:nth-child(1) { animation-delay: 30ms; }
1908
- .cmd-overlay.open .cmd-group:nth-child(2) { animation-delay: 80ms; }
1909
- .cmd-overlay.open .cmd-group:nth-child(3) { animation-delay: 130ms; }
1910
- .cmd-overlay.open .cmd-group:nth-child(4) { animation-delay: 180ms; }
1911
- .cmd-overlay.open .cmd-group:nth-child(5) { animation-delay: 230ms; }
2437
+ .cmd-overlay.open .cmd-group:nth-child(1) {
2438
+ animation-delay: 30ms;
2439
+ }
2440
+ .cmd-overlay.open .cmd-group:nth-child(2) {
2441
+ animation-delay: 80ms;
2442
+ }
2443
+ .cmd-overlay.open .cmd-group:nth-child(3) {
2444
+ animation-delay: 130ms;
2445
+ }
2446
+ .cmd-overlay.open .cmd-group:nth-child(4) {
2447
+ animation-delay: 180ms;
2448
+ }
2449
+ .cmd-overlay.open .cmd-group:nth-child(5) {
2450
+ animation-delay: 230ms;
2451
+ }
1912
2452
 
1913
2453
  @keyframes cmd-card-in {
1914
- from { opacity: 0; transform: translateY(14px); }
1915
- to { opacity: 1; transform: translateY(0); }
2454
+ from {
2455
+ opacity: 0;
2456
+ transform: translateY(14px);
2457
+ }
2458
+ to {
2459
+ opacity: 1;
2460
+ transform: translateY(0);
2461
+ }
1916
2462
  }
1917
2463
 
1918
2464
  /* Per-group accent borders & hover glow */
1919
- .cmd-group--chat:hover { border-color: rgba(0,212,255,0.35); box-shadow: 0 0 20px rgba(0,212,255,0.06); }
1920
- .cmd-group--control:hover { border-color: rgba(96,165,250,0.35); box-shadow: 0 0 20px rgba(96,165,250,0.06); }
1921
- .cmd-group--agent:hover { border-color: rgba(167,139,250,0.35); box-shadow: 0 0 20px rgba(167,139,250,0.06); }
1922
- .cmd-group--settings:hover { border-color: rgba(245,158,11,0.35); box-shadow: 0 0 20px rgba(245,158,11,0.06); }
1923
- .cmd-group--resources:hover { border-color: rgba(52,211,153,0.35); box-shadow: 0 0 20px rgba(52,211,153,0.06); }
2465
+ .cmd-group--chat:hover {
2466
+ border-color: rgba(0, 212, 255, 0.35);
2467
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.06);
2468
+ }
2469
+ .cmd-group--control:hover {
2470
+ border-color: rgba(96, 165, 250, 0.35);
2471
+ box-shadow: 0 0 20px rgba(96, 165, 250, 0.06);
2472
+ }
2473
+ .cmd-group--agent:hover {
2474
+ border-color: rgba(167, 139, 250, 0.35);
2475
+ box-shadow: 0 0 20px rgba(167, 139, 250, 0.06);
2476
+ }
2477
+ .cmd-group--settings:hover {
2478
+ border-color: rgba(245, 158, 11, 0.35);
2479
+ box-shadow: 0 0 20px rgba(245, 158, 11, 0.06);
2480
+ }
2481
+ .cmd-group--resources:hover {
2482
+ border-color: rgba(52, 211, 153, 0.35);
2483
+ box-shadow: 0 0 20px rgba(52, 211, 153, 0.06);
2484
+ }
1924
2485
 
1925
2486
  /* ── Group Header ─────────────────────────────────────────────────── */
1926
2487
  .cmd-group-hd {
@@ -1943,11 +2504,21 @@ html, body {
1943
2504
  }
1944
2505
 
1945
2506
  /* Accent colours on group labels and icons */
1946
- .cmd-group--chat .cmd-group-hd { color: var(--cmd-chat); }
1947
- .cmd-group--control .cmd-group-hd { color: var(--cmd-control); }
1948
- .cmd-group--agent .cmd-group-hd { color: var(--cmd-agent); }
1949
- .cmd-group--settings .cmd-group-hd { color: var(--cmd-settings); }
1950
- .cmd-group--resources .cmd-group-hd { color: var(--cmd-resources); }
2507
+ .cmd-group--chat .cmd-group-hd {
2508
+ color: var(--cmd-chat);
2509
+ }
2510
+ .cmd-group--control .cmd-group-hd {
2511
+ color: var(--cmd-control);
2512
+ }
2513
+ .cmd-group--agent .cmd-group-hd {
2514
+ color: var(--cmd-agent);
2515
+ }
2516
+ .cmd-group--settings .cmd-group-hd {
2517
+ color: var(--cmd-settings);
2518
+ }
2519
+ .cmd-group--resources .cmd-group-hd {
2520
+ color: var(--cmd-resources);
2521
+ }
1951
2522
 
1952
2523
  /* ── Items List ───────────────────────────────────────────────────── */
1953
2524
  .cmd-items {
@@ -1972,21 +2543,34 @@ html, body {
1972
2543
  padding: 10px 12px;
1973
2544
  border-radius: 10px;
1974
2545
  border: 1px solid transparent;
1975
- background: rgba(255,255,255,0.025);
2546
+ background: rgba(255, 255, 255, 0.025);
1976
2547
  text-decoration: none;
1977
2548
  cursor: pointer;
1978
- transition: background 0.18s, border-color 0.18s, transform 0.15s;
2549
+ transition:
2550
+ background 0.18s,
2551
+ border-color 0.18s,
2552
+ transform 0.15s;
1979
2553
  }
1980
2554
  .cmd-item:hover {
1981
- background: rgba(255,255,255,0.06);
2555
+ background: rgba(255, 255, 255, 0.06);
1982
2556
  transform: translateY(-1px);
1983
2557
  }
1984
2558
  /* Per-group item hover accent */
1985
- .cmd-group--chat .cmd-item:hover { border-color: rgba(0,212,255,0.3); }
1986
- .cmd-group--control .cmd-item:hover { border-color: rgba(96,165,250,0.3); }
1987
- .cmd-group--agent .cmd-item:hover { border-color: rgba(167,139,250,0.3); }
1988
- .cmd-group--settings .cmd-item:hover { border-color: rgba(245,158,11,0.3); }
1989
- .cmd-group--resources .cmd-item:hover { border-color: rgba(52,211,153,0.3); }
2559
+ .cmd-group--chat .cmd-item:hover {
2560
+ border-color: rgba(0, 212, 255, 0.3);
2561
+ }
2562
+ .cmd-group--control .cmd-item:hover {
2563
+ border-color: rgba(96, 165, 250, 0.3);
2564
+ }
2565
+ .cmd-group--agent .cmd-item:hover {
2566
+ border-color: rgba(167, 139, 250, 0.3);
2567
+ }
2568
+ .cmd-group--settings .cmd-item:hover {
2569
+ border-color: rgba(245, 158, 11, 0.3);
2570
+ }
2571
+ .cmd-group--resources .cmd-item:hover {
2572
+ border-color: rgba(52, 211, 153, 0.3);
2573
+ }
1990
2574
 
1991
2575
  .cmd-item-icon {
1992
2576
  font-size: 16px;
@@ -1995,11 +2579,21 @@ html, body {
1995
2579
  text-align: center;
1996
2580
  opacity: 0.7;
1997
2581
  }
1998
- .cmd-group--chat .cmd-item-icon { color: var(--cmd-chat); }
1999
- .cmd-group--control .cmd-item-icon { color: var(--cmd-control); }
2000
- .cmd-group--agent .cmd-item-icon { color: var(--cmd-agent); }
2001
- .cmd-group--settings .cmd-item-icon { color: var(--cmd-settings); }
2002
- .cmd-group--resources .cmd-item-icon { color: var(--cmd-resources); }
2582
+ .cmd-group--chat .cmd-item-icon {
2583
+ color: var(--cmd-chat);
2584
+ }
2585
+ .cmd-group--control .cmd-item-icon {
2586
+ color: var(--cmd-control);
2587
+ }
2588
+ .cmd-group--agent .cmd-item-icon {
2589
+ color: var(--cmd-agent);
2590
+ }
2591
+ .cmd-group--settings .cmd-item-icon {
2592
+ color: var(--cmd-settings);
2593
+ }
2594
+ .cmd-group--resources .cmd-item-icon {
2595
+ color: var(--cmd-resources);
2596
+ }
2003
2597
 
2004
2598
  .cmd-item-body {
2005
2599
  display: flex;
@@ -2031,81 +2625,131 @@ html, body {
2031
2625
  letter-spacing: 0.1em;
2032
2626
  padding: 2px 6px;
2033
2627
  border-radius: 99px;
2034
- background: rgba(0,212,255,0.12);
2628
+ background: rgba(0, 212, 255, 0.12);
2035
2629
  color: var(--accent-cyan);
2036
- border: 1px solid rgba(0,212,255,0.25);
2630
+ border: 1px solid rgba(0, 212, 255, 0.25);
2037
2631
  flex-shrink: 0;
2038
2632
  }
2039
2633
 
2040
2634
  /* ── History button ─────────────────────────────────────────────────── */
2041
2635
  .history-btn {
2042
- display: flex; align-items: center; gap: 5px;
2636
+ display: flex;
2637
+ align-items: center;
2638
+ gap: 5px;
2043
2639
  padding: 5px 11px;
2044
2640
  height: 28px;
2045
- background: rgba(139,92,246,0.08);
2046
- border: 1px solid rgba(139,92,246,0.2);
2641
+ background: rgba(139, 92, 246, 0.08);
2642
+ border: 1px solid rgba(139, 92, 246, 0.2);
2047
2643
  border-radius: 8px;
2048
- color: rgba(139,92,246,0.85);
2049
- font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.08em; font-weight: 600;
2050
- cursor: pointer; transition: all 0.2s; white-space: nowrap; flex-shrink: 0;
2644
+ color: rgba(139, 92, 246, 0.85);
2645
+ font-size: 10px;
2646
+ font-family: var(--font-mono);
2647
+ letter-spacing: 0.08em;
2648
+ font-weight: 600;
2649
+ cursor: pointer;
2650
+ transition: all 0.2s;
2651
+ white-space: nowrap;
2652
+ flex-shrink: 0;
2051
2653
  }
2052
2654
  .history-btn:hover {
2053
- background: rgba(139,92,246,0.16);
2054
- border-color: rgba(139,92,246,0.4);
2055
- box-shadow: 0 0 12px rgba(139,92,246,0.12);
2655
+ background: rgba(139, 92, 246, 0.16);
2656
+ border-color: rgba(139, 92, 246, 0.4);
2657
+ box-shadow: 0 0 12px rgba(139, 92, 246, 0.12);
2658
+ }
2659
+ .history-btn-label {
2660
+ font-size: 10px;
2056
2661
  }
2057
- .history-btn-label { font-size: 10px; }
2058
2662
 
2059
2663
  /* ── History overlay + drawer ───────────────────────────────────────── */
2060
2664
  .history-overlay {
2061
- position: fixed; inset: 0; z-index: 1100;
2062
- background: rgba(0,0,0,0.55);
2665
+ position: fixed;
2666
+ inset: 0;
2667
+ z-index: 1100;
2668
+ background: rgba(0, 0, 0, 0.55);
2063
2669
  backdrop-filter: blur(4px);
2064
- opacity: 0; pointer-events: none;
2670
+ opacity: 0;
2671
+ pointer-events: none;
2065
2672
  transition: opacity 0.25s ease;
2066
2673
  }
2067
- .history-overlay.open { opacity: 1; pointer-events: auto; }
2674
+ .history-overlay.open {
2675
+ opacity: 1;
2676
+ pointer-events: auto;
2677
+ }
2068
2678
 
2069
2679
  .history-drawer {
2070
- position: fixed; top: 0; right: -440px; height: 100vh; width: 420px;
2680
+ position: fixed;
2681
+ top: 0;
2682
+ right: -440px;
2683
+ height: 100vh;
2684
+ width: 420px;
2071
2685
  z-index: 1101;
2072
- background: rgba(10,12,20,0.97);
2073
- border-left: 1px solid rgba(139,92,246,0.25);
2074
- box-shadow: -20px 0 60px rgba(0,0,0,0.6);
2075
- display: flex; flex-direction: column;
2686
+ background: rgba(10, 12, 20, 0.97);
2687
+ border-left: 1px solid rgba(139, 92, 246, 0.25);
2688
+ box-shadow: -20px 0 60px rgba(0, 0, 0, 0.6);
2689
+ display: flex;
2690
+ flex-direction: column;
2076
2691
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2077
2692
  }
2078
- .history-drawer.open { right: 0; }
2693
+ .history-drawer.open {
2694
+ right: 0;
2695
+ }
2079
2696
 
2080
2697
  .history-drawer-header {
2081
- display: flex; align-items: center; justify-content: space-between;
2698
+ display: flex;
2699
+ align-items: center;
2700
+ justify-content: space-between;
2082
2701
  padding: 16px 18px 14px;
2083
- border-bottom: 1px solid rgba(139,92,246,0.15);
2702
+ border-bottom: 1px solid rgba(139, 92, 246, 0.15);
2084
2703
  flex-shrink: 0;
2085
2704
  }
2086
2705
  .history-drawer-title {
2087
- display: flex; align-items: center; gap: 7px;
2088
- font-family: var(--font-mono); font-size: 11px; font-weight: 700;
2089
- letter-spacing: 0.14em; color: rgba(139,92,246,0.9);
2706
+ display: flex;
2707
+ align-items: center;
2708
+ gap: 7px;
2709
+ font-family: var(--font-mono);
2710
+ font-size: 11px;
2711
+ font-weight: 700;
2712
+ letter-spacing: 0.14em;
2713
+ color: rgba(139, 92, 246, 0.9);
2090
2714
  }
2091
2715
  .history-close-btn {
2092
- background: none; border: none; color: var(--text-dim);
2093
- font-size: 13px; cursor: pointer; padding: 4px 6px; border-radius: 4px;
2094
- transition: color 0.15s, background 0.15s;
2716
+ background: none;
2717
+ border: none;
2718
+ color: var(--text-dim);
2719
+ font-size: 13px;
2720
+ cursor: pointer;
2721
+ padding: 4px 6px;
2722
+ border-radius: 4px;
2723
+ transition:
2724
+ color 0.15s,
2725
+ background 0.15s;
2726
+ }
2727
+ .history-close-btn:hover {
2728
+ color: var(--text-primary);
2729
+ background: rgba(255, 255, 255, 0.06);
2095
2730
  }
2096
- .history-close-btn:hover { color: var(--text-primary); background: rgba(255,255,255,0.06); }
2097
2731
 
2098
2732
  .history-drawer-body {
2099
- flex: 1; overflow-y: auto; padding: 12px 0;
2733
+ flex: 1;
2734
+ overflow-y: auto;
2735
+ padding: 12px 0;
2736
+ }
2737
+ .history-drawer-body::-webkit-scrollbar {
2738
+ width: 4px;
2739
+ }
2740
+ .history-drawer-body::-webkit-scrollbar-track {
2741
+ background: transparent;
2742
+ }
2743
+ .history-drawer-body::-webkit-scrollbar-thumb {
2744
+ background: rgba(139, 92, 246, 0.3);
2745
+ border-radius: 2px;
2100
2746
  }
2101
- .history-drawer-body::-webkit-scrollbar { width: 4px; }
2102
- .history-drawer-body::-webkit-scrollbar-track { background: transparent; }
2103
- .history-drawer-body::-webkit-scrollbar-thumb { background: rgba(139,92,246,0.3); border-radius: 2px; }
2104
2747
 
2105
2748
  .history-loading {
2106
2749
  padding: 24px 18px;
2107
2750
  color: var(--text-dim);
2108
- font-size: 12px; font-family: var(--font-mono);
2751
+ font-size: 12px;
2752
+ font-family: var(--font-mono);
2109
2753
  text-align: center;
2110
2754
  }
2111
2755
 
@@ -2113,121 +2757,196 @@ html, body {
2113
2757
  .history-session-item {
2114
2758
  padding: 12px 18px;
2115
2759
  cursor: pointer;
2116
- border-bottom: 1px solid rgba(255,255,255,0.04);
2760
+ border-bottom: 1px solid rgba(255, 255, 255, 0.04);
2117
2761
  transition: background 0.15s;
2118
2762
  position: relative;
2119
2763
  }
2120
- .history-session-item:hover { background: rgba(139,92,246,0.07); }
2121
- .history-session-item:last-child { border-bottom: none; }
2764
+ .history-session-item:hover {
2765
+ background: rgba(139, 92, 246, 0.07);
2766
+ }
2767
+ .history-session-item:last-child {
2768
+ border-bottom: none;
2769
+ }
2122
2770
 
2123
2771
  .history-session-meta {
2124
- display: flex; align-items: center; justify-content: space-between;
2772
+ display: flex;
2773
+ align-items: center;
2774
+ justify-content: space-between;
2125
2775
  margin-bottom: 5px;
2126
2776
  }
2127
2777
  .history-session-date {
2128
- font-family: var(--font-mono); font-size: 10px; font-weight: 600;
2129
- color: rgba(139,92,246,0.8); letter-spacing: 0.06em;
2778
+ font-family: var(--font-mono);
2779
+ font-size: 10px;
2780
+ font-weight: 600;
2781
+ color: rgba(139, 92, 246, 0.8);
2782
+ letter-spacing: 0.06em;
2130
2783
  }
2131
2784
  .history-session-count {
2132
- font-family: var(--font-mono); font-size: 9px;
2133
- color: var(--text-dim); letter-spacing: 0.05em;
2785
+ font-family: var(--font-mono);
2786
+ font-size: 9px;
2787
+ color: var(--text-dim);
2788
+ letter-spacing: 0.05em;
2134
2789
  }
2135
2790
  .history-session-preview {
2136
- font-size: 12px; color: var(--text-secondary);
2137
- white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
2791
+ font-size: 12px;
2792
+ color: var(--text-secondary);
2793
+ white-space: nowrap;
2794
+ overflow: hidden;
2795
+ text-overflow: ellipsis;
2138
2796
  line-height: 1.4;
2139
2797
  }
2140
2798
  .history-session-badge {
2141
- display: inline-block; margin-bottom: 4px;
2142
- font-family: var(--font-mono); font-size: 9px; font-weight: 700;
2143
- letter-spacing: 0.1em; padding: 2px 6px; border-radius: 99px;
2799
+ display: inline-block;
2800
+ margin-bottom: 4px;
2801
+ font-family: var(--font-mono);
2802
+ font-size: 9px;
2803
+ font-weight: 700;
2804
+ letter-spacing: 0.1em;
2805
+ padding: 2px 6px;
2806
+ border-radius: 99px;
2144
2807
  }
2145
2808
  .history-session-badge.live {
2146
- background: rgba(0,212,255,0.12); color: var(--accent-cyan);
2147
- border: 1px solid rgba(0,212,255,0.25);
2809
+ background: rgba(0, 212, 255, 0.12);
2810
+ color: var(--accent-cyan);
2811
+ border: 1px solid rgba(0, 212, 255, 0.25);
2148
2812
  }
2149
2813
  .history-session-badge.archived {
2150
- background: rgba(139,92,246,0.1); color: rgba(139,92,246,0.7);
2151
- border: 1px solid rgba(139,92,246,0.2);
2814
+ background: rgba(139, 92, 246, 0.1);
2815
+ color: rgba(139, 92, 246, 0.7);
2816
+ border: 1px solid rgba(139, 92, 246, 0.2);
2152
2817
  }
2153
2818
 
2154
2819
  /* ── Archive viewer banner ──────────────────────────────────────────── */
2155
2820
  .archive-banner {
2156
- display: flex; align-items: center; justify-content: space-between;
2157
- padding: 10px 14px; margin: 0 0 8px;
2158
- background: rgba(139,92,246,0.1);
2159
- border-bottom: 1px solid rgba(139,92,246,0.2);
2821
+ display: flex;
2822
+ align-items: center;
2823
+ justify-content: space-between;
2824
+ padding: 10px 14px;
2825
+ margin: 0 0 8px;
2826
+ background: rgba(139, 92, 246, 0.1);
2827
+ border-bottom: 1px solid rgba(139, 92, 246, 0.2);
2160
2828
  flex-shrink: 0;
2161
2829
  }
2162
2830
  .archive-banner-label {
2163
- font-family: var(--font-mono); font-size: 10px;
2164
- color: rgba(139,92,246,0.8); letter-spacing: 0.08em;
2831
+ font-family: var(--font-mono);
2832
+ font-size: 10px;
2833
+ color: rgba(139, 92, 246, 0.8);
2834
+ letter-spacing: 0.08em;
2165
2835
  }
2166
2836
  .archive-banner-back {
2167
- font-family: var(--font-mono); font-size: 10px; font-weight: 600;
2168
- color: rgba(139,92,246,0.9); cursor: pointer;
2169
- background: none; border: none; padding: 3px 8px;
2170
- border: 1px solid rgba(139,92,246,0.3); border-radius: 6px;
2837
+ font-family: var(--font-mono);
2838
+ font-size: 10px;
2839
+ font-weight: 600;
2840
+ color: rgba(139, 92, 246, 0.9);
2841
+ cursor: pointer;
2842
+ background: none;
2843
+ border: none;
2844
+ padding: 3px 8px;
2845
+ border: 1px solid rgba(139, 92, 246, 0.3);
2846
+ border-radius: 6px;
2171
2847
  transition: all 0.15s;
2172
2848
  }
2173
- .archive-banner-back:hover { background: rgba(139,92,246,0.15); }
2849
+ .archive-banner-back:hover {
2850
+ background: rgba(139, 92, 246, 0.15);
2851
+ }
2174
2852
 
2175
2853
  .history-transcript {
2176
- flex: 1; overflow-y: auto; padding: 8px 12px;
2854
+ flex: 1;
2855
+ overflow-y: auto;
2856
+ padding: 8px 12px;
2857
+ }
2858
+ .history-transcript::-webkit-scrollbar {
2859
+ width: 4px;
2860
+ }
2861
+ .history-transcript::-webkit-scrollbar-thumb {
2862
+ background: rgba(139, 92, 246, 0.3);
2863
+ border-radius: 2px;
2177
2864
  }
2178
- .history-transcript::-webkit-scrollbar { width: 4px; }
2179
- .history-transcript::-webkit-scrollbar-thumb { background: rgba(139,92,246,0.3); border-radius: 2px; }
2180
2865
 
2181
2866
  .history-msg {
2182
- margin-bottom: 12px; font-size: 12.5px; line-height: 1.5;
2867
+ margin-bottom: 12px;
2868
+ font-size: 12.5px;
2869
+ line-height: 1.5;
2183
2870
  }
2184
2871
  .history-msg-role {
2185
- font-family: var(--font-mono); font-size: 9px; font-weight: 700;
2186
- letter-spacing: 0.1em; margin-bottom: 3px;
2872
+ font-family: var(--font-mono);
2873
+ font-size: 9px;
2874
+ font-weight: 700;
2875
+ letter-spacing: 0.1em;
2876
+ margin-bottom: 3px;
2877
+ }
2878
+ .history-msg-role.user {
2879
+ color: var(--accent-cyan);
2880
+ }
2881
+ .history-msg-role.assistant {
2882
+ color: rgba(139, 92, 246, 0.8);
2187
2883
  }
2188
- .history-msg-role.user { color: var(--accent-cyan); }
2189
- .history-msg-role.assistant { color: rgba(139,92,246,0.8); }
2190
2884
  .history-msg-text {
2191
- color: var(--text-secondary); padding: 6px 10px;
2192
- background: rgba(255,255,255,0.025);
2193
- border-radius: 6px; border-left: 2px solid rgba(255,255,255,0.08);
2194
- white-space: pre-wrap; word-break: break-word;
2885
+ color: var(--text-secondary);
2886
+ padding: 6px 10px;
2887
+ background: rgba(255, 255, 255, 0.025);
2888
+ border-radius: 6px;
2889
+ border-left: 2px solid rgba(255, 255, 255, 0.08);
2890
+ white-space: pre-wrap;
2891
+ word-break: break-word;
2195
2892
  }
2196
2893
  .history-msg.assistant .history-msg-text {
2197
- border-left-color: rgba(139,92,246,0.3);
2894
+ border-left-color: rgba(139, 92, 246, 0.3);
2198
2895
  }
2199
2896
  .history-msg.user .history-msg-text {
2200
- border-left-color: rgba(0,212,255,0.25);
2897
+ border-left-color: rgba(0, 212, 255, 0.25);
2201
2898
  }
2202
2899
 
2203
2900
  .history-empty {
2204
- padding: 32px 18px; text-align: center;
2205
- color: var(--text-dim); font-size: 12px; font-family: var(--font-mono);
2901
+ padding: 32px 18px;
2902
+ text-align: center;
2903
+ color: var(--text-dim);
2904
+ font-size: 12px;
2905
+ font-family: var(--font-mono);
2206
2906
  }
2207
2907
 
2208
2908
  /* ── Archive toast ──────────────────────────────────────────────────── */
2209
2909
  .session-archive-toast {
2210
- position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%) translateY(20px);
2910
+ position: fixed;
2911
+ bottom: 80px;
2912
+ left: 50%;
2913
+ transform: translateX(-50%) translateY(20px);
2211
2914
  z-index: 1200;
2212
- display: flex; align-items: center; gap: 7px;
2915
+ display: flex;
2916
+ align-items: center;
2917
+ gap: 7px;
2213
2918
  padding: 8px 16px;
2214
- background: rgba(15,17,28,0.95);
2215
- border: 1px solid rgba(139,92,246,0.35);
2919
+ background: rgba(15, 17, 28, 0.95);
2920
+ border: 1px solid rgba(139, 92, 246, 0.35);
2216
2921
  border-radius: 99px;
2217
- font-size: 11.5px; font-family: var(--font-mono); color: var(--text-secondary);
2218
- box-shadow: 0 4px 24px rgba(0,0,0,0.5), 0 0 20px rgba(139,92,246,0.08);
2219
- opacity: 0; pointer-events: none;
2220
- transition: opacity 0.25s ease, transform 0.25s ease;
2922
+ font-size: 11.5px;
2923
+ font-family: var(--font-mono);
2924
+ color: var(--text-secondary);
2925
+ box-shadow:
2926
+ 0 4px 24px rgba(0, 0, 0, 0.5),
2927
+ 0 0 20px rgba(139, 92, 246, 0.08);
2928
+ opacity: 0;
2929
+ pointer-events: none;
2930
+ transition:
2931
+ opacity 0.25s ease,
2932
+ transform 0.25s ease;
2221
2933
  white-space: nowrap;
2222
2934
  }
2223
2935
  .session-archive-toast.show {
2224
- opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0);
2936
+ opacity: 1;
2937
+ pointer-events: auto;
2938
+ transform: translateX(-50%) translateY(0);
2225
2939
  }
2226
2940
  #session-archive-link {
2227
- color: rgba(139,92,246,0.9); cursor: pointer; font-weight: 600;
2228
- text-decoration: underline; text-underline-offset: 2px;
2941
+ color: rgba(139, 92, 246, 0.9);
2942
+ cursor: pointer;
2943
+ font-weight: 600;
2944
+ text-decoration: underline;
2945
+ text-underline-offset: 2px;
2946
+ }
2947
+ #session-archive-link:hover {
2948
+ color: rgba(139, 92, 246, 1);
2229
2949
  }
2230
- #session-archive-link:hover { color: rgba(139,92,246,1); }
2231
2950
 
2232
2951
  /* ── Queue button ───────────────────────────────────────────────────── */
2233
2952
  .queue-btn {
@@ -2236,28 +2955,37 @@ html, body {
2236
2955
  gap: 5px;
2237
2956
  padding: 0 11px;
2238
2957
  height: 28px;
2239
- background: rgba(0,212,255,0.08);
2240
- border: 1px solid rgba(0,212,255,0.2);
2958
+ background: rgba(0, 212, 255, 0.08);
2959
+ border: 1px solid rgba(0, 212, 255, 0.2);
2241
2960
  border-radius: 8px;
2242
- color: rgba(0,212,255,0.8);
2243
- font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.08em; font-weight: 600;
2244
- cursor: pointer; flex-shrink: 0;
2245
- transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
2961
+ color: rgba(0, 212, 255, 0.8);
2962
+ font-size: 10px;
2963
+ font-family: var(--font-mono);
2964
+ letter-spacing: 0.08em;
2965
+ font-weight: 600;
2966
+ cursor: pointer;
2967
+ flex-shrink: 0;
2968
+ transition:
2969
+ background 0.2s,
2970
+ border-color 0.2s,
2971
+ box-shadow 0.2s;
2246
2972
  white-space: nowrap;
2247
2973
  }
2248
- .queue-btn.visible { display: flex; }
2974
+ .queue-btn.visible {
2975
+ display: flex;
2976
+ }
2249
2977
  .queue-btn:hover {
2250
- background: rgba(0,212,255,0.15);
2251
- border-color: rgba(0,212,255,0.4);
2252
- box-shadow: 0 0 12px rgba(0,212,255,0.12);
2978
+ background: rgba(0, 212, 255, 0.15);
2979
+ border-color: rgba(0, 212, 255, 0.4);
2980
+ box-shadow: 0 0 12px rgba(0, 212, 255, 0.12);
2253
2981
  }
2254
2982
 
2255
2983
  /* Active state — item is queued */
2256
2984
  .queue-btn.has-queue {
2257
- background: rgba(0,212,255,0.14);
2258
- border-color: rgba(0,212,255,0.45);
2985
+ background: rgba(0, 212, 255, 0.14);
2986
+ border-color: rgba(0, 212, 255, 0.45);
2259
2987
  color: var(--accent-cyan);
2260
- box-shadow: 0 0 14px rgba(0,212,255,0.1);
2988
+ box-shadow: 0 0 14px rgba(0, 212, 255, 0.1);
2261
2989
  }
2262
2990
 
2263
2991
  .queue-cancel-x {
@@ -2268,10 +2996,17 @@ html, body {
2268
2996
  line-height: 1;
2269
2997
  padding: 1px 3px;
2270
2998
  border-radius: 3px;
2271
- transition: opacity 0.15s, background 0.15s;
2999
+ transition:
3000
+ opacity 0.15s,
3001
+ background 0.15s;
3002
+ }
3003
+ .queue-btn.has-queue .queue-cancel-x {
3004
+ display: inline;
3005
+ }
3006
+ .queue-cancel-x:hover {
3007
+ opacity: 1;
3008
+ background: rgba(255, 255, 255, 0.1);
2272
3009
  }
2273
- .queue-btn.has-queue .queue-cancel-x { display: inline; }
2274
- .queue-cancel-x:hover { opacity: 1; background: rgba(255,255,255,0.1); }
2275
3010
 
2276
3011
  /* ── Stop button ────────────────────────────────────────────────────── */
2277
3012
  .stop-btn {
@@ -2280,23 +3015,34 @@ html, body {
2280
3015
  gap: 5px;
2281
3016
  padding: 0 11px;
2282
3017
  height: 28px;
2283
- background: rgba(239,68,68,0.08);
2284
- border: 1px solid rgba(239,68,68,0.22);
3018
+ background: rgba(239, 68, 68, 0.08);
3019
+ border: 1px solid rgba(239, 68, 68, 0.22);
2285
3020
  border-radius: 8px;
2286
- color: rgba(239,68,68,0.85);
2287
- font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.08em; font-weight: 600;
2288
- cursor: pointer; flex-shrink: 0;
2289
- transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
3021
+ color: rgba(239, 68, 68, 0.85);
3022
+ font-size: 10px;
3023
+ font-family: var(--font-mono);
3024
+ letter-spacing: 0.08em;
3025
+ font-weight: 600;
3026
+ cursor: pointer;
3027
+ flex-shrink: 0;
3028
+ transition:
3029
+ background 0.2s,
3030
+ border-color 0.2s,
3031
+ box-shadow 0.2s;
2290
3032
  white-space: nowrap;
2291
3033
  }
2292
- .stop-btn.visible { display: flex; }
3034
+ .stop-btn.visible {
3035
+ display: flex;
3036
+ }
2293
3037
  .stop-btn:hover {
2294
- background: rgba(239,68,68,0.18);
2295
- border-color: rgba(239,68,68,0.5);
2296
- box-shadow: 0 0 14px rgba(239,68,68,0.14);
2297
- color: rgba(239,68,68,1);
3038
+ background: rgba(239, 68, 68, 0.18);
3039
+ border-color: rgba(239, 68, 68, 0.5);
3040
+ box-shadow: 0 0 14px rgba(239, 68, 68, 0.14);
3041
+ color: rgba(239, 68, 68, 1);
3042
+ }
3043
+ .stop-btn-label {
3044
+ font-size: 10px;
2298
3045
  }
2299
- .stop-btn-label { font-size: 10px; }
2300
3046
 
2301
3047
  /* ── Page Navigation Overlay ────────────────────────────────────────── */
2302
3048
  .page-overlay {
@@ -2310,7 +3056,9 @@ html, body {
2310
3056
  opacity: 0;
2311
3057
  pointer-events: none;
2312
3058
  transform: translateY(12px);
2313
- transition: opacity 0.22s ease, transform 0.22s ease;
3059
+ transition:
3060
+ opacity 0.22s ease,
3061
+ transform 0.22s ease;
2314
3062
  }
2315
3063
  .page-overlay.open {
2316
3064
  opacity: 1;
@@ -2323,51 +3071,68 @@ html, body {
2323
3071
  align-items: center;
2324
3072
  gap: 12px;
2325
3073
  padding: 10px 16px;
2326
- border-bottom: 1px solid rgba(139,92,246,0.18);
2327
- background: rgba(10,12,20,0.95);
3074
+ border-bottom: 1px solid rgba(139, 92, 246, 0.18);
3075
+ background: rgba(10, 12, 20, 0.95);
2328
3076
  flex-shrink: 0;
2329
3077
  height: 46px;
2330
3078
  }
2331
3079
 
2332
3080
  .page-back-btn {
2333
- display: flex; align-items: center; gap: 6px;
2334
- padding: 5px 12px; height: 28px;
2335
- background: rgba(139,92,246,0.1);
2336
- border: 1px solid rgba(139,92,246,0.25);
3081
+ display: flex;
3082
+ align-items: center;
3083
+ gap: 6px;
3084
+ padding: 5px 12px;
3085
+ height: 28px;
3086
+ background: rgba(139, 92, 246, 0.1);
3087
+ border: 1px solid rgba(139, 92, 246, 0.25);
2337
3088
  border-radius: 8px;
2338
- color: rgba(139,92,246,0.9);
2339
- font-size: 11px; font-family: var(--font-mono); font-weight: 600; letter-spacing: 0.07em;
2340
- cursor: pointer; white-space: nowrap; flex-shrink: 0;
3089
+ color: rgba(139, 92, 246, 0.9);
3090
+ font-size: 11px;
3091
+ font-family: var(--font-mono);
3092
+ font-weight: 600;
3093
+ letter-spacing: 0.07em;
3094
+ cursor: pointer;
3095
+ white-space: nowrap;
3096
+ flex-shrink: 0;
2341
3097
  transition: all 0.15s;
2342
3098
  }
2343
3099
  .page-back-btn:hover {
2344
- background: rgba(139,92,246,0.2);
2345
- border-color: rgba(139,92,246,0.45);
3100
+ background: rgba(139, 92, 246, 0.2);
3101
+ border-color: rgba(139, 92, 246, 0.45);
2346
3102
  }
2347
3103
 
2348
3104
  .page-overlay-title {
2349
3105
  flex: 1;
2350
3106
  font-family: var(--font-mono);
2351
- font-size: 11px; font-weight: 700; letter-spacing: 0.14em;
2352
- color: rgba(255,255,255,0.6);
3107
+ font-size: 11px;
3108
+ font-weight: 700;
3109
+ letter-spacing: 0.14em;
3110
+ color: rgba(255, 255, 255, 0.6);
2353
3111
  text-align: center;
2354
3112
  }
2355
3113
 
2356
3114
  .page-popout-btn {
2357
- display: flex; align-items: center; gap: 5px;
2358
- padding: 5px 11px; height: 28px;
2359
- background: rgba(0,212,255,0.06);
2360
- border: 1px solid rgba(0,212,255,0.15);
3115
+ display: flex;
3116
+ align-items: center;
3117
+ gap: 5px;
3118
+ padding: 5px 11px;
3119
+ height: 28px;
3120
+ background: rgba(0, 212, 255, 0.06);
3121
+ border: 1px solid rgba(0, 212, 255, 0.15);
2361
3122
  border-radius: 8px;
2362
- color: rgba(0,212,255,0.6);
2363
- font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.07em;
2364
- cursor: pointer; text-decoration: none; flex-shrink: 0;
3123
+ color: rgba(0, 212, 255, 0.6);
3124
+ font-size: 10px;
3125
+ font-family: var(--font-mono);
3126
+ letter-spacing: 0.07em;
3127
+ cursor: pointer;
3128
+ text-decoration: none;
3129
+ flex-shrink: 0;
2365
3130
  transition: all 0.15s;
2366
3131
  }
2367
3132
  .page-popout-btn:hover {
2368
- background: rgba(0,212,255,0.12);
2369
- border-color: rgba(0,212,255,0.35);
2370
- color: rgba(0,212,255,0.9);
3133
+ background: rgba(0, 212, 255, 0.12);
3134
+ border-color: rgba(0, 212, 255, 0.35);
3135
+ color: rgba(0, 212, 255, 0.9);
2371
3136
  }
2372
3137
 
2373
3138
  .page-overlay-frame {
@@ -2394,8 +3159,8 @@ html, body {
2394
3159
  gap: 12px;
2395
3160
  width: 100%;
2396
3161
  padding: 10px 12px;
2397
- background: rgba(255,255,255,0.02);
2398
- border: 1px solid rgba(255,255,255,0.06);
3162
+ background: rgba(255, 255, 255, 0.02);
3163
+ border: 1px solid rgba(255, 255, 255, 0.06);
2399
3164
  border-radius: 10px;
2400
3165
  cursor: pointer;
2401
3166
  transition: all 0.25s ease;
@@ -2404,8 +3169,8 @@ html, body {
2404
3169
  font-family: inherit;
2405
3170
  }
2406
3171
  .conn-btn:hover {
2407
- background: rgba(255,255,255,0.05);
2408
- border-color: rgba(255,255,255,0.12);
3172
+ background: rgba(255, 255, 255, 0.05);
3173
+ border-color: rgba(255, 255, 255, 0.12);
2409
3174
  transform: translateX(2px);
2410
3175
  }
2411
3176
  .conn-btn:active {
@@ -2447,7 +3212,7 @@ html, body {
2447
3212
  .conn-icon-slack {
2448
3213
  background: linear-gradient(135deg, rgba(74, 21, 75, 0.3), rgba(54, 197, 171, 0.2));
2449
3214
  border: 1px solid rgba(224, 30, 90, 0.2);
2450
- color: #E01E5A;
3215
+ color: #e01e5a;
2451
3216
  }
2452
3217
  .conn-btn[data-state="connected"] .conn-icon-slack {
2453
3218
  box-shadow: 0 0 12px rgba(224, 30, 90, 0.2);
@@ -2465,7 +3230,7 @@ html, body {
2465
3230
  .conn-icon-teams {
2466
3231
  background: linear-gradient(135deg, rgba(98, 100, 167, 0.3), rgba(139, 92, 246, 0.2));
2467
3232
  border: 1px solid rgba(98, 100, 167, 0.25);
2468
- color: #6264A7;
3233
+ color: #6264a7;
2469
3234
  }
2470
3235
  .conn-btn[data-state="connected"] .conn-icon-teams {
2471
3236
  box-shadow: 0 0 12px rgba(98, 100, 167, 0.2);
@@ -2530,12 +3295,24 @@ html, body {
2530
3295
  }
2531
3296
 
2532
3297
  @keyframes conn-pulse {
2533
- 0%, 100% { opacity: 1; transform: scale(1); }
2534
- 50% { opacity: 0.7; transform: scale(0.9); }
3298
+ 0%,
3299
+ 100% {
3300
+ opacity: 1;
3301
+ transform: scale(1);
3302
+ }
3303
+ 50% {
3304
+ opacity: 0.7;
3305
+ transform: scale(0.9);
3306
+ }
2535
3307
  }
2536
3308
  @keyframes conn-blink {
2537
- 0%, 100% { opacity: 1; }
2538
- 50% { opacity: 0.4; }
3309
+ 0%,
3310
+ 100% {
3311
+ opacity: 1;
3312
+ }
3313
+ 50% {
3314
+ opacity: 0.4;
3315
+ }
2539
3316
  }
2540
3317
 
2541
3318
  .conn-notif {
@@ -2560,9 +3337,15 @@ html, body {
2560
3337
  display: flex;
2561
3338
  }
2562
3339
  @keyframes notif-bounce {
2563
- 0% { transform: scale(0); }
2564
- 50% { transform: scale(1.2); }
2565
- 100% { transform: scale(1); }
3340
+ 0% {
3341
+ transform: scale(0);
3342
+ }
3343
+ 50% {
3344
+ transform: scale(1.2);
3345
+ }
3346
+ 100% {
3347
+ transform: scale(1);
3348
+ }
2566
3349
  }
2567
3350
 
2568
3351
  /* ── Connection Modal ────────────────────────────────────────────────── */
@@ -2577,7 +3360,9 @@ html, body {
2577
3360
  backdrop-filter: blur(8px);
2578
3361
  opacity: 0;
2579
3362
  visibility: hidden;
2580
- transition: opacity 0.25s ease, visibility 0.25s ease;
3363
+ transition:
3364
+ opacity 0.25s ease,
3365
+ visibility 0.25s ease;
2581
3366
  }
2582
3367
  .conn-modal-overlay.open {
2583
3368
  opacity: 1;
@@ -2591,7 +3376,9 @@ html, body {
2591
3376
  background: linear-gradient(135deg, rgba(15, 15, 25, 0.98), rgba(10, 10, 18, 0.98));
2592
3377
  border: 1px solid rgba(255, 255, 255, 0.1);
2593
3378
  border-radius: 16px;
2594
- box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6), 0 0 1px rgba(255, 255, 255, 0.1);
3379
+ box-shadow:
3380
+ 0 24px 80px rgba(0, 0, 0, 0.6),
3381
+ 0 0 1px rgba(255, 255, 255, 0.1);
2595
3382
  transform: scale(0.95) translateY(10px);
2596
3383
  transition: transform 0.25s ease;
2597
3384
  overflow: hidden;
@@ -2622,7 +3409,7 @@ html, body {
2622
3409
  .conn-modal-icon.slack {
2623
3410
  background: linear-gradient(135deg, rgba(74, 21, 75, 0.4), rgba(54, 197, 171, 0.3));
2624
3411
  border: 1px solid rgba(224, 30, 90, 0.3);
2625
- color: #E01E5A;
3412
+ color: #e01e5a;
2626
3413
  }
2627
3414
  .conn-modal-icon.email {
2628
3415
  background: linear-gradient(135deg, rgba(96, 165, 250, 0.3), rgba(139, 92, 246, 0.3));
@@ -2632,7 +3419,7 @@ html, body {
2632
3419
  .conn-modal-icon.msteams {
2633
3420
  background: linear-gradient(135deg, rgba(98, 100, 167, 0.4), rgba(139, 92, 246, 0.3));
2634
3421
  border: 1px solid rgba(98, 100, 167, 0.35);
2635
- color: #6264A7;
3422
+ color: #6264a7;
2636
3423
  }
2637
3424
  .conn-modal-title {
2638
3425
  flex: 1;
@@ -2755,7 +3542,6 @@ html, body {
2755
3542
  border-color: rgba(0, 212, 255, 0.35);
2756
3543
  }
2757
3544
 
2758
-
2759
3545
  /* ══════════════════════════════════════════════════════════════════════════
2760
3546
  SUBAGENTS PANEL
2761
3547
  ══════════════════════════════════════════════════════════════════════════ */
@@ -2796,8 +3582,8 @@ html, body {
2796
3582
  align-items: center;
2797
3583
  gap: 6px;
2798
3584
  padding: 7px 10px;
2799
- background: rgba(255,255,255,0.02);
2800
- border: 1px solid rgba(255,255,255,0.06);
3585
+ background: rgba(255, 255, 255, 0.02);
3586
+ border: 1px solid rgba(255, 255, 255, 0.06);
2801
3587
  border-radius: 8px;
2802
3588
  color: var(--text);
2803
3589
  font-size: 12px;
@@ -2835,8 +3621,8 @@ html, body {
2835
3621
  align-items: center;
2836
3622
  gap: 8px;
2837
3623
  padding: 8px 10px;
2838
- background: rgba(255,255,255,0.015);
2839
- border: 1px solid rgba(255,255,255,0.05);
3624
+ background: rgba(255, 255, 255, 0.015);
3625
+ border: 1px solid rgba(255, 255, 255, 0.05);
2840
3626
  border-radius: 8px;
2841
3627
  margin-bottom: 12px;
2842
3628
  min-height: 38px;
@@ -2955,15 +3741,15 @@ html, body {
2955
3741
  align-items: center;
2956
3742
  gap: 10px;
2957
3743
  padding: 8px 10px;
2958
- background: rgba(255,255,255,0.02);
2959
- border: 1px solid rgba(255,255,255,0.05);
3744
+ background: rgba(255, 255, 255, 0.02);
3745
+ border: 1px solid rgba(255, 255, 255, 0.05);
2960
3746
  border-radius: 8px;
2961
3747
  cursor: pointer;
2962
3748
  transition: all 0.2s ease;
2963
3749
  }
2964
3750
  .subagent-item:hover {
2965
- background: rgba(255,255,255,0.04);
2966
- border-color: rgba(255,255,255,0.1);
3751
+ background: rgba(255, 255, 255, 0.04);
3752
+ border-color: rgba(255, 255, 255, 0.1);
2967
3753
  }
2968
3754
  .subagent-item[data-status="running"] {
2969
3755
  border-color: rgba(0, 212, 255, 0.2);
@@ -3056,7 +3842,9 @@ html, body {
3056
3842
  backdrop-filter: blur(8px);
3057
3843
  opacity: 0;
3058
3844
  visibility: hidden;
3059
- transition: opacity 0.25s ease, visibility 0.25s ease;
3845
+ transition:
3846
+ opacity 0.25s ease,
3847
+ visibility 0.25s ease;
3060
3848
  }
3061
3849
  .subagent-modal-overlay.open {
3062
3850
  opacity: 1;
@@ -3070,7 +3858,9 @@ html, body {
3070
3858
  background: linear-gradient(135deg, rgba(15, 15, 25, 0.98), rgba(10, 10, 18, 0.98));
3071
3859
  border: 1px solid rgba(255, 255, 255, 0.1);
3072
3860
  border-radius: 16px;
3073
- box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6), 0 0 1px rgba(255, 255, 255, 0.1);
3861
+ box-shadow:
3862
+ 0 24px 80px rgba(0, 0, 0, 0.6),
3863
+ 0 0 1px rgba(255, 255, 255, 0.1);
3074
3864
  transform: scale(0.95) translateY(10px);
3075
3865
  transition: transform 0.25s ease;
3076
3866
  overflow: hidden;
@@ -3207,7 +3997,6 @@ html, body {
3207
3997
  border-color: rgba(139, 92, 246, 0.5);
3208
3998
  }
3209
3999
 
3210
-
3211
4000
  /* ══════════════════════════════════════════════════════════════════════════
3212
4001
  SCHEDULING PANEL
3213
4002
  ══════════════════════════════════════════════════════════════════════════ */
@@ -3268,15 +4057,15 @@ html, body {
3268
4057
  align-items: center;
3269
4058
  gap: 10px;
3270
4059
  padding: 8px 10px;
3271
- background: rgba(255,255,255,0.02);
3272
- border: 1px solid rgba(255,255,255,0.05);
4060
+ background: rgba(255, 255, 255, 0.02);
4061
+ border: 1px solid rgba(255, 255, 255, 0.05);
3273
4062
  border-radius: 8px;
3274
4063
  cursor: pointer;
3275
4064
  transition: all 0.2s ease;
3276
4065
  }
3277
4066
  .schedule-item:hover {
3278
- background: rgba(255,255,255,0.04);
3279
- border-color: rgba(255,255,255,0.1);
4067
+ background: rgba(255, 255, 255, 0.04);
4068
+ border-color: rgba(255, 255, 255, 0.1);
3280
4069
  }
3281
4070
  .schedule-item[data-active="true"] {
3282
4071
  border-color: rgba(52, 211, 153, 0.15);
@@ -3292,7 +4081,7 @@ html, body {
3292
4081
  height: 12px;
3293
4082
  border-radius: 50%;
3294
4083
  background: var(--text-dim);
3295
- border: 2px solid rgba(255,255,255,0.1);
4084
+ border: 2px solid rgba(255, 255, 255, 0.1);
3296
4085
  transition: all 0.2s ease;
3297
4086
  cursor: pointer;
3298
4087
  }
@@ -3302,7 +4091,7 @@ html, body {
3302
4091
  box-shadow: 0 0 6px rgba(52, 211, 153, 0.3);
3303
4092
  }
3304
4093
  .schedule-toggle:hover {
3305
- border-color: rgba(255,255,255,0.3);
4094
+ border-color: rgba(255, 255, 255, 0.3);
3306
4095
  }
3307
4096
 
3308
4097
  .schedule-info {
@@ -3335,7 +4124,7 @@ html, body {
3335
4124
  color: var(--text-muted);
3336
4125
  letter-spacing: 0.04em;
3337
4126
  padding: 3px 8px;
3338
- background: rgba(255,255,255,0.03);
4127
+ background: rgba(255, 255, 255, 0.03);
3339
4128
  border-radius: 6px;
3340
4129
  }
3341
4130
 
@@ -3379,7 +4168,9 @@ html, body {
3379
4168
  backdrop-filter: blur(8px);
3380
4169
  opacity: 0;
3381
4170
  visibility: hidden;
3382
- transition: opacity 0.25s ease, visibility 0.25s ease;
4171
+ transition:
4172
+ opacity 0.25s ease,
4173
+ visibility 0.25s ease;
3383
4174
  }
3384
4175
  .schedule-modal-overlay.open {
3385
4176
  opacity: 1;
@@ -3393,7 +4184,9 @@ html, body {
3393
4184
  background: linear-gradient(135deg, rgba(15, 15, 25, 0.98), rgba(10, 10, 18, 0.98));
3394
4185
  border: 1px solid rgba(255, 255, 255, 0.1);
3395
4186
  border-radius: 16px;
3396
- box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6), 0 0 1px rgba(255, 255, 255, 0.1);
4187
+ box-shadow:
4188
+ 0 24px 80px rgba(0, 0, 0, 0.6),
4189
+ 0 0 1px rgba(255, 255, 255, 0.1);
3397
4190
  transform: scale(0.95) translateY(10px);
3398
4191
  transition: transform 0.25s ease;
3399
4192
  overflow: hidden;
@@ -3485,8 +4278,8 @@ html, body {
3485
4278
  }
3486
4279
  .schedule-interval-btn {
3487
4280
  padding: 6px 12px;
3488
- background: rgba(255,255,255,0.04);
3489
- border: 1px solid rgba(255,255,255,0.08);
4281
+ background: rgba(255, 255, 255, 0.04);
4282
+ border: 1px solid rgba(255, 255, 255, 0.08);
3490
4283
  border-radius: 8px;
3491
4284
  color: var(--text-muted);
3492
4285
  font-size: 11px;
@@ -3580,9 +4373,16 @@ html, body {
3580
4373
  gap: 6px;
3581
4374
  padding-right: 2px;
3582
4375
  }
3583
- .reasoning-feed::-webkit-scrollbar { width: 3px; }
3584
- .reasoning-feed::-webkit-scrollbar-track { background: transparent; }
3585
- .reasoning-feed::-webkit-scrollbar-thumb { background: rgba(0, 212, 255, 0.2); border-radius: 2px; }
4376
+ .reasoning-feed::-webkit-scrollbar {
4377
+ width: 3px;
4378
+ }
4379
+ .reasoning-feed::-webkit-scrollbar-track {
4380
+ background: transparent;
4381
+ }
4382
+ .reasoning-feed::-webkit-scrollbar-thumb {
4383
+ background: rgba(0, 212, 255, 0.2);
4384
+ border-radius: 2px;
4385
+ }
3586
4386
 
3587
4387
  /* Empty state */
3588
4388
  .reasoning-empty {
@@ -3619,7 +4419,7 @@ html, body {
3619
4419
  }
3620
4420
  .reasoning-run-sep::before,
3621
4421
  .reasoning-run-sep::after {
3622
- content: '';
4422
+ content: "";
3623
4423
  flex: 1;
3624
4424
  height: 1px;
3625
4425
  background: rgba(255, 255, 255, 0.06);
@@ -3713,8 +4513,13 @@ html, body {
3713
4513
  scrollbar-width: thin;
3714
4514
  scrollbar-color: rgba(0, 212, 255, 0.15) transparent;
3715
4515
  }
3716
- .reasoning-think-body::-webkit-scrollbar { width: 2px; }
3717
- .reasoning-think-body::-webkit-scrollbar-thumb { background: rgba(0, 212, 255, 0.15); border-radius: 2px; }
4516
+ .reasoning-think-body::-webkit-scrollbar {
4517
+ width: 2px;
4518
+ }
4519
+ .reasoning-think-body::-webkit-scrollbar-thumb {
4520
+ background: rgba(0, 212, 255, 0.15);
4521
+ border-radius: 2px;
4522
+ }
3718
4523
 
3719
4524
  /* Tool detail — compact JSON preview, collapsible */
3720
4525
  .reasoning-tool-preview {
@@ -3739,8 +4544,12 @@ html, body {
3739
4544
  max-height: 100px;
3740
4545
  overflow-y: auto;
3741
4546
  }
3742
- .reasoning-entry.expanded .reasoning-tool-detail { display: block; }
3743
- .reasoning-entry.expanded .reasoning-tool-preview { display: none; }
4547
+ .reasoning-entry.expanded .reasoning-tool-detail {
4548
+ display: block;
4549
+ }
4550
+ .reasoning-entry.expanded .reasoning-tool-preview {
4551
+ display: none;
4552
+ }
3744
4553
 
3745
4554
  /* Result row */
3746
4555
  .reasoning-result-meta {
@@ -3753,7 +4562,9 @@ html, body {
3753
4562
  /* ── Symipulse Panel ────────────────────────────────────────────── */
3754
4563
  .symipulse-panel {
3755
4564
  cursor: pointer;
3756
- transition: max-height 0.3s ease, border-color 0.3s;
4565
+ transition:
4566
+ max-height 0.3s ease,
4567
+ border-color 0.3s;
3757
4568
  }
3758
4569
 
3759
4570
  .symipulse-feed {
@@ -3772,9 +4583,16 @@ html, body {
3772
4583
  scrollbar-width: thin;
3773
4584
  scrollbar-color: rgba(0, 212, 255, 0.2) transparent;
3774
4585
  }
3775
- .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar { width: 3px; }
3776
- .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-track { background: transparent; }
3777
- .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-thumb { background: rgba(0, 212, 255, 0.2); border-radius: 2px; }
4586
+ .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar {
4587
+ width: 3px;
4588
+ }
4589
+ .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-track {
4590
+ background: transparent;
4591
+ }
4592
+ .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-thumb {
4593
+ background: rgba(0, 212, 255, 0.2);
4594
+ border-radius: 2px;
4595
+ }
3778
4596
 
3779
4597
  .symipulse-entry {
3780
4598
  padding: 3px 0;
@@ -3786,7 +4604,9 @@ html, body {
3786
4604
  align-items: baseline;
3787
4605
  gap: 6px;
3788
4606
  }
3789
- .symipulse-entry:last-child { border-bottom: none; }
4607
+ .symipulse-entry:last-child {
4608
+ border-bottom: none;
4609
+ }
3790
4610
 
3791
4611
  .symipulse-entry-time {
3792
4612
  color: var(--text-muted);
@@ -3847,3 +4667,72 @@ html, body {
3847
4667
  color: var(--text-dim);
3848
4668
  opacity: 0.7;
3849
4669
  }
4670
+
4671
+ /* ── Model info (below agent status orb) ─────────────────────────── */
4672
+ .aso-model-info {
4673
+ text-align: center;
4674
+ margin-top: 6px;
4675
+ font-size: 10px;
4676
+ color: var(--text-dim);
4677
+ opacity: 0.8;
4678
+ }
4679
+ .aso-model-label {
4680
+ font-weight: 500;
4681
+ letter-spacing: 0.03em;
4682
+ }
4683
+ .aso-model-badge {
4684
+ display: inline-block;
4685
+ margin-left: 4px;
4686
+ padding: 1px 5px;
4687
+ border-radius: 3px;
4688
+ font-size: 9px;
4689
+ font-weight: 600;
4690
+ letter-spacing: 0.06em;
4691
+ text-transform: uppercase;
4692
+ background: rgba(255, 255, 255, 0.06);
4693
+ border: 1px solid rgba(255, 255, 255, 0.08);
4694
+ color: var(--text-dim);
4695
+ }
4696
+
4697
+ /* ── Debug Panel ─────────────────────────────────────────────────── */
4698
+ .debug-panel {
4699
+ max-height: 300px;
4700
+ overflow: hidden;
4701
+ transition: max-height 0.3s ease;
4702
+ }
4703
+ .debug-panel.collapsed {
4704
+ max-height: 28px;
4705
+ }
4706
+ .debug-panel.collapsed .debug-entries {
4707
+ display: none;
4708
+ }
4709
+ .debug-panel.collapsed .debug-toggle-arrow {
4710
+ transform: rotate(0deg);
4711
+ }
4712
+ .debug-toggle-arrow {
4713
+ display: inline-block;
4714
+ font-size: 9px;
4715
+ margin-left: 4px;
4716
+ transition: transform 0.2s ease;
4717
+ transform: rotate(90deg);
4718
+ }
4719
+ .debug-panel .panel-label {
4720
+ cursor: pointer;
4721
+ user-select: none;
4722
+ }
4723
+ .debug-entries {
4724
+ max-height: 260px;
4725
+ overflow-y: auto;
4726
+ padding: 4px 6px;
4727
+ font-family: "SF Mono", "Fira Code", monospace;
4728
+ font-size: 10px;
4729
+ line-height: 1.4;
4730
+ }
4731
+ .debug-entry {
4732
+ padding: 2px 0;
4733
+ color: var(--text-dim);
4734
+ border-bottom: 1px solid rgba(255, 255, 255, 0.03);
4735
+ white-space: nowrap;
4736
+ overflow: hidden;
4737
+ text-overflow: ellipsis;
4738
+ }