@neuralnomads/codenomad-dev 0.10.3-dev-20260213-ba418a85
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.
- package/README.md +126 -0
- package/dist/api-types.js +1 -0
- package/dist/auth/auth-store.js +134 -0
- package/dist/auth/http-auth.js +37 -0
- package/dist/auth/manager.js +128 -0
- package/dist/auth/password-hash.js +32 -0
- package/dist/auth/session-manager.js +17 -0
- package/dist/auth/token-manager.js +27 -0
- package/dist/background-processes/manager.js +437 -0
- package/dist/bin.js +24 -0
- package/dist/config/binaries.js +148 -0
- package/dist/config/location.js +57 -0
- package/dist/config/schema.js +70 -0
- package/dist/config/store.js +200 -0
- package/dist/events/bus.js +41 -0
- package/dist/filesystem/__tests__/search-cache.test.js +40 -0
- package/dist/filesystem/browser.js +285 -0
- package/dist/filesystem/search-cache.js +43 -0
- package/dist/filesystem/search.js +135 -0
- package/dist/index.js +410 -0
- package/dist/integrations/github/bot-signature.js +11 -0
- package/dist/integrations/github/git-ops.js +133 -0
- package/dist/integrations/github/github-types.js +1 -0
- package/dist/integrations/github/job-runner.js +608 -0
- package/dist/integrations/github/octokit.js +58 -0
- package/dist/integrations/github/sanitize-webhook.js +42 -0
- package/dist/integrations/github/webhook-verify.js +21 -0
- package/dist/integrations/github/workspace-context.js +10 -0
- package/dist/integrations/github/worktree-context.js +15 -0
- package/dist/launcher.js +149 -0
- package/dist/loader.js +21 -0
- package/dist/logger.js +109 -0
- package/dist/opencode/request-context.js +39 -0
- package/dist/opencode/worktree-directory.js +42 -0
- package/dist/opencode-config/README.md +32 -0
- package/dist/opencode-config/opencode.jsonc +3 -0
- package/dist/opencode-config/package.json +9 -0
- package/dist/opencode-config/plugin/codenomad.ts +32 -0
- package/dist/opencode-config/plugin/lib/background-process.ts +253 -0
- package/dist/opencode-config/plugin/lib/client.ts +133 -0
- package/dist/opencode-config/plugin/lib/request.ts +214 -0
- package/dist/opencode-config-template/README.md +32 -0
- package/dist/opencode-config-template/opencode.jsonc +3 -0
- package/dist/opencode-config-template/plugin/codenomad.ts +40 -0
- package/dist/opencode-config-template/plugin/lib/background-process.ts +160 -0
- package/dist/opencode-config-template/plugin/lib/client.ts +165 -0
- package/dist/opencode-config.js +26 -0
- package/dist/plugins/channel.js +40 -0
- package/dist/plugins/handlers.js +17 -0
- package/dist/releases/dev-release-monitor.js +75 -0
- package/dist/releases/release-monitor.js +107 -0
- package/dist/server/http-server.js +547 -0
- package/dist/server/network-addresses.js +72 -0
- package/dist/server/routes/auth-pages/login.html +134 -0
- package/dist/server/routes/auth-pages/token.html +93 -0
- package/dist/server/routes/auth.js +134 -0
- package/dist/server/routes/background-processes.js +60 -0
- package/dist/server/routes/config.js +59 -0
- package/dist/server/routes/events.js +43 -0
- package/dist/server/routes/filesystem.js +43 -0
- package/dist/server/routes/github-plugin.js +215 -0
- package/dist/server/routes/github-webhook.js +32 -0
- package/dist/server/routes/meta.js +47 -0
- package/dist/server/routes/plugin.js +52 -0
- package/dist/server/routes/storage.js +52 -0
- package/dist/server/routes/workspaces.js +89 -0
- package/dist/server/routes/worktrees.js +156 -0
- package/dist/server/tls.js +224 -0
- package/dist/storage/instance-store.js +56 -0
- package/dist/ui/__tests__/remote-ui.test.js +46 -0
- package/dist/ui/remote-ui.js +462 -0
- package/dist/workspaces/git-worktrees.js +199 -0
- package/dist/workspaces/instance-events.js +180 -0
- package/dist/workspaces/manager.js +375 -0
- package/dist/workspaces/opencode-auth.js +16 -0
- package/dist/workspaces/runtime.js +346 -0
- package/dist/workspaces/worktree-map.js +116 -0
- package/package.json +49 -0
- package/public/apple-touch-icon-180x180.png +0 -0
- package/public/assets/CodeNomad-Icon-bmTWNPXy.png +0 -0
- package/public/assets/abap-BdImnpbu.js +1 -0
- package/public/assets/actionscript-3-CfeIJUat.js +1 -0
- package/public/assets/ada-bCR0ucgS.js +1 -0
- package/public/assets/andromeeda-C-Jbm3Hp.js +1 -0
- package/public/assets/angular-html-CU67Zn6k.js +1 -0
- package/public/assets/angular-ts-BwZT4LLn.js +1 -0
- package/public/assets/apache-Pmp26Uib.js +1 -0
- package/public/assets/apex-DhZLUxFE.js +1 -0
- package/public/assets/apl-dKokRX4l.js +1 -0
- package/public/assets/applescript-Co6uUVPk.js +1 -0
- package/public/assets/ara-BRHolxvo.js +1 -0
- package/public/assets/asciidoc-Dv7Oe6Be.js +1 -0
- package/public/assets/asm-D_Q5rh1f.js +1 -0
- package/public/assets/astro-CbQHKStN.js +1 -0
- package/public/assets/aurora-x-D-2ljcwZ.js +1 -0
- package/public/assets/awk-DMzUqQB5.js +1 -0
- package/public/assets/ayu-dark-Cv9koXgw.js +1 -0
- package/public/assets/ballerina-BFfxhgS-.js +1 -0
- package/public/assets/bat-BkioyH1T.js +1 -0
- package/public/assets/beancount-k_qm7-4y.js +1 -0
- package/public/assets/berry-D08WgyRC.js +1 -0
- package/public/assets/bibtex-CHM0blh-.js +1 -0
- package/public/assets/bicep-Bmn6On1c.js +1 -0
- package/public/assets/blade-DVc8C-J4.js +1 -0
- package/public/assets/bsl-BO_Y6i37.js +1 -0
- package/public/assets/c-BIGW1oBm.js +1 -0
- package/public/assets/cadence-Bv_4Rxtq.js +1 -0
- package/public/assets/cairo-KRGpt6FW.js +1 -0
- package/public/assets/catppuccin-frappe-DFWUc33u.js +1 -0
- package/public/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
- package/public/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
- package/public/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
- package/public/assets/clarity-D53aC0YG.js +1 -0
- package/public/assets/clojure-P80f7IUj.js +1 -0
- package/public/assets/cmake-D1j8_8rp.js +1 -0
- package/public/assets/cobol-nwyudZeR.js +1 -0
- package/public/assets/codeowners-Bp6g37R7.js +1 -0
- package/public/assets/codeql-DsOJ9woJ.js +1 -0
- package/public/assets/coffee-Ch7k5sss.js +1 -0
- package/public/assets/common-lisp-Cg-RD9OK.js +1 -0
- package/public/assets/coq-DkFqJrB1.js +1 -0
- package/public/assets/core-BSTVzpXI.js +1 -0
- package/public/assets/cpp-CofmeUqb.js +1 -0
- package/public/assets/crystal-tKQVLTB8.js +1 -0
- package/public/assets/csharp-CX12Zw3r.js +1 -0
- package/public/assets/css-DPfMkruS.js +1 -0
- package/public/assets/csv-fuZLfV_i.js +1 -0
- package/public/assets/cue-D82EKSYY.js +1 -0
- package/public/assets/cypher-COkxafJQ.js +1 -0
- package/public/assets/d-85-TOEBH.js +1 -0
- package/public/assets/dark-plus-eOWES_5F.js +1 -0
- package/public/assets/dart-CF10PKvl.js +1 -0
- package/public/assets/dax-CEL-wOlO.js +1 -0
- package/public/assets/desktop-BmXAJ9_W.js +1 -0
- package/public/assets/diff-D97Zzqfu.js +1 -0
- package/public/assets/docker-BcOcwvcX.js +1 -0
- package/public/assets/dotenv-Da5cRb03.js +1 -0
- package/public/assets/dracula-BzJJZx-M.js +1 -0
- package/public/assets/dracula-soft-BXkSAIEj.js +1 -0
- package/public/assets/dream-maker-BtqSS_iP.js +1 -0
- package/public/assets/edge-BkV0erSs.js +1 -0
- package/public/assets/elixir-CDX3lj18.js +1 -0
- package/public/assets/elm-DbKCFpqz.js +1 -0
- package/public/assets/emacs-lisp-C9XAeP06.js +1 -0
- package/public/assets/erb-BOJIQeun.js +1 -0
- package/public/assets/erlang-DsQrWhSR.js +1 -0
- package/public/assets/everforest-dark-BgDCqdQA.js +1 -0
- package/public/assets/everforest-light-C8M2exoo.js +1 -0
- package/public/assets/fennel-BYunw83y.js +1 -0
- package/public/assets/fish-BvzEVeQv.js +1 -0
- package/public/assets/fluent-C4IJs8-o.js +1 -0
- package/public/assets/fortran-fixed-form-BZjJHVRy.js +1 -0
- package/public/assets/fortran-free-form-D22FLkUw.js +1 -0
- package/public/assets/fsharp-CXgrBDvD.js +1 -0
- package/public/assets/gdresource-B7Tvp0Sc.js +1 -0
- package/public/assets/gdscript-DTMYz4Jt.js +1 -0
- package/public/assets/gdshader-DkwncUOv.js +1 -0
- package/public/assets/genie-D0YGMca9.js +1 -0
- package/public/assets/gherkin-DyxjwDmM.js +1 -0
- package/public/assets/git-commit-F4YmCXRG.js +1 -0
- package/public/assets/git-rebase-r7XF79zn.js +1 -0
- package/public/assets/github-dark-DHJKELXO.js +1 -0
- package/public/assets/github-dark-default-Cuk6v7N8.js +1 -0
- package/public/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
- package/public/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
- package/public/assets/github-light-DAi9KRSo.js +1 -0
- package/public/assets/github-light-default-D7oLnXFd.js +1 -0
- package/public/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
- package/public/assets/gleam-BspZqrRM.js +1 -0
- package/public/assets/glimmer-js-Rg0-pVw9.js +1 -0
- package/public/assets/glimmer-ts-U6CK756n.js +1 -0
- package/public/assets/glsl-DplSGwfg.js +1 -0
- package/public/assets/gnuplot-DdkO51Og.js +1 -0
- package/public/assets/go-Dn2_MT6a.js +1 -0
- package/public/assets/graphql-ChdNCCLP.js +1 -0
- package/public/assets/groovy-gcz8RCvz.js +1 -0
- package/public/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
- package/public/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
- package/public/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
- package/public/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
- package/public/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
- package/public/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
- package/public/assets/hack-CaT9iCJl.js +1 -0
- package/public/assets/haml-B8DHNrY2.js +1 -0
- package/public/assets/handlebars-BL8al0AC.js +1 -0
- package/public/assets/haskell-Df6bDoY_.js +1 -0
- package/public/assets/haxe-CzTSHFRz.js +1 -0
- package/public/assets/hcl-BWvSN4gD.js +1 -0
- package/public/assets/hjson-D5-asLiD.js +1 -0
- package/public/assets/hlsl-D3lLCCz7.js +1 -0
- package/public/assets/houston-DnULxvSX.js +1 -0
- package/public/assets/html-GMplVEZG.js +1 -0
- package/public/assets/html-derivative-BFtXZ54Q.js +1 -0
- package/public/assets/http-jrhK8wxY.js +1 -0
- package/public/assets/hurl-irOxFIW8.js +1 -0
- package/public/assets/hxml-Bvhsp5Yf.js +1 -0
- package/public/assets/hy-DFXneXwc.js +1 -0
- package/public/assets/imba-DGztddWO.js +1 -0
- package/public/assets/index-D4PT0yE4.js +1 -0
- package/public/assets/index-DN20ggb1.js +1 -0
- package/public/assets/index-DdQ7zIzB.js +1 -0
- package/public/assets/index-Dl-rJJuP.js +1 -0
- package/public/assets/index-Dlo2gDiy.css +1 -0
- package/public/assets/ini-BEwlwnbL.js +1 -0
- package/public/assets/java-CylS5w8V.js +1 -0
- package/public/assets/javascript-wDzz0qaB.js +1 -0
- package/public/assets/jinja-4LBKfQ-Z.js +1 -0
- package/public/assets/jison-wvAkD_A8.js +1 -0
- package/public/assets/json-Cp-IABpG.js +1 -0
- package/public/assets/json5-C9tS-k6U.js +1 -0
- package/public/assets/jsonc-Des-eS-w.js +1 -0
- package/public/assets/jsonl-DcaNXYhu.js +1 -0
- package/public/assets/jsonnet-DFQXde-d.js +1 -0
- package/public/assets/jssm-C2t-YnRu.js +1 -0
- package/public/assets/jsx-g9-lgVsj.js +1 -0
- package/public/assets/julia-C8NyazO9.js +1 -0
- package/public/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
- package/public/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
- package/public/assets/kanagawa-wave-DWedfzmr.js +1 -0
- package/public/assets/kdl-DV7GczEv.js +1 -0
- package/public/assets/kotlin-BdnUsdx6.js +1 -0
- package/public/assets/kusto-BvAqAH-y.js +1 -0
- package/public/assets/laserwave-DUszq2jm.js +1 -0
- package/public/assets/latex-BUKiar2Z.js +1 -0
- package/public/assets/lean-DP1Csr6i.js +1 -0
- package/public/assets/less-B1dDrJ26.js +1 -0
- package/public/assets/light-plus-B7mTdjB0.js +1 -0
- package/public/assets/liquid-DYVedYrR.js +1 -0
- package/public/assets/llvm-BtvRca6l.js +1 -0
- package/public/assets/loading-CmEVQgyj.css +1 -0
- package/public/assets/loading-DgqIiz-T.js +1 -0
- package/public/assets/log-2UxHyX5q.js +1 -0
- package/public/assets/logo-BtOb2qkB.js +1 -0
- package/public/assets/lua-BbnMAYS6.js +1 -0
- package/public/assets/luau-CXu1NL6O.js +1 -0
- package/public/assets/main-CSlDZj4f.js +188 -0
- package/public/assets/main-HAZkIolJ.css +19 -0
- package/public/assets/make-CHLpvVh8.js +1 -0
- package/public/assets/markdown-Cvjx9yec.js +1 -0
- package/public/assets/marko-CPi9NSCl.js +1 -0
- package/public/assets/material-theme-D5KoaKCx.js +1 -0
- package/public/assets/material-theme-darker-BfHTSMKl.js +1 -0
- package/public/assets/material-theme-lighter-B0m2ddpp.js +1 -0
- package/public/assets/material-theme-ocean-CyktbL80.js +1 -0
- package/public/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
- package/public/assets/matlab-D7o27uSR.js +1 -0
- package/public/assets/mdc-DUICxH0z.js +1 -0
- package/public/assets/mdx-Cmh6b_Ma.js +1 -0
- package/public/assets/mermaid-DKYwYmdq.js +1 -0
- package/public/assets/min-dark-CafNBF8u.js +1 -0
- package/public/assets/min-light-CTRr51gU.js +1 -0
- package/public/assets/mipsasm-CKIfxQSi.js +1 -0
- package/public/assets/mojo-1DNp92w6.js +1 -0
- package/public/assets/monokai-D4h5O-jR.js +1 -0
- package/public/assets/move-Bu9oaDYs.js +1 -0
- package/public/assets/narrat-DRg8JJMk.js +1 -0
- package/public/assets/nextflow-CUEJCptM.js +1 -0
- package/public/assets/nginx-DknmC5AR.js +1 -0
- package/public/assets/night-owl-C39BiMTA.js +1 -0
- package/public/assets/nim-CVrawwO9.js +1 -0
- package/public/assets/nix-BbRYJGeE.js +1 -0
- package/public/assets/nord-Ddv68eIx.js +1 -0
- package/public/assets/nushell-C-sUppwS.js +1 -0
- package/public/assets/objective-c-DXmwc3jG.js +1 -0
- package/public/assets/objective-cpp-CLxacb5B.js +1 -0
- package/public/assets/ocaml-C0hk2d4L.js +1 -0
- package/public/assets/one-dark-pro-DVMEJ2y_.js +1 -0
- package/public/assets/one-light-PoHY5YXO.js +1 -0
- package/public/assets/pascal-D93ZcfNL.js +1 -0
- package/public/assets/perl-C0TMdlhV.js +1 -0
- package/public/assets/php-CDn_0X-4.js +1 -0
- package/public/assets/pkl-u5AG7uiY.js +1 -0
- package/public/assets/plastic-3e1v2bzS.js +1 -0
- package/public/assets/plsql-ChMvpjG-.js +1 -0
- package/public/assets/po-BTJTHyun.js +1 -0
- package/public/assets/poimandres-CS3Unz2-.js +1 -0
- package/public/assets/polar-C0HS_06l.js +1 -0
- package/public/assets/postcss-CXtECtnM.js +1 -0
- package/public/assets/powerquery-CEu0bR-o.js +1 -0
- package/public/assets/powershell-Dpen1YoG.js +1 -0
- package/public/assets/prisma-Dd19v3D-.js +1 -0
- package/public/assets/prolog-CbFg5uaA.js +1 -0
- package/public/assets/proto-DyJlTyXw.js +1 -0
- package/public/assets/pug-CGlum2m_.js +1 -0
- package/public/assets/puppet-BMWR74SV.js +1 -0
- package/public/assets/purescript-CklMAg4u.js +1 -0
- package/public/assets/python-B6aJPvgy.js +1 -0
- package/public/assets/qml-3beO22l8.js +1 -0
- package/public/assets/qmldir-C8lEn-DE.js +1 -0
- package/public/assets/qss-IeuSbFQv.js +1 -0
- package/public/assets/r-DiinP2Uv.js +1 -0
- package/public/assets/racket-BqYA7rlc.js +1 -0
- package/public/assets/raku-DXvB9xmW.js +1 -0
- package/public/assets/razor-WgofotgN.js +1 -0
- package/public/assets/red-bN70gL4F.js +1 -0
- package/public/assets/reg-C-SQnVFl.js +1 -0
- package/public/assets/regexp-CDVJQ6XC.js +1 -0
- package/public/assets/rel-C3B-1QV4.js +1 -0
- package/public/assets/riscv-BM1_JUlF.js +1 -0
- package/public/assets/rose-pine-BHrmToEH.js +1 -0
- package/public/assets/rose-pine-dawn-CnK8MTSM.js +1 -0
- package/public/assets/rose-pine-moon-NleAzG8P.js +1 -0
- package/public/assets/rosmsg-BJDFO7_C.js +1 -0
- package/public/assets/rst-B0xPkSld.js +1 -0
- package/public/assets/ruby-BvKwtOVI.js +1 -0
- package/public/assets/rust-B1yitclQ.js +1 -0
- package/public/assets/sas-cz2c8ADy.js +1 -0
- package/public/assets/sass-Cj5Yp3dK.js +1 -0
- package/public/assets/scala-C151Ov-r.js +1 -0
- package/public/assets/scheme-C98Dy4si.js +1 -0
- package/public/assets/scss-OYdSNvt2.js +1 -0
- package/public/assets/sdbl-DVxCFoDh.js +1 -0
- package/public/assets/shaderlab-Dg9Lc6iA.js +1 -0
- package/public/assets/shellscript-Yzrsuije.js +1 -0
- package/public/assets/shellsession-BADoaaVG.js +1 -0
- package/public/assets/slack-dark-BthQWCQV.js +1 -0
- package/public/assets/slack-ochin-DqwNpetd.js +1 -0
- package/public/assets/smalltalk-BERRCDM3.js +1 -0
- package/public/assets/snazzy-light-Bw305WKR.js +1 -0
- package/public/assets/solarized-dark-DXbdFlpD.js +1 -0
- package/public/assets/solarized-light-L9t79GZl.js +1 -0
- package/public/assets/solidity-BbcW6ACK.js +1 -0
- package/public/assets/soy-Brmx7dQM.js +1 -0
- package/public/assets/sparql-rVzFXLq3.js +1 -0
- package/public/assets/splunk-BtCnVYZw.js +1 -0
- package/public/assets/sql-BLtJtn59.js +1 -0
- package/public/assets/ssh-config-_ykCGR6B.js +1 -0
- package/public/assets/stata-BH5u7GGu.js +1 -0
- package/public/assets/stylus-BEDo0Tqx.js +1 -0
- package/public/assets/svelte-3Dk4HxPD.js +1 -0
- package/public/assets/swift-Dg5xB15N.js +1 -0
- package/public/assets/synthwave-84-CbfX1IO0.js +1 -0
- package/public/assets/system-verilog-CnnmHF94.js +1 -0
- package/public/assets/systemd-4A_iFExJ.js +1 -0
- package/public/assets/talonscript-CkByrt1z.js +1 -0
- package/public/assets/tasl-QIJgUcNo.js +1 -0
- package/public/assets/tcl-dwOrl1Do.js +1 -0
- package/public/assets/templ-W15q3VgB.js +1 -0
- package/public/assets/terraform-BETggiCN.js +1 -0
- package/public/assets/tex-Cppo0RY3.js +1 -0
- package/public/assets/tokyo-night-hegEt444.js +1 -0
- package/public/assets/toml-vGWfd6FD.js +1 -0
- package/public/assets/ts-tags-zn1MmPIZ.js +1 -0
- package/public/assets/tsv-B_m7g4N7.js +1 -0
- package/public/assets/tsx-COt5Ahok.js +1 -0
- package/public/assets/turtle-BsS91CYL.js +1 -0
- package/public/assets/twig-CO9l9SDP.js +1 -0
- package/public/assets/typescript-BPQ3VLAy.js +1 -0
- package/public/assets/typespec-Df68jz8_.js +1 -0
- package/public/assets/typst-DHCkPAjA.js +1 -0
- package/public/assets/v-BcVCzyr7.js +1 -0
- package/public/assets/vala-CsfeWuGM.js +1 -0
- package/public/assets/vb-D17OF-Vu.js +1 -0
- package/public/assets/verilog-BQ8w6xss.js +1 -0
- package/public/assets/vesper-DU1UobuO.js +1 -0
- package/public/assets/vhdl-CeAyd5Ju.js +1 -0
- package/public/assets/viml-CJc9bBzg.js +1 -0
- package/public/assets/vitesse-black-Bkuqu6BP.js +1 -0
- package/public/assets/vitesse-dark-D0r3Knsf.js +1 -0
- package/public/assets/vitesse-light-CVO1_9PV.js +1 -0
- package/public/assets/vue-CCoi5OLL.js +1 -0
- package/public/assets/vue-html-DAAvJJDi.js +1 -0
- package/public/assets/vue-vine-_Ih-lPRR.js +1 -0
- package/public/assets/vyper-CDx5xZoG.js +1 -0
- package/public/assets/wasm-CG6Dc4jp.js +1 -0
- package/public/assets/wasm-MzD3tlZU.js +1 -0
- package/public/assets/wenyan-BV7otONQ.js +1 -0
- package/public/assets/wgsl-Dx-B1_4e.js +1 -0
- package/public/assets/wikitext-BhOHFoWU.js +1 -0
- package/public/assets/wit-5i3qLPDT.js +1 -0
- package/public/assets/wolfram-lXgVvXCa.js +1 -0
- package/public/assets/xml-sdJ4AIDG.js +1 -0
- package/public/assets/xsl-CtQFsRM5.js +1 -0
- package/public/assets/yaml-Buea-lGh.js +1 -0
- package/public/assets/zenscript-DVFEvuxE.js +1 -0
- package/public/assets/zig-VOosw3JB.js +1 -0
- package/public/favicon.ico +0 -0
- package/public/index.html +38 -0
- package/public/loading.html +28 -0
- package/public/logo.png +0 -0
- package/public/manifest.webmanifest +1 -0
- package/public/maskable-icon-512x512.png +0 -0
- package/public/monaco/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/public/monaco/vs/base/worker/workerMain.js +31 -0
- package/public/monaco/vs/basic-languages/cpp/cpp.js +10 -0
- package/public/monaco/vs/basic-languages/kotlin/kotlin.js +10 -0
- package/public/monaco/vs/basic-languages/markdown/markdown.js +10 -0
- package/public/monaco/vs/basic-languages/python/python.js +10 -0
- package/public/monaco/vs/editor/editor.main.css +8 -0
- package/public/monaco/vs/editor/editor.main.js +798 -0
- package/public/monaco/vs/language/css/cssMode.js +13 -0
- package/public/monaco/vs/language/css/cssWorker.js +77 -0
- package/public/monaco/vs/language/html/htmlMode.js +13 -0
- package/public/monaco/vs/language/html/htmlWorker.js +454 -0
- package/public/monaco/vs/language/json/jsonMode.js +19 -0
- package/public/monaco/vs/language/json/jsonWorker.js +42 -0
- package/public/monaco/vs/language/typescript/tsMode.js +20 -0
- package/public/monaco/vs/language/typescript/tsWorker.js +51328 -0
- package/public/monaco/vs/loader.js +11 -0
- package/public/monaco.worker.js +7 -0
- package/public/pwa-192x192.png +0 -0
- package/public/pwa-512x512.png +0 -0
- package/public/pwa-64x64.png +0 -0
- package/public/registerSW.js +1 -0
- package/public/sw.js +1 -0
- package/public/ui-version.json +3 -0
- package/public/workbox-60d14903.js +1 -0
- package/scripts/copy-auth-pages.mjs +22 -0
- package/scripts/copy-opencode-config.mjs +61 -0
- package/scripts/copy-ui-dist.mjs +21 -0
- package/src/api-types.ts +326 -0
- package/src/auth/auth-store.ts +175 -0
- package/src/auth/http-auth.ts +38 -0
- package/src/auth/manager.ts +163 -0
- package/src/auth/password-hash.ts +49 -0
- package/src/auth/session-manager.ts +23 -0
- package/src/auth/token-manager.ts +32 -0
- package/src/background-processes/manager.ts +519 -0
- package/src/bin.ts +29 -0
- package/src/config/binaries.ts +192 -0
- package/src/config/location.ts +78 -0
- package/src/config/schema.ts +104 -0
- package/src/config/store.ts +244 -0
- package/src/events/bus.ts +45 -0
- package/src/filesystem/__tests__/search-cache.test.ts +61 -0
- package/src/filesystem/browser.ts +353 -0
- package/src/filesystem/search-cache.ts +66 -0
- package/src/filesystem/search.ts +184 -0
- package/src/index.ts +540 -0
- package/src/launcher.ts +177 -0
- package/src/loader.ts +21 -0
- package/src/logger.ts +133 -0
- package/src/opencode-config.ts +31 -0
- package/src/plugins/channel.ts +55 -0
- package/src/plugins/handlers.ts +36 -0
- package/src/releases/dev-release-monitor.ts +118 -0
- package/src/releases/release-monitor.ts +149 -0
- package/src/server/http-server.ts +693 -0
- package/src/server/network-addresses.ts +75 -0
- package/src/server/routes/auth-pages/login.html +134 -0
- package/src/server/routes/auth-pages/token.html +93 -0
- package/src/server/routes/auth.ts +164 -0
- package/src/server/routes/background-processes.ts +85 -0
- package/src/server/routes/config.ts +76 -0
- package/src/server/routes/events.ts +61 -0
- package/src/server/routes/filesystem.ts +54 -0
- package/src/server/routes/meta.ts +58 -0
- package/src/server/routes/plugin.ts +75 -0
- package/src/server/routes/storage.ts +66 -0
- package/src/server/routes/workspaces.ts +113 -0
- package/src/server/routes/worktrees.ts +195 -0
- package/src/server/tls.ts +283 -0
- package/src/storage/instance-store.ts +64 -0
- package/src/ui/__tests__/remote-ui.test.ts +58 -0
- package/src/ui/remote-ui.ts +571 -0
- package/src/workspaces/git-worktrees.ts +241 -0
- package/src/workspaces/instance-events.ts +226 -0
- package/src/workspaces/manager.ts +493 -0
- package/src/workspaces/opencode-auth.ts +22 -0
- package/src/workspaces/runtime.ts +428 -0
- package/src/workspaces/worktree-map.ts +129 -0
- package/tsconfig.json +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{color-scheme:light;--surface-base: #ffffff;--surface-secondary: #f5f5f5;--surface-muted: #f8fafc;--surface-code: #f1f5f9;--surface-hover: #e0e0e0;--markdown-table-row-odd: transparent;--markdown-table-row-even: #f1f5f9;--border-base: #e0e0e0;--border-secondary: #e0e0e0;--border-muted: #e0e0e0;--border-strong: color-mix(in oklab, var(--border-base) 62%, var(--text-primary));--text-primary: #111827;--text-secondary: #334155;--text-muted: #475569;--text-inverted: #ffffff;--text-on-accent: #ffffff;--accent-primary: #0066ff;--accent-hover: #0052cc;--status-success: #4caf50;--status-error: #f44336;--status-warning: #ff9800;--message-user-bg: color-mix(in oklab, var(--surface-secondary) 88%, var(--message-user-border));--message-user-border: #2196f3;--message-assistant-bg: var(--message-tool-bg);--message-assistant-border: #f59e0b;--message-tool-bg: #eef2f7;--message-tool-border: #64748b;--session-user-active-bg: color-mix(in oklab, var(--surface-secondary) 85%, var(--message-user-border));--session-assistant-active-bg: color-mix(in oklab, var(--surface-secondary) 85%, var(--message-assistant-border));--session-status-working-fg: #b45309;--session-status-working-bg: rgba(245, 158, 11, .16);--session-status-compacting-fg: #6d28d9;--session-status-compacting-bg: rgba(109, 40, 217, .18);--session-status-idle-fg: #15803d;--session-status-idle-bg: rgba(22, 163, 74, .16);--session-status-permission-fg: #b91c1c;--session-status-permission-bg: rgba(239, 68, 68, .16);--list-item-highlight-bg: rgba(0, 102, 255, .1);--list-item-highlight-bg-solid: #e5f0ff;--list-item-highlight-border: rgba(0, 102, 255, .25);--attachment-chip-bg: rgba(0, 102, 255, .1);--attachment-chip-text: #0066ff;--attachment-chip-ring: rgba(0, 102, 255, .1);--badge-neutral-bg: rgba(0, 102, 255, .05);--badge-neutral-text: #0066ff;--badge-success-bg: rgba(76, 175, 80, .12);--status-ready-fg: #16a34a;--status-ready-bg: rgba(34, 197, 94, .1);--status-starting-fg: #ca8a04;--status-starting-bg: rgba(250, 204, 21, .1);--status-error-fg: #dc2626;--status-error-bg: rgba(239, 68, 68, .1);--status-stopped-fg: #6b7280;--status-stopped-bg: rgba(107, 114, 128, .1);--env-vars-bg: rgba(0, 102, 255, .1);--env-vars-border: rgba(0, 102, 255, .2);--env-vars-text: #0066ff;--folder-overlay-bg: rgba(0, 0, 0, .35);--folder-card-shadow: 0 20px 60px rgba(0, 0, 0, .2);--folder-card-radius: 16px;--dropdown-highlight-bg: rgba(0, 102, 255, .1);--dropdown-highlight-text: var(--text-primary);--selection-highlight-bg: rgba(0, 102, 255, .12);--selection-highlight-strong-bg: rgba(0, 102, 255, .18);--overlay-scrim: rgba(0, 0, 0, .5);--scroll-elevation-shadow: 0 10px 25px rgba(0, 0, 0, .08);--panel-shadow: 0 6px 24px rgba(0, 0, 0, .12);--panel-shadow-strong: 0 12px 32px rgba(0, 0, 0, .18);--popover-shadow: 0 16px 40px rgba(0, 0, 0, .18);--code-block-header-bg: color-mix(in oklab, var(--surface-secondary) 78%, var(--text-primary));--message-error-bg: rgba(244, 67, 54, .1);--message-error-bg-strong: rgba(244, 67, 54, .15);--danger-soft-bg: rgba(239, 68, 68, .1);--danger-soft-bg-strong: rgba(244, 67, 54, .15);--log-level-error: var(--status-error);--log-level-warn: var(--status-warning);--log-level-debug: var(--text-muted);--log-level-default: var(--text-primary);--focus-ring-color: var(--accent-primary);--focus-ring-offset: var(--surface-base);--control-ghost-bg: color-mix(in oklab, var(--text-primary) 6%, transparent);--status-success-ring: color-mix(in oklab, var(--status-success) 45%, transparent);--border-critical: var(--status-error);--timeline-segment-active-bg: #b7e6d6;--timeline-segment-active-text: #032f23;--timeline-segment-active-ring: inset 0 0 0 1px rgba(3, 47, 35, .28);--button-danger-bg: rgba(239, 68, 68, .85);--button-danger-hover-bg: rgba(239, 68, 68, .9);--button-danger-active-bg: rgba(239, 68, 68, 1);--button-danger-text: var(--text-inverted);--kbd-bg: var(--surface-secondary);--kbd-border: var(--border-base);--kbd-text: var(--text-primary);--button-primary-bg: var(--accent-primary);--button-primary-hover-bg: var(--accent-hover);--button-primary-text: var(--text-inverted);--tab-active-bg: var(--accent-primary);--tab-active-hover-bg: var(--accent-hover);--tab-active-text: var(--text-inverted);--tab-inactive-bg: var(--surface-muted);--tab-inactive-hover-bg: var(--surface-hover);--tab-inactive-text: var(--text-secondary);--new-tab-bg: var(--surface-secondary);--new-tab-hover-bg: var(--surface-hover);--new-tab-text: var(--text-muted);--session-tab-active-bg: var(--surface-base);--session-tab-active-text: var(--text-primary);--session-tab-inactive-text: var(--text-muted);--session-tab-hover-bg: var(--surface-hover);--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--button-padding-y: .75rem;--button-padding-x: 1.25rem;--button-radius: .5rem;--chip-radius: .375rem;--pill-radius: 9999px;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--surface-base: #1a1a1a;--surface-secondary: #2a2a2a;--surface-muted: #212529;--surface-code: #1a1a1a;--surface-hover: #3a3a3a;--markdown-table-row-odd: #0f1114;--markdown-table-row-even: #181c22;--border-base: #3a3a3a;--border-secondary: #3a3a3a;--border-muted: #3a3a3a;--border-strong: var(--border-base);--text-primary: #cfd4dc;--text-secondary: #999999;--text-muted: #999999;--text-inverted: #1a1a1a;--text-on-accent: #f5f6f8;--accent-primary: #0080ff;--accent-hover: #0066cc;--status-success: #4caf50;--status-error: #f44336;--status-warning: #ff9800;--message-user-bg: #202734;--message-user-border: #42a5f5;--message-assistant-bg: var(--message-tool-bg);--message-assistant-border: #d97706;--message-tool-bg: #212529;--message-tool-border: #adb5bd;--session-status-working-fg: #facc15;--session-status-working-bg: rgba(250, 204, 21, .25);--session-status-compacting-fg: #c084fc;--session-status-compacting-bg: rgba(192, 132, 252, .28);--session-status-idle-fg: #4ade80;--session-status-idle-bg: rgba(74, 222, 128, .22);--session-status-permission-fg: #f87171;--session-status-permission-bg: rgba(248, 113, 113, .22);--list-item-highlight-bg: rgba(0, 128, 255, .2);--list-item-highlight-bg-solid: #15324e;--list-item-highlight-border: rgba(0, 128, 255, .4);--attachment-chip-bg: rgba(0, 128, 255, .1);--attachment-chip-text: #0080ff;--attachment-chip-ring: rgba(0, 128, 255, .2);--badge-neutral-bg: rgba(0, 128, 255, .15);--badge-neutral-text: #0080ff;--badge-success-bg: rgba(76, 175, 80, .22);--status-ready-fg: #22c55e;--status-ready-bg: rgba(34, 197, 94, .2);--status-starting-fg: #facc15;--status-starting-bg: rgba(250, 204, 21, .2);--status-error-fg: #ef4444;--status-error-bg: rgba(239, 68, 68, .2);--status-stopped-fg: #9ca3af;--status-stopped-bg: rgba(107, 114, 128, .2);--env-vars-bg: rgba(0, 128, 255, .2);--env-vars-border: rgba(0, 128, 255, .3);--env-vars-text: #0080ff;--folder-overlay-bg: rgba(0, 0, 0, .45);--folder-card-shadow: 0 20px 60px rgba(0, 0, 0, .35);--folder-card-radius: 16px;--dropdown-highlight-bg: rgba(0, 128, 255, .2);--dropdown-highlight-text: var(--text-primary);--kbd-bg: var(--surface-secondary);--kbd-border: var(--border-base);--kbd-text: var(--text-primary);--panel-shadow: 0 6px 24px rgba(0, 0, 0, .35);--panel-shadow-strong: 0 12px 32px rgba(0, 0, 0, .45);--popover-shadow: 0 16px 40px rgba(0, 0, 0, .55);--code-block-header-bg: var(--surface-secondary);--border-critical: var(--status-error);--timeline-segment-active-bg: #0f5b44;--timeline-segment-active-text: #ffffff;--timeline-segment-active-ring: inset 0 0 0 1px rgba(0, 0, 0, .35);--button-danger-text: var(--text-inverted);--tab-inactive-bg: #2a2a31;--tab-inactive-hover-bg: #3f3f46;--button-primary-bg: #3f3f46;--button-primary-hover-bg: #52525b;--button-primary-text: #f5f6f8;--tab-active-bg: #3f3f46;--tab-active-hover-bg: #52525b;--tab-active-text: #f5f6f8;--tab-inactive-bg: #2f2f36;--tab-inactive-hover-bg: #3d3d45;--tab-inactive-text: #d4d4d8;--new-tab-bg: #3f3f46;--new-tab-hover-bg: #52525b;--new-tab-text: #f5f6f8;--session-tab-active-bg: var(--surface-muted);--session-tab-active-text: var(--text-primary);--session-tab-inactive-text: var(--text-muted);--session-tab-hover-bg: #3f3f46;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--button-padding-y: .75rem;--button-padding-x: 1.25rem;--button-radius: .5rem;--chip-radius: .375rem;--pill-radius: 9999px;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6}}[data-theme=dark]{color-scheme:dark;--surface-base: #1a1a1a;--surface-secondary: #2a2a2a;--surface-muted: #212529;--surface-code: #1a1a1a;--surface-hover: #3a3a3a;--markdown-table-row-odd: #0f1114;--markdown-table-row-even: #181c22;--border-base: #3a3a3a;--border-secondary: #3a3a3a;--border-muted: #3a3a3a;--border-strong: var(--border-base);--text-primary: #cfd4dc;--text-secondary: #999999;--text-muted: #999999;--text-inverted: #1a1a1a;--text-on-accent: #f5f6f8;--accent-primary: #0080ff;--accent-hover: #0066cc;--status-success: #4caf50;--status-error: #f44336;--status-warning: #ff9800;--message-user-bg: #202734;--message-user-border: #2196f3;--message-assistant-bg: var(--message-tool-bg);--message-assistant-border: #d97706;--message-tool-bg: #212529;--message-tool-border: #adb5bd;--session-status-working-fg: #facc15;--session-status-working-bg: rgba(250, 204, 21, .25);--session-status-compacting-fg: #c084fc;--session-status-compacting-bg: rgba(192, 132, 252, .28);--session-status-idle-fg: #4ade80;--session-status-idle-bg: rgba(74, 222, 128, .22);--session-status-permission-fg: #f87171;--session-status-permission-bg: rgba(248, 113, 113, .22);--list-item-highlight-bg: rgba(0, 128, 255, .2);--list-item-highlight-bg-solid: #15324e;--list-item-highlight-border: rgba(0, 128, 255, .4);--attachment-chip-bg: rgba(0, 128, 255, .1);--attachment-chip-text: #0080ff;--attachment-chip-ring: rgba(0, 128, 255, .2);--badge-neutral-bg: rgba(0, 128, 255, .15);--badge-neutral-text: #0080ff;--badge-success-bg: rgba(76, 175, 80, .22);--status-ready-fg: #22c55e;--status-ready-bg: rgba(34, 197, 94, .2);--status-starting-fg: #facc15;--status-starting-bg: rgba(250, 204, 21, .2);--status-error-fg: #ef4444;--status-error-bg: rgba(239, 68, 68, .2);--status-stopped-fg: #9ca3af;--status-stopped-bg: rgba(107, 114, 128, .2);--env-vars-bg: rgba(0, 128, 255, .2);--env-vars-border: rgba(0, 128, 255, .3);--env-vars-text: #0080ff;--folder-overlay-bg: rgba(0, 0, 0, .45);--folder-card-shadow: 0 20px 60px rgba(0, 0, 0, .35);--folder-card-radius: 16px;--dropdown-highlight-bg: rgba(0, 128, 255, .2);--dropdown-highlight-text: var(--text-primary);--selection-highlight-bg: rgba(0, 128, 255, .18);--selection-highlight-strong-bg: rgba(0, 128, 255, .28);--overlay-scrim: rgba(0, 0, 0, .6);--scroll-elevation-shadow: 0 10px 25px rgba(0, 0, 0, .35);--panel-shadow: 0 6px 24px rgba(0, 0, 0, .35);--panel-shadow-strong: 0 12px 32px rgba(0, 0, 0, .45);--popover-shadow: 0 16px 40px rgba(0, 0, 0, .55);--code-block-header-bg: var(--surface-secondary);--border-critical: var(--status-error);--timeline-segment-active-bg: #0f5b44;--timeline-segment-active-text: #ffffff;--timeline-segment-active-ring: inset 0 0 0 1px rgba(0, 0, 0, .35);--button-danger-text: var(--text-inverted);--message-error-bg: rgba(244, 67, 54, .12);--message-error-bg-strong: rgba(244, 67, 54, .2);--danger-soft-bg: rgba(244, 67, 54, .16);--danger-soft-bg-strong: rgba(244, 67, 54, .28);--log-level-error: var(--status-error);--log-level-warn: var(--status-warning);--log-level-debug: var(--text-secondary);--log-level-default: var(--text-primary);--focus-ring-color: var(--accent-primary);--focus-ring-offset: var(--surface-base);--kbd-bg: var(--surface-secondary);--kbd-border: var(--border-base);--kbd-text: var(--text-primary);--button-primary-bg: #3f3f46;--button-primary-hover-bg: #52525b;--button-primary-text: #f5f6f8;--tab-active-bg: #3f3f46;--tab-active-hover-bg: #52525b;--tab-active-text: #f5f6f8;--tab-inactive-bg: #2a2a31;--tab-inactive-hover-bg: #3f3f46;--tab-inactive-text: #d4d4d8;--new-tab-bg: #3f3f46;--new-tab-hover-bg: #52525b;--new-tab-text: #f5f6f8;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--button-padding-y: .75rem;--button-padding-x: 1.25rem;--button-radius: .5rem;--chip-radius: .375rem;--pill-radius: 9999px;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-inverted{color:var(--text-inverted)}.text-accent{color:var(--accent-primary)}.bg-surface-base{background-color:var(--surface-base)}.bg-surface-secondary{background-color:var(--surface-secondary)}.bg-surface-muted{background-color:var(--surface-muted)}.border-base{border-color:var(--border-base)}.icon-muted{color:var(--text-muted)}.icon-accent{color:var(--accent-primary)}.icon-danger-hover:hover{color:var(--status-error)}.icon-accent-hover:hover{color:var(--accent-primary)}.ring-accent-inset{box-shadow:inset 0 0 0 2px var(--accent-primary)}:is(.button-primary,button.button-primary,.button-secondary,button.button-secondary,.button-tertiary,button.button-tertiary){display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;font-weight:var(--font-weight-medium);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid transparent}:is(.button-primary,button.button-primary,.button-secondary,button.button-secondary,.button-tertiary,button.button-tertiary):focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus-ring-offset),0 0 0 4px var(--focus-ring-color)}:is(.button-primary,button.button-primary,.button-secondary,button.button-secondary,.button-tertiary,button.button-tertiary):disabled{cursor:not-allowed;opacity:.5}:is(.attachment-chip,.neutral-badge,.status-badge){display:inline-flex;align-items:center;gap:.25rem;border-radius:var(--chip-radius)}.focus-ring-accent:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px var(--accent-primary)}.form-input{width:100%;padding:.5rem .75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);background-color:var(--surface-base);border:1px solid var(--border-base);border-radius:var(--radius-md);color:var(--text-primary)}.form-input::-moz-placeholder{color:var(--text-muted)}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px var(--accent-primary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%,to{opacity:.6}50%{opacity:1}}.status-dot{height:.25rem;width:.25rem;border-radius:9999px}.kbd{display:inline-flex;align-items:center;gap:.125rem;border-radius:.25rem;padding:.125rem .375rem;font-family:var(--font-family-mono),monospace;font-size:var(--font-size-xs);line-height:var(--line-height-normal);background-color:var(--surface-secondary);border:1px solid var(--border-base);color:var(--text-primary)}.kbd-separator{opacity:.5}.truncate-start{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;unicode-bidi:plaintext}@media (pointer: coarse){input[type=text],input:not([type]),textarea{font-size:16px!important}}.button-primary,button.button-primary{border-radius:.5rem;padding:.75rem 1.5rem;font-size:var(--font-size-base);line-height:var(--line-height-normal);background-color:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-bg)}.button-primary:hover:not(:disabled),button.button-primary:hover:not(:disabled){background-color:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg)}.button-primary:focus-visible,button.button-primary:focus-visible{box-shadow:0 0 0 2px var(--focus-ring-offset),0 0 0 4px var(--focus-ring-color)}.button-secondary,button.button-secondary{border-radius:.5rem;padding:.75rem 1.5rem;font-size:var(--font-size-base);line-height:var(--line-height-normal);background-color:var(--surface-secondary);color:var(--text-primary);border-color:var(--border-base)}.button-secondary:hover:not(:disabled),button.button-secondary:hover:not(:disabled){background-color:var(--surface-hover)}.button-secondary:focus-visible,button.button-secondary:focus-visible{box-shadow:0 0 0 2px var(--focus-ring-offset),0 0 0 4px var(--focus-ring-color)}.button-tertiary,button.button-tertiary{border-radius:.5rem;padding:.5rem 1rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);background-color:transparent;color:var(--text-secondary);border-color:var(--border-base)}.button-tertiary:hover:not(:disabled),button.button-tertiary:hover:not(:disabled){color:var(--text-primary);background-color:var(--surface-hover)}.button-tertiary:focus-visible,button.button-tertiary:focus-visible{box-shadow:0 0 0 2px var(--focus-ring-offset),0 0 0 4px var(--focus-ring-color)}.neutral-badge{display:inline-flex;align-items:center;border-radius:.25rem;padding:.125rem .375rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:400;background-color:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;border-radius:.25rem;padding:.25rem .5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium)}.status-badge.ready{background-color:var(--status-ready-bg);color:var(--status-ready-fg)}.status-badge.starting{background-color:var(--status-starting-bg);color:var(--status-starting-fg)}.status-badge.error{background-color:var(--status-error-bg);color:var(--status-error-fg)}.status-badge.stopped{background-color:var(--status-stopped-bg);color:var(--status-stopped-fg)}.status-dot.ready{background-color:var(--status-ready-fg)}.status-dot.starting{background-color:var(--status-starting-fg)}.status-dot.error{background-color:var(--status-error-fg)}.status-dot.stopped{background-color:var(--status-stopped-fg)}.folder-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--folder-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.folder-loading-indicator{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:24px 32px;border-radius:var(--folder-card-radius);background-color:var(--surface-base);border:1px solid var(--border-base);box-shadow:var(--folder-card-shadow);min-width:260px}.folder-loading-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.folder-loading-subtext{font-size:var(--font-size-sm);color:var(--text-secondary)}.dropdown-surface{position:absolute;z-index:50;width:100%;border-radius:.375rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--surface-base);border:1px solid var(--border-base)}.dropdown-header{border-bottom-width:1px;padding:.5rem .75rem;border-color:var(--border-base);background-color:var(--surface-secondary)}.dropdown-header-title{font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--text-muted)}.dropdown-section-header{padding:.375rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--text-muted);background-color:var(--surface-secondary)}.dropdown-content{overflow-y:auto}.dropdown-item{cursor:pointer;padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-primary)}.dropdown-item:hover{background-color:var(--surface-hover)}.dropdown-item-highlight{background-color:var(--dropdown-highlight-bg);color:var(--dropdown-highlight-text)}.dropdown-empty{padding:1rem .75rem;text-align:center;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-muted)}.dropdown-loading{padding:1rem;text-align:center;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-muted)}.dropdown-footer{border-top-width:1px;padding:.5rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);border-color:var(--border-base);color:var(--text-muted)}.dropdown-badge{border-radius:.25rem;padding:.125rem .375rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:400;background-color:var(--accent-primary);color:var(--text-inverted)}.dropdown-icon{flex-shrink:0;color:var(--text-muted)}.dropdown-icon-accent{color:var(--accent-primary)}.selector-trigger{display:inline-flex;min-width:180px;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.25rem;border-width:1px;padding:.25rem .5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-base);border-color:var(--border-base);color:var(--text-primary)}.selector-trigger:hover{background-color:var(--surface-hover)}.selector-trigger:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);ring-color:var(--accent-primary)}.selector-trigger-disabled{cursor:not-allowed;opacity:.5}.selector-trigger-label{display:flex;min-width:0px;flex-direction:column}.selector-trigger-label--stacked{align-items:flex-start}.selector-trigger-label--top{align-self:flex-start}.selector-trigger-primary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--text-primary)}.selector-trigger-primary--align-left{width:100%;text-align:left}.selector-trigger-secondary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.selector-trigger-icon,.selector-trigger-hint{flex-shrink:0;color:var(--text-muted)}.selector-trigger-hint--top{margin-top:.125rem;align-self:flex-start}.selector-popover{min-width:300px;overflow:hidden;border-radius:.375rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--surface-base);border:1px solid var(--border-base);z-index:2200}.selector-search-container{border-bottom-width:1px;padding:.5rem;border-color:var(--border-base)}.selector-search-input{width:100%;border-radius:.25rem;border-width:1px;padding:.375rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-base);border-color:var(--border-base);color:var(--text-primary)}.selector-search-input:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);ring-color:var(--accent-primary)}.selector-search-input::-moz-placeholder{color:var(--text-muted)}.selector-search-input::placeholder{color:var(--text-muted)}.selector-listbox{max-height:16rem;overflow:auto;padding:.25rem;background-color:var(--surface-base)}.selector-option{display:flex;width:100%;cursor:pointer;align-items:flex-start;gap:.5rem;border-radius:.25rem;padding:.5rem .75rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-primary)}.selector-option:hover{background-color:var(--surface-hover)}.selector-option[data-highlighted],.selector-option[data-focused]{background-color:var(--selection-highlight-bg)}.selector-option[data-selected],.selector-option-selected{background-color:var(--selection-highlight-strong-bg)}.selector-option-content{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column}.selector-option-label{font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--text-primary)}.selector-option-description{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.selector-option .remove-binary-button{opacity:0}.selector-option:hover .remove-binary-button{opacity:1}.remove-binary-button{border-radius:.25rem;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-muted)}.remove-binary-button:hover{background-color:var(--danger-soft-bg);color:var(--status-error)}.selector-option-indicator{margin-top:.125rem;flex-shrink:0;color:var(--accent-primary)}.selector-option-action{display:flex;align-items:center;justify-content:center;padding-top:.25rem;padding-bottom:.25rem;color:var(--text-muted)}.selector-option-star{margin-top:.125rem;flex-shrink:0;border-radius:.25rem;padding:.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-muted)}.selector-option-star[data-active=true]{color:var(--accent-primary)}.selector-option-star:hover{background-color:var(--surface-hover)}.selector-option-star:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);ring-color:var(--accent-primary)}.worktree-selector-item{border-bottom:1px solid var(--border-base)}.worktree-selector-item:last-of-type{border-bottom:none}.selector-favorites-toggle{display:flex;align-items:center;justify-content:center;border-radius:.25rem;border-width:1px;padding:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-base);border-color:var(--border-base);color:var(--text-muted)}.selector-favorites-toggle[data-active=true]{color:var(--accent-primary)}.selector-favorites-toggle:hover{background-color:var(--surface-hover)}.selector-favorites-toggle:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);ring-color:var(--accent-primary)}.selector-favorites-toggle:disabled{cursor:not-allowed;opacity:.5}.selector-footer{border-top-width:1px;border-color:var(--border-base);background-color:var(--surface-base);position:relative;z-index:1}.selector-section{border-bottom-width:1px;padding:.5rem .75rem;border-color:var(--border-base);background-color:var(--surface-secondary)}.selector-section-title{font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--text-muted)}.selector-badge{border-radius:.25rem;padding:.125rem .375rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:400;background-color:var(--accent-primary);color:var(--text-inverted)}.selector-badge-version,.selector-badge-time{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.selector-validation-error{border-radius:.25rem;border-width:1px;padding:.5rem;background-color:var(--message-error-bg);border-color:var(--status-error);color:var(--status-error)}.selector-validation-error-content{display:flex;align-items:flex-start;gap:.5rem}.selector-validation-error-icon{margin-top:.125rem;height:1rem;width:1rem;flex-shrink:0;color:var(--status-error)}.selector-validation-error-text{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.selector-input-group{display:flex;gap:.5rem}.selector-input{flex:1 1 0%;border-radius:.25rem;border-width:1px;padding:.375rem .5rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-base);border-color:var(--border-base);color:var(--text-primary)}.selector-input:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);ring-color:var(--accent-primary)}.selector-input::-moz-placeholder{color:var(--text-muted)}.selector-input::placeholder{color:var(--text-muted)}.selector-button{display:inline-flex;width:100%;cursor:pointer;align-items:center;justify-content:center;border-radius:.25rem;padding:.375rem .75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border-base)}.selector-button-primary{background-color:var(--accent-primary)!important;color:var(--text-inverted)!important;border:1px solid var(--accent-primary)!important}.selector-button-primary:hover:not(:disabled){background-color:var(--accent-hover)}.selector-button-primary:disabled{cursor:not-allowed;opacity:.5;background-color:var(--surface-muted)}.selector-button-secondary{background-color:var(--surface-base);color:var(--text-primary);border-color:var(--border-base)}.selector-button-secondary:hover:not(:disabled){background-color:var(--surface-secondary);border-color:var(--border-base);color:var(--text-primary)}.selector-button-secondary:disabled{cursor:not-allowed;opacity:.5}.selector-empty-state{padding:1rem;text-align:center;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-muted)}.selector-loading{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.selector-loading-spinner{height:1rem;width:1rem}.selector-loading-spinner{animation:spin 1s linear infinite;color:var(--accent-primary)}.env-vars-container{border-bottom-width:1px;padding:.75rem 1rem;background-color:var(--env-vars-bg);border-color:var(--env-vars-border)}.env-vars-title{margin-bottom:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--env-vars-text)}.env-var-item{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.env-var-key{min-width:0px;flex:1 1 0%;font-family:var(--font-family-mono),monospace;font-weight:var(--font-weight-medium);color:var(--env-vars-text)}.env-var-separator{color:var(--env-vars-text)}.env-var-value{min-width:0px;flex:1 1 0%;font-family:var(--font-family-mono),monospace;color:var(--env-vars-text)}.directory-browser-modal{width:min(960px,90vw);height:min(85vh,900px);max-height:90vh;border-radius:var(--radius-xl)}.directory-browser-panel{display:flex;flex-direction:column;height:100%}.directory-browser-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);padding:1.5rem;border-bottom:1px solid var(--border-base);background-color:var(--surface-secondary)}.directory-browser-heading{display:flex;flex-direction:column;gap:var(--space-sm)}.directory-browser-title{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.directory-browser-description{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.directory-browser-body{flex:1;min-height:0;padding:1.5rem;display:flex;flex-direction:column;gap:var(--space-lg);background-color:var(--surface-base)}.directory-browser-current{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%}.directory-browser-current-meta{display:flex;flex-direction:column;gap:var(--space-2xs)}.directory-browser-current-label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.directory-browser-current-path{font-family:var(--font-family-mono);font-size:var(--font-size-base);color:var(--text-primary)}.directory-browser-current-select{width:auto}.directory-browser-current-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end}.directory-browser-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:1px solid var(--border-base);background-color:var(--surface-base);color:var(--text-primary);transition:background-color .15s ease}.directory-browser-close:hover{background-color:var(--surface-hover)}.directory-browser-list{flex:1;min-height:0}.directory-browser-row{display:flex;align-items:center;gap:var(--space-md)}.directory-browser-row-main{flex:1;display:flex;align-items:center;gap:var(--space-md);text-align:left;background:transparent;border:none;color:var(--text-primary);padding:0;cursor:pointer}.directory-browser-row-icon{width:36px;height:36px;border-radius:var(--radius-lg);background-color:var(--surface-secondary);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.directory-browser-row-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.directory-browser-row-spinner{width:18px;height:18px;color:var(--text-muted)}.directory-browser-select{width:auto;min-width:90px}.directory-browser-select:hover{background-color:var(--selection-highlight-bg);border-color:var(--accent-primary);color:var(--accent-primary)}.directory-browser-loading{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary)}.remote-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;display:flex;align-items:center;justify-content:center;padding:24px}.modal-overlay.remote-overlay-backdrop{background:var(--overlay-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40}.remote-panel{width:min(960px,100%);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.remote-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border-base)}.remote-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--text-subtle);margin:0 0 4px}.remote-title{margin:0;font-size:20px;color:var(--text-primary)}.remote-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:14px}.remote-close{border:1px solid var(--border-base);background:var(--surface-secondary);color:var(--text-primary);border-radius:999px;padding:6px 10px;cursor:pointer;font-size:18px;line-height:1}.remote-body{padding:16px 24px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.remote-section{border:1px solid var(--border-base);border-radius:12px;background:var(--surface-secondary);padding:16px}.remote-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.remote-section-title{display:flex;gap:10px;align-items:center}.remote-icon{width:18px;height:18px}.remote-label{margin:0;color:var(--text-primary);font-weight:600}.remote-help{margin:2px 0 0;color:var(--text-secondary);font-size:13px}.remote-refresh{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;border:1px solid var(--border-base);background:var(--surface-primary);color:var(--text-primary);cursor:pointer}.remote-refresh-label{display:inline-block}@media (max-width: 640px){.remote-refresh-label{display:none}}.remote-toggle{position:relative;display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid var(--border-base);background:var(--surface-primary);cursor:pointer}.remote-toggle-switch{width:58px;height:28px;border-radius:999px;background:var(--surface-secondary);border:1px solid var(--border-base);display:inline-flex;align-items:center;justify-content:space-between;padding:0 8px 0 6px;transition:background .2s ease,border-color .2s ease;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.remote-toggle-state{pointer-events:none;white-space:nowrap}.remote-toggle-thumb{width:18px;height:18px;border-radius:999px;background:var(--surface-primary);transition:transform .2s ease;transform:translate(0)}.remote-toggle-switch[data-checked=true]{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--surface-primary)}.remote-toggle-switch[data-checked=true] .remote-toggle-thumb{transform:translate(20px)}.remote-toggle-copy{display:flex;flex-direction:column;gap:2px}.remote-toggle-title{font-weight:600;color:var(--text-primary)}.remote-toggle-caption{font-size:13px;color:var(--text-secondary)}.remote-toggle-note{margin:12px 0 0;font-size:13px;color:var(--text-secondary)}.remote-address-list{display:flex;flex-direction:column;gap:10px}.remote-address{border:1px solid var(--border-base);border-radius:12px;padding:12px;background:var(--surface-primary)}.remote-address-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.remote-address-url{margin:0;font-weight:600;color:var(--text-primary)}.remote-address-meta{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.remote-actions{display:flex;gap:8px}.remote-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;border:1px solid var(--border-base);background:var(--surface-secondary);color:var(--text-primary);cursor:pointer}.remote-qr{margin-top:12px;display:flex;align-items:center;justify-content:center;padding:12px;border:1px dashed var(--border-base);border-radius:10px;background:var(--surface-secondary)}.remote-qr-img{width:160px;height:160px;image-rendering:pixelated}.remote-card{border:1px dashed var(--border-base);border-radius:10px;padding:12px;color:var(--text-secondary)}.remote-error{border:1px solid var(--border-critical, #e65c5c);background:color-mix(in srgb,var(--border-critical, #e65c5c) 10%,transparent);border-radius:10px;padding:12px;color:var(--text-primary)}.remote-spin{animation:remote-spin 1s linear infinite}@keyframes remote-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.permission-center-trigger{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;border:1px solid var(--session-status-permission-fg);background-color:var(--session-status-permission-bg);color:var(--session-status-permission-fg);font-size:.75rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.permission-center-trigger:hover,.permission-center-trigger:focus-visible{outline:none;background-color:color-mix(in srgb,var(--session-status-permission-bg) 70%,var(--surface-hover));transform:translateY(-1px)}.permission-center-icon{width:1rem;height:1rem}.permission-center-count{line-height:1}.permission-center-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--space-lg)}.permission-center-modal{width:min(900px,100%);max-height:90vh;display:flex;flex-direction:column;border-radius:var(--radius-xl);border:1px solid var(--border-base);background:var(--surface-base);box-shadow:var(--panel-shadow-strong);overflow:hidden}.permission-center-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--border-base)}.permission-center-modal-title-row{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.permission-center-modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.permission-center-modal-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:9999px;background:var(--session-status-permission-bg);color:var(--session-status-permission-fg);border:1px solid var(--session-status-permission-fg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.permission-center-modal-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);border:1px solid var(--border-base);background:var(--surface-secondary);color:var(--text-primary);cursor:pointer}.permission-center-modal-close:hover{background:var(--surface-hover)}.permission-center-modal-body{flex:1;min-height:0;overflow:auto;padding:var(--space-md)}.permission-center-empty{color:var(--text-secondary);padding:var(--space-lg);text-align:center}.permission-center-list{display:flex;flex-direction:column;gap:var(--space-md)}.permission-center-item{border:1px solid var(--border-base);border-radius:var(--radius-lg);background:var(--surface-secondary);overflow:hidden}.permission-center-item-active{border-color:var(--session-status-permission-fg)}.permission-center-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-base);background:var(--surface-base)}.permission-center-item-heading{display:flex;align-items:center;gap:var(--space-sm)}.permission-center-item-kind{font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.permission-center-item-chip{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:.1rem .4rem;border-radius:9999px;border:1px solid var(--session-status-permission-fg);background:var(--session-status-permission-bg);color:var(--session-status-permission-fg)}.permission-center-item-actions{display:inline-flex;align-items:center;gap:var(--space-sm)}.permission-center-item-action{padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border-base);background:var(--surface-secondary);color:var(--text-primary);font-size:var(--font-size-xs);cursor:pointer}.permission-center-item-action:hover{background:var(--surface-hover)}.permission-center-item-action:disabled{opacity:.6;cursor:not-allowed}.permission-center-fallback{padding:var(--space-md)}.permission-center-fallback-title code{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--text-primary)}.permission-center-fallback-hint{margin-top:var(--space-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.permission-center-item .tool-call{border:none;border-radius:0;margin:0}@media (max-width: 720px){.permission-center-modal-backdrop{padding:0}.permission-center-modal{width:100vw;height:100vh;max-height:none;border-radius:0}}.message-item-header{display:flex;flex-direction:column;gap:.125rem}.message-item-header-row{width:100%}.message-item-header-row--top{display:flex;align-items:flex-start;justify-content:space-between;gap:.625rem}.message-item-header-row--bottom{display:flex;align-items:flex-start}.message-speaker{display:flex;flex-direction:column;gap:.125rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.message-speaker-label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.message-speaker-label[data-role=user]{color:var(--message-user-border)}.message-speaker-label[data-role=assistant]{color:var(--message-assistant-border)}.message-agent-meta{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--message-assistant-border)}.message-item-actions,.message-action-group{display:flex;align-items:center;gap:.5rem}.message-action-button{display:flex;height:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.25rem;border-width:1px;border-color:var(--border-base);background-color:transparent;padding:.125rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);line-height:1;color:var(--text-muted);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.message-action-button:hover{background-color:var(--surface-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.message-action-button:active{transform:scale(.95)}.message-timestamp{font-size:11px;color:var(--text-muted)}.assistant-message{padding:.6rem .65rem;margin-top:0;margin-bottom:0}.message-item-base:not(.assistant-message){margin-top:0;margin-bottom:0}.message-step-start{background-color:var(--message-assistant-bg);border-left:4px solid var(--message-assistant-border);margin-top:0}.message-step-finish{background-color:var(--message-assistant-bg);border-left:4px solid var(--message-assistant-border);margin:0}.message-step-finish-flush{margin-top:-.125rem}.message-step-usage{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:10px;color:var(--text-muted)}.message-step-usage-chip{display:inline-flex;align-items:center;border-radius:9999px;border-width:1px;border-color:var(--border-base);padding:.125rem .5rem;font-size:10px;color:var(--text-primary);font-weight:var(--font-weight-semibold)}.message-step-usage-chip:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;font-size:9px;color:var(--text-muted);font-weight:var(--font-weight-medium);margin-right:.35rem}.message-attachments{margin-top:.25rem;display:flex;flex-wrap:wrap;gap:.375rem;padding-top:.5rem;border-top:1px solid var(--border-base)}.message-reasoning{margin-top:.5rem;margin-bottom:.5rem;border-radius:.25rem;border-width:1px;--reasoning-border-color: var(--border-strong, var(--border-base));border-color:var(--reasoning-border-color);background-color:var(--surface-secondary);color:inherit}.message-step-card{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .75rem;color:inherit;border-radius:0}.message-compaction-card{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);background-color:var(--message-assistant-bg)}.message-compaction-card--auto{background-color:var(--session-status-compacting-bg);color:var(--session-status-compacting-fg)}.message-compaction-card--manual{background-color:var(--message-user-bg);color:var(--text-primary)}.message-compaction-row{display:flex;align-items:center;gap:.5rem;justify-content:center}.message-compaction-icon{display:inline-flex;align-items:center;color:inherit}.message-compaction-label{font-weight:var(--font-weight-medium)}.message-step-start,.message-step-finish{background-color:var(--message-assistant-bg);border-left:4px solid var(--message-assistant-border)}.message-step-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.message-step-title{font-weight:var(--font-weight-semibold);color:var(--text-primary);display:flex;width:100%;align-items:center;justify-content:space-between}.message-step-title-left{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.message-step-title-left span:last-child{font-size:11px;font-weight:var(--font-weight-medium)}.message-step-time{margin-left:auto;font-size:11px;font-weight:400;color:var(--text-muted)}.message-step-meta-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:11px;font-weight:var(--font-weight-medium);color:var(--message-assistant-border)}.message-step-reason{font-size:11px;font-weight:var(--font-weight-medium);color:var(--text-muted)}.message-step-finish-spacer{margin-top:1rem}.message-reasoning-card{--reasoning-border-color: var(--border-strong, var(--border-base));background-color:var(--message-assistant-bg);border-left:4px solid var(--message-assistant-border);margin-top:0;margin-bottom:0;padding:0;display:flex;flex-direction:column;gap:0}.message-reasoning-header{display:flex;align-items:stretch;justify-content:space-between;gap:.5rem;transition:background-color .2s ease,box-shadow .2s ease}.message-reasoning-header:hover{background-color:var(--surface-hover)}.message-reasoning-toggle{flex:1 1 auto;min-width:0;width:auto;display:flex;align-items:center;justify-content:flex-start;gap:.65rem;background:none;border:none;padding:.25rem .6rem;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.message-reasoning-actions{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .6rem .25rem 0}.message-reasoning-toggle:hover{background-color:transparent}.message-reasoning-toggle:focus-visible{outline:none;box-shadow:0 0 0 1px var(--border-base)}.message-reasoning-label{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--message-assistant-border)}.message-reasoning-meta{display:inline-flex;align-items:center;gap:.5rem}.message-reasoning-indicator{display:inline-flex;align-items:center;justify-content:center;height:1.5rem;padding:0 .75rem;border:1px solid var(--reasoning-border-color, var(--border-base));border-radius:.375rem;background-color:transparent;color:var(--text-muted);font-weight:var(--font-weight-semibold);font-size:.75rem;line-height:1;letter-spacing:.01em;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.message-reasoning-toggle:hover .message-reasoning-indicator{background-color:var(--surface-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.message-reasoning-indicator:active{transform:scale(.97)}.message-reasoning-time{font-size:11px;color:var(--text-muted)}.message-reasoning-expanded{display:flex;flex-direction:column;gap:.35rem}.message-reasoning-body{padding:0;background-color:var(--surface-code);margin:.75rem}.message-reasoning-output{display:flex;flex-direction:column;margin:0;padding:.75rem;border:1px solid var(--reasoning-border-color, var(--border-base));max-height:30rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-base) transparent;scrollbar-gutter:stable both-edges;background-color:var(--surface-code)}.message-reasoning-text{font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-primary);white-space:pre-wrap;margin:0}.prompt-input-container{display:flex;flex-direction:column;border-top-width:1px;border-color:var(--border-base);background-color:var(--surface-base)}.prompt-input-wrapper{display:grid;align-items:stretch;grid-template-columns:minmax(0,1fr) 64px;gap:0;padding:0}.prompt-input-actions{display:flex;flex-direction:column;align-items:center;align-self:stretch;height:100%;padding:.5rem .25rem;gap:.5rem}.prompt-input-field-container{position:relative;width:100%;min-height:56px;flex:1 1 auto;height:100%;min-width:0}.prompt-input-field{position:relative;width:100%;height:100%}.prompt-input{width:100%;resize:none;border-width:1px;padding-left:.75rem;padding-right:2.5rem;padding-top:.625rem;font-size:var(--font-size-sm);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-family:inherit;background-color:var(--surface-base);color:var(--text-primary);caret-color:var(--text-primary);border-color:var(--border-base);line-height:var(--line-height-normal);border-radius:0;padding-bottom:0;height:100%;min-height:100%}.prompt-input-field-container.is-expanded,.prompt-input-field.is-expanded{height:auto}.prompt-input.is-expanded{height:auto;min-height:0;overflow-y:auto}.prompt-input-overlay{position:absolute;bottom:1rem;left:.75rem;right:.75rem;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;line-height:1.3;color:var(--text-muted);pointer-events:none;z-index:1}.prompt-input-overlay.shell-mode{color:var(--text-primary)}.prompt-nav-buttons{position:absolute;top:.25rem;right:.25rem;bottom:.25rem;display:flex;flex-direction:column;justify-content:flex-start;gap:.125rem;z-index:2}.prompt-expand-button,.prompt-history-button{display:flex;height:1.75rem;width:1.75rem;align-items:center;justify-content:center;border-radius:.375rem;color:var(--text-muted);background-color:var(--control-ghost-bg);transition:background-color .15s ease,color .15s ease;padding:0;flex-shrink:0}.prompt-expand-button:hover:not(:disabled),.prompt-history-button:hover:not(:disabled){background-color:var(--surface-secondary);color:var(--text-primary)}.prompt-expand-button:active:not(:disabled){background-color:var(--accent-primary);color:var(--text-inverted);transform:scale(.95)}.prompt-expand-button:disabled,.prompt-history-button:disabled{opacity:.4;cursor:not-allowed}.prompt-overlay-text{display:inline-flex;align-items:center;gap:.35rem}.prompt-overlay-warning{color:var(--status-warning);font-weight:500}.prompt-overlay-shell-active{color:var(--status-success);font-weight:600}.prompt-overlay-muted{color:var(--text-muted)}.prompt-input.shell-mode{border-color:var(--status-success);box-shadow:inset 0 0 0 1px var(--status-success-ring)}.prompt-input:focus{border-color:var(--accent-primary)}.prompt-input.shell-mode:focus{border-color:var(--status-success);box-shadow:inset 0 0 0 1px var(--status-success-ring)}.prompt-input:disabled{cursor:not-allowed;opacity:.6}.prompt-input::-moz-placeholder{color:var(--text-muted)}.prompt-input::placeholder{color:var(--text-muted)}.stop-button{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:.375rem;border-style:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--button-danger-bg, rgba(239, 68, 68, .85));color:var(--button-danger-text, var(--text-inverted, #ffffff))}.stop-button:hover:not(:disabled){background-color:var(--button-danger-hover-bg, rgba(239, 68, 68, .9));--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:.95}.stop-button:active:not(:disabled){background-color:var(--button-danger-active-bg, rgba(239, 68, 68, 1));--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.stop-button:disabled{cursor:not-allowed;opacity:.6}.stop-icon{width:1rem;height:1rem}.send-button{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:.375rem;border-style:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--accent-primary);color:var(--text-inverted);margin-top:auto}.send-button.shell-mode{background-color:var(--status-success)}.send-button.shell-mode:hover:not(:disabled){filter:brightness(1.05)}.send-button.shell-mode:active:not(:disabled){filter:brightness(.95)}.send-button:hover:not(:disabled){--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:.9}.send-button:active:not(:disabled){--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.send-button:disabled{cursor:not-allowed;opacity:.4}.send-icon{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.shell-icon{width:1rem;height:1rem}.hint{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.hint kbd{margin-left:.125rem;margin-right:.125rem;display:inline-block;border-radius:.25rem;padding:.125rem .375rem;font-family:var(--font-family-mono),monospace;font-size:var(--font-size-xs);line-height:var(--line-height-normal);background-color:var(--surface-secondary);border:1px solid var(--border-base);border-radius:3px}.attachment-chip{padding:.25rem .625rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-inset: inset;background-color:var(--attachment-chip-bg);color:var(--attachment-chip-text);ring-color:var(--attachment-chip-ring)}.attachment-chip-image{position:relative}.attachment-chip-preview{display:none;position:absolute;bottom:calc(100% + 6px);left:0;padding:8px;background-color:var(--surface-base);border:1px solid var(--border-base);border-radius:10px;box-shadow:var(--popover-shadow);z-index:20}.attachment-chip-preview img{display:block;max-width:320px;max-height:320px;border-radius:8px;-o-object-fit:contain;object-fit:contain}.attachment-chip-image:hover .attachment-chip-preview{display:block}.attachment-remove,.attachment-download,.attachment-expand{margin-left:.125rem;display:flex;height:1rem;width:1rem;align-items:center;justify-content:center;border-radius:.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.attachment-remove:hover,.attachment-download:hover,.attachment-expand:hover{background-color:var(--attachment-chip-ring)}@media (pointer: coarse){.prompt-input-overlay{display:none}.prompt-input{padding-bottom:1.5rem}}@media (max-width: 720px){.prompt-input-wrapper{grid-template-columns:minmax(0,1fr) 40px}}@media (max-width: 640px){.prompt-input{min-height:64px;padding:.5rem .75rem 2.25rem}.prompt-input-wrapper{gap:0;padding:0}}.message-stream-container{position:relative;display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;overflow:hidden}.connection-status{display:grid;align-items:center;gap:1rem;padding:.5rem 1rem;grid-template-columns:1fr auto 1fr;grid-template-areas:"info shortcut meta";background-color:var(--surface-secondary);border-bottom:1px solid var(--border-base)}.connection-status-menu{display:none;grid-area:menu}.connection-status--compact{grid-template-columns:auto 1fr auto;grid-template-areas:"menu shortcut meta" "info info info";row-gap:.5rem}.connection-status--compact .connection-status-menu{display:flex;align-items:center;justify-content:flex-start}.connection-status--compact .connection-status-info{justify-self:stretch;width:100%;justify-content:center;text-align:center}.connection-status--compact .connection-status-usage{justify-content:center;width:100%}.connection-status--compact .connection-status-shortcut{justify-self:center}.connection-status--compact .connection-status-meta{justify-self:end}.session-sidebar-menu-button{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;border-width:1px;padding:.25rem .5rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);border-color:var(--border-base);background-color:transparent;color:var(--text-primary);transition:color .2s ease,background-color .2s ease}.session-sidebar-menu-button:hover{background-color:var(--surface-hover)}.session-sidebar-menu-button:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-secondary)}.session-sidebar-menu-icon{font-size:var(--font-size-base);line-height:1}.status-indicator .status-text{display:inline-block}@media (max-width: 1024px){.status-indicator .status-text{display:none}}.connection-status-info{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);grid-area:info;justify-self:center;justify-content:center;text-align:center}.connection-status-usage{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-primary)}.connection-status-shortcut{grid-area:shortcut;justify-self:center;text-align:center}.connection-status-meta{grid-area:meta;justify-self:end}.connection-status-shortcut-action{display:flex;align-items:center;justify-content:center;gap:.5rem}.connection-status-button{display:inline-flex;align-items:center;gap:.5rem;border-radius:.375rem;border-width:1px;padding:.25rem .75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--border-base);background-color:var(--surface-base);color:var(--text-primary)}.connection-status-button:hover{background-color:var(--surface-hover)}.connection-status-button:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-secondary)}.connection-status-shortcut-hint{display:inline-flex;align-items:center;color:var(--text-secondary)}@media (pointer: coarse){.connection-status-shortcut-hint{display:none}.connection-status-button{width:100%;justify-content:center}}@media (max-width: 640px){.connection-status{grid-template-columns:auto 1fr auto;grid-template-areas:"menu shortcut meta" "info info info";row-gap:.5rem}.connection-status-menu{display:flex;align-items:center;justify-content:flex-start}.connection-status-info{justify-self:stretch;width:100%;justify-content:center;text-align:center}.connection-status-usage{justify-content:center;width:100%}.connection-status-shortcut{justify-self:center}.connection-status-meta{justify-self:end}}.message-scroll-button-wrapper{position:absolute;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.message-scroll-button{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;border:1px solid var(--border-base);background-color:transparent;color:var(--text-primary);box-shadow:var(--scroll-elevation-shadow);transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.message-scroll-button:hover{background-color:var(--surface-hover);transform:translateY(-1px)}.message-scroll-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface-base),0 0 0 4px var(--accent-primary)}.message-scroll-icon{font-size:var(--font-size-lg);color:var(--accent-primary)}.message-quote-popover{position:absolute;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}.message-quote-button-group{pointer-events:auto;display:inline-flex;border-radius:9999px;border:1px solid var(--list-item-highlight-border);background-color:var(--list-item-highlight-bg-solid);box-shadow:var(--panel-shadow);overflow:hidden}.message-quote-button{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .9rem;font-size:.8rem;font-weight:500;border:none;background-color:transparent;color:var(--text-primary);transition:background-color .2s ease,color .2s ease}.message-quote-button+.message-quote-button{border-left:1px solid var(--list-item-highlight-border)}.message-quote-button:hover{background-color:var(--surface-hover)}.message-quote-button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent-primary)}.message-stream{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;gap:.125rem;overflow-y:auto;background-color:var(--surface-base);color:inherit}.message-stream-block{display:flex;flex-direction:column;gap:.0625rem}.virtual-item-wrapper{width:100%}.virtual-item-placeholder,.message-stream-placeholder{display:block;width:100%;position:relative;background-color:transparent}.virtual-item-content{width:100%;position:relative}.virtual-item-content-hidden{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;pointer-events:none}.message-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0rem;width:100%;min-height:0;flex:1 1 auto;position:relative}.message-layout--with-timeline{grid-template-columns:minmax(0,1fr) 64px}.message-layout--with-timeline:after{content:"";position:absolute;top:0;bottom:0;right:64px;width:1px;background-color:var(--border-muted);pointer-events:none}@media (max-width: 720px){.message-layout--with-timeline{grid-template-columns:minmax(0,1fr) 40px}.message-layout--with-timeline:after{right:40px}}.message-stream-shell{min-height:0;display:flex;flex-direction:column;position:relative}.message-stream-shell .message-stream{flex:1 1 auto;min-height:0}.message-timeline-sidebar{width:64px;min-height:0;display:flex;flex-direction:column}@media (max-width: 720px){.message-timeline-sidebar{width:40px}}.message-timeline{flex:1 1 auto;display:flex;flex-direction:column;gap:.35rem;padding:.25rem;overflow-y:auto;border-radius:8px;background-color:var(--surface-base);box-shadow:var(--panel-shadow)}.message-timeline::-webkit-scrollbar{width:5px}.message-timeline::-webkit-scrollbar-thumb{background-color:var(--border-muted);border-radius:9999px}.message-timeline-segment{width:100%;min-height:1.5rem;border-radius:0;border:1px solid var(--border-base);background-color:var(--surface-secondary);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);transition:transform .15s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.message-timeline-segment.message-timeline-segment-hidden{display:none!important}.message-timeline-segment-active{border-color:color-mix(in oklab,var(--timeline-segment-active-bg) 92%,var(--timeline-segment-active-text));background-color:var(--timeline-segment-active-bg);color:var(--timeline-segment-active-text);font-weight:700;box-shadow:var(--timeline-segment-active-ring)}.message-timeline-segment:hover,.message-timeline-segment:focus-visible{background-color:var(--surface-hover);color:var(--accent-primary);outline:none;transform:translateY(-1px)}.message-timeline-segment-active,.message-timeline-segment-active:hover,.message-timeline-segment-active:focus-visible{background-color:var(--timeline-segment-active-bg);color:var(--timeline-segment-active-text);transform:none;box-shadow:var(--timeline-segment-active-ring)}.message-timeline-segment:focus-visible{box-shadow:0 0 0 2px var(--surface-base),0 0 0 4px var(--accent-primary)}.message-timeline-user{border-color:var(--message-user-border);background-color:var(--message-user-bg)}.message-timeline-assistant{border-color:var(--message-assistant-border);background-color:var(--message-assistant-bg)}.message-timeline-tool{border-color:var(--message-tool-border);background-color:var(--surface-secondary)}.message-timeline-segment.message-timeline-segment-permission{border-color:var(--session-status-permission-fg);background-color:var(--session-status-permission-bg);color:var(--session-status-permission-fg)}.message-timeline-segment.message-timeline-segment-permission:hover,.message-timeline-segment.message-timeline-segment-permission:focus-visible{background-color:var(--session-status-permission-bg);color:var(--session-status-permission-fg);border-color:var(--session-status-permission-fg);transform:translateY(-1px)}.message-timeline-segment-active.message-timeline-segment-permission,.message-timeline-segment-active.message-timeline-segment-permission:hover,.message-timeline-segment-active.message-timeline-segment-permission:focus-visible{background-color:var(--session-status-permission-bg)!important;border-color:var(--session-status-permission-fg)!important;color:var(--session-status-permission-fg)!important;transform:none;box-shadow:var(--timeline-segment-active-ring)}.message-timeline-compaction-auto{border-color:var(--session-status-compacting-fg);background-color:var(--surface-secondary)}.message-timeline-compaction-manual{border-color:var(--message-user-border);background-color:var(--message-user-bg)}.message-timeline-segment-active{background-color:var(--timeline-segment-active-bg)!important;border-color:color-mix(in oklab,var(--timeline-segment-active-bg) 92%,var(--timeline-segment-active-text))!important;color:var(--timeline-segment-active-text)!important;font-weight:700;box-shadow:var(--timeline-segment-active-ring)}.message-timeline-label{pointer-events:none}.message-timeline-label-full{display:none}.message-timeline-label-short{display:inline-flex;line-height:1;align-items:center;justify-content:center}.message-timeline-icon{width:1rem;height:1rem}.message-timeline-tooltip{position:fixed;z-index:1000;pointer-events:auto}.message-preview{width:360px;max-height:420px;overflow:auto;border-radius:8px;border:1px solid var(--border-base);background-color:var(--surface-base);box-shadow:var(--panel-shadow-strong);padding:.75rem}.message-preview .message-item-base{font-size:.85rem}.tool-call-todo-region{display:flex;flex-direction:column}.tool-call-todo-empty{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-muted);padding:.75rem 0}.tool-call-todos{display:flex;flex-direction:column;gap:0px;list-style:none;padding:0;margin:0}.tool-call-todo-item{display:flex;align-items:flex-start;gap:.75rem;border:1px solid var(--tool-call-border-color, var(--border-base));border-radius:0;padding:10px 12px;background-color:var(--surface-secondary);min-height:42px}.tool-call-todo-item-completed{background-color:var(--surface-code)}.tool-call-todo-item-active{border-color:var(--accent-primary);background-color:var(--surface-hover)}.tool-call-todo-item-cancelled{opacity:.75}.tool-call-todo-checkbox{width:1.1rem;height:1.1rem;border-radius:9999px;border:2px solid var(--tool-call-border-color, var(--border-base));display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--text-muted);background-color:transparent}.tool-call-todo-checkbox:after{content:"";line-height:1}.tool-call-todo-checkbox[data-status=completed]{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-on-accent, #ffffff)}.tool-call-todo-checkbox[data-status=completed]:after{content:"✓"}.tool-call-todo-checkbox[data-status=in_progress]:after{content:"…";color:var(--accent-primary)}.tool-call-todo-checkbox[data-status=cancelled]:after{content:"×";color:var(--status-error)}.tool-call-todo-body{flex:1;display:flex;flex-direction:column;gap:6px}.tool-call-todo-heading{display:flex;align-items:flex-start;gap:.75rem;justify-content:space-between}.tool-call-todo-text{font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--text-primary);word-break:break-word}.tool-call-todo-status{font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-radius:9999px;padding:2px 8px;background-color:var(--surface-hover);color:var(--text-muted);white-space:nowrap}.tool-call-todo-status-completed{background-color:var(--badge-success-bg);color:var(--status-success)}.tool-call-todo-status-in_progress{background-color:var(--badge-neutral-bg);color:var(--text-primary)}.tool-call-todo-status-cancelled{background-color:var(--status-error-bg);color:var(--status-error)}.tool-call-todo-text{font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--text-primary)}.tool-call-todo-item-cancelled .tool-call-todo-text{text-decoration:line-through;color:var(--text-muted)}.tool-call-todo-tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-radius:9999px;padding:2px 8px;background-color:var(--surface-hover);color:var(--text-muted)}.tool-call-todo-item-active .tool-call-todo-tag{background-color:var(--accent-primary);color:var(--text-on-accent, #ffffff)}.tool-call-task-sections{display:flex;flex-direction:column;gap:var(--space-xs);padding:0}.tool-call-task-section{border:1px solid var(--tool-call-border-color, var(--border-base));overflow:hidden;background-color:transparent;border-radius:0}.tool-call-task-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;background-color:var(--surface-secondary);border-bottom:1px solid var(--tool-call-border-color, var(--border-base));font-family:var(--font-family-mono);font-size:13px;color:inherit}.tool-call-task-section-title{font-weight:var(--font-weight-semibold)}.tool-call-task-section-meta{font-family:var(--font-family-mono);color:var(--text-muted)}.tool-call-task-section-body{background-color:var(--surface-code)}.tool-call-task-section-body .tool-call-markdown{padding:12px}.tool-call-task-container,.tool-call-task-section-body .tool-call-task-container.tool-call-markdown{padding:0}.tool-call-task-container.tool-call-markdown{max-height:calc(var(--tool-call-max-height-compact, 35em ) / 2)}.tool-call-task-section-body>.tool-call-markdown:not(.tool-call-task-container){max-height:calc(var(--tool-call-max-height-compact, 35em ) * 2 / 3)}.tool-call-task-empty{font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-muted);padding:.5rem}.tool-call-task-summary{display:flex;flex-direction:column;gap:.1rem;margin:0}.tool-call-task-summary .tool-call{position:relative}.tool-call-task-summary .tool-call:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--task-tool-call-stripe, transparent);pointer-events:none;z-index:2}.tool-call-task-summary .tool-call.tool-call-status-completed,.tool-call-task-summary .tool-call.tool-call-status-success{--task-tool-call-stripe: var(--status-success)}.tool-call-task-summary .tool-call.tool-call-status-running{--task-tool-call-stripe: var(--status-warning)}.tool-call-task-summary .tool-call.tool-call-status-pending{--task-tool-call-stripe: var(--accent-primary)}.tool-call-task-summary .tool-call.tool-call-status-error{--task-tool-call-stripe: var(--status-error)}.tool-call-task-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem .35rem .75rem;border-left:2px solid var(--tool-call-border-color, var(--border-base));font-size:var(--font-size-sm);font-family:var(--font-family-mono);line-height:1.35;background-color:var(--surface-secondary);transition:background-color .2s ease,border-color .2s ease}.tool-call-task-item+.tool-call-task-item{margin-top:.1rem}.tool-call-task-item:hover{background-color:var(--surface-hover)}.tool-call-task-item[data-task-status=completed]{border-left-color:var(--status-success)}.tool-call-task-item[data-task-status=running]{border-left-color:var(--status-warning)}.tool-call-task-item[data-task-status=pending]{border-left-color:var(--accent-primary)}.tool-call-task-item[data-task-status=error]{border-left-color:var(--status-error)}.tool-call-task-icon{font-size:.9rem;line-height:1;color:var(--text-muted)}.tool-call-task-label{font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:inherit}.tool-call-task-separator{color:var(--text-muted);font-size:inherit}.tool-call-task-text{flex:1;min-width:0;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-call-task-status{font-weight:var(--font-weight-semibold);color:var(--text-muted);font-size:.9rem}.tool-call-message{display:flex;width:100%;flex-direction:column;gap:.5rem;padding:.75rem;background-color:var(--message-tool-bg);border-left:4px solid var(--message-tool-border);color:inherit}.tool-call-header-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:1px}.tool-call-header-meta{display:flex;align-items:center;gap:.5rem}.tool-call-header-button{background-color:transparent;border:1px solid var(--tool-call-border-color, var(--border-base));color:var(--text-secondary);padding:.15rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:var(--font-weight-semibold);line-height:1;display:inline-flex;align-items:center;justify-content:center;height:1.5rem;transition:all .2s ease}.tool-call-header-button:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.tool-call-header-button:active:not(:disabled){transform:scale(.95)}.tool-call-header-button:disabled{opacity:.5;cursor:not-allowed}.tool-call-header-label .tool-call-icon{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.tool-call-header-label .tool-name{font-family:var(--font-family-mono);color:inherit;background-color:var(--surface-secondary);border:1px solid var(--tool-call-border-color, var(--border-base));padding:2px 6px;border-radius:3px;font-size:13px}.tool-call{overflow:hidden;border-width:1px;--tool-call-border-color: var(--border-strong, var(--border-base));border-color:var(--tool-call-border-color);color:inherit;--tool-call-line-unit: 1.4em;--tool-call-lines-compact: 15;--tool-call-lines-large: 30;--tool-call-max-height-compact: calc(var(--tool-call-lines-compact) * var(--tool-call-line-unit));--tool-call-max-height-large: calc(var(--tool-call-lines-large) * var(--tool-call-line-unit))}.tool-call-message .tool-call{border:none;border-radius:0;margin:0}.tool-call-header{display:flex;width:100%;align-items:stretch;background-color:transparent;color:var(--text-primary)}.tool-call-header:hover{background-color:var(--surface-hover)}.tool-call-header-toggle{display:flex;width:100%;cursor:pointer;align-items:center;gap:.5rem;border-style:none;background-color:transparent;padding:.5rem;text-align:left;font-family:var(--font-family-mono);font-size:13px;border-radius:0;color:var(--text-primary);flex:1}.tool-call-header-toggle:before{content:"▶";font-size:11px;margin-right:.35rem;color:var(--text-secondary)}.tool-call-header-toggle[aria-expanded=true]:before{content:"▼"}.tool-call-header-toggle:hover{background-color:transparent}.tool-call-header-copy{display:inline-flex;align-items:center;justify-content:center;background-color:transparent;border:none;color:var(--text-secondary);padding:0 .5rem;border-radius:0;cursor:pointer}.tool-call-header-copy:hover{background-color:transparent;color:var(--text-primary)}.tool-call-header-status{display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--text-secondary);padding:0 .5rem}.tool-call-summary{display:inline-flex;flex:1 1 0%;align-items:center;gap:.5rem;text-align:left;color:var(--text-primary)}.tool-call-summary:before{content:attr(data-tool-icon)}.tool-call-summary[data-tool-icon=""]:before{margin-right:0;content:""}.tool-call-summary[data-tool-icon]:not([data-tool-icon=""]):before{margin-right:.35rem}.tool-call-status-completed,.tool-call-status-success{border-left:3px solid var(--status-success)}.tool-call-status-error{border-left:3px solid var(--status-error)}.tool-call-status-running{border-left:3px solid var(--status-warning)}.tool-call-status-running .tool-call-status{animation:pulse 1.5s ease-in-out infinite}.tool-call-status-pending{border-left:3px solid var(--accent-primary)}.tool-call-status-pending .tool-call-summary{animation:shimmer 2s ease-in-out infinite}.tool-call-preview{display:flex;flex-direction:column;gap:.375rem;padding:.5rem;background-color:var(--surface-code);border-top:1px solid var(--tool-call-border-color)}.tool-call-preview-label{font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.025em;color:var(--text-secondary);letter-spacing:.5px}.tool-call-preview-text{font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;max-height:var(--tool-call-max-height-compact, 35em );overflow-y:scroll}.tool-call-details{display:flex;flex-direction:column;background-color:var(--surface-code);font-size:var(--font-size-xs)}.tool-call-markdown{background-color:var(--surface-code);border:1px solid var(--tool-call-border-color);border-radius:0;padding:0;font-size:var(--font-size-xs);line-height:var(--line-height-tight);max-height:var(--tool-call-max-height-compact, 35em );overflow-y:scroll;scrollbar-width:thin;scrollbar-color:var(--border-base) transparent;scrollbar-gutter:stable both-edges;position:relative}.tool-call-markdown .markdown-code-block,.tool-call-markdown .tool-call-content{border:none}.tool-call-markdown-large{max-height:var(--tool-call-max-height-large, calc(48 * 1.4em))}.tool-call-diff-shell{padding:0}.tool-call-diff-viewer{max-height:var(--tool-call-max-height-large, calc(48 * 1.4em));overflow:auto;background-color:var(--surface-code)}.tool-call-diff-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background-color:var(--surface-secondary);border-bottom:1px solid var(--tool-call-border-color);position:sticky;top:0;z-index:2}.tool-call-diff-shell .tool-call-diff-viewer{max-height:none;overflow:visible}.tool-call-diff-toolbar-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.tool-call-diff-toggle{display:inline-flex;align-items:center;gap:.25rem}.tool-call-diff-mode-button{border-radius:.25rem;border-width:1px;padding:.25rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--tool-call-border-color, var(--border-base));background-color:transparent;color:var(--text-secondary)}.tool-call-diff-mode-button:hover{background-color:var(--surface-hover);color:var(--text-primary)}.tool-call-diff-mode-button.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverted)}.tool-call-diff-viewer .diff-tailwindcss-wrapper{background-color:transparent;color:inherit}.tool-call-diff-viewer .diff-view-wrapper{font-family:var(--font-family-mono)}.tool-call-diff-fallback{margin:0;padding:.75rem;background-color:var(--surface-code);font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.tool-call-awaiting-permission{border-left-color:var(--status-warning)}.tool-call-permission{display:flex;flex-direction:column;gap:.75rem;border:2px solid var(--status-warning);border-radius:0;margin:0;padding:1rem 1.25rem;background-color:var(--message-tool-bg)}.tool-call-permission.tool-call-permission-answered{border-color:transparent}.tool-call-permission-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tool-call-permission-label{font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.tool-call-permission-type{font-family:var(--font-family-mono);font-size:12px;padding:2px 6px;border-radius:.375rem;border:1px solid var(--tool-call-border-color, var(--border-base));background-color:var(--surface-code);color:var(--text-primary)}.tool-call-permission-title code{display:block;font-size:13px;color:var(--text-primary);background-color:var(--surface-code);border:1px solid var(--tool-call-border-color, var(--border-base));border-radius:.5rem;padding:.5rem .75rem;word-break:break-word}.tool-call-permission-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.tool-call-permission-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.tool-call-permission-button{background-color:var(--surface-base);border:1px solid var(--status-warning);color:var(--text-secondary);padding:.4rem 1.05rem;border-radius:.5rem;font-size:.8rem;font-weight:var(--font-weight-medium);line-height:1.15;transition:transform .15s ease,color .15s ease,border-color .15s ease,background-color .15s ease;display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem}.tool-call-permission-button:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--status-warning);color:var(--status-warning)}.tool-call-permission-button:active:not(:disabled){transform:scale(.97)}.tool-call-permission-button:disabled{opacity:.5;cursor:not-allowed}.tool-call-permission-shortcuts{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.tool-call-permission-shortcuts .kbd{margin-right:.25rem}.tool-call-permission-queued-text{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-muted)}.tool-call-permission-error{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--status-error);margin-top:.5rem}.tool-call-permission-diff{margin-top:1rem;margin-bottom:.5rem}.tool-call-permission-diff .tool-call-diff-shell{margin:0}.tool-call-diff-viewer .diff-line-old-num,.tool-call-diff-viewer .diff-line-new-num,.tool-call-diff-viewer .diff-line-num{color:var(--text-secondary);font-size:var(--font-size-xs)}.tool-call-markdown .markdown-code-block{margin:0;border-radius:0;background-color:transparent}.tool-call-markdown .code-block-header{position:sticky;top:0;z-index:auto;background-color:var(--code-block-header-bg, var(--surface-secondary));border-bottom:1px solid var(--tool-call-border-color);box-shadow:none}.tool-call-markdown .code-block-language{color:var(--text-primary)}.tool-call-markdown .code-block-copy{border-color:var(--tool-call-border-color);color:var(--text-primary)}.tool-call-markdown .markdown-code-block pre:not(.shiki),.tool-call-markdown .markdown-code-block pre:not(.shiki) code{color:var(--text-primary)}.tool-call-markdown .markdown-code-block pre{margin:0!important;min-height:auto;max-height:none;overflow-y:visible}.tool-call-markdown pre.shiki,.tool-call-markdown pre.shiki code,.tool-call-markdown .shiki{background:transparent!important;background-color:transparent!important}.tool-call-markdown::-webkit-scrollbar{width:8px}.tool-call-markdown::-webkit-scrollbar-track{background:transparent}.tool-call-markdown::-webkit-scrollbar-thumb{background-color:var(--border-base);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.tool-call-apply-patch{display:flex;flex-direction:column}.tool-call-apply-patch-file{margin-top:.75rem}.tool-call-apply-patch-file:first-child{margin-top:0}.tool-call-section h4{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:4px;color:var(--text-secondary)}.tool-call-diagnostics{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--tool-call-border-color);background-color:var(--surface-base)}.tool-call-diagnostics-wrapper{border-top:1px solid var(--tool-call-border-color);background-color:var(--surface-base);margin-top:var(--space-md)}.tool-call-diagnostics-file{display:inline-flex;align-items:center;flex:1;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;justify-content:flex-end}.tool-call-diagnostics-heading{display:flex;width:100%;cursor:pointer;align-items:center;gap:.5rem;border-style:none;padding:.5rem;text-align:left;font-family:var(--font-family-mono);font-size:13px;color:var(--text-primary);background-color:var(--surface-code)}.tool-call-diagnostics-heading:hover{background-color:var(--surface-hover)}.tool-call-diagnostics-title{font-size:13px}.tool-call-diagnostics-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:var(--radius-sm);border:1px solid var(--tool-call-border-color, var(--border-base));font-size:12px}.tool-call-diagnostics-file{display:inline-flex;align-items:center;flex:1;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-call-diagnostics-spacer{flex:1}.tool-call-diagnostics-caret{font-size:12px;color:var(--text-secondary)}.tool-call-diagnostics{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-md);background-color:var(--surface-base)}.tool-call-diagnostics-body{display:flex;flex-direction:column;gap:var(--space-xs);max-height:calc(4 * var(--tool-call-line-unit, 1.4em));overflow-y:scroll;padding-right:0;margin-right:0;scrollbar-gutter:stable both-edges;scrollbar-width:thin}.tool-call-diagnostic-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-primary)}.tool-call-diagnostic-chip{display:inline-flex;align-items:center;gap:.25rem;padding:0 var(--space-sm);min-height:20px;border-radius:var(--pill-radius);font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:.02em}.tool-call-diagnostic-error{background-color:var(--status-error-bg);color:var(--status-error)}.tool-call-diagnostic-warning{background-color:var(--status-starting-bg);color:var(--status-warning)}.tool-call-diagnostic-info{background-color:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.tool-call-diagnostic-path{font-family:var(--font-family-mono);color:var(--text-secondary);display:inline-flex;align-items:baseline;gap:var(--space-2xs)}.tool-call-diagnostic-coords{color:var(--text-muted)}.tool-call-diagnostic-message{flex:1;min-width:200px;color:var(--text-primary)}.tool-call-section pre{margin:0;padding:8px;background-color:var(--surface-code);border:1px solid var(--tool-call-border-color);border-radius:0;overflow-x:auto;max-height:var(--tool-call-max-height-compact, 35em );overflow-y:scroll}.tool-call-section code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.tool-call-section pre::-webkit-scrollbar{width:8px;height:8px}.tool-call-section pre::-webkit-scrollbar-track{background:var(--surface-secondary);border-radius:0}.tool-call-section pre::-webkit-scrollbar-thumb{background:var(--border-base);border-radius:0}.tool-call-section pre::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.tool-call-pending-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-style:italic;color:var(--text-secondary)}.tool-call-emoji{margin-right:.25rem;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.tool-call-action-button{display:flex;height:2rem;align-items:center;border-radius:.25rem;border-width:1px;padding:.25rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--tool-call-border-color, var(--border-base));color:var(--text-secondary);background-color:transparent}.tool-call-action-button:hover:not(:disabled){background-color:var(--surface-hover);color:var(--text-primary)}.tool-call-action-button:disabled{opacity:.5;cursor:not-allowed}.tool-call-bash,.tool-call-diff{margin-top:.5rem;margin-bottom:.5rem}.tool-call-content{background-color:var(--surface-code);border:1px solid var(--tool-call-border-color);border-radius:0;padding:8px 12px;font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-tight);overflow-x:auto;margin:0;color:var(--text-primary)}.tool-call-content code{font-family:inherit;background:none;padding:0;font-size:inherit}.tool-call-error-content{background-color:var(--message-error-bg);border-left:3px solid var(--status-error);padding:12px;margin:8px 0;border-radius:4px;color:var(--status-error);font-size:var(--font-size-xs)}.tool-call-error-content strong{font-weight:var(--font-weight-semibold)}.dropdown-diff-added{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--status-success)}.dropdown-diff-removed{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--status-error)}.log-container{display:flex;height:100%;flex-direction:column;background-color:var(--surface-base)}.log-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:.75rem 1rem;border-color:var(--border-base);background-color:var(--surface-secondary)}.log-content{flex:1 1 0%;overflow-y:auto;padding:1rem;font-family:var(--font-family-mono),monospace;font-size:var(--font-size-xs);line-height:var(--line-height-normal);line-height:1.625;background-color:var(--surface-secondary);color:var(--text-primary)}.log-entry{margin-left:-.5rem;margin-right:-.5rem;display:flex;gap:.75rem;border-radius:.25rem;padding:.125rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.log-entry:hover{background-color:var(--surface-hover)}.log-timestamp{flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--text-muted)}.log-message{word-break:break-all}.log-level-error{color:var(--log-level-error)}.log-level-warn{color:var(--log-level-warn)}.log-level-debug{color:var(--log-level-debug)}.log-level-default{color:var(--log-level-default)}.log-empty-state{padding-top:2rem;padding-bottom:2rem;text-align:center;color:var(--text-muted)}.log-paused-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1.5rem;text-align:center;border:1px dashed var(--border-base);border-radius:12px;background-color:var(--surface-base)}.log-paused-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.log-paused-description{font-size:var(--font-size-sm);color:var(--text-secondary);max-width:320px}.message-item-base{display:flex;width:100%;flex-direction:column;gap:.5rem;padding:.75rem}.assistant-message{padding:.6rem .65rem}.message-queued-badge{margin-bottom:.75rem;display:inline-block;border-radius:.25rem;padding:.25rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-bold);letter-spacing:.025em;background-color:var(--accent-primary);color:var(--text-inverted)}.message-error-block{margin-top:.5rem;margin-bottom:.5rem;border-radius:.25rem;border-left-width:3px;padding:.75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--status-error);background-color:var(--message-error-bg);border-color:var(--status-error)}.message-generating{padding-top:.5rem;padding-bottom:.5rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-style:italic;color:var(--text-muted)}.message-sending{margin-top:.25rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-style:italic;color:var(--text-muted)}.message-error{margin-top:.25rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--status-error)}.generating-spinner{display:inline-block;animation:pulse 1.5s ease-in-out infinite}.message-text{font-size:var(--font-size-base);line-height:var(--line-height-normal);word-wrap:break-word;overflow-wrap:break-word;color:inherit}.message-text-assistant{white-space:normal}.message-text pre{overflow-x:auto;padding:8px;background-color:var(--surface-code);border-radius:4px}.message-error-part{color:var(--status-error);font-size:var(--font-size-base);padding:8px;background-color:var(--message-error-bg);border-radius:4px}.message-reasoning{margin-top:.5rem;margin-bottom:.5rem;border-radius:.25rem;border-width:1px;border-color:var(--border-base);background-color:var(--surface-secondary);color:inherit}.reasoning-container{padding:.5rem}.reasoning-header{display:flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.375rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.reasoning-header:hover{color:var(--accent-primary)}.reasoning-icon{font-size:var(--font-size-xs);line-height:var(--line-height-normal);transition:transform .15s ease}.reasoning-label{font-weight:var(--font-weight-medium)}.tab-bar{border-bottom-width:1px;border-color:var(--border-base)}.tab-container{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.25rem .5rem}.tab-scroll{width:100%;overflow-x:auto}.tab-strip{display:flex;align-items:center;gap:.5rem;padding-left:.25rem;padding-right:.25rem;min-width:100%}.tab-strip-tabs{display:flex;flex-shrink:0;align-items:center;gap:.25rem}.tab-strip-spacer{flex:1 1 0%;min-width:1px}.tab-shortcuts{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.tab-remote-button{flex-shrink:0}.tab-base .status-indicator.session-status.session-working{--session-status-dot: color-mix(in oklab, var(--session-status-working-fg) 55%, var(--surface-base))}.tab-base .status-indicator.session-status.session-compacting{--session-status-dot: color-mix(in oklab, var(--session-status-compacting-fg) 55%, var(--surface-base))}.tab-base .status-indicator.session-status.session-idle{--session-status-dot: color-mix(in oklab, var(--session-status-idle-fg) 55%, var(--surface-base))}.tab-base .status-indicator.session-status.session-permission{--session-status-dot: color-mix(in oklab, var(--session-status-permission-fg) 55%, var(--surface-base))}@media (prefers-color-scheme: dark){:root:not([data-theme]) .tab-base .status-indicator.session-status.session-working{--session-status-dot: var(--session-status-working-fg)}:root:not([data-theme]) .tab-base .status-indicator.session-status.session-compacting{--session-status-dot: var(--session-status-compacting-fg)}:root:not([data-theme]) .tab-base .status-indicator.session-status.session-idle{--session-status-dot: var(--session-status-idle-fg)}:root:not([data-theme]) .tab-base .status-indicator.session-status.session-permission{--session-status-dot: var(--session-status-permission-fg)}}[data-theme=dark] .tab-base .status-indicator.session-status.session-working{--session-status-dot: var(--session-status-working-fg)}[data-theme=dark] .tab-base .status-indicator.session-status.session-compacting{--session-status-dot: var(--session-status-compacting-fg)}[data-theme=dark] .tab-base .status-indicator.session-status.session-idle{--session-status-dot: var(--session-status-idle-fg)}[data-theme=dark] .tab-base .status-indicator.session-status.session-permission{--session-status-dot: var(--session-status-permission-fg)}.modal-surface{display:flex;flex-direction:column;border-radius:.5rem;--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--surface-base);color:var(--text-primary);max-width:min(100%,calc(100vw - 32px));overflow-wrap:anywhere;word-break:break-word;min-width:0}.session-view{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;background-color:var(--surface-base);color:inherit;overflow:hidden}.session-list-container{position:relative;display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;background-color:var(--surface-secondary);min-width:200px;max-width:500px}.session-sidebar{display:flex;min-height:0px;flex-direction:column;background-color:var(--surface-secondary)}.session-layout-compact{position:relative}.session-sidebar-overlay{position:absolute;top:0;bottom:0;left:0;width:min(90vw,360px);max-width:360px;border-right:1px solid var(--border-base);box-shadow:var(--folder-card-shadow);transform:translate(0);transition:transform .25s ease,opacity .2s ease;z-index:40}.session-sidebar-collapsed{transform:translate(-100%);opacity:0;pointer-events:none}.session-sidebar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background-color:var(--overlay-scrim);cursor:pointer;z-index:30}.session-sidebar-menu-button--floating{position:absolute;top:1rem;left:1rem;z-index:20}.session-sidebar-header{display:flex;width:100%;flex-direction:column;gap:.5rem}.session-sidebar-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.session-sidebar-close{display:inline-flex;align-items:center;gap:.25rem;border-radius:.375rem;border-width:1px;padding:.25rem .5rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--border-base);background-color:var(--surface-base);color:var(--text-primary)}.session-sidebar-close:hover{background-color:var(--surface-hover)}.session-sidebar-close:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-secondary)}.session-sidebar-title{color:var(--text-primary)}.session-sidebar-shortcuts{display:flex;flex-direction:column;gap:.25rem}.session-sidebar-new{width:100%}.session-sidebar-controls{display:flex;flex-direction:column;gap:.75rem;background-color:var(--surface-secondary)}.session-sidebar-controls>*{width:100%}.session-sidebar-controls .selector-trigger,.session-sidebar-controls [data-model-selector-control],.session-sidebar-controls .selector-trigger-label,session-sidebar-controls .selector-trigger-primary{width:100%}.session-sidebar-separator{background-color:var(--border-base);height:1px;width:100%}.session-resize-handle{position:absolute;top:0;height:100%;width:.25rem;cursor:col-resize;background-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;z-index:10}.session-resize-handle--left{right:0}.session-resize-handle--right{left:0}.session-resize-handle:hover{background-color:var(--accent-primary)}.session-resize-handle:before{content:"";position:absolute;top:0;height:100%;width:.5rem}.session-resize-handle--left:before{right:0;transform:translate(50%)}.session-resize-handle--right:before{left:0;transform:translate(-50%)}.session-list-header{position:relative;border-bottom-width:1px;border-color:var(--border-base)}.session-list-header h3{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.session-list{flex:1 1 0%}.session-list-item{border-bottom-width:1px}.session-list-item:last-child{border-bottom-width:0px}.session-list-item{border-color:var(--border-base)}.session-item-base{display:flex;width:100%;flex-direction:column;gap:.25rem;padding:.625rem .75rem;text-align:left;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-family:var(--font-family-sans);font-size:var(--font-size-sm)}.session-item-base.session-item-child{padding-left:2.25rem;position:relative}.session-item-base.session-item-child:before{content:"";position:absolute;top:0;bottom:0;left:1.125rem;width:1px;background-color:var(--text-secondary);opacity:.95;pointer-events:none}.session-item-base.session-item-child.session-item-child-last:before{bottom:50%}.session-item-base.session-item-child:after{content:"";position:absolute;top:50%;left:1.125rem;width:.875rem;height:1px;background-color:var(--text-secondary);opacity:.95;transform:translateY(-.5px);pointer-events:none}.session-item-base.session-item-border-user{border-left:4px solid var(--message-user-border)}.session-item-base.session-item-border-assistant{border-left:4px solid var(--message-assistant-border)}.session-item-expander{flex-shrink:0;border-radius:.25rem;padding:.125rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.session-item-expander--spacer{width:1.125rem;height:1.125rem}.session-item-base:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-secondary)}.session-item-row{display:flex;width:100%;align-items:center;gap:.5rem}.session-item-header{justify-content:space-between}.session-item-title-row{display:flex;min-width:0px;flex:1 1 0%;align-items:flex-start;gap:.5rem}.session-item-meta{align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:.125rem}.session-item-active .session-item-meta{color:var(--text-secondary);opacity:1}.session-item-actions{display:flex;align-items:center;gap:.25rem}.session-item-active{background-color:var(--list-item-highlight-bg);color:var(--text-primary);font-weight:var(--font-weight-medium);box-shadow:inset 0 0 0 1px var(--list-item-highlight-border)}.session-item-base.session-item-kind-user.session-item-active{background-color:var(--session-user-active-bg)}.session-item-base.session-item-kind-assistant.session-item-active{background-color:var(--session-assistant-active-bg)}.session-item-inactive{color:var(--text-secondary)}.session-item-inactive:hover,.session-item-active .session-item-close:hover{background-color:var(--surface-hover);color:var(--text-primary)}.session-item-title{min-width:0px;flex:1 1 0%;font-weight:inherit}.session-item-title--clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.session-item-close{flex-shrink:0;border-radius:.25rem;padding:.125rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.session-item-close:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:inherit}.session-list-footer{border-top-width:1px;border-color:var(--border-base)}.session-new-button{background-color:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-base)}.session-new-button:hover{background-color:var(--surface-hover)}.session-new-button:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-secondary)}@media (max-width: 768px){.session-list-container{min-width:200px}.session-item-base{padding:.5rem}}.right-panel-tab-bar{background-color:var(--surface-secondary);border-bottom:1px solid var(--border-base);position:relative}.right-panel-tab-bar:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background-color:var(--border-base);z-index:0}.right-panel-tab-bar .tab-container{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding-left:.5rem;padding-right:.5rem;padding-top:.5rem;padding-bottom:0}.right-panel-tab-bar .tab-scroll{flex:1 1 0%;width:auto}.tab-strip-shortcuts{display:flex;flex-shrink:0;align-items:center;gap:.25rem;color:var(--text-primary)}.right-panel-tab{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-family:var(--font-family-sans);outline:none;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;margin-right:2px;z-index:1}.right-panel-tab:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-secondary)}.right-panel-tab-active{background-color:var(--tab-active-bg);border-color:transparent;border-bottom:2px solid var(--accent-primary);color:var(--tab-active-text);z-index:2}.right-panel-tab-inactive{background-color:var(--tab-inactive-bg);color:var(--tab-inactive-text);border-color:transparent;border-bottom:2px solid var(--tab-active-bg)}.right-panel-tab-inactive:hover{background-color:var(--tab-inactive-hover-bg);color:var(--text-secondary);border-color:var(--border-base);border-bottom-color:transparent}.files-tab-container{display:flex;height:100%;min-height:0px;flex-direction:column}.files-split{display:grid;grid-template-columns:var(--files-pane-width, 320px) 10px minmax(0,1fr);min-height:0;flex:1 1 auto}.file-split-handle{cursor:col-resize;background-color:transparent;border-left:1px solid var(--border-base);border-right:1px solid var(--border-base);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.file-split-handle:hover{background-color:var(--surface-hover)}.files-tab-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom-width:1px;padding:.5rem .75rem;border-color:var(--border-base)}.files-tab-header-row{display:flex;width:100%;min-width:0px;align-items:center;gap:.5rem}.files-toggle-button{border-width:1px;padding:.25rem .5rem;font-size:11px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--border-base);background-color:var(--surface-base);color:var(--text-secondary)}.files-toggle-button:hover{background-color:var(--surface-hover);color:var(--text-primary)}.files-header-icon-button{display:inline-flex;height:1.75rem;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center;border-width:1px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--border-base);background-color:var(--surface-base);color:var(--text-secondary)}.files-header-icon-button:hover{background-color:var(--surface-hover);color:var(--text-primary)}.files-header-icon-button:disabled{opacity:.55;cursor:default}.files-tab-body{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;position:relative;isolation:isolate}.file-list-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background-color:var(--surface-secondary);border-left:1px solid var(--border-base);z-index:200}.files-tab-stats{display:flex;align-items:center;gap:.75rem;font-size:11px;color:var(--text-muted)}.files-tab-selected-path{min-width:0px;flex:1 1 0%;overflow:hidden;white-space:nowrap;font-family:var(--font-family-mono),monospace;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-primary);text-overflow:ellipsis;direction:rtl;text-align:left;unicode-bidi:isolate}.files-tab-selected-path .file-path-text{direction:ltr;unicode-bidi:isolate}.files-tab-stat{display:flex;align-items:center;gap:.375rem}.files-tab-stat-value{font-weight:var(--font-weight-semibold)}.files-tab-stat-additions{color:var(--session-status-idle-fg)}.files-tab-stat-deletions{color:var(--session-status-working-fg)}.file-list-panel{display:flex;min-height:0px;flex-direction:column;background-color:transparent}.file-list-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom-width:1px;padding:.5rem .75rem;border-color:var(--border-base);background-color:transparent}.file-list-title{font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.025em;color:var(--text-muted)}.file-list-count{border-radius:9999px;padding:.125rem .375rem;font-size:10px;background-color:var(--surface-base);color:var(--text-muted);border:1px solid var(--border-base)}.file-list-scroll{min-height:0px;flex:1 1 0%;overflow-y:auto}.file-list-item{cursor:pointer;border-bottom-width:1px;padding:.625rem .75rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--border-base);background-color:transparent}.file-list-item:last-child{border-bottom-width:0px}.file-list-item:hover{background-color:var(--surface-hover)}.file-list-item-active{background-color:var(--surface-base);box-shadow:inset 0 0 0 1px var(--accent-primary)}.file-list-item-content{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.file-list-item-path{min-width:0px;flex:1 1 0%;overflow:hidden;white-space:nowrap;font-family:var(--font-family-mono),monospace;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-primary);text-overflow:ellipsis;direction:rtl;text-align:left;unicode-bidi:isolate}.file-list-item-path .file-path-text{direction:ltr;unicode-bidi:isolate}.file-list-item-stats{display:flex;flex-shrink:0;align-items:center;gap:.5rem;font-size:11px}.file-list-item-additions{color:var(--session-status-idle-fg)}.file-list-item-deletions{color:var(--session-status-working-fg)}.file-viewer-panel{display:flex;min-height:0px;flex-direction:column;background-color:transparent}.file-viewer-header{display:flex;align-items:center;gap:.5rem;border-bottom-width:1px;padding:.5rem .75rem;border-color:var(--border-base);background-color:transparent}.file-viewer-toolbar{margin-left:auto;display:flex;align-items:center;gap:.25rem}.file-viewer-toolbar-button{border-radius:.25rem;border-width:1px;padding:.25rem .5rem;font-size:11px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--border-base);background-color:var(--surface-base);color:var(--text-secondary)}.file-viewer-toolbar-button:hover{background-color:var(--surface-hover);color:var(--text-primary)}.file-viewer-toolbar-button.active{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--accent-primary)}.file-viewer-title{font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.025em;color:var(--text-muted)}.file-viewer-content{min-height:0px;flex:1 1 0%;overflow:auto;padding:1rem}.file-viewer-content--monaco{min-height:0px;flex:1 1 0%;overflow:hidden;padding:0}.monaco-viewer{width:100%;height:100%}.file-viewer-empty{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center;color:var(--text-muted)}.file-viewer-empty-icon{height:2rem;width:2rem;opacity:.4;color:var(--text-muted)}.file-viewer-empty-text{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.file-viewer-placeholder{font-size:var(--font-size-xs);line-height:var(--line-height-normal);line-height:1.625;color:var(--text-muted)}.file-viewer-selected-file{display:flex;flex-direction:column;gap:.5rem}.file-viewer-file-name{border-radius:.25rem;border-width:1px;padding:.375rem .5rem;font-family:var(--font-family-mono),monospace;font-size:var(--font-size-xs);line-height:var(--line-height-normal);background-color:var(--surface-base);border-color:var(--border-base);color:var(--text-primary);word-break:break-all}.mobile-file-selector{display:flex;flex-direction:column;gap:.75rem;border-radius:.5rem;border-width:1px;padding:.75rem;background-color:var(--surface-secondary);border-color:var(--border-base)}.mobile-file-selector-label{font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.025em;color:var(--text-muted)}.mobile-file-selector-trigger{width:100%}.mobile-file-viewer{display:flex;min-height:220px;flex-direction:column;border-radius:.5rem;border-width:1px;background-color:var(--surface-secondary);border-color:var(--border-base)}.status-tab-container{display:flex;height:100%;min-height:0px;flex-direction:column}.status-tab-context-panel{border-bottom-width:1px;border-color:var(--border-base);background-color:var(--surface-secondary)}.right-panel-accordion{display:flex;flex-direction:column}.right-panel-accordion-item{border-bottom-width:1px}.right-panel-accordion-item:last-child{border-bottom-width:0px}.right-panel-accordion-item{border-color:var(--border-base);background-color:var(--surface-secondary)}.right-panel-accordion-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.025em;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-secondary);background-color:transparent}.right-panel-accordion-trigger:hover{background-color:var(--surface-hover);color:var(--text-primary)}.right-panel-accordion-chevron{height:1rem;width:1rem;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;color:var(--text-muted)}.right-panel-accordion-chevron-expanded{transform:rotate(180deg)}.right-panel-accordion-content{width:100%;padding-left:.75rem;padding-right:.75rem;padding-bottom:.75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);min-height:0}.right-panel-accordion-content [data-accordion-content]{min-height:0}.status-process-card{display:flex;flex-direction:column;gap:.5rem;border-radius:.5rem;border-width:1px;padding:.75rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-base);border-color:var(--border-base)}.status-process-card:hover{border-color:var(--border-strong);box-shadow:0 1px 3px #0000000d}.status-process-header{display:flex;flex-direction:column;gap:.25rem}.status-process-title{font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.status-process-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:11px;color:var(--text-muted)}.status-process-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.right-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;color:var(--text-muted)}.right-panel-empty--left{width:100%;align-items:flex-start;justify-content:flex-start;text-align:left}.right-panel-empty-text{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}[data-theme=dark] .right-panel-tab-active{box-shadow:0 1px 3px #0003}[data-theme=dark] .file-list-item-active{box-shadow:inset 0 0 0 1px var(--accent-primary),0 0 0 1px var(--surface-secondary)}@media (prefers-color-scheme: dark){:root:not([data-theme]) .right-panel-tab-active{box-shadow:0 1px 3px #0003}}.tab-bar-instance{background-color:var(--surface-secondary)}.tab-bar-session{background-color:var(--surface-base)}.tab-container{display:flex;align-items:center;justify-content:space-between;gap:.25rem;overflow-x:auto;padding:.25rem .5rem}.tab-base{display:inline-flex;max-width:200px;align-items:center;gap:.5rem;border-top-left-radius:.375rem;border-top-right-radius:.375rem;padding:.5rem .75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-family:var(--font-family-sans);outline:none}.tab-base:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-base)}.tab-active{background-color:var(--tab-active-bg);color:var(--tab-active-text);border-bottom:2px solid var(--accent-primary)}.tab-inactive{background-color:var(--tab-inactive-bg);color:var(--tab-inactive-text);border-bottom:2px solid var(--tab-active-bg)}.tab-inactive:hover{background-color:var(--tab-inactive-hover-bg)}.tab-active:hover{background-color:var(--tab-active-hover-bg)}.tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close{cursor:pointer;border-radius:.25rem;padding:.125rem;opacity:1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tab-close:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.tab-close:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:inherit}.new-tab-button{display:inline-flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--new-tab-bg);color:var(--new-tab-text)}.new-tab-button:hover{background-color:var(--new-tab-hover-bg)}.new-tab-button:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-base)}.session-tab-base{display:inline-flex;max-width:150px;align-items:center;gap:.5rem;border-top-left-radius:.375rem;border-top-right-radius:.375rem;padding:.375rem .75rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-family:var(--font-family-sans);outline:none;border-bottom:2px solid transparent}.session-tab-base:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 1px;ring-color:var(--accent-primary);ring-offset-color:var(--surface-base)}.session-tab-active{background-color:var(--session-tab-active-bg);border-bottom-color:var(--accent-primary);color:var(--session-tab-active-text);font-weight:var(--font-weight-medium)}.session-tab-inactive{color:var(--session-tab-inactive-text)}.session-tab-inactive:hover{background-color:var(--session-tab-hover-bg)}.session-tab-special{color:var(--session-tab-inactive-text)}.connection-status-info{justify-self:start}.connection-status-shortcut{justify-self:center;text-align:center}.connection-status-meta{justify-self:end}.connection-status-text{color:var(--text-muted)}.sidebar-selector-hint{display:flex;width:100%;justify-content:center;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.session-sidebar-selector-hints{display:flex;width:100%;flex-wrap:wrap;align-items:center;font-size:var(--font-size-xs);line-height:var(--line-height-normal);justify-content:space-evenly;gap:4px;color:var(--text-muted)}.session-header-hints{flex-shrink:0}.session-sidebar-controls .selector-trigger,.session-sidebar-controls [data-model-selector-control],.session-sidebar-controls .selector-trigger-label,.session-sidebar-controls .selector-trigger-primary{width:100%}.sidebar-selector{display:flex;width:100%;flex-direction:column;gap:.25rem}.status-indicator{display:flex;align-items:center;gap:.375rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.status-indicator .status-dot{height:.5rem;width:.5rem;border-radius:9999px}.status-indicator.connected .status-dot{background-color:var(--status-success)}.status-indicator.connecting .status-dot{background-color:var(--status-warning);animation:pulse 1.5s ease-in-out infinite}.status-indicator.disconnected .status-dot{background-color:var(--status-error)}.status-indicator.session-status{--session-status-dot: var(--text-muted)}.status-indicator.session-status.session-working,.status-indicator.session-status.session-compacting,.status-indicator.session-status.session-idle{font-weight:var(--font-weight-medium)}.status-indicator.session-status.session-working{color:var(--session-status-working-fg);--session-status-dot: var(--session-status-working-fg)}.status-indicator.session-status.session-compacting{color:var(--session-status-compacting-fg);--session-status-dot: var(--session-status-compacting-fg)}.status-indicator.session-status.session-idle{color:var(--session-status-idle-fg);--session-status-dot: var(--session-status-idle-fg)}.status-indicator.session-status.session-permission{color:var(--session-status-permission-fg);--session-status-dot: var(--session-status-permission-fg)}.status-indicator.session-status .status-dot{background-color:var(--session-status-dot)}.status-indicator.session-status.session-working .status-dot,.status-indicator.session-status.session-compacting .status-dot{animation:pulse 1.5s ease-in-out infinite}.status-indicator.session-status.session-working.session-status-list{background-color:var(--session-status-working-bg)}.status-indicator.session-status.session-compacting.session-status-list{background-color:var(--session-status-compacting-bg)}.status-indicator.session-status.session-idle.session-status-list{background-color:var(--session-status-idle-bg)}.status-indicator.session-status.session-permission.session-status-list{background-color:var(--session-status-permission-bg)}.status-indicator.session-status-list{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium);color:inherit;display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;border:1px solid transparent}.status-indicator.worktree-indicator{color:var(--text-primary);background-color:color-mix(in oklab,var(--text-secondary) 18%,transparent);border-color:color-mix(in oklab,var(--text-secondary) 28%,transparent);text-transform:none;letter-spacing:.02em}.session-item-active .status-indicator.worktree-indicator{background-color:color-mix(in oklab,var(--text-primary) 14%,transparent);border-color:color-mix(in oklab,var(--text-primary) 22%,transparent)}.status-indicator.worktree-indicator .worktree-indicator-label{white-space:nowrap;max-width:10rem;overflow:hidden;text-overflow:ellipsis}.empty-state{display:flex;flex:1 1 0%;align-items:center;justify-content:center;padding:3rem}.empty-state-content{max-width:24rem;text-align:center}.empty-state-content h3{font-size:var(--font-size-xl);margin-bottom:12px}.empty-state-content p{font-size:var(--font-size-base);color:var(--text-muted);margin-bottom:16px}.empty-state-content ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.empty-state-content li{font-size:var(--font-size-base);color:var(--text-muted)}.empty-state-content code{background-color:var(--surface-code);padding:2px 6px;border-radius:3px;font-family:var(--font-family-mono);font-size:13px}.loading-state{display:flex;flex:1 1 0%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem}.spinner{height:2rem;width:2rem;border-radius:9999px;border-width:2px;border-top-color:transparent;border-color:var(--border-base);border-top-color:var(--accent-primary);animation:spin 1s linear infinite}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background-color:var(--overlay-scrim)}.modal-surface{display:flex;flex-direction:column;border-radius:.5rem;--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--surface-base);color:var(--text-primary)}.modal-search-container{border-bottom-width:1px;padding:1rem;border-color:var(--border-base)}.modal-search-input{flex:1 1 0%;background-color:transparent;outline:2px solid transparent;outline-offset:2px;color:var(--text-primary)}.modal-search-input::-moz-placeholder{color:var(--text-muted)}.modal-search-input::placeholder{color:var(--text-muted)}.modal-search-icon{color:var(--text-muted)}.modal-list-container{flex:1 1 0%;overflow-y:auto}.modal-section-header{padding:.5rem 1rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.025em;color:var(--text-muted)}.modal-item{display:flex;width:100%;cursor:pointer;align-items:flex-start;gap:.75rem;border-style:none;padding:.75rem 1rem;text-align:left;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-primary)}.modal-list-container[data-pointer-mode=pointer] .modal-item:hover{background-color:var(--surface-hover)}.modal-list-container[data-pointer-mode=keyboard] .modal-item:hover:not(.modal-item-highlight){background-color:inherit}.modal-item-highlight{background-color:var(--selection-highlight-bg)}.modal-item-label{font-weight:var(--font-weight-medium);color:var(--text-primary)}.modal-item-description{margin-top:.125rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-secondary)}.modal-empty-state{padding:2rem;text-align:center;color:var(--text-muted)}.panel{min-width:0px;overflow:hidden;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--surface-base);border-color:var(--border-base);color:var(--text-primary)}.panel-footer-hints{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.panel-header{border-bottom-width:1px;padding:.75rem 1rem;border-color:var(--border-base);background-color:var(--surface-secondary)}.panel-title{font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.panel-subtitle{margin-top:.125rem;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.panel-body{padding:1rem;background-color:var(--surface-base)}.panel-section{border-top-width:1px;border-color:var(--border-base)}.panel-section-header{display:flex;width:100%;cursor:pointer;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-secondary)}.panel-section-header:hover{background-color:var(--surface-hover)}.panel-section-content{width:100%}.panel-section-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.panel-section-content{overflow:visible;border-top-width:1px;padding:.75rem 1rem;border-color:var(--border-base);background-color:var(--surface-secondary)}.panel-list{max-height:400px;width:100%;min-width:0px;overflow-y:auto;overflow-x:hidden}.panel-list--fill{max-height:none;height:100%}.panel-list-item{width:100%;border-bottom-width:1px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.panel-list-item:last-child{border-bottom-width:0px}.panel-list-item{border-color:var(--border-base)}.panel-list-item:hover{background-color:var(--surface-hover)}.panel-list-item-highlight{background-color:var(--list-item-highlight-bg)!important;box-shadow:inset 0 0 0 1px var(--list-item-highlight-border)}.panel-list-item-content{display:flex;width:100%;min-width:0px;flex:1 1 0%;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;text-align:left;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.panel-list-item-content:hover{background-color:transparent}.panel-list-item-content:disabled{opacity:.6}.panel-list-item button:disabled{cursor:not-allowed}.panel-list-item-disabled{opacity:.6}.panel-empty-state{padding:1.5rem;text-align:center}.panel-empty-state-icon{margin-bottom:.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.panel-empty-state-icon:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.panel-empty-state-icon{color:var(--text-muted)}.panel-empty-state-title{margin-bottom:.25rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.panel-empty-state-description{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-muted)}.panel-footer{border-top-width:1px;padding:.75rem 1rem;border-color:var(--border-base);background-color:var(--surface-secondary)}@layer github-markdown-base{.markdown-body{color-scheme:light;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#1f2328;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:#0969da;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #d1d9e0b3}.markdown-body mark{background-color:#fff8c5;color:#1f2328}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 2.5rem}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid #d1d9e0b3;height:.25em;padding:0;margin:1.5rem 0;background-color:#d1d9e0;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::-moz-placeholder{color:#59636e;opacity:1}.markdown-body ::placeholder{color:#59636e;opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:-moz-max-content;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:.25rem;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#1f2328;vertical-align:middle;background-color:#f6f8fa;border:solid 1px #d1d9e0b3;border-bottom-color:#d1d9e0b3;border-radius:6px;box-shadow:inset 0 -1px #d1d9e0b3}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #d1d9e0b3}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#59636e}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#59636e;border-left:.25em solid #d1d9e0}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:.5rem!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#d1242f}.markdown-body .anchor{float:left;padding-right:.25rem;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:1rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1f2328;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:1rem}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:1rem;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 1rem;margin-bottom:1rem}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #d1d9e0}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#fff;border-top:1px solid #d1d9e0b3}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d1d9e0}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#1f2328}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#818b981f;border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:1rem}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:1rem;overflow:auto;font-size:85%;line-height:1.45;color:#1f2328;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px .5rem 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#59636e;border-top:1px solid #d1d9e0}.markdown-body .footnotes ol{padding-left:1rem}.markdown-body .footnotes ol ul{display:inline-block;padding-left:1rem;margin-top:1rem}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:-.5rem;right:-.5rem;bottom:-.5rem;left:-1.5rem;pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body .footnotes li:target{color:#1f2328}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:#59636e}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#6639ba}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#1f2328}.markdown-body .pl-ent{color:#0550ae}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#0a3069}.markdown-body .pl-v,.markdown-body .pl-smw{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{color:#f6f8fa;background-color:#82071e}.markdown-body .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#0550ae}.markdown-body .pl-mi{font-style:italic;color:#1f2328}.markdown-body .pl-mb{font-weight:700;color:#1f2328}.markdown-body .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body .pl-mi2{color:#d1d9e0;background-color:#0550ae}.markdown-body .pl-mdr{font-weight:700;color:#8250df}.markdown-body .pl-ba{color:#59636e}.markdown-body .pl-sg{color:#818b98}.markdown-body .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:.5rem 1rem;margin-bottom:1rem;color:inherit;border-left:.25em solid #d1d9e0}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#0969da}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#0969da}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8250df}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#8250df}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9a6700}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#9a6700}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#cf222e}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#d1242f}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-sans),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-family-mono),monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.markdown-body{max-width:none;background-color:transparent;font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-regular);color:var(--text-primary)}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body table{font-size:inherit;line-height:inherit;color:inherit}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-family:inherit;color:inherit;font-weight:var(--font-weight-semibold);line-height:1.3;margin-top:.9em;margin-bottom:.55em}.markdown-body h6{font-size:calc(var(--font-size-base) + .5px)}.markdown-body h5{font-size:calc(var(--font-size-base) + 1px)}.markdown-body h4{font-size:calc(var(--font-size-base) + 1.5px)}.markdown-body h3{font-size:calc(var(--font-size-base) + 2px)}.markdown-body h2{font-size:calc(var(--font-size-base) + 2.5px)}.markdown-body h1{font-size:calc(var(--font-size-base) + 3px)}.markdown-body h1,.markdown-body h2{border-bottom:none;padding-bottom:0}.markdown-body hr{display:none}.markdown-body strong{font-weight:var(--font-weight-regular);color:var(--message-assistant-border)}.markdown-body em{font-style:italic;border-bottom:none;font-size:calc(var(--font-size-base) + 1.5px);margin-top:.3em;margin-bottom:.3em;display:inline}.markdown-body a{color:var(--accent-primary);text-decoration:none}.markdown-body a:hover{color:var(--accent-hover);text-decoration:underline}.markdown-body code{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--surface-muted);border:1px solid var(--border-base);border-radius:4px;padding:.15em .35em}.markdown-body pre code{padding:0;border:none;background:transparent}.markdown-body pre:not(.shiki){font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);background-color:var(--surface-code);color:var(--text-primary);border:1px solid var(--border-base);border-radius:8px;padding:.75rem;margin:1rem 0}.markdown-body pre:not(.shiki) code,.markdown-code-block pre:not(.shiki) code{color:var(--text-primary)}.markdown-body blockquote{border-left:3px solid var(--border-base);color:var(--text-secondary);background-color:var(--surface-muted);padding:.5rem 1rem;border-radius:0 8px 8px 0}.markdown-body ul,.markdown-body ol{padding-left:1.5rem;margin:.5rem 0}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body ul li,.markdown-body ol li{margin:.25rem 0}.markdown-body table{border-collapse:collapse;width:100%;margin:1rem 0;background-color:transparent}.markdown-body th,.markdown-body td{border:1px solid var(--border-base);padding:.5rem .75rem;text-align:left;color:var(--text-primary);background-color:transparent}.markdown-body th{background-color:var(--surface-secondary)}.markdown-body tbody>tr:nth-child(odd)>td{background-color:var(--markdown-table-row-odd)}.markdown-body tbody>tr:nth-child(2n)>td{background-color:var(--markdown-table-row-even)}.markdown-code-block{position:relative;margin:10px 0;border-radius:6px;background-color:var(--surface-muted);border:1px solid var(--border-base)}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background-color:var(--surface-secondary);border-bottom:1px solid var(--border-base)}.code-block-language{font-family:var(--font-family-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:var(--font-size-sm)}.code-block-copy{display:flex;align-items:center;gap:4px;padding:4px 8px;background-color:transparent;border:1px solid var(--border-base);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease,border-color .15s ease;margin-left:auto;font-size:var(--font-size-sm)}.code-block-copy:hover{background-color:var(--surface-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.code-block-copy .copy-icon{width:14px;height:14px}.code-block-copy .copy-text{font-family:var(--font-family-mono)}.markdown-code-block pre{margin:0!important;padding:12px!important;overflow-x:auto;background-color:transparent!important;border-radius:0}.markdown-code-block code{background:transparent!important;padding:0!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-full{bottom:100%}.left-0{left:0}.left-3{left:.75rem}.left-6{left:1.5rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-12{height:3rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[40px\]{min-height:40px}.min-h-full{min-height:100%}.w-12{width:3rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-\[320px\]{width:320px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[180px\]{max-width:180px}.max-w-\[360px\]{max-width:360px}.max-w-\[500px\]{max-width:500px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[var\(--message-assistant-border\)\]{border-color:var(--message-assistant-border)}.border-\[var\(--message-user-border\)\]{border-color:var(--message-user-border)}.border-amber-800{--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.border-emerald-800{--tw-border-opacity: 1;border-color:rgb(6 95 70 / var(--tw-border-opacity, 1))}.border-rose-800{--tw-border-opacity: 1;border-color:rgb(159 18 57 / var(--tw-border-opacity, 1))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.bg-\[var\(--message-assistant-bg\)\]{background-color:var(--message-assistant-bg)}.bg-\[var\(--message-user-bg\)\]{background-color:var(--message-user-bg)}.bg-amber-500\/40{background-color:#f59e0b66}.bg-amber-950\/90{background-color:#451a03e6}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-emerald-500\/40{background-color:#10b98166}.bg-emerald-950\/90{background-color:#022c22e6}.bg-rose-500\/40{background-color:#f43f5e66}.bg-rose-950\/90{background-color:#4c0519e6}.bg-sky-500\/40{background-color:#0ea5e966}.bg-slate-900\/95{background-color:#0f172af2}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-6{padding-left:1.5rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-6{padding-right:1.5rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-\[20vh\]{padding-top:20vh}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:var(--font-family-mono),monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-\[1\.1\]{line-height:1.1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-\[var\(--message-assistant-border\)\]{color:var(--message-assistant-border)}.text-amber-100\/80{color:#fef3c7cc}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity, 1))}.text-emerald-100\/80{color:#d1fae5cc}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-rose-100\/80{color:#ffe4e6cc}.text-rose-50{--tw-text-opacity: 1;color:rgb(255 241 242 / var(--tw-text-opacity, 1))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200\/80{color:#e2e8f0cc}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.accent-\[var\(--accent-primary\)\]{accent-color:var(--accent-primary)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-base);color:var(--text-primary)}#root{width:100vw;height:100vh;background-color:var(--surface-base)}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-sky-200:hover{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.hover\:text-slate-50:hover{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.dark\:bg-gray-800:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:text-gray-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-900\/30:hover:is([data-theme=dark] *){background-color:#7f1d1d4d}.dark\:hover\:text-red-400:hover:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:block{display:block}.sm\:h-48{height:12rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width: 1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-80{width:20rem}.lg\:flex-row{flex-direction:row}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=Object.freeze(JSON.parse(`{"displayName":"INI","name":"ini","patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.number-sign.ini"}]},{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.semicolon.ini"}]},{"captures":{"1":{"name":"keyword.other.definition.ini"},"2":{"name":"punctuation.separator.key-value.ini"}},"match":"\\\\b([-.0-9A-Z_a-z]+)\\\\b\\\\s*(=)"},{"captures":{"1":{"name":"punctuation.definition.entity.ini"},"3":{"name":"punctuation.definition.entity.ini"}},"match":"^(\\\\[)(.*?)(])","name":"entity.name.section.group-title.ini"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.single.ini","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ini"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.double.ini"}],"scopeName":"source.ini","aliases":["properties"]}`)),i=[n];export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=Object.freeze(JSON.parse(`{"displayName":"Java","name":"java","patterns":[{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.package.java"}},"contentName":"storage.modifier.package.java","end":"\\\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.package.java","patterns":[{"include":"#comments"},{"match":"(?<=\\\\.)\\\\s*\\\\.|\\\\.(?=\\\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\\\s*([.;]))|\\\\b\\\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"[A-Z]+","name":"invalid.deprecated.package_name_not_lowercase.java"},{"match":"\\\\b(?<!\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\.","name":"punctuation.separator.java"}]},{"begin":"\\\\b(import)\\\\b\\\\s*\\\\b(static)?\\\\b\\\\s","beginCaptures":{"1":{"name":"keyword.other.import.java"},"2":{"name":"storage.modifier.java"}},"contentName":"storage.modifier.import.java","end":"\\\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.import.java","patterns":[{"include":"#comments"},{"match":"(?<=\\\\.)\\\\s*\\\\.|\\\\.(?=\\\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!\\\\.)\\\\s*\\\\*","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\\\s*([.;]))|\\\\b\\\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\b(?<!\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\.","name":"punctuation.separator.java"},{"match":"\\\\*","name":"variable.language.wildcard.java"}]},{"include":"#comments-javadoc"},{"include":"#code"},{"include":"#module"}],"repository":{"all-types":{"patterns":[{"include":"#primitive-arrays"},{"include":"#primitive-types"},{"include":"#object-types"}]},"annotations":{"patterns":[{"begin":"((@)\\\\s*([^(\\\\s]+))(\\\\()","beginCaptures":{"2":{"name":"punctuation.definition.annotation.java"},"3":{"name":"storage.type.annotation.java"},"4":{"name":"punctuation.definition.annotation-arguments.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.annotation-arguments.end.bracket.round.java"}},"name":"meta.declaration.annotation.java","patterns":[{"captures":{"1":{"name":"constant.other.key.java"},"2":{"name":"keyword.operator.assignment.java"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.annotation.java"},"2":{"name":"storage.modifier.java"},"3":{"name":"storage.type.annotation.java"},"5":{"name":"punctuation.definition.annotation.java"},"6":{"name":"storage.type.annotation.java"}},"match":"(@)(interface)\\\\s+(\\\\w*)|((@)\\\\s*(\\\\w+))","name":"meta.declaration.annotation.java"}]},"anonymous-block-and-instance-initializer":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.java"}},"patterns":[{"include":"#code"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.java"}},"end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"include":"#function-call"},{"include":"#all-types"},{"begin":"(?<=\\\\))","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.inner-class.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.inner-class.end.bracket.curly.java"}},"name":"meta.inner-class.java","patterns":[{"include":"#class-body"}]}]},{"begin":"(?<=])","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array-initializer.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array-initializer.end.bracket.curly.java"}},"name":"meta.array-initializer.java","patterns":[{"include":"#code"}]}]},{"include":"#parens"}]},"assertions":{"patterns":[{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.java"}},"end":"$","name":"meta.declaration.assertion.java","patterns":[{"match":":","name":"keyword.operator.assert.expression-separator.java"},{"include":"#code"}]}]},"class":{"begin":"(?=\\\\w?[-\\\\w\\\\s]*\\\\b(?:class|(?<!@)interface|enum)\\\\s+[$\\\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.class.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(class|(?<!@)interface|enum)\\\\s+([$\\\\w]+)","name":"meta.class.identifier.java"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.java"}},"end":"(?=\\\\{|implements|permits)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\s*extends|permits|\\\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(permits)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.permits.java"}},"end":"(?=\\\\s*extends|implements|\\\\{)","name":"meta.definition.class.permits.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"contentName":"meta.class.body.java","end":"(?=})","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#generics"},{"include":"#static-initializer"},{"include":"#class-fields-and-methods"},{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#member-variables"},{"include":"#code"}]},"class-fields-and-methods":{"patterns":[{"begin":"(?==)","end":"(?=;)","patterns":[{"include":"#code"}]},{"include":"#methods"}]},"code":{"patterns":[{"include":"#annotations"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#record"},{"include":"#anonymous-block-and-instance-initializer"},{"include":"#try-catch-finally"},{"include":"#assertions"},{"include":"#parens"},{"include":"#constants-and-special-vars"},{"include":"#numbers"},{"include":"#anonymous-classes-and-new"},{"include":"#lambda-expression"},{"include":"#keywords"},{"include":"#storage-modifiers"},{"include":"#method-call"},{"include":"#function-call"},{"include":"#variables"},{"include":"#variables-local"},{"include":"#objects"},{"include":"#properties"},{"include":"#strings"},{"include":"#all-types"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"},{"match":";","name":"punctuation.terminator.java"}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.java"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.java"},{"include":"#comments-inline"}]},"comments-inline":{"patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\\\*/","name":"comment.block.java"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.java"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\\\n","name":"comment.line.double-slash.java"}]}]},"comments-javadoc":{"patterns":[{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.java"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"name":"comment.block.javadoc.java","patterns":[{"match":"@(author|deprecated|return|see|serial|since|version)\\\\b","name":"keyword.other.documentation.javadoc.java"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"variable.parameter.java"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"},"3":{"name":"variable.parameter.java"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*?}"}]}]},"constants-and-special-vars":{"patterns":[{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.java"},{"match":"\\\\bthis\\\\b","name":"variable.language.this.java"},{"match":"\\\\bsuper\\\\b","name":"variable.language.java"}]},"enums":{"begin":"^\\\\s*([\\\\w\\\\s]*)(enum)\\\\s+(\\\\w+)","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifiers"}]},"2":{"name":"storage.modifier.java"},"3":{"name":"entity.name.type.enum.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.enum.end.bracket.curly.java"}},"name":"meta.enum.java","patterns":[{"begin":"\\\\b(extends)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.extends.java"}},"end":"(?=\\\\{|\\\\bimplements\\\\b)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\b(implements)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\{|\\\\bextends\\\\b)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.enum.begin.bracket.curly.java"}},"end":"(?=})","patterns":[{"begin":"(?<=\\\\{)","end":"(?=[;}])","patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\\\b(\\\\w+)\\\\b","beginCaptures":{"1":{"name":"constant.other.enum.java"}},"end":"(,)|(?=[;}])","endCaptures":{"1":{"name":"punctuation.separator.delimiter.java"}},"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#class-body"}]}]}]},{"include":"#class-body"}]}]},"function-call":{"begin":"([$A-Z_a-z][$\\\\w]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.function-call.java","patterns":[{"include":"#code"}]},"generics":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"end":">","endCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"patterns":[{"match":"\\\\b(extends|super)\\\\b","name":"storage.modifier.$1.java"},{"captures":{"1":{"name":"storage.type.java"}},"match":"(?<!\\\\.)([$A-Z_a-z][$0-9A-Z_a-z]*)(?=\\\\s*<)"},{"include":"#primitive-arrays"},{"match":"[$A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.generic.java"},{"match":"\\\\?","name":"storage.type.generic.wildcard.java"},{"match":"&","name":"punctuation.separator.types.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"},{"include":"#parens"},{"include":"#generics"},{"include":"#comments"}]},"keywords":{"patterns":[{"match":"\\\\bthrow\\\\b","name":"keyword.control.throw.java"},{"match":"[:?]","name":"keyword.control.ternary.java"},{"match":"\\\\b(return|yield|break|case|continue|default|do|while|for|switch|if|else)\\\\b","name":"keyword.control.java"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.java"},{"match":"(<<|>>>?|[\\\\^~])","name":"keyword.operator.bitwise.java"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.java"},{"match":"(===?|!=|<=|>=|<>|[<>])","name":"keyword.operator.comparison.java"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.java"},{"match":"(=)","name":"keyword.operator.assignment.java"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.java"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.java"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.java"},{"match":"([\\\\&|])","name":"keyword.operator.bitwise.java"},{"match":"\\\\b(const|goto)\\\\b","name":"keyword.reserved.java"}]},"lambda-expression":{"patterns":[{"match":"->","name":"storage.type.function.arrow.java"}]},"member-variables":{"begin":"(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)","end":"(?=[;=])","patterns":[{"include":"#storage-modifiers"},{"include":"#variables"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"method-call":{"begin":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"entity.name.function.java"},"3":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method-call.java","patterns":[{"include":"#code"}]},"methods":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^/=]|/(?!/))+\\\\()","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method.identifier.java","patterns":[{"include":"#parameters"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#generics"},{"begin":"(?=\\\\w.*\\\\s+\\\\w+\\\\s*\\\\()","end":"(?=\\\\s+\\\\w+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#all-types"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#throws"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]},{"include":"#comments"}]},"module":{"begin":"((open)\\\\s)?(module)\\\\s+(\\\\w+)","beginCaptures":{"1":{"name":"storage.modifier.java"},"3":{"name":"storage.modifier.java"},"4":{"name":"entity.name.type.module.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.module.end.bracket.curly.java"}},"name":"meta.module.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.module.begin.bracket.curly.java"}},"contentName":"meta.module.body.java","end":"(?=})","patterns":[{"include":"#comments"},{"include":"#comments-javadoc"},{"match":"\\\\b(requires|transitive|exports|opens|to|uses|provides|with)\\\\b","name":"keyword.module.java"}]}]},"numbers":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])((?<!\\\\.)\\\\h([_\\\\h]*\\\\h)?[Ll]?(?!\\\\.)|(\\\\h([_\\\\h]*\\\\h)?\\\\.?|(\\\\h([_\\\\h]*\\\\h)?)?\\\\.\\\\h([_\\\\h]*\\\\h)?)[Pp][-+]?[0-9]([0-9_]*[0-9])?[DFdf]?)\\\\b(?!\\\\$)","name":"constant.numeric.hex.java"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]([01_]*[01])?[Ll]?\\\\b(?!\\\\$)","name":"constant.numeric.binary.java"},{"match":"\\\\b(?<!\\\\$)0[0-7]([0-7_]*[0-7])?[Ll]?\\\\b(?!\\\\$)","name":"constant.numeric.octal.java"},{"match":"(?<!\\\\$)(\\\\b[0-9]([0-9_]*[0-9])?\\\\.\\\\B(?!\\\\.)|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\b|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([0-9]([0-9_]*[0-9])?)([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\b|(?<!\\\\.)\\\\B\\\\.[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\b|\\\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\\\.)[Ll]?\\\\b)(?!\\\\$)","name":"constant.numeric.decimal.java"}]},"object-types":{"patterns":[{"include":"#generics"},{"begin":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*)([A-Z_]\\\\w*)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]},"2":{"name":"storage.type.object.array.java"}},"end":"(?!\\\\s*\\\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]}},"match":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*[A-Z_]\\\\w*)\\\\s*(?=<)"},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]}},"match":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*[A-Z_]\\\\w*)\\\\b((?=\\\\s*[\\\\n$A-Z_a-z])|(?=\\\\s*\\\\.\\\\.\\\\.))"}]},"object-types-inherited":{"patterns":[{"include":"#generics"},{"captures":{"1":{"name":"punctuation.separator.period.java"}},"match":"\\\\b(?:[A-Z]\\\\w*\\\\s*(\\\\.)\\\\s*)*[A-Z]\\\\w*\\\\b","name":"entity.other.inherited-class.java"},{"match":",","name":"punctuation.separator.delimiter.java"}]},"objects":{"match":"(?<![$\\\\w])[$A-Z_a-z][$\\\\w]*(?=\\\\s*\\\\.\\\\s*[$\\\\w]+)","name":"variable.other.object.java"},"parameters":{"patterns":[{"match":"\\\\bfinal\\\\b","name":"storage.modifier.java"},{"include":"#annotations"},{"include":"#all-types"},{"include":"#strings"},{"match":"\\\\w+","name":"variable.parameter.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.definition.parameters.varargs.java"}]},"parens":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#code"}]}]},"primitive-arrays":{"patterns":[{"begin":"\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\b\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.primitive.array.java"}},"end":"(?!\\\\s*\\\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]}]},"primitive-types":{"match":"\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.java"},"properties":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"keyword.control.new.java"}},"match":"(\\\\.)\\\\s*(new)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)(?=\\\\s*\\\\.\\\\s*[$A-Z_a-z][$\\\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"invalid.illegal.identifier.java"}},"match":"(\\\\.)\\\\s*([0-9][$\\\\w]*)"}]},"record":{"begin":"(?=\\\\w?[\\\\w\\\\s]*\\\\brecord\\\\s+[$\\\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.record.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"begin":"(record)\\\\s+([$\\\\w]+)(<[$\\\\w]+>)?(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.record.java"},"3":{"patterns":[{"include":"#generics"}]},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.record.identifier.java","patterns":[{"include":"#code"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"include":"#record-body"}]},"record-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"end":"(?=})","name":"meta.record.body.java","patterns":[{"include":"#record-constructor"},{"include":"#class-body"}]},"record-constructor":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^(/=]|/(?!/))+(?=\\\\{))","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.method.identifier.java","patterns":[{"include":"#comments"}]},{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},"static-initializer":{"patterns":[{"include":"#anonymous-block-and-instance-initializer"},{"match":"static","name":"storage.modifier.java"}]},"storage-modifiers":{"match":"\\\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\\\b","name":"storage.modifier.java"},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.triple.java","patterns":[{"match":"(\\\\\\\\\\"\\"\\")(?!\\")|(\\\\\\\\.)","name":"constant.character.escape.java"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.double.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.single.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]}]},"throws":{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.java"}},"end":"(?=[;{])","name":"meta.throwables.java","patterns":[{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"[$A-Z_a-z][$.0-9A-Z_a-z]*","name":"storage.type.java"},{"include":"#comments"}]},"try-catch-finally":{"patterns":[{"begin":"\\\\btry\\\\b","beginCaptures":{"0":{"name":"keyword.control.try.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.try.end.bracket.curly.java"}},"name":"meta.try.java","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.try.resources.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.try.resources.end.bracket.round.java"}},"name":"meta.try.resources.java","patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.try.begin.bracket.curly.java"}},"contentName":"meta.try.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\b(catch)\\\\b","beginCaptures":{"1":{"name":"keyword.control.catch.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.catch.end.bracket.curly.java"}},"name":"meta.catch.java","patterns":[{"include":"#comments"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"contentName":"meta.catch.parameters.java","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"patterns":[{"include":"#comments"},{"include":"#storage-modifiers"},{"begin":"[$A-Z_a-z][$.0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"storage.type.java"}},"end":"(\\\\|)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.catch.separator.java"}},"patterns":[{"include":"#comments"},{"captures":{"0":{"name":"variable.parameter.java"}},"match":"\\\\w+"}]}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.catch.begin.bracket.curly.java"}},"contentName":"meta.catch.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\bfinally\\\\b","beginCaptures":{"0":{"name":"keyword.control.finally.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.finally.end.bracket.curly.java"}},"name":"meta.finally.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.finally.begin.bracket.curly.java"}},"contentName":"meta.finally.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]}]},"variables":{"begin":"(?=\\\\b((void|boolean|byte|char|short|int|float|long|double)|(?>(\\\\w+\\\\.)*[A-Z_]+\\\\w*))\\\\b\\\\s*(<[],.<>?\\\\[\\\\w\\\\s]*>)?\\\\s*((\\\\[])*)?\\\\s+[$A-Z_a-z][$\\\\w]*([]$,\\\\[\\\\w][],\\\\[\\\\w\\\\s]*)?\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.java","patterns":[{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([,:;=]))"},{"include":"#all-types"},{"include":"#code"}]},"variables-local":{"begin":"(?=\\\\b(var)\\\\b\\\\s+[$A-Z_a-z][$\\\\w]*\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.local.java","patterns":[{"match":"\\\\bvar\\\\b","name":"storage.type.local.java"},{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([:;=]))"},{"include":"#code"}]}},"scopeName":"source.java"}`)),a=[e];export{a as default};
|