@vite-hub/ui 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +114 -0
  3. package/dist/abap-LtYK6g-v.js +3 -0
  4. package/dist/actionscript-3-Czo0lKSf.js +3 -0
  5. package/dist/ada-twHwrVWN.js +3 -0
  6. package/dist/andromeeda-DnSv6o6l.js +4 -0
  7. package/dist/angular-html-Ct-40ew8.js +33 -0
  8. package/dist/angular-ts-D6akBVit.js +27 -0
  9. package/dist/apache-BIl2qPOf.js +3 -0
  10. package/dist/apex-BkQQFAhi.js +3 -0
  11. package/dist/apl-Cxjn4xYu.js +17 -0
  12. package/dist/applescript-CJ80B5XJ.js +3 -0
  13. package/dist/ara-IxnQjO6j.js +3 -0
  14. package/dist/asciidoc-Dsw6zvwf.js +3 -0
  15. package/dist/asm-wBDSgBbA.js +3 -0
  16. package/dist/astro-BPVTb8uX.js +19 -0
  17. package/dist/aurora-x-XJ5I8rFc.js +4 -0
  18. package/dist/awk-D6dA05Ye.js +3 -0
  19. package/dist/ayu-dark-CBRGL64-.js +4 -0
  20. package/dist/ayu-light-BlrCS3Ih.js +4 -0
  21. package/dist/ayu-mirage-CqpTmLcF.js +4 -0
  22. package/dist/ballerina-DIdXD2KH.js +3 -0
  23. package/dist/bat-hQslfzu-.js +3 -0
  24. package/dist/beancount-CXtOQ8oS.js +3 -0
  25. package/dist/berry-CgA2ea0_.js +3 -0
  26. package/dist/bibtex-BzgdqG3s.js +3 -0
  27. package/dist/bicep-CZ338dSk.js +3 -0
  28. package/dist/bird2-GLyzhwkD.js +3 -0
  29. package/dist/blade-0LMawyyw.js +21 -0
  30. package/dist/bsl-0NWGiiFE.js +6 -0
  31. package/dist/c-Dc0_AVM6.js +6 -0
  32. package/dist/c3-BLXk7BLN.js +3 -0
  33. package/dist/cadence-B1ELWULD.js +3 -0
  34. package/dist/cairo-DjG4M3vq.js +6 -0
  35. package/dist/catppuccin-frappe-COUg_LSX.js +4 -0
  36. package/dist/catppuccin-latte-r30LFfsa.js +4 -0
  37. package/dist/catppuccin-macchiato-D-EwZyPh.js +4 -0
  38. package/dist/catppuccin-mocha-C6RD5yh3.js +4 -0
  39. package/dist/clarity-2iIoRiLx.js +3 -0
  40. package/dist/clojure-DDsQ0FaV.js +3 -0
  41. package/dist/cmake-DPsCB_V6.js +3 -0
  42. package/dist/cobol-CocL1RYn.js +11 -0
  43. package/dist/codeowners-CxEKPWu0.js +3 -0
  44. package/dist/codeql-BwdvwJnv.js +3 -0
  45. package/dist/coffee-DtqnQNu5.js +6 -0
  46. package/dist/common-lisp-DJtwvW4V.js +3 -0
  47. package/dist/config-BwhBDTjC.d.ts +30 -0
  48. package/dist/config-CzOjpPth.js +43 -0
  49. package/dist/coq-Ds6Ye5el.js +3 -0
  50. package/dist/cpp-Mb4ikSI3.js +25 -0
  51. package/dist/crystal-D4OMbAh_.js +19 -0
  52. package/dist/csharp-CFKaLbHg.js +3 -0
  53. package/dist/css-DTzmO9U0.js +6 -0
  54. package/dist/csv-DqIVFkK7.js +3 -0
  55. package/dist/cue-B5KneM5p.js +3 -0
  56. package/dist/cypher-D8Bb8Cq2.js +3 -0
  57. package/dist/d-BQY8TDgQ.js +3 -0
  58. package/dist/dark-plus-BCxGtnt0.js +4 -0
  59. package/dist/dart-C6DUdjib.js +3 -0
  60. package/dist/dax-S-Noo-ku.js +3 -0
  61. package/dist/desktop-BgOb7Aj4.js +3 -0
  62. package/dist/diff-Blb4MjsC.js +3 -0
  63. package/dist/docker-PC1tuYpa.js +3 -0
  64. package/dist/dotenv-Dkdv7Sm2.js +3 -0
  65. package/dist/dracula-fPErIccy.js +4 -0
  66. package/dist/dracula-soft-BrQbqXs8.js +4 -0
  67. package/dist/dream-maker-CngiPd8U.js +3 -0
  68. package/dist/edge-DrFNu-N9.js +13 -0
  69. package/dist/elixir-OpZyQ8Ht.js +6 -0
  70. package/dist/elm-CjX_545P.js +6 -0
  71. package/dist/emacs-lisp-DxhFFVu_.js +3 -0
  72. package/dist/erb-trZRdc47.js +11 -0
  73. package/dist/erlang-BJeTH9QH.js +6 -0
  74. package/dist/everforest-dark-gTeBQCos.js +4 -0
  75. package/dist/everforest-light-DUjxsp-2.js +4 -0
  76. package/dist/fennel-B3wtZRne.js +3 -0
  77. package/dist/fish-D7qAeWQz.js +3 -0
  78. package/dist/fluent-BjfpB34g.js +3 -0
  79. package/dist/fortran-fixed-form-B_eBTsj9.js +6 -0
  80. package/dist/fortran-free-form-yxJ7igsv.js +3 -0
  81. package/dist/fsharp-UvrT6oWG.js +6 -0
  82. package/dist/gdresource-Dl9wvKCd.js +11 -0
  83. package/dist/gdscript-jjgTGGzd.js +3 -0
  84. package/dist/gdshader-D7JfdFV3.js +3 -0
  85. package/dist/genie-DnK2KWIP.js +3 -0
  86. package/dist/getSingularPatch-D0VFiyjB.js +1556 -0
  87. package/dist/gherkin-D6Lr12YQ.js +3 -0
  88. package/dist/git-commit-2LMniMoO.js +6 -0
  89. package/dist/git-rebase-DUOURRPN.js +6 -0
  90. package/dist/github-dark-Dg1hl_QD.js +4 -0
  91. package/dist/github-dark-default-Dym2P842.js +4 -0
  92. package/dist/github-dark-dimmed-7iDMx266.js +4 -0
  93. package/dist/github-dark-high-contrast-DkV2fyPG.js +4 -0
  94. package/dist/github-light-BQKYgor9.js +4 -0
  95. package/dist/github-light-default-BZhIfzqQ.js +4 -0
  96. package/dist/github-light-high-contrast-C7zHfx4C.js +4 -0
  97. package/dist/gleam-CTllUdfC.js +3 -0
  98. package/dist/glimmer-js-D_32hFh8.js +15 -0
  99. package/dist/glimmer-ts-CVt002zd.js +15 -0
  100. package/dist/glsl-pHhzolba.js +8 -0
  101. package/dist/gn-DDjbVPF4.js +3 -0
  102. package/dist/gnuplot-DgWvVXI8.js +3 -0
  103. package/dist/go-aXtTCanQ.js +3 -0
  104. package/dist/graphql-BjqekQIR.js +17 -0
  105. package/dist/groovy-Bw2Ku4bU.js +3 -0
  106. package/dist/gruvbox-dark-hard-CQiwpF03.js +4 -0
  107. package/dist/gruvbox-dark-medium-BKe6XKBS.js +4 -0
  108. package/dist/gruvbox-dark-soft-Cz6U6pa4.js +4 -0
  109. package/dist/gruvbox-light-hard-DgU_i19B.js +4 -0
  110. package/dist/gruvbox-light-medium-D64I06ER.js +4 -0
  111. package/dist/gruvbox-light-soft-B-YxAs1L.js +4 -0
  112. package/dist/hack-BITNGzgt.js +11 -0
  113. package/dist/haml-DVwRP8W9.js +13 -0
  114. package/dist/handlebars-T3TJj8Il.js +15 -0
  115. package/dist/haskell-CfGsE1Cf.js +3 -0
  116. package/dist/haxe-B0odltAZ.js +3 -0
  117. package/dist/hcl-DHg_Osgo.js +3 -0
  118. package/dist/headless.d.ts +176 -0
  119. package/dist/headless.js +333 -0
  120. package/dist/hjson-Cuaphql8.js +3 -0
  121. package/dist/hlsl-BJLUNfne.js +3 -0
  122. package/dist/horizon-DYoumREk.js +4 -0
  123. package/dist/horizon-bright-CPyV7XIA.js +4 -0
  124. package/dist/houston-B3NWfq0V.js +4 -0
  125. package/dist/html-CamevgpM.js +13 -0
  126. package/dist/html-derivative-jMOJf6rB.js +6 -0
  127. package/dist/http-BEHztmFP.js +15 -0
  128. package/dist/hurl-LmFBxrwm.js +13 -0
  129. package/dist/hxml-BQ4V4Tez.js +6 -0
  130. package/dist/hy-CJKxDzbh.js +3 -0
  131. package/dist/imba-96qKoJCa.js +3 -0
  132. package/dist/index.d.ts +6402 -0
  133. package/dist/index.js +12338 -0
  134. package/dist/ini-C24lZfdM.js +3 -0
  135. package/dist/java-Cfowl-Ex.js +6 -0
  136. package/dist/javascript-C4sF7sej.js +6 -0
  137. package/dist/jinja-CCAEwzP4.js +10 -0
  138. package/dist/jison-BKCoBkyT.js +6 -0
  139. package/dist/json-E4f3l6hr.js +6 -0
  140. package/dist/json5-xULSgPQI.js +3 -0
  141. package/dist/jsonc-Cu6rqcrJ.js +3 -0
  142. package/dist/jsonl-Bp0qqr10.js +3 -0
  143. package/dist/jsonnet-BafgE6cE.js +3 -0
  144. package/dist/jssm-Dx5A5sBR.js +3 -0
  145. package/dist/jsx-BZjOirBP.js +6 -0
  146. package/dist/julia-nEdJo0dp.js +17 -0
  147. package/dist/just-Brtw3q7S.js +19 -0
  148. package/dist/kanagawa-dragon-DExkuQAs.js +4 -0
  149. package/dist/kanagawa-lotus-qdYh7_RY.js +4 -0
  150. package/dist/kanagawa-wave-CSW_hADG.js +4 -0
  151. package/dist/kdl-DkTyxPcj.js +3 -0
  152. package/dist/kotlin-BHE8CoV9.js +3 -0
  153. package/dist/kusto-6FdaWTzR.js +3 -0
  154. package/dist/laserwave-DkfjiLxA.js +4 -0
  155. package/dist/latex-QHQNiZDD.js +6 -0
  156. package/dist/lean-BwOKScIt.js +3 -0
  157. package/dist/less-BzbdhFUi.js +3 -0
  158. package/dist/light-plus-DuO6rXxZ.js +4 -0
  159. package/dist/liquid-DYQ7uW5u.js +15 -0
  160. package/dist/llvm-uY68ROGz.js +3 -0
  161. package/dist/log-Dad54gsi.js +3 -0
  162. package/dist/logo-DTXV8SKw.js +3 -0
  163. package/dist/lua-BhkUWs1q.js +8 -0
  164. package/dist/luau-YC4aaMmR.js +3 -0
  165. package/dist/make-B2ukzWs3.js +3 -0
  166. package/dist/markdown-CkmxmzqY.js +3 -0
  167. package/dist/marko-BHWvxp04.js +15 -0
  168. package/dist/material-theme-C_YrwKEa.js +4 -0
  169. package/dist/material-theme-darker-DB3YVCla.js +4 -0
  170. package/dist/material-theme-lighter-D2fgNrBK.js +4 -0
  171. package/dist/material-theme-ocean-DVy172Rs.js +4 -0
  172. package/dist/material-theme-palenight-uMMwIfpG.js +4 -0
  173. package/dist/matlab-CfRK6IMC.js +3 -0
  174. package/dist/mdc-Dg7VPYLa.js +13 -0
  175. package/dist/mdx-BK9ZufRc.js +3 -0
  176. package/dist/mermaid-r7OoIYpE.js +3 -0
  177. package/dist/min-dark-C7Ec8I_2.js +4 -0
  178. package/dist/min-light-Be6foA7m.js +4 -0
  179. package/dist/mipsasm-EL46Y4Xg.js +3 -0
  180. package/dist/mojo-YCzvCoMT.js +3 -0
  181. package/dist/monokai-CREPpJ3k.js +4 -0
  182. package/dist/moonbit-B_9L5rST.js +3 -0
  183. package/dist/move-Dqi5fhOb.js +3 -0
  184. package/dist/narrat-D9rrR0H5.js +3 -0
  185. package/dist/nextflow-CgUAk9iA.js +6 -0
  186. package/dist/nextflow-groovy-CdFFX-gF.js +3 -0
  187. package/dist/nginx-Q-E8IJvs.js +6 -0
  188. package/dist/night-owl-CqqbiLON.js +4 -0
  189. package/dist/night-owl-light-B9vYgGRt.js +4 -0
  190. package/dist/nim-CNcTuF14.js +21 -0
  191. package/dist/nix-Bm1Ax-Z3.js +7 -0
  192. package/dist/nord-BZ9DVmcN.js +4 -0
  193. package/dist/nushell-r7hBzeS_.js +3 -0
  194. package/dist/nuxt.d.ts +10 -0
  195. package/dist/nuxt.js +43 -0
  196. package/dist/objective-c-6dJF64Dt.js +3 -0
  197. package/dist/objective-cpp-_ooRQ-PY.js +3 -0
  198. package/dist/ocaml-vm1Y8An6.js +3 -0
  199. package/dist/odin-vjOJSyfV.js +3 -0
  200. package/dist/one-dark-pro-Ev8UPkf4.js +4 -0
  201. package/dist/one-light-CzxBC38_.js +4 -0
  202. package/dist/openscad-jn-f1Ocl.js +3 -0
  203. package/dist/pascal-D8-gNZ2I.js +3 -0
  204. package/dist/perl-Bbgb6Twx.js +17 -0
  205. package/dist/php-CBOR45_G.js +19 -0
  206. package/dist/pierre-code-view-DYpF5M8R.js +27928 -0
  207. package/dist/pierre-dark-DDWDl8g6.js +4 -0
  208. package/dist/pierre-dark-protanopia-deuteranopia-C35UMuvO.js +4 -0
  209. package/dist/pierre-dark-soft-Bb-4-biO.js +4 -0
  210. package/dist/pierre-dark-tritanopia-CIJISGWF.js +4 -0
  211. package/dist/pierre-dark-vibrant-8oZzB3gw.js +4 -0
  212. package/dist/pierre-light-CWhW4NrH.js +4 -0
  213. package/dist/pierre-light-protanopia-deuteranopia-u0U7N4Hn.js +4 -0
  214. package/dist/pierre-light-soft-BCU6fuhO.js +4 -0
  215. package/dist/pierre-light-tritanopia-3c8Yx3co.js +4 -0
  216. package/dist/pierre-light-vibrant-Cwh332o_.js +4 -0
  217. package/dist/pkl-C7lWzykI.js +3 -0
  218. package/dist/plastic-BGkJ2das.js +4 -0
  219. package/dist/plsql-DCNXypXO.js +3 -0
  220. package/dist/po-IjpR1yHO.js +3 -0
  221. package/dist/poimandres-CpnMgZuc.js +4 -0
  222. package/dist/polar-4pN1JrJ8.js +3 -0
  223. package/dist/postcss-D1gKt4z_.js +3 -0
  224. package/dist/powerquery-SrvS_NBM.js +3 -0
  225. package/dist/powershell-CpTLv_ai.js +3 -0
  226. package/dist/prisma-BWfa4-tI.js +3 -0
  227. package/dist/prolog-Bacii3Ue.js +3 -0
  228. package/dist/proto-ClkOcAW0.js +3 -0
  229. package/dist/pug-Cn_U_o_I.js +13 -0
  230. package/dist/puppet-CQlPp728.js +3 -0
  231. package/dist/purescript-CLpaGMbw.js +3 -0
  232. package/dist/python-BjnOIxPe.js +3 -0
  233. package/dist/qml-DNlrbxJT.js +6 -0
  234. package/dist/qmldir-Dz8ttxjf.js +3 -0
  235. package/dist/qss-Iltvkn1C.js +3 -0
  236. package/dist/r-VqTZMNY_.js +6 -0
  237. package/dist/racket-DRv7j6nv.js +3 -0
  238. package/dist/raku-DI9yGpeW.js +3 -0
  239. package/dist/razor-Bw2un3e8.js +11 -0
  240. package/dist/red-EHiRGXSv.js +4 -0
  241. package/dist/reg-DpJf71oO.js +3 -0
  242. package/dist/regexp-5HbFqwky.js +6 -0
  243. package/dist/rel-BT0iIKKw.js +3 -0
  244. package/dist/riscv-CvzikGLb.js +3 -0
  245. package/dist/ron-DzAo6FTJ.js +3 -0
  246. package/dist/rose-pine-DTI-z1Qp.js +4 -0
  247. package/dist/rose-pine-dawn-BIiGXpWs.js +4 -0
  248. package/dist/rose-pine-moon-DU4wt90U.js +4 -0
  249. package/dist/rosmsg-CyYq6XdT.js +3 -0
  250. package/dist/rst-BZPDb03W.js +23 -0
  251. package/dist/ruby-BbVp0_gQ.js +31 -0
  252. package/dist/runtime/nuxt-plugin.d.ts +4 -0
  253. package/dist/runtime/nuxt-plugin.js +9 -0
  254. package/dist/rust-COBzcmTx.js +3 -0
  255. package/dist/sas-DSkdG4wF.js +6 -0
  256. package/dist/sass-DI2zJwx7.js +3 -0
  257. package/dist/scala-CtSYTRYT.js +3 -0
  258. package/dist/scheme-D3A2QBtM.js +3 -0
  259. package/dist/scss-BQ7uffpQ.js +8 -0
  260. package/dist/sdbl-CdQg5gu1.js +3 -0
  261. package/dist/shaderlab-CWP9wBCf.js +6 -0
  262. package/dist/shellscript-B42c0JAn.js +6 -0
  263. package/dist/shellsession-Oc9-NqAv.js +6 -0
  264. package/dist/slack-dark-BS2AOOdo.js +4 -0
  265. package/dist/slack-ochin-Nc7Cucwk.js +4 -0
  266. package/dist/smalltalk-BEQkVl4K.js +3 -0
  267. package/dist/snazzy-light-C2ghKZXY.js +4 -0
  268. package/dist/solarized-dark-UHgjRWhr.js +4 -0
  269. package/dist/solarized-light-B-Zcwve2.js +4 -0
  270. package/dist/solidity-lB9VjfB9.js +3 -0
  271. package/dist/soy-tgh9u9aW.js +6 -0
  272. package/dist/sparql-B4t0ZbEe.js +6 -0
  273. package/dist/splunk-xP_ZjUH2.js +3 -0
  274. package/dist/sql-CrPlEQn4.js +6 -0
  275. package/dist/ssh-config-DXFPABYp.js +3 -0
  276. package/dist/stata-D_KqT8cj.js +6 -0
  277. package/dist/styles.css +2562 -0
  278. package/dist/stylus-ZZDn1yUO.js +3 -0
  279. package/dist/surrealql-C0KhgoyZ.js +6 -0
  280. package/dist/svelte-DuHT0xxw.js +15 -0
  281. package/dist/swift-BTPQlRLK.js +3 -0
  282. package/dist/synthwave-84-CPtGYwOz.js +4 -0
  283. package/dist/system-verilog-BEoxaBuU.js +3 -0
  284. package/dist/systemd-DFbUltlW.js +3 -0
  285. package/dist/talonscript-CLxaFu-b.js +3 -0
  286. package/dist/tasl-_AAbKiWM.js +3 -0
  287. package/dist/tcl-DLe0Tsfm.js +3 -0
  288. package/dist/templ-DF54artD.js +13 -0
  289. package/dist/terraform-v0KN9QQh.js +3 -0
  290. package/dist/tex-Bbhb8xAP.js +6 -0
  291. package/dist/tokyo-night-BKYoawWu.js +4 -0
  292. package/dist/toml-B7BHZIqX.js +3 -0
  293. package/dist/ts-tags-DH1AB-Ri.js +59 -0
  294. package/dist/tsv-BorGVq2Z.js +3 -0
  295. package/dist/tsx-BR8s1Lhs.js +6 -0
  296. package/dist/turtle-BEG5g_eT.js +3 -0
  297. package/dist/twig-DziFF7iU.js +19 -0
  298. package/dist/typescript-D8TR6ff2.js +6 -0
  299. package/dist/typespec-C_R5TbvO.js +3 -0
  300. package/dist/typst-BV9w0z8-.js +3 -0
  301. package/dist/v-DfbeXLo8.js +3 -0
  302. package/dist/vala-BnnASFsX.js +3 -0
  303. package/dist/vb-DU29mvss.js +3 -0
  304. package/dist/verilog-BW5U03XW.js +3 -0
  305. package/dist/vesper-ClvmKzqD.js +4 -0
  306. package/dist/vhdl-Co2XFKY7.js +3 -0
  307. package/dist/viml-BReTXeDA.js +3 -0
  308. package/dist/vite.d.ts +12 -0
  309. package/dist/vite.js +12 -0
  310. package/dist/vitesse-black-BY6Qtyq-.js +4 -0
  311. package/dist/vitesse-dark-BT-v_EgR.js +4 -0
  312. package/dist/vitesse-light-Box8ZFz6.js +4 -0
  313. package/dist/vue-BRy8iDCZ.js +31 -0
  314. package/dist/vue-html-B24bjO_3.js +6 -0
  315. package/dist/vue-vine-l7O7Mg81.js +19 -0
  316. package/dist/vyper-C6KGx0YU.js +3 -0
  317. package/dist/wasm-BRCjOXGL.js +7 -0
  318. package/dist/wasm-gNIKwGlD.js +3 -0
  319. package/dist/wenyan-BeysbCrW.js +3 -0
  320. package/dist/wgsl-1s5rV5xS.js +3 -0
  321. package/dist/wikitext-wjhjmmzD.js +3 -0
  322. package/dist/wit-CeQiCbz_.js +3 -0
  323. package/dist/wolfram-CcZPfnLd.js +3 -0
  324. package/dist/xml-CduVPlYa.js +8 -0
  325. package/dist/xsl-BeH_vLTK.js +6 -0
  326. package/dist/yaml-Cb0uRU1q.js +6 -0
  327. package/dist/zenscript-BoijL7rl.js +3 -0
  328. package/dist/zig-lTQvxhLD.js +3 -0
  329. package/package.json +98 -0
@@ -0,0 +1,2562 @@
1
+ :root {
2
+ --vh-ui-radius: var(--ui-radius, 0.5rem);
3
+ --vh-ui-border: var(--ui-border, color-mix(in oklab, currentColor 14%, transparent));
4
+ --vh-ui-muted: var(--ui-text-muted, color-mix(in oklab, currentColor 68%, transparent));
5
+ --vh-ui-dimmed: var(--ui-text-muted, color-mix(in oklab, currentColor 68%, transparent));
6
+ --vh-ui-text: var(--ui-text, currentColor);
7
+ --vh-ui-bg: var(--ui-bg, Canvas);
8
+ --vh-ui-bg-muted: var(--ui-bg-muted, color-mix(in oklab, Canvas 94%, currentColor));
9
+ --vh-ui-bg-elevated: var(--ui-bg-elevated, color-mix(in oklab, Canvas 96%, currentColor));
10
+ --vh-ui-error: var(--ui-error, #df3030);
11
+ --vh-ui-info: var(--ui-info, #2563eb);
12
+ --vh-ui-success: var(--ui-success, #16a34a);
13
+ --vh-ui-warning: var(--ui-warning, #ad6500);
14
+ }
15
+
16
+ .vh-chat {
17
+ min-height: 0;
18
+ position: relative;
19
+ }
20
+
21
+ .vh-session {
22
+ display: grid;
23
+ grid-template-rows: auto minmax(0, 1fr) auto;
24
+ min-height: 0;
25
+ }
26
+
27
+ .vh-session__header {
28
+ border-block-end: 1px solid var(--vh-ui-border);
29
+ padding: 0.75rem 1rem;
30
+ }
31
+
32
+ .vh-session__title {
33
+ font-size: 0.9375rem;
34
+ font-weight: 600;
35
+ margin: 0;
36
+ }
37
+
38
+ .vh-session__chat {
39
+ min-height: 0;
40
+ }
41
+
42
+ .vh-chat__viewport {
43
+ height: 100%;
44
+ min-height: 0;
45
+ overflow-y: auto;
46
+ overscroll-behavior-y: contain;
47
+ scrollbar-gutter: stable;
48
+ }
49
+
50
+ .vh-chat__content {
51
+ display: flex;
52
+ flex-direction: column;
53
+ gap: 1.25rem;
54
+ margin-inline: auto;
55
+ max-width: 48rem;
56
+ min-height: 100%;
57
+ padding: var(--vh-chat-content-padding, 1.5rem 1rem 6rem);
58
+ }
59
+
60
+ .vh-chat__composer {
61
+ bottom: 0;
62
+ inset-inline: 0;
63
+ padding: var(--vh-chat-composer-padding, 2rem 1rem 1rem);
64
+ pointer-events: none;
65
+ position: absolute;
66
+ z-index: 3;
67
+ }
68
+
69
+ .vh-chat__composer::before {
70
+ -webkit-backdrop-filter: blur(10px);
71
+ backdrop-filter: blur(10px);
72
+ background: linear-gradient(to bottom, transparent, color-mix(in oklab, var(--vh-ui-bg) 86%, transparent) 45%, var(--vh-ui-bg) 100%);
73
+ content: "";
74
+ inset: 0;
75
+ -webkit-mask-image: linear-gradient(to bottom, transparent, black 2rem);
76
+ mask-image: linear-gradient(to bottom, transparent, black 2rem);
77
+ pointer-events: none;
78
+ position: absolute;
79
+ }
80
+
81
+ .vh-chat__composer > * {
82
+ pointer-events: auto;
83
+ position: relative;
84
+ }
85
+
86
+ .vh-chat:has(.vh-chat__composer) .vh-chat__scroll-button {
87
+ bottom: var(--vh-chat-scroll-button-offset, 7rem);
88
+ }
89
+
90
+ .vh-chat__scroll-button {
91
+ align-items: center;
92
+ -webkit-backdrop-filter: blur(12px) saturate(1.14);
93
+ backdrop-filter: blur(12px) saturate(1.14);
94
+ background: color-mix(in srgb, var(--vh-ui-bg) 80%, transparent);
95
+ border: 1px solid var(--vh-ui-border);
96
+ border-radius: 999px;
97
+ bottom: 1rem;
98
+ box-shadow: 0 1px 3px color-mix(in oklab, black 12%, transparent);
99
+ color: var(--vh-ui-muted);
100
+ cursor: pointer;
101
+ display: flex;
102
+ gap: 0.375rem;
103
+ justify-content: center;
104
+ left: 50%;
105
+ padding-inline: 0.75rem;
106
+ position: absolute;
107
+ transform: translateX(-50%);
108
+ white-space: nowrap;
109
+ width: auto;
110
+ z-index: 2;
111
+ }
112
+
113
+ .vh-chat__scroll-button:hover {
114
+ color: var(--vh-ui-text);
115
+ }
116
+
117
+ @supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
118
+ .vh-chat__scroll-button {
119
+ background: var(--vh-ui-bg);
120
+ }
121
+ }
122
+
123
+ .vh-message-parts {
124
+ display: flex;
125
+ flex-direction: column;
126
+ gap: 0.75rem;
127
+ min-width: 0;
128
+ }
129
+
130
+ .vh-typeset {
131
+ --vh-typeset-flow: 0.85em;
132
+ --vh-typeset-leading: 1.65;
133
+ font-size: 0.9375rem;
134
+ line-height: var(--vh-typeset-leading);
135
+ min-width: 0;
136
+ overflow-wrap: anywhere;
137
+ }
138
+
139
+ .vh-typeset > * {
140
+ margin-block: 0;
141
+ }
142
+
143
+ .vh-typeset > * + * {
144
+ margin-block-start: var(--vh-typeset-flow);
145
+ }
146
+
147
+ .vh-typeset :where(h1, h2, h3, h4) {
148
+ font-weight: 650;
149
+ letter-spacing: -0.015em;
150
+ line-height: 1.3;
151
+ margin-block-start: 1.35em;
152
+ }
153
+
154
+ .vh-typeset :where(h1) {
155
+ font-size: 1.35em;
156
+ }
157
+ .vh-typeset :where(h2) {
158
+ font-size: 1.2em;
159
+ }
160
+ .vh-typeset :where(h3, h4) {
161
+ font-size: 1.05em;
162
+ }
163
+
164
+ .vh-typeset :where(ul, ol) {
165
+ padding-inline-start: 1.25rem;
166
+ }
167
+
168
+ .vh-typeset ul {
169
+ list-style-type: disc;
170
+ }
171
+
172
+ .vh-typeset ol {
173
+ list-style-type: decimal;
174
+ }
175
+
176
+ .vh-typeset li + li {
177
+ margin-block-start: 0.25em;
178
+ }
179
+
180
+ .vh-typeset :where(code):not(pre code) {
181
+ background: color-mix(in oklab, currentColor 8%, transparent);
182
+ border: 1px solid color-mix(in oklab, currentColor 10%, transparent);
183
+ border-radius: calc(var(--vh-ui-radius) * 0.65);
184
+ font-size: 0.875em;
185
+ padding: 0.1em 0.35em;
186
+ }
187
+
188
+ .vh-typeset :where(pre) {
189
+ border: 1px solid var(--vh-ui-border);
190
+ border-radius: var(--vh-ui-radius);
191
+ max-width: 100%;
192
+ overflow: auto;
193
+ padding: 0.875rem 1rem;
194
+ }
195
+
196
+ .vh-typeset :where(blockquote) {
197
+ border-inline-start: 2px solid var(--vh-ui-border);
198
+ color: var(--vh-ui-muted);
199
+ padding-inline-start: 1rem;
200
+ }
201
+
202
+ .vh-typeset :where(a) {
203
+ text-decoration: underline;
204
+ text-decoration-color: color-mix(in oklab, currentColor 35%, transparent);
205
+ text-underline-offset: 0.2em;
206
+ }
207
+
208
+ .vh-typeset-chat > :first-child {
209
+ margin-block-start: 0;
210
+ }
211
+ .vh-typeset-chat[data-streaming] {
212
+ contain: layout style;
213
+ }
214
+
215
+ .vh-attachment,
216
+ .vh-prompt__attachment {
217
+ align-items: center;
218
+ background: var(--vh-ui-bg-elevated);
219
+ border: 1px solid var(--vh-ui-border);
220
+ border-radius: var(--vh-ui-radius);
221
+ color: inherit;
222
+ display: inline-flex;
223
+ gap: 0.5rem;
224
+ max-width: 16rem;
225
+ padding: 0.375rem;
226
+ text-decoration: none;
227
+ }
228
+
229
+ .vh-attachment__preview {
230
+ aspect-ratio: 1;
231
+ border-radius: calc(var(--vh-ui-radius) * 0.7);
232
+ height: 2.5rem;
233
+ object-fit: cover;
234
+ }
235
+
236
+ .vh-attachment__name {
237
+ overflow: hidden;
238
+ text-overflow: ellipsis;
239
+ white-space: nowrap;
240
+ }
241
+
242
+ .vh-tool-value,
243
+ .vh-trace__attributes {
244
+ font-size: 0.75rem;
245
+ margin: 0;
246
+ max-height: 18rem;
247
+ overflow: auto;
248
+ white-space: pre-wrap;
249
+ }
250
+
251
+ .vh-prompt__attachments {
252
+ display: flex;
253
+ flex-wrap: wrap;
254
+ gap: 0.5rem;
255
+ }
256
+
257
+ .vh-prompt__attachment button {
258
+ appearance: none;
259
+ background: transparent;
260
+ border: 0;
261
+ color: var(--vh-ui-muted);
262
+ cursor: pointer;
263
+ font: inherit;
264
+ }
265
+
266
+ .vh-prompt__attachment--image {
267
+ border-radius: calc(var(--vh-ui-radius) * 1.25);
268
+ flex: 0 0 4rem;
269
+ height: 4rem;
270
+ overflow: hidden;
271
+ padding: 0;
272
+ position: relative;
273
+ width: 4rem;
274
+ }
275
+
276
+ .vh-prompt__attachment-preview {
277
+ height: 100%;
278
+ object-fit: cover;
279
+ width: 100%;
280
+ }
281
+
282
+ .vh-prompt__attachment--image button {
283
+ align-items: center;
284
+ background: color-mix(in oklab, black 65%, transparent);
285
+ border-radius: 9999px;
286
+ color: white;
287
+ display: flex;
288
+ height: 1.25rem;
289
+ justify-content: center;
290
+ line-height: 1;
291
+ position: absolute;
292
+ right: 0.25rem;
293
+ top: 0.25rem;
294
+ width: 1.25rem;
295
+ }
296
+
297
+ .vh-prompt__footer {
298
+ align-items: center;
299
+ display: flex;
300
+ gap: 0.5rem;
301
+ width: 100%;
302
+ }
303
+
304
+ .vh-prompt__spacer {
305
+ flex: 1;
306
+ }
307
+
308
+ .vh-trace {
309
+ border: 1px solid var(--vh-ui-border);
310
+ border-radius: var(--vh-ui-radius);
311
+ }
312
+
313
+ .vh-trace__trigger,
314
+ .vh-trace__step-heading {
315
+ align-items: center;
316
+ display: flex;
317
+ gap: 0.75rem;
318
+ justify-content: space-between;
319
+ }
320
+
321
+ .vh-trace__duration {
322
+ color: var(--vh-ui-dimmed);
323
+ font-size: 0.75rem;
324
+ }
325
+
326
+ .vh-trace__trigger {
327
+ appearance: none;
328
+ background: transparent;
329
+ border: 0;
330
+ color: inherit;
331
+ cursor: pointer;
332
+ padding: 0.75rem;
333
+ text-align: start;
334
+ width: 100%;
335
+ }
336
+
337
+ .vh-trace__title {
338
+ flex: 1;
339
+ }
340
+
341
+ .vh-trace__steps {
342
+ border-block-start: 1px solid var(--vh-ui-border);
343
+ display: grid;
344
+ }
345
+
346
+ .vh-trace__step {
347
+ padding: 0.75rem;
348
+ }
349
+
350
+ .vh-trace__step + .vh-trace__step {
351
+ border-block-start: 1px solid var(--vh-ui-border);
352
+ }
353
+
354
+ .vh-invocation-list {
355
+ min-height: 0;
356
+ min-width: 0;
357
+ overflow-y: auto;
358
+ overscroll-behavior-y: contain;
359
+ scrollbar-gutter: stable;
360
+ }
361
+
362
+ .vh-invocation-list ul {
363
+ display: grid;
364
+ gap: 0.125rem;
365
+ list-style: none;
366
+ margin: 0;
367
+ padding: 0;
368
+ }
369
+
370
+ .vh-invocation-list__groups {
371
+ display: grid;
372
+ gap: 0.25rem;
373
+ }
374
+
375
+ .vh-invocation-list__group {
376
+ min-width: 0;
377
+ }
378
+
379
+ .vh-invocation-list__group-heading {
380
+ align-items: center;
381
+ color: color-mix(in oklab, var(--vh-ui-muted) 88%, var(--vh-ui-text));
382
+ display: flex;
383
+ font-size: 0.6875rem;
384
+ font-weight: 650;
385
+ gap: 0.375rem;
386
+ letter-spacing: 0.04em;
387
+ min-height: 1.75rem;
388
+ padding: 0.25rem 0.75rem;
389
+ text-transform: uppercase;
390
+ user-select: none;
391
+ }
392
+
393
+ .vh-invocation-list__group--collapsible > summary {
394
+ cursor: pointer;
395
+ list-style: none;
396
+ }
397
+
398
+ .vh-invocation-list__group--collapsible > summary::-webkit-details-marker {
399
+ display: none;
400
+ }
401
+
402
+ .vh-invocation-list__group--collapsible > summary::before {
403
+ border-block-end: 1.5px solid currentColor;
404
+ border-inline-end: 1.5px solid currentColor;
405
+ content: "";
406
+ flex: none;
407
+ height: 0.375rem;
408
+ margin-inline: 0.125rem 0.25rem;
409
+ transform: rotate(-45deg);
410
+ width: 0.375rem;
411
+ }
412
+
413
+ .vh-invocation-list__group--collapsible[open] > summary::before {
414
+ transform: rotate(45deg) translateY(-0.0625rem);
415
+ }
416
+
417
+ .vh-invocation-list__group--collapsible > summary:hover {
418
+ color: var(--vh-ui-text);
419
+ }
420
+
421
+ .vh-invocation-list__group--collapsible > summary:focus-visible {
422
+ border-radius: calc(var(--vh-ui-radius) * 0.8);
423
+ outline: 2px solid color-mix(in oklab, var(--ui-primary, #2563eb) 52%, transparent);
424
+ outline-offset: -2px;
425
+ }
426
+
427
+ .vh-invocation-list__group-label {
428
+ flex: 1;
429
+ min-width: 0;
430
+ }
431
+
432
+ .vh-invocation-list__group-count {
433
+ color: var(--vh-ui-dimmed);
434
+ font-variant-numeric: tabular-nums;
435
+ font-weight: 550;
436
+ letter-spacing: 0;
437
+ }
438
+
439
+ .vh-invocation-list ul.vh-invocation-list__virtual {
440
+ display: block;
441
+ position: relative;
442
+ width: 100%;
443
+ }
444
+
445
+ .vh-invocation-list__virtual > li {
446
+ inset-inline: 0;
447
+ padding-block-end: 0.125rem;
448
+ position: absolute;
449
+ top: 0;
450
+ }
451
+
452
+ .vh-invocation-list__item {
453
+ appearance: none;
454
+ background: transparent;
455
+ border: 0;
456
+ border-radius: calc(var(--vh-ui-radius) * 1.15);
457
+ box-sizing: border-box;
458
+ color: inherit;
459
+ cursor: pointer;
460
+ display: grid;
461
+ gap: 0.3rem;
462
+ height: 100%;
463
+ min-height: 4.875rem;
464
+ padding: 0.65rem 0.75rem;
465
+ text-align: start;
466
+ transition: background-color 120ms ease, color 120ms ease;
467
+ width: 100%;
468
+ }
469
+
470
+ .vh-invocation-list__virtual .vh-invocation-list__item {
471
+ grid-template-rows: repeat(4, minmax(0, auto));
472
+ overflow: hidden;
473
+ }
474
+
475
+ .vh-invocation-list__item:hover {
476
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 72%, transparent);
477
+ }
478
+
479
+ .vh-invocation-list__item:focus-visible {
480
+ outline: 2px solid color-mix(in oklab, var(--ui-primary, #2563eb) 52%, transparent);
481
+ outline-offset: -2px;
482
+ }
483
+
484
+ .vh-invocation-list__item[aria-current="true"] {
485
+ background: var(--ui-bg-elevated, var(--vh-ui-bg-elevated));
486
+ box-shadow: inset 0 0 0 1px var(--vh-ui-border);
487
+ }
488
+
489
+ .vh-invocation-list__context,
490
+ .vh-invocation-list__state,
491
+ .vh-invocation-list__meta,
492
+ .vh-invocation-list__harness {
493
+ align-items: center;
494
+ display: flex;
495
+ min-width: 0;
496
+ }
497
+
498
+ .vh-invocation-list__context {
499
+ color: color-mix(in oklab, var(--vh-ui-muted) 88%, var(--vh-ui-text));
500
+ gap: 0.4rem;
501
+ }
502
+
503
+ .vh-invocation-list__project-icon,
504
+ .vh-invocation-list__state-icon {
505
+ align-items: center;
506
+ display: inline-flex;
507
+ flex: none;
508
+ justify-content: center;
509
+ }
510
+
511
+ .vh-invocation-list__project-icon svg {
512
+ height: 1rem;
513
+ stroke: currentColor;
514
+ stroke-width: 1.75;
515
+ width: 1rem;
516
+ }
517
+
518
+ .vh-invocation-list__project {
519
+ flex: 1;
520
+ font-size: 0.75rem;
521
+ min-width: 0;
522
+ overflow: hidden;
523
+ text-overflow: ellipsis;
524
+ white-space: nowrap;
525
+ }
526
+
527
+ .vh-invocation-list__state {
528
+ color: color-mix(in oklab, var(--vh-ui-muted) 88%, var(--vh-ui-text));
529
+ flex: none;
530
+ font-size: 0.6875rem;
531
+ gap: 0.3rem;
532
+ }
533
+
534
+ .vh-invocation-list__state time {
535
+ color: color-mix(in oklab, currentColor 82%, var(--vh-ui-text));
536
+ }
537
+
538
+ .vh-invocation-list__state-icon svg {
539
+ height: 0.875rem;
540
+ stroke: currentColor;
541
+ stroke-width: 1.8;
542
+ width: 0.875rem;
543
+ }
544
+
545
+ .vh-invocation-list__item[data-status="running"] .vh-invocation-list__state {
546
+ color: color-mix(in oklab, var(--vh-ui-info) 42%, var(--vh-ui-text));
547
+ }
548
+
549
+ .vh-invocation-list__item[data-status="running"] .vh-invocation-list__state-icon svg {
550
+ animation: vh-invocation-status-spin 800ms linear infinite;
551
+ }
552
+
553
+ @keyframes vh-invocation-status-spin {
554
+ to {
555
+ transform: rotate(360deg);
556
+ }
557
+ }
558
+
559
+ .vh-invocation-list__item[data-status="completed"] .vh-invocation-list__state {
560
+ color: color-mix(in oklab, var(--vh-ui-success) 42%, var(--vh-ui-text));
561
+ }
562
+
563
+ .vh-invocation-list__item[data-status="failed"] .vh-invocation-list__state,
564
+ .vh-invocation-list__item[data-status="failed"] .vh-invocation-list__description {
565
+ color: color-mix(in oklab, var(--vh-ui-error) 42%, var(--vh-ui-text));
566
+ }
567
+
568
+ .vh-invocation-list__title {
569
+ font-size: 0.875rem;
570
+ font-weight: 560;
571
+ line-height: 1.35;
572
+ overflow: hidden;
573
+ text-overflow: ellipsis;
574
+ white-space: nowrap;
575
+ }
576
+
577
+ .vh-invocation-list__meta {
578
+ color: color-mix(in oklab, var(--vh-ui-muted) 88%, var(--vh-ui-text));
579
+ font-size: 0.6875rem;
580
+ gap: 0.5rem;
581
+ }
582
+
583
+ .vh-invocation-list__branch {
584
+ flex: 1;
585
+ min-width: 0;
586
+ overflow: hidden;
587
+ text-overflow: ellipsis;
588
+ white-space: nowrap;
589
+ }
590
+
591
+ .vh-invocation-list__harness {
592
+ flex: none;
593
+ gap: 0.25rem;
594
+ }
595
+
596
+ .vh-invocation-list__harness > span {
597
+ align-items: center;
598
+ display: inline-flex;
599
+ }
600
+
601
+ .vh-invocation-list__harness svg {
602
+ height: 0.9rem;
603
+ stroke: currentColor;
604
+ stroke-linecap: round;
605
+ stroke-linejoin: round;
606
+ stroke-width: 1.65;
607
+ width: 0.9rem;
608
+ }
609
+
610
+ .vh-invocation-list__description {
611
+ font-size: 0.6875rem;
612
+ overflow: hidden;
613
+ text-overflow: ellipsis;
614
+ white-space: nowrap;
615
+ }
616
+
617
+ .vh-invocation-list__empty,
618
+ .vh-invocation-list__loading {
619
+ color: var(--vh-ui-dimmed);
620
+ font-size: 0.8125rem;
621
+ margin: 1rem 0;
622
+ text-align: center;
623
+ }
624
+
625
+ .vh-invocation-list__loading {
626
+ background: color-mix(in oklab, var(--vh-ui-bg) 88%, transparent);
627
+ bottom: 0;
628
+ margin: 0;
629
+ padding: 0.6rem;
630
+ position: sticky;
631
+ }
632
+
633
+ .vh-invocation-session {
634
+ background: var(--vh-ui-bg);
635
+ container-type: inline-size;
636
+ display: grid;
637
+ grid-template-rows: auto minmax(0, 1fr);
638
+ height: 100%;
639
+ min-height: 0;
640
+ min-width: 0;
641
+ overflow: hidden;
642
+ }
643
+
644
+ .vh-invocation-session--headerless {
645
+ grid-template-rows: minmax(0, 1fr);
646
+ }
647
+
648
+ .vh-invocation-header {
649
+ align-items: center;
650
+ border-block-end: 1px solid var(--vh-ui-border);
651
+ display: flex;
652
+ gap: 0.75rem;
653
+ justify-content: space-between;
654
+ min-height: 3.25rem;
655
+ padding: 0.55rem 0.8rem;
656
+ }
657
+
658
+ .vh-invocation-header__breadcrumb {
659
+ align-items: center;
660
+ display: flex;
661
+ gap: 0.55rem;
662
+ min-width: 0;
663
+ }
664
+
665
+ .vh-invocation-header__project-icon {
666
+ align-items: center;
667
+ color: var(--vh-ui-muted);
668
+ display: inline-flex;
669
+ flex: none;
670
+ }
671
+
672
+ .vh-invocation-header__project-icon svg {
673
+ height: 1rem;
674
+ stroke: currentColor;
675
+ stroke-width: 1.75;
676
+ width: 1rem;
677
+ }
678
+
679
+ .vh-invocation-header__project,
680
+ .vh-invocation-header__separator {
681
+ color: var(--vh-ui-muted);
682
+ flex: none;
683
+ font-size: 0.8125rem;
684
+ }
685
+
686
+ .vh-invocation-header h2 {
687
+ font-size: 0.875rem;
688
+ font-weight: 600;
689
+ line-height: 1.35;
690
+ margin: 0;
691
+ min-width: 0;
692
+ overflow: hidden;
693
+ text-overflow: ellipsis;
694
+ white-space: nowrap;
695
+ }
696
+
697
+ .vh-invocation-thread {
698
+ height: 100%;
699
+ min-height: 0;
700
+ min-width: 0;
701
+ overflow-y: auto;
702
+ overscroll-behavior-y: contain;
703
+ scrollbar-gutter: stable;
704
+ }
705
+
706
+ .vh-invocation-thread__content {
707
+ margin-inline: auto;
708
+ max-width: 54rem;
709
+ min-height: 100%;
710
+ padding: 1.5rem 2rem 4rem;
711
+ }
712
+
713
+ .vh-invocation-session__error {
714
+ background: color-mix(in oklab, var(--vh-ui-error) 7%, transparent);
715
+ border: 1px solid color-mix(in oklab, var(--vh-ui-error) 22%, transparent);
716
+ border-radius: var(--vh-ui-radius);
717
+ color: var(--vh-ui-error);
718
+ display: grid;
719
+ font-size: 0.8125rem;
720
+ gap: 0.2rem;
721
+ margin-block-end: 1.5rem;
722
+ padding: 0.75rem 0.875rem;
723
+ }
724
+
725
+ .vh-invocation-activities {
726
+ display: flex;
727
+ flex-direction: column;
728
+ gap: 0.0625rem;
729
+ list-style: none;
730
+ margin: 0;
731
+ padding: 0;
732
+ }
733
+
734
+ .vh-invocation-message {
735
+ min-width: 0;
736
+ }
737
+
738
+ .vh-invocation-message[data-role="assistant"] {
739
+ padding: 0.125rem 0.25rem 0.5rem;
740
+ }
741
+
742
+ .vh-invocation-message[data-role="user"] {
743
+ background: var(--vh-ui-bg-elevated);
744
+ border-radius: 1rem;
745
+ margin-block: 0.5rem 1rem;
746
+ margin-inline-start: 20%;
747
+ padding: 0.75rem;
748
+ }
749
+
750
+ .vh-invocation-message__body {
751
+ font-size: 0.9375rem;
752
+ line-height: 1.65;
753
+ }
754
+
755
+ .vh-invocation-message__content {
756
+ min-width: 0;
757
+ }
758
+
759
+ .vh-invocation-message__content[data-collapsed="true"] {
760
+ -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 1.75rem), transparent);
761
+ mask-image: linear-gradient(to bottom, black calc(100% - 1.75rem), transparent);
762
+ max-height: 10.5rem;
763
+ overflow: hidden;
764
+ }
765
+
766
+ .vh-invocation-message__more {
767
+ appearance: none;
768
+ background: transparent;
769
+ border: 0;
770
+ color: var(--vh-ui-muted);
771
+ cursor: pointer;
772
+ font: inherit;
773
+ font-size: 0.75rem;
774
+ margin-block-start: 0.35rem;
775
+ padding: 0;
776
+ text-decoration: underline dotted;
777
+ text-underline-offset: 0.25rem;
778
+ }
779
+
780
+ .vh-invocation-message__more:hover,
781
+ .vh-invocation-message__more:focus-visible {
782
+ color: var(--vh-ui-text);
783
+ }
784
+
785
+ .vh-invocation-message[data-role="assistant"] .vh-invocation-message__body,
786
+ .vh-invocation-message[data-role="user"] .vh-invocation-message__body {
787
+ --vh-typeset-flow: 0.65rem;
788
+ font-size: 0.875rem;
789
+ line-height: 1.625;
790
+ }
791
+
792
+ .vh-invocation-message[data-role="assistant"] .vh-invocation-message__body {
793
+ margin-inline: 0;
794
+ padding-inline: 0;
795
+ }
796
+
797
+ .vh-invocation-event {
798
+ border-radius: 0.375rem;
799
+ color: var(--vh-ui-muted);
800
+ }
801
+
802
+ .vh-invocation-activity[data-kind="system"] {
803
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 52%, transparent);
804
+ border: 1px solid var(--vh-ui-border);
805
+ border-radius: calc(var(--vh-ui-radius) * 1.1);
806
+ margin-block: 0.3rem;
807
+ padding: 0.4rem 0.5rem;
808
+ }
809
+
810
+ .vh-invocation-preparation {
811
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 28%, transparent);
812
+ border: 1px solid var(--vh-ui-border);
813
+ border-radius: calc(var(--vh-ui-radius) * 1.1);
814
+ list-style: none;
815
+ margin-block: 0.3rem 1rem;
816
+ overflow: hidden;
817
+ }
818
+
819
+ .vh-invocation-preparation__details,
820
+ .vh-invocation-preparation__summary {
821
+ width: 100%;
822
+ }
823
+
824
+ .vh-invocation-preparation__summary {
825
+ align-items: center;
826
+ color: var(--vh-ui-muted);
827
+ cursor: pointer;
828
+ display: flex;
829
+ gap: 0.25rem;
830
+ list-style: none;
831
+ min-height: 1.75rem;
832
+ padding: 0.125rem 0.375rem;
833
+ user-select: none;
834
+ }
835
+
836
+ .vh-invocation-preparation__summary::-webkit-details-marker {
837
+ display: none;
838
+ }
839
+
840
+ .vh-invocation-preparation__summary:focus-visible {
841
+ outline: 2px solid color-mix(in oklab, var(--ui-primary, #2563eb) 55%, transparent);
842
+ outline-offset: -2px;
843
+ }
844
+
845
+ .vh-invocation-preparation__summary > strong {
846
+ color: var(--vh-ui-text);
847
+ flex: 0 0 auto;
848
+ font-size: 0.75rem;
849
+ font-weight: 550;
850
+ }
851
+
852
+ .vh-invocation-preparation__summary > code {
853
+ color: var(--vh-ui-dimmed);
854
+ flex: 1;
855
+ font-size: 0.6875rem;
856
+ min-width: 0;
857
+ overflow: hidden;
858
+ text-overflow: ellipsis;
859
+ white-space: nowrap;
860
+ }
861
+
862
+ .vh-invocation-preparation__summary > small {
863
+ color: var(--vh-ui-dimmed);
864
+ flex: 0 0 auto;
865
+ font-size: 0.625rem;
866
+ }
867
+
868
+ .vh-invocation-preparation__disclosure {
869
+ height: 0.75rem;
870
+ opacity: 0.65;
871
+ stroke: currentColor;
872
+ stroke-width: 2;
873
+ transition: transform 140ms ease;
874
+ width: 0.75rem;
875
+ }
876
+
877
+ .vh-invocation-preparation__details[open] .vh-invocation-preparation__disclosure {
878
+ transform: rotate(180deg);
879
+ }
880
+
881
+ .vh-invocation-preparation__steps {
882
+ display: grid;
883
+ list-style: none;
884
+ margin: 0;
885
+ padding: 0 0 0.1875rem;
886
+ }
887
+
888
+ .vh-invocation-preparation__steps > li {
889
+ align-items: center;
890
+ color: var(--vh-ui-muted);
891
+ display: grid;
892
+ gap: 0.25rem;
893
+ grid-template-columns: auto auto minmax(0, 1fr) auto;
894
+ min-height: 1.5rem;
895
+ padding: 0 0.375rem;
896
+ }
897
+
898
+ .vh-invocation-preparation__body,
899
+ .vh-invocation-preparation__steps .vh-invocation-event__notice {
900
+ grid-column: 2 / -1;
901
+ margin: 0 0 0.375rem;
902
+ }
903
+
904
+ .vh-invocation-preparation__body {
905
+ color: var(--vh-ui-dimmed);
906
+ font-size: 0.75rem;
907
+ white-space: pre-wrap;
908
+ }
909
+
910
+ .vh-invocation-preparation__steps strong {
911
+ color: var(--vh-ui-text);
912
+ flex: 0 0 auto;
913
+ font-size: 0.75rem;
914
+ font-weight: 500;
915
+ }
916
+
917
+ .vh-invocation-preparation__steps code {
918
+ color: var(--vh-ui-dimmed);
919
+ flex: 0 1 auto;
920
+ font-size: 0.6875rem;
921
+ min-width: 0;
922
+ overflow: hidden;
923
+ text-overflow: ellipsis;
924
+ white-space: nowrap;
925
+ }
926
+
927
+ .vh-invocation-preparation__context {
928
+ align-items: center;
929
+ color: var(--vh-ui-dimmed);
930
+ display: inline-flex;
931
+ flex: 0 1 auto;
932
+ font-size: 0.6875rem;
933
+ gap: 0.25rem;
934
+ min-width: 0;
935
+ overflow: hidden;
936
+ white-space: nowrap;
937
+ }
938
+
939
+ .vh-invocation-preparation__summary > .vh-invocation-preparation__context {
940
+ flex: 1;
941
+ }
942
+
943
+ .vh-invocation-preparation__context code {
944
+ flex: 0 1 auto;
945
+ }
946
+
947
+ .vh-invocation-preparation__context a {
948
+ color: inherit;
949
+ flex: 0 0 auto;
950
+ text-decoration: none;
951
+ }
952
+
953
+ .vh-invocation-preparation__context a:hover,
954
+ .vh-invocation-preparation__context a:focus-visible {
955
+ color: var(--vh-ui-text);
956
+ text-decoration: underline;
957
+ text-underline-offset: 0.2em;
958
+ }
959
+
960
+ .vh-invocation-preparation__action {
961
+ align-items: center;
962
+ appearance: none;
963
+ background: transparent;
964
+ border: 0;
965
+ border-radius: 0.25rem;
966
+ color: var(--vh-ui-muted);
967
+ cursor: pointer;
968
+ display: inline-flex;
969
+ flex: 0 0 1.25rem;
970
+ height: 1.25rem;
971
+ justify-content: center;
972
+ padding: 0;
973
+ text-decoration: none;
974
+ width: 1.25rem;
975
+ }
976
+
977
+ .vh-invocation-preparation__action:hover,
978
+ .vh-invocation-preparation__action:focus-visible {
979
+ color: var(--vh-ui-text);
980
+ outline: none;
981
+ }
982
+
983
+ .vh-invocation-preparation__action .vh-invocation-event__icon {
984
+ height: 1rem;
985
+ width: 1rem;
986
+ }
987
+
988
+ .vh-invocation-preparation__action .vh-invocation-event__icon svg {
989
+ height: 0.8rem;
990
+ width: 0.8rem;
991
+ }
992
+
993
+ .vh-invocation-activity[data-inspectable="true"] .vh-invocation-event__summary {
994
+ cursor: pointer;
995
+ }
996
+
997
+ .vh-invocation-lifecycle {
998
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 28%, transparent);
999
+ border: 1px solid var(--vh-ui-border);
1000
+ border-radius: calc(var(--vh-ui-radius) * 1.1);
1001
+ list-style: none;
1002
+ margin-block: 0.3rem 1rem;
1003
+ overflow: hidden;
1004
+ }
1005
+
1006
+ .vh-invocation-lifecycle__rows {
1007
+ display: grid;
1008
+ list-style: none;
1009
+ margin: 0;
1010
+ padding: 0.1875rem 0;
1011
+ }
1012
+
1013
+ .vh-invocation-lifecycle__rows > li {
1014
+ min-width: 0;
1015
+ }
1016
+
1017
+ .vh-invocation-lifecycle__row {
1018
+ align-items: center;
1019
+ appearance: none;
1020
+ background: transparent;
1021
+ border: 0;
1022
+ color: var(--vh-ui-muted);
1023
+ display: flex;
1024
+ font: inherit;
1025
+ gap: 0.25rem;
1026
+ min-height: 1.5rem;
1027
+ min-width: 0;
1028
+ padding: 0 0.375rem;
1029
+ text-align: start;
1030
+ width: 100%;
1031
+ }
1032
+
1033
+ button.vh-invocation-lifecycle__row {
1034
+ cursor: pointer;
1035
+ }
1036
+
1037
+ button.vh-invocation-lifecycle__row:hover,
1038
+ button.vh-invocation-lifecycle__row:focus-visible {
1039
+ color: var(--vh-ui-text);
1040
+ }
1041
+
1042
+ button.vh-invocation-lifecycle__row:focus-visible {
1043
+ outline: 1px solid color-mix(in oklab, var(--ui-primary, #2563eb) 55%, transparent);
1044
+ outline-offset: -1px;
1045
+ }
1046
+
1047
+ .vh-invocation-lifecycle__title {
1048
+ color: var(--vh-ui-text);
1049
+ flex: 0 0 auto;
1050
+ font-size: 0.75rem;
1051
+ font-weight: 500;
1052
+ }
1053
+
1054
+ .vh-invocation-lifecycle__detail {
1055
+ color: var(--vh-ui-dimmed);
1056
+ flex: 1;
1057
+ font-size: 0.6875rem;
1058
+ min-width: 0;
1059
+ overflow: hidden;
1060
+ text-overflow: ellipsis;
1061
+ white-space: nowrap;
1062
+ }
1063
+
1064
+ .vh-invocation-lifecycle__failure {
1065
+ color: var(--vh-ui-error);
1066
+ flex: 1;
1067
+ font-size: 0.6875rem;
1068
+ min-width: 0;
1069
+ }
1070
+
1071
+ .vh-invocation-lifecycle__emoji {
1072
+ align-items: center;
1073
+ display: inline-flex;
1074
+ flex: 0 0 1.25rem;
1075
+ font-size: 0.75rem;
1076
+ height: 1.25rem;
1077
+ justify-content: center;
1078
+ line-height: 1;
1079
+ width: 1.25rem;
1080
+ }
1081
+
1082
+ .vh-invocation-lifecycle__label {
1083
+ background: var(--vh-invocation-label-bg, var(--vh-ui-border));
1084
+ border: 1px solid color-mix(in srgb, var(--vh-invocation-label-bg, var(--vh-ui-border)) 80%, #000000);
1085
+ border-radius: 999px;
1086
+ color: var(--vh-invocation-label-fg, var(--vh-ui-text));
1087
+ flex: 0 1 auto;
1088
+ font-size: 0.625rem;
1089
+ font-weight: 550;
1090
+ line-height: 1rem;
1091
+ max-width: 100%;
1092
+ overflow: hidden;
1093
+ padding-inline: 0.4rem;
1094
+ text-overflow: ellipsis;
1095
+ white-space: nowrap;
1096
+ }
1097
+
1098
+ [data-slot="invocation"] [data-activity-id][data-selected="true"] {
1099
+ background: color-mix(in oklab, var(--vh-ui-info) 9%, transparent);
1100
+ border-radius: calc(var(--vh-ui-radius) * 0.85);
1101
+ outline: 2px solid color-mix(in oklab, var(--vh-ui-info) 42%, transparent);
1102
+ outline-offset: 2px;
1103
+ scroll-margin-block: 5rem;
1104
+ }
1105
+
1106
+ .vh-invocation-event__summary {
1107
+ align-items: center;
1108
+ border-radius: inherit;
1109
+ cursor: pointer;
1110
+ display: flex;
1111
+ gap: 0.375rem;
1112
+ min-height: 1.5rem;
1113
+ padding: 0.125rem;
1114
+ transition: background-color 140ms ease, color 140ms ease;
1115
+ }
1116
+
1117
+ button.vh-invocation-event__summary {
1118
+ appearance: none;
1119
+ background: transparent;
1120
+ border: 0;
1121
+ color: inherit;
1122
+ font: inherit;
1123
+ text-align: start;
1124
+ width: 100%;
1125
+ }
1126
+
1127
+ .vh-invocation-event__summary::-webkit-details-marker {
1128
+ display: none;
1129
+ }
1130
+
1131
+ .vh-invocation-event__summary:focus-visible {
1132
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 55%, transparent);
1133
+ color: inherit;
1134
+ outline: 1px solid color-mix(in oklab, var(--ui-primary, #2563eb) 55%, transparent);
1135
+ outline-offset: 1px;
1136
+ }
1137
+
1138
+ details.vh-invocation-event > .vh-invocation-event__summary:hover {
1139
+ color: var(--vh-ui-text);
1140
+ }
1141
+
1142
+ .vh-invocation-event__icon {
1143
+ align-items: center;
1144
+ display: inline-flex;
1145
+ flex: 0 0 1.25rem;
1146
+ height: 1.25rem;
1147
+ justify-content: center;
1148
+ position: relative;
1149
+ width: 1.25rem;
1150
+ }
1151
+
1152
+ .vh-invocation-event__icon svg {
1153
+ height: 0.875rem;
1154
+ opacity: 0.65;
1155
+ stroke: currentColor;
1156
+ stroke-width: 1.65;
1157
+ width: 0.875rem;
1158
+ }
1159
+
1160
+ .vh-invocation-event__icon[data-icon="activity"] > svg:first-child {
1161
+ stroke-width: 5;
1162
+ }
1163
+
1164
+ .vh-invocation-event__failure-icon {
1165
+ background: var(--vh-ui-bg);
1166
+ border-radius: 999px;
1167
+ bottom: -0.05rem;
1168
+ color: var(--vh-ui-text);
1169
+ height: 0.65rem !important;
1170
+ opacity: 0.86 !important;
1171
+ position: absolute;
1172
+ right: -0.05rem;
1173
+ stroke: none !important;
1174
+ width: 0.65rem !important;
1175
+ }
1176
+
1177
+ .vh-invocation-event__title {
1178
+ flex: none;
1179
+ font-size: 0.75rem;
1180
+ font-weight: 550;
1181
+ line-height: 1.25rem;
1182
+ }
1183
+
1184
+ .vh-invocation-event__suffix {
1185
+ color: var(--vh-ui-dimmed);
1186
+ flex: 1;
1187
+ font-size: 0.75rem;
1188
+ font-weight: 400;
1189
+ min-width: 0;
1190
+ overflow: hidden;
1191
+ text-overflow: ellipsis;
1192
+ white-space: nowrap;
1193
+ }
1194
+
1195
+ .vh-invocation-event__disclosure {
1196
+ color: var(--vh-ui-dimmed);
1197
+ flex: 0 0 0.75rem;
1198
+ height: 0.75rem;
1199
+ opacity: 0.65;
1200
+ transform: rotate(0);
1201
+ transition: opacity 140ms ease, transform 140ms ease;
1202
+ width: 0.75rem;
1203
+ }
1204
+
1205
+ .vh-invocation-event[open] .vh-invocation-event__disclosure {
1206
+ transform: rotate(180deg);
1207
+ }
1208
+
1209
+ .vh-invocation-work {
1210
+ margin-block-end: 1rem;
1211
+ padding-block-start: 0.25rem;
1212
+ }
1213
+
1214
+ .vh-invocation-work__details {
1215
+ color: var(--vh-ui-muted);
1216
+ }
1217
+
1218
+ .vh-invocation-work__summary {
1219
+ align-items: center;
1220
+ border-radius: 0.375rem;
1221
+ cursor: pointer;
1222
+ display: flex;
1223
+ gap: 0.25rem;
1224
+ line-height: 1.25rem;
1225
+ list-style: none;
1226
+ padding: 0 0.25rem;
1227
+ user-select: none;
1228
+ width: fit-content;
1229
+ }
1230
+
1231
+ .vh-invocation-work__summary::-webkit-details-marker {
1232
+ display: none;
1233
+ }
1234
+
1235
+ .vh-invocation-work__summary:focus-visible {
1236
+ box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--ui-primary, #2563eb) 70%, transparent);
1237
+ outline: none;
1238
+ }
1239
+
1240
+ .vh-invocation-work__divider {
1241
+ border-block-start: 1px solid color-mix(in oklab, var(--vh-ui-border) 60%, transparent);
1242
+ margin-block-start: 0.5rem;
1243
+ }
1244
+
1245
+ .vh-invocation-work__title {
1246
+ font-size: 0.75rem;
1247
+ font-variant-numeric: tabular-nums;
1248
+ }
1249
+
1250
+ .vh-invocation-work__disclosure {
1251
+ height: 0.875rem;
1252
+ opacity: 0.7;
1253
+ stroke: currentColor;
1254
+ stroke-width: 2;
1255
+ transition: transform 150ms ease;
1256
+ width: 0.875rem;
1257
+ }
1258
+
1259
+ .vh-invocation-work__details[open] .vh-invocation-work__disclosure {
1260
+ transform: rotate(180deg);
1261
+ }
1262
+
1263
+ .vh-invocation-work__activities {
1264
+ display: flex;
1265
+ flex-direction: column;
1266
+ gap: 0.0625rem;
1267
+ list-style: none;
1268
+ margin: 1rem 0 0;
1269
+ padding: 0;
1270
+ }
1271
+
1272
+ .vh-invocation-work__details:not([open]) > .vh-invocation-work__activities {
1273
+ display: none;
1274
+ }
1275
+
1276
+ .vh-invocation-event__body,
1277
+ .vh-invocation-command,
1278
+ .vh-invocation-event__diffs,
1279
+ .vh-invocation-event__payloads {
1280
+ border-inline-start: 1px solid var(--vh-ui-border);
1281
+ margin: 0.25rem 0 0 1.75rem;
1282
+ max-height: 16rem;
1283
+ overflow: auto;
1284
+ padding-inline-start: 0.75rem;
1285
+ }
1286
+
1287
+ .vh-invocation-event__payloads {
1288
+ display: grid;
1289
+ gap: 0.625rem;
1290
+ }
1291
+
1292
+ .vh-invocation-event__payload {
1293
+ border: 1px solid color-mix(in oklab, var(--vh-ui-border) 78%, transparent);
1294
+ border-radius: calc(var(--vh-ui-radius) * 0.9);
1295
+ min-width: 0;
1296
+ overflow: hidden;
1297
+ }
1298
+
1299
+ .vh-invocation-event__payload > summary {
1300
+ align-items: center;
1301
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 65%, transparent);
1302
+ cursor: pointer;
1303
+ display: grid;
1304
+ gap: 0.5rem;
1305
+ grid-template-columns: auto minmax(0, 1fr) auto;
1306
+ list-style: none;
1307
+ min-height: 2.25rem;
1308
+ padding: 0.45rem 0.65rem;
1309
+ }
1310
+
1311
+ .vh-invocation-event__payload > summary::-webkit-details-marker {
1312
+ display: none;
1313
+ }
1314
+
1315
+ .vh-invocation-event__payload > summary:focus-visible {
1316
+ outline: 2px solid color-mix(in oklab, var(--vh-ui-info) 55%, transparent);
1317
+ outline-offset: -2px;
1318
+ }
1319
+
1320
+ .vh-invocation-event__payload > summary strong {
1321
+ color: var(--vh-ui-dimmed);
1322
+ font-size: 0.6875rem;
1323
+ font-weight: 650;
1324
+ letter-spacing: 0.08em;
1325
+ text-transform: uppercase;
1326
+ }
1327
+
1328
+ .vh-invocation-event__payload > summary code {
1329
+ color: var(--vh-ui-muted);
1330
+ font: 0.75rem/1.4 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1331
+ overflow: hidden;
1332
+ text-overflow: ellipsis;
1333
+ white-space: nowrap;
1334
+ }
1335
+
1336
+ .vh-invocation-event__payload[open] > summary .vh-invocation-event__disclosure {
1337
+ transform: rotate(180deg);
1338
+ }
1339
+
1340
+ .vh-invocation-payload__content {
1341
+ border-block-start: 1px solid color-mix(in oklab, var(--vh-ui-border) 72%, transparent);
1342
+ padding: 0.6rem;
1343
+ }
1344
+
1345
+ .vh-invocation-payload__toolbar {
1346
+ align-items: center;
1347
+ display: flex;
1348
+ flex-wrap: wrap;
1349
+ gap: 0.4rem;
1350
+ margin-block-end: 0.55rem;
1351
+ }
1352
+
1353
+ .vh-invocation-payload__modes {
1354
+ background: color-mix(in oklab, var(--vh-ui-bg-muted) 76%, transparent);
1355
+ border-radius: calc(var(--vh-ui-radius) * 0.72);
1356
+ display: inline-flex;
1357
+ padding: 0.125rem;
1358
+ }
1359
+
1360
+ .vh-invocation-payload__toolbar button {
1361
+ background: transparent;
1362
+ border: 0;
1363
+ border-radius: calc(var(--vh-ui-radius) * 0.6);
1364
+ color: var(--vh-ui-muted);
1365
+ cursor: pointer;
1366
+ font: inherit;
1367
+ font-size: 0.6875rem;
1368
+ min-height: 1.75rem;
1369
+ padding: 0.25rem 0.5rem;
1370
+ }
1371
+
1372
+ .vh-invocation-payload__toolbar button:is(:hover, [aria-pressed="true"]) {
1373
+ background: var(--vh-ui-bg-elevated);
1374
+ color: var(--vh-ui-text);
1375
+ }
1376
+
1377
+ .vh-invocation-payload__toolbar button:focus-visible,
1378
+ .vh-invocation-payload__search input:focus-visible {
1379
+ outline: 2px solid color-mix(in oklab, var(--vh-ui-info) 55%, transparent);
1380
+ outline-offset: 1px;
1381
+ }
1382
+
1383
+ .vh-invocation-payload__search {
1384
+ flex: 1 1 8rem;
1385
+ }
1386
+
1387
+ .vh-invocation-payload__search input {
1388
+ background: var(--vh-ui-bg);
1389
+ border: 1px solid var(--vh-ui-border);
1390
+ border-radius: calc(var(--vh-ui-radius) * 0.72);
1391
+ color: var(--vh-ui-text);
1392
+ font: inherit;
1393
+ font-size: 0.6875rem;
1394
+ min-height: 1.75rem;
1395
+ padding: 0.25rem 0.5rem;
1396
+ width: 100%;
1397
+ }
1398
+
1399
+ .vh-invocation-payload__copy {
1400
+ margin-inline-start: auto;
1401
+ }
1402
+
1403
+ .vh-invocation-payload__content > pre {
1404
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 65%, transparent);
1405
+ border-radius: calc(var(--vh-ui-radius) * 0.72);
1406
+ color: var(--vh-ui-text);
1407
+ font: 0.75rem/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1408
+ margin: 0;
1409
+ max-height: 18rem;
1410
+ overflow: auto;
1411
+ padding: 0.625rem 0.75rem;
1412
+ white-space: pre-wrap;
1413
+ word-break: break-word;
1414
+ }
1415
+
1416
+ .vh-invocation-payload__tree,
1417
+ .vh-invocation-payload__tree ul,
1418
+ .vh-invocation-payload__matches {
1419
+ display: grid;
1420
+ gap: 0.2rem;
1421
+ list-style: none;
1422
+ margin: 0;
1423
+ padding: 0;
1424
+ }
1425
+
1426
+ .vh-invocation-payload__tree ul {
1427
+ border-inline-start: 1px solid var(--vh-ui-border);
1428
+ margin: 0.2rem 0 0 0.45rem;
1429
+ padding-inline-start: 0.75rem;
1430
+ }
1431
+
1432
+ .vh-invocation-payload__branch summary,
1433
+ .vh-invocation-payload__leaf {
1434
+ align-items: baseline;
1435
+ display: flex;
1436
+ gap: 0.45rem;
1437
+ min-height: 1.4rem;
1438
+ }
1439
+
1440
+ .vh-invocation-payload__branch summary {
1441
+ color: var(--vh-ui-dimmed);
1442
+ cursor: pointer;
1443
+ font-size: 0.6875rem;
1444
+ }
1445
+
1446
+ .vh-invocation-payload__key,
1447
+ .vh-invocation-payload__value,
1448
+ .vh-invocation-payload__matches code {
1449
+ font: 0.71875rem/1.45 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1450
+ }
1451
+
1452
+ .vh-invocation-payload__key {
1453
+ color: var(--vh-ui-info);
1454
+ }
1455
+
1456
+ .vh-invocation-payload__value {
1457
+ color: var(--vh-ui-text);
1458
+ overflow-wrap: anywhere;
1459
+ }
1460
+
1461
+ .vh-invocation-payload__value[data-type="string"] {
1462
+ color: var(--vh-ui-success);
1463
+ }
1464
+
1465
+ .vh-invocation-payload__matches li {
1466
+ display: grid;
1467
+ gap: 0.15rem;
1468
+ grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr);
1469
+ }
1470
+
1471
+ .vh-invocation-payload__matches code:first-child {
1472
+ color: var(--vh-ui-info);
1473
+ overflow-wrap: anywhere;
1474
+ }
1475
+
1476
+ .vh-invocation-payload__matches code:last-child {
1477
+ color: var(--vh-ui-text);
1478
+ overflow-wrap: anywhere;
1479
+ }
1480
+
1481
+ .vh-invocation-payload__empty {
1482
+ color: var(--vh-ui-dimmed);
1483
+ font-size: 0.75rem;
1484
+ margin: 0;
1485
+ padding: 0.5rem;
1486
+ text-align: center;
1487
+ }
1488
+
1489
+ .vh-invocation-delivery__body {
1490
+ color: var(--vh-ui-text);
1491
+ margin: 0.125rem 0 0 2rem;
1492
+ max-width: 42rem;
1493
+ padding-block-end: 0.75rem;
1494
+ }
1495
+
1496
+ .vh-invocation-delivery__body .vh-invocation-event__markdown {
1497
+ font-size: 0.875rem;
1498
+ line-height: 1.625;
1499
+ }
1500
+
1501
+ .vh-invocation-event__body,
1502
+ .vh-invocation-command {
1503
+ background: transparent;
1504
+ }
1505
+
1506
+ .vh-invocation-event__markdown {
1507
+ color: inherit;
1508
+ font-size: 0.8125rem;
1509
+ padding: 0.25rem 0;
1510
+ }
1511
+
1512
+ .vh-invocation-event__notice {
1513
+ color: var(--vh-ui-warning, #d97706);
1514
+ font-size: 0.75rem;
1515
+ margin: 0.5rem 0 0 1.75rem;
1516
+ }
1517
+
1518
+ .vh-invocation-command__bar {
1519
+ align-items: flex-start;
1520
+ display: flex;
1521
+ gap: 1rem;
1522
+ justify-content: space-between;
1523
+ padding: 0.25rem 0;
1524
+ }
1525
+
1526
+ .vh-invocation-command__bar code {
1527
+ color: inherit;
1528
+ font-size: 0.75rem;
1529
+ overflow-wrap: anywhere;
1530
+ white-space: pre-wrap;
1531
+ }
1532
+
1533
+ .vh-invocation-command__bar span,
1534
+ .vh-invocation-command__cwd {
1535
+ color: var(--vh-ui-dimmed);
1536
+ font-size: 0.6875rem;
1537
+ }
1538
+
1539
+ .vh-invocation-command__bar span[data-failed="true"] {
1540
+ color: var(--vh-ui-text);
1541
+ font-weight: 600;
1542
+ }
1543
+
1544
+ .vh-invocation-command__cwd {
1545
+ padding: 0.25rem 0;
1546
+ }
1547
+
1548
+ .vh-invocation-command pre {
1549
+ color: inherit;
1550
+ font-size: 0.75rem;
1551
+ margin: 0;
1552
+ max-height: 16rem;
1553
+ overflow: auto;
1554
+ padding: 0.5rem 0;
1555
+ white-space: pre-wrap;
1556
+ }
1557
+
1558
+ .vh-invocation-inspector {
1559
+ background: var(--vh-ui-bg);
1560
+ border-inline-start: 1px solid var(--vh-ui-border);
1561
+ container-type: inline-size;
1562
+ display: grid;
1563
+ grid-template-rows: auto minmax(0, 1fr);
1564
+ height: 100%;
1565
+ min-height: 0;
1566
+ min-width: 0;
1567
+ overflow: hidden;
1568
+ }
1569
+
1570
+ .vh-invocation-inspector > header {
1571
+ align-items: center;
1572
+ border-block-end: 1px solid var(--vh-ui-border);
1573
+ display: flex;
1574
+ gap: 0.75rem;
1575
+ justify-content: space-between;
1576
+ min-height: 3.5rem;
1577
+ padding: 0.6rem 0.9rem;
1578
+ }
1579
+
1580
+ .vh-invocation-inspector > header h3 {
1581
+ font-size: 0.875rem;
1582
+ font-weight: 650;
1583
+ line-height: 1.25;
1584
+ margin: 0.1rem 0 0;
1585
+ }
1586
+
1587
+ .vh-invocation-inspector > header p {
1588
+ color: var(--vh-ui-dimmed);
1589
+ font-size: 0.625rem;
1590
+ font-weight: 600;
1591
+ letter-spacing: 0.055em;
1592
+ margin: 0;
1593
+ text-transform: uppercase;
1594
+ }
1595
+
1596
+ .vh-invocation-inspector__content {
1597
+ min-height: 0;
1598
+ overflow-y: auto;
1599
+ overscroll-behavior-y: contain;
1600
+ padding: 0 1rem 2rem;
1601
+ scrollbar-gutter: stable;
1602
+ }
1603
+
1604
+ .vh-invocation-inspector__content > section {
1605
+ padding-block: 1rem 0.2rem;
1606
+ }
1607
+
1608
+ .vh-invocation-inspector__content > section:first-child {
1609
+ padding-block-start: 1rem;
1610
+ }
1611
+
1612
+ .vh-invocation-inspector__content > section > h4 {
1613
+ color: var(--vh-ui-muted);
1614
+ font-size: 0.625rem;
1615
+ font-weight: 650;
1616
+ letter-spacing: 0.075em;
1617
+ margin: 0 0 0.6rem;
1618
+ text-transform: uppercase;
1619
+ }
1620
+
1621
+ .vh-invocation-inspector__status {
1622
+ align-items: center;
1623
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 72%, transparent);
1624
+ border: 1px solid var(--vh-ui-border);
1625
+ border-radius: 999px;
1626
+ display: flex;
1627
+ gap: 0.35rem;
1628
+ min-height: 1.75rem;
1629
+ padding: 0.2rem 0.5rem 0.2rem 0.35rem;
1630
+ width: fit-content;
1631
+ }
1632
+
1633
+ .vh-invocation-inspector__status strong {
1634
+ font-size: 0.6875rem;
1635
+ font-weight: 650;
1636
+ }
1637
+
1638
+ .vh-invocation-inspector__status small {
1639
+ color: var(--vh-ui-dimmed);
1640
+ font-size: 0.625rem;
1641
+ font-variant-numeric: tabular-nums;
1642
+ }
1643
+
1644
+ .vh-invocation-inspector__status small::before {
1645
+ color: var(--vh-ui-border);
1646
+ content: "·";
1647
+ margin-inline-end: 0.35rem;
1648
+ }
1649
+
1650
+ .vh-invocation-inspector__status-icon {
1651
+ align-items: center;
1652
+ color: var(--vh-ui-muted);
1653
+ display: inline-flex;
1654
+ flex: none;
1655
+ justify-content: center;
1656
+ }
1657
+
1658
+ .vh-invocation-inspector__status-icon svg {
1659
+ height: 0.875rem;
1660
+ stroke: currentColor;
1661
+ stroke-width: 2;
1662
+ width: 0.875rem;
1663
+ }
1664
+
1665
+ .vh-invocation-inspector[data-status="running"] .vh-invocation-inspector__status {
1666
+ color: color-mix(in oklab, var(--vh-ui-info) 42%, var(--vh-ui-text));
1667
+ }
1668
+
1669
+ .vh-invocation-inspector[data-status="running"] .vh-invocation-inspector__status-icon svg {
1670
+ animation: vh-invocation-status-spin 800ms linear infinite;
1671
+ }
1672
+
1673
+ .vh-invocation-inspector[data-status="completed"] .vh-invocation-inspector__status {
1674
+ color: color-mix(in oklab, var(--vh-ui-success) 42%, var(--vh-ui-text));
1675
+ }
1676
+
1677
+ .vh-invocation-inspector[data-status="failed"] .vh-invocation-inspector__status {
1678
+ color: color-mix(in oklab, var(--vh-ui-error) 42%, var(--vh-ui-text));
1679
+ }
1680
+
1681
+ .vh-invocation-inspector[data-status="pending"] .vh-invocation-inspector__status {
1682
+ color: color-mix(in oklab, var(--vh-ui-warning) 42%, var(--vh-ui-text));
1683
+ }
1684
+
1685
+ .vh-invocation-inspector__identity h4 {
1686
+ color: var(--vh-ui-text);
1687
+ font-size: 1rem;
1688
+ font-weight: 650;
1689
+ letter-spacing: -0.015em;
1690
+ line-height: 1.35;
1691
+ margin: 0.8rem 0 0;
1692
+ text-transform: none;
1693
+ }
1694
+
1695
+ .vh-invocation-inspector__identity p {
1696
+ color: var(--vh-ui-dimmed);
1697
+ font-size: 0.75rem;
1698
+ line-height: 1.45;
1699
+ margin: 0.25rem 0 0;
1700
+ overflow-wrap: anywhere;
1701
+ }
1702
+
1703
+ .vh-invocation-inspector__agent {
1704
+ align-items: center;
1705
+ color: var(--vh-ui-dimmed);
1706
+ display: flex;
1707
+ font-size: 0.6875rem;
1708
+ gap: 0.35rem;
1709
+ margin-block-start: 0.75rem;
1710
+ }
1711
+
1712
+ .vh-invocation-inspector__agent code {
1713
+ color: var(--vh-ui-muted);
1714
+ font-size: 0.6875rem;
1715
+ }
1716
+
1717
+ .vh-invocation-inspector__error,
1718
+ .vh-invocation-inspector__notice {
1719
+ border: 1px solid color-mix(in oklab, currentColor 18%, transparent);
1720
+ border-radius: calc(var(--vh-ui-radius) * 1.1);
1721
+ margin-block-start: 0.9rem;
1722
+ padding: 0.7rem 0.75rem;
1723
+ }
1724
+
1725
+ .vh-invocation-inspector__error {
1726
+ background: color-mix(in oklab, var(--vh-ui-error) 7%, transparent);
1727
+ color: var(--vh-ui-error);
1728
+ }
1729
+
1730
+ .vh-invocation-inspector__notice {
1731
+ background: color-mix(in oklab, var(--ui-warning, #a16207) 7%, transparent);
1732
+ border: 0;
1733
+ border-inline-start: 2px solid color-mix(in oklab, currentColor 55%, transparent);
1734
+ border-radius: 0;
1735
+ color: var(--ui-warning, #a16207);
1736
+ margin-block-start: 1rem;
1737
+ padding: 0.6rem 0.7rem;
1738
+ }
1739
+
1740
+ .vh-invocation-inspector__error strong,
1741
+ .vh-invocation-inspector__notice strong {
1742
+ font-size: 0.75rem;
1743
+ font-weight: 650;
1744
+ }
1745
+
1746
+ .vh-invocation-inspector__error p,
1747
+ .vh-invocation-inspector__notice p {
1748
+ color: inherit;
1749
+ font-size: 0.6875rem;
1750
+ margin: 0.2rem 0 0;
1751
+ }
1752
+
1753
+ .vh-invocation-error__details {
1754
+ color: inherit;
1755
+ font-size: 0.6875rem;
1756
+ margin-block-start: 0.45rem;
1757
+ }
1758
+
1759
+ .vh-invocation-error__details summary {
1760
+ cursor: pointer;
1761
+ font-weight: 600;
1762
+ }
1763
+
1764
+ .vh-invocation-error__details pre {
1765
+ background: color-mix(in oklab, currentColor 6%, transparent);
1766
+ border-radius: calc(var(--vh-ui-radius) * 0.75);
1767
+ margin: 0.45rem 0 0;
1768
+ max-height: 18rem;
1769
+ overflow: auto;
1770
+ padding: 0.6rem;
1771
+ white-space: pre-wrap;
1772
+ word-break: break-word;
1773
+ }
1774
+
1775
+ .vh-invocation-inspector__metrics {
1776
+ border-block: 1px solid var(--vh-ui-border);
1777
+ display: grid;
1778
+ gap: 0;
1779
+ grid-template-columns: repeat(auto-fit, minmax(4.75rem, 1fr));
1780
+ margin: 0;
1781
+ }
1782
+
1783
+ .vh-invocation-inspector__metrics > div {
1784
+ background: transparent;
1785
+ border: 0;
1786
+ border-radius: 0;
1787
+ min-width: 0;
1788
+ padding: 0.6rem 0.65rem;
1789
+ }
1790
+
1791
+ .vh-invocation-inspector__metrics > div + div {
1792
+ border-inline-start: 1px solid var(--vh-ui-border);
1793
+ }
1794
+
1795
+ .vh-invocation-inspector__metrics dt {
1796
+ color: var(--vh-ui-dimmed);
1797
+ font-size: 0.625rem;
1798
+ line-height: 1.2;
1799
+ }
1800
+
1801
+ .vh-invocation-inspector__metrics dd {
1802
+ font-size: 0.8125rem;
1803
+ font-variant-numeric: tabular-nums;
1804
+ font-weight: 650;
1805
+ margin: 0.25rem 0 0;
1806
+ overflow-wrap: anywhere;
1807
+ }
1808
+
1809
+ .vh-invocation-timeline {
1810
+ display: grid;
1811
+ gap: 0.625rem;
1812
+ }
1813
+
1814
+ .vh-invocation-timeline__legend {
1815
+ color: var(--vh-ui-dimmed);
1816
+ display: flex;
1817
+ font-size: 0.6875rem;
1818
+ gap: 0.875rem;
1819
+ }
1820
+
1821
+ .vh-invocation-timeline__legend span {
1822
+ align-items: center;
1823
+ display: inline-flex;
1824
+ gap: 0.35rem;
1825
+ }
1826
+
1827
+ .vh-invocation-timeline__legend span::before {
1828
+ background: var(--vh-ui-info);
1829
+ border-radius: 999px;
1830
+ content: "";
1831
+ height: 0.45rem;
1832
+ width: 0.45rem;
1833
+ }
1834
+
1835
+ .vh-invocation-timeline__legend span[data-owner="vitehub"]::before {
1836
+ background: var(--vh-ui-success);
1837
+ }
1838
+
1839
+ .vh-invocation-timeline ol {
1840
+ display: grid;
1841
+ gap: 0.2rem;
1842
+ list-style: none;
1843
+ margin: 0;
1844
+ padding: 0;
1845
+ }
1846
+
1847
+ .vh-invocation-timeline__row {
1848
+ background: transparent;
1849
+ border: 0;
1850
+ border-radius: calc(var(--vh-ui-radius) * 0.9);
1851
+ color: inherit;
1852
+ cursor: pointer;
1853
+ display: block;
1854
+ font: inherit;
1855
+ min-width: 0;
1856
+ outline: 2px solid transparent;
1857
+ outline-offset: -2px;
1858
+ padding: 0.45rem 0.5rem;
1859
+ text-align: start;
1860
+ transition: background-color 160ms cubic-bezier(0.23, 1, 0.32, 1);
1861
+ width: 100%;
1862
+ }
1863
+
1864
+ .vh-invocation-timeline__row:focus-visible {
1865
+ outline-color: color-mix(in oklab, var(--vh-ui-info) 55%, transparent);
1866
+ }
1867
+
1868
+ .vh-invocation-timeline__heading {
1869
+ align-items: baseline;
1870
+ display: flex;
1871
+ gap: 0.75rem;
1872
+ justify-content: space-between;
1873
+ min-width: 0;
1874
+ }
1875
+
1876
+ .vh-invocation-timeline__heading strong,
1877
+ .vh-invocation-timeline__detail {
1878
+ overflow: hidden;
1879
+ text-overflow: ellipsis;
1880
+ white-space: nowrap;
1881
+ }
1882
+
1883
+ .vh-invocation-timeline__heading strong {
1884
+ color: var(--vh-ui-text);
1885
+ font-size: 0.75rem;
1886
+ font-weight: 580;
1887
+ }
1888
+
1889
+ .vh-invocation-timeline__heading time {
1890
+ color: var(--vh-ui-dimmed);
1891
+ flex: none;
1892
+ font: 0.6875rem/1.4 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1893
+ font-variant-numeric: tabular-nums;
1894
+ }
1895
+
1896
+ .vh-invocation-timeline__detail {
1897
+ color: var(--vh-ui-dimmed);
1898
+ display: block;
1899
+ font-size: 0.6875rem;
1900
+ margin-block-start: 0.15rem;
1901
+ }
1902
+
1903
+ .vh-invocation-timeline__row:is(:hover, :focus-visible) .vh-invocation-timeline__heading strong,
1904
+ .vh-invocation-timeline__row:is(:hover, :focus-visible) .vh-invocation-timeline__detail {
1905
+ overflow: visible;
1906
+ white-space: normal;
1907
+ }
1908
+
1909
+ .vh-invocation-timeline__track {
1910
+ background: color-mix(in oklab, var(--vh-ui-border) 60%, transparent);
1911
+ border-radius: 999px;
1912
+ height: 0.25rem;
1913
+ margin-block-start: 0.4rem;
1914
+ overflow: hidden;
1915
+ position: relative;
1916
+ }
1917
+
1918
+ .vh-invocation-timeline__track span {
1919
+ background: var(--vh-ui-info);
1920
+ border-radius: inherit;
1921
+ inset-block: 0;
1922
+ position: absolute;
1923
+ }
1924
+
1925
+ .vh-invocation-timeline__row[data-owner="vitehub"] .vh-invocation-timeline__track span {
1926
+ background: var(--vh-ui-success);
1927
+ }
1928
+
1929
+ @media (hover: hover) and (pointer: fine) {
1930
+ .vh-invocation-timeline__row:hover {
1931
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 72%, transparent);
1932
+ }
1933
+ }
1934
+
1935
+ .vh-invocation-inspector__groups {
1936
+ display: grid;
1937
+ gap: 1.1rem;
1938
+ }
1939
+
1940
+ .vh-invocation-inspector__group {
1941
+ border: 0;
1942
+ min-width: 0;
1943
+ padding: 0;
1944
+ }
1945
+
1946
+ .vh-invocation-inspector__group + .vh-invocation-inspector__group {
1947
+ border-block-start: 0;
1948
+ }
1949
+
1950
+ .vh-invocation-inspector__group--execution {
1951
+ background:
1952
+ radial-gradient(circle at 95% 0%, color-mix(in oklab, var(--ui-primary, #2563eb) 9%, transparent), transparent 48%),
1953
+ color-mix(in oklab, var(--vh-ui-bg-elevated) 54%, transparent);
1954
+ border: 1px solid color-mix(in oklab, var(--vh-ui-border) 78%, transparent);
1955
+ border-radius: calc(var(--vh-ui-radius) * 1.2);
1956
+ padding: 0.8rem;
1957
+ }
1958
+
1959
+ .vh-invocation-execution {
1960
+ display: grid;
1961
+ gap: 0.65rem;
1962
+ margin-block-start: 0.65rem;
1963
+ }
1964
+
1965
+ .vh-invocation-execution__model {
1966
+ align-items: center;
1967
+ display: grid;
1968
+ gap: 0.7rem;
1969
+ grid-template-columns: 2.35rem minmax(0, 1fr);
1970
+ min-width: 0;
1971
+ }
1972
+
1973
+ .vh-invocation-execution__model > div {
1974
+ display: grid;
1975
+ gap: 0.08rem;
1976
+ min-width: 0;
1977
+ }
1978
+
1979
+ .vh-invocation-execution__model strong {
1980
+ color: var(--vh-ui-text);
1981
+ font-size: 0.875rem;
1982
+ font-weight: 670;
1983
+ letter-spacing: -0.015em;
1984
+ line-height: 1.3;
1985
+ overflow: hidden;
1986
+ text-overflow: ellipsis;
1987
+ white-space: nowrap;
1988
+ }
1989
+
1990
+ .vh-invocation-execution__model span {
1991
+ color: var(--vh-ui-dimmed);
1992
+ font-size: 0.6875rem;
1993
+ }
1994
+
1995
+ .vh-invocation-brand__logo,
1996
+ .vh-invocation-brand__fallback {
1997
+ display: block;
1998
+ flex: none;
1999
+ }
2000
+
2001
+ .vh-invocation-brand__logo {
2002
+ fill: currentColor;
2003
+ height: 1rem;
2004
+ width: 1rem;
2005
+ }
2006
+
2007
+ .vh-invocation-execution__provider-logo {
2008
+ color: #7624f4;
2009
+ }
2010
+
2011
+ .vh-invocation-execution__model-logo,
2012
+ .vh-invocation-brand__fallback.vh-invocation-execution__model-logo {
2013
+ height: 2.35rem;
2014
+ width: 2.35rem;
2015
+ }
2016
+
2017
+ .vh-invocation-brand__fallback {
2018
+ align-items: center;
2019
+ background: color-mix(in oklab, var(--ui-primary, #2563eb) 10%, var(--vh-ui-bg));
2020
+ border: 1px solid color-mix(in oklab, var(--ui-primary, #2563eb) 20%, var(--vh-ui-border));
2021
+ border-radius: calc(var(--vh-ui-radius) * 0.9);
2022
+ color: var(--vh-ui-muted);
2023
+ font-size: 0.65rem;
2024
+ font-weight: 700;
2025
+ justify-content: center;
2026
+ }
2027
+
2028
+ .vh-invocation-execution__route {
2029
+ align-items: center;
2030
+ color: var(--vh-ui-dimmed);
2031
+ display: flex;
2032
+ font-size: 0.6875rem;
2033
+ gap: 0.35rem;
2034
+ margin-inline-start: 3.05rem;
2035
+ }
2036
+
2037
+ .vh-invocation-execution__route strong {
2038
+ color: var(--vh-ui-muted);
2039
+ font-weight: 600;
2040
+ }
2041
+
2042
+ .vh-invocation-tool-list {
2043
+ border-block: 1px solid var(--vh-ui-border);
2044
+ list-style: none;
2045
+ margin: 0.55rem 0 0;
2046
+ padding: 0;
2047
+ }
2048
+
2049
+ .vh-invocation-tool-list > li {
2050
+ min-width: 0;
2051
+ padding: 0.55rem 0.15rem 0.6rem;
2052
+ }
2053
+
2054
+ .vh-invocation-tool-list > li + li {
2055
+ border-block-start: 1px solid color-mix(in oklab, var(--vh-ui-border) 72%, transparent);
2056
+ }
2057
+
2058
+ .vh-invocation-tool-list > li[data-used="false"] {
2059
+ opacity: 0.66;
2060
+ }
2061
+
2062
+ .vh-invocation-tool-list__heading {
2063
+ align-items: baseline;
2064
+ display: grid;
2065
+ gap: 0.75rem;
2066
+ grid-template-columns: minmax(0, 1fr) auto;
2067
+ }
2068
+
2069
+ .vh-invocation-tool-list__heading code {
2070
+ color: var(--vh-ui-text);
2071
+ font-size: 0.6875rem;
2072
+ font-weight: 580;
2073
+ overflow-wrap: anywhere;
2074
+ }
2075
+
2076
+ .vh-invocation-tool-list__count {
2077
+ color: var(--vh-ui-dimmed);
2078
+ font: 0.6875rem/1.3 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
2079
+ font-variant-numeric: tabular-nums;
2080
+ min-width: 1.5rem;
2081
+ text-align: end;
2082
+ }
2083
+
2084
+ .vh-invocation-tool-list > li[data-used="true"] .vh-invocation-tool-list__count {
2085
+ background: color-mix(in oklab, var(--vh-ui-success) 11%, transparent);
2086
+ border-radius: 999px;
2087
+ color: color-mix(in oklab, var(--vh-ui-success) 60%, var(--vh-ui-text));
2088
+ padding: 0.08rem 0.4rem;
2089
+ }
2090
+
2091
+ .vh-invocation-tool-list p {
2092
+ color: var(--vh-ui-dimmed);
2093
+ display: -webkit-box;
2094
+ font-size: 0.65625rem;
2095
+ -webkit-box-orient: vertical;
2096
+ -webkit-line-clamp: 2;
2097
+ line-height: 1.45;
2098
+ margin: 0.22rem 2.25rem 0 0;
2099
+ overflow: hidden;
2100
+ }
2101
+
2102
+ .vh-invocation-inspector__group-heading {
2103
+ align-items: center;
2104
+ color: var(--vh-ui-muted);
2105
+ display: flex;
2106
+ gap: 0.45rem;
2107
+ min-height: 1.25rem;
2108
+ min-width: 0;
2109
+ }
2110
+
2111
+ .vh-invocation-inspector__group-heading strong {
2112
+ color: var(--vh-ui-text);
2113
+ flex: 1;
2114
+ font-size: 0.75rem;
2115
+ font-weight: 600;
2116
+ min-width: 0;
2117
+ }
2118
+
2119
+ .vh-invocation-inspector__group-heading small {
2120
+ color: var(--vh-ui-dimmed);
2121
+ font-size: 0.625rem;
2122
+ font-variant-numeric: tabular-nums;
2123
+ }
2124
+
2125
+ summary.vh-invocation-inspector__group-heading,
2126
+ .vh-invocation-inspector__item-disclosure summary {
2127
+ cursor: pointer;
2128
+ list-style: none;
2129
+ }
2130
+
2131
+ summary.vh-invocation-inspector__group-heading::-webkit-details-marker,
2132
+ .vh-invocation-inspector__item-disclosure summary::-webkit-details-marker {
2133
+ display: none;
2134
+ }
2135
+
2136
+ summary.vh-invocation-inspector__group-heading:focus-visible,
2137
+ .vh-invocation-inspector__item-disclosure summary:focus-visible {
2138
+ border-radius: calc(var(--vh-ui-radius) * 0.8);
2139
+ outline: 2px solid color-mix(in oklab, var(--ui-primary, #2563eb) 55%, transparent);
2140
+ outline-offset: 2px;
2141
+ }
2142
+
2143
+ .vh-invocation-inspector__chevron {
2144
+ height: 0.8rem;
2145
+ stroke: currentColor;
2146
+ stroke-width: 2;
2147
+ transition: transform 150ms ease;
2148
+ width: 0.8rem;
2149
+ }
2150
+
2151
+ .vh-invocation-inspector__disclosure[open] > summary .vh-invocation-inspector__chevron,
2152
+ .vh-invocation-inspector__item-disclosure[open] > summary .vh-invocation-inspector__chevron {
2153
+ transform: rotate(180deg);
2154
+ }
2155
+
2156
+ .vh-invocation-inspector__list {
2157
+ display: grid;
2158
+ margin: 0.45rem 0 0;
2159
+ }
2160
+
2161
+ .vh-invocation-inspector__list > div {
2162
+ align-items: center;
2163
+ display: grid;
2164
+ gap: 0.5rem;
2165
+ grid-template-columns: minmax(4.5rem, 0.7fr) minmax(0, 1.3fr);
2166
+ min-width: 0;
2167
+ padding-block: 0.35rem;
2168
+ }
2169
+
2170
+ .vh-invocation-inspector__list dt {
2171
+ color: var(--vh-ui-dimmed);
2172
+ font-size: 0.6875rem;
2173
+ }
2174
+
2175
+ .vh-invocation-inspector__list dd {
2176
+ font-size: 0.6875rem;
2177
+ margin: 0;
2178
+ min-width: 0;
2179
+ overflow-wrap: anywhere;
2180
+ text-align: end;
2181
+ }
2182
+
2183
+ .vh-invocation-inspector__copy-list {
2184
+ border: 1px solid var(--vh-ui-border);
2185
+ border-radius: calc(var(--vh-ui-radius) * 1.05);
2186
+ overflow: hidden;
2187
+ }
2188
+
2189
+ .vh-invocation-inspector__copy {
2190
+ align-items: center;
2191
+ appearance: none;
2192
+ background: transparent;
2193
+ border: 0;
2194
+ color: var(--vh-ui-muted);
2195
+ cursor: pointer;
2196
+ display: grid;
2197
+ font: inherit;
2198
+ gap: 0.5rem;
2199
+ grid-template-columns: minmax(0, 1fr) auto 1rem;
2200
+ min-height: 2.4rem;
2201
+ padding: 0.45rem 0.65rem;
2202
+ text-align: start;
2203
+ transition:
2204
+ background-color 120ms ease,
2205
+ color 120ms ease;
2206
+ width: 100%;
2207
+ }
2208
+
2209
+ .vh-invocation-inspector__copy + .vh-invocation-inspector__copy {
2210
+ border-block-start: 1px solid var(--vh-ui-border);
2211
+ }
2212
+
2213
+ .vh-invocation-inspector__copy-label {
2214
+ color: var(--vh-ui-text);
2215
+ font-size: 0.75rem;
2216
+ min-width: 0;
2217
+ }
2218
+
2219
+ .vh-invocation-inspector__copy-state {
2220
+ color: var(--vh-ui-dimmed);
2221
+ font-size: 0.625rem;
2222
+ }
2223
+
2224
+ .vh-invocation-inspector__copy:hover,
2225
+ .vh-invocation-inspector__copy:focus-visible {
2226
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 70%, transparent);
2227
+ color: var(--vh-ui-text);
2228
+ }
2229
+
2230
+ .vh-invocation-inspector__copy:focus-visible {
2231
+ outline: 2px solid color-mix(in oklab, var(--ui-primary, #2563eb) 55%, transparent);
2232
+ outline-offset: -2px;
2233
+ }
2234
+
2235
+ .vh-invocation-inspector__copy-icon {
2236
+ align-items: center;
2237
+ display: inline-flex;
2238
+ justify-content: center;
2239
+ }
2240
+
2241
+ .vh-invocation-inspector__copy-icon svg {
2242
+ height: 0.875rem;
2243
+ stroke: currentColor;
2244
+ stroke-width: 1.8;
2245
+ width: 0.875rem;
2246
+ }
2247
+
2248
+ .vh-invocation-inspector__stack {
2249
+ display: grid;
2250
+ gap: 0.125rem;
2251
+ margin-block-start: 0.45rem;
2252
+ }
2253
+
2254
+ .vh-agent-tool-list {
2255
+ display: grid;
2256
+ gap: 0.125rem;
2257
+ margin-block-start: 0.45rem;
2258
+ }
2259
+
2260
+ .vh-agent-tool-list__item,
2261
+ .vh-agent-tool-list__disclosure > summary {
2262
+ align-items: center;
2263
+ border-radius: calc(var(--vh-ui-radius) * 0.8);
2264
+ display: flex;
2265
+ gap: 0.5rem;
2266
+ min-height: 1.8rem;
2267
+ padding: 0.3rem 0.45rem;
2268
+ }
2269
+
2270
+ .vh-agent-tool-list__item code,
2271
+ .vh-agent-tool-list__disclosure > summary code {
2272
+ flex: none;
2273
+ font-size: 0.6875rem;
2274
+ overflow-wrap: anywhere;
2275
+ }
2276
+
2277
+ .vh-agent-tool-list__disclosure > summary {
2278
+ cursor: pointer;
2279
+ list-style: none;
2280
+ }
2281
+
2282
+ .vh-agent-tool-list__disclosure > summary::-webkit-details-marker {
2283
+ display: none;
2284
+ }
2285
+
2286
+ .vh-agent-tool-list__disclosure > summary:hover {
2287
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 70%, transparent);
2288
+ }
2289
+
2290
+ .vh-agent-tool-list__disclosure > summary:focus-visible {
2291
+ outline: 2px solid color-mix(in oklab, var(--ui-primary, #2563eb) 55%, transparent);
2292
+ outline-offset: 2px;
2293
+ }
2294
+
2295
+ .vh-agent-tool-list__disclosure > summary small {
2296
+ color: var(--vh-ui-dimmed);
2297
+ flex: 1;
2298
+ font-size: 0.625rem;
2299
+ min-width: 0;
2300
+ overflow: hidden;
2301
+ text-overflow: ellipsis;
2302
+ white-space: nowrap;
2303
+ }
2304
+
2305
+ .vh-agent-tool-list > [data-used="false"] {
2306
+ opacity: 0.66;
2307
+ }
2308
+
2309
+ .vh-agent-tool-list__count {
2310
+ align-items: center;
2311
+ background: var(--vh-ui-bg-elevated);
2312
+ border-radius: 999px;
2313
+ color: var(--vh-ui-dimmed);
2314
+ display: inline-flex;
2315
+ flex: none;
2316
+ font-size: 0.625rem;
2317
+ justify-content: center;
2318
+ min-width: 1.35rem;
2319
+ padding: 0.1rem 0.3rem;
2320
+ }
2321
+
2322
+ .vh-agent-tool-list > [data-used="true"] .vh-agent-tool-list__count {
2323
+ background: color-mix(in oklab, var(--ui-primary, #2563eb) 14%, transparent);
2324
+ color: var(--ui-primary, #2563eb);
2325
+ }
2326
+
2327
+ .vh-agent-tool-list__chevron {
2328
+ height: 0.8rem;
2329
+ stroke: currentColor;
2330
+ stroke-width: 2;
2331
+ transition: transform 150ms ease;
2332
+ width: 0.8rem;
2333
+ }
2334
+
2335
+ .vh-agent-tool-list__disclosure[open] > summary .vh-agent-tool-list__chevron {
2336
+ transform: rotate(180deg);
2337
+ }
2338
+
2339
+ .vh-agent-tool-list__body {
2340
+ display: grid;
2341
+ gap: 0.65rem;
2342
+ padding: 0.35rem 0.45rem 0.75rem;
2343
+ }
2344
+
2345
+ .vh-agent-tool-list__body > p {
2346
+ color: var(--vh-ui-muted);
2347
+ font-size: 0.75rem;
2348
+ line-height: 1.55;
2349
+ margin: 0;
2350
+ }
2351
+
2352
+ .vh-agent-tool-list__schema strong {
2353
+ color: var(--vh-ui-dimmed);
2354
+ display: block;
2355
+ font-size: 0.625rem;
2356
+ margin-block-end: 0.35rem;
2357
+ text-transform: uppercase;
2358
+ }
2359
+
2360
+ .vh-agent-tool-list__schema pre {
2361
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 65%, transparent);
2362
+ border: 1px solid var(--vh-ui-border);
2363
+ border-radius: calc(var(--vh-ui-radius) * 0.8);
2364
+ color: var(--vh-ui-muted);
2365
+ font-size: 0.625rem;
2366
+ line-height: 1.55;
2367
+ margin: 0;
2368
+ max-height: 18rem;
2369
+ overflow: auto;
2370
+ padding: 0.6rem 0.65rem;
2371
+ white-space: pre;
2372
+ }
2373
+
2374
+ .vh-invocation-inspector__item,
2375
+ .vh-invocation-inspector__item-disclosure summary {
2376
+ align-items: center;
2377
+ border-radius: calc(var(--vh-ui-radius) * 0.8);
2378
+ display: flex;
2379
+ gap: 0.45rem;
2380
+ min-height: 1.8rem;
2381
+ padding: 0.3rem 0.45rem;
2382
+ }
2383
+
2384
+ .vh-invocation-inspector__item code,
2385
+ .vh-invocation-inspector__item-disclosure summary code {
2386
+ flex: 1;
2387
+ font-size: 0.6875rem;
2388
+ min-width: 0;
2389
+ overflow-wrap: anywhere;
2390
+ }
2391
+
2392
+ .vh-invocation-inspector__item-disclosure summary:hover {
2393
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 70%, transparent);
2394
+ }
2395
+
2396
+ .vh-invocation-inspector__item-disclosure summary small {
2397
+ color: var(--vh-ui-dimmed);
2398
+ font-size: 0.625rem;
2399
+ }
2400
+
2401
+ .vh-invocation-inspector__items {
2402
+ display: flex;
2403
+ flex-wrap: wrap;
2404
+ gap: 0.35rem;
2405
+ list-style: none;
2406
+ margin: 0.6rem 0 0;
2407
+ padding: 0;
2408
+ }
2409
+
2410
+ .vh-invocation-inspector__items li {
2411
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 72%, transparent);
2412
+ border: 1px solid var(--vh-ui-border);
2413
+ border-radius: calc(var(--vh-ui-radius) * 0.8);
2414
+ color: var(--vh-ui-muted);
2415
+ max-width: 100%;
2416
+ padding: 0.25rem 0.45rem;
2417
+ }
2418
+
2419
+ .vh-invocation-inspector__items code {
2420
+ display: block;
2421
+ font-size: 0.6875rem;
2422
+ overflow-wrap: anywhere;
2423
+ }
2424
+
2425
+ .vh-invocation-inspector__item-disclosure pre,
2426
+ .vh-invocation-inspector__instructions {
2427
+ background: color-mix(in oklab, var(--vh-ui-bg-elevated) 65%, transparent);
2428
+ border: 1px solid var(--vh-ui-border);
2429
+ border-radius: calc(var(--vh-ui-radius) * 0.8);
2430
+ color: var(--vh-ui-muted);
2431
+ font-size: 0.625rem;
2432
+ line-height: 1.55;
2433
+ margin: 0.4rem 0 0;
2434
+ max-height: 18rem;
2435
+ overflow: auto;
2436
+ padding: 0.6rem 0.65rem;
2437
+ white-space: pre-wrap;
2438
+ }
2439
+
2440
+ .vh-invocation-inspector__instructions {
2441
+ margin-block-start: 0.65rem;
2442
+ }
2443
+
2444
+ @container (max-width: 19rem) {
2445
+ .vh-invocation-inspector__metrics {
2446
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2447
+ }
2448
+
2449
+ .vh-invocation-inspector__list > div {
2450
+ grid-template-columns: minmax(0, 1fr);
2451
+ }
2452
+
2453
+ .vh-invocation-inspector__list dd {
2454
+ text-align: start;
2455
+ }
2456
+ }
2457
+
2458
+ .vh-invocation-empty {
2459
+ align-items: center;
2460
+ color: var(--vh-ui-dimmed);
2461
+ display: flex;
2462
+ flex-direction: column;
2463
+ gap: 0.6rem;
2464
+ justify-content: center;
2465
+ min-height: 16rem;
2466
+ }
2467
+
2468
+ .vh-invocation-empty p {
2469
+ font-size: 0.8125rem;
2470
+ margin: 0;
2471
+ }
2472
+
2473
+ @container (max-width: 600px) {
2474
+ .vh-invocation-thread__content {
2475
+ padding: 1.5rem 1rem 3rem;
2476
+ }
2477
+
2478
+ .vh-invocation-message[data-role="user"] {
2479
+ margin-inline-start: 1rem;
2480
+ }
2481
+ }
2482
+
2483
+ @media (max-width: 600px) {
2484
+ .vh-invocation-thread__content {
2485
+ padding: 1.5rem 1rem 3rem;
2486
+ }
2487
+
2488
+ .vh-invocation-message[data-role="user"] {
2489
+ margin-inline-start: 1rem;
2490
+ }
2491
+ }
2492
+
2493
+ .vh-code-view,
2494
+ .vh-diff,
2495
+ .vh-file,
2496
+ .vh-unresolved-file,
2497
+ .vh-file-tree {
2498
+ border: 1px solid var(--vh-ui-border);
2499
+ border-radius: var(--vh-ui-radius);
2500
+ display: block;
2501
+ overflow: hidden;
2502
+ }
2503
+
2504
+ .vh-code-view,
2505
+ .vh-diff,
2506
+ .vh-file,
2507
+ .vh-unresolved-file {
2508
+ --diffs-addition-base: var(--vh-ui-success);
2509
+ --diffs-bg: var(--vh-ui-bg);
2510
+ --diffs-bg-addition: color-mix(in oklab, var(--vh-ui-success) 12%, var(--vh-ui-bg));
2511
+ --diffs-bg-addition-emphasis: color-mix(in oklab, var(--vh-ui-success) 22%, var(--vh-ui-bg));
2512
+ --diffs-bg-buffer: var(--vh-ui-bg-muted);
2513
+ --diffs-bg-context: var(--vh-ui-bg);
2514
+ --diffs-bg-context-gutter: color-mix(in oklab, var(--vh-ui-bg-muted) 72%, var(--vh-ui-bg));
2515
+ --diffs-bg-deletion: color-mix(in oklab, var(--vh-ui-error) 12%, var(--vh-ui-bg));
2516
+ --diffs-bg-deletion-emphasis: color-mix(in oklab, var(--vh-ui-error) 22%, var(--vh-ui-bg));
2517
+ --diffs-bg-separator: var(--vh-ui-bg-muted);
2518
+ --diffs-deletion-base: var(--vh-ui-error);
2519
+ --diffs-fg: var(--vh-ui-text);
2520
+ --diffs-fg-conflict-marker: var(--vh-ui-muted);
2521
+ --diffs-fg-number: var(--vh-ui-dimmed);
2522
+ --diffs-font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2523
+ --diffs-font-size: 0.8125rem;
2524
+ --diffs-header-font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
2525
+ --diffs-modified-base: var(--vh-ui-info);
2526
+ background: var(--vh-ui-bg);
2527
+ color: var(--vh-ui-text);
2528
+ min-height: 4rem;
2529
+ }
2530
+
2531
+ .vh-code-view {
2532
+ min-height: 12rem;
2533
+ }
2534
+
2535
+ .vh-file-tree {
2536
+ height: 24rem;
2537
+ }
2538
+
2539
+ .vh-visually-hidden {
2540
+ clip: rect(0 0 0 0);
2541
+ clip-path: inset(50%);
2542
+ height: 1px;
2543
+ overflow: hidden;
2544
+ position: absolute;
2545
+ white-space: nowrap;
2546
+ width: 1px;
2547
+ }
2548
+
2549
+ @media (prefers-reduced-motion: reduce) {
2550
+ .vh-chat__viewport {
2551
+ scroll-behavior: auto;
2552
+ }
2553
+
2554
+ .vh-invocation-list__item[data-status="running"] .vh-invocation-list__state-icon svg,
2555
+ .vh-invocation-inspector[data-status="running"] .vh-invocation-inspector__status-icon svg {
2556
+ animation: none;
2557
+ }
2558
+
2559
+ .vh-invocation-inspector__chevron {
2560
+ transition: none;
2561
+ }
2562
+ }