relay-ide 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/README.md +259 -0
  2. package/dist/bin/claude-remote-cli.js +390 -0
  3. package/dist/bin/relay-ide.js +390 -0
  4. package/dist/frontend/assets/abap-BdImnpbu.js +1 -0
  5. package/dist/frontend/assets/actionscript-3-CoDkCxhg.js +1 -0
  6. package/dist/frontend/assets/ada-bCR0ucgS.js +1 -0
  7. package/dist/frontend/assets/andromeeda-C4gqWexZ.js +1 -0
  8. package/dist/frontend/assets/angular-html-DA-rfuFy.js +1 -0
  9. package/dist/frontend/assets/angular-ts-BrjP3tb8.js +1 -0
  10. package/dist/frontend/assets/apache-Pmp26Uib.js +1 -0
  11. package/dist/frontend/assets/apex-D8_7TLub.js +1 -0
  12. package/dist/frontend/assets/apl-CORt7UWP.js +1 -0
  13. package/dist/frontend/assets/applescript-Co6uUVPk.js +1 -0
  14. package/dist/frontend/assets/ara-BRHolxvo.js +1 -0
  15. package/dist/frontend/assets/asciidoc-Ve4PFQV2.js +1 -0
  16. package/dist/frontend/assets/asm-D_Q5rh1f.js +1 -0
  17. package/dist/frontend/assets/astro-HNnZUWAn.js +1 -0
  18. package/dist/frontend/assets/aurora-x-D-2ljcwZ.js +1 -0
  19. package/dist/frontend/assets/awk-DMzUqQB5.js +1 -0
  20. package/dist/frontend/assets/ayu-dark-DYE7WIF3.js +1 -0
  21. package/dist/frontend/assets/ayu-light-BA47KaF1.js +1 -0
  22. package/dist/frontend/assets/ayu-mirage-32ctXXKs.js +1 -0
  23. package/dist/frontend/assets/ballerina-BFfxhgS-.js +1 -0
  24. package/dist/frontend/assets/bat-BkioyH1T.js +1 -0
  25. package/dist/frontend/assets/beancount-k_qm7-4y.js +1 -0
  26. package/dist/frontend/assets/berry-uYugtg8r.js +1 -0
  27. package/dist/frontend/assets/bibtex-CHM0blh-.js +1 -0
  28. package/dist/frontend/assets/bicep-Bmn6On1c.js +1 -0
  29. package/dist/frontend/assets/bird2-BIv1doCn.js +1 -0
  30. package/dist/frontend/assets/blade-BjGOyj-B.js +1 -0
  31. package/dist/frontend/assets/bsl-BO_Y6i37.js +1 -0
  32. package/dist/frontend/assets/c-BIGW1oBm.js +1 -0
  33. package/dist/frontend/assets/c3-eo99z4R2.js +1 -0
  34. package/dist/frontend/assets/cadence-Bv_4Rxtq.js +1 -0
  35. package/dist/frontend/assets/cairo-KRGpt6FW.js +1 -0
  36. package/dist/frontend/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  37. package/dist/frontend/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  38. package/dist/frontend/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  39. package/dist/frontend/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  40. package/dist/frontend/assets/clarity-D53aC0YG.js +1 -0
  41. package/dist/frontend/assets/clojure-P80f7IUj.js +1 -0
  42. package/dist/frontend/assets/cmake-D1j8_8rp.js +1 -0
  43. package/dist/frontend/assets/cobol-nBiQ_Alo.js +1 -0
  44. package/dist/frontend/assets/codeowners-Bp6g37R7.js +1 -0
  45. package/dist/frontend/assets/codeql-DsOJ9woJ.js +1 -0
  46. package/dist/frontend/assets/coffee-Ch7k5sss.js +1 -0
  47. package/dist/frontend/assets/common-lisp-Cg-RD9OK.js +1 -0
  48. package/dist/frontend/assets/coq-DkFqJrB1.js +1 -0
  49. package/dist/frontend/assets/cpp-CofmeUqb.js +1 -0
  50. package/dist/frontend/assets/crystal-DNxU26gB.js +1 -0
  51. package/dist/frontend/assets/csharp-COcwbKMJ.js +1 -0
  52. package/dist/frontend/assets/css-CLj8gQPS.js +1 -0
  53. package/dist/frontend/assets/csv-fuZLfV_i.js +1 -0
  54. package/dist/frontend/assets/cue-D82EKSYY.js +1 -0
  55. package/dist/frontend/assets/cypher-COkxafJQ.js +1 -0
  56. package/dist/frontend/assets/d-85-TOEBH.js +1 -0
  57. package/dist/frontend/assets/dark-plus-C3mMm8J8.js +1 -0
  58. package/dist/frontend/assets/dart-bE4Kk8sk.js +1 -0
  59. package/dist/frontend/assets/dax-CEL-wOlO.js +1 -0
  60. package/dist/frontend/assets/desktop-BmXAJ9_W.js +1 -0
  61. package/dist/frontend/assets/diff-D97Zzqfu.js +1 -0
  62. package/dist/frontend/assets/docker-BcOcwvcX.js +1 -0
  63. package/dist/frontend/assets/dotenv-Da5cRb03.js +1 -0
  64. package/dist/frontend/assets/dracula-BzJJZx-M.js +1 -0
  65. package/dist/frontend/assets/dracula-soft-BXkSAIEj.js +1 -0
  66. package/dist/frontend/assets/dream-maker-BtqSS_iP.js +1 -0
  67. package/dist/frontend/assets/edge-FbVlp4U3.js +1 -0
  68. package/dist/frontend/assets/elixir-CkH2-t6x.js +1 -0
  69. package/dist/frontend/assets/elm-DbKCFpqz.js +1 -0
  70. package/dist/frontend/assets/emacs-lisp-CXvaQtF9.js +1 -0
  71. package/dist/frontend/assets/erb-BYCe7drp.js +1 -0
  72. package/dist/frontend/assets/erlang-DsQrWhSR.js +1 -0
  73. package/dist/frontend/assets/everforest-dark-BgDCqdQA.js +1 -0
  74. package/dist/frontend/assets/everforest-light-C8M2exoo.js +1 -0
  75. package/dist/frontend/assets/fennel-BYunw83y.js +1 -0
  76. package/dist/frontend/assets/fish-BvzEVeQv.js +1 -0
  77. package/dist/frontend/assets/fluent-C4IJs8-o.js +1 -0
  78. package/dist/frontend/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  79. package/dist/frontend/assets/fortran-free-form-BxgE0vQu.js +1 -0
  80. package/dist/frontend/assets/fsharp-CXgrBDvD.js +1 -0
  81. package/dist/frontend/assets/gdresource-BOOCDP_w.js +1 -0
  82. package/dist/frontend/assets/gdscript-C5YyOfLZ.js +1 -0
  83. package/dist/frontend/assets/gdshader-DkwncUOv.js +1 -0
  84. package/dist/frontend/assets/genie-D0YGMca9.js +1 -0
  85. package/dist/frontend/assets/gherkin-DyxjwDmM.js +1 -0
  86. package/dist/frontend/assets/git-commit-F4YmCXRG.js +1 -0
  87. package/dist/frontend/assets/git-rebase-r7XF79zn.js +1 -0
  88. package/dist/frontend/assets/github-dark-DHJKELXO.js +1 -0
  89. package/dist/frontend/assets/github-dark-default-Cuk6v7N8.js +1 -0
  90. package/dist/frontend/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  91. package/dist/frontend/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  92. package/dist/frontend/assets/github-light-DAi9KRSo.js +1 -0
  93. package/dist/frontend/assets/github-light-default-D7oLnXFd.js +1 -0
  94. package/dist/frontend/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  95. package/dist/frontend/assets/gleam-BspZqrRM.js +1 -0
  96. package/dist/frontend/assets/glimmer-js-ByusRIyA.js +1 -0
  97. package/dist/frontend/assets/glimmer-ts-BfAWNZQY.js +1 -0
  98. package/dist/frontend/assets/glsl-DplSGwfg.js +1 -0
  99. package/dist/frontend/assets/gn-n2N0HUVH.js +1 -0
  100. package/dist/frontend/assets/gnuplot-DdkO51Og.js +1 -0
  101. package/dist/frontend/assets/go-C27-OAKa.js +1 -0
  102. package/dist/frontend/assets/graphql-ChdNCCLP.js +1 -0
  103. package/dist/frontend/assets/groovy-gcz8RCvz.js +1 -0
  104. package/dist/frontend/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  105. package/dist/frontend/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  106. package/dist/frontend/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  107. package/dist/frontend/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  108. package/dist/frontend/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  109. package/dist/frontend/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  110. package/dist/frontend/assets/hack-i7_Ulhet.js +1 -0
  111. package/dist/frontend/assets/haml-D5jkg6IW.js +1 -0
  112. package/dist/frontend/assets/handlebars-BpdQsYii.js +1 -0
  113. package/dist/frontend/assets/haskell-Df6bDoY_.js +1 -0
  114. package/dist/frontend/assets/haxe-CzTSHFRz.js +1 -0
  115. package/dist/frontend/assets/hcl-BWvSN4gD.js +1 -0
  116. package/dist/frontend/assets/hjson-D5-asLiD.js +1 -0
  117. package/dist/frontend/assets/hlsl-D3lLCCz7.js +1 -0
  118. package/dist/frontend/assets/horizon-BUw7H-hv.js +1 -0
  119. package/dist/frontend/assets/horizon-bright-CUuTKBJd.js +1 -0
  120. package/dist/frontend/assets/houston-DnULxvSX.js +1 -0
  121. package/dist/frontend/assets/html-derivative-DlHx6ybY.js +1 -0
  122. package/dist/frontend/assets/html-pp8916En.js +1 -0
  123. package/dist/frontend/assets/http-jrhK8wxY.js +1 -0
  124. package/dist/frontend/assets/hurl-irOxFIW8.js +1 -0
  125. package/dist/frontend/assets/hxml-Bvhsp5Yf.js +1 -0
  126. package/dist/frontend/assets/hy-DFXneXwc.js +1 -0
  127. package/dist/frontend/assets/imba-DGztddWO.js +1 -0
  128. package/dist/frontend/assets/ini-BEwlwnbL.js +1 -0
  129. package/dist/frontend/assets/java-CylS5w8V.js +1 -0
  130. package/dist/frontend/assets/javascript-wDzz0qaB.js +1 -0
  131. package/dist/frontend/assets/jinja-f2NsQr07.js +1 -0
  132. package/dist/frontend/assets/jison-wvAkD_A8.js +1 -0
  133. package/dist/frontend/assets/json-Cp-IABpG.js +1 -0
  134. package/dist/frontend/assets/json5-C9tS-k6U.js +1 -0
  135. package/dist/frontend/assets/jsonc-Des-eS-w.js +1 -0
  136. package/dist/frontend/assets/jsonl-DcaNXYhu.js +1 -0
  137. package/dist/frontend/assets/jsonnet-DFQXde-d.js +1 -0
  138. package/dist/frontend/assets/jssm-C2t-YnRu.js +1 -0
  139. package/dist/frontend/assets/jsx-g9-lgVsj.js +1 -0
  140. package/dist/frontend/assets/julia-CxzCAyBv.js +1 -0
  141. package/dist/frontend/assets/just-VxiPbLrw.js +1 -0
  142. package/dist/frontend/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  143. package/dist/frontend/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  144. package/dist/frontend/assets/kanagawa-wave-DWedfzmr.js +1 -0
  145. package/dist/frontend/assets/kdl-DV7GczEv.js +1 -0
  146. package/dist/frontend/assets/kotlin-BdnUsdx6.js +1 -0
  147. package/dist/frontend/assets/kusto-wEQ09or8.js +1 -0
  148. package/dist/frontend/assets/laserwave-DUszq2jm.js +1 -0
  149. package/dist/frontend/assets/latex-CWtU0Tv5.js +1 -0
  150. package/dist/frontend/assets/lean-BZvkOJ9d.js +1 -0
  151. package/dist/frontend/assets/less-B1dDrJ26.js +1 -0
  152. package/dist/frontend/assets/light-plus-B7mTdjB0.js +1 -0
  153. package/dist/frontend/assets/liquid-C0sCDyMI.js +1 -0
  154. package/dist/frontend/assets/llvm-DjAJT7YJ.js +1 -0
  155. package/dist/frontend/assets/log-2UxHyX5q.js +1 -0
  156. package/dist/frontend/assets/logo-BtOb2qkB.js +1 -0
  157. package/dist/frontend/assets/lua-BaeVxFsk.js +1 -0
  158. package/dist/frontend/assets/luau-C-HG3fhB.js +1 -0
  159. package/dist/frontend/assets/main-CL5_Wlhv.css +32 -0
  160. package/dist/frontend/assets/main-Czet4Z1x.js +371 -0
  161. package/dist/frontend/assets/make-CHLpvVh8.js +1 -0
  162. package/dist/frontend/assets/markdown-Cvjx9yec.js +1 -0
  163. package/dist/frontend/assets/marko-DjSrsDqO.js +1 -0
  164. package/dist/frontend/assets/material-theme-D5KoaKCx.js +1 -0
  165. package/dist/frontend/assets/material-theme-darker-BfHTSMKl.js +1 -0
  166. package/dist/frontend/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  167. package/dist/frontend/assets/material-theme-ocean-CyktbL80.js +1 -0
  168. package/dist/frontend/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  169. package/dist/frontend/assets/matlab-D7o27uSR.js +1 -0
  170. package/dist/frontend/assets/mdc-DTYItulj.js +1 -0
  171. package/dist/frontend/assets/mdx-Cmh6b_Ma.js +1 -0
  172. package/dist/frontend/assets/mermaid-mWjccvbQ.js +1 -0
  173. package/dist/frontend/assets/min-dark-CafNBF8u.js +1 -0
  174. package/dist/frontend/assets/min-light-CTRr51gU.js +1 -0
  175. package/dist/frontend/assets/mipsasm-CKIfxQSi.js +1 -0
  176. package/dist/frontend/assets/mojo-rZm6bMo-.js +1 -0
  177. package/dist/frontend/assets/monokai-D4h5O-jR.js +1 -0
  178. package/dist/frontend/assets/moonbit-_H4v1dQx.js +1 -0
  179. package/dist/frontend/assets/move-IF9eRakj.js +1 -0
  180. package/dist/frontend/assets/narrat-DRg8JJMk.js +1 -0
  181. package/dist/frontend/assets/nextflow-C-mBbutL.js +1 -0
  182. package/dist/frontend/assets/nextflow-groovy-vE_lwT2v.js +1 -0
  183. package/dist/frontend/assets/nginx-BpAMiNFr.js +1 -0
  184. package/dist/frontend/assets/night-owl-C39BiMTA.js +1 -0
  185. package/dist/frontend/assets/night-owl-light-CMTm3GFP.js +1 -0
  186. package/dist/frontend/assets/nim-BIad80T-.js +1 -0
  187. package/dist/frontend/assets/nix-CwoSXNpI.js +1 -0
  188. package/dist/frontend/assets/nord-Ddv68eIx.js +1 -0
  189. package/dist/frontend/assets/nushell-Cz2AlsmD.js +1 -0
  190. package/dist/frontend/assets/objective-c-DXmwc3jG.js +1 -0
  191. package/dist/frontend/assets/objective-cpp-CLxacb5B.js +1 -0
  192. package/dist/frontend/assets/ocaml-C0hk2d4L.js +1 -0
  193. package/dist/frontend/assets/odin-BBf5iR-q.js +1 -0
  194. package/dist/frontend/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  195. package/dist/frontend/assets/one-light-C3Wv6jpd.js +1 -0
  196. package/dist/frontend/assets/openscad-C4EeE6gA.js +1 -0
  197. package/dist/frontend/assets/pascal-D93ZcfNL.js +1 -0
  198. package/dist/frontend/assets/perl-NvoQZIq0.js +1 -0
  199. package/dist/frontend/assets/php-R6g_5hLQ.js +1 -0
  200. package/dist/frontend/assets/pkl-u5AG7uiY.js +1 -0
  201. package/dist/frontend/assets/plastic-3e1v2bzS.js +1 -0
  202. package/dist/frontend/assets/plsql-ChMvpjG-.js +1 -0
  203. package/dist/frontend/assets/po-BTJTHyun.js +1 -0
  204. package/dist/frontend/assets/poimandres-CS3Unz2-.js +1 -0
  205. package/dist/frontend/assets/polar-C0HS_06l.js +1 -0
  206. package/dist/frontend/assets/postcss-CXtECtnM.js +1 -0
  207. package/dist/frontend/assets/powerquery-CEu0bR-o.js +1 -0
  208. package/dist/frontend/assets/powershell-Dpen1YoG.js +1 -0
  209. package/dist/frontend/assets/prisma-Dd19v3D-.js +1 -0
  210. package/dist/frontend/assets/prolog-CbFg5uaA.js +1 -0
  211. package/dist/frontend/assets/proto-C7zT0LnQ.js +1 -0
  212. package/dist/frontend/assets/pug-DKIMFp6K.js +1 -0
  213. package/dist/frontend/assets/puppet-BMWR74SV.js +1 -0
  214. package/dist/frontend/assets/purescript-CklMAg4u.js +1 -0
  215. package/dist/frontend/assets/python-B6aJPvgy.js +1 -0
  216. package/dist/frontend/assets/qml-3beO22l8.js +1 -0
  217. package/dist/frontend/assets/qmldir-C8lEn-DE.js +1 -0
  218. package/dist/frontend/assets/qss-IeuSbFQv.js +1 -0
  219. package/dist/frontend/assets/r-Dspwwk_N.js +1 -0
  220. package/dist/frontend/assets/racket-BqYA7rlc.js +1 -0
  221. package/dist/frontend/assets/raku-DXvB9xmW.js +1 -0
  222. package/dist/frontend/assets/razor-BDqjjVU7.js +1 -0
  223. package/dist/frontend/assets/red-bN70gL4F.js +1 -0
  224. package/dist/frontend/assets/reg-C-SQnVFl.js +1 -0
  225. package/dist/frontend/assets/regexp-CDVJQ6XC.js +1 -0
  226. package/dist/frontend/assets/rel-C3B-1QV4.js +1 -0
  227. package/dist/frontend/assets/riscv-BM1_JUlF.js +1 -0
  228. package/dist/frontend/assets/ron-D8l8udqQ.js +1 -0
  229. package/dist/frontend/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  230. package/dist/frontend/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  231. package/dist/frontend/assets/rose-pine-qdsjHGoJ.js +1 -0
  232. package/dist/frontend/assets/rosmsg-BJDFO7_C.js +1 -0
  233. package/dist/frontend/assets/rst-CRjBmOyv.js +1 -0
  234. package/dist/frontend/assets/ruby-Wjq7vjNf.js +1 -0
  235. package/dist/frontend/assets/rust-B1yitclQ.js +1 -0
  236. package/dist/frontend/assets/sas-cz2c8ADy.js +1 -0
  237. package/dist/frontend/assets/sass-Cj5Yp3dK.js +1 -0
  238. package/dist/frontend/assets/scala-C151Ov-r.js +1 -0
  239. package/dist/frontend/assets/scheme-C98Dy4si.js +1 -0
  240. package/dist/frontend/assets/scss-D5BDwBP9.js +1 -0
  241. package/dist/frontend/assets/sdbl-DVxCFoDh.js +1 -0
  242. package/dist/frontend/assets/shaderlab-Dg9Lc6iA.js +1 -0
  243. package/dist/frontend/assets/shellscript-Yzrsuije.js +1 -0
  244. package/dist/frontend/assets/shellsession-BADoaaVG.js +1 -0
  245. package/dist/frontend/assets/slack-dark-BthQWCQV.js +1 -0
  246. package/dist/frontend/assets/slack-ochin-DqwNpetd.js +1 -0
  247. package/dist/frontend/assets/smalltalk-BERRCDM3.js +1 -0
  248. package/dist/frontend/assets/snazzy-light-Bw305WKR.js +1 -0
  249. package/dist/frontend/assets/solarized-dark-DXbdFlpD.js +1 -0
  250. package/dist/frontend/assets/solarized-light-L9t79GZl.js +1 -0
  251. package/dist/frontend/assets/solidity-rGO070M0.js +1 -0
  252. package/dist/frontend/assets/soy-8wufbnw4.js +1 -0
  253. package/dist/frontend/assets/sparql-rVzFXLq3.js +1 -0
  254. package/dist/frontend/assets/splunk-BtCnVYZw.js +1 -0
  255. package/dist/frontend/assets/sql-BLtJtn59.js +1 -0
  256. package/dist/frontend/assets/ssh-config-_ykCGR6B.js +1 -0
  257. package/dist/frontend/assets/stata-BH5u7GGu.js +1 -0
  258. package/dist/frontend/assets/stylus-BEDo0Tqx.js +1 -0
  259. package/dist/frontend/assets/surrealql-Bq5Q-fJD.js +1 -0
  260. package/dist/frontend/assets/svelte-Cy7k_4gC.js +1 -0
  261. package/dist/frontend/assets/swift-D82vCrfD.js +1 -0
  262. package/dist/frontend/assets/synthwave-84-CbfX1IO0.js +1 -0
  263. package/dist/frontend/assets/system-verilog-CnnmHF94.js +1 -0
  264. package/dist/frontend/assets/systemd-4A_iFExJ.js +1 -0
  265. package/dist/frontend/assets/talonscript-CkByrt1z.js +1 -0
  266. package/dist/frontend/assets/tasl-QIJgUcNo.js +1 -0
  267. package/dist/frontend/assets/tcl-dwOrl1Do.js +1 -0
  268. package/dist/frontend/assets/templ-DhtptRzy.js +1 -0
  269. package/dist/frontend/assets/terraform-BETggiCN.js +1 -0
  270. package/dist/frontend/assets/tex-idrVyKtj.js +1 -0
  271. package/dist/frontend/assets/tokyo-night-hegEt444.js +1 -0
  272. package/dist/frontend/assets/toml-vGWfd6FD.js +1 -0
  273. package/dist/frontend/assets/ts-tags-DQrlYJgV.js +1 -0
  274. package/dist/frontend/assets/tsv-B_m7g4N7.js +1 -0
  275. package/dist/frontend/assets/tsx-COt5Ahok.js +1 -0
  276. package/dist/frontend/assets/turtle-BsS91CYL.js +1 -0
  277. package/dist/frontend/assets/twig-xg9kU7Mw.js +1 -0
  278. package/dist/frontend/assets/typescript-BPQ3VLAy.js +1 -0
  279. package/dist/frontend/assets/typespec-CAFt9gP4.js +1 -0
  280. package/dist/frontend/assets/typst-DHCkPAjA.js +1 -0
  281. package/dist/frontend/assets/v-BcVCzyr7.js +1 -0
  282. package/dist/frontend/assets/vala-CsfeWuGM.js +1 -0
  283. package/dist/frontend/assets/vb-D17OF-Vu.js +1 -0
  284. package/dist/frontend/assets/verilog-BQ8w6xss.js +1 -0
  285. package/dist/frontend/assets/vesper-DU1UobuO.js +1 -0
  286. package/dist/frontend/assets/vhdl-CeAyd5Ju.js +1 -0
  287. package/dist/frontend/assets/viml-CJc9bBzg.js +1 -0
  288. package/dist/frontend/assets/vitesse-black-Bkuqu6BP.js +1 -0
  289. package/dist/frontend/assets/vitesse-dark-D0r3Knsf.js +1 -0
  290. package/dist/frontend/assets/vitesse-light-CVO1_9PV.js +1 -0
  291. package/dist/frontend/assets/vue-D2xRrEX4.js +1 -0
  292. package/dist/frontend/assets/vue-html-AaS7Mt5G.js +1 -0
  293. package/dist/frontend/assets/vue-vine-BoDAl6tE.js +1 -0
  294. package/dist/frontend/assets/vyper-CDx5xZoG.js +1 -0
  295. package/dist/frontend/assets/wasm-CG6Dc4jp.js +1 -0
  296. package/dist/frontend/assets/wasm-MzD3tlZU.js +1 -0
  297. package/dist/frontend/assets/wenyan-BV7otONQ.js +1 -0
  298. package/dist/frontend/assets/wgsl-Dx-B1_4e.js +1 -0
  299. package/dist/frontend/assets/wikitext-BhOHFoWU.js +1 -0
  300. package/dist/frontend/assets/wit-5i3qLPDT.js +1 -0
  301. package/dist/frontend/assets/wolfram-lXgVvXCa.js +1 -0
  302. package/dist/frontend/assets/xml-sdJ4AIDG.js +1 -0
  303. package/dist/frontend/assets/xsl-CtQFsRM5.js +1 -0
  304. package/dist/frontend/assets/yaml-Buea-lGh.js +1 -0
  305. package/dist/frontend/assets/zenscript-DVFEvuxE.js +1 -0
  306. package/dist/frontend/assets/zig-VOosw3JB.js +1 -0
  307. package/dist/frontend/icon-192.png +0 -0
  308. package/dist/frontend/icon-512.png +0 -0
  309. package/dist/frontend/icon.svg +8 -0
  310. package/dist/frontend/index.html +30 -0
  311. package/dist/frontend/manifest.json +25 -0
  312. package/dist/frontend/sw.js +66 -0
  313. package/dist/server/agent-events.js +39 -0
  314. package/dist/server/analytics.js +885 -0
  315. package/dist/server/auth.js +65 -0
  316. package/dist/server/belayer/executor.js +200 -0
  317. package/dist/server/belayer/intake.js +27 -0
  318. package/dist/server/belayer/pipeline.js +97 -0
  319. package/dist/server/belayer/pr-lifecycle.js +69 -0
  320. package/dist/server/belayer/prompts.js +154 -0
  321. package/dist/server/belayer/types.js +23 -0
  322. package/dist/server/branch-linker.js +137 -0
  323. package/dist/server/browser-content.js +145 -0
  324. package/dist/server/clipboard.js +63 -0
  325. package/dist/server/codex-hooks-adapter.js +93 -0
  326. package/dist/server/config.js +325 -0
  327. package/dist/server/gh-routes.js +163 -0
  328. package/dist/server/gh.js +276 -0
  329. package/dist/server/git-routes.js +154 -0
  330. package/dist/server/git.js +694 -0
  331. package/dist/server/github-app.js +218 -0
  332. package/dist/server/github-graphql.js +178 -0
  333. package/dist/server/hooks.js +373 -0
  334. package/dist/server/index.js +1549 -0
  335. package/dist/server/integration-github.js +137 -0
  336. package/dist/server/integration-jira.js +210 -0
  337. package/dist/server/integration-linear.js +176 -0
  338. package/dist/server/logger.js +18 -0
  339. package/dist/server/mobile-input-pipeline.js +129 -0
  340. package/dist/server/opencode-relay.js +53 -0
  341. package/dist/server/org-dashboard.js +241 -0
  342. package/dist/server/output-parsers/claude-parser.js +56 -0
  343. package/dist/server/output-parsers/codex-parser.js +13 -0
  344. package/dist/server/output-parsers/index.js +14 -0
  345. package/dist/server/output-parsers/null-parser.js +12 -0
  346. package/dist/server/output-parsers/opencode-parser.js +77 -0
  347. package/dist/server/pty-handler.js +586 -0
  348. package/dist/server/push.js +84 -0
  349. package/dist/server/review-poller.js +237 -0
  350. package/dist/server/sdk-handler.js +539 -0
  351. package/dist/server/service.js +189 -0
  352. package/dist/server/sessions.js +638 -0
  353. package/dist/server/telemetry.js +236 -0
  354. package/dist/server/ticket-transitions.js +166 -0
  355. package/dist/server/types.js +146 -0
  356. package/dist/server/utils.js +23 -0
  357. package/dist/server/watcher.js +661 -0
  358. package/dist/server/webhook-manager.js +547 -0
  359. package/dist/server/webhooks.js +73 -0
  360. package/dist/server/workspace-groups.js +363 -0
  361. package/dist/server/workspaces.js +1207 -0
  362. package/dist/server/ws.js +192 -0
  363. package/dist/test/EmptyState.spec.js +51 -0
  364. package/dist/test/action-coverage.test.js +139 -0
  365. package/dist/test/actions/registry.test.js +59 -0
  366. package/dist/test/actions/shortcuts.test.js +79 -0
  367. package/dist/test/agent-events.test.js +151 -0
  368. package/dist/test/analytics.test.js +158 -0
  369. package/dist/test/attention.test.js +91 -0
  370. package/dist/test/auth.test.js +105 -0
  371. package/dist/test/backend-state.test.js +47 -0
  372. package/dist/test/belayer-executor.test.js +33 -0
  373. package/dist/test/belayer-intake.test.js +44 -0
  374. package/dist/test/belayer-pipeline.test.js +113 -0
  375. package/dist/test/belayer-pr-lifecycle.test.js +26 -0
  376. package/dist/test/belayer-prompts.test.js +60 -0
  377. package/dist/test/belayer-types.test.js +69 -0
  378. package/dist/test/bin/claude-remote-cli.js +214 -0
  379. package/dist/test/boot-state.test.js +133 -0
  380. package/dist/test/branch-lifecycle.test.js +75 -0
  381. package/dist/test/branch-linker.test.js +236 -0
  382. package/dist/test/branch-rename.test.js +45 -0
  383. package/dist/test/branch-watcher.test.js +115 -0
  384. package/dist/test/browser-cli.test.js +91 -0
  385. package/dist/test/browser-content.test.js +93 -0
  386. package/dist/test/browser-tabs-ui.test.js +39 -0
  387. package/dist/test/changed-files-api.test.js +140 -0
  388. package/dist/test/clipboard.test.js +12 -0
  389. package/dist/test/codex-hooks-adapter.test.js +237 -0
  390. package/dist/test/components/EmptyState.spec.js +51 -0
  391. package/dist/test/components/ErrorToast.spec.js +65 -0
  392. package/dist/test/components/TuiCheckbox.spec.js +120 -0
  393. package/dist/test/components/TuiInput.spec.js +186 -0
  394. package/dist/test/components/leaf-component-migration.spec.js +104 -0
  395. package/dist/test/config-freshness.test.js +63 -0
  396. package/dist/test/config.test.js +813 -0
  397. package/dist/test/diff-summary.test.js +98 -0
  398. package/dist/test/display-state.test.js +179 -0
  399. package/dist/test/event-message-types.test.js +32 -0
  400. package/dist/test/file-tree-utils.test.js +167 -0
  401. package/dist/test/framework-types.test.js +183 -0
  402. package/dist/test/frameworks-api.test.js +93 -0
  403. package/dist/test/frontend/src/lib/pr-state.js +114 -0
  404. package/dist/test/fs-browse.test.js +246 -0
  405. package/dist/test/fuzzy-scorer.test.js +145 -0
  406. package/dist/test/gh-routes.test.js +156 -0
  407. package/dist/test/git-changed-files.test.js +152 -0
  408. package/dist/test/git-routes.test.js +146 -0
  409. package/dist/test/git-utils.test.js +68 -0
  410. package/dist/test/git-watcher.test.js +110 -0
  411. package/dist/test/git.test.js +140 -0
  412. package/dist/test/github-app.test.js +455 -0
  413. package/dist/test/github-graphql.test.js +301 -0
  414. package/dist/test/greetings.test.js +83 -0
  415. package/dist/test/hooks-agent-event.test.js +412 -0
  416. package/dist/test/hooks.test.js +149 -0
  417. package/dist/test/integration-github.test.js +220 -0
  418. package/dist/test/integration-jira.test.js +238 -0
  419. package/dist/test/integration-linear.test.js +293 -0
  420. package/dist/test/mobile-input.test.js +235 -0
  421. package/dist/test/opencode-relay.test.js +107 -0
  422. package/dist/test/org-dashboard.test.js +349 -0
  423. package/dist/test/output-parser.test.js +217 -0
  424. package/dist/test/paths.test.js +32 -0
  425. package/dist/test/pr-state.test.js +407 -0
  426. package/dist/test/pr-status.test.js +82 -0
  427. package/dist/test/presets.test.js +242 -0
  428. package/dist/test/pty-handler-multi-agent.test.js +149 -0
  429. package/dist/test/pty-handler.test.js +146 -0
  430. package/dist/test/pull-requests.test.js +78 -0
  431. package/dist/test/review-poller.test.js +349 -0
  432. package/dist/test/server/analytics.js +121 -0
  433. package/dist/test/server/auth.js +63 -0
  434. package/dist/test/server/branch-linker.js +124 -0
  435. package/dist/test/server/clipboard.js +56 -0
  436. package/dist/test/server/config.js +137 -0
  437. package/dist/test/server/git.js +308 -0
  438. package/dist/test/server/hooks.js +196 -0
  439. package/dist/test/server/index.js +1124 -0
  440. package/dist/test/server/integration-github.js +117 -0
  441. package/dist/test/server/integration-jira.js +164 -0
  442. package/dist/test/server/integration-linear.js +176 -0
  443. package/dist/test/server/mobile-input-pipeline.js +123 -0
  444. package/dist/test/server/org-dashboard.js +184 -0
  445. package/dist/test/server/output-parsers/claude-parser.js +54 -0
  446. package/dist/test/server/output-parsers/codex-parser.js +13 -0
  447. package/dist/test/server/output-parsers/index.js +7 -0
  448. package/dist/test/server/pty-handler.js +310 -0
  449. package/dist/test/server/push.js +80 -0
  450. package/dist/test/server/review-poller.js +218 -0
  451. package/dist/test/server/service.js +169 -0
  452. package/dist/test/server/sessions.js +434 -0
  453. package/dist/test/server/ticket-transitions.js +216 -0
  454. package/dist/test/server/types.js +20 -0
  455. package/dist/test/server/utils.js +22 -0
  456. package/dist/test/server/watcher.js +139 -0
  457. package/dist/test/server/workspaces.js +657 -0
  458. package/dist/test/server/ws.js +152 -0
  459. package/dist/test/server-startup.test.js +62 -0
  460. package/dist/test/service.test.js +43 -0
  461. package/dist/test/session-analytics-api.test.js +123 -0
  462. package/dist/test/session-analytics.test.js +425 -0
  463. package/dist/test/session-intent.test.js +249 -0
  464. package/dist/test/sessions.test.js +1152 -0
  465. package/dist/test/sidebar-items.test.js +164 -0
  466. package/dist/test/stores/boot-state-store.test.js +165 -0
  467. package/dist/test/stores/sessions-logic.test.js +191 -0
  468. package/dist/test/stores/toasts-store.test.js +66 -0
  469. package/dist/test/stores/ui-store.test.js +203 -0
  470. package/dist/test/stores/unread-store.test.js +97 -0
  471. package/dist/test/telemetry-api.test.js +54 -0
  472. package/dist/test/telemetry-sync.test.js +68 -0
  473. package/dist/test/telemetry.test.js +295 -0
  474. package/dist/test/terminal-zoom.test.js +102 -0
  475. package/dist/test/test/analytics.test.js +152 -0
  476. package/dist/test/test/auth.test.js +95 -0
  477. package/dist/test/test/branch-linker.test.js +231 -0
  478. package/dist/test/test/branch-rename.test.js +45 -0
  479. package/dist/test/test/clipboard.test.js +12 -0
  480. package/dist/test/test/config.test.js +281 -0
  481. package/dist/test/test/fs-browse.test.js +202 -0
  482. package/dist/test/test/git.test.js +67 -0
  483. package/dist/test/test/hooks.test.js +139 -0
  484. package/dist/test/test/integration-github.test.js +203 -0
  485. package/dist/test/test/integration-jira.test.js +294 -0
  486. package/dist/test/test/integration-linear.test.js +293 -0
  487. package/dist/test/test/mobile-input.test.js +193 -0
  488. package/dist/test/test/org-dashboard.test.js +240 -0
  489. package/dist/test/test/output-parser.test.js +95 -0
  490. package/dist/test/test/paths.test.js +32 -0
  491. package/dist/test/test/pr-state.test.js +220 -0
  492. package/dist/test/test/pull-requests.test.js +67 -0
  493. package/dist/test/test/review-poller.test.js +235 -0
  494. package/dist/test/test/service.test.js +43 -0
  495. package/dist/test/test/sessions.test.js +750 -0
  496. package/dist/test/test/ticket-transitions.test.js +130 -0
  497. package/dist/test/test/version.test.js +34 -0
  498. package/dist/test/test/worktrees.test.js +256 -0
  499. package/dist/test/ticket-transitions.test.js +312 -0
  500. package/dist/test/unread.test.js +23 -0
  501. package/dist/test/version.test.js +34 -0
  502. package/dist/test/webhook-manager.test.js +484 -0
  503. package/dist/test/webhooks.test.js +208 -0
  504. package/dist/test/workspace-groups.test.js +377 -0
  505. package/dist/test/worktrees.test.js +531 -0
  506. package/package.json +88 -0
@@ -0,0 +1,32 @@
1
+ .boot-screen{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100vh;background:var(--bg);flex-direction:column;gap:24px;font-family:var(--font-mono)}.boot-screen__logo{font-size:32px;color:var(--accent);letter-spacing:.1em;font-weight:700;animation:boot-fade-in .4s ease-out}.boot-screen__status{font-size:var(--font-size-sm);color:var(--text-muted);min-height:20px;animation:boot-fade-in .6s ease-out}.boot-screen__progress{display:flex;gap:4px;animation:boot-fade-in .8s ease-out}.boot-screen__dot{width:4px;height:4px;background:var(--accent);border-radius:50%;opacity:.3;animation:boot-dot-pulse 1.2s ease-in-out infinite}.boot-screen__dot:nth-child(2){animation-delay:.2s}.boot-screen__dot:nth-child(3){animation-delay:.4s}.boot-screen__error{font-size:var(--font-size-sm);color:var(--status-error);text-align:center;max-width:320px;line-height:1.5}.boot-screen__error-code{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:8px;opacity:.7}@keyframes boot-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes boot-dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.tui-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid currentColor;cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-sm);text-decoration:none;padding:8px 16px;line-height:1.4;white-space:nowrap;transition:border-style .1s,filter .1s,background .1s}.tui-btn:hover:not(.tui-btn--disabled){border-width:3px;border-style:double;padding:6px 14px;filter:brightness(1.3);background:color-mix(in srgb,currentColor 6%,transparent)}.tui-btn--primary{color:var(--accent)}.tui-btn--ghost{color:var(--text-muted)}.tui-btn--danger{color:color-mix(in srgb,var(--status-error) 70%,transparent)}.tui-btn--danger:hover:not(.tui-btn--disabled){color:var(--status-error)}.tui-btn--success{color:var(--status-success)}.tui-btn--info{color:var(--status-info)}.tui-btn--sm{padding:4px 8px;font-size:var(--font-size-xs)}.tui-btn--sm:hover:not(.tui-btn--disabled){padding:2px 6px}.tui-btn--icon{padding:8px}.tui-btn--icon:hover:not(.tui-btn--disabled){padding:6px}.tui-btn--disabled{opacity:.4;cursor:not-allowed}a.tui-btn--disabled{pointer-events:none}@media(prefers-reduced-motion:reduce){.tui-btn{transition:none}}.tui-input-wrapper{position:relative;display:inline-flex;align-items:center;overflow:hidden;width:100%}.tui-input{font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--text);background:transparent;border:1px solid var(--border);padding:8px;width:100%;box-sizing:border-box;caret-color:transparent;outline:none;border-radius:0}.tui-input:focus{border-color:var(--accent)}.tui-input:disabled{opacity:.4;cursor:not-allowed}.tui-input::placeholder{color:var(--text-muted)}.tui-measure{position:absolute;visibility:hidden;pointer-events:none;white-space:pre;font-family:var(--font-mono);font-size:var(--font-size-base);left:8px;top:0;padding:0;border:none;line-height:1}.tui-cursor{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--text);opacity:.7;pointer-events:none;line-height:1;margin-left:8px}.tui-cursor.blinking{animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,to{opacity:.7}50%{opacity:0}}.pin-gate{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg);padding:1rem}.pin-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:320px;text-align:center}.pin-container h1{font-size:var(--font-size-lg);color:var(--text)}.pin-container p{color:var(--text-muted);font-size:var(--font-size-base)}.pin-container .tui-input{padding:16px;background:var(--surface);font-size:var(--font-size-lg);text-align:center}.error{color:var(--accent);font-size:var(--font-size-base)}.hint{color:var(--text-muted);font-size:.75rem;opacity:.6;margin-top:-.25rem}code{font-family:var(--font-mono, monospace);background:var(--surface);padding:2px 5px;border-radius:3px;font-size:.72rem}.tui-progress{display:inline-block;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-base);white-space:pre}.marquee-container{overflow:hidden;position:relative}.marquee-container[style*="--has-overflow: 1"]{mask-image:linear-gradient(to right,black calc(100% - var(--fade-width)),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - var(--fade-width)),transparent 100%)}.marquee-inner{display:inline-block;white-space:nowrap;will-change:transform}.workspace-item{display:flex;flex-direction:column}.workspace-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;min-height:44px;transition:background .12s}.workspace-header:hover,.workspace-item.active .workspace-header{background:var(--surface-hover)}.workspace-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.collapse-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color .12s}.collapse-chevron:hover{color:var(--text)}.collapse-count{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);background:var(--border);border-radius:0;padding:2px 8px;flex-shrink:0}.initial-block{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:0;font-size:var(--font-size-xs);font-weight:700;color:#000;font-family:var(--font-mono);flex-shrink:0;line-height:1}.workspace-name{font-size:var(--font-size-sm);font-weight:700;color:var(--text);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.workspace-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s;flex-shrink:0}.workspace-header:hover .workspace-actions{opacity:1}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:0;font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);transition:background .1s,color .1s;background:none;border:none;padding:0}.action-btn:hover{background:var(--border);color:var(--text)}.session-list{list-style:none;padding:0;margin:0}.session-row{position:relative;display:flex;flex-direction:column;gap:2px;padding:8px 8px 8px 36px;cursor:pointer;min-height:44px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);transition:background .1s;border-left:3px solid transparent;justify-content:center}.session-row:hover{background:var(--surface-hover);color:var(--text)}.session-row.selected{border-left-color:var(--accent);background:var(--surface-hover);color:var(--text)}.session-row.attention .session-name{font-weight:700;color:var(--text)}.session-row-primary{display:flex;align-items:center;gap:8px;min-width:0}.session-row-secondary{display:flex;align-items:center;gap:8px;padding-left:16px;font-size:var(--font-size-xs);color:var(--text-muted);min-width:0}.secondary-branch{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.secondary-time{white-space:nowrap;flex-shrink:0;opacity:.7}.row-menu-overlay{position:absolute;right:8px;top:0;bottom:0;display:flex;align-items:center;opacity:0;transition:opacity .12s}.session-row:hover .row-menu-overlay{opacity:1}.sidebar-pr-status{display:inline-flex;align-items:center;gap:2px;margin-left:4px}.ci-pending{color:var(--status-warning)}.session-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:0;background:var(--border);color:var(--text-muted);font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:600;padding:0 4px;flex-shrink:0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot--running{background:var(--status-success)}.status-dot--initializing{background:#6b7280}.status-dot--unseen-idle{background:var(--status-warning);box-shadow:0 0 5px 1px #fbbf2473;animation:attention-glow 2s ease-in-out infinite}.status-dot--seen-idle{background:var(--status-info)}.status-dot--permission{background:#eab308;box-shadow:0 0 5px 1px #eab30873;animation:attention-glow 1.5s ease-in-out infinite}.status-dot--inactive{background:transparent;border:1.5px solid var(--border)}.status-dot--needs-answer{background:#eab308;box-shadow:0 0 5px 1px #eab30873;animation:attention-glow 1.5s ease-in-out infinite}.status-dot--error{background:var(--status-error)}.dot-inactive{width:7px;height:7px;border-radius:50%;background:transparent;border:1.5px solid var(--border);flex-shrink:0}.session-row.inactive .session-name{color:var(--text-muted)}.session-row.inactive:hover .session-name{color:var(--text)}.session-row.loading{pointer-events:none;opacity:.7}.session-row.loading .session-name{color:var(--accent)}@keyframes attention-glow{0%,to{box-shadow:0 0 3px 1px #fbbf244d}50%{box-shadow:0 0 7px 2px #fbbf2499}}.session-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.session-name.bold{font-weight:700}.add-worktree-row{padding:4px 8px 8px 36px}.add-worktree-btn{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);opacity:.5;cursor:pointer;transition:opacity .1s,color .1s;background:none;border:none;padding:0}.add-worktree-btn:hover{opacity:1;color:var(--text)}.add-worktree-row.disabled{pointer-events:none}.add-worktree-row.disabled .add-worktree-btn{opacity:.7;color:var(--accent)}.workspace-divider{height:1px;background:var(--border);margin:0}@media(max-width:600px){.workspace-header,.session-row{min-height:48px}.workspace-actions,.row-menu-overlay{opacity:1}}.workspace-group{display:flex;flex-direction:column;font-family:var(--font-mono);border-radius:0}.workspace-group.collapsed{border-left:2px solid var(--accent-border);border-top:none;border-right:none;border-bottom:none}.workspace-group:not(.collapsed){border:1px solid var(--accent-border)}.group-header{display:flex;align-items:center;padding:8px 12px;cursor:pointer;min-height:44px;transition:background .12s}.group-header:hover{background:var(--surface-hover)}.header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0}.group-name{font-size:var(--font-size-sm);font-weight:700;color:var(--text);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;text-transform:lowercase}.session-count{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);background:var(--border);padding:2px 8px;flex-shrink:0}.group-body{background:var(--bg);display:flex;flex-direction:column}.workspace-sessions{list-style:none;padding:0;margin:0}.ws-session-row{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 28px;cursor:pointer;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);min-height:36px;transition:background .1s}.ws-session-row:hover{background:var(--surface-hover);color:var(--text)}.ws-badge{display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-family:var(--font-mono);color:#fb923c;border:1px solid #fb923c;border-radius:0;padding:1px 5px;flex-shrink:0;text-transform:lowercase}.ws-session-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.launch-row{padding:8px 12px;display:flex}.empty-repos{padding:8px 12px 8px 28px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted)}.sidebar{position:relative;display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--border);overflow:hidden;transition:transform .25s ease,width .2s ease,min-width .2s ease;z-index:100}.sidebar-resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;z-index:10;transition:background .15s}.sidebar-resize-handle:hover{background:var(--accent)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:69px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-brand{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;transition:color .12s;background:none;border:none}.sidebar-brand:hover{color:var(--accent)}.sidebar-collapse-btn{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:8px 12px;border-radius:0;flex-shrink:0;line-height:1;font-family:var(--font-mono);min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.sidebar-collapse-btn:hover{color:var(--text);background:var(--border)}.sidebar.collapsed .sidebar-header{justify-content:center;padding:12px 4px}.sidebar-icon-btn{background:none;border:none;color:var(--text);font-size:var(--font-size-lg);cursor:pointer;padding:4px 8px;border-radius:0;touch-action:manipulation;display:none}.sidebar-icon-btn:active{background:var(--border)}.sidebar-workspace-list{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-empty-state{padding:16px 12px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);opacity:.5;text-align:center}.sidebar-ungrouped-label{padding:8px 12px 4px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);text-transform:lowercase}.sidebar-ungrouped-list{overflow-y:auto;overflow-x:hidden}.sidebar-empty-workspace-hint{padding:12px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);opacity:.5;text-align:center}.sidebar-footer-row{display:flex;gap:8px;margin:8px;align-items:stretch;flex-shrink:0}.sidebar-settings-icon-btn{width:40px;min-height:40px;background:none;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .1s,color .1s}.sidebar-settings-icon-btn:hover{background:var(--surface-hover);color:var(--text)}.sidebar-scanline-overlay{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;height:200%;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 3px,rgba(255,255,255,.02) 3px,rgba(255,255,255,.02) 4px);animation:sidebar-scanline-drift 30s linear infinite}@keyframes sidebar-scanline-drift{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.sidebar-scanline-overlay{animation:none}}@media(max-width:600px){.sidebar{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw!important;min-width:100vw!important;height:100vh;height:100dvh;transform:translate(-100%);transition:transform .25s ease;box-shadow:none}.sidebar.open{transform:translate(0)}.sidebar-collapse-btn{display:none}.sidebar-icon-btn{display:block;font-size:var(--font-size-lg);padding:4px 8px}.sidebar-resize-handle{display:none}}/**
2
+ * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
+ * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
+ * https://github.com/chjj/term.js
5
+ * @license MIT
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ *
25
+ * Originally forked from (with the author's permission):
26
+ * Fabrice Bellard's javascript vt100 for jslinux:
27
+ * http://bellard.org/jslinux/
28
+ * Copyright (c) 2011 Fabrice Bellard
29
+ * The original design remains. The terminal itself
30
+ * has been extended to include xterm CSI codes, among
31
+ * other features.
32
+ */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.terminal-wrapper{display:flex;flex:1;min-height:0;position:relative;overflow:hidden}.terminal-container{flex:1;min-width:0;min-height:0;overflow:hidden;padding:4px}.terminal-wrapper.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.terminal-scrollbar{width:8px;background:transparent;position:relative;flex-shrink:0}.terminal-scrollbar-thumb{position:absolute;right:0;width:6px;background:var(--border);border-radius:0;cursor:pointer}@media(hover:none){.terminal-wrapper.selection-mode .terminal-container{outline:2px solid var(--accent);outline-offset:-2px}.terminal-container{touch-action:none}.terminal-scrollbar{width:12px}.terminal-scrollbar-thumb{width:8px;min-height:44px}.scroll-fabs{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:1;opacity:.6;pointer-events:auto}.scroll-fab{width:44px;height:44px;border-radius:0;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.scroll-fab:active{opacity:1;background:var(--border)}.scroll-fab-bottom{margin-top:4px}}.zoom-overlay{position:absolute;top:8px;right:16px;background:#ffffff1f;color:#d4d4d4;font-size:12px;font-family:Menlo,monospace;padding:2px 8px;border-radius:0;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:2}.zoom-overlay.visible{opacity:1}.tui-menu-item{position:relative;display:flex;align-items:center;padding:8px 12px 8px 20px;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background .12s ease-out}.tui-menu-item:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.tui-menu-item--danger{color:var(--status-error)}.tui-menu-item--danger:hover{background:color-mix(in srgb,var(--status-error) 8%,transparent)}.tui-menu-item--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.fzf-cursor{position:absolute;left:8px;font-family:var(--font-mono);font-size:var(--font-size-sm);color:currentColor;transform:translate(-6px);opacity:0;transition:transform .12s ease-out,opacity .12s ease-out}.tui-menu-item:hover .fzf-cursor{transform:translate(0);opacity:1}.tui-menu-item__icon{flex-shrink:0;width:20px;display:flex;align-items:center;margin-right:8px;color:var(--text-muted)}.tui-menu-item__content{flex:1;min-width:0}.tui-menu-panel{border:1px solid var(--border);background:var(--surface);padding:4px 0;box-shadow:0 4px 16px #0006;border-radius:0}.branch-switcher{position:relative}.branch-trigger{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer;padding:4px 8px;border-radius:0;transition:background .12s;white-space:nowrap;min-width:0}.branch-trigger:hover{background:var(--surface-hover)}.branch-trigger.branch-disabled{opacity:.5;cursor:not-allowed}.branch-trigger.branch-disabled:hover{background:none}.branch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.branch-caret{flex-shrink:0;color:var(--text-muted);margin-left:1px}.branch-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;max-width:340px;z-index:200}.branch-filter-wrap{padding:8px 8px 4px;border-bottom:1px solid var(--border)}.branch-filter{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:4px 8px;outline:none;box-sizing:border-box}.branch-filter:focus{border-color:var(--accent)}.branch-error{font-size:var(--font-size-xs);color:var(--status-error);padding:4px 8px}.branch-loading,.branch-empty{font-size:var(--font-size-xs);color:var(--text-muted);padding:8px 12px;font-style:italic}.branch-create{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:var(--font-size-xs);cursor:pointer;color:var(--accent);border-bottom:1px solid var(--border);transition:background .1s}.branch-create:hover{background:var(--surface-hover)}.branch-create-icon{font-weight:700;flex-shrink:0}.branch-list{max-height:240px;overflow-y:auto}.branch-current{color:var(--accent)}.branch-checked-out{text-decoration:line-through;opacity:.5}.branch-worktree-name{font-size:var(--font-size-xs);color:var(--text-muted);opacity:.7;flex-shrink:0}.branch-jump-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;flex-shrink:0;border-radius:0;transition:color .12s,background .12s}.branch-jump-btn:hover{color:var(--accent);background:var(--surface-hover)}.branch-check{font-size:var(--font-size-xs);width:10px;flex-shrink:0;color:var(--accent)}.branch-check--empty{display:inline-block}.branch-option-name{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.branch-spinner{color:var(--text-muted);font-size:var(--font-size-xs);flex-shrink:0}.target-switcher{position:relative}.target-trigger{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer;padding:4px 8px;border-radius:0;transition:background .12s;white-space:nowrap;min-width:0}.target-trigger:hover{background:var(--surface-hover);color:var(--text)}.target-disabled{opacity:.5;cursor:not-allowed}.target-disabled:hover{background:none;color:var(--text-muted)}.target-name{overflow:hidden;text-overflow:ellipsis;max-width:120px}.target-caret{flex-shrink:0;color:var(--text-muted);margin-left:1px}.target-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;max-width:340px;z-index:200}.target-filter-wrap{padding:8px 8px 4px;border-bottom:1px solid var(--border)}.target-filter{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:4px 8px;outline:none;box-sizing:border-box}.target-filter:focus{border-color:var(--accent)}.target-error{font-size:var(--font-size-xs);color:var(--status-error);padding:4px 8px}.target-loading,.target-empty{font-size:var(--font-size-xs);color:var(--text-muted);padding:8px 12px;font-style:italic}.target-list{max-height:240px;overflow-y:auto}.target-current{color:var(--accent)}.target-check{font-size:var(--font-size-xs);width:10px;flex-shrink:0;color:var(--accent)}.target-check--empty{display:inline-block}.target-option-name{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.target-spinner{color:var(--text-muted);font-size:var(--font-size-xs);flex-shrink:0}.pr-top-bar{display:flex;align-items:center;height:36px;background:var(--surface);border-bottom:1px solid var(--border);padding:0 8px;gap:0;flex-shrink:0;overflow:hidden;font-family:var(--font-mono);font-size:var(--font-size-sm)}.bar-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow:hidden;padding-right:8px;border-right:1px solid var(--border);align-self:stretch}.target-section{display:flex;align-items:center;flex-shrink:0}.target-arrow{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0;padding:0 2px}.bar-middle{display:flex;align-items:center;padding:0 12px;flex-shrink:0;white-space:nowrap}.pr-link{display:flex;align-items:center;gap:4px;color:var(--text-muted);text-decoration:none;font-size:var(--font-size-xs);transition:color .12s}.pr-link:hover{color:var(--accent)}.pr-ext-icon{flex-shrink:0;opacity:.6}.bar-right{display:flex;align-items:center;padding-left:8px;gap:8px;flex-shrink:0}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:color .12s,background .12s}.refresh-btn:hover:not(:disabled){color:var(--text);background:var(--border)}.refresh-btn:disabled{cursor:default}.refresh-btn.refreshing svg{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bar-merged{background:color-mix(in srgb,var(--status-merged) 8%,var(--surface))}.bar-conflicts{background:color-mix(in srgb,var(--status-error) 8%,var(--surface))}.diff-stats{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--font-size-xs);padding:0 8px;flex-shrink:0}.diff-add{color:var(--status-success)}.diff-del{color:var(--status-error)}.rename-input-wrap{display:flex;align-items:center;gap:4px;padding:2px 4px}.rename-input{background:var(--bg);border:1px solid var(--accent);border-radius:0;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-sm);padding:2px 8px;outline:none;min-width:120px;max-width:250px}.branch-with-actions{position:relative;display:flex;align-items:center}.hover-icons{position:absolute;right:24px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s;pointer-events:none;z-index:1;background:var(--bg);padding-left:4px}.branch-with-actions:hover .hover-icons{opacity:1;pointer-events:auto}.hover-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:color .12s,background .12s}.hover-icon:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.hover-icon:disabled{opacity:.5;cursor:not-allowed}.branch-icon{color:var(--text-muted);font-size:var(--font-size-base);flex-shrink:0}@media(max-width:600px){.hover-icons{opacity:1}.target-section,.bar-middle,.diff-stats{display:none}.bar-left{border-right:none;padding-right:4px}}.sidebar-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:0;border:none;background:transparent;color:var(--text-muted, #888);cursor:pointer;padding:0;transition:color .12s,background .12s}.sidebar-toggle-btn:hover{color:var(--text, #e0e0e0);background:var(--border, #333)}.session-tab-bar{display:flex;align-items:stretch;height:32px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;font-family:var(--font-mono);font-size:var(--font-size-xs)}.tabs-scroll{display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;flex:1;min-width:0;scrollbar-width:none}.tabs-scroll::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;flex-shrink:0;position:relative;transition:color .12s,background .12s;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tab:hover{color:var(--text);background:var(--surface-hover)}.tab--active{background:var(--surface);color:var(--text);border-bottom-color:var(--accent)}.tab--active:hover{background:var(--surface)}.tab-icon{font-size:var(--font-size-xs);line-height:1;flex-shrink:0}.tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close{font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;line-height:1;flex-shrink:0;border-radius:0;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .1s,color .1s,background .1s}.tab:hover .tab-close{opacity:1}.tab-close:hover{color:var(--text);background:var(--border)}.tab--active .tab-close{opacity:0}.tab--active:hover .tab-close{opacity:1}.new-btn-wrap{position:relative;display:flex;align-items:center;flex-shrink:0;border-left:1px solid var(--border)}.tab-new{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-muted);font-size:var(--font-size-lg);cursor:pointer;font-family:var(--font-mono);transition:color .12s,background .12s;-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1}.tab-new:hover{color:var(--text);background:var(--surface-hover)}.new-menu{position:absolute;top:calc(100% + 2px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:0;z-index:200;min-width:180px;box-shadow:0 4px 16px #00000080;padding:4px 0}.new-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer;text-align:left;transition:background .1s,color .1s;-webkit-appearance:none;-moz-appearance:none;appearance:none;white-space:nowrap}.new-menu-item:hover{background:var(--surface-hover);color:var(--text)}.new-menu-icon{font-size:var(--font-size-xs);flex-shrink:0}.new-menu-divider{height:1px;background:var(--border);margin:4px 0}@media(max-width:600px){.session-tab-bar{height:44px}.tab{height:44px;padding:0 12px;min-width:44px}.tab-close{opacity:1;width:18px;height:18px}.tab--active .tab-close{opacity:1}.tab-new{width:44px;height:44px}}.repo-dashboard{display:flex;flex-direction:column;gap:20px;padding:20px;background:var(--bg);min-height:0;max-width:none;overflow:hidden;flex:1}.dashboard-section{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.dashboard-section--scroll{flex:1;min-height:120px;overflow:hidden}.scroll-container{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.dashboard-section--scroll{position:relative}.dashboard-section--scroll:after{content:"";position:absolute;bottom:0;left:0;right:0;height:32px;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none;z-index:1}.section-heading{font-size:var(--font-size-sm);font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);padding-bottom:6px;border-bottom:1px solid var(--border)}.section-message{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-muted);padding:8px 0}.section-message.info a{color:var(--accent);text-decoration:none}.section-message.info a:hover{text-decoration:underline}.usage-panel{display:flex;flex-direction:column;gap:4px}.usage-row{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted)}.usage-label{min-width:100px;flex-shrink:0}.usage-bar{flex-shrink:0}.usage-value{color:var(--text)}.usage-meta{color:var(--text-muted);opacity:.7}.usage-divider{height:1px;background:var(--border);margin:4px 0}.pr-cell{display:flex;align-items:center;padding:8px;min-width:0}.pr-cell--status{justify-content:center}.pr-cell--title{flex-direction:column;align-items:flex-start;gap:4px}.pr-cell--role,.pr-cell--age{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted)}.pr-cell--action{justify-content:flex-end}.pr-title-link{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}.pr-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pr-session-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:0;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono);cursor:pointer;transition:background .12s,color .12s,border-color .12s;flex-shrink:0}.pr-session-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.pr-row-meta{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted)}.pr-role-text,.pr-age-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-pr-card{display:flex;flex-direction:column;gap:8px;padding:12px;width:100%}.mobile-pr-top{display:flex;align-items:center;gap:8px;min-width:0}.mobile-pr-actions{align-self:flex-end;margin-top:4px}.activity-list{display:flex;flex-direction:column;gap:4px}.activity-row{display:flex;align-items:baseline;gap:8px;font-size:var(--font-size-xs);font-family:var(--font-mono);min-width:0}.commit-hash{color:var(--text-muted);flex-shrink:0;letter-spacing:.02em}.commit-msg{color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.commit-branch{color:var(--text-muted);flex-shrink:0;white-space:nowrap}.commit-time{color:var(--text-muted);flex-shrink:0;white-space:nowrap;opacity:.6}.non-git-notice{padding:8px 0}.non-git-msg{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-muted)}.cta-row{display:flex;align-items:center;gap:8px;padding-top:4px;flex-shrink:0}.skeleton{pointer-events:none}.skeleton-line{background:var(--border);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton-activity{height:12px;width:75%}@media(max-width:600px){.repo-dashboard{padding:16px}}.org-dashboard{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--bg);flex:1;min-height:0;overflow-y:auto}.org-header{display:flex;align-items:baseline;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border);flex-shrink:0}.org-title{font-size:var(--font-size-sm);font-family:var(--font-mono);font-weight:700;letter-spacing:.08em;color:var(--text-muted)}.org-subtitle{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);opacity:.7}.tab-strip{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;margin-top:-4px}.tab-btn{padding:8px 12px;font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:600;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;margin-bottom:-1px;transition:color .12s,border-color .12s;white-space:nowrap;letter-spacing:.06em}.tab-btn:hover{color:var(--text)}.tab-btn--active{color:var(--accent);border-bottom-color:var(--accent)}.tab-badge{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--accent);margin-left:4px;opacity:.8}.state-message{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-muted);padding:8px 0;display:flex;align-items:center;gap:8px;flex-shrink:0}.state-message--info a{color:var(--accent);text-decoration:none}.state-message--info a:hover{text-decoration:underline}.state-message--error{color:var(--status-error)}.retry-btn{background:none;border:1px solid var(--border);border-radius:0;color:var(--text-muted);font-size:var(--font-size-xs);font-family:var(--font-mono);cursor:pointer;padding:4px 8px;transition:border-color .12s,color .12s}.retry-btn:hover{border-color:var(--accent);color:var(--accent)}.cell{display:flex;align-items:center;padding:8px;min-width:0}.cell--status{justify-content:center}.cell--title{flex-direction:column;align-items:flex-start;gap:2px}.cell--repo,.cell--role,.cell--age{justify-content:flex-start;overflow:hidden}.cell--action{justify-content:flex-end}.cell--ci{justify-content:center}.ci-icon{font-size:12px;font-weight:700}.ci-pass{color:var(--status-success)}.ci-fail{color:var(--status-error)}.ci-pending{color:var(--status-warning);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pr-row-title-line{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.pr-title-link{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.pr-title-link:hover{color:var(--accent);text-decoration:underline}.pr-row-meta{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap}.pr-meta-text{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap}.pr-sep{opacity:.4}.repo-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:0;font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:700;color:#000;white-space:nowrap;transition:opacity .12s;line-height:1.4}.repo-chip:hover{opacity:.8}.ticket-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:0;font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);white-space:nowrap;line-height:1.4}.mobile-card{display:flex;flex-direction:column;gap:8px;padding:8px;width:100%}.mobile-card-line1{display:flex;align-items:center;gap:8px;min-width:0}.mobile-card-line2{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap}.presets-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.preset-select{font-size:var(--font-size-xs);font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:0;color:var(--text-muted);padding:4px 8px;cursor:pointer;outline:none;transition:border-color .12s}.preset-select:focus,.preset-select:hover{border-color:var(--accent);color:var(--text)}.preset-delete-btn{font-size:var(--font-size-xs);font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:0;color:var(--text-muted);padding:4px 8px;cursor:pointer;transition:border-color .12s,color .12s;white-space:nowrap}.preset-delete-btn:hover{border-color:var(--status-error, #e05555);color:var(--status-error, #e05555)}.pr-table-row{display:flex;align-items:center;border-bottom:1px solid var(--border)}.pr-table-row:hover{background:var(--surface-hover)}@media(max-width:600px){.org-dashboard{padding:16px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;max-width:320px;text-align:center;padding:32px 16px;flex:1;margin:0 auto}.empty-icon{font-size:2rem;line-height:1;color:var(--text-muted);opacity:.5}.empty-heading{font-size:var(--font-size-lg);font-family:var(--font-mono);color:var(--text);font-weight:600;line-height:1.3}.empty-description{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-muted);line-height:1.5}.toolbar{background:var(--surface);border-top:1px solid var(--border);padding:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));flex-shrink:0}.toolbar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.tb-btn{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-size:var(--font-size-sm);padding:8px 4px;cursor:pointer;touch-action:manipulation;min-height:40px;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none}.tb-btn:active{background:var(--border)}.tb-enter{background:transparent;border-color:var(--accent);color:var(--accent)}.tb-enter:active{opacity:.8}.mobile-header{display:none;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border);min-height:44px;flex-shrink:0}@media(max-width:600px){.mobile-header{display:flex}.mobile-header.hidden{display:none}}.mobile-title{font-size:var(--font-size-base);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.icon-btn{background:none;border:none;color:var(--text);font-size:var(--font-size-lg);cursor:pointer;padding:8px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:0;touch-action:manipulation}.icon-btn:hover{background:var(--border)}.command-trigger{background:none;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:4px 10px;cursor:pointer;min-height:44px;display:flex;align-items:center;border-radius:0;touch-action:manipulation;white-space:nowrap;flex-shrink:0}.command-trigger:active{background:var(--accent);color:var(--surface)}.session-status-bar{display:flex;align-items:center;gap:12px;min-height:28px;padding:0 12px;background:var(--bg);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--font-size-xs);overflow:hidden;white-space:nowrap}.status-left,.status-right{display:flex;align-items:center;gap:10px;min-width:0}.status-left{flex:1;overflow:hidden}.status-right{flex-shrink:0;margin-left:auto}.status-segment{min-width:0;overflow:hidden;text-overflow:ellipsis}.status-model,.status-cost,.status-tokens,.status-activity,.status-rate-limits{color:var(--text-muted)}.status-context{color:var(--text)}.status-context--muted{color:var(--text-muted)}.status-context--warning{color:var(--status-warning)}.status-context--danger{color:var(--status-error)}.status-activity{min-width:0;max-width:38vw}.status-rate-limits{text-align:right}@media(max-width:600px){.status-model,.status-tokens,.status-cost,.status-rate-limits{display:none}.status-activity{max-width:48vw}}@media(max-width:400px){.status-activity{display:none}}.update-toast{position:fixed;bottom:0;left:0;right:0;z-index:150;display:flex;justify-content:center;padding:12px 12px calc(12px + env(safe-area-inset-bottom));pointer-events:none;animation:toast-slide-up .25s ease-out}.update-toast-content{display:flex;flex-direction:row;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:0;padding:12px 16px;max-width:500px;box-shadow:0 4px 16px #0000004d;pointer-events:auto}.update-toast-text{flex:1;font-size:var(--font-size-sm);color:var(--text)}.update-toast-actions{display:flex;gap:8px;flex-shrink:0}.update-toast-dismiss{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-lg);padding:4px 8px;cursor:pointer}.update-toast-dismiss:hover{color:var(--text)}@media(prefers-reduced-motion:reduce){.update-toast{animation:none}}.image-toast{position:fixed;bottom:60px;left:50%;transform:translate(-50%);z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:0;padding:8px 16px;color:var(--text);font-size:13px;max-width:90vw;box-shadow:0 4px 12px #0006}.image-toast-content{display:flex;align-items:center;gap:8px}.image-toast-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}.image-toast-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.image-toast-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:2px 8px}.image-toast-dismiss:hover{color:var(--text)}.error-toast-container{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:1100;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;max-width:90vw}.error-toast{pointer-events:auto;animation:toast-slide-up .25s ease-out}@keyframes toast-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.error-toast-content{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:0;padding:10px 16px;box-shadow:0 4px 16px #0000004d}.error-toast--error .error-toast-content{border-color:var(--status-error)}.error-toast--info .error-toast-content{border-color:var(--border)}.error-toast-text{flex:1;font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-word}.error-toast-dismiss{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-lg);padding:4px 8px;cursor:pointer;flex-shrink:0}.error-toast-dismiss:hover{color:var(--text)}@media(prefers-reduced-motion:reduce){.error-toast{animation:none}}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh}.palette{width:100%;max-width:580px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;max-height:480px}.palette-input-row{display:flex;align-items:center;padding:12px 16px;gap:8px;border-bottom:1px solid var(--border);flex-shrink:0;height:44px}.palette-prompt{font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--accent);font-weight:700;flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.palette-search-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--text);padding:0}.palette-search-input::placeholder{color:var(--text-muted);opacity:.6}.palette-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;height:32px}.palette-tab{background:none;border:none;border-bottom:2px solid transparent;padding:6px 12px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;text-transform:lowercase}.palette-tab:hover{color:var(--text)}.palette-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.palette-results{overflow-y:auto;flex:1;min-height:0}.palette-category{padding:8px 16px 4px;font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:600;color:var(--text-muted);letter-spacing:.08em;-webkit-user-select:none;user-select:none;text-transform:lowercase}.category-count{font-weight:400;opacity:.7}.palette-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-muted);transition:background .08s;min-height:36px}.palette-item:hover,.palette-item.focused{background:var(--surface-hover);color:var(--text)}.item-cursor{flex-shrink:0;width:12px;font-size:var(--font-size-xs);color:var(--accent);opacity:0;transition:opacity .12s ease-out}.item-cursor.visible{opacity:1}.item-icon{flex-shrink:0;width:16px;text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);opacity:.6}.item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.item-sublabel{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;max-width:180px}.item-shortcut{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);border:1px solid var(--border);padding:1px 6px;flex-shrink:0;border-radius:0}.palette-empty{padding:20px 16px;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-muted);opacity:.6;text-align:center}.palette-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--border);flex-shrink:0}.hint{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);opacity:.5}.palette-overlay.mobile{padding-top:0;align-items:flex-end;background:#0009}.palette.mobile{max-width:100%;max-height:70vh;border:none;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);border-radius:0}.drag-handle{display:flex;justify-content:center;padding:8px 0 4px;cursor:grab;touch-action:none}.drag-bar{width:24px;height:3px;background:var(--text-muted);border-radius:0}.palette.mobile .palette-item{min-height:48px;padding:14px 16px;border-bottom:1px solid var(--surface-hover)}.palette.mobile .item-cursor,.palette.mobile .item-shortcut{display:none}.palette.mobile .palette-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.open-picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;background:#0009}.open-picker__panel{width:480px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;max-height:calc(100vh - 160px)}.open-picker__input-row{display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 12px}.open-picker__prompt{color:var(--accent);font-family:var(--font-mono);font-size:var(--font-size-sm);margin-right:8px;flex-shrink:0}.open-picker__input{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-sm);padding:12px 0}.open-picker__list{overflow-y:auto;flex:1}.open-picker__empty{padding:16px 12px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);font-style:italic}.open-picker__item{display:flex;align-items:center;padding:10px 12px;gap:8px;cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text);border-bottom:1px solid var(--border);transition:background .1s;outline:none}.open-picker__item:last-child{border-bottom:none}.open-picker__item:hover{background:var(--surface-hover)}.open-picker__item--focused{background:var(--surface-hover);outline:1px solid var(--accent);outline-offset:-1px}.open-picker__cursor{color:var(--accent);font-family:var(--font-mono);opacity:0;transition:opacity .1s;width:8px;flex-shrink:0}.open-picker__item--focused .open-picker__cursor{opacity:1}.open-picker__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.open-picker__hint{font-size:var(--font-size-xs);color:var(--text-muted);opacity:.6;flex-shrink:0}.file-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh}.file-picker{width:100%;max-width:580px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;max-height:480px}.file-picker-input-row{display:flex;align-items:center;padding:12px 16px;gap:8px;border-bottom:1px solid var(--border);flex-shrink:0;height:44px}.file-picker-prompt{font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--accent);font-weight:700;flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.file-picker-input-row .tui-input-wrapper{flex:1}.file-picker-input-row .tui-input{background:transparent;border:none;padding:0}.file-picker-input-row .tui-input:focus{border:none}.file-picker-input-row .tui-input::placeholder{color:var(--text-muted);opacity:.6}.file-picker-results{overflow-y:auto;flex:1;min-height:0}.file-picker-section{padding:8px 16px 4px;font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:600;color:var(--text-muted);letter-spacing:.08em;-webkit-user-select:none;user-select:none;text-transform:lowercase}.file-picker-item{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-muted);transition:background .08s;min-height:32px}.file-picker-item:hover,.file-picker-item.focused{background:var(--surface-hover);color:var(--text)}.fp-item-cursor{flex-shrink:0;width:12px;font-size:var(--font-size-xs);color:var(--accent);opacity:0;transition:opacity .12s ease-out}.fp-item-cursor.visible{opacity:1}.fp-item-filename{flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.fp-item-directory{flex:1;font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;opacity:.6}.fp-item-badge{flex-shrink:0;font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:600;width:16px;text-align:center}.fp-match{color:var(--accent);font-weight:600}.file-picker-empty{padding:20px 16px;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-muted);opacity:.6;text-align:center}.file-picker-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--border);flex-shrink:0;min-height:32px}.fp-hint{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);opacity:.5}.fp-hint.truncated{opacity:.7}.file-picker-overlay.mobile{padding-top:0;align-items:flex-end;background:#0009}.file-picker.mobile{max-width:100%;max-height:70vh;border:none;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);border-radius:0}.fp-drag-handle{display:flex;justify-content:center;padding:8px 0 4px;cursor:grab;touch-action:none}.fp-drag-bar{width:24px;height:3px;background:var(--text-muted);border-radius:0}.file-picker.mobile .file-picker-item{min-height:48px;padding:14px 16px;border-bottom:1px solid var(--surface-hover)}.file-picker.mobile .fp-item-cursor,.file-picker.mobile .file-picker-footer{display:none}.dialog-shell::backdrop{background:#0009}.dialog-shell{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:0;padding:0;overflow:hidden}.dialog-shell--compact{width:min(var(--dialog-width, 460px),95vw);max-height:90vh}.dialog-shell--compact[open]{animation:dialog-fade-scale .15s ease forwards}@keyframes dialog-fade-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dialog-shell--fullscreen{width:100vw;height:100vh;max-width:100vw;max-height:100vh}@media(min-width:601px){.dialog-shell--fullscreen{width:75vw;height:80vh;max-width:960px;max-height:none}}.dialog-shell--fullscreen[open]{animation:dialog-slide-up .2s ease forwards}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialog-shell__content{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.dialog-shell--compact .dialog-shell__content{max-height:90vh}.dialog-shell__header{display:flex;align-items:center;gap:8px;padding:16px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.dialog-shell__title{font-size:var(--font-size-lg);font-weight:600;margin:0;flex-shrink:0}.dialog-shell__header-extra{flex:1;min-width:0}.dialog-shell__close{background:none;border:none;border-radius:0;color:var(--text-muted);font-size:var(--font-size-lg);font-family:var(--font-mono);cursor:pointer;padding:4px 8px;line-height:1;flex-shrink:0;margin-left:auto;transition:background .1s,color .1s}.dialog-shell__close:hover{background:var(--border);color:var(--text)}.dialog-shell__body{padding:16px 20px;overflow-y:auto;flex:1;min-height:0}.dialog-shell--fullscreen .dialog-shell__body{padding:0;max-width:none;width:100%;box-sizing:border-box}.dialog-shell__body{mask-image:linear-gradient(to bottom,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 24px),transparent 100%)}.dialog-shell__body.scrolled-bottom{mask-image:none;-webkit-mask-image:none}.dialog-shell__footer{padding:12px 20px 16px;border-top:1px solid var(--border);flex-shrink:0}.dialog-shell .error-msg{font-size:var(--font-size-sm);color:var(--status-error);margin:0}.tui-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text)}.tui-checkbox.disabled{opacity:.4;cursor:not-allowed}.tui-checkbox input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.tui-checkbox:has(input:focus-visible) .tui-check{outline:2px solid var(--accent);outline-offset:2px}.tui-check{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1}.tui-checkbox input:checked+.tui-check{color:var(--accent)}.customize-session-footer-row{display:flex;justify-content:flex-end;gap:8px}.customize-session-workspace-name{font-weight:400;color:var(--text-muted);font-size:var(--font-size-base);margin:0 0 4px}.customize-session-body-fields{display:flex;flex-direction:column;gap:16px}.customize-session-dialog-field{display:flex;flex-direction:column;gap:4px}.customize-session-dialog-label{font-size:var(--font-size-sm);color:var(--text-muted)}.customize-session-dialog-select,.customize-session-dialog-input{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-size:var(--font-size-base);font-family:var(--font-mono);padding:8px;width:100%;box-sizing:border-box}.customize-session-dialog-select:disabled{opacity:.5;cursor:not-allowed}.setting-row{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0}.setting-label{flex:1;min-width:0}.setting-name{font-size:var(--font-size-base);color:var(--text);font-weight:500;margin:0}.setting-description{font-size:var(--font-size-sm);color:var(--text-muted);margin:2px 0 0}.setting-action{flex-shrink:0;display:flex;align-items:center}@media(max-width:600px){.setting-row-stacked .setting-row{flex-direction:column;align-items:flex-start}.setting-row-stacked .setting-action{width:100%}}.toc-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100}@media(min-width:601px){.toc-backdrop{display:none}}.toc-drawer{width:180px;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}@media(max-width:600px){.toc-drawer{position:absolute;left:0;top:0;bottom:0;width:220px;z-index:101;transform:translate(-100%);transition:transform .25s ease}.toc-drawer.open{transform:translate(0)}}.toc-items{flex:1;overflow-y:auto;padding:16px 0 8px}.toc-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 16px;font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s,color .1s}.toc-item:hover{background:var(--surface-hover);color:var(--text)}.toc-child{padding-left:32px;font-size:var(--font-size-xs)}.integration-row{border-bottom:1px solid var(--border)}.integration-row:last-child{border-bottom:none}.integration-header{display:flex;align-items:center;gap:0;padding:var(--row-padding-y, 10px) 0;min-height:44px;cursor:pointer;-webkit-user-select:none;user-select:none}.integration-header:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-slot{width:var(--icon-slot-width, 24px);flex-shrink:0;display:flex;align-items:center;justify-content:flex-start}.integration-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.integration-name{font-size:var(--font-size-base);font-weight:500;color:var(--text)}.integration-status{font-size:var(--font-size-sm);color:var(--text-muted)}.integration-status--loading .loading-text{color:var(--text-muted);opacity:.6}.chevron{font-size:var(--font-size-xs, .75rem);color:var(--text-muted);flex-shrink:0;margin-left:8px}.header-actions{flex-shrink:0;display:flex;align-items:center;gap:8px;margin-left:6px}.integration-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease;overflow:hidden}.integration-body--open{grid-template-rows:1fr}.integration-body-inner{overflow:hidden;padding-left:var(--icon-slot-width, 24px);display:flex;flex-direction:column;gap:8px;padding-bottom:0;transition:padding-bottom .2s ease}.integration-body--open .integration-body-inner{padding-bottom:12px}.github-integration-body-text{font-size:var(--font-size-sm);color:var(--text);margin:0}.github-integration-body-text--muted{color:var(--text-muted)}.github-integration-body-text--warning{color:var(--status-warning)}.github-integration-error-text{font-size:var(--font-size-sm);color:var(--status-error);margin:0}.github-integration-reauth-warning{font-size:var(--font-size-sm);color:var(--status-warning);margin:0}.github-integration-device-flow{display:flex;flex-direction:column;gap:8px}.github-integration-code-row{display:flex;align-items:center;gap:8px}.github-integration-user-code{font-family:var(--font-mono);letter-spacing:.1em}.github-integration-action-row{display:flex;gap:8px;align-items:center}.github-integration a{color:var(--accent);text-decoration:none}.github-integration a:hover{text-decoration:underline}.webhook-integration-status-hint{font-size:var(--font-size-sm);color:var(--text-muted)}.webhook-integration-body-text{font-size:var(--font-size-sm);color:var(--text);margin:0}.webhook-integration-body-text--muted{color:var(--text-muted)}.webhook-integration-body-text--warning{color:var(--status-warning)}.webhook-integration-error-text{font-size:var(--font-size-sm);color:var(--status-error);margin:0}.webhook-integration-health-row{display:flex;align-items:center;gap:8px}.webhook-integration-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.webhook-integration-backfill-banner{display:flex;flex-direction:column;gap:8px;padding:8px 12px;border:1px solid var(--border);background:var(--surface-hover)}.webhook-integration-backfill-results{display:flex;flex-direction:column;gap:8px}.webhook-integration-results-list{list-style:none;display:flex;flex-direction:column;gap:2px;padding:0;margin:0}.webhook-integration-result-item{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--font-size-xs)}.webhook-integration-result-item--fail .webhook-integration-result-icon{color:var(--status-error)}.webhook-integration-result-label{color:var(--text)}.webhook-integration-result-error{color:var(--text-muted)}.webhook-integration-test-result{font-size:var(--font-size-sm);margin:0}.webhook-integration-test-result--success{color:var(--status-success)}.webhook-integration-test-result--error{color:var(--status-error)}.jira-integration-body-text{font-size:var(--font-size-sm);color:var(--text);margin:0}.jira-integration-body-text--muted{color:var(--text-muted)}.jira-integration-body-text--success{color:var(--status-success)}.jira-integration-steps{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0}.jira-integration-step{display:flex;align-items:center;gap:8px}.jira-integration-step-number{font-size:var(--font-size-sm);color:var(--text-muted);flex-shrink:0;width:16px}.jira-integration-code-block{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--bg);color:var(--text);padding:8px 12px;display:block;flex:1;min-width:0}.settings-dialog-header-extra{display:flex;align-items:center;gap:8px}.settings-dialog-content{display:flex;flex-direction:column;gap:32px;position:relative}.settings-dialog-sections{display:flex;flex-direction:column;gap:32px;flex:1;min-width:0;padding:16px 20px}@media(min-width:601px){.settings-dialog-content{flex-direction:row;gap:0;height:100%;overflow:hidden}.settings-dialog-sections{overflow-y:auto}}.settings-dialog-section{transition:opacity .2s ease,max-height .2s ease}.settings-dialog-section.dimmed{opacity:.3;max-height:0;overflow:hidden;padding:0;margin:0}.settings-dialog-section-heading{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:.08em;margin:0 -20px 12px;padding:0 20px 8px;border-bottom:1px solid var(--border)}.settings-dialog-search-input{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-sm);padding:8px 12px;flex:1;max-width:200px;outline:none}.settings-dialog-search-input:focus{border-color:var(--accent)}.settings-dialog-search-input::placeholder{color:var(--text-muted)}.settings-dialog-hamburger-btn{background:none;border:1px solid var(--border);border-radius:0;color:var(--text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:4px 8px;line-height:1;font-family:var(--font-mono)}.settings-dialog-hamburger-btn:hover{background:var(--border);color:var(--text)}@media(min-width:601px){.settings-dialog-hamburger-btn{display:none}}.settings-dialog-analytics-action{display:flex;align-items:center;gap:8px}.settings-dialog-analytics-size{font-size:var(--font-size-sm);color:var(--text-muted);font-family:var(--font-mono)}.settings-dialog-version-ok{font-size:var(--font-size-sm);color:var(--status-success)}.settings-dialog-update-status{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.settings-dialog-select{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-sm);padding:8px;cursor:pointer}.settings-dialog-select:focus{border-color:var(--accent);outline:none}.settings-dialog-channel-selector{display:flex;gap:0}.settings-dialog-channel-btn{padding:3px 10px;background:none;border:1px solid var(--border, #333);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888);cursor:pointer}.settings-dialog-channel-btn:first-child{border-radius:2px 0 0 2px}.settings-dialog-channel-btn:last-child{border-radius:0 2px 2px 0;border-left:none}.settings-dialog-channel-btn.active{background:var(--accent, #d97757);color:var(--bg, #000);border-color:var(--accent, #d97757)}.settings-dialog-channel-btn:disabled{opacity:.5;cursor:not-allowed}.delete-worktree-footer-row{display:flex;justify-content:flex-end;gap:8px}.delete-worktree-body{display:flex;flex-direction:column;gap:8px}.delete-worktree-confirm-msg{font-size:var(--font-size-base);margin:0;line-height:1.5}.delete-worktree-wt-name{color:var(--text)}.delete-worktree-wt-path{font-size:var(--font-size-sm);color:var(--text-muted);font-family:var(--font-mono);margin:0;word-break:break-all}.delete-worktree-warning-msg{font-size:var(--font-size-sm);color:var(--status-error);margin:0}.delete-worktree-error-msg{font-size:var(--font-size-sm);color:var(--status-error);margin:0;padding:8px 12px;background:#e74c3c1a;border-radius:0;border:1px solid rgba(231,76,60,.3)}.add-workspace-footer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.add-workspace-selected-count{font-size:var(--font-size-sm, .85rem);color:var(--text-muted);font-family:var(--font-mono, monospace)}.add-workspace-footer-actions{display:flex;gap:8px}.add-workspace-body-content{display:flex;flex-direction:column;gap:12px}.add-workspace-dialog-desc{font-size:var(--font-size-sm, .85rem);color:var(--text-muted);font-family:var(--font-mono, monospace);margin:0;line-height:1.5}.add-workspace-error-msg{font-size:var(--font-size-xs, .75rem);color:var(--status-error);font-family:var(--font-mono, monospace);margin:0}.workspace-editor{display:flex;flex-direction:column;gap:16px}.workspace-editor__section{display:flex;flex-direction:column;gap:8px}.workspace-editor__section-label{font-size:var(--font-size-xs, .72rem);font-weight:600;color:var(--text-muted);letter-spacing:.08em;margin:0 0 2px}.workspace-editor__field{display:flex;flex-direction:column;gap:4px}.workspace-editor__field-label{font-size:var(--font-size-sm);color:var(--text-muted)}.workspace-editor__field-input{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono, monospace);font-size:var(--font-size-sm);padding:8px;width:100%;box-sizing:border-box;outline:none}.workspace-editor__field-input:focus{border-color:var(--accent)}.workspace-editor__field-select{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono, monospace);font-size:var(--font-size-sm);padding:8px;width:100%;box-sizing:border-box;cursor:pointer;outline:none}.workspace-editor__field-select:focus{border-color:var(--accent)}.workspace-editor__inline-row{display:flex;align-items:center;gap:8px}.workspace-editor__field-select-inline{width:auto;flex:1;max-width:160px}.workspace-editor__checkbox-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.workspace-editor__divider{height:1px;background:var(--border)}.workspace-editor__prompt-group{display:flex;flex-direction:column;gap:8px}.workspace-editor__prompt-toggle{background:none;border:none;color:var(--text);font-size:var(--font-size-sm);cursor:pointer;padding:4px 0;text-align:left;display:flex;align-items:center;gap:8px;width:100%}.workspace-editor__prompt-toggle:hover{color:var(--accent)}.workspace-editor__prompt-arrow{color:var(--text-muted);font-size:var(--font-size-sm);flex-shrink:0;width:10px}.workspace-editor__prompt-textarea{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono, monospace);font-size:var(--font-size-sm);padding:8px 12px;width:100%;box-sizing:border-box;resize:vertical;line-height:1.5;outline:none}.workspace-editor__prompt-textarea:focus{border-color:var(--accent)}.workspace-editor__override-badge{font-size:var(--font-size-xs);font-weight:400;color:var(--accent);letter-spacing:0;text-transform:none;margin-left:6px}.workspace-editor__error-msg{font-size:var(--font-size-sm);color:var(--status-error);margin:0;padding:8px;background:#e74c3c14;border:1px solid rgba(231,76,60,.25)}.workspace-settings-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:0;padding:0;width:min(480px,95vw);max-height:90vh;overflow:hidden}.workspace-settings-dialog::backdrop{background:#0009}.workspace-settings-dialog-content{display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.workspace-settings-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.workspace-settings-dialog-title{font-size:var(--font-size-lg);font-weight:600;margin:0;display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.workspace-settings-gear-icon{flex-shrink:0;color:var(--text-muted)}.workspace-settings-close-btn{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:4px 8px;border-radius:0;flex-shrink:0;line-height:1}.workspace-settings-close-btn:hover{background:var(--border);color:var(--text)}.workspace-settings-dialog-body{padding:16px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.workspace-settings-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border);flex-shrink:0}.workspace-settings-footer-right{display:flex;align-items:center;gap:8px}.workspace-settings-save-success{font-size:var(--font-size-sm);color:var(--accent)}.analytics-dashboard{padding:16px 20px;overflow-y:auto;height:100%;font-family:var(--font-mono);color:var(--text);background:var(--bg)}.analytics-header-row{display:flex;align-items:center;justify-content:space-between}.analytics-close-btn{background:none;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-sm);padding:2px 8px;border-radius:2px}.analytics-close-btn:hover{color:var(--text);border-color:var(--text-muted)}.analytics-page-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text);margin:0;text-transform:lowercase}.analytics-divider{border-top:1px solid var(--border);margin:8px 0 16px}.analytics-loading-state,.analytics-error-state{font-size:var(--font-size-sm);color:var(--text-muted);padding:24px 0}.analytics-error-state{color:var(--status-error)}.analytics-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media(max-width:768px){.analytics-top-grid{grid-template-columns:1fr;gap:16px}}.analytics-section{margin-bottom:24px}.analytics-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text);margin:0 0 4px;text-transform:lowercase}.analytics-section-divider{border-top:1px solid var(--border);margin:4px 0 8px}.analytics-kv-list{display:flex;flex-direction:column;gap:2px}.analytics-kv-row{display:flex;align-items:baseline;gap:8px;font-size:var(--font-size-sm);line-height:1.6}.analytics-kv-label{color:var(--text-muted);min-width:120px;flex-shrink:0}.analytics-kv-value{color:var(--text)}.analytics-bar-row{display:flex;align-items:baseline;gap:8px}.analytics-bar{color:var(--accent);letter-spacing:-.05em;font-size:var(--font-size-xs)}.analytics-bar-pct{color:var(--text);font-size:var(--font-size-xs);min-width:32px}.analytics-token-down{color:var(--text-muted)}.analytics-token-up{color:var(--text)}.analytics-empty-text{font-size:var(--font-size-xs);color:var(--text-muted);padding:8px 0}.analytics-tool-list{display:flex;flex-direction:column;gap:2px}.analytics-tool-row{display:flex;align-items:baseline;gap:8px;font-size:var(--font-size-sm);line-height:1.6}.analytics-tool-name{color:var(--text);min-width:80px;flex-shrink:0}.analytics-tool-bar{color:var(--accent);letter-spacing:-.05em;font-size:var(--font-size-xs)}.analytics-tool-count{color:var(--text-muted);font-size:var(--font-size-xs);min-width:40px;text-align:right}.analytics-sessions-table-wrap{overflow-x:auto}.analytics-sessions-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.analytics-sessions-table th{text-align:left;color:var(--text-muted);font-weight:400;padding:4px 8px 4px 0;border-bottom:1px solid var(--border);white-space:nowrap;text-transform:lowercase}.analytics-sessions-table td{padding:4px 8px 4px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);white-space:nowrap;color:var(--text);vertical-align:baseline}.analytics-session-row{cursor:pointer;transition:background .1s}.analytics-session-row:hover{background:var(--surface-hover)}.analytics-session-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.analytics-cell-time{color:var(--text-muted)}.analytics-date-part{margin-right:4px}.analytics-time-part{opacity:.7}.analytics-cell-repo{max-width:160px;overflow:hidden;text-overflow:ellipsis}.analytics-cell-duration{color:var(--text)}.analytics-cell-turns{text-align:right;padding-right:12px}.analytics-cell-tools{color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis}.analytics-sessions-count{font-size:var(--font-size-xs);color:var(--text-muted);padding:8px 0}.session-detail{padding:16px 20px;overflow-y:auto;height:100%;font-family:var(--font-mono);color:var(--text);background:var(--bg)}.sd-back-btn{display:inline-block;font-size:var(--font-size-sm);color:var(--text-muted);cursor:pointer;padding:4px 0;margin-bottom:8px;transition:color .1s;background:none;border:none;font-family:var(--font-mono)}.sd-back-btn:hover{color:var(--accent)}.sd-back-btn:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.sd-page-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text);margin:0;text-transform:lowercase;line-height:1.4}.sd-title-sep{color:var(--text-muted);margin:0 4px}.sd-title-meta{color:var(--text-muted);font-weight:400}.sd-divider{border-top:1px solid var(--border);margin:8px 0 16px}.sd-loading-state,.sd-error-state{font-size:var(--font-size-sm);color:var(--text-muted);padding:24px 0}.sd-error-state{color:var(--status-error)}.sd-section{margin-bottom:24px}.sd-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text);margin:0 0 4px;text-transform:lowercase}.sd-section-divider{border-top:1px solid var(--border);margin:4px 0 8px}.sd-kv-list{display:flex;flex-direction:column;gap:2px}.sd-kv-row{display:flex;align-items:baseline;gap:8px;font-size:var(--font-size-sm);line-height:1.6}.sd-kv-label{color:var(--text-muted);min-width:120px;flex-shrink:0}.sd-kv-value{color:var(--text)}.sd-token-down{color:var(--text-muted)}.sd-token-up{color:var(--text)}.sd-cache-info{color:var(--text-muted);font-size:var(--font-size-xs)}.sd-empty-text{font-size:var(--font-size-xs);color:var(--text-muted);padding:8px 0}.sd-tool-list{display:flex;flex-direction:column;gap:2px}.sd-tool-row{display:flex;align-items:baseline;gap:8px;font-size:var(--font-size-sm);line-height:1.6}.sd-tool-name{color:var(--text);min-width:80px;flex-shrink:0}.sd-tool-bar{color:var(--accent);letter-spacing:-.05em;font-size:var(--font-size-xs)}.sd-tool-count{color:var(--text-muted);font-size:var(--font-size-xs);min-width:60px}.sd-timeline{display:flex;flex-direction:column;gap:1px}.sd-timeline-event{display:flex;align-items:baseline;gap:8px;font-size:var(--font-size-xs);line-height:1.8}.sd-tl-time{color:var(--text-muted);min-width:70px;flex-shrink:0}.sd-tl-symbol{flex-shrink:0;width:14px;text-align:center;color:var(--accent)}.sd-tl-label{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-timeline-idle{padding:2px 0;font-size:var(--font-size-xs)}.sd-idle-line{color:var(--text-muted);padding-left:78px}.diff-sidebar{display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--border, #333);min-width:200px;max-width:280px}.sidebar-file{display:flex;align-items:center;gap:6px;padding:4px 8px;background:transparent;border:none;border-bottom:1px solid var(--border-muted, #222);cursor:pointer;text-align:left;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text, #e0e0e0);min-height:28px;width:100%}.sidebar-file:hover{background:var(--surface-hover, #141414)}.sidebar-file.active{background:#d9775714;border-left:2px solid var(--accent, #d97757)}.sidebar-file.focused{outline:1px solid var(--accent, #d97757);outline-offset:-1px}.status{flex-shrink:0;width:12px;text-align:center;font-weight:700}.name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir{color:var(--text-muted, #888);font-size:.7rem;display:block;overflow:hidden;text-overflow:ellipsis}.stats{flex-shrink:0;display:flex;gap:4px;font-size:.65rem}.stat-add{color:var(--status-success, #4ade80)}.stat-del{color:var(--status-error, #f87171)}.full-page-diff{display:flex;flex-direction:column;height:100%;background:var(--bg, #000);color:var(--text, #e0e0e0);font-family:var(--font-mono, monospace)}.fpd-header{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border, #333);flex-shrink:0}.fpd-close-btn{background:transparent;border:1px solid var(--border, #333);color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer;padding:2px 8px}.fpd-close-btn:hover{color:var(--status-error, #f87171);border-color:var(--status-error, #f87171)}.fpd-title{flex:1;font-size:var(--font-size-sm, .85rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fpd-summary{color:var(--text-muted, #888);font-size:var(--font-size-xs, .75rem)}.fpd-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.fpd-mode-toggle{background:transparent;border:1px solid var(--border, #333);color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer;padding:2px 8px}.fpd-mode-toggle:hover{color:var(--accent, #d97757);border-color:var(--accent, #d97757)}.fpd-body{display:flex;flex:1;min-height:0;overflow:hidden}.fpd-main{flex:1;overflow:auto;min-width:0}.fpd-main .diff-viewer{max-height:none;border:none}.fpd-empty{padding:24px;color:var(--text-muted, #888);text-align:center}.fpd-footer{display:flex;gap:16px;padding:4px 12px;border-top:1px solid var(--border, #333);flex-shrink:0}.fpd-hint{font-size:.65rem;color:var(--text-muted, #888)}@media(max-width:600px){.fpd-body{flex-direction:column}.fpd-body .diff-sidebar{max-width:none;min-width:0;max-height:120px;border-right:none;border-bottom:1px solid var(--border, #333)}}.diff-viewer{font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);line-height:1.5;max-height:400px;overflow:auto;border:1px solid var(--border, #333);background:transparent}.diff-viewer.word-wrap .diff-content,.diff-viewer.word-wrap .diff-content-sbs{min-width:0}.diff-viewer.word-wrap .diff-line,.diff-viewer.word-wrap .sbs-half{white-space:pre-wrap;word-break:break-all}.diff-viewer.word-wrap .sbs-half{overflow:visible}.diff-loading,.diff-empty{padding:12px;color:var(--text-muted, #888)}.diff-content{min-width:max-content}.diff-line{display:flex;white-space:pre;min-height:1.5em}.diff-line.add{background:#4ade8014}.diff-line.add .line-content,.diff-line.add .line-prefix{color:var(--status-success, #4ade80)}.diff-line.delete{background:#f8717114}.diff-line.delete .line-content,.diff-line.delete .line-prefix{color:var(--status-error, #f87171)}.line-number{display:inline-block;width:3.5em;text-align:right;padding-right:.5em;color:#888;-webkit-user-select:none;user-select:none;flex-shrink:0}.line-prefix{display:inline-block;width:1.5em;text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0}.line-content{flex:1;padding-right:1em}.hunk-header{padding:4px 12px;color:var(--accent, #d97757);background:#d977570d;font-style:italic;border-top:1px solid var(--border, #333);border-bottom:1px solid var(--border, #333);-webkit-user-select:none;user-select:none}.diff-content-sbs{min-width:max-content}.sbs-row{display:flex}.sbs-half{flex:1;display:flex;white-space:pre;min-height:1.5em;overflow:hidden}.sbs-half+.sbs-half{border-left:1px solid var(--border, #333)}.sbs-half.add{background:#4ade8014}.sbs-half.add .line-content,.sbs-half.add .line-prefix{color:var(--status-success, #4ade80)}.sbs-half.delete{background:#f8717114}.sbs-half.delete .line-content,.sbs-half.delete .line-prefix{color:var(--status-error, #f87171)}.sbs-half.empty{background:#88888808}.sbs-half .line-number{display:inline-block;width:3em;text-align:right;padding-right:.5em;color:#888;-webkit-user-select:none;user-select:none;flex-shrink:0}.sbs-half .line-prefix{display:inline-block;width:1.5em;text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0}.sbs-half .line-content{flex:1;padding-right:.5em}.truncation-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border, #333);color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem)}.show-more-btn{background:transparent;border:1px solid var(--border, #333);color:var(--accent, #d97757);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer;padding:1px 6px}.show-more-btn:hover{background:#d9775714}.code-block{font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);line-height:1.5;overflow-x:auto;background:transparent}.code-block pre{margin:0;white-space:pre}.code-block code{display:block}.code-block .line{display:block;min-height:1.5em}.code-block .line-number{display:inline-block;width:3.5em;text-align:right;padding-right:1em;color:#888;-webkit-user-select:none;user-select:none}.code-block .fallback,.code-block .loading{color:var(--text, #e0e0e0)}.code-block .loading{opacity:.5}.file-viewer{display:flex;flex-direction:column;height:100%;background:var(--bg, #000);overflow:hidden}.file-tab-bar{display:flex;align-items:center;border-bottom:1px solid var(--border, #333);min-height:32px;flex-shrink:0}.tabs-scroll{display:flex;overflow-x:auto;flex:1;min-width:0}.tabs-scroll::-webkit-scrollbar{height:2px}.tabs-scroll::-webkit-scrollbar-thumb{background:var(--border, #333)}.file-tab{display:flex;align-items:center;gap:4px;padding:6px 8px;background:none;border:none;border-bottom:1px solid transparent;border-right:1px solid var(--border, #333);margin-bottom:-1px;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888);cursor:pointer;white-space:nowrap;flex-shrink:0}.file-tab:hover{color:var(--text, #e0e0e0);background:var(--surface-hover, #141414)}.file-tab.active{color:var(--text, #e0e0e0);border-bottom-color:var(--accent, #d97757)}.tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.tab-badge{font-size:.625rem;color:var(--status-warning, #fbbf24)}.tab-close{background:none;border:none;color:var(--text-muted, #888);font-size:var(--font-size-sm, .8125rem);cursor:pointer;padding:0 2px;line-height:1}.tab-close:hover{color:var(--text, #e0e0e0)}.tab-bar-actions{display:flex;align-items:center;gap:8px;padding:0 8px;flex-shrink:0}.diff-mode-btn{background:none;border:1px solid var(--border, #333);color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer;white-space:nowrap;padding:1px 6px}.diff-mode-btn:hover{color:var(--text, #e0e0e0);border-color:var(--text-muted, #888)}.close-all-btn{background:none;border:none;color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer;white-space:nowrap}.close-all-btn:hover{color:var(--text, #e0e0e0)}.send-to-pill{display:flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border, #333);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);white-space:nowrap}.send-to-pill.disabled{opacity:.4;cursor:not-allowed}.send-to-label{color:var(--text-muted, #888)}.send-to-target{color:var(--text, #e0e0e0)}.file-content{flex:1;overflow:auto;min-height:0}.diff-wrapper{position:relative;height:100%;overflow:auto}.diff-wrapper .diff-viewer{max-height:none;border:none}.diff-wrapper .line-number,.diff-wrapper .d2h-code-linenumber{position:relative;cursor:pointer}.diff-wrapper .line-number:before,.diff-wrapper .d2h-code-linenumber:before{content:"+";position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--text-muted, #888);font-size:10px;opacity:0;transition:opacity .1s;pointer-events:none}.diff-wrapper .line-number:hover:before,.diff-wrapper .d2h-code-linenumber:hover:before{opacity:1;color:var(--accent, #d97757)}.diff-wrapper .line-number:hover,.diff-wrapper .d2h-code-linenumber:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.raw-file{padding:8px}.raw-file.word-wrap pre{white-space:pre-wrap;word-break:break-all}.empty-viewer,.loading-viewer,.error-viewer{padding:24px 16px;font-family:var(--font-mono, monospace);font-size:var(--font-size-sm, .8125rem);color:var(--text-muted, #888)}.error-viewer{color:var(--status-error, #f87171)}.error-text{font-size:var(--font-size-xs, .75rem);margin-bottom:8px}.error-actions{display:flex;gap:8px}.retry-btn,.close-btn{padding:2px 8px;background:none;border:1px solid var(--border, #333);color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer}.retry-btn:hover,.close-btn:hover{color:var(--text, #e0e0e0);border-color:var(--text-muted, #888)}.spinner{display:inline-block;animation:braille-spin .8s steps(8) infinite}@keyframes braille-spin{to{content:"⠏"}}.tab-icon{display:inline-flex;align-items:center;color:var(--text-muted, #888);margin-right:4px}.file-tab.active .tab-icon{color:var(--text, #e0e0e0)}.refresh-btn{background:none;border:1px solid var(--border, #333);color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer;white-space:nowrap;padding:1px 6px}.refresh-btn:hover{color:var(--text, #e0e0e0);border-color:var(--text-muted, #888)}.html-viewer{display:flex;flex-direction:column;flex:1;overflow:hidden}.sandbox-notice{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;border-bottom:1px solid var(--border, #333);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888);transition:opacity .3s ease-out}.notice-text{font-family:inherit}.notice-dismiss{background:none;border:none;color:var(--text-muted, #888);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm, .8125rem);padding:0 4px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.notice-dismiss:hover{color:var(--text, #e0e0e0)}.html-iframe{flex:1;width:100%;border:none;background:#fff}.split-pane-layout{display:flex;flex-direction:row;flex:1;min-width:0;height:100%;overflow:hidden}.pane-terminal{display:flex;flex-direction:column;min-width:300px;height:100%;overflow:hidden}.pane-file-viewer{min-width:300px;height:100%;overflow:hidden}.pane-right-sidebar{flex-shrink:0;height:100%;overflow:hidden}.resize-handle{width:8px;cursor:col-resize;position:relative;flex-shrink:0;z-index:5}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:var(--border, #333);pointer-events:none}.resize-handle:hover:after,.resize-handle.active:after{background:var(--accent, #d97757)}@media(max-width:767px){.pane-right-sidebar,.resize-handle{display:none}}.diff-source-toggle{display:flex;gap:0;border:1px solid var(--border, #333)}.toggle-option{padding:2px 8px;background:transparent;border:none;border-right:1px solid var(--border, #333);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888);cursor:pointer;white-space:nowrap}.toggle-option:last-child{border-right:none}.toggle-option:hover{background:var(--surface-hover, #141414);color:var(--text, #e0e0e0)}.toggle-option.active{color:var(--accent, #d97757);background:#d9775714}.fts-sidebar{display:flex;flex-direction:column;height:100%;background:var(--bg, #000);overflow:hidden;min-width:160px}.fts-tab-bar{display:flex;border-bottom:1px solid var(--border, #333);padding:0;flex-shrink:0}.fts-tab{flex:1;padding:6px 8px;background:none;border:none;border-bottom:1px solid transparent;margin-bottom:-1px;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888);cursor:pointer;white-space:nowrap}.fts-tab:hover{color:var(--text, #e0e0e0)}.fts-tab.active{color:var(--text, #e0e0e0);border-bottom-color:var(--accent, #d97757)}.fts-tab-count{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888);margin-left:4px}.fts-tab-content{flex:1;overflow-y:auto;overflow-x:hidden}.fts-controls-row{padding:4px 8px;border-bottom:1px solid var(--border, #333)}.fts-tree{outline:none}.tree-item{display:flex;align-items:center;width:100%;min-height:26px;padding:2px 8px;background:none;border:none;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text, #e0e0e0);cursor:pointer;text-align:left;gap:4px}.tree-item.file{color:var(--text-muted, #888)}.tree-item:hover{background:var(--surface-hover, #141414)}.tree-item.file:hover{color:var(--text, #e0e0e0)}.tree-item.focused{background:var(--surface-hover, #141414);outline:1px solid var(--accent, #d97757);outline-offset:-1px}.tree-item.animating{animation:fts-flash-accent .3s ease-out}@keyframes fts-flash-accent{0%{background:color-mix(in srgb,var(--accent) 10%,transparent)}to{background:transparent}}.icon-slot{width:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.expand-arrow{color:var(--text, #e0e0e0);font-size:var(--font-size-xs, .75rem)}.file-icon{color:var(--border, #333);font-size:var(--font-size-xs, .75rem)}.blue-dot{width:6px;height:6px;border-radius:50%;background:var(--status-info, #60a5fa)}.node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-slot{flex-shrink:0;min-width:24px;text-align:right}.badge{font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);font-weight:600}.file-count{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888)}.has-children-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--text-muted, #888)}.fts-loading-state,.fts-error-state,.fts-empty-state{padding:12px 8px;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888)}.fts-error-state{color:var(--status-error, #f87171)}.fts-error-text{font-size:var(--font-size-xs, .75rem)}.fts-retry-btn{display:inline-block;margin-top:8px;padding:2px 8px;background:none;border:1px solid var(--border, #333);color:var(--text-muted, #888);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer}.fts-retry-btn:hover{color:var(--text, #e0e0e0);border-color:var(--text-muted, #888)}.fts-spinner{display:inline-block;animation:fts-spin .8s steps(8) infinite}@keyframes fts-spin{to{content:"u280F"}}.fts-stats-bar{padding:4px 8px;border-top:1px solid var(--border, #333);font-family:var(--font-mono, monospace);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #888);flex-shrink:0}.fts-stat-add{color:var(--status-success, #4ade80)}.fts-stat-del{color:var(--status-error, #f87171)}:root{--bg: #000000;--surface: #0a0a0a;--surface-hover: #141414;--accent: #d97757;--text: #e0e0e0;--text-muted: #888888;--border: #333333;--status-success: #4ade80;--status-error: #f87171;--status-warning: #fbbf24;--status-merged: #a78bfa;--status-info: #60a5fa;--font-mono: "SF Mono", "Cascadia Code", "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-lg: 1rem;--sidebar-width: 240px;--toolbar-height: auto;--sidebar-padding-x: 16px;--content-padding-x: 20px;--row-padding-y: 10px;--icon-slot-width: 24px;--action-slot-width: 36px;--row-min-height: 44px;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px}[hidden]{display:none!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}dialog{margin:auto}html,body{height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-base);color-scheme:dark}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}.main-app{display:flex;flex-direction:row;width:100%;height:100vh;height:100dvh;overflow:hidden}.sidebar-overlay{display:none}.terminal-area{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative}.full-page-diff-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column}@media(max-width:600px){.main-app{position:fixed;top:0;right:0;bottom:0;left:0;width:100%}.terminal-area{width:100%}}