conductor-oss 0.53.13 → 0.53.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/package.json +5 -5
  2. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  3. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +6 -6
  4. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  5. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +16 -16
  7. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  9. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +6 -6
  45. package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
  46. package/web/.next/standalone/packages/web/.next/server/chunks/2985.js +1 -0
  47. package/web/.next/standalone/packages/web/.next/server/chunks/3447.js +1 -0
  48. package/web/.next/standalone/packages/web/.next/server/chunks/3863.js +1 -0
  49. package/web/.next/standalone/packages/web/.next/server/chunks/406.js +2 -2
  50. package/web/.next/standalone/packages/web/.next/server/chunks/5068.js +1 -0
  51. package/web/.next/standalone/packages/web/.next/server/chunks/6014.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/chunks/8039.js +40 -2
  53. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/chunks/9517.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  62. package/web/.next/standalone/packages/web/.next/static/chunks/2261.c81320620d303556.js +3 -0
  63. package/web/.next/standalone/packages/web/.next/static/chunks/2799.af3ace66be50452a.js +1 -0
  64. package/web/.next/standalone/packages/web/.next/static/chunks/4443.fde690bedcebbc76.js +1 -0
  65. package/web/.next/standalone/packages/web/.next/static/chunks/5493-77cffad4cf5f98c0.js +1 -0
  66. package/web/.next/standalone/packages/web/.next/static/chunks/7828.5cf428c67d3b245c.js +1 -0
  67. package/web/.next/{static/chunks/8510-06220bbac56ef89c.js → standalone/packages/web/.next/static/chunks/8510-612a25d1f7c97010.js} +1 -1
  68. package/web/.next/standalone/packages/web/.next/static/chunks/{8607.59b8e37910065e46.js → 8607.f538d93ee6398358.js} +1 -1
  69. package/web/.next/standalone/packages/web/.next/static/chunks/9542-acaea5d1bb0524ee.js +3 -0
  70. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-3e3d4588ff3fcb4c.js +1 -0
  71. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-0a220d06eefaa91f.js +1 -0
  72. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-a11623dd579434e3.js +1 -0
  73. package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-15fe30f28b920208.js → webpack-d044bbd0da86be02.js} +1 -1
  74. package/web/.next/standalone/packages/web/.next/static/css/e6b41aae86fccd71.css +1 -0
  75. package/web/.next/static/chunks/2261.c81320620d303556.js +3 -0
  76. package/web/.next/static/chunks/2799.af3ace66be50452a.js +1 -0
  77. package/web/.next/static/chunks/4443.fde690bedcebbc76.js +1 -0
  78. package/web/.next/static/chunks/5493-77cffad4cf5f98c0.js +1 -0
  79. package/web/.next/static/chunks/7828.5cf428c67d3b245c.js +1 -0
  80. package/web/.next/{standalone/packages/web/.next/static/chunks/8510-06220bbac56ef89c.js → static/chunks/8510-612a25d1f7c97010.js} +1 -1
  81. package/web/.next/static/chunks/{8607.59b8e37910065e46.js → 8607.f538d93ee6398358.js} +1 -1
  82. package/web/.next/static/chunks/9542-acaea5d1bb0524ee.js +3 -0
  83. package/web/.next/static/chunks/app/layout-3e3d4588ff3fcb4c.js +1 -0
  84. package/web/.next/static/chunks/app/page-0a220d06eefaa91f.js +1 -0
  85. package/web/.next/static/chunks/app/sessions/[id]/page-a11623dd579434e3.js +1 -0
  86. package/web/.next/static/chunks/{webpack-15fe30f28b920208.js → webpack-d044bbd0da86be02.js} +1 -1
  87. package/web/.next/static/css/e6b41aae86fccd71.css +1 -0
  88. package/web/.next/standalone/packages/web/.next/server/chunks/3812.js +0 -1
  89. package/web/.next/standalone/packages/web/.next/server/chunks/7023.js +0 -1
  90. package/web/.next/standalone/packages/web/.next/server/chunks/7287.js +0 -1
  91. package/web/.next/standalone/packages/web/.next/server/chunks/9765.js +0 -1
  92. package/web/.next/standalone/packages/web/.next/static/chunks/2799.960947515ca3e46a.js +0 -1
  93. package/web/.next/standalone/packages/web/.next/static/chunks/2942.95605b69394c0085.js +0 -1
  94. package/web/.next/standalone/packages/web/.next/static/chunks/4443.ce75f110abab27ee.js +0 -1
  95. package/web/.next/standalone/packages/web/.next/static/chunks/4997-c79d84ebc09b7c8e.js +0 -1
  96. package/web/.next/standalone/packages/web/.next/static/chunks/6183.ae4b3c27a0ba7a59.js +0 -3
  97. package/web/.next/standalone/packages/web/.next/static/chunks/9542-574bc67ece70d8b2.js +0 -3
  98. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-b921aa1902fa3c22.js +0 -1
  99. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-809480e7cb5d2181.js +0 -1
  100. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-32c2d13d7e046547.js +0 -1
  101. package/web/.next/standalone/packages/web/.next/static/css/89f2b8a1b5b45c3f.css +0 -1
  102. package/web/.next/static/chunks/2799.960947515ca3e46a.js +0 -1
  103. package/web/.next/static/chunks/2942.95605b69394c0085.js +0 -1
  104. package/web/.next/static/chunks/4443.ce75f110abab27ee.js +0 -1
  105. package/web/.next/static/chunks/4997-c79d84ebc09b7c8e.js +0 -1
  106. package/web/.next/static/chunks/6183.ae4b3c27a0ba7a59.js +0 -3
  107. package/web/.next/static/chunks/9542-574bc67ece70d8b2.js +0 -3
  108. package/web/.next/static/chunks/app/layout-b921aa1902fa3c22.js +0 -1
  109. package/web/.next/static/chunks/app/page-809480e7cb5d2181.js +0 -1
  110. package/web/.next/static/chunks/app/sessions/[id]/page-32c2d13d7e046547.js +0 -1
  111. package/web/.next/static/css/89f2b8a1b5b45c3f.css +0 -1
  112. /package/web/.next/standalone/packages/web/.next/static/{MPIcJ64jLVnch4KO-ZSqI → cb69vNprpZ0W7JmsLIVBy}/_buildManifest.js +0 -0
  113. /package/web/.next/standalone/packages/web/.next/static/{MPIcJ64jLVnch4KO-ZSqI → cb69vNprpZ0W7JmsLIVBy}/_ssgManifest.js +0 -0
  114. /package/web/.next/static/{MPIcJ64jLVnch4KO-ZSqI → cb69vNprpZ0W7JmsLIVBy}/_buildManifest.js +0 -0
  115. /package/web/.next/static/{MPIcJ64jLVnch4KO-ZSqI → cb69vNprpZ0W7JmsLIVBy}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9542],{14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},39542:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>P});var r=n(54568),l=n(58299),a=n(63253),i=n(13454);let s=(0,i.A)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]),o=(0,i.A)("square-stop",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]);var c=n(60527),u=n(14796),d=n(36645),h=n(82797),m=n(7620),f=n(76081),p=n(85905),w=n(31404);let b=new Set(["queued","spawning","running","working","needs_input","stuck"]),x=new Set(["done","needs_input","stuck","errored","terminated","killed"]);var g=n(63680);function y(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function v(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}function k(e){return e.startsWith("/api/sessions/")&&e.includes("/terminal/ttyd")}function j(e,t){let n=t?.trim();if(!n)return e;try{let t=new URL(e);if(!k(t.pathname))return e;return t.searchParams.set("bridgeId",n),t.toString()}catch{return e}}async function N(e,t){let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",credentials:"same-origin",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,a="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():null,i="string"==typeof r?.tunnelUrl&&r.tunnelUrl.trim().length>0?r.tunnelUrl.trim():null,s=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();return 401===n.status||403===n.status?{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:a,tunnelUrl:i,expiresInSeconds:s}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,reason:r?.error??"Terminal unavailable"}}async function U(e,t){let n=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);y(n.hostname)&&!y(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let t=g.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:a}=window.location;return"3000"===a||"4747"===a?`${n}//${r}:4749`:l}(),r=window.location.origin,l=await N(e,t);if(!l.interactive)return{terminalUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null,tunnelUrl:null};if(l.tunnelUrl)try{let e=new URL(l.tunnelUrl),r=new URL(l.ttydHttpUrl??l.ttydWsUrl??"",n).searchParams.get("token");return r&&e.searchParams.set("token",r),{terminalUrl:j(e.toString(),t?.bridgeId),interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}catch{}let a=function(e,t,n,r){let l=e??t;if(!l)return null;try{let e=(()=>{try{return new URL(l,r).pathname}catch{return null}})(),t=e&&k(e)?r:n,a=new URL(l,t);return"ws:"===a.protocol&&(a.protocol="http:"),"wss:"===a.protocol&&(a.protocol="https:"),"/ws"===a.pathname?a.pathname="/":a.pathname.endsWith("/ws")&&(a.pathname=v(a.pathname.slice(0,-3))),a.pathname=v(a.pathname),a.hash="",a.toString()}catch{return null}}(l.ttydHttpUrl,l.ttydWsUrl,n,r);return a?{terminalUrl:j(a,t?.bridgeId),interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}:{terminalUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."}}function S(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}var R=n(86181);let C=new Set(["archived","killed","terminated","restored"]),E=[0,50,150,400,1e3];async function L(e,t,n){let r=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function A(e,t){let n;if(e&&t&&null!==e.contentWindow){try{n=new URL(e.src).origin}catch{n=window.location.origin}n&&"null"!==n&&e.contentWindow.postMessage({type:"conductor-ttyd-auth-token",token:t},n)}}function T(e){let{sessionId:t,projectId:n,bridgeId:i,sessionState:g,runtimeMode:y,pendingInsert:v,immersiveMobileMode:k=!1,panelVisible:j=!0,onPendingInsertConsumed:N}=e,T=(0,m.useRef)(null),P=(0,m.useRef)(null),I=(0,m.useRef)(0),M=(0,m.useRef)(0),$=(0,m.useRef)(null),_=(0,m.useRef)(null),z=(0,m.useRef)([]),W=(0,m.useRef)(!1),F=(0,m.useRef)(null),D=(0,m.useRef)(0),O=(0,m.useMemo)(()=>g.trim().toLowerCase(),[g]),H=y?.trim().toLowerCase()??null,q="ttyd"===H,B=q?!C.has(O):b.has(O),V=!q&&!k&&x.has(O),[K,J]=(0,m.useState)(null),[X,G]=(0,m.useState)(null),[Q,Y]=(0,m.useState)(B),[Z,ee]=(0,m.useState)(null),[et,en]=(0,m.useState)(!1),[er,el]=(0,m.useState)(0),[ea,ei]=(0,m.useState)(""),[es,eo]=(0,m.useState)(!1),[ec,eu]=(0,m.useState)(null),[ed,eh]=(0,m.useState)(null),[em,ef]=(0,m.useState)(null),[ep,ew]=(0,m.useState)(!1),[eb,ex]=(0,m.useState)(!1),eg=(0,m.useRef)(null),ey=(0,m.useRef)(!1),ev=(0,m.useRef)(0),ek=(0,m.useRef)(null),ej=(0,m.useRef)(null),eN=(0,m.useCallback)(()=>{for(let e of z.current)window.clearTimeout(e);z.current=[]},[]),eU=(0,m.useCallback)(()=>{let e=_.current,t=$.current;if(!e?.contentWindow||!t)return;let n=t.getBoundingClientRect(),r=Math.round(n.width),l=Math.round(n.height);if(r<10||l<10)return;let a=ek.current;a&&a.w===r&&a.h===l||(ek.current={w:r,h:l},function(e){let t;if(e?.contentWindow){try{t=new URL(e.src).origin}catch{t=window.location.origin}if(t&&"null"!==t)try{e.contentWindow.postMessage({type:"conductor-terminal-resize"},t)}catch{}}}(e))},[]),eS=(0,m.useCallback)(()=>{if(_.current?.contentWindow)for(let e of(eN(),E))z.current.push(window.setTimeout(()=>{eU()},e))},[eN,eU]),eR=(0,m.useCallback)(()=>{let e=function(e){if(!e)return null;try{let t=new URL(e).searchParams.get("token")?.trim();return t&&t.length>0?t:null}catch{return null}}(X);e&&A(_.current,e)},[X]);(0,m.useEffect)(()=>{eg.current=K},[K]),(0,m.useEffect)(()=>{W.current=et},[et]),(0,m.useEffect)(()=>{I.current=0,M.current=0,J(null),G(null),Y(B),ee(null),en(!1),el(0),ei(""),eo(!1),eu(null),eh(null),ef(null),ew(!1),ey.current=!1,W.current=!1,F.current=null,D.current=0,ev.current=0,ek.current=null,eN()},[eN,B,t]),(0,m.useEffect)(()=>{ek.current=null},[K]),(0,m.useEffect)(()=>()=>eN(),[eN]),(0,m.useEffect)(()=>{if(!B){Y(!1),ee(null);return}let e=!1,n=null,r=null,l=new AbortController;return(!eg.current||ey.current)&&Y(!0),ee(null),U(t,{signal:l.signal,bridgeId:i}).then(t=>{if(!e){if(M.current=0,t.interactive&&t.terminalUrl){var n,l,a;let e,i,s=ey.current||(n=eg.current,l=t.terminalUrl,e=S(n),i=S(l),!e||e!==i);ey.current=!1,G(t.terminalUrl);let o=!s&&eg.current&&function(e,t){if(!e)return!1;try{let n=new URL(e),r=new URL(t);if(n.origin!==r.origin||n.pathname!==r.pathname)return!1;let l=new URLSearchParams(n.searchParams),a=new URLSearchParams(r.searchParams);l.delete("token"),a.delete("token");let i=l.toString(),s=a.toString();if(i!==s)return!1;let o=new URL(e).searchParams.get("token"),c=new URL(t).searchParams.get("token");return o!==c}catch{return!1}}(eg.current,t.terminalUrl);if(s||!eg.current)eg.current||en(!1),J(t.terminalUrl);else if(o){let e=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();if(e){let t=_.current;t&&A(t,e)}}ee(null);let c="number"!=typeof(a=t.expiresInSeconds)||!Number.isFinite(a)||a<=0?null:1e3*Math.max(5,a-10);null!==c&&(r=window.setTimeout(()=>{el(e=>e+1)},c));return}eg.current||(J(null),G(null),en(!1)),ee(t.reason??"Live ttyd terminal is unavailable.")}}).catch(t=>{if(e||t instanceof DOMException&&"AbortError"===t.name)return;let r=!!eg.current;r||(J(null),G(null),en(!1)),ee(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=M.current,a=r?5e3:Math.min(4e3,500*2**l);M.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{el(e=>e+1)},a)}).finally(()=>{e||Y(!1)}),()=>{e=!0,l.abort(),null!==n&&window.clearTimeout(n),null!==r&&window.clearTimeout(r)}},[i,er,B,t]),(0,m.useEffect)(()=>{let e=ej.current;ej.current=j,j&&!1===e&&(ek.current=null,ev.current=window.Date.now()+120,requestAnimationFrame(()=>{requestAnimationFrame(()=>{eR(),eS()})}))},[j,eS,eR]);let eC=(0,m.useCallback)(()=>{if(!B)return;let e=window.Date.now();if(e-D.current<1500)return;D.current=e;let t=null===F.current?0:e-F.current;F.current=null,eR(),eS(),t>=3e5&&W.current&&eg.current&&(ey.current=!0,el(e=>e+1))},[B,eS,eR]);(0,m.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){F.current=window.Date.now(),ev.current=window.Date.now()+250;return}"visible"===document.visibilityState&&(ev.current=window.Date.now()+100,eC())},t=()=>{eC()},n=()=>{el(e=>e+1)};return document.addEventListener("visibilitychange",e),window.addEventListener("pageshow",t),window.addEventListener("online",n),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pageshow",t),window.removeEventListener("online",n)}},[eC]),(0,m.useEffect)(()=>{if(!v||v.nonce<=I.current)return;I.current=v.nonce;let e=v.inlineText.trim();if(0===e.length)return;let n=!1;return L(t,`${e} `,i).then(()=>{n||(eh(null),N?.())}).catch(e=>{n||eh(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[i,N,v,t]),(0,m.useEffect)(()=>{et&&eR()},[et,eR]),(0,m.useEffect)(()=>{if(!B||!K||et)return;let e=window.setTimeout(()=>{W.current||ee("The terminal view did not finish loading in time. Try reload or open in a new tab.")},25e3);return()=>window.clearTimeout(e)},[B,et,K]);let eE=(0,m.useCallback)(async()=>{let e=ea.trim();if(0!==e.length&&!es){eo(!0),eu(null);try{let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,i),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}ei(""),T.current?.focus()}catch(e){eu(e instanceof Error?e.message:"Failed to send message")}finally{eo(!1)}}},[i,ea,es,t]),eL=(0,m.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await L(t,e,i)}catch{}},[i,t]),eA=(0,m.useCallback)(()=>{P.current?.click()},[]),eT=(0,m.useCallback)(async e=>{let{files:r}=e.target;if(e.target.value="",r&&0!==r.length){ef(null),ew(!0);try{for(let e of(await (0,p.P)({files:Array.from(r),projectId:n,taskRef:t,bridgeId:i})))await L(t,`\r
2
- [attached file: ${e}]\r
3
- `,i)}catch(e){ef(e instanceof Error?e.message:"Failed to upload attachment.")}finally{ew(!1)}}},[i,n,t]),eP=(0,m.useCallback)(async()=>{await L(t,"\x03",i)},[i,t]),eI=(0,m.useCallback)(()=>{let e=$.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,R.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);if(!r){e.style.height="100%",ex(!1);return}if(n<=0){e.style.height="100%";return}e.style.height=`${Math.max(0,Math.round(n))}px`,ex(!0)},[]);(0,m.useEffect)(()=>{let e=$.current;if(!e)return;let t=null,n=()=>{if(!j||window.Date.now()<ev.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(null!==t&&(window.clearTimeout(t),t=null),t=window.setTimeout(()=>{if(t=null,window.Date.now()<ev.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(eI(),eU())},150))};n();let r="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{n()}),l=window.visualViewport;return r?.observe(e),window.addEventListener("resize",n),l?.addEventListener("resize",n),l?.addEventListener("scroll",n),()=>{r?.disconnect(),window.removeEventListener("resize",n),l?.removeEventListener("resize",n),l?.removeEventListener("scroll",n),null!==t&&window.clearTimeout(t),e.style.removeProperty("height")}},[eI,B,eU,j,K]),(0,m.useEffect)(()=>{},[Z,B,et,H,ec,ed,Q,t,K,X,q]);let eM=(0,m.useCallback)(()=>{ee(null),M.current=0,ey.current=!0,el(e=>e+1)},[]),e$=B?"Connecting live terminal":V?"Session is waiting for input":"Live terminal is not active",e_=Z??(B?"Reconnecting to the existing ttyd terminal.":q?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":V?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${O}\`. Interactive ttyd terminals only run while the agent is active.`),ez=X??K??void 0;return(0,r.jsxs)("div",{className:k?"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,r.jsxs)("div",{className:"absolute right-2 top-2 z-10 flex items-center gap-2 sm:right-3 sm:top-3",children:[(0,r.jsx)("input",{ref:P,type:"file",multiple:!0,accept:"*/*",className:"sr-only",tabIndex:-1,"aria-hidden":!0,onChange:e=>void eT(e)}),(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",disabled:!B||!K||ep,className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] disabled:opacity-40 sm:h-7 sm:w-7",onClick:eA,"aria-label":"Attach photos or files",children:ep?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(a.A,{className:"h-3.5 w-3.5"})}),window.matchMedia?.("(pointer: coarse)").matches?(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eL,"aria-label":"Paste from clipboard",children:(0,r.jsx)(s,{className:"h-3.5 w-3.5"})}):null,(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eP,"aria-label":"Soft stop (Ctrl+C)",children:(0,r.jsx)(o,{className:"h-3.5 w-3.5"})}),(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eM,"aria-label":"Reload ttyd terminal",children:Q?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(c.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{className:k?"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0 pb-[env(safe-area-inset-bottom)] pt-0 w-full":"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:B&&K?(0,r.jsxs)("div",{ref:$,className:"relative flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden rounded-[10px] bg-[#060404] pb-[env(safe-area-inset-bottom)]",children:[et?null:(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{ref:_,title:`ttyd terminal for ${t}`,src:K,className:"block h-full min-h-0 w-full flex-1 border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onError:()=>{ee("Failed to load the terminal frame. Try reload or open in a new tab.")},onLoad:()=>{en(!0),ee(null),eI(),eR(),eS()}},t)]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,r.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:Z?(0,r.jsx)(u.A,{className:"h-4 w-4"}):(0,r.jsx)(l.A,{className:`h-4 w-4 ${Q?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:e$}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:e_}),ez?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)("a",{href:ez,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!V&&(ed||em)?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[ed?(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(u.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:ed}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>eh(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,em?(0,r.jsxs)("div",{className:`flex items-center gap-1.5 ${ed?"mt-2":""}`,children:[(0,r.jsx)(u.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:em}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ef(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null]}):null,V?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[ed?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ffb39e]",children:[(0,r.jsx)(u.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:ed}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>eh(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,em?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ffb39e]",children:[(0,r.jsx)(u.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:em}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ef(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,ec?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ff8f7a]",children:[(0,r.jsx)(u.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:ec}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>eu(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),eE()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,r.jsx)("input",{ref:T,type:"text",value:ea,onChange:e=>ei(e.target.value),placeholder:"Send a follow-up message…",enterKeyHint:"done",disabled:es,className:"h-8 min-w-0 flex-1 rounded-md border border-white/10 bg-[#0c0808] px-2.5 text-[12px] text-[#efe8e1] outline-none placeholder:text-[#7d746e] focus:border-white/20 disabled:opacity-50",onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.currentTarget.blur())}}),(0,r.jsx)(f.$,{type:"submit",size:"icon",variant:"ghost",disabled:es||0===ea.trim().length,className:"h-8 w-8 shrink-0 rounded-md border border-white/10 bg-[#0c0808] text-[#c9c0b7] hover:bg-[#201818] disabled:opacity-30","aria-label":"Send message",children:es?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(h.A,{className:"h-3.5 w-3.5"})})]})]}):null]})}let P=(0,m.memo)(function(e){return(0,r.jsx)(T,{...e})},function(e,t){var n,r;return e.sessionId===t.sessionId&&e.projectId===t.projectId&&e.bridgeId===t.bridgeId&&e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode&&(e.panelVisible??!0)===(t.panelVisible??!0)&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)})},63253:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]])},82797:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},85905:(e,t,n)=>{n.d(t,{P:()=>a});var r=n(31404);function l(e){return e&&"object"==typeof e?e:null}async function a({files:e,projectId:t,taskRef:n,bridgeId:i,preferAbsolute:s=!0}){if(!e.length)return[];let o=t.trim();if(!o)throw Error("Project id is required to upload attachments");let c=new FormData;c.append("projectId",o);let u=n?.trim();for(let t of(u&&c.append("taskRef",u),e))c.append("files",t);let d=await fetch((0,r.S)("/api/attachments",i),{method:"POST",body:c}),h=await d.json().catch(()=>null);if(!d.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(h?.error??`Failed to upload ${t}`)}let m=(Array.isArray(h?.files)?h.files:h?[h]:[]).map(e=>(function(e,t){let n=l(e);if(!n)return null;let r=l(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,s)).filter(e=>!!e);if(0===m.length)throw Error("Attachment upload succeeded but did not return a usable file path");return m}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>i});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function d(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function i({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),d(e);return}d("dark")},[]);let l=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),d(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:l},children:e})}},48572:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0097b82b6df85d12cd66e33c6760bc4f8241d701b6",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},74471:()=>{},83172:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0022b4cd035ed4439822570dd25fd0573e79cb97d8",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>i});var o=t(54568),n=t(97257),s=t(7620),d=t(46916);let i=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,d.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",e),...t})})).displayName="TooltipContent"},98709:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,79584,23)),Promise.resolve().then(t.t.bind(t,84978,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))}},e=>{e.O(0,[9271,9306,3357,524,3051,8510,587,1968,7358],()=>e(e.s=98709)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974,9847],{12529:(e,t,n)=>{Promise.resolve().then(n.bind(n,60594))},33866:(e,t,n)=>{"use strict";n.d(t,{BO:()=>l,Ge:()=>d,a6:()=>c,h7:()=>i,iQ:()=>o,pN:()=>a});var r=n(5739);let a=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"hermes",label:"Hermes",description:"Nous Research Hermes Agent CLI",homepage:"https://hermes-agent.nousresearch.com/",iconUrl:"/agents/hermes.png",installHint:"curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",installUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/",setupUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"openclaw",label:"OpenClaw",description:"OpenClaw gateway-backed chat runtime",homepage:"https://github.com/openclaw/openclaw#readme",iconUrl:null,installHint:"Configure the OpenClaw gateway in backend runtime settings",installUrl:"https://github.com/openclaw/openclaw",setupUrl:"https://github.com/openclaw/openclaw",surfaces:["dispatcher"]},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],l=a.map(e=>e.name),s=new Map(a.map(e=>[(0,r.q)(e.name),e]));function i(e){return s.get((0,r.q)(e))??null}function o(e){let t=i(e);return!t||(t.surfaces?.includes("terminal")??!0)}function d(e){let t=[],n=new Set;for(let a of e){let e=a.trim();if(!e||!o(e))continue;let l=(0,r.q)(e);n.has(l)||(n.add(l),t.push(e))}return t}function c(e,t){let n="string"==typeof e?e.trim():"";if(n&&o(n))return n;let r=t.trim();return r&&o(r)?r:a.find(e=>o(e.name))?.name??"codex"}},51164:(e,t,n)=>{"use strict";n.d(t,{v:()=>c});var r=n(76196);let a=["pro","max","api"],l=["chatgpt","api"],s=["default"],i=["oauth","api"],o=["oauth","api"];function d(e,t,n){return"string"==typeof e&&t.includes(e)?e:n}function c(e){let t=!e||"object"!=typeof e||Array.isArray(e)?{}:{...e},n=(0,r.Zp)();return{amp:d(t.amp,s,n.amp),claudeCode:d(t.claudeCode,a,n.claudeCode),codex:d(t.codex,l,n.codex),cursorCli:d(t.cursorCli,s,n.cursorCli),droid:d(t.droid,s,n.droid),gemini:d(t.gemini,i,n.gemini),githubCopilot:d(t.githubCopilot,s,n.githubCopilot),opencode:d(t.opencode,s,n.opencode),qwenCode:d(t.qwenCode,o,n.qwenCode),ccr:d(t.ccr,s,n.ccr)}}},60594:(e,t,n)=>{"use strict";n.d(t,{default:()=>ew});var r=n(54568),a=n(42925),l=n(79748),s=n(7620),i=n(40448);n(76196);var o=n(52353),d=n(20487),c=n(50549),p=n(57917),u=n(21048),x=n(55341),m=n(30824),h=n(34737),g=n(20670),f=n(8008),v=n(58299),b=n(36645),w=n(84736),j=n(7086),k=n(54299),y=n(34041),N=n(34309),C=n(63253),A=n(20732),S=n(45894),I=n(5739),E=n(33866),M=n(35821),$=n(95106),L=n(53649),U=n(86011),P=n(31404),O=n(10926);let B=new Map,q=new Map;function F(e){let t=q.get(e);return t||(t={agents:[],loading:!0,lastFetchedAt:0,inFlight:null,retryTimeout:null},q.set(e,t)),t}function _(e){let t=B.get(e);return t||(t=new Set,B.set(e,t)),t}function T(e){for(let t of _(e))t()}function D(e){let t=F(e);return t.agents.length>0&&Date.now()-t.lastFetchedAt<3e4}function R(e,t){let n=F(e);null===n.retryTimeout&&(n.retryTimeout=window.setTimeout(()=>{F(e).retryTimeout=null,W(e,t,!0)},1e4))}async function W(e,t,n=!1){let r=F(e);if(!n&&D(e)){r.loading&&(r.loading=!1,T(e));return}return r.inFlight||(r.loading=!0,T(e),r.inFlight=(async()=>{try{var n;let a=await fetch((0,P.S)("/api/agents",t),{cache:"no-store"});if(!a.ok)throw Error(`Failed to fetch agents: ${a.status}`);let l=(n=await a.json(),Array.isArray(n)?n:n&&"object"==typeof n&&"agents"in n&&Array.isArray(n.agents)?n.agents:[]);l.length>0?(r.agents=l,r.lastFetchedAt=Date.now(),null!==r.retryTimeout&&(window.clearTimeout(r.retryTimeout),r.retryTimeout=null)):R(e,t)}catch{R(e,t)}finally{r.loading=!1,r.inFlight=null,T(e)}})()),r.inFlight}var H=n(46012),G=n(862),V=n(97882),z=n(39702),Z=n(86181),J=n(72410),Q=n(85905),X=n(84527),K=n(15115);function Y(e){return e.map(e=>(0,O.C0)(e)).filter(e=>null!==e)}var ee=n(67506),et=n(76050),en=n(51164),er=n(88272);let ea="claude-code",el="conductor-board-dispatcher-panel-width";function es(e){let t=e?.trim();return t&&t.length>0?t:null}function ei(e,t){return Math.min(Math.min(720,Math.max(320,Math.floor(.55*(Number.isFinite(t)&&t>0?t:720)))),Math.max(320,Math.round(e)))}let eo=(0,a.default)(()=>Promise.all([n.e(4997),n.e(9505)]).then(n.bind(n,4997)).then(e=>e.SessionDetail),{loadableGenerated:{webpack:()=>[4997]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),ed=(0,a.default)(()=>Promise.all([n.e(9450),n.e(9167)]).then(n.bind(n,29450)).then(e=>e.WorkspaceSidebarPanel),{loadableGenerated:{webpack:()=>[29450]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace panel..."})}),ec=(0,a.default)(()=>n.e(6173).then(n.bind(n,66173)).then(e=>e.WorkspaceOverview),{loadableGenerated:{webpack:()=>[66173]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace..."})}),ep=(0,a.default)(()=>n.e(9739).then(n.bind(n,79739)).then(e=>e.WorkspaceKanban),{loadableGenerated:{webpack:()=>[79739]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})}),eu=(0,a.default)(()=>Promise.all([n.e(9526),n.e(2651),n.e(6183),n.e(8607)]).then(n.bind(n,44838)).then(e=>e.ProjectDispatcherPanel),{loadableGenerated:{webpack:()=>[44838]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),ex=(0,a.default)(()=>Promise.all([n.e(3470),n.e(524),n.e(474)]).then(n.bind(n,90474)).then(e=>e.NewWorkspaceDialog),{loadableGenerated:{webpack:()=>[90474]},loading:()=>null}),em=(0,a.default)(()=>Promise.all([n.e(3470),n.e(524),n.e(474)]).then(n.bind(n,90474)).then(e=>e.SettingsDialog),{loadableGenerated:{webpack:()=>[90474]},loading:()=>null});function eh(e){let t=(0,E.h7)(e);return t?.label?t.label:e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function eg(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function ef(e){let[t]=e.split(" - ");return(t??e).trim()}function ev(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function eb(e,t){let n=ev(e),r=ev(n.notifications),a=r.soundFile,l="string"==typeof n.codingAgent&&n.codingAgent.trim().length>0?n.codingAgent.trim():t,s=(0,E.a6)(l,t),i="string"==typeof n.ide&&n.ide.trim().length>0?n.ide.trim():"vscode",o="string"==typeof n.markdownEditor&&n.markdownEditor.trim().length>0?n.markdownEditor.trim():"obsidian",d="string"==typeof n.markdownEditorPath?n.markdownEditorPath.trim():"";return{onboardingAcknowledged:!0===n.onboardingAcknowledged,codingAgent:s,ide:i,markdownEditor:o,markdownEditorPath:d,modelAccess:(0,en.v)(n.modelAccess),notifications:{soundEnabled:!1!==r.soundEnabled,soundFile:null===a?null:"string"==typeof a&&a.trim().length>0?a.trim():"abstract-sound-4"}}}function ew({requiresPairedDeviceScope:e=!1}){let t=(0,l.useRouter)(),n=(0,l.usePathname)(),a=(0,l.useSearchParams)(),i=(0,s.useMemo)(()=>es(a.get("project")),[a]),o=(0,s.useMemo)(()=>es(a.get("session")),[a]),d=(0,s.useMemo)(()=>"board"===a.get("view")?"board":"direct",[a]),c=(0,s.useMemo)(()=>es(a.get("bridge")),[a]),[p,u]=(0,s.useState)(c??""),h=(0,O.C0)(p),g=(0,s.useMemo)(()=>(0,O.DW)(o)?.bridgeId??null,[o]),w=c??g,j=h??g,[k,y]=(0,s.useState)([]),[N,C]=(0,s.useState)("loading"),A=(0,ee.y)(),S=(0,s.useMemo)(()=>k.filter(e=>e.connected),[k]),B=(0,s.useMemo)(()=>S.map(e=>e.bridgeId),[S]),q=(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!1;let a=(0,O.C0)(t);return!!a&&("loading"===r||"ready"===r&&!Y(n).includes(a))})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:B,bridgeInventoryStatus:N}),[N,B,j,e]);(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!0;let a=(0,O.C0)(t);return!!a&&"ready"===r&&Y(n).includes(a)})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:B,bridgeInventoryStatus:N}),[N,B,j,e]);let T=(0,s.useMemo)(()=>!e||!!j,[j,e]),{projects:R,loading:J,error:Q,refresh:eg}=(0,L.U)(j,{enabled:T}),{agents:ef}=function(e,t){let n=t?.enabled??!0,r=(0,O.C0)(e)??"local",[a,l]=(0,s.useState)({agents:[],loading:n});return(0,s.useEffect)(()=>{if(!n)return void l({agents:[],loading:!1});let t=()=>{let e;return l({agents:(e=F(r)).agents,loading:e.loading})};_(r).add(t),t(),W(r,e);let a=()=>{D(r)||W(r,e,!0)},s=()=>{"visible"!==document.visibilityState||D(r)||W(r,e,!0)};return window.addEventListener("focus",a),document.addEventListener("visibilitychange",s),()=>{_(r).delete(t),window.removeEventListener("focus",a),document.removeEventListener("visibilitychange",s)}},[e,n,r]),n?a:{agents:[],loading:!1}}(j,{enabled:T}),{mobileSidebarOpen:ev,desktopSidebarOpen:ek,toggleSidebar:ey,closeSidebarOnMobile:eN,syncSidebarForViewport:eC}=(0,H.T)({initialDesktopOpen:!1}),eA=ev||ek,eS=!o||eA,{sessions:eI,loading:eE,error:eM,refresh:e$}=(0,$.t)(i,{enabled:eS&&T,bridgeId:j}),[eL,eU]=(0,s.useState)(""),[eP,eO]=(0,s.useState)(""),[eB,eq]=(0,s.useState)((0,er.Z3)()),[eF,e_]=(0,s.useState)(!1),[eT,eD]=(0,s.useState)(null),[eR,eW]=(0,s.useState)(null),[eH,eG]=(0,s.useState)(!1),[eV,ez]=(0,s.useState)(!1),[eZ,eJ]=(0,s.useState)(null),[eQ,eX]=(0,s.useState)(null),[eK,eY]=(0,s.useState)(!0),[e0,e1]=(0,s.useState)(!1),[e4,e3]=(0,s.useState)(null),[e2,e5]=(0,s.useState)(!1),[e6,e9]=(0,s.useState)(!1),[e7,e8]=(0,s.useState)(()=>o?[o]:[]),[te,tt]=(0,s.useState)(!1),[tn,tr]=(0,s.useState)(!1),[ta,tl]=(0,s.useState)(()=>o?"chat":"board"),[ts,ti]=(0,s.useState)(!1),[to,td]=(0,s.useState)(405),[tc,tp]=(0,s.useState)(!1),tu=(0,s.useRef)(null),tx=(0,s.useRef)(i);(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(pointer: coarse)"):null,t=()=>{tt((0,Z.k$)())};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(min-width: 1280px)"):null,t=()=>{tr(e?.matches??window.innerWidth>=1280)};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{if("board"!==d||null===i){tx.current=i,tl("board");return}let e=tx.current!==i;(tx.current=i,o)?tl("chat"):e&&tl("board")},[i,o,d]),(0,s.useEffect)(()=>{try{let e=window.localStorage.getItem(el),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&td(ei(t,window.innerWidth))}catch{}let e=()=>{td(e=>ei(e,window.innerWidth))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),(0,s.useEffect)(()=>{if(!tc)return;let e=e=>{let t=window.innerWidth;td(ei(t-e.clientX,t))},t=()=>{tp(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(el,String(to))}catch{}}},[tc,to]),(0,s.useEffect)(()=>{if(!A){y([]),C("ready"),e&&t.replace("/bridge/connect");return}let n=!1,r=window.innerWidth<768,a=q?r?8e3:4e3:r?3e4:15e3;async function l(){try{let e=await fetch("/api/bridge/devices",{cache:"no-store"});if(!e.ok)throw Error(`Failed to fetch bridges: ${e.status}`);let t=await e.json().catch(()=>null);n||(y((0,K.oH)(t?.devices).map(e=>({bridgeId:e.device_id,hostname:e.last_status?.hostname??e.hostname,os:`${e.last_status?.os??`${e.os}/${e.arch}`}${(0,K.wj)(e.last_status?.version)}`,capabilities:[],connected:e.connected,status:e.connected?"connected":"offline",connectedAt:"",lastSeenAt:""}))),C("ready"))}catch{n||(y([]),C("error"))}}l();let s=window.setInterval(()=>{l()},a);return()=>{n=!0,window.clearInterval(s)}},[A,q,e,t]),(0,s.useEffect)(()=>{let t=function({requiresPairedDeviceScope:e,requestedBridgeId:t,selectedBridgeId:n,connectedBridgeIds:r}){let a=(0,O.C0)(t),l=(0,O.C0)(n),s=Y(r);return e?a||(0===s.length?"":l&&s.includes(l)?l:s[0]??""):l&&s.includes(l)?l:""}({requiresPairedDeviceScope:e,requestedBridgeId:w,selectedBridgeId:p,connectedBridgeIds:B});t!==p&&u(t)},[B,w,e,p]),(0,s.useEffect)(()=>{!e||j||"ready"!==N||S.length>0||t.replace("/bridge/connect")},[N,S.length,j,e,t]),(0,s.useEffect)(()=>{u(c??"")},[c]);let tm=(0,s.useMemo)(()=>new Map(eI.map(e=>[e.id,e])),[eI]),{session:th,loading:tg,error:tf}=(0,M.w)(o,null,{enabled:!!o&&T,bridgeId:j}),tv=eT??Q??eM??tf??e4,tb=(0,s.useMemo)(()=>{let e=new Map;for(let t of eI){let n=e.get(t.projectId);n?n.push(t):e.set(t.projectId,[t])}return e},[eI]),tw=(0,s.useCallback)((e,r="push")=>{let l=new URLSearchParams(a.toString()),s=(e,t)=>{let n="string"==typeof t?t.trim():"";n.length>0?l.set(e,n):l.delete(e)};"projectId"in e&&s("project",e.projectId),"sessionId"in e&&s("session",e.sessionId),"workspaceView"in e&&("board"===e.workspaceView?l.set("view","board"):l.delete("view")),"tab"in e&&(e.tab&&"dispatcher"!==e.tab?l.set("tab",e.tab):l.delete("tab")),"bridgeId"in e&&s("bridge",e.bridgeId),l.has("project")||l.delete("view"),l.has("session")||l.delete("tab");let i=l.toString(),o=i.length>0?`${n}?${i}`:n;"replace"===r?t.replace(o,{scroll:!1}):t.push(o,{scroll:!1})},[n,t,a]);(0,s.useEffect)(()=>{let e=(0,O.C0)(p);(c??null)!==e&&tw({bridgeId:e},"replace")},[c,tw,p]),(0,s.useEffect)(()=>{if(!J&&!Q){if(0===R.length){null!==i&&tw({projectId:null,workspaceView:null},"replace");return}null===i||R.some(e=>e.id===i)||tw({projectId:o?null:R[0]?.id??null,workspaceView:o?null:d},"replace")}},[Q,J,tw,R,i,o,d]),(0,s.useEffect)(()=>{if(o){if(eS){if(eE||eM)return;eI.some(e=>e.id===o)||tw({sessionId:null,tab:null},"replace");return}!tg&&(th||tw({sessionId:null,tab:null},"replace"))}},[eI,tw,eS,o,tg,th,eM,eE]),(0,s.useEffect)(()=>{o?e8(e=>[o,...e.filter(e=>e!==o)].slice(0,1)):e8([])},[o]),(0,s.useEffect)(()=>{o&&tu.current&&tu.current!==o&&(tu.current=null)},[o]),(0,s.useEffect)(()=>{o&&eS&&!eE&&!eM&&e8(e=>e.filter(e=>e===o||tm.has(e)))},[eS,o,tm,eM,eE]);let tj=(0,s.useMemo)(()=>th,[th]),tk=(0,s.useMemo)(()=>R.find(e=>e.id===i)??null,[R,i]),ty=(0,s.useMemo)(()=>i?tb.get(i)??[]:[],[i,tb]),tN=(0,s.useMemo)(()=>tj??(o?tm.get(o)??null:null),[tj,o,tm]),tC=(0,s.useMemo)(()=>{let e=a.get("tab");return"overview"!==e&&"preview"!==e&&"diff"!==e&&"dispatcher"!==e&&"terminal"===(0,et.tK)(tN)},[tN,a]),tA=!!o&&tC&&te,tS=(0,s.useMemo)(()=>tj?[tj.projectId,tj.branch].filter(Boolean).join(" \xb7 "):tk?[tk.id,tk.defaultBranch||"main"].filter(Boolean).join(" \xb7 "):"All Projects",[tk,tj]),tI=(0,s.useMemo)(()=>j?k.find(e=>e.bridgeId===j)??null:null,[k,j]),tE=tI?`Device \xb7 ${tI.hostname}`:q?"Device \xb7 Reconnecting":e?"Scope \xb7 Paired device required":"Scope \xb7 Local backend",tM=tI?`Showing projects and sessions from ${tI.hostname}.`:q?"Waiting for the selected laptop to reconnect before loading dashboard data.":e?"Hosted dashboard access must target a connected laptop.":"Showing projects and sessions from the local backend because no paired laptop is selected.",t$=tI?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":q?"border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]":e?"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)]",tL=(0,s.useMemo)(()=>{let e=Array.isArray(ef)?ef:[],t=new Set;for(let e of E.pN)t.add(e.name);for(let n of e)n.name&&t.add(n.name);for(let e of R)e.agent&&t.add(e.agent);eQ?.codingAgent&&t.add(eQ.codingAgent),eP&&t.add(eP),0===t.size&&t.add(eQ?.codingAgent||ea);let n=(0,E.Ge)(t);return 0===n.length&&n.push((0,E.a6)(eQ?.codingAgent||ea,ea)),n},[ef,eQ?.codingAgent,R,eP]),tU=(0,s.useMemo)(()=>{let e={};for(let t of E.pN)e[(0,I.q)(t.name)]={name:t.name,ready:!1,installed:!1,configured:!1,homepage:t.homepage,description:t.description,installHint:t.installHint??null,installUrl:t.installUrl??t.homepage??null,setupUrl:t.setupUrl??t.homepage??null};for(let t of Array.isArray(ef)?ef:[]){if(!t.name)continue;let n=(0,I.q)(t.name),r=(0,E.h7)(t.name);e[(0,I.q)(t.name)]={name:r?.name??t.name,ready:!0===t.ready,installed:!1!==t.installed,configured:!0===t.configured,homepage:"string"==typeof t.homepage?t.homepage:r?.homepage??e[n]?.homepage??null,description:"string"==typeof t.description?t.description:r?.description??e[n]?.description??null,installHint:"string"==typeof t.installHint?t.installHint:r?.installHint??e[n]?.installHint??null,installUrl:"string"==typeof t.installUrl?t.installUrl:r?.installUrl??e[n]?.installUrl??null,setupUrl:"string"==typeof t.setupUrl?t.setupUrl:r?.setupUrl??e[n]?.setupUrl??null}}return e},[ef]),tP=(0,s.useMemo)(()=>{let e={};for(let t of Array.isArray(ef)?ef:[])t.name&&t.runtimeModelCatalog&&(e[(0,I.q)(t.name)]=t.runtimeModelCatalog);return e},[ef]),tO=(0,s.useCallback)(e=>{let t=tU[(0,I.q)(e)],n=(0,E.h7)(e),r=t?.installed?t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage:t?.installUrl??n?.installUrl??t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage;r&&window.open(r,"_blank","noopener,noreferrer")},[tU]);async function tB(t,n){e1(!0),e3(null);try{if(e&&!j)throw Error("Pair or reconnect a laptop before saving preferences.");let r=await fetch((0,P.S)("/api/preferences",j),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??a?.reason??`Failed to save preferences: ${r.status}`);let l=eb(a?.preferences,t.codingAgent||ea);return eX(l),eO(l.codingAgent),n?.closeDialog!==!1&&e5(!1),!0}catch(e){return e3(e instanceof Error?e.message:"Failed to save preferences"),!1}finally{e1(!1)}}(0,s.useEffect)(()=>{let e=!1;return async function(){if(!T){e||(eX(null),e3(null),eY(!1));return}eY(!0);try{let t=await fetch((0,P.S)("/api/preferences",j)),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error??n?.reason??`Failed to load preferences: ${t.status}`);if(e)return;let r=eb(n?.preferences,ea);eX(r),e3(null)}catch(t){if(e)return;eX(eb(null,ea)),e3(t instanceof Error?t.message:"Failed to load preferences")}finally{e||eY(!1)}}(),()=>{e=!0}},[j,T]),(0,s.useEffect)(()=>{eQ&&(eP||eO(eQ.codingAgent))},[eQ,eP]),(0,s.useEffect)(()=>{if(!eK){if(!eQ||e&&!j)return void e5(!1);eQ.onboardingAcknowledged||e5(!0)}},[j,eQ,eK,e]),(0,s.useEffect)(()=>{if(0!==tL.length&&(!eP||!tL.includes(eP))){let e=eQ?.codingAgent||ea;eO(tL.includes(e)?e:tL[0]??ea)}},[tL,eQ?.codingAgent,eP]),(0,s.useEffect)(()=>{let e=(0,E.a6)(eP||tk?.agent||eQ?.codingAgent||ea,ea),t=tk&&(0,I.q)(tk.agent)===(0,I.q)(e)?tk.agentModel:null,n=tk&&(0,I.q)(tk.agent)===(0,I.q)(e)?tk.agentReasoningEffort:null;eq((0,er.c0)(e,eQ?.modelAccess??(0,en.v)(null),tP,t,n))},[eQ?.modelAccess,eQ?.codingAgent,tP,eP,tk]);let tq=(0,s.useCallback)(()=>{e&&!j?eW("Pair or reconnect a laptop before adding a workspace."):(eW(null),eJ(null),eD(null),eG(!0),eC())},[j,e,eC]);(0,s.useEffect)(()=>{e6&&!e2&&(e9(!1),tq())},[e6,e2]),(0,s.useEffect)(()=>{(!e||j)&&eW(null)},[j,e]);let tF=(0,s.useCallback)(async t=>{let n=eL.trim(),r=(0,er.xb)(eB),a=(0,er.aB)(eB),l=t?.bridgeId??j??null;if(e&&!l)return eD("Pair or reconnect a laptop before launching an agent session."),!1;let s=t?.projectId??i??R[0]?.id;if(!s)return eD("No project is configured in conductor.yaml"),!1;let o=(0,E.a6)(eP||ea,ea),d=tU[(0,I.q)(o)]??null;if(d&&!d.ready)return eD(d.installed?`${eh(o)} is not ready yet. Finish setup or authentication and try again.`:`${eh(o)} is not installed on this machine yet. Open setup and try again.`),tO(o),!1;e_(!0),eD(null);try{let e=await fetch((0,P.S)("/api/sessions",l),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:s,prompt:n,...t?.issueId?.trim()?{issueId:t.issueId.trim()}:{},agent:o,...t?.branch?{branch:t.branch}:{},...t?.baseBranch?{baseBranch:t.baseBranch}:{},..."boolean"==typeof t?.useWorktree?{useWorktree:t.useWorktree}:{},...t?.permissionMode?{permissionMode:t.permissionMode}:{},...r?{model:r}:{},...a?{reasoningEffort:a}:{},...t?.attachments&&t.attachments.length>0?{attachments:t.attachments}:{}})}),i=await e.json().catch(()=>null);if(!e.ok)throw Error(i?.error??`Failed to create workspace: ${e.status}`);if(!i?.session?.id)throw Error("Session created but response is missing session id");return eU(""),eC(),tu.current=i.session.id,await e$(),tw({projectId:s,sessionId:i.session.id,tab:null,bridgeId:l},"push"),!0}catch(e){return eD(e instanceof Error?e.message:"Failed to create workspace"),!1}finally{e_(!1)}},[tU,eB,tw,tO,R,eL,e$,eP,j,i,e,eC]),t_=(0,s.useCallback)(async e=>{(await (0,X.J)(e,{bridgeId:j}),o===e)?tw({projectId:null,sessionId:null,workspaceView:null,tab:null},"replace"):j&&e$()},[j,tw,e$,o]),tT=(0,s.useCallback)(async t=>{if(e&&!j)return void eJ("Pair or reconnect a laptop before adding a workspace.");ez(!0),eJ(null);try{let e=await fetch((0,P.S)("/api/workspaces",j),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await e.json().catch(()=>null);if(!e.ok)throw Error(n?.error??`Failed to add workspace: ${e.status}`);let r=n?.project?.id;if(!r)throw Error("Workspace created but response is missing project id");await eg(),eU(""),eC(),eG(!1),tw({projectId:r,sessionId:null,workspaceView:"direct",tab:null,bridgeId:j??null},"push")}catch(e){eJ(e instanceof Error?e.message:"Failed to add workspace")}finally{ez(!1)}},[j,tw,eg,e,eC]),tD=!eK&&!!eQ&&(!e||!!j)&&!eQ.onboardingAcknowledged,tR=eQ??eb(null,eP||ea),tW=(0,E.a6)(eP||tR.codingAgent||ea,ea),tH=i??th?.projectId??null;(0,U.Q)({enabled:!eK,projectId:tH,preferences:tR.notifications,bridgeId:j});let tG=(0,s.useCallback)(e=>{tw({projectId:e,sessionId:null,workspaceView:e?d:null,tab:null},"push"),eO((0,E.a6)(eQ?.codingAgent||ea,ea)),tl("board"),eN()},[eN,tw,eQ?.codingAgent,d]),tV=(0,s.useCallback)((e,t)=>{var n,r;let a,l=tm.get(e)??null;tw((n=i??null,r=t?.tab,a={projectId:l?.projectId??n??null,sessionId:e,tab:r??(0,et.tK)(l)},"board"===d?{...a,workspaceView:"direct"}:a),"push"),eN()},[eN,tw,i,tm,d]),tz=(0,s.useCallback)(()=>{e&&!j?t.push("/bridge/connect"):e5(!0)},[j,e,t]),tZ=(0,s.useCallback)(()=>{eV||eG(!1)},[eV]),tJ=(0,s.useCallback)(()=>{e0||tD||(e5(!1),e3(null))},[tD,e0]),tQ=(0,s.useCallback)(()=>{ti(e=>!e)},[]),tX=(0,s.useCallback)(async e=>{let t=encodeURIComponent(e),n=await fetch((0,P.S)(`/api/repositories/${t}`,j),{method:"DELETE"});(404===n.status||405===n.status)&&(n=await fetch((0,P.S)(`/api/repositories?id=${t}`,j),{method:"DELETE"}));let r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error??`Failed to unlink project (${n.status})`);await eg()},[j,eg]),tK=(0,s.useMemo)(()=>eA?(0,r.jsx)(ed,{projects:R,selectedProjectId:i,onSelectProject:tG,onUnlinkProject:tX,sessions:eI,selectedSessionId:o,onSelectSession:tV,onArchiveSession:t_,onCreateWorkspace:tq}):null,[eI,t_,tG,tV,tX,tq,R,i,o,eA]),tY=(0,s.useMemo)(()=>{let t=tk?(0,r.jsxs)("div",{className:"hidden w-fit rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px xl:inline-flex",children:[(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"direct"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"direct"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"board"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"board"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"})]}):null;return"board"===d?(0,r.jsx)(ep,{projectId:i,bridgeId:j,defaultAgent:tW,agentOptions:tL,projectSessions:ty,projectLabel:tk?.id??i,headerAccessory:t,onOpenSession:tV}):(0,r.jsx)(ej,{prompt:eL,setPrompt:eU,selectedAgent:tW,setSelectedAgent:eO,agentStates:tU,modelSelection:eB,setModelSelection:eq,modelAccess:tR.modelAccess,runtimeModelCatalogs:tP,agentOptions:tL,projects:R,bridges:k,selectedBridgeId:p,setSelectedBridgeId:u,requiresPairedDeviceScope:e,selectedProjectId:i,onSelectProject:tG,projectLabel:i??"All projects",hasProject:R.length>0,creating:eF,error:tv,onOpenAddWorkspace:tq,onOpenAgentSetup:tO,onCreate:tF})},[tL,tU,k,eF,tF,eB,tO,tq,R,ty,tk,o,tV,eL,tW,tR.modelAccess,e,tP,p,i,eU,tv,d,tw]),t0=(0,s.useMemo)(()=>{if(!tk)return tY;let e=({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"direct"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"direct"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"board"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"board"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"})]});if("board"===d){let t={"--dispatcher-panel-width":`${to}px`},n=!tn,a=!n||"board"===ta,l=!n||"chat"===ta,s=n&&null===o,i=tn&&ts&&null===o,c=null!==o||!ts;return(0,r.jsxs)("div",{style:t,className:"relative flex h-full min-h-0 flex-1 flex-col overflow-hidden",children:[n?(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[e({fullWidth:!0,compact:!0}),s?(({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsxs)("button",{type:"button",onClick:()=>{tl("board"),tw({projectId:tk.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"board"===ta,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"board"===ta?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(x.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Board"})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>{tl("chat"),tw({projectId:tk.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"chat"===ta,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"chat"===ta?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(m.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Dispatcher"})]})]}))({fullWidth:!0,compact:!0}):null]})}):null,(0,r.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden xl:flex-row",children:[(0,r.jsx)("div",{className:`${a?"block":"hidden"} min-h-0 min-w-0 flex-1 overflow-hidden xl:block`,children:tY}),c?(0,r.jsx)("div",{className:"absolute bottom-0 right-[var(--dispatcher-panel-width)] top-0 z-20 hidden w-2 translate-x-1/2 cursor-col-resize xl:block",onMouseDown:e=>{e.preventDefault(),tp(!0)},"aria-hidden":"true",children:(0,r.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,(0,r.jsxs)("div",{className:`${l?"flex":"hidden xl:flex"} ${i?"flex-1 min-h-0 xl:h-auto xl:max-h-none xl:w-[56px] xl:flex-none xl:min-h-0":"flex-1 min-h-[min(360px,50dvh)] xl:w-[var(--dispatcher-panel-width)] xl:flex-none xl:min-h-0"} flex-col overflow-hidden border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] xl:border-l xl:border-t-0`,children:[n&&l&&null!==o?(0,r.jsx)("div",{className:"flex items-center border-b border-[var(--vk-border)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("button",{type:"button",onClick:()=>tl("board"),className:"inline-flex items-center gap-1.5 rounded-[4px] px-2 py-1 text-[12px] font-medium text-[var(--vk-text-muted)] transition-colors hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-strong)]",children:[(0,r.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:"Back to board"})]})}):null,o?tN?(0,r.jsx)(eo,{sessionId:o,initialSession:tN,bridgeId:j,active:!0,suppressPreviewAutoOpen:tu.current===o,immersiveMobileMode:tA},o):(0,r.jsx)("div",{className:"flex h-full items-center justify-center bg-[var(--vk-bg-panel)] text-[13px] text-[var(--vk-text-muted)]",children:"Loading session workspace..."}):(0,r.jsx)(eu,{projectId:tk.id,bridgeId:j,defaultAgent:tW,modelAccess:tR.modelAccess,runtimeModelCatalogs:tP,collapsed:i,onToggleCollapsed:tQ})]})]})]})}return(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,r.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[tk.id," \xb7 ",tk.defaultBranch||"main"]})]}),(0,r.jsx)("div",{className:"hidden xl:inline-flex",children:e()}),(0,r.jsx)("div",{className:"xl:hidden",children:e({fullWidth:!0,compact:!0})})]})}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:tY})]})},[ta,ts,to,tN,j,tQ,tw,tW,tk,ty,o,tn,tY,d]),t1=(0,s.useMemo)(()=>q?(0,r.jsx)("div",{className:"flex h-full min-h-0 flex-1 items-center justify-center bg-[var(--vk-bg-main)] px-4",children:(0,r.jsxs)("div",{className:"w-full max-w-md rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-5 py-5 text-center shadow-[0_18px_50px_rgba(0,0,0,0.18)]",children:[(0,r.jsx)("div",{className:"mx-auto flex h-11 w-11 items-center justify-center rounded-full border border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]",children:(0,r.jsx)(v.A,{className:"h-5 w-5 animate-spin"})}),(0,r.jsx)("h2",{className:"mt-4 text-[18px] font-medium text-[var(--vk-text-strong)]",children:"Reconnecting paired laptop"}),(0,r.jsx)("p",{className:"mt-2 text-[14px] leading-6 text-[var(--vk-text-muted)]",children:"Waiting for the selected laptop to report online before loading its projects and sessions."})]})}):o&&("board"!==d||null===i)?(0,r.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:e7.map(e=>{let t=e===o,n=t?tj:tm.get(e)??null;return(0,r.jsx)("div",{"aria-hidden":!t,className:t?"relative h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden invisible",children:(0,r.jsx)(eo,{sessionId:e,initialSession:n,bridgeId:j,active:t,suppressPreviewAutoOpen:t&&tu.current===e,immersiveMobileMode:t&&tA,onOpenSidebar:ey})},e)})}):null!==i?(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:t0}):(0,r.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 overflow-hidden",children:(0,r.jsx)(ec,{projects:R,sessions:eI,onCreateWorkspace:tq,onSelectSession:tV})}),[eI,e7,t0,tj,o,tV,tq,R,i,tm,q,ey,d]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(G.G,{mobileSidebarOpen:ev,desktopSidebarOpen:ek,onToggleSidebar:ey,hideMobileSidebarToggle:tA,sidebar:tK,children:[tA?null:(0,r.jsx)(V.V,{title:tS,onOpenPreferences:tz,rightContent:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${t$}`,title:tM,children:tE}),(0,r.jsx)(z.J,{})]})}),(0,r.jsxs)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${tA?"bg-[#060404]":""}`,children:[eR?(0,r.jsx)("div",{className:"border-b border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,var(--vk-bg-panel))] px-3 py-2 text-[13px] text-[var(--vk-red)] sm:px-4",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("p",{className:"min-w-0 flex-1",children:eR}),(0,r.jsx)("button",{type:"button",onClick:()=>eW(null),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-[4px] text-[var(--vk-red)]/80 hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)]","aria-label":"Dismiss workspace action error",children:(0,r.jsx)(b.A,{className:"h-4 w-4"})})]})}):null,t1]})]}),eH?(0,r.jsx)(ex,{open:eH,onClose:tZ,onCreate:tT,creating:eV,error:eZ,defaultAgent:tW,agentOptions:tL,modelAccess:tR.modelAccess,runtimeModelCatalogs:tP,bridgeId:j}):null,e2||tD?(0,r.jsx)(em,{open:e2,mode:tD?"onboarding":"settings",creating:e0,error:e4,current:tR,projectCount:R.length,agentOptions:tL,agentStates:tU,runtimeModelCatalogs:tP,onRepositoriesChanged:eg,onOnboardingComplete:({needsProject:e})=>{e&&e9(!0)},onOpenAgentSetup:tO,onClose:tJ,onSave:tB,bridgeId:j}):null]})}c.A,p.A,u.A,x.A,m.A,h.A,g.A,g.A,p.A,[{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"antigravity",label:"Antigravity"},{id:"custom",label:"Custom"}].filter(e=>"custom"!==e.id),c.A,o.mWn,d.$$9,o.i4$,c.A;let ej=(0,s.memo)(function({prompt:e,setPrompt:t,selectedAgent:n,setSelectedAgent:a,agentStates:l,modelSelection:o,setModelSelection:d,modelAccess:c,runtimeModelCatalogs:p,agentOptions:u,projects:x,bridges:m,selectedBridgeId:f,setSelectedBridgeId:M,requiresPairedDeviceScope:$,selectedProjectId:L,onSelectProject:U,projectLabel:O,hasProject:B,creating:q,error:F,onOpenAddWorkspace:_,onOpenAgentSetup:T,onCreate:D}){let R=(0,s.useMemo)(()=>{let e=new Map(E.BO.map((e,t)=>[e,t]));return[...u].sort((t,n)=>{let r=e.get((0,I.q)(t))??Number.MAX_SAFE_INTEGER,a=e.get((0,I.q)(n))??Number.MAX_SAFE_INTEGER;return r!==a?r-a:eh(t).localeCompare(eh(n))})},[u]),W=eh(n),H=l[(0,I.q)(n)]??null,G=(0,s.useMemo)(()=>[...x].sort((e,t)=>e.id.localeCompare(t.id)),[x]),V=L??G[0]?.id??null,z=(0,s.useMemo)(()=>G.find(e=>e.id===V)??null,[V,G]),Z=(0,s.useMemo)(()=>m.filter(e=>e.connected),[m]),X=(0,s.useMemo)(()=>!f||Z.some(e=>e.bridgeId===f),[Z,f]),[K,Y]=(0,s.useState)([]),[ee,et]=(0,s.useState)(!1),[en,ea]=(0,s.useState)(""),[el,es]=(0,s.useState)(""),[ei,eo]=(0,s.useState)([]),[ed,ec]=(0,s.useState)(!1),[ep,eu]=(0,s.useState)(!1),[ex,em]=(0,s.useState)(!1),[ev,eb]=(0,s.useState)(!1),[ew,ej]=(0,s.useState)("default"),[ek,ey]=(0,s.useState)([]),[eN,eC]=(0,s.useState)(!1),[eA,eS]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!z){Y([]),ea(""),et(!1);return}Y([]),ea(z.defaultBranch.trim()||"main"),et(!1)},[z]),(0,s.useEffect)(()=>{if(!V){eo([]),es(""),ec(!1);return}eo([]),es(""),ec(!1)},[V]);let eI=(0,s.useCallback)(async()=>{if(!z)return;let e=z.defaultBranch.trim()||"main";if(!z.path?.trim()){Y([e]),ea(t=>t.trim().length>0?t:e);return}et(!0);try{let t=new URLSearchParams({path:z.path}),n=await fetch((0,P.S)(`/api/workspaces/branches?${t.toString()}`,f)),r=await n.json().catch(()=>null),a=Array.isArray(r?.branches)?r.branches.filter(e=>"string"==typeof e&&e.trim().length>0):[],l="string"==typeof r?.defaultBranch&&r.defaultBranch.trim().length>0?r.defaultBranch.trim():e,s=a.length>0?a:[l];Y(s),ea(e=>e.trim().length>0&&s.includes(e)?e:l)}catch{Y([e]),ea(e)}finally{et(!1)}},[f,z]),eE=(0,s.useCallback)(async()=>{if(V){ec(!0);try{let e=await fetch((0,P.S)(`/api/boards?projectId=${encodeURIComponent(V)}`,f)),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load tasks: ${e.status}`);let n=(Array.isArray(t?.columns)?t.columns:[]).flatMap(e=>Array.isArray(e.tasks)?e.tasks:[]),r=new Set,a=n.filter(e=>{let t=eg(e);return!(!t||r.has(t))&&(r.add(t),!0)});eo(a),es(e=>a.some(t=>eg(t)===e)?e:"")}catch{eo([]),es("")}finally{ec(!1)}}},[V,f]);(0,s.useEffect)(()=>{!ex||ee||K.length>0||eI()},[ee,ex,K.length,eI]),(0,s.useEffect)(()=>{!ep||ed||ei.length>0||eE()},[ei.length,eE,ed,ep]);let eM=(0,s.useMemo)(()=>(0,er.Ik)(n,c,p),[c,p,n]),e$=(0,s.useMemo)(()=>ei.find(e=>eg(e)===el)??null,[ei,el]),eL=(0,er.xb)(o)??"",eU=(0,s.useMemo)(()=>{let e=new Set,t=[],r=eL.trim();for(let n of eM)e.has(n.id)||(e.add(n.id),t.push(n));return r&&!e.has(r)&&(e.add(r),t.unshift({id:r,label:function(e,t){let n=t.trim(),r=(0,I.q)(e);if(!n)return n;if("claude-code"===r){let e=n.toLowerCase();if("opus"===e)return"Claude Opus";if("sonnet"===e)return"Claude Sonnet";if("haiku"===e)return"Claude Haiku";let t=e.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(t){let e=t[1];return`Claude ${e[0]?.toUpperCase()+e.slice(1)} ${t[2]}.${t[3]}`}}return n.split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join("-")}(n,r),description:"Current selected model.",access:[]})),t},[eM,n,eL]),eP=(0,s.useMemo)(()=>!H||H.ready||eL?eL?eU.find(e=>e.id===eL)?.label??eL:"Default":"Setup required",[eU,H,eL]),eO=(0,s.useMemo)(()=>(0,er.iL)(n,c,p,eL),[c,p,n,eL]),eB=(0,er.aB)(o)??"",eq=(0,s.useMemo)(()=>{let e=eO.find(e=>e.id===eB);return e?e.label:eB||(eO[0]?.label??"Default")},[eO,eB]),eF="z-50 min-w-[240px] max-w-[calc(100vw-32px)] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] sm:max-w-none",e_=`${eF} max-h-[min(360px,50vh)] overflow-y-auto`,eT="flex min-h-[44px] cursor-default items-center gap-2 rounded-[3px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)] sm:min-h-[36px]",eD=[{id:"default",label:"Default",icon:g.A},{id:"auto",label:"Auto",icon:w.A},{id:"ask",label:"Ask",icon:j.A},{id:"plan",label:"Plan",icon:k.A}],eR=eD.find(e=>e.id===ew)??eD[0],eW="launchpad-attachment-input",eH=q||eN,eG=e=>{let t=e.repo?.trim();if(t){let e=t.split("/").filter(Boolean),n=e[e.length-1]?.replace(/\.git$/i,"");if(n)return n}return e.id},eV=z?eG(z):null,ez=z?`${eV} \xb7 ${en||z.defaultBranch||"main"}`:B?O:"Select project",eZ=e$?.taskRef?.trim()||e$?.issueId?.trim()||e$?.id||"",eJ=e$?ef(e$.text):"Choose a task, bug, or issue from this project's board",eQ=z?.id??V??null,eX=(0,s.useCallback)(e=>{let t=Array.from(e.currentTarget.files??[]);if(e.currentTarget.value="",!t.length)return;let n=new Set(ek.map(e=>`${e.name}:${e.size}:${e.lastModified}`)),r=t.filter(e=>!n.has(`${e.name}:${e.size}:${e.lastModified}`));r.length>0&&ey(e=>[...e,...r]),eS(null)},[ek]),eK=(0,s.useCallback)(e=>{ey(t=>t.filter((t,n)=>n!==e))},[]),eY=(0,s.useCallback)(async()=>{let e;if(eS(null),!eQ||!z)return D({projectId:eQ??void 0,...ev?{baseBranch:en||z?.defaultBranch||void 0}:{branch:en||z?.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:ev,permissionMode:ew});eC(!0),eS(null);try{ek.length>0&&(e=await (0,Q.P)({files:ek,projectId:z.id,taskRef:el.trim()||void 0,bridgeId:f||void 0}))}catch(e){return eS(e instanceof Error?e.message:"Failed to upload attachment"),!1}finally{eC(!1)}let t=await D({projectId:eQ??void 0,...ev?{baseBranch:en||z.defaultBranch||void 0}:{branch:en||z.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:ev,permissionMode:ew,...e&&e.length>0?{attachments:e}:{}});return t&&(ey([]),eS(null)),t},[el,eQ,D,ew,en,z,z?.defaultBranch,f,ek,ev]);return(0,s.useEffect)(()=>{ey([]),eS(null)},[eQ]),(0,r.jsx)("section",{className:"flex h-full min-h-0 items-start justify-center overflow-auto bg-[var(--vk-bg-main)] px-3 py-4 sm:items-center sm:px-6 sm:py-6",children:(0,r.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,r.jsx)("h1",{className:"pb-4 text-center text-[30px] font-medium leading-[34px] tracking-[-0.7px] text-[var(--vk-text-strong)] sm:text-[36px] sm:leading-[40px] sm:tracking-[-0.9px]",children:"What would you like to work on?"}),f?null:(0,r.jsxs)("div",{className:"mb-4 flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"mt-0.5 h-[14px] w-[14px] shrink-0"}),(0,r.jsx)("span",{children:$?"Pair or reconnect a laptop to browse workspaces and launch coding agents from the web dashboard.":"Showing projects and sessions from the local backend. Pair a laptop and select it here to browse that device instead."})]}),(0,r.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2 sm:flex-row sm:items-center",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:flex-1",children:[(0,r.jsx)(J.N,{seed:{label:n},className:"h-[25px] w-[25px] shrink-0 border-none bg-transparent"}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[31px] min-w-0 max-w-full items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] sm:max-w-[280px]","aria-label":"Select agent",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate pr-1 text-left",children:W}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),R.map(e=>{let t=e===n,s=l[(0,I.q)(e)]??null;return(0,r.jsxs)(i.q7,{onSelect:()=>a(e),className:eT,children:[(0,r.jsx)(J.N,{seed:{label:e},className:"h-6 w-6 border-none bg-transparent"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{children:eh(e)}),s?.ready?null:(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:s?.installed?"Setup required":"Not installed"})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e)})]})})]})]}),(0,r.jsxs)(i.bL,{onOpenChange:eu,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",disabled:!V,className:"flex h-[31px] w-full min-w-0 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-left disabled:cursor-not-allowed disabled:opacity-50 sm:w-[240px] sm:shrink-0","aria-label":"Select task",children:[(0,r.jsx)("span",{className:`min-w-0 flex-1 truncate text-[14px] leading-[21px] ${eZ?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}`,children:eZ||"No task"}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"end",side:"bottom",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Tasks"}),(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eJ}),(0,r.jsxs)(i.q7,{onSelect:()=>es(""),className:eT,children:[(0,r.jsx)("span",{children:"No linked task"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),ed?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):ei.length>0?ei.map(e=>{let t=eg(e),n=ef(e.text),a=[e.type,e.priority].filter(Boolean).join(" \xb7 ");return(0,r.jsxs)(i.q7,{onSelect:()=>es(t),className:`${eT} min-w-[320px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:e.taskRef?.trim()||n}),(0,r.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[e.taskRef?.trim()?n:t,a?` \xb7 ${a}`:""]})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el===t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},t)}):(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"No existing tasks were found for this project."})]})})]})]}),(0,r.jsx)("div",{className:"rounded-[3.5px]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,r.jsxs)("div",{className:"relative w-full",children:[(0,r.jsx)("textarea",{value:e,onChange:e=>t(e.target.value),placeholder:"Optional launch prompt. Leave empty to open the native CLI.",rows:1,className:"min-h-[24px] w-full resize-none bg-transparent pr-16 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"}),(0,r.jsxs)("label",{htmlFor:eW,className:`absolute right-[18px] top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] ${eQ?"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-50"}`,children:[(0,r.jsx)("input",{id:eW,type:"file",accept:"*/*",multiple:!0,onChange:eX,disabled:!eQ||eH,className:"hidden"}),(0,r.jsx)(C.A,{className:"h-[14px] w-[14px]"})]}),(0,r.jsx)("button",{type:"button","aria-label":"Preview",className:"absolute right-0 top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(A.A,{className:"h-[14px] w-[14px]"})})]}),ek.length>0?(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ek.map((e,t)=>(0,r.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("span",{className:"max-w-[160px] truncate",title:e.name,children:e.name}),(0,r.jsx)("button",{type:"button","aria-label":`Remove attachment ${e.name}`,onClick:()=>eK(t),className:"inline-flex h-[14px] w-[14px] items-center justify-center rounded-full text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(b.A,{className:"h-3 w-3"})})]},`${e.name}-${e.size}-${e.lastModified}-${t}`))}):null,(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,r.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",className:"inline-flex h-[29px] w-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Select workspace or project",children:(0,r.jsx)(g.A,{className:"h-[15px] w-[15px]"})})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),G.map(e=>{let t=eG(e),n=e.id!==t?e.id:e.path?.trim()||e.repo?.trim()||null;return(0,r.jsxs)(i.q7,{onSelect:()=>U(e.id),className:`${eT} min-w-[280px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:t}),n?(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:n}):null]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:e.id===V?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)}),(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsxs)(i.q7,{onSelect:_,className:eT,children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:"Add Workspace"})]})]})})]}),eO.length>0?(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button","aria-label":"Select reasoning effort",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eq}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Reasoning"}),eO.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>d({...o,reasoningEffort:e.id}),className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eB===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id))]})})]}):null,(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eP}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,r.jsxs)(i.q7,{onSelect:()=>d((0,er.c0)(n,c,p,z?.agentModel,z?.agentReasoningEffort)),className:eT,children:[(0,r.jsx)("span",{children:"Default"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),eU.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>{var t;let r;return t=e.id,r=(0,er.iL)(n,c,p,t),void d({catalogModel:t,customModel:"",reasoningEffort:r.some(e=>e.id===o.reasoningEffort)?o.reasoningEffort:(0,er.YS)(n,c,p,t)})},className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)),0===eU.length?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Models will appear here after the selected agent is installed and its runtime catalog is detected."}):null,H&&!H.ready?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"flex w-full items-center rounded-[3px] px-3 py-2 text-left text-[13px] text-[var(--vk-orange)] transition hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,r.jsx)("span",{children:eR.label}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),eD.map(({id:e,label:t,icon:n})=>(0,r.jsxs)(i.q7,{onSelect:()=>ej(e),className:eT,children:[(0,r.jsx)(n,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:ew===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]}),Z.length>0?(0,r.jsxs)("label",{className:"inline-flex h-[29px] max-w-[260px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px] text-[var(--vk-text-muted)]"}),(0,r.jsxs)("select",{value:f,onChange:e=>M(e.target.value),className:"min-w-0 flex-1 bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none",children:[$?null:(0,r.jsx)("option",{value:"",children:"Local backend"}),Z.map(e=>(0,r.jsxs)("option",{value:e.bridgeId,children:[e.hostname," \xb7 ",e.os]},e.bridgeId))]})]}):(0,r.jsxs)("div",{className:"inline-flex h-[29px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px]"}),(0,r.jsx)("span",{children:f&&!X?"Waiting for selected device":$?"No device connected":"Local backend"})]}),(0,r.jsxs)(i.bL,{onOpenChange:em,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",disabled:!z,className:"inline-flex min-h-[29px] max-w-[320px] items-center justify-center truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:text-[var(--vk-text-strong)] disabled:cursor-not-allowed disabled:opacity-50",children:ez})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),eV?(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eV}):null,ee?(0,r.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):K.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>ea(e),className:eT,children:[(0,r.jsx)("span",{children:e}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:en===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]})]}),(0,r.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,r.jsx)("button",{type:"button",onClick:eY,disabled:eH||!V,className:"inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50",children:eH?(0,r.jsx)(v.A,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),H&&!H.ready?(0,r.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[W," is not ready on this machine."]}),(0,r.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:H.installed?"Finish login or local setup to load models and start streaming sessions.":"Install the CLI first, then its models and authentication state will appear here."})]}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"inline-flex h-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install"})]})}):null,(0,r.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)("input",{type:"checkbox",checked:ev,onChange:e=>eb(e.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,r.jsxs)("span",{children:["Use worktree isolation",(0,r.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"If unchecked, the session runs directly on the selected branch in the local repo."})]})]})]})})]}),F&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:F}),eA&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:eA})]})})})},85905:(e,t,n)=>{"use strict";n.d(t,{P:()=>l});var r=n(31404);function a(e){return e&&"object"==typeof e?e:null}async function l({files:e,projectId:t,taskRef:n,bridgeId:s,preferAbsolute:i=!0}){if(!e.length)return[];let o=t.trim();if(!o)throw Error("Project id is required to upload attachments");let d=new FormData;d.append("projectId",o);let c=n?.trim();for(let t of(c&&d.append("taskRef",c),e))d.append("files",t);let p=await fetch((0,r.S)("/api/attachments",s),{method:"POST",body:d}),u=await p.json().catch(()=>null);if(!p.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(u?.error??`Failed to upload ${t}`)}let x=(Array.isArray(u?.files)?u.files:u?[u]:[]).map(e=>(function(e,t){let n=a(e);if(!n)return null;let r=a(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,i)).filter(e=>!!e);if(0===x.length)throw Error("Attachment upload succeeded but did not return a usable file path");return x}},88272:(e,t,n)=>{"use strict";n.d(t,{c0:()=>x,Z3:()=>s,Ik:()=>d,iL:()=>c,YS:()=>p,ZA:()=>u,xb:()=>m,aB:()=>h});var r=n(76196),a=n(5739);function l(e){return"openclaw"===(0,a.q)(e)}function s(){return{catalogModel:"",customModel:"",reasoningEffort:""}}function i(e,t){return t[(0,a.q)(e)]??null}function o(e){if(!e)return[];let t=[],n=new Set;for(let r of Object.values(e.modelsByAccess))if(Array.isArray(r))for(let e of r)!e?.id||n.has(e.id)||(n.add(e.id),t.push(e));return t}function d(e,t,n){if(l(e))return[];let a=i(e,n),s=(0,r.Tk)(e,t),d=a&&s?a.modelsByAccess[s]??[]:[],c=o(a);if(c.length>0){let e=[],t=new Set;for(let n of[...d,...c])!n?.id||t.has(n.id)||(t.add(n.id),e.push(n));return e}return(0,r.d8)(e,t)}function c(e,t,n,a){if(l(e))return[];let s=i(e,n),o=(0,r.Tk)(e,t);if(s){if(!s)return[];let e=a?.trim();return e&&s.reasoningOptionsByModel?.[e]?.length?s.reasoningOptionsByModel[e]??[]:o?s.reasoningOptionsByAccess?.[o]??[]:[]}return(0,r.u6)(e,t)}function p(e,t,n,a){if(l(e))return"";let s=i(e,n),o=(0,r.Tk)(e,t);return s?function(e,t,n){if(!e)return null;let r=t?.trim();return r&&e.defaultReasoningByModel?.[r]?e.defaultReasoningByModel[r]??null:n?e.defaultReasoningByAccess?.[n]??null:null}(s,a,o)??"":(0,r.DZ)(e,t)??""}function u(e,t){if(l(e))return"";let n=i(e,t),a=n?.customModelPlaceholder.trim();if(a)return a;let s=(0,r.yM)(e)?.label??"agent";return`Enter exact ${s} model id`}function x(e,t,n,a,u){if(l(e))return s();let x=a?.trim()??"",m=u?.trim().toLowerCase()??"",h=i(e,n),g=d(e,t,n),f=function(e,t,n){if(l(e))return"";let a=i(e,n),s=(0,r.Tk)(e,t);if(a)return(a&&s?a.defaultModelByAccess[s]??null:null)??o(a)[0]?.id??"";return(0,r.O$)(e,t)??""}(e,t,n),v=o(h).length>0,b=r=>{let a=c(e,t,n,r);return m.length>0&&a.some(e=>e.id===m)?m:p(e,t,n,r)};if(x.length>0){if(g.some(e=>e.id===x))return{catalogModel:x,customModel:"",reasoningEffort:b(x)};if(!v)return{catalogModel:f,customModel:x,reasoningEffort:b(x)}}return{catalogModel:f,customModel:"",reasoningEffort:b(f)}}function m(e){let t=e.customModel.trim();if(t.length>0)return t;let n=e.catalogModel.trim();return n.length>0?n:void 0}function h(e){let t=e.reasoningEffort.trim().toLowerCase();return t.length>0?t:void 0}}},e=>{e.O(0,[3036,691,3357,5587,3051,1257,3910,9703,1964,587,1968,7358],()=>e(e.s=12529)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[824],{18510:(e,t,n)=>{"use strict";n.d(t,{J:()=>s,s:()=>r});var i=n(10926);function s(e){let t=(0,i.C0)(e);if(!t)return"/";let n=new URLSearchParams;return n.set("bridge",t),`/?${n.toString()}`}function r(e,t={}){let n,s=e.trim(),d=(0,i.DW)(s)?s:(n=(0,i.C0)(t.bridgeId))?(0,i.Bp)(n,s):s,l=new URLSearchParams,o=t.tab?.trim();o&&l.set("tab",o);let a=l.toString(),c=`/sessions/${encodeURIComponent(d)}`;return a.length>0?`${c}?${a}`:c}},39337:(e,t,n)=>{"use strict";n.d(t,{default:()=>w});var i=n(54568),s=n(7620),r=n(79748),d=n(46012),l=n(862),o=n(97882),a=n(39702),c=n(29450),u=n(4997),b=n(86181),g=n(53649),p=n(86011),m=n(59207),h=n(35821),f=n(95106),S=n(10926),I=n(18510),j=n(84527),v=n(76050);function w({requiresPairedDeviceScope:e=!1}){let t=(0,r.useParams)(),n=(0,r.useRouter)(),x=(0,r.useSearchParams)(),M=(0,s.useMemo)(()=>(0,S.DW)(t.id)?.bridgeId??null,[t.id]),E=(0,s.useMemo)(()=>(0,S.C0)(x.get("bridge")??x.get("bridgeId")),[x]),k=M??E,C=(0,s.useMemo)(()=>k&&!M?(0,S.Bp)(k,t.id):t.id,[t.id,k,M]),P=!e||!!k,{session:$}=(0,h.w)(C,null,{bridgeId:k,enabled:P}),L=$?.bridgeId??k,{projects:N}=(0,g.U)(L,{enabled:!e||!!L}),{preferences:O,loading:R}=(0,m.g)(L,{enabled:!e||!!L}),{mobileSidebarOpen:U,desktopSidebarOpen:_,toggleSidebar:D,closeSidebarOnMobile:J}=(0,d.T)({initialDesktopOpen:!1}),W=U||_,{sessions:y,refresh:B}=(0,f.t)(void 0,{enabled:W&&(!e||!!L),bridgeId:L}),[K,T]=(0,s.useState)(null),[z,A]=(0,s.useState)(!1),G=(0,s.useMemo)(()=>{let e=x.get("tab");return"dispatcher"!==e&&("terminal"===e?"terminal"===(0,v.tK)($):null===e&&"terminal"===(0,v.tK)($))},[$,x])&&z,Q=$?.projectId??null;(0,p.Q)({enabled:!R&&null!==Q,projectId:Q,preferences:O?.notifications??null,bridgeId:L});let V=(0,s.useMemo)(()=>$?[$.projectId,$.branch].filter(Boolean).join(" \xb7 "):K||"Session",[$,K]),q=(0,s.useMemo)(()=>(0,I.J)(L),[L]);async function F(e){(await (0,j.J)(e,{bridgeId:L}),e===C)?n.replace(q):L&&B()}return((0,s.useEffect)(()=>{if(C===t.id)return;let e=new URLSearchParams(x.toString());e.delete("bridge"),e.delete("bridgeId");let i=e.toString(),s=`/sessions/${encodeURIComponent(C)}${i.length>0?`?${i}`:""}`;n.replace(s,{scroll:!1})},[C,t.id,n,x]),(0,s.useEffect)(()=>{$?.projectId?T($.projectId):!K&&N.length>0&&T(N[0]?.id??null)},[$?.projectId,N,K]),(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(pointer: coarse)"):null,t=()=>{A((0,b.k$)())};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),t.id)?(0,i.jsxs)(l.G,{mobileSidebarOpen:U,desktopSidebarOpen:_,onToggleSidebar:D,hideMobileSidebarToggle:G,sidebar:W?(0,i.jsx)(c.WorkspaceSidebarPanel,{projects:N,selectedProjectId:K,onSelectProject:e=>{null===e?n.push(q):T(e)},sessions:y,selectedSessionId:C,onSelectSession:(e,t)=>{let i=y.find(t=>t.id===e)??null;n.push((0,I.s)(e,{bridgeId:L,tab:t?.tab??(0,v.tK)(i)})),J()},onArchiveSession:F,onCreateWorkspace:()=>{n.push(q)}}):null,children:[G?null:(0,i.jsx)(o.V,{title:V,rightContent:(0,i.jsx)(a.J,{})}),(0,i.jsx)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${G?"bg-[#060404]":""}`,children:(0,i.jsx)(u.SessionDetail,{sessionId:C,initialSession:$,bridgeId:L,immersiveMobileMode:G,onOpenSidebar:D},C)})]}):(0,i.jsx)("div",{className:"flex h-svh items-center justify-center",children:(0,i.jsx)("span",{className:"text-[13px] text-[var(--text-muted)]",children:"No session ID provided"})})}},69755:(e,t,n)=>{Promise.resolve().then(n.bind(n,39337))}},e=>{e.O(0,[3357,5587,3051,1257,9151,9703,1964,4997,9450,587,1968,7358],()=>e(e.s=69755)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:var(--font-ibm-plex-sans);--font-mono:var(--font-ibm-plex-mono);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:3px;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer clerk,components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-\[2px\]{inset:2px}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-\[18px\]{right:18px}.right-\[var\(--dispatcher-panel-width\)\]{right:var(--dispatcher-panel-width)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-\[var\(--workspace-sidebar-width\)\]{left:var(--workspace-sidebar-width)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[70\]{z-index:70}.z-\[75\]{z-index:75}.z-\[80\]{z-index:80}.z-\[85\]{z-index:85}.z-\[90\]{z-index:90}.z-\[95\]{z-index:95}.z-\[120\]{z-index:120}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-0\.5{margin-inline:calc(var(--spacing) * -.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[2px\]{margin-top:2px}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-64{height:calc(var(--spacing) * 64)}.h-\[3px\]{height:3px}.h-\[6px\]{height:6px}.h-\[10px\]{height:10px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[25px\]{height:25px}.h-\[28px\]{height:28px}.h-\[29px\]{height:29px}.h-\[31px\]{height:31px}.h-\[33px\]{height:33px}.h-\[38px\]{height:38px}.h-\[56vh\]{height:56vh}.h-\[100dvh\]{height:100dvh}.h-\[180px\]{height:180px}.h-\[200px\]{height:200px}.h-\[var\(--oc-shell-height\)\]{height:var(--oc-shell-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[620px\]{max-height:620px}.max-h-\[calc\(100dvh-1\.5rem\)\]{max-height:calc(100dvh - 1.5rem)}.max-h-\[min\(42dvh\,340px\)\]{max-height:min(42dvh,340px)}.max-h-\[min\(360px\,50vh\)\]{max-height:min(360px,50vh)}.max-h-\[min\(560px\,65dvh\)\]{max-height:min(560px,65dvh)}.max-h-\[var\(--oc-shell-height\)\]{max-height:var(--oc-shell-height)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[24px\]{min-height:24px}.min-h-\[29px\]{min-height:29px}.min-h-\[30px\]{min-height:30px}.min-h-\[31px\]{min-height:31px}.min-h-\[32px\]{min-height:32px}.min-h-\[34px\]{min-height:34px}.min-h-\[38px\]{min-height:38px}.min-h-\[40px\]{min-height:40px}.min-h-\[42px\]{min-height:42px}.min-h-\[44px\]{min-height:44px}.min-h-\[46px\]{min-height:46px}.min-h-\[64px\]{min-height:64px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-\[280px\]{min-height:280px}.min-h-\[360px\]{min-height:360px}.min-h-\[420px\]{min-height:420px}.min-h-\[min\(360px\,50dvh\)\]{min-height:min(360px,50dvh)}.min-h-\[var\(--oc-shell-height\)\]{min-height:var(--oc-shell-height)}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-48{width:calc(var(--spacing) * 48)}.w-\[6px\]{width:6px}.w-\[10px\]{width:10px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[16px\]{width:16px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[24px\]{width:24px}.w-\[25px\]{width:25px}.w-\[29px\]{width:29px}.w-\[31px\]{width:31px}.w-\[168px\]{width:168px}.w-\[180px\]{width:180px}.w-\[320px\]{width:320px}.w-\[calc\(100vw-1rem\)\]{width:calc(100vw - 1rem)}.w-\[min\(85vw\,320px\)\]{width:min(85vw,320px)}.w-\[min\(420px\,calc\(100vw-2rem\)\)\]{width:min(420px,100vw - 2rem)}.w-\[min\(calc\(100vw-1\.5rem\)\,24rem\)\]{width:min(100vw - 1.5rem,24rem)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[14ch\]{max-width:14ch}.max-w-\[22rem\]{max-width:22rem}.max-w-\[26rem\]{max-width:26rem}.max-w-\[88\%\]{max-width:88%}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[320px\]{max-width:320px}.max-w-\[380px\]{max-width:380px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[760px\]{max-width:760px}.max-w-\[768px\]{max-width:768px}.max-w-\[880px\]{max-width:880px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[28px\]{min-width:28px}.min-w-\[120px\]{min-width:120px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[250px\]{min-width:250px}.min-w-\[280px\]{min-width:280px}.min-w-\[320px\]{min-width:320px}.min-w-\[480px\]{min-width:480px}.min-w-\[680px\]{min-width:680px}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-x-full{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0)}.translate-x-0,.translate-x-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-pan-x{--tw-pan-x:pan-x}.touch-pan-x,.touch-pan-y{touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-pan-y{--tw-pan-y:pan-y}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-start{scroll-snap-align:start}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[2\.5rem_minmax\(0\,1fr\)_2\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem minmax(0,1fr)}.grid-cols-\[2rem_2rem_1rem_minmax\(0\,1fr\)\]{grid-template-columns:2rem 2rem 1rem minmax(0,1fr)}.grid-cols-\[repeat\(auto-fit\,minmax\(7\.25rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(7.25rem,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-0{column-gap:calc(var(--spacing) * 0)}.gap-x-1{column-gap:calc(var(--spacing) * 1)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[0\.2rem\]{border-radius:.2rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3\.5px\]{border-radius:3.5px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[999px\]{border-radius:999px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-\[var\(--radius-xs\)\]{border-radius:var(--radius-xs)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[\#f0b35d\]{border-color:#f0b35d}.border-\[\#ff8f7a\]{border-color:#ff8f7a}.border-\[color-mix\(in_srgb\,var\(--status-attention\)_30\%\,transparent\)\]{border-color:var(--status-attention)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--status-attention\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-attention) 30%,transparent)}}.border-\[color-mix\(in_srgb\,var\(--status-error\)_30\%\,transparent\)\]{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--status-error\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-error) 30%,transparent)}}.border-\[color-mix\(in_srgb\,var\(--status-ready\)_30\%\,transparent\)\]{border-color:var(--status-ready)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--status-ready\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-ready) 30%,transparent)}}.border-\[color-mix\(in_srgb\,var\(--vk-orange\,orange\)_20\%\,transparent\)\]{border-color:var(--vk-orange,orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--vk-orange\,orange\)_20\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange,orange) 20%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--status-error\)_45\%\,transparent\)\]{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--status-error\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-error) 45%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_30\%\,transparent\)\]{border-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-accent) 30%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_35\%\,transparent\)\]{border-color:var(--vk-green)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_35\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-green) 35%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_28\%\,transparent\)\]{border-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_28\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange) 28%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_34\%\,transparent\)\]{border-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_34\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange) 34%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_28\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_28\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 28%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_30\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 30%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_35\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_35\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 35%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_45\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 45%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 55%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,var\(--vk-border\)\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,var\(--vk-border\)\)\]{border-color:color-mix(in srgb,var(--vk-red) 55%,var(--vk-border))}}.border-\[rgba\(24\,197\,143\,0\.32\)\]{border-color:#18c58f52}.border-\[rgba\(24\,197\,143\,0\.35\)\]{border-color:#18c58f59}.border-\[rgba\(60\,131\,246\,0\.35\)\]{border-color:#3c83f659}.border-\[rgba\(84\,176\,79\,0\.35\)\]{border-color:#54b04f59}.border-\[rgba\(108\,168\,255\,0\.35\)\]{border-color:#6ca8ff59}.border-\[rgba\(113\,84\,68\,0\.45\)\]{border-color:#71544473}.border-\[rgba\(124\,94\,78\,0\.45\)\]{border-color:#7c5e4e73}.border-\[rgba\(129\,101\,83\,0\.35\)\]{border-color:#81655359}.border-\[rgba\(143\,143\,143\,0\.35\)\]{border-color:#8f8f8f59}.border-\[rgba\(204\,163\,92\,0\.35\)\]{border-color:#cca35c59}.border-\[rgba\(210\,81\,81\,0\.35\)\]{border-color:#d2515159}.border-\[rgba\(210\,160\,59\,0\.35\)\]{border-color:#d2a03b59}.border-\[rgba\(214\,163\,126\,0\.28\)\]{border-color:#d6a37e47}.border-\[rgba\(255\,143\,122\,0\.24\)\]{border-color:#ff8f7a3d}.border-\[rgba\(255\,143\,122\,0\.25\)\]{border-color:#ff8f7a40}.border-\[rgba\(255\,255\,255\,0\.1\)\]{border-color:#ffffff1a}.border-\[rgba\(255\,255\,255\,0\.05\)\]{border-color:#ffffff0d}.border-\[rgba\(255\,255\,255\,0\.06\)\]{border-color:#ffffff0f}.border-\[rgba\(255\,255\,255\,0\.08\)\]{border-color:#ffffff14}.border-\[rgba\(255\,255\,255\,0\.12\)\]{border-color:#ffffff1f}.border-\[rgba\(255\,255\,255\,0\.14\)\]{border-color:#ffffff24}.border-\[transparent\]{border-color:#0000}.border-\[var\(--border-soft\)\]{border-color:var(--border-soft)}.border-\[var\(--border-strong\)\]{border-color:var(--border-strong)}.border-\[var\(--status-error\)\]\/30{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-error\)\]\/30{border-color:color-mix(in oklab,var(--status-error) 30%,transparent)}}.border-\[var\(--vk-accent\)\]{border-color:var(--vk-accent)}.border-\[var\(--vk-border\)\]{border-color:var(--vk-border)}.border-\[var\(--vk-orange\)\]{border-color:var(--vk-orange)}.border-\[var\(--vk-red\)\],.border-\[var\(--vk-red\)\]\/35{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--vk-red\)\]\/35{border-color:color-mix(in oklab,var(--vk-red) 35%,transparent)}}.border-\[var\(--vk-red\)\]\/40{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--vk-red\)\]\/40{border-color:color-mix(in oklab,var(--vk-red) 40%,transparent)}}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-emerald-400\/35{border-color:#00d29459}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/35{border-color:color-mix(in oklab,var(--color-emerald-400) 35%,transparent)}}.border-red-400\/35{border-color:#ff656859}@supports (color:color-mix(in lab,red,red)){.border-red-400\/35{border-color:color-mix(in oklab,var(--color-red-400) 35%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-white\/6{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/6{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-\[var\(--status-working\)\]{border-left-color:var(--status-working)}.border-l-transparent{border-left-color:#0000}.bg-\[\#0c0808\]{background-color:#0c0808}.bg-\[\#0d0908\]{background-color:#0d0908}.bg-\[\#1c1a19\]{background-color:#1c1a19}.bg-\[\#1f1f1f\]{background-color:#1f1f1f}.bg-\[\#3c83f6\]{background-color:#3c83f6}.bg-\[\#18c58f\]{background-color:#18c58f}.bg-\[\#111\]{background-color:#111}.bg-\[\#060404\]{background-color:#060404}.bg-\[\#060404\]\/84{background-color:oklab(11.1012% .00545438 .00177752/.84)}.bg-\[\#101010\]{background-color:#101010}.bg-\[\#141010\]\/92{background-color:oklab(17.8024% .00638092 .00204849/.92)}.bg-\[\#151413\]{background-color:#151413}.bg-\[\#161212\]{background-color:#161212}.bg-\[\#171615\]{background-color:#171615}.bg-\[\#201818\]{background-color:#201818}.bg-\[\#272220\]{background-color:#272220}.bg-\[\#292929\]{background-color:#292929}.bg-\[\#e6c786\]{background-color:#e6c786}.bg-\[\#f0b35d\]{background-color:#f0b35d}.bg-\[\#ff8f7a\]{background-color:#ff8f7a}.bg-\[color\:\#292929\]{background-color:#292929}.bg-\[color\:color-mix\(in_srgb\,var\(--border-strong\)_75\%\,transparent\)\]{background-color:var(--border-strong)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--border-strong\)_75\%\,transparent\)\]{background-color:color-mix(in srgb,var(--border-strong) 75%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--status-error\)_10\%\,transparent\)\]{background-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--status-error\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--status-error) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--status-working\)_18\%\,transparent\)\]{background-color:var(--status-working)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--status-working\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--status-working) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_8\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_8\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 8%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,var\(--vk-bg-hover\)\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,var\(--vk-bg-hover\)\)\]{background-color:color-mix(in srgb,var(--vk-accent) 10%,var(--vk-bg-hover))}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_12\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_14\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 14%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_88\%\,black_12\%\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_88\%\,black_12\%\)\]{background-color:color-mix(in srgb,var(--vk-accent) 88%,black 12%)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_86\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_86\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 86%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_88\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_88\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 88%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_92\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_92\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 92%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_94\%\,black_6\%\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_94\%\,black_6\%\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 94%,black 6%)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_10\%\,transparent\)\]{background-color:var(--vk-green)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-green) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_10\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_12\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_14\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 14%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_18\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_10\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,var\(--vk-bg-panel\)\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,var\(--vk-bg-panel\)\)\]{background-color:color-mix(in srgb,var(--vk-red) 12%,var(--vk-bg-panel))}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_18\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_10\%\,transparent\)\]{background-color:var(--vk-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-text-muted) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_36\%\,transparent\)\]{background-color:var(--vk-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_36\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-text-muted) 36%,transparent)}}.bg-\[rgba\(0\,0\,0\,0\.08\)\]{background-color:#00000014}.bg-\[rgba\(0\,0\,0\,0\.12\)\]{background-color:#0000001f}.bg-\[rgba\(0\,0\,0\,0\.14\)\]{background-color:#00000024}.bg-\[rgba\(0\,0\,0\,0\.16\)\]{background-color:#00000029}.bg-\[rgba\(0\,0\,0\,0\.18\)\]{background-color:#0000002e}.bg-\[rgba\(0\,0\,0\,0\.22\)\]{background-color:#00000038}.bg-\[rgba\(15\,15\,15\,0\.52\)\]{background-color:#0f0f0f85}.bg-\[rgba\(15\,15\,15\,0\.72\)\]{background-color:#0f0f0fb8}.bg-\[rgba\(23\,25\,30\,0\.72\)\]{background-color:#17191eb8}.bg-\[rgba\(23\,25\,30\,0\.88\)\]{background-color:#17191ee0}.bg-\[rgba\(23\,25\,30\,0\.96\)\]{background-color:#17191ef5}.bg-\[rgba\(24\,197\,143\,0\.08\)\]{background-color:#18c58f14}.bg-\[rgba\(24\,197\,143\,0\.12\)\]{background-color:#18c58f1f}.bg-\[rgba\(28\,28\,28\,0\.8\)\]{background-color:#1c1c1ccc}.bg-\[rgba\(52\,39\,35\,0\.92\)\]{background-color:#342723eb}.bg-\[rgba\(54\,40\,34\,0\.9\)\]{background-color:#362822e6}.bg-\[rgba\(60\,131\,246\,0\.12\)\]{background-color:#3c83f61f}.bg-\[rgba\(62\,47\,40\,0\.72\)\]{background-color:#3e2f28b8}.bg-\[rgba\(64\,49\,27\,0\.58\)\]{background-color:#40311b94}.bg-\[rgba\(66\,44\,35\,0\.94\)\]{background-color:#422c23f0}.bg-\[rgba\(80\,80\,80\,0\.18\)\]{background-color:#5050502e}.bg-\[rgba\(84\,176\,79\,0\.08\)\]{background-color:#54b04f14}.bg-\[rgba\(84\,176\,79\,0\.12\)\]{background-color:#54b04f1f}.bg-\[rgba\(108\,168\,255\,0\.08\)\]{background-color:#6ca8ff14}.bg-\[rgba\(143\,143\,143\,0\.10\)\]{background-color:#8f8f8f1a}.bg-\[rgba\(210\,81\,81\,0\.08\)\]{background-color:#d2515114}.bg-\[rgba\(210\,81\,81\,0\.12\)\]{background-color:#d251511f}.bg-\[rgba\(210\,160\,59\,0\.08\)\]{background-color:#d2a03b14}.bg-\[rgba\(255\,143\,122\,0\.08\)\]{background-color:#ff8f7a14}.bg-\[rgba\(255\,255\,255\,0\.1\)\]{background-color:#ffffff1a}.bg-\[rgba\(255\,255\,255\,0\.02\)\]{background-color:#ffffff05}.bg-\[rgba\(255\,255\,255\,0\.03\)\]{background-color:#ffffff08}.bg-\[rgba\(255\,255\,255\,0\.04\)\]{background-color:#ffffff0a}.bg-\[rgba\(255\,255\,255\,0\.05\)\]{background-color:#ffffff0d}.bg-\[rgba\(255\,255\,255\,0\.06\)\]{background-color:#ffffff0f}.bg-\[rgba\(255\,255\,255\,0\.08\)\]{background-color:#ffffff14}.bg-\[var\(--bg-canvas\)\]{background-color:var(--bg-canvas)}.bg-\[var\(--bg-muted\)\]{background-color:var(--bg-muted)}.bg-\[var\(--bg-panel\)\]{background-color:var(--bg-panel)}.bg-\[var\(--bg-shell\)\]{background-color:var(--bg-shell)}.bg-\[var\(--border-soft\)\]{background-color:var(--border-soft)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-accent-subtle\)\]{background-color:var(--color-accent-subtle)}.bg-\[var\(--color-bg-elevated\)\]{background-color:var(--color-bg-elevated)}.bg-\[var\(--status-error\)\]{background-color:var(--status-error)}.bg-\[var\(--status-idle\)\]{background-color:var(--status-idle)}.bg-\[var\(--status-ready\)\]{background-color:var(--status-ready)}.bg-\[var\(--status-working\)\]{background-color:var(--status-working)}.bg-\[var\(--vk-accent\)\]{background-color:var(--vk-accent)}.bg-\[var\(--vk-bg-active\)\]{background-color:var(--vk-bg-active)}.bg-\[var\(--vk-bg-hover\)\]{background-color:var(--vk-bg-hover)}.bg-\[var\(--vk-bg-main\)\]{background-color:var(--vk-bg-main)}.bg-\[var\(--vk-bg-panel\)\],.bg-\[var\(--vk-bg-panel\)\]\/70{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-bg-panel\)\]\/70{background-color:color-mix(in oklab,var(--vk-bg-panel) 70%,transparent)}}.bg-\[var\(--vk-bg-surface\)\]{background-color:var(--vk-bg-surface)}.bg-\[var\(--vk-border\)\]{background-color:var(--vk-border)}.bg-\[var\(--vk-green\)\]{background-color:var(--vk-green)}.bg-\[var\(--vk-orange\)\],.bg-\[var\(--vk-orange\)\]\/10{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-orange\)\]\/10{background-color:color-mix(in oklab,var(--vk-orange) 10%,transparent)}}.bg-\[var\(--vk-orange\)\]\/12{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-orange\)\]\/12{background-color:color-mix(in oklab,var(--vk-orange) 12%,transparent)}}.bg-\[var\(--vk-red\)\],.bg-\[var\(--vk-red\)\]\/10{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-red\)\]\/10{background-color:color-mix(in oklab,var(--vk-red) 10%,transparent)}}.bg-\[var\(--vk-text-muted\)\]{background-color:var(--vk-text-muted)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/8{background-color:color-mix(in oklab,var(--color-amber-500) 8%,transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/65{background-color:#000000a6}@supports (color:color-mix(in lab,red,red)){.bg-black\/65{background-color:color-mix(in oklab,var(--color-black) 65%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\/10{background-color:#00d2941a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/10{background-color:color-mix(in oklab,var(--color-emerald-400) 10%,transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-400\/10{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.bg-red-400\/10{background-color:color-mix(in oklab,var(--color-red-400) 10%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/4{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/4{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_88\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_76\%\,transparent\)\)\]{background-image:linear-gradient(135deg,var(--bg-panel),var(--bg-surface))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_88\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_76\%\,transparent\)\)\]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 88%,transparent),color-mix(in srgb,var(--bg-surface) 76%,transparent))}}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.03\)\,rgba\(255\,255\,255\,0\)\)\]{background-image:linear-gradient(#ffffff08,#fff0)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[1px\],.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[8px\]{padding-inline:8px}.px-\[9px\]{padding-inline:9px}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[5px\]{padding-block:5px}.py-\[6\.5px\]{padding-block:6.5px}.\[padding-top\:env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-16{padding-right:calc(var(--spacing) * 16)}.pr-\[env\(safe-area-inset-right\)\]{padding-right:env(safe-area-inset-right)}.\[padding-bottom\:env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[9px\]{padding-bottom:9px}.pb-\[calc\(0\.75rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.pb-\[calc\(1rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-14{padding-left:calc(var(--spacing) * 14)}.pl-\[env\(safe-area-inset-left\)\]{padding-left:env(safe-area-inset-left)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-\[17px\]{--tw-leading:17px;line-height:17px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-\[21px\]{--tw-leading:21px;line-height:21px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-\[24px\]{--tw-leading:24px;line-height:24px}.leading-\[26px\]{--tw-leading:26px;line-height:26px}.leading-\[28px\]{--tw-leading:28px;line-height:28px}.leading-\[34px\]{--tw-leading:34px;line-height:34px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[-0\.7px\]{--tw-tracking:-.7px;letter-spacing:-.7px}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.32em\]{--tw-tracking:.32em;letter-spacing:.32em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#4e87f3\]{color:#4e87f3}.text-\[\#8b5cf6\]{color:#8b5cf6}.text-\[\#8db8ff\]{color:#8db8ff}.text-\[\#8e847d\]{color:#8e847d}.text-\[\#18c58f\]{color:#18c58f}.text-\[\#22a3f5\]{color:#22a3f5}.text-\[\#22170d\]{color:#22170d}.text-\[\#111111\]{color:#111}.text-\[\#a79c94\]{color:#a79c94}.text-\[\#c9c0b7\]{color:#c9c0b7}.text-\[\#d7b6a5\]{color:#d7b6a5}.text-\[\#d7c6b7\]{color:#d7c6b7}.text-\[\#d25151\]{color:#d25151}.text-\[\#dccba1\]{color:#dccba1}.text-\[\#efe4dc\]{color:#efe4dc}.text-\[\#efe8e1\]{color:#efe8e1}.text-\[\#f1e3bf\]{color:#f1e3bf}.text-\[\#f1e7e0\]{color:#f1e7e0}.text-\[\#f2d9cd\]{color:#f2d9cd}.text-\[\#f3ead8\]{color:#f3ead8}.text-\[\#f3efea\]{color:#f3efea}.text-\[\#f4ede7\]{color:#f4ede7}.text-\[\#f6ead0\]{color:#f6ead0}.text-\[\#f26d6d\]{color:#f26d6d}.text-\[\#ff8f7a\]{color:#ff8f7a}.text-\[\#ffb39e\]{color:#ffb39e}.text-\[\#ffd089\]{color:#ffd089}.text-\[\#fff5ee\]{color:#fff5ee}.text-\[rgba\(255\,255\,255\,0\.6\)\]{color:#fff9}.text-\[rgba\(255\,255\,255\,0\.55\)\]{color:#ffffff8c}.text-\[rgba\(255\,255\,255\,0\.58\)\]{color:#ffffff94}.text-\[rgba\(255\,255\,255\,0\.68\)\]{color:#ffffffad}.text-\[rgba\(255\,255\,255\,0\.72\)\]{color:#ffffffb8}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--status-attention\)\]{color:var(--status-attention)}.text-\[var\(--status-error\)\]{color:var(--status-error)}.text-\[var\(--status-ready\)\]{color:var(--status-ready)}.text-\[var\(--status-working\)\]{color:var(--status-working)}.text-\[var\(--text-faint\)\]{color:var(--text-faint)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-normal\)\]{color:var(--text-normal)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-strong\)\]{color:var(--text-strong)}.text-\[var\(--vk-accent\)\]{color:var(--vk-accent)}.text-\[var\(--vk-green\)\]{color:var(--vk-green)}.text-\[var\(--vk-orange\)\]{color:var(--vk-orange)}.text-\[var\(--vk-red\)\],.text-\[var\(--vk-red\)\]\/80{color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--vk-red\)\]\/80{color:color-mix(in oklab,var(--vk-red) 80%,transparent)}}.text-\[var\(--vk-text-dim\)\]{color:var(--vk-text-dim)}.text-\[var\(--vk-text-faint\)\]{color:var(--vk-text-faint)}.text-\[var\(--vk-text-muted\)\]{color:var(--vk-text-muted)}.text-\[var\(--vk-text-normal\)\]{color:var(--vk-text-normal)}.text-\[var\(--vk-text-secondary\)\]{color:var(--vk-text-secondary)}.text-\[var\(--vk-text-strong\)\]{color:var(--vk-text-strong)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.text-black{color:var(--color-black)}.text-current,.text-current\/70{color:currentColor}@supports (color:color-mix(in lab,red,red)){.text-current\/70{color:color-mix(in oklab,currentcolor 70%,transparent)}}.text-emerald-100{color:var(--color-emerald-100)}.text-emerald-400{color:var(--color-emerald-400)}.text-red-100{color:var(--color-red-100)}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}.accent-\[var\(--vk-orange\)\]{accent-color:var(--vk-orange)}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0003)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.2\)\],.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.5\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000080)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000040)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.25\)\],.shadow-\[0_8px_18px_rgba\(0\,0\,0\,0\.14\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_rgba\(0\,0\,0\,0\.14\)\]{--tw-shadow:0 8px 18px var(--tw-shadow-color,#00000024)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#0000002e)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.18\)\],.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.24\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#0000003d)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#00000047)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.28\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#00000047)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 16px 40px var(--tw-shadow-color,#00000059)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.35\)\],.shadow-\[0_16px_48px_rgba\(0\,0\,0\,0\.18\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_48px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 16px 48px var(--tw-shadow-color,#0000002e)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 18px 36px var(--tw-shadow-color,#0003)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.2\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 18px 36px var(--tw-shadow-color,#00000047)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 18px 40px var(--tw-shadow-color,#00000047)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.18\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#0000002e)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#00000059)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.35\)\],.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.45\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#00000073)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow:0 20px 44px var(--tw-shadow-color,#0000006b)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.42\)\],.shadow-\[0_22px_48px_rgba\(0\,0\,0\,0\.34\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_22px_48px_rgba\(0\,0\,0\,0\.34\)\]{--tw-shadow:0 22px 48px var(--tw-shadow-color,#00000057)}.shadow-\[0_24px_48px_rgba\(0\,0\,0\,0\.34\)\]{--tw-shadow:0 24px 48px var(--tw-shadow-color,#00000057)}.shadow-\[0_24px_48px_rgba\(0\,0\,0\,0\.34\)\],.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.55\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 24px 80px var(--tw-shadow-color,#0000008c)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#0006)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.45\)\],.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.4\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#00000073)}.shadow-\[0_28px_90px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 28px 90px var(--tw-shadow-color,#0000008c)}.shadow-\[0_28px_90px_rgba\(0\,0\,0\,0\.55\)\],.shadow-\[var\(--shadow-soft\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-soft\)\]{--tw-shadow:var(--shadow-soft)}.shadow-none{--tw-shadow:0 0 #0000}.ring,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{-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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,width\]{transition-property:transform,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[-webkit-overflow-scrolling\:touch\]{-webkit-overflow-scrolling:touch}.\[contain-intrinsic-size\:52px\]{contain-intrinsic-size:52px}.\[contain-intrinsic-size\:92px\]{contain-intrinsic-size:92px}.\[contain-intrinsic-size\:104px\]{contain-intrinsic-size:104px}.\[contain-intrinsic-size\:240px\]{contain-intrinsic-size:240px}.\[content-visibility\:auto\]{content-visibility:auto}.\[scrollbar-width\:none\]{scrollbar-width:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker,.marker\:hidden::-webkit-details-marker{display:none}.placeholder\:text-\[\#7d746e\]::placeholder{color:#7d746e}.placeholder\:text-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}.placeholder\:text-\[var\(--vk-text-muted\)\]::placeholder{color:var(--vk-text-muted)}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[rgba\(210\,81\,81\,0\.4\)\]:hover{border-color:#d2515166}.hover\:border-\[rgba\(255\,255\,255\,0\.12\)\]:hover{border-color:#ffffff1f}.hover\:border-\[rgba\(255\,255\,255\,0\.14\)\]:hover{border-color:#ffffff24}.hover\:border-\[var\(--border-default\)\]:hover{border-color:var(--border-default)}.hover\:border-\[var\(--vk-border\)\]:hover{border-color:var(--vk-border)}.hover\:bg-\[\#201818\]:hover{background-color:#201818}.hover\:bg-\[\#312926\]:hover{background-color:#312926}.hover\:bg-\[\#edd39d\]:hover{background-color:#edd39d}.hover\:bg-\[\#f4f4f5\]:hover{background-color:#f4f4f5}.hover\:bg-\[color-mix\(in_srgb\,var\(--status-error\)_8\%\,transparent\)\]:hover{background-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--status-error\)_8\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--status-error) 8%,transparent)}}.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_24\%\,transparent\)\]:hover{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_24\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--vk-red) 24%,transparent)}}.hover\:bg-\[rgba\(78\,52\,41\,0\.98\)\]:hover{background-color:#4e3429fa}.hover\:bg-\[rgba\(210\,81\,81\,0\.12\)\]:hover{background-color:#d251511f}.hover\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:hover{background-color:#ffffff0f}.hover\:bg-\[rgba\(255\,255\,255\,0\.08\)\]:hover{background-color:#ffffff14}.hover\:bg-\[var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[var\(--bg-panel-2\)\]:hover{background-color:var(--bg-panel-2)}.hover\:bg-\[var\(--border-strong\)\]:hover{background-color:var(--border-strong)}.hover\:bg-\[var\(--color-accent-subtle\)\]:hover{background-color:var(--color-accent-subtle)}.hover\:bg-\[var\(--vk-bg-active\)\]:hover{background-color:var(--vk-bg-active)}.hover\:bg-\[var\(--vk-bg-hover\)\]:hover{background-color:var(--vk-bg-hover)}.hover\:bg-\[var\(--vk-bg-panel\)\]:hover{background-color:var(--vk-bg-panel)}.hover\:bg-\[var\(--vk-border\)\]:hover{background-color:var(--vk-border)}.hover\:bg-\[var\(--vk-red\)\]\/10:hover{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--vk-red\)\]\/10:hover{background-color:color-mix(in oklab,var(--vk-red) 10%,transparent)}}.hover\:bg-white\/3:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/3:hover{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.hover\:bg-white\/4:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/4:hover{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.hover\:bg-white\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/6:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_96\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_88\%\,transparent\)\)\]:hover{background-image:linear-gradient(135deg,var(--bg-panel),var(--bg-surface))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_96\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_88\%\,transparent\)\)\]:hover{background-image:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 96%,transparent),color-mix(in srgb,var(--bg-surface) 88%,transparent))}}.hover\:text-\[\#c9c0b7\]:hover{color:#c9c0b7}.hover\:text-\[\#f08b8b\]:hover{color:#f08b8b}.hover\:text-\[\#fff8f2\]:hover{color:#fff8f2}.hover\:text-\[var\(--accent-hover\)\]:hover{color:var(--accent-hover)}.hover\:text-\[var\(--text-muted\)\]:hover{color:var(--text-muted)}.hover\:text-\[var\(--text-normal\)\]:hover{color:var(--text-normal)}.hover\:text-\[var\(--text-strong\)\]:hover{color:var(--text-strong)}.hover\:text-\[var\(--vk-red\)\]:hover{color:var(--vk-red)}.hover\:text-\[var\(--vk-text-normal\)\]:hover{color:var(--vk-text-normal)}.hover\:text-\[var\(--vk-text-strong\)\]:hover{color:var(--vk-text-strong)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[var\(--color-accent\)\]:focus{border-color:var(--color-accent)}.focus\:border-\[var\(--vk-orange\)\]:focus{border-color:var(--vk-orange)}.focus\:border-white\/20:focus{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.focus\:border-white\/20:focus{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.focus\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:focus{background-color:#ffffff0f}.focus\:bg-\[var\(--vk-bg-hover\)\]:focus{background-color:var(--vk-bg-hover)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--vk-orange\)\]:focus-visible{--tw-ring-color:var(--vk-orange)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[\#111\]:focus-visible{--tw-ring-offset-color:#111}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-white\/6:active{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.active\:bg-white\/6:active{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.data-\[state\=active\]\:bg-\[var\(--vk-bg-active\)\][data-state=active]{background-color:var(--vk-bg-active)}.data-\[state\=active\]\:text-\[var\(--vk-text-normal\)\][data-state=active]{color:var(--vk-text-normal)}.data-\[state\=inactive\]\:pointer-events-none[data-state=inactive]{pointer-events:none}.data-\[state\=inactive\]\:invisible[data-state=inactive]{visibility:hidden}.data-\[state\=inactive\]\:absolute[data-state=inactive]{position:absolute}.data-\[state\=inactive\]\:inset-0[data-state=inactive]{inset:calc(var(--spacing) * 0)}.data-\[state\=inactive\]\:opacity-0[data-state=inactive]{opacity:0}.data-\[state\=open\]\:bg-\[var\(--vk-bg-hover\)\][data-state=open]{background-color:var(--vk-bg-hover)}@media (min-width:40rem){.sm\:top-3{top:calc(var(--spacing) * 3)}.sm\:right-3{right:calc(var(--spacing) * 3)}.sm\:right-4{right:calc(var(--spacing) * 4)}.sm\:bottom-4{bottom:calc(var(--spacing) * 4)}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:mx-0{margin-inline:calc(var(--spacing) * 0)}.sm\:mt-3{margin-top:calc(var(--spacing) * 3)}.sm\:mb-3{margin-bottom:calc(var(--spacing) * 3)}.sm\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.sm\:ml-0{margin-left:calc(var(--spacing) * 0)}.sm\:ml-auto{margin-left:auto}.sm\:line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.sm\:block{display:block}.sm\:contents{display:contents}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-2\.5{height:calc(var(--spacing) * 2.5)}.sm\:h-3{height:calc(var(--spacing) * 3)}.sm\:h-3\.5{height:calc(var(--spacing) * 3.5)}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:h-7{height:calc(var(--spacing) * 7)}.sm\:h-8{height:calc(var(--spacing) * 8)}.sm\:h-\[27px\]{height:27px}.sm\:h-\[30px\]{height:30px}.sm\:h-\[31px\]{height:31px}.sm\:h-\[72vh\]{height:72vh}.sm\:h-\[260px\]{height:260px}.sm\:h-\[300px\]{height:300px}.sm\:h-\[min\(92vh\,760px\)\]{height:min(92vh,760px)}.sm\:h-auto{height:auto}.sm\:h-full{height:100%}.sm\:max-h-\[22rem\]{max-height:22rem}.sm\:max-h-\[760px\]{max-height:760px}.sm\:max-h-\[calc\(100dvh-1\.5rem\)\]{max-height:calc(100dvh - 1.5rem)}.sm\:max-h-\[calc\(100dvh-3rem\)\]{max-height:calc(100dvh - 3rem)}.sm\:max-h-none{max-height:none}.sm\:min-h-0{min-height:calc(var(--spacing) * 0)}.sm\:min-h-\[34px\]{min-height:34px}.sm\:min-h-\[36px\]{min-height:36px}.sm\:min-h-\[220px\]{min-height:220px}.sm\:min-h-\[360px\]{min-height:360px}.sm\:min-h-\[560px\]{min-height:560px}.sm\:w-2\.5{width:calc(var(--spacing) * 2.5)}.sm\:w-3{width:calc(var(--spacing) * 3)}.sm\:w-3\.5{width:calc(var(--spacing) * 3.5)}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:w-7{width:calc(var(--spacing) * 7)}.sm\:w-8{width:calc(var(--spacing) * 8)}.sm\:w-64{width:calc(var(--spacing) * 64)}.sm\:w-\[220px\]{width:220px}.sm\:w-\[224px\]{width:224px}.sm\:w-\[240px\]{width:240px}.sm\:w-\[320px\]{width:320px}.sm\:w-\[min\(90vw\,var\(--workspace-sidebar-width\)\)\]{width:min(90vw,var(--workspace-sidebar-width))}.sm\:w-auto{width:auto}.sm\:w-fit{width:fit-content}.sm\:w-full{width:100%}.sm\:max-w-\[6\.75rem\]{max-width:6.75rem}.sm\:max-w-\[7rem\]{max-width:7rem}.sm\:max-w-\[11\.75rem\]{max-width:11.75rem}.sm\:max-w-\[26rem\]{max-width:26rem}.sm\:max-w-\[28rem\]{max-width:28rem}.sm\:max-w-\[280px\]{max-width:280px}.sm\:max-w-\[560px\]{max-width:560px}.sm\:max-w-\[860px\]{max-width:860px}.sm\:max-w-\[980px\]{max-width:980px}.sm\:max-w-\[1120px\]{max-width:1120px}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-none{max-width:none}.sm\:min-w-0{min-width:calc(var(--spacing) * 0)}.sm\:min-w-\[200px\]{min-width:200px}.sm\:min-w-\[220px\]{min-width:220px}.sm\:min-w-\[280px\]{min-width:280px}.sm\:flex-1{flex:1}.sm\:flex-none{flex:none}.sm\:shrink-0{flex-shrink:0}.sm\:touch-auto{touch-action:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[4rem_4rem_1\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:4rem 4rem 1.5rem minmax(0,1fr)}.sm\:grid-cols-\[4rem_minmax\(0\,1fr\)_4rem_minmax\(0\,1fr\)\]{grid-template-columns:4rem minmax(0,1fr) 4rem minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:justify-start{justify-content:flex-start}.sm\:gap-0{gap:calc(var(--spacing) * 0)}.sm\:gap-1{gap:calc(var(--spacing) * 1)}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}:where(.sm\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.sm\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-x-auto{overflow-x:auto}.sm\:rounded-\[3px\]{border-radius:3px}.sm\:rounded-\[6px\]{border-radius:6px}.sm\:rounded-\[7px\]{border-radius:7px}.sm\:rounded-\[9px\]{border-radius:9px}.sm\:rounded-\[10px\]{border-radius:10px}.sm\:border{border-style:var(--tw-border-style);border-width:1px}.sm\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.sm\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.sm\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.sm\:p-1\.5{padding:calc(var(--spacing) * 1.5)}.sm\:p-3{padding:calc(var(--spacing) * 3)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-0{padding-inline:calc(var(--spacing) * 0)}.sm\:px-2{padding-inline:calc(var(--spacing) * 2)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-0{padding-block:calc(var(--spacing) * 0)}.sm\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.sm\:py-2{padding-block:calc(var(--spacing) * 2)}.sm\:py-3{padding-block:calc(var(--spacing) * 3)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:pr-5{padding-right:calc(var(--spacing) * 5)}.sm\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.sm\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.sm\:pl-1{padding-left:calc(var(--spacing) * 1)}.sm\:pl-5{padding-left:calc(var(--spacing) * 5)}.sm\:text-center{text-align:center}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-\[10\.5px\]{font-size:10.5px}.sm\:text-\[11\.5px\]{font-size:11.5px}.sm\:text-\[12\.5px\]{font-size:12.5px}.sm\:text-\[12px\]{font-size:12px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-\[14px\]{font-size:14px}.sm\:text-\[15px\]{font-size:15px}.sm\:text-\[16px\]{font-size:16px}.sm\:text-\[24px\]{font-size:24px}.sm\:text-\[27px\]{font-size:27px}.sm\:text-\[28px\]{font-size:28px}.sm\:text-\[30px\]{font-size:30px}.sm\:text-\[36px\]{font-size:36px}.sm\:text-\[44px\]{font-size:44px}.sm\:leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.sm\:leading-\[19px\]{--tw-leading:19px;line-height:19px}.sm\:leading-\[27px\]{--tw-leading:27px;line-height:27px}.sm\:leading-\[32px\]{--tw-leading:32px;line-height:32px}.sm\:leading-\[40px\]{--tw-leading:40px;line-height:40px}.sm\:tracking-\[-0\.9px\]{--tw-tracking:-.9px;letter-spacing:-.9px}.first\:sm\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:w-80{width:calc(var(--spacing) * 80)}.md\:max-w-\[240px\]{max-width:240px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:relative{position:relative}.lg\:left-auto{left:auto}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:inline-flex{display:inline-flex}.lg\:w-0{width:calc(var(--spacing) * 0)}.lg\:w-\[var\(--workspace-sidebar-width\)\]{width:var(--workspace-sidebar-width)}.lg\:w-auto{width:auto}.lg\:max-w-\[320px\]{max-width:320px}.lg\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.08fr\)_minmax\(0\,0\.92fr\)\]{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.lg\:grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(290px\,0\.95fr\)\]{grid-template-columns:minmax(0,1.45fr) minmax(290px,.95fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:grid-cols-\[minmax\(0\,1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:justify-start{justify-content:flex-start}.lg\:gap-2{gap:calc(var(--spacing) * 2)}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-\[14px\]{border-radius:14px}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.lg\:border-\[var\(--vk-border\)\]{border-color:var(--vk-border)}.lg\:border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.lg\:border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.lg\:border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.lg\:border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.lg\:p-3{padding:calc(var(--spacing) * 3)}.lg\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.lg\:pt-3{padding-top:calc(var(--spacing) * 3)}.lg\:pr-2{padding-right:calc(var(--spacing) * 2)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.lg\:pb-1{padding-bottom:calc(var(--spacing) * 1)}.lg\:text-\[36px\]{font-size:36px}.lg\:shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:ml-0{margin-left:calc(var(--spacing) * 0)}.xl\:block{display:block}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:inline-flex{display:inline-flex}.xl\:h-\[360px\]{height:360px}.xl\:h-auto{height:auto}.xl\:h-full{height:100%}.xl\:max-h-none{max-height:none}.xl\:min-h-0{min-height:calc(var(--spacing) * 0)}.xl\:w-\[56px\]{width:56px}.xl\:w-\[405px\]{width:405px}.xl\:w-\[var\(--dispatcher-panel-width\)\]{width:var(--dispatcher-panel-width)}.xl\:w-auto{width:auto}.xl\:w-full{width:100%}.xl\:flex-none{flex:none}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.xl\:flex-col{flex-direction:column}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:justify-between{justify-content:space-between}.xl\:justify-end{justify-content:flex-end}.xl\:justify-start{justify-content:flex-start}.xl\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.xl\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.xl\:px-0{padding-inline:calc(var(--spacing) * 0)}.xl\:py-3{padding-block:calc(var(--spacing) * 3)}}.\[\&_\.shiki\]\:\!bg-transparent .shiki{background-color:#0000!important}.\[\&_\.shiki\]\:p-0 .shiki{padding:calc(var(--spacing) * 0)}.\[\&_\.xterm\]\:h-full .xterm{height:100%}.\[\&_\.xterm\]\:w-full .xterm{width:100%}.\[\&_\.xterm\]\:px-1 .xterm{padding-inline:calc(var(--spacing) * 1)}.\[\&_\.xterm-screen\]\:h-full .xterm-screen{height:100%}.\[\&_\.xterm-screen\]\:w-full .xterm-screen{width:100%}.\[\&_\.xterm-scrollable-element\]\:overscroll-contain .xterm-scrollable-element{overscroll-behavior:contain}.\[\&_\.xterm-scrollable-element\]\:\[-webkit-overflow-scrolling\:touch\] .xterm-scrollable-element{-webkit-overflow-scrolling:touch}.\[\&_\.xterm-viewport\]\:overflow-y-auto .xterm-viewport{overflow-y:auto}.\[\&_\.xterm-viewport\]\:overscroll-contain .xterm-viewport{overscroll-behavior:contain}.\[\&_\.xterm-viewport\]\:\[-webkit-overflow-scrolling\:touch\] .xterm-viewport{-webkit-overflow-scrolling:touch}.\[\&_code\]\:text-\[11px\] code{font-size:11px}.\[\&_code\]\:leading-5 code{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\[\&_pre\]\:\!bg-transparent pre{background-color:#0000!important}.\[\&_pre\]\:\!p-0 pre{padding:calc(var(--spacing) * 0)!important}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\[hidden\]\]\:block[hidden]{display:block}}:root{color-scheme:dark;--vk-bg-outer:#1a1a1a;--vk-bg-main:#212121;--vk-bg-panel:#1c1c1c;--vk-bg-hover:#292929;--vk-bg-active:#343434;--vk-border:#333;--vk-text-strong:#f2f0ed;--vk-text-normal:#c4c4c4;--vk-text-muted:#8f8f8f;--vk-orange:#5b7c99;--vk-accent:#5b7c99;--vk-green:#54b04f;--vk-red:#d25151;--bg-canvas:var(--vk-bg-outer);--bg-shell:var(--vk-bg-main);--bg-surface:var(--vk-bg-main);--bg-panel:var(--vk-bg-panel);--bg-panel-2:var(--vk-bg-hover);--bg-muted:var(--vk-bg-active);--border-soft:var(--vk-border);--border-strong:#52525b;--text-strong:var(--vk-text-strong);--text-normal:var(--vk-text-normal);--text-muted:var(--vk-text-muted);--text-faint:#6f6f6f;--text-inverse:#111;--accent:var(--vk-orange);--accent-hover:#7092b0;--accent-soft:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){:root{--accent-soft:color-mix(in srgb,var(--vk-orange) 18%,transparent)}}:root{--status-working:#6ca8ff;--status-ready:var(--vk-green);--status-attention:#d2a03b;--status-review:var(--vk-orange);--status-error:var(--vk-red);--status-idle:#a1a1aa;--shadow-card:none;--shadow-soft:none;--color-bg-base:var(--bg-canvas);--color-bg-surface:var(--bg-surface);--color-bg-elevated:var(--bg-panel);--color-bg-subtle:var(--bg-panel-2);--color-bg-secondary:var(--bg-muted);--color-border-subtle:var(--border-soft);--color-border-default:var(--border-soft);--color-border-strong:var(--border-strong);--color-text-primary:var(--text-strong);--color-text-secondary:var(--text-normal);--color-text-tertiary:var(--text-muted);--color-text-muted:var(--text-faint);--color-text-inverse:var(--text-inverse);--color-accent:var(--accent);--color-accent-hover:var(--accent-hover);--color-accent-subtle:var(--accent-soft);--color-status-working:var(--status-working);--color-status-ready:var(--status-ready);--color-status-attention:var(--status-attention);--color-status-error:var(--status-error);--color-status-idle:var(--status-idle);--color-status-done:var(--status-idle);--color-sidebar-bg:var(--bg-panel);--color-sidebar-border:var(--border-soft);--color-sidebar-hover:var(--vk-bg-hover);--color-sidebar-active:var(--accent-soft);--color-card-bg:var(--bg-panel);--color-card-bg-hover:var(--bg-panel-2);--color-card-border:var(--border-soft);--color-card-shadow:#0000}.light{color-scheme:dark}*{border-color:var(--border-soft)}[role=button],a,button,input,select,textarea{touch-action:manipulation}body,html{overscroll-behavior:none;min-height:100%}body{font-family:var(--font-sans),system-ui,sans-serif;background:var(--vk-bg-main);color:var(--text-strong);font-size:15px;line-height:1.4}.font-brand-display,.font-brand-header{font-family:var(--font-brand-display),var(--font-tomorrow),sans-serif}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3c3c3c;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#4c4c4c}.surface-card,.surface-panel{border:1px solid var(--border-soft);background:var(--bg-panel)}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-working) 40%,transparent)}70%,to{box-shadow:0 0 0 8px #0000}}@keyframes run-dot{0%,80%,to{opacity:.3;transform:scale(.72)}40%{opacity:1;transform:scale(1)}}.attention-glow{animation:pulse-ring 1.8s ease-out infinite}@media (max-width:767px){input,select,textarea{font-size:16px!important}}@media (pointer:coarse){.overflow-auto,.overflow-x-auto,.overflow-y-auto{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}body,html{overflow-x:hidden}.conductor-auth-form .cl-formButtonPrimary{color:var(--text-strong)!important;font-weight:700!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}