conductor-oss 0.47.2 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) 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 +4 -4
  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 +5 -5
  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/bridge/connect/page.js +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +4 -4
  44. package/web/.next/standalone/packages/web/.next/server/chunks/1489.js +1 -0
  45. package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
  46. package/web/.next/standalone/packages/web/.next/server/chunks/2505.js +1 -0
  47. package/web/.next/standalone/packages/web/.next/server/chunks/3990.js +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/chunks/406.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/chunks/7023.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/chunks/795.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  59. package/web/.next/standalone/packages/web/.next/static/chunks/4443.50ea9960af412881.js +1 -0
  60. package/web/.next/standalone/packages/web/.next/static/chunks/{4997-6a73d1bb7f426694.js → 4997-01e580511e9b0f6e.js} +1 -1
  61. package/web/.next/standalone/packages/web/.next/static/chunks/7878.844e4add18c822ce.js +1 -0
  62. package/web/.next/standalone/packages/web/.next/static/chunks/{8510-fcec71d54329c2c1.js → 8510-0c99cb3796946fb4.js} +1 -1
  63. package/web/.next/standalone/packages/web/.next/static/chunks/9083-f6cc418589b044e0.js +1 -0
  64. package/web/.next/standalone/packages/web/.next/static/chunks/{9542-d0618e0c5cc2cb34.js → 9542-ca23a5c06cb63f52.js} +1 -1
  65. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-b2cfb56f898f3f13.js +1 -0
  66. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/{page-3949d8bd9297b710.js → page-bb9b714470eb9d53.js} +1 -1
  67. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-b85be6f06526e4b6.js +1 -0
  68. package/web/.next/standalone/packages/web/.next/static/css/e942041e8202557e.css +1 -0
  69. package/web/.next/static/chunks/4443.50ea9960af412881.js +1 -0
  70. package/web/.next/static/chunks/{4997-6a73d1bb7f426694.js → 4997-01e580511e9b0f6e.js} +1 -1
  71. package/web/.next/static/chunks/7878.844e4add18c822ce.js +1 -0
  72. package/web/.next/static/chunks/{8510-fcec71d54329c2c1.js → 8510-0c99cb3796946fb4.js} +1 -1
  73. package/web/.next/static/chunks/9083-f6cc418589b044e0.js +1 -0
  74. package/web/.next/static/chunks/{9542-d0618e0c5cc2cb34.js → 9542-ca23a5c06cb63f52.js} +1 -1
  75. package/web/.next/static/chunks/app/layout-b2cfb56f898f3f13.js +1 -0
  76. package/web/.next/static/chunks/app/sessions/[id]/{page-3949d8bd9297b710.js → page-bb9b714470eb9d53.js} +1 -1
  77. package/web/.next/static/chunks/webpack-b85be6f06526e4b6.js +1 -0
  78. package/web/.next/static/css/e942041e8202557e.css +1 -0
  79. package/web/.next/standalone/packages/web/.next/server/chunks/4961.js +0 -1
  80. package/web/.next/standalone/packages/web/.next/server/chunks/8554.js +0 -1
  81. package/web/.next/standalone/packages/web/.next/static/chunks/1254.82607a9f7834419b.js +0 -1
  82. package/web/.next/standalone/packages/web/.next/static/chunks/4443.fa15b1e0eecedcf9.js +0 -1
  83. package/web/.next/standalone/packages/web/.next/static/chunks/9083-71b1ac941c487c6e.js +0 -1
  84. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-8bbef88f241abf1b.js +0 -1
  85. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-15f2d60691dfaaf7.js +0 -1
  86. package/web/.next/standalone/packages/web/.next/static/css/fac4f14c7e867f28.css +0 -1
  87. package/web/.next/static/chunks/1254.82607a9f7834419b.js +0 -1
  88. package/web/.next/static/chunks/4443.fa15b1e0eecedcf9.js +0 -1
  89. package/web/.next/static/chunks/9083-71b1ac941c487c6e.js +0 -1
  90. package/web/.next/static/chunks/app/layout-8bbef88f241abf1b.js +0 -1
  91. package/web/.next/static/chunks/webpack-15f2d60691dfaaf7.js +0 -1
  92. package/web/.next/static/css/fac4f14c7e867f28.css +0 -1
  93. /package/web/.next/standalone/packages/web/.next/static/{MznEMaOSBv_hr1wLP5Hgh → hpgLcywKq55x95GMvkI52}/_buildManifest.js +0 -0
  94. /package/web/.next/standalone/packages/web/.next/static/{MznEMaOSBv_hr1wLP5Hgh → hpgLcywKq55x95GMvkI52}/_ssgManifest.js +0 -0
  95. /package/web/.next/static/{MznEMaOSBv_hr1wLP5Hgh → hpgLcywKq55x95GMvkI52}/_buildManifest.js +0 -0
  96. /package/web/.next/static/{MznEMaOSBv_hr1wLP5Hgh → hpgLcywKq55x95GMvkI52}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9083],{862:(e,t,n)=>{n.d(t,{G:()=>C});var a=n(54568),r=n(7620),i=n(33593),o=n(90466),s=n(46916),l=n(79748),d=n(58299),c=n(34309),u=n(62868),p=n(2099),f=n(36645),m=n(59706),g=n(76081),h=n(17210),b=n(31404),v=n(44522);let y="conductor-dismissed-update-version";function w(){let e,t,n=(0,l.usePathname)(),i=(0,l.useSearchParams)(),[o,w]=(0,r.useState)(null),[x,C]=(0,r.useState)(null),[k,A]=(0,r.useState)(null),[j,S]=(0,r.useState)(!1),[M,I]=(0,r.useState)(!1),[E,P]=(0,r.useState)(!1),N=(0,r.useMemo)(()=>(0,b.y)(window.location.href),[n,i]),T=(0,r.useCallback)(()=>(0,b.y)(window.location.href),[]),B=(0,r.useCallback)((e=!1)=>{let t=(0,b.S)("/api/app-update",T());if(!e)return t;let n=new URL(t,"http://127.0.0.1");return n.searchParams.set("force","1"),`${n.pathname}${n.search}${n.hash}`},[T]),L=(0,r.useCallback)(async(e=!1)=>{try{let t=await fetch(B(e),{cache:"no-store"}),n=await t.json().catch(()=>null);if(412===t.status)return C(null),null;if(!t.ok)throw Error("string"==typeof n?.error?n.error:`Failed to load update status (${t.status})`);return w(n),C(null),n}catch(e){return C(e instanceof Error?e.message:"Failed to load update status."),null}},[B,T]);(0,r.useEffect)(()=>{try{let e=window.localStorage.getItem(y);A(e&&e.length>0?e:null)}catch{}L(!0);let e=N?()=>{}:(0,h.F)(e=>{e&&(w(e),C(null))}),t=()=>{"visible"===document.visibilityState&&L(!1)};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{e(),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t)}},[N,L]);let $=o?.latestVersion&&k===o.latestVersion,q=!!o?.restarting||E,O=(0,r.useMemo)(()=>!!o&&(!!q||"running"===o.jobStatus||!$&&("completed"===o.jobStatus||"failed"===o.jobStatus||!o.enabled&&!!o.reason||o.updateAvailable)),[$,q,o]);async function R(){o?.updateCommand&&(await navigator.clipboard.writeText(o.updateCommand),S(!0),window.setTimeout(()=>S(!1),1400))}async function G(){I(!0);try{let e=await fetch((0,b.S)("/api/app-update",T()),{method:"POST",headers:{"content-type":"application/json"}}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Update failed (${e.status})`);w(t),C(null)}catch(e){C(e instanceof Error?e.message:"Failed to trigger update.")}finally{I(!1)}}let U=(0,r.useCallback)(async()=>{let e=Date.now()+6e4;if(N){for(;Date.now()<e;){let e=await L(!1);if(!e?.restarting)return void P(!1);await new Promise(e=>window.setTimeout(e,1e3))}P(!1),C("Restart started on the paired device, but it did not reconnect in time. Retry from the bridge controls.");return}for(;Date.now()<e;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(e=>window.setTimeout(e,1e3))}P(!1),C("Restart started, but the dashboard did not come back in time. Reload manually.")},[N,L]);async function F(){try{let e=await fetch((0,b.S)("/api/app-update",T()),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Restart failed (${e.status})`);w(t),C(null)}catch(e){C(e instanceof Error?e.message:"Failed to restart Conductor.")}}return((0,r.useEffect)(()=>{o?.restarting&&!E&&(P(!0),U())},[E,o?.restarting,U]),O)?(0,a.jsx)("div",{className:"pointer-events-none fixed bottom-3 right-3 z-[70] w-[min(calc(100vw-1.5rem),24rem)] sm:bottom-4 sm:right-4",children:(0,a.jsxs)("section",{className:(0,s.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",o?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[q||o?.jobStatus==="running"?(0,a.jsx)(d.A,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):o?.jobStatus==="completed"?(0,a.jsx)(c.A,{className:"h-4 w-4 text-[var(--status-ready)]"}):o?.jobStatus==="failed"?(0,a.jsx)(u.A,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,a.jsx)(p.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,a.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:o?(t=(e=o.currentVersion?.trim())?` (build ${e})`:"",!o.enabled&&o.reason?`Conductor update unavailable${t}`:o.restarting?`Restarting Conductor${t}`:"running"===o.jobStatus?`Updating Conductor${t}`:"completed"===o.jobStatus?`Conductor updated${t}`:"failed"===o.jobStatus?`Update failed${t}`:o.latestVersion?`Conductor ${o.latestVersion} is available${t}`:`Conductor update available${t}`):"Conductor update"})]}),(0,a.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:o?function(e){if(!e.enabled&&e.reason)return(0,v.N8)(e);if(e.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===e.jobStatus)return e.jobMessage??"Installing the latest version in the background.";if("completed"===e.jobStatus)return e.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===e.jobStatus)return e.jobMessage??"The update command did not finish successfully.";let t=e.currentVersion?`You are running ${e.currentVersion}. `:"";return e.canAutoUpdate?`${t}Install the new release now and restart when it finishes.`:"npx"===e.installMode?`${t}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${t}Copy the update command, run it in a terminal, then restart Conductor.`}(o):"Checking for updates..."})]}),(0,a.jsx)("button",{type:"button",onClick:function(){if(o?.latestVersion){try{window.localStorage.setItem(y,o.latestVersion)}catch{}A(o.latestVersion);return}w(e=>e?{...e,reason:null,enabled:!0}:e)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Dismiss update notice",children:(0,a.jsx)(f.A,{className:"h-4 w-4"})})]}),o?.updateCommand?(0,a.jsx)("div",{className:"mt-3 rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]",children:o.updateCommand}):null,o?(0,a.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(e){switch(e){case"npx":return"This session was launched through npx. Copy the restart command, run it in a terminal, and the next launch will use the latest package.";case"unknown":return"Automatic updates are unavailable for this install.";default:return null}}(o.installMode)??(o.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,x?(0,a.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:x}):o?.error?(0,a.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:o.error}):null,o?.logsTail&&"failed"===o.jobStatus?(0,a.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-2 text-[10px] leading-4 text-[var(--vk-text-faint)]",children:o.logsTail}):null,(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[o?.jobStatus==="failed"&&o.canAutoUpdate?(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void G(),disabled:M,children:[M?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Retry"]}):null,o?.jobStatus==="idle"&&o.canAutoUpdate?(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void G(),disabled:M,children:[M?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}),"Update now"]}):null,o?.jobStatus==="idle"&&!o.canAutoUpdate&&o.updateCommand?(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void R(),children:[j?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}),j?"Copied":"npx"===o.installMode?"Copy restart command":"Copy command"]}):null,o?.restartRequired&&o.canRestart&&!o.restarting&&!E?(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void F(),children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,o?.restarting||E?(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}let x="conductor-workspace-sidebar-width";function C({sidebar:e,children:t,mobileSidebarOpen:n,desktopSidebarOpen:l,onToggleSidebar:d,hideMobileSidebarToggle:c=!1}){let[u,p]=(0,r.useState)(356),[f,m]=(0,r.useState)(!1);(0,r.useEffect)(()=>{try{let e=window.localStorage.getItem(x),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&p(Math.min(460,Math.max(296,t)))}catch{}},[]),(0,r.useEffect)(()=>{if(!f)return;let e=e=>{p(Math.min(460,Math.max(296,e.clientX)))},t=()=>{m(!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(x,String(u))}catch{}}},[f,u]);let g={"--workspace-sidebar-width":`${u}px`};return(0,a.jsxs)("div",{style:g,className:"relative flex h-svh w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] [padding-top:env(safe-area-inset-top)] [padding-bottom:env(safe-area-inset-bottom)] pl-[env(safe-area-inset-left)] pr-[env(safe-area-inset-right)]",children:[n&&(0,a.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:d,"aria-label":"Close workspace panel"}),(0,a.jsx)("aside",{className:(0,s.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-full max-w-none flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-[transform,width] duration-200 sm:w-[min(90vw,var(--workspace-sidebar-width))] sm:max-w-[28rem]",n?"translate-x-0":"-translate-x-full",l?"lg:w-[var(--workspace-sidebar-width)]":"lg:w-0 lg:overflow-hidden lg:border-r-0","lg:relative lg:left-auto lg:translate-x-0"),children:e}),l?(0,a.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>m(!0),"aria-hidden":"true",children:(0,a.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,l&&(0,a.jsx)("button",{type:"button",onClick:d,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,a.jsx)(i.A,{className:"h-5 w-5"})}),(0,a.jsxs)("main",{className:"relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!n&&!c&&(0,a.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 inline-flex h-11 w-11 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_10px_24px_rgba(0,0,0,0.28)] hover:bg-[var(--vk-bg-hover)] sm:h-8 sm:w-8 lg:hidden","aria-label":"Open workspace panel",children:(0,a.jsx)(o.A,{className:"h-5 w-5"})}),!l&&(0,a.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 hidden h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Open workspace panel",children:(0,a.jsx)(o.A,{className:"h-5 w-5"})}),t]}),(0,a.jsx)(w,{})]})}},5739:(e,t,n)=>{n.d(t,{q:()=>a});function a(e){return e.trim().toLowerCase().replace(/[_\s]+/g,"-")}},17210:(e,t,n)=>{n.d(t,{F:()=>M,L:()=>S});var a=n(31404),r=n(92070);let i=new Set,o=new Set,s=null,l=null,d=null,c=null,u=null,p=0;function f(){return i.size>0||o.size>0}function m(){return"u"<typeof document||"visible"===document.visibilityState}function g(e){if(Array.isArray(e))return{type:"snapshot",sessions:e};if(!e||"object"!=typeof e)return null;let t=e.type;return"snapshot"!==t&&"snapshot_delta"!==t?null:Array.isArray(e.sessions)?e:null}function h(e){return e&&"object"==typeof e&&"boolean"==typeof e.enabled?e:null}function b(e){for(let t of i)t(e);let t=h(e.appUpdate);if(t)for(let e of o)e(t)}function v(){return(0,a.y)(window.location.href)}async function y(){if("function"!=typeof fetch)return;let e=(async()=>{let e=v();try{let t=await fetch((0,a.S)("/api/sessions",e));if(!t.ok)return;let n=await t.json().catch(()=>null),r=g(n);if(!r)return;b(r)}catch{}try{let n=await fetch((0,a.S)("/api/app-update",e));if(!n.ok)return;let r=await n.json().catch(()=>null);var t=h(r);for(let e of o)e(t)}catch{}})();s=e.finally(()=>{s===e&&(s=null)}),await e}function w(){null!==u&&(window.clearTimeout(u),u=null)}function x(){if(!f()||!m()||v())return;w();let e=0===p?250:Math.min(400*2**(p-1),12e3);p+=1,u=window.setTimeout(()=>{u=null,A()},e)}function C(){w(),p=0,c?.abort(),c=null}async function k(e){try{let t=await fetch("/api/events",{cache:"no-store",signal:e.signal});if(!t.ok||!t.body){e.signal.aborted||x();return}for await(let n of(p=0,(0,r.w)(t.body,e.signal)))!function(e){let t;if("refresh"===e.event){s||y();return}try{t=JSON.parse(e.data)}catch{return}if(t&&"object"==typeof t&&"refresh"===t.type){s||y();return}let n=g(t);n&&b(n)}(n);e.signal.aborted||x()}catch{e.signal.aborted||x()}}function A(){if("u"<typeof fetch||c||!f()||!m()||v())return;let e=new AbortController;c=e,(async()=>{try{await k(e)}finally{c===e&&(c=null)}})()}function j(){if(!f()){C(),l&&(window.removeEventListener("focus",l),l=null),d&&(document.removeEventListener("visibilitychange",d),d=null);return}(l||d||(l=()=>{f()&&m()&&(A(),s||y())},d=()=>{f()&&m()?(A(),s||y()):C()},window.addEventListener("focus",l),document.addEventListener("visibilitychange",d)),v()||!m())?C():A()}function S(e){return i.add(e),j(),()=>{i.delete(e),j()}}function M(e){return o.add(e),j(),()=>{o.delete(e),j()}}},35821:(e,t,n)=>{n.d(t,{w:()=>r});var a=n(75120);function r(e,t=null,n){return(0,a.DA)(e,t,n)}},46012:(e,t,n)=>{n.d(t,{T:()=>i});var a=n(7620);function r(){return window.innerWidth>=1024}function i(e){let[t,n]=(0,a.useState)(!1),[i,o]=(0,a.useState)(e?.initialDesktopOpen??!0),s=(0,a.useCallback)(()=>{r()?o(e=>!e):n(e=>!e)},[]);return{mobileSidebarOpen:t,desktopSidebarOpen:i,toggleSidebar:s,closeSidebarOnMobile:(0,a.useCallback)(()=>{r()||n(!1)},[]),syncSidebarForViewport:(0,a.useCallback)(()=>{r()?o(!0):n(!1)},[])}}},53649:(e,t,n)=>{n.d(t,{U:()=>o});var a=n(7620),r=n(31404);function i(e,t){return{id:e,repo:"string"==typeof t?.repo?t.repo:null,path:"string"==typeof t?.path?t.path:null,iconUrl:"string"==typeof t?.iconUrl?t.iconUrl:null,boardDir:"string"==typeof t?.boardDir?t.boardDir:null,boardFile:"string"==typeof t?.boardFile?t.boardFile:null,description:"string"==typeof t?.description?t.description:null,defaultBranch:"string"==typeof t?.defaultBranch&&t.defaultBranch.trim().length>0?t.defaultBranch:"main",agent:"string"==typeof t?.agent&&t.agent.trim().length>0?t.agent:"claude-code",agentPermissions:"string"==typeof t?.agentPermissions&&t.agentPermissions.trim().length>0?t.agentPermissions:null,agentModel:"string"==typeof t?.agentModel&&t.agentModel.trim().length>0?t.agentModel:null,agentReasoningEffort:"string"==typeof t?.agentReasoningEffort&&t.agentReasoningEffort.trim().length>0?t.agentReasoningEffort:null}}function o(e,t){let n=t?.enabled??!0,[o,s]=(0,a.useState)([]),[l,d]=(0,a.useState)(n),[c,u]=(0,a.useState)(null),p=(0,a.useCallback)(async()=>{if(!n){s([]),u(null),d(!1);return}d(!0);try{let t=await fetch((0,r.S)("/api/config",e)),n=await t.json().catch(()=>null);if(!t.ok){let e="object"==typeof n&&null!==n?n.error??n.reason:null;throw Error(e??`Failed to fetch config: ${t.status}`)}s(function(e){if(!e||"object"!=typeof e)return[];let t=e.projects;return t?Array.isArray(t)?t.map((e,t)=>e&&"object"==typeof e?i("string"==typeof e.id&&e.id.trim().length>0?e.id:`project-${t+1}`,e):i(`project-${t+1}`,null)):"object"==typeof t?Object.entries(t).map(([e,t])=>i(e,t&&"object"==typeof t?t:null)):[]:[]}(n)),u(null)}catch(e){s([]),u(e instanceof Error?e.message:"Failed to fetch config")}finally{d(!1)}},[e,n]);return(0,a.useEffect)(()=>{p()},[p]),{projects:o,loading:!!n&&l,error:n?c:null,refresh:p}}},72410:(e,t,n)=>{n.d(t,{N:()=>u});var a=n(54568),r=n(7620);let i={amp:["/agents/amp-dark.svg","/agents/amp-light.svg"],claude:["/agents/claude-dark.svg","/agents/claude-light.svg"],codex:["/agents/codex-dark.svg","/agents/codex-light.svg"],copilot:["/agents/copilot-dark.svg","/agents/copilot-light.svg"],cursor:["/agents/cursor-dark.svg","/agents/cursor-light.svg"],droid:["/agents/droid-dark.svg","/agents/droid-light.svg"],gemini:["/agents/gemini-dark.svg","/agents/gemini-light.svg"],hermes:["/agents/hermes.png"],openclaw:["/agents/openclaw-dark.svg","/agents/openclaw-light.svg"],opencode:["/agents/opencode-dark.svg","/agents/opencode-light.svg"],qwen:["/agents/qwen-dark.svg","/agents/qwen-light.svg"]},o=new Map;for(let[e,t]of Object.entries({amp:["amp","amp-code","amp-cli","ampcode","agent-amp"],claude:["claude","claude-code","claude-cli","claudecode","ccr","claude-code-router","claude-mcp","claude-mcp-cli","claude-mcp-agent","agent-claude-code"],codex:["codex","openai-codex","codex-cli","codexcli","openai","agent-codex"],copilot:["copilot","github-copilot","githubcopilot","copilot-cli","agent-github-copilot"],cursor:["cursor","cursor-cli","cursor-agent","cursoragent","agent-cursor-cli"],droid:["droid","factory-droid","factory_droid","agent-droid"],gemini:["gemini","gemini-cli","google-gemini","googlegemini","agent-gemini"],hermes:["hermes","hermes-agent","nous-hermes","agent-hermes"],openclaw:["openclaw","open-claw","open_claw","agent-openclaw"],opencode:["opencode","open-code","open_code","open-code-cli","agent-opencode"],qwen:["qwen","qwen-code","qwen_code","qwen-code-cli","agent-qwen-code"]}))for(let n of t)o.set(s(n),e);function s(e){return e.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/_+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function l(e){let t=s(e);if(!t)return null;let n=o.get(t);if(n)return n;for(let e of t.split("-")){let t=o.get(e);if(t)return t}for(let[e,n]of o.entries())if(t===e||t.startsWith(`${e}-`)||t.endsWith(`-${e}`)||t.includes(`-${e}-`))return n;return null}function d(e){try{let t=new URL(e),n=l(t.hostname.replace(/^www\./,"").replace(/\./g,"-"));if(n)return n;return l(t.pathname.replace(/\//g,"-"))}catch{return l(e)}}function c({label:e,className:t}){let n=e.split(/[^a-z0-9]/iu).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()).join("");return(0,a.jsx)("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center justify-center rounded-[0.2rem] text-[9px] font-semibold text-white ${t}`,style:{backgroundColor:function(e){let t=["#14b8a6","#06b6d4","#0ea5e9","#8b5cf6","#ec4899","#f97316","#f59e0b","#ef4444","#22c55e","#84cc16"],n=0;for(let a=0;a<e.length;a+=1)n=(31*n+e.charCodeAt(a))%t.length;return t[Math.abs(n)%t.length]??"#6b7280"}(`${e}:${e.length}`)},children:n||"AI"})}function u({seed:e,className:t="h-6 w-6"}){let[n,o]=(0,r.useState)(0),s=e?.label?.trim()??"",p=(0,r.useMemo)(()=>s?function(e){if(!e.label.trim())return[];let t=l(e.label)??(e.homepage?d(e.homepage):null)??(e.iconUrl?d(e.iconUrl):null),n="string"==typeof e.iconUrl&&e.iconUrl.trim().length>0?e.iconUrl.trim():null,a=[];return t&&a.push(...i[t]),n&&a.push(n),a}({label:s,iconUrl:e?.iconUrl,homepage:e?.homepage}):[],[s,e?.homepage,e?.iconUrl]);if((0,r.useEffect)(()=>{o(0)},[s,p]),!s)return(0,a.jsx)(c,{label:"AI",className:t});let f=p[n]??null;return f?(0,a.jsx)("img",{src:f,alt:`${s} icon`,loading:"lazy",className:`${t} shrink-0 rounded-[0.2rem] object-contain scale-125`,onError:()=>o(e=>e+1)}):(0,a.jsx)(c,{label:s,className:t})}},75120:(e,t,n)=>{n.d(t,{DA:()=>P,Kc:()=>I,eI:()=>E});var a=n(7620),r=n(31404),i=n(10926),o=n(17210),s=n(77522);let l="local",d=new Map,c=new Map,u=new Map;function p(e){return(0,i.C0)(e)??l}function f(e){let t=d.get(e);return t||(t={sessionsById:new Map,orderedIds:[],version:0,loading:!0,error:null,listInitialized:!1,refreshPromise:null,unsubscribeSnapshots:null,activeConsumers:0,pollTimer:null,focusHandler:null,visibilityHandler:null},d.set(e,t)),t}function m(e){let t=c.get(e);return t||(t=new Set,c.set(e,t)),t}function g(e){for(let t of m(e))t()}function h(e,t){let n=u.get(e);if(n)for(let e of new Set(t)){let t=n.get(e);if(t)for(let e of t)e()}}function b(e){return[...e.values()].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)).map(e=>e.id)}function v(e,t,n){let a=f(e);a.sessionsById=t,a.orderedIds=n,a.version+=1}function y(e,t,n){let a=f(e),r=a.sessionsById.get(t);if(!r)return null;let i=new Map(a.sessionsById),o=n(r);return o?i.set(t,o):i.delete(t),v(e,i,b(i)),a.loading=!1,a.error=null,g(e),h(e,[t]),r}function w(e){return{id:e.id,projectId:e.projectId,bridgeId:e.bridgeId??null,bridgeConnected:e.bridgeConnected??null,bridgeConnection:e.bridgeConnection??null,status:e.status,activity:e.activity,branch:e.branch,model:e.model??null,reasoningEffort:e.reasoningEffort??null,issueId:e.issueId,summary:e.summary??null,createdAt:e.createdAt,lastActivityAt:e.lastActivityAt,pr:e.pr??null,metadata:e.metadata}}async function x(e,t){let n=f(e);if(n.refreshPromise)return void await n.refreshPromise;let a=(async()=>{let a=new Set(n.sessionsById.keys());try{var i;let o=await fetch((0,r.S)("/api/sessions",t),{cache:"no-store"});if(!o.ok){let e=await o.json().catch(()=>null);throw Error(e?.error??e?.reason??`Failed to fetch sessions: ${o.status}`)}let s=(i=await o.json().catch(()=>null),Array.isArray(i)?i:Array.isArray(i?.sessions)?i.sessions:[]);for(let e of s)a.add(e.id);let l=new Map(s.map(e=>[e.id,e]));v(e,l,b(l)),n.error=null}catch(e){n.error=e instanceof Error?e.message:"Failed to fetch sessions"}finally{n.loading=!1,g(e),h(e,a)}})();n.refreshPromise=a.finally(()=>{n.refreshPromise===a&&(n.refreshPromise=null)}),await a}function C(){return"visible"===document.visibilityState}function k(e){let t=f(e);null!==t.pollTimer&&(window.clearTimeout(t.pollTimer),t.pollTimer=null)}function A(e,t){let n=f(e);k(e),e!==l&&0!==n.activeConsumers&&C()&&(n.pollTimer=window.setTimeout(async()=>{0!==f(e).activeConsumers&&C()&&(await x(e,t),A(e,t))},15e3))}function j(e,t){let n=f(e);n.activeConsumers+=1,n.activeConsumers>1||(!function(e){if(e!==l)return;let t=f(e);t.unsubscribeSnapshots||(t.unsubscribeSnapshots=(0,o.L)(t=>{let n=f(e),a=new Set;if("snapshot"===t.type){for(let e of n.sessionsById.keys())a.add(e);for(let e of t.sessions)a.add(e.id);v(e,new Map(t.sessions.map(e=>{let t=w(e);return[t.id,t]})),t.sessions.map(e=>e.id))}else{let r=new Map(n.sessionsById);for(let e of t.sessions){let t=w(e);r.set(t.id,t),a.add(t.id)}for(let e of t.removedSessionIds??[])r.delete(e),a.add(e);v(e,r,b(r))}n.loading=!1,n.error=null,g(e),h(e,a)}))}(e),n.listInitialized||(n.listInitialized=!0),function(e,t){let n=f(e);if(n.focusHandler||n.visibilityHandler)return;let a=()=>{0!==n.activeConsumers&&(x(e,t),A(e,t))},r=()=>{0!==n.activeConsumers&&("visible"===document.visibilityState&&x(e,t),k(e),A(e,t))};n.focusHandler=a,n.visibilityHandler=r,window.addEventListener("focus",a),document.addEventListener("visibilitychange",r)}(e,t),C()&&x(e,t),A(e,t))}function S(e){let t=f(e);if(t.activeConsumers=Math.max(0,t.activeConsumers-1),!(t.activeConsumers>0)){let n;k(e),(n=f(e)).focusHandler&&(window.removeEventListener("focus",n.focusHandler),n.focusHandler=null),n.visibilityHandler&&(document.removeEventListener("visibilitychange",n.visibilityHandler),n.visibilityHandler=null),t.unsubscribeSnapshots?.(),t.unsubscribeSnapshots=null}}async function M(e,t,n){let a=f(t);try{let i=await fetch((0,r.S)(`/api/sessions/${encodeURIComponent(e)}`,n),{cache:"no-store"});if(404===i.status){let n=new Map(a.sessionsById);return n.delete(e),v(t,n,b(n)),a.error=null,null}if(!i.ok){let e=await i.json().catch(()=>null);throw Error(e?.error??e?.reason??`Failed to fetch session: ${i.status}`)}let o=await i.json(),s=new Map(a.sessionsById);return s.set(o.id,o),v(t,s,b(s)),a.error=null,o}catch(e){throw a.error=e instanceof Error?e.message:"Failed to fetch session",e}finally{a.loading=!1,g(t),h(t,[e])}}function I(e,t){let n=e.trim();if(!n)return()=>{};let a=p(t?.bridgeId??(0,i.DW)(n)?.bridgeId??null),r=y(a,n,e=>{if("archived"===e.status.trim().toLowerCase())return e;let t=new Date().toISOString(),n={...e.metadata};return n.archivedAt=n.archivedAt??t,n.finishedAt=n.finishedAt??t,n.summary="Archived",delete n.terminationRequested,{...e,status:"archived",activity:"exited",summary:"Archived",lastActivityAt:t,metadata:n}});if(!r)return()=>{};let o="function"==typeof structuredClone?structuredClone(r):JSON.parse(JSON.stringify(r));return()=>{y(a,n,()=>o)}}function E(e,t){let n=t?.enabled??!0,r=p(t?.bridgeId),i=f(r),[,o]=(0,a.useReducer)(e=>e+1,0),[s,l]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{var e;let a;if(l(!0),!n)return;j(r,t?.bridgeId);let i=(e=()=>o(),(a=m(r)).add(e),()=>{a.delete(e)});return()=>{i(),S(r)}},[n,t?.bridgeId,r]),{sessions:(0,a.useMemo)(()=>{let t,a;return n&&s?(t=f(r),a=e?.trim(),t.orderedIds.map(e=>t.sessionsById.get(e)).filter(e=>!!e).filter(e=>!a||e.projectId===a)):[]},[n,s,e,r,i.version]),loading:!!n&&(!s||i.loading),error:n?i.error:null,refresh:()=>x(r,t?.bridgeId)}}function P(e,t=null,n){let r=n?.enabled??!0,o="string"==typeof e&&e.trim().length>0?e.trim():null,d=(0,i.C0)(n?.bridgeId??t?.bridgeId??(0,i.DW)(o)?.bridgeId??null),c=p(d),m=f(c),[,y]=(0,a.useReducer)(e=>e+1,0),[w,x]=(0,a.useState)(!1),[C,k]=(0,a.useState)(t),[A,I]=(0,a.useState)(null),[E,N]=(0,a.useState)(r&&null!==o&&null===t),T=o?m.sessionsById.get(o)??C??t:null;return(0,a.useEffect)(()=>{x(!0),function(e,t){if(!t)return;let n=f(e),a=n.sessionsById.get(t.id);if(a&&JSON.stringify(a)===JSON.stringify(t))return;let r=new Map(n.sessionsById);r.set(t.id,t),v(e,r,b(r)),n.loading=!1,g(e),h(e,[t.id])}(c,t),k(t),I(null)},[t,c]),(0,a.useEffect)(()=>{if(r&&null!==o){var e;let t,n,a;return e=()=>y(),(t=u.get(c))||(t=new Map,u.set(c,t)),(n=t.get(o))||(n=new Set,t.set(o,n)),(a=n).add(e),()=>{if(a.delete(e),a.size>0)return;let t=u.get(c);t?.delete(o),t&&0===t.size&&u.delete(c)}}},[r,o,c]),(0,a.useEffect)(()=>{if(r&&null!==o)return j(c,d),()=>{S(c)}},[r,d,o,c]),(0,a.useEffect)(()=>{var e;let t;if(!r||null===o||c===l||(e=T?.status,(t=e?.trim().toLowerCase())&&s.C.has(t)))return;let n=()=>{"visible"===document.visibilityState&&M(o,c,d).catch(()=>{})};n();let a=window.setInterval(n,5e3);return()=>{window.clearInterval(a)}},[T?.status,r,d,o,c]),(0,a.useEffect)(()=>{if(!r||null===o){k(null),I(null),N(!1);return}if(t||m.sessionsById.has(o)){k(e=>m.sessionsById.get(o)??e??t),I(null),N(!1);return}let e=!1;return N(!0),I(null),M(o,c,d).then(t=>{e||(k(t),I(null))}).catch(t=>{e||(k(null),I(t instanceof Error?t.message:"Failed to fetch session"))}).finally(()=>{e||N(!1)}),()=>{e=!0}},[r,d,t,o,c,m]),{session:o?w?T??null:t??null:null,loading:E,error:r&&o?A??m.error:null}}},76050:(e,t,n)=>{function a(e){return e?.metadata.sessionKind==="project_dispatcher"}function r(e){return a(e)?"dispatcher":"terminal"}n.d(t,{Zu:()=>a,tK:()=>r})},76196:(e,t,n)=>{n.d(t,{DZ:()=>v,O$:()=>h,Tk:()=>m,Zp:()=>u,Zz:()=>p,d8:()=>g,u6:()=>b,yM:()=>f}),[...new Set(["killed","terminated","done","cleanup","errored","merged"])];let a=["amp","claude-code","codex","cursor-cli","droid","gemini","github-copilot","opencode","qwen-code","ccr"],r={amp:"default",claudeCode:"pro",codex:"chatgpt",cursorCli:"default",droid:"default",gemini:"oauth",githubCopilot:"default",opencode:"default",qwenCode:"oauth",ccr:"default"},i={amp:{agent:"amp",label:"Amp",accessKey:"amp",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Amp CLI catalog and custom override support."}]},"claude-code":{agent:"claude-code",label:"Claude Code",accessKey:"claudeCode",defaultAccess:"pro",accessOptions:[{id:"pro",label:"Claude Pro",description:"Shows the current Sonnet models that Claude Code documents for Pro usage."},{id:"max",label:"Claude Max",description:"Unlocks both Sonnet and Opus model choices in Claude Code."},{id:"api",label:"Anthropic API",description:"Use direct Anthropic API credentials instead of a Claude subscription."}]},codex:{agent:"codex",label:"Codex",accessKey:"codex",defaultAccess:"chatgpt",accessOptions:[{id:"chatgpt",label:"ChatGPT Plan",description:"Use the ChatGPT-backed Codex login flow for paid ChatGPT workspaces."},{id:"api",label:"OpenAI API",description:"Use direct OpenAI API credentials when Codex is pointed at the API."}]},"cursor-cli":{agent:"cursor-cli",label:"Cursor Agent",accessKey:"cursorCli",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Cursor Agent catalog and custom override support."}]},droid:{agent:"droid",label:"Droid",accessKey:"droid",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Droid catalog and custom override support."}]},gemini:{agent:"gemini",label:"Gemini",accessKey:"gemini",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Google Login",description:"Use the built-in Google account flow that Gemini CLI ships with."},{id:"api",label:"Gemini API",description:"Use a Gemini API key or Vertex AI project for broader model control."}]},"github-copilot":{agent:"github-copilot",label:"GitHub Copilot",accessKey:"githubCopilot",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Copilot CLI catalog and custom override support."}]},opencode:{agent:"opencode",label:"OpenCode",accessKey:"opencode",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed OpenCode catalog and custom override support."}]},"qwen-code":{agent:"qwen-code",label:"Qwen Code",accessKey:"qwenCode",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Qwen OAuth",description:"Use Qwen Code's built-in browser login and bundled provider defaults."},{id:"api",label:"DashScope / Custom API",description:"Use DashScope or another OpenAI-compatible endpoint configured for Qwen Code."}]},ccr:{agent:"ccr",label:"CCR",accessKey:"ccr",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Claude Code Router catalog and custom override support."}]}},o=[{id:"low",label:"Low",description:"Fast responses with lighter reasoning."},{id:"medium",label:"Medium",description:"Balanced speed and reasoning depth for everyday tasks."},{id:"high",label:"High",description:"Deeper reasoning for more complex tasks."}],s=[...o,{id:"xhigh",label:"Extra High",description:"Maximum reasoning depth for the hardest tasks."}];function l(e,t,n,a=function(e){return e.trim().split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":e[0]?.toUpperCase()+e.slice(1)).join(" ")}(e)){return{id:e,label:a,description:t,access:n}}let d={amp:{modelsByAccess:{default:[l("free","Amp Free mode prioritizes lower-cost execution.",["default"],"Amp Free"),l("rush","Amp Rush mode prioritizes faster turnaround.",["default"],"Amp Rush"),l("smart","Amp Smart mode balances quality, speed, and tool choice.",["default"],"Amp Smart"),l("deep","Amp Deep mode enables the highest-capability reasoning path.",["default"],"Amp Deep")]},defaultModelByAccess:{default:"smart"}},"claude-code":{modelsByAccess:{pro:[l("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),l("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],max:[l("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),l("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),l("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],api:[l("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),l("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),l("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")]},defaultModelByAccess:{pro:"claude-sonnet-4-6",max:"claude-opus-4-6",api:"claude-sonnet-4-6"},reasoningOptionsByAccess:{pro:o,max:o,api:o},defaultReasoningByAccess:{pro:"medium",max:"high",api:"medium"}},codex:{modelsByAccess:{chatgpt:[l("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),l("gpt-5.4-mini","Smaller GPT-5.4 variant for faster or lower-cost coding tasks.",["chatgpt","api"],"GPT-5.4-Mini"),l("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),l("gpt-5.3-codex-spark","Fast Codex model optimized for rapid iteration.",["chatgpt"],"GPT-5.3-Codex-Spark"),l("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),l("gpt-5.2","Previous frontier model for professional work with configurable reasoning effort.",["chatgpt","api"],"GPT-5.2"),l("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),l("gpt-5.1-codex-mini","Smaller Codex model for quick tasks.",["chatgpt","api"],"GPT-5.1-Codex-Mini")],api:[l("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),l("gpt-5.4-mini","Smaller GPT-5.4 variant for faster or lower-cost coding tasks.",["chatgpt","api"],"GPT-5.4-Mini"),l("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),l("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),l("gpt-5.2","Previous frontier model for professional work with configurable reasoning effort.",["chatgpt","api"],"GPT-5.2"),l("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),l("gpt-5.1-codex-mini","Smaller Codex model for quick tasks.",["chatgpt","api"],"GPT-5.1-Codex-Mini")]},defaultModelByAccess:{chatgpt:"gpt-5.4",api:"gpt-5.4"},reasoningOptionsByAccess:{chatgpt:s,api:s},defaultReasoningByAccess:{chatgpt:"high",api:"high"}},"cursor-cli":{modelsByAccess:{default:[l("gpt-5","Cursor Agent's GPT-5 preset alias.",["default"],"GPT-5"),l("sonnet-4","Cursor Agent's Sonnet preset alias.",["default"],"Sonnet 4"),l("opus","Cursor Agent's Opus preset alias.",["default"],"Opus")]},defaultModelByAccess:{default:"gpt-5"}},droid:{modelsByAccess:{default:[]},defaultModelByAccess:{}},gemini:{modelsByAccess:{oauth:[l("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),l("gemini-3-flash-preview","Fast Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3 Flash Preview")],api:[l("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),l("gemini-3-flash-preview","Fast Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3 Flash Preview")]},defaultModelByAccess:{oauth:"gemini-3.1-pro-preview",api:"gemini-3.1-pro-preview"}},"github-copilot":{modelsByAccess:{default:[]},defaultModelByAccess:{}},opencode:{modelsByAccess:{default:[]},defaultModelByAccess:{}},"qwen-code":{modelsByAccess:{oauth:[l("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")],api:[l("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")]},defaultModelByAccess:{oauth:"coder-model",api:"coder-model"}},ccr:{modelsByAccess:{default:[l("claude-sonnet-4-6","Balanced Claude model exposed through Claude Code Router.",["default"],"Claude Sonnet 4.6"),l("claude-opus-4-6","Highest-capability Claude model exposed through Claude Code Router.",["default"],"Claude Opus 4.6"),l("claude-haiku-4-5","Fast Claude model exposed through Claude Code Router.",["default"],"Claude Haiku 4.5")]},defaultModelByAccess:{default:"claude-sonnet-4-6"},reasoningOptionsByAccess:{default:o},defaultReasoningByAccess:{default:"medium"}}};function c(e){let t=e.trim().toLowerCase().replace(/[_\s]+/g,"-");return a.includes(t)?t:null}function u(){return{...r}}function p(e){return null!==c(e)}function f(e){let t=c(e);return t?i[t]:null}function m(e,t){let n=f(e);if(!n)return null;let a=t?.[n.accessKey];return"string"==typeof a&&n.accessOptions.some(e=>e.id===a)?a:n.defaultAccess}function g(e,t){let n=c(e);if(!n)return[];let a=m(n,t);if(!a)return[];let r=d[n],i=r.modelsByAccess[a]??[];if(i.length>0)return[...i];let o=[],s=new Set;for(let e of Object.values(r.modelsByAccess))if(Array.isArray(e))for(let t of e)s.has(t.id)||(s.add(t.id),o.push(t));return o}function h(e,t){let n=c(e);if(!n)return null;let a=m(n,t);return a?d[n].defaultModelByAccess[a]??null:null}function b(e,t){let n=c(e);if(!n)return[];let a=m(n,t);return a?d[n].reasoningOptionsByAccess?.[a]??[]:[]}function v(e,t){let n=c(e);if(!n)return null;let a=m(n,t);return a?d[n].defaultReasoningByAccess?.[a]??null:null}},84169:(e,t,n)=>{n.d(t,{V:()=>o});var a=n(54568),r=n(7620),i=n(37270);let o=(0,r.memo)(function({title:e,onOpenPreferences:t,rightContent:n}){return(0,a.jsxs)("header",{className:"flex h-[33px] items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-14 pr-2 text-[12px] text-[var(--vk-text-muted)] sm:pl-5 sm:pr-5 sm:text-[13px]",children:[(0,a.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,a.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-muted)]",children:e??"All Projects"})}),n?(0,a.jsx)("div",{className:"ml-1 flex shrink-0 items-center gap-1.5",children:n}):null,t?(0,a.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,a.jsx)("button",{type:"button",onClick:t,className:"inline-flex h-8 w-8 items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open preferences",title:"Preferences",children:(0,a.jsx)(i.A,{className:"h-4 w-4"})})}):null]})})},84527:(e,t,n)=>{n.d(t,{J:()=>o});var a=n(31404),r=n(75120);async function i(e,t){let n=await fetch((0,a.S)(`/api/sessions/${encodeURIComponent(e)}/archive`,t),{method:"POST"}),r=await n.json().catch(()=>null);if(404===n.status&&(n=await fetch((0,a.S)(`/api/sessions/${encodeURIComponent(e)}/actions`,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),r=await n.json().catch(()=>null)),!n.ok)throw Error(r?.error??`Failed to archive session: ${n.status}`)}async function o(e,t){let n=(0,r.Kc)(e,t);try{await i(e,t?.bridgeId)}catch(e){throw n(),e}}},85626:(e,t,n)=>{n.d(t,{$E:()=>u,ww:()=>d,zu:()=>c});let a="abstract-sound-4",r={"abstract-sound-1":{steps:[{frequency:784,durationMs:90,gain:.24},{frequency:988,durationMs:90,gain:.22},{frequency:1175,durationMs:120,gain:.2}]},"abstract-sound-2":{steps:[{frequency:659,durationMs:120,gain:.22},{frequency:523,durationMs:140,gain:.2},{frequency:659,durationMs:120,gain:.18}]},"abstract-sound-3":{steps:[{frequency:440,durationMs:80,gain:.22},{frequency:554,durationMs:80,gain:.22},{frequency:659,durationMs:90,gain:.2},{frequency:880,durationMs:120,gain:.18}]},"abstract-sound-4":{steps:[{frequency:523,durationMs:130,gain:.22},{frequency:659,durationMs:130,gain:.2},{frequency:784,durationMs:150,gain:.18}]},"cow-mooing":{steps:[{frequency:220,durationMs:220,type:"triangle",gain:.24},{frequency:174,durationMs:260,type:"triangle",gain:.2}]},"phone-vibration":{vibrate:[120,60,120,60,180],steps:[{frequency:180,durationMs:140,gain:.16},{frequency:220,durationMs:140,gain:.14}]},rooster:{steps:[{frequency:784,durationMs:70,type:"square",gain:.24},{frequency:1046,durationMs:70,type:"square",gain:.22},{frequency:1318,durationMs:90,type:"square",gain:.2},{frequency:1568,durationMs:120,type:"square",gain:.18}]}},i=null;function o(){let e=window,t=e.AudioContext??e.webkitAudioContext;return t?(i||(i=new t),i):null}function s(e){let t=e?.trim();return t&&t in r?t:a}function l(e,t,n){return Math.min(n,Math.max(t,e))}function d(e){return s(e)}async function c(){let e=o();if(!e)return!1;if("suspended"===e.state)try{await e.resume()}catch{return!1}return"running"===e.state}async function u(e,t){let n=s(e),a=r[n];if("phone-vibration"===n&&a.vibrate&&"u">typeof navigator&&"function"==typeof navigator.vibrate)return navigator.vibrate(a.vibrate);let i=o();if(!i||!a.steps||0===a.steps.length)return!1;if("suspended"===i.state)try{await i.resume()}catch{return!1}if("running"!==i.state)return!1;let d=l(t?.volume??.4,.05,.8),c=i.currentTime+.02;for(let e of a.steps)!function(e,t,n,a){let r=e.createOscillator(),i=e.createGain(),o=l((n.gain??1)*a,.02,.9),s=Math.max(.04,n.durationMs/1e3),d=t+Math.max(.015,Math.min(.05,.35*s)),c=t+Math.max(.02,.7*s),u=t+s;r.type=n.type??"sine",r.frequency.setValueAtTime(n.frequency,t),i.gain.setValueAtTime(1e-4,t),i.gain.linearRampToValueAtTime(o,d),i.gain.exponentialRampToValueAtTime(1e-4,c),i.gain.setValueAtTime(1e-4,u),r.connect(i),i.connect(e.destination),r.start(t),r.stop(u+.05)}(i,c,e,d),c+=Math.max(.06,e.durationMs/1e3+.04);return!0}},86011:(e,t,n)=>{n.d(t,{Q:()=>c});var a=n(7620),r=n(31404),i=n(85626);function o(){return"u"<typeof document||"visible"===document.visibilityState}function s(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function l(e){return`${e.id}::${e.timestamp}`}function d(e){null!==e.current&&(window.clearTimeout(e.current),e.current=null)}function c({enabled:e,projectId:t,preferences:n,bridgeId:u}){let p=(0,a.useRef)(n?.soundEnabled!==!1),f=(0,a.useRef)((0,i.ww)(n?.soundFile)),m=(0,a.useRef)(new Set),g=(0,a.useRef)(null),h=(0,a.useRef)(!1),b=(0,a.useRef)(null),v=(0,a.useRef)(null),y=(0,a.useRef)(null);(0,a.useEffect)(()=>{p.current=n?.soundEnabled!==!1,f.current=(0,i.ww)(n?.soundFile)},[n?.soundEnabled,n?.soundFile]),(0,a.useEffect)(()=>{if(!e)return;let n=t?.trim()||null,a=u?.trim()||null,c=`${a??"local"}::${n??""}`;b.current!==c&&(b.current=c,m.current=new Set,g.current=null,h.current=!1);let w=!1,x=async e=>{if(w||!o())return;if(v.current)return void await v.current;let t=(async()=>{let t=new URLSearchParams({limit:"20"});n&&t.set("project",n),!e&&g.current&&t.set("since",g.current);try{var o;let n,d=await fetch((0,r.S)(`/api/notifications?${t.toString()}`,a),{cache:"no-store"});if(!d.ok)return;let c=(o=await d.json().catch(()=>null),n=s(o),(Array.isArray(n.notifications)?n.notifications:[]).map(e=>{var t;let n,a,r,i,o,l,d,c;return n=s(e),a="string"==typeof n.id?n.id.trim():"",r="string"==typeof n.message?n.message.trim():"",i="string"==typeof n.timestamp?n.timestamp.trim():"",o="string"==typeof n.sessionId?n.sessionId.trim():"",l="string"==typeof n.projectId?n.projectId.trim():"",d="string"==typeof n.type?n.type.trim():"",c="high"===(t=n.priority)||"medium"===t||"low"===t?n.priority:"low",a&&r&&i&&o&&l&&d?{id:a,priority:c,message:r,timestamp:i,sessionId:o,projectId:l,type:d}:null}).filter(e=>null!==e).sort((e,t)=>{let n=Date.parse(t.timestamp)-Date.parse(e.timestamp);return 0!==n?n:t.id.localeCompare(e.id)}));if(0===c.length){h.current=!0;return}if(g.current=c[0]?.timestamp??null,e||!h.current){for(let e of c)m.current.add(l(e));h.current=!0;return}let u=c.filter(e=>!m.current.has(l(e)));for(let e of c)m.current.add(l(e));if(0===u.length)return;let b=u.find(e=>"high"===e.priority)??u.find(e=>"medium"===e.priority)??u[0]??null;if(!b||"low"===b.priority||!p.current)return;await (0,i.$E)(f.current)}catch{}})();v.current=t;try{await t}finally{v.current===t&&(v.current=null),h.current=!0}},C=()=>{d(y),!w&&o()&&(y.current=window.setTimeout(()=>{x(!1).finally(()=>{C()})},1e4))},k=()=>{!w&&o()&&x(!h.current).finally(()=>{C()})},A=()=>{o()?k():d(y)},j=()=>{o()&&k()},S=()=>{(0,i.zu)()};return k(),window.addEventListener("focus",j),document.addEventListener("visibilitychange",A),window.addEventListener("pointerdown",S,!0),window.addEventListener("touchstart",S,!0),window.addEventListener("keydown",S,!0),()=>{w=!0,d(y),window.removeEventListener("focus",j),document.removeEventListener("visibilitychange",A),window.removeEventListener("pointerdown",S,!0),window.removeEventListener("touchstart",S,!0),window.removeEventListener("keydown",S,!0)}},[u,e,t])}},92070:(e,t,n)=>{n.d(t,{w:()=>o});let a=/\r?\n\r?\n/;function r(e){return e.trimStart()}function i(e){let t=null,n=[];for(let a of e.split(/\r?\n/))!a.startsWith(":")&&(a.startsWith("event:")?t=r(a.slice(6)):a.startsWith("data:")&&n.push(r(a.slice(5))));return 0===n.length?null:{event:t,data:n.join("\n")}}async function*o(e,t){let n=e.getReader(),r=new TextDecoder,o="";try{for(;;){if(t?.aborted)return;let{done:e,value:s}=await n.read();if(e){let e=r.decode(void 0,{stream:!1});e.length>0&&(o+=e)}else s&&(o+=r.decode(s,{stream:!0}));for(;;){let e=o.match(a);if(!e||"number"!=typeof e.index)break;let t=o.slice(0,e.index);o=o.slice(e.index+e[0].length);let n=i(t);n&&(yield n)}if(e){let e=i(o);e&&(yield e);break}}}finally{n.releaseLock()}}},95106:(e,t,n)=>{n.d(t,{t:()=>r});var a=n(75120);function r(e,t){return(0,a.eI)(e,t)}}}]);
@@ -1 +1 @@
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:()=>C});var r=n(54568),l=n(26083),i=n(13454);let a=(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"}]]),s=(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 o=n(58299),c=n(60527),u=n(14796),d=n(36645),m=n(82797),h=n(7620),f=n(76081),p=n(31404);let w=new Set(["queued","spawning","running","working","needs_input","stuck"]),b=new Set(["done","needs_input","stuck","errored","terminated","killed"]);var x=n(63680);function g(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function y(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}function v(e){return e.startsWith("/api/sessions/")&&e.includes("/terminal/ttyd")}async function k(e,t){let n=await fetch((0,p.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,i="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():null,a=(()=>{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,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:i,expiresInSeconds:a}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,reason:r?.error??"Terminal unavailable"}}async function j(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);g(n.hostname)&&!g(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=x.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:i}=window.location;return"3000"===i||"4747"===i?`${n}//${r}:4749`:l}(),r=window.location.origin,l=await k(e,t);if(!l.interactive)return{terminalUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null};let i=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&&v(e)?r:n,i=new URL(l,t);return"ws:"===i.protocol&&(i.protocol="http:"),"wss:"===i.protocol&&(i.protocol="https:"),"/ws"===i.pathname?i.pathname="/":i.pathname.endsWith("/ws")&&(i.pathname=y(i.pathname.slice(0,-3))),i.pathname=y(i.pathname),i.hash="",i.toString()}catch{return null}}(l.ttydHttpUrl,l.ttydWsUrl,n,r);return i?{terminalUrl:function(e,t){let n=t?.trim();if(!n)return e;try{let t=new URL(e);if(!v(t.pathname))return e;return t.searchParams.set("bridgeId",n),t.toString()}catch{return e}}(i,t?.bridgeId),interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds}:{terminalUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."}}function N(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}var S=n(86181);let U=new Set(["archived","killed","terminated","restored"]);async function L(e,t,n){let r=await fetch((0,p.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 E(e,t){if(!e||!t||null===e.contentWindow)return;let n="*";try{n=new URL(e.src).origin}catch{}e.contentWindow.postMessage({type:"conductor-ttyd-auth-token",token:t},n)}function R(e){let{sessionId:t,bridgeId:n,sessionState:i,runtimeMode:x,pendingInsert:g,immersiveMobileMode:y=!1,onPendingInsertConsumed:v}=e,k=(0,h.useRef)(null),R=(0,h.useRef)(0),C=(0,h.useRef)(0),A=(0,h.useRef)(null),I=(0,h.useRef)(!1),T=(0,h.useRef)(null),M=(0,h.useRef)(0),_=(0,h.useMemo)(()=>i.trim().toLowerCase(),[i]),P=x?.trim().toLowerCase()??null,$="ttyd"===P,z=$?!U.has(_):w.has(_),O=!$&&!y&&b.has(_),[W,F]=(0,h.useState)(null),[H,q]=(0,h.useState)(null),[D,B]=(0,h.useState)(z),[K,V]=(0,h.useState)(null),[J,X]=(0,h.useState)(!1),[G,Q]=(0,h.useState)(0),[Y,Z]=(0,h.useState)(""),[ee,et]=(0,h.useState)(!1),[en,er]=(0,h.useState)(null),[el,ei]=(0,h.useState)(null),[ea,es]=(0,h.useState)(!1),eo=(0,h.useRef)(null),ec=(0,h.useRef)(!1),eu=(0,h.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}}(H);e&&E(A.current?.querySelector("iframe"),e)},[H]);(0,h.useEffect)(()=>{eo.current=W},[W]),(0,h.useEffect)(()=>{I.current=J},[J]),(0,h.useEffect)(()=>{R.current=0,C.current=0,F(null),q(null),B(z),V(null),X(!1),Q(0),Z(""),et(!1),er(null),ei(null),ec.current=!1,I.current=!1,T.current=null,M.current=0},[z,t]),(0,h.useEffect)(()=>{if(!z){B(!1),V(null);return}let e=!1,r=null,l=null,i=new AbortController;return B(!0),V(null),j(t,{signal:i.signal,bridgeId:n}).then(t=>{if(!e){if(C.current=0,t.interactive&&t.terminalUrl){var n,r,i;let e,a,s=ec.current||(n=eo.current,r=t.terminalUrl,e=N(n),a=N(r),!e||e!==a);ec.current=!1,q(t.terminalUrl);let o=!s&&eo.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),i=new URLSearchParams(r.searchParams);l.delete("token"),i.delete("token");let a=l.toString(),s=i.toString();if(a!==s)return!1;let o=new URL(e).searchParams.get("token"),c=new URL(t).searchParams.get("token");return o!==c}catch{return!1}}(eo.current,t.terminalUrl);if(s||!eo.current)eo.current||X(!1),F(t.terminalUrl);else if(o){let e=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();if(e){let t=A.current?.querySelector("iframe");t&&E(t,e)}}V(null);let c="number"!=typeof(i=t.expiresInSeconds)||!Number.isFinite(i)||i<=0?null:1e3*Math.max(5,i-10);null!==c&&(l=window.setTimeout(()=>{Q(e=>e+1)},c));return}eo.current||(F(null),q(null),X(!1)),V(t.reason??"Live ttyd terminal is unavailable.")}}).catch(t=>{if(e||t instanceof DOMException&&"AbortError"===t.name)return;let n=!!eo.current;n||(F(null),q(null),X(!1)),V(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=C.current,i=n?5e3:Math.min(4e3,500*2**l);C.current=n?0:Math.min(l+1,3),r=window.setTimeout(()=>{Q(e=>e+1)},i)}).finally(()=>{e||B(!1)}),()=>{e=!0,i.abort(),null!==r&&window.clearTimeout(r),null!==l&&window.clearTimeout(l)}},[n,G,z,t]);let ed=(0,h.useCallback)(()=>{if(!z)return;let e=window.Date.now();if(e-M.current<1500)return;M.current=e;let t=null===T.current?0:e-T.current;T.current=null,eu(),t>=3e5&&I.current&&eo.current&&(ec.current=!0),Q(e=>e+1)},[z,eu]);(0,h.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){T.current=window.Date.now();return}"visible"===document.visibilityState&&ed()},t=()=>{ed()};return document.addEventListener("visibilitychange",e),window.addEventListener("focus",t),window.addEventListener("pageshow",t),window.addEventListener("online",t),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("focus",t),window.removeEventListener("pageshow",t),window.removeEventListener("online",t)}},[ed]),(0,h.useEffect)(()=>{if(!g||g.nonce<=R.current)return;R.current=g.nonce;let e=g.inlineText.trim();if(0===e.length)return;let r=!1;return L(t,`${e} `,n).then(()=>{r||(ei(null),v?.())}).catch(e=>{r||ei(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{r=!0}},[n,v,g,t]),(0,h.useEffect)(()=>{J&&eu()},[J,eu]);let em=(0,h.useCallback)(async()=>{let e=Y.trim();if(0!==e.length&&!ee){et(!0),er(null);try{let r=await fetch((0,p.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${r.status})`)}Z(""),k.current?.focus()}catch(e){er(e instanceof Error?e.message:"Failed to send message")}finally{et(!1)}}},[n,Y,ee,t]),eh=(0,h.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await L(t,e,n)}catch{}},[n,t]),ef=(0,h.useCallback)(async()=>{await L(t,"\x03",n)},[n,t]),ep=(0,h.useCallback)(()=>{let e=A.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,S.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);if(!r){e.style.removeProperty("height"),es(!1);return}n<=0?e.style.removeProperty("height"):(e.style.height=`${Math.max(0,Math.round(n))}px`,es(!0))},[]);(0,h.useEffect)(()=>{let e=A.current;if(!e)return;let t=null,n=()=>{null===t&&(t=window.setTimeout(()=>{t=null,ep()},16))};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")}},[ep,z,W]),(0,h.useEffect)(()=>{},[K,z,J,P,en,el,D,t,W,H,$]);let ew=(0,h.useCallback)(()=>{V(null),C.current=0,ec.current=!0,Q(e=>e+1)},[]),eb=z?"Connecting live terminal":O?"Session is waiting for input":"Live terminal is not active",ex=K??(z?"Reconnecting to the existing ttyd terminal.":$?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":O?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${_}\`. Interactive ttyd terminals only run while the agent is active.`),eg=H??W??void 0;return(0,r.jsxs)("div",{className:y?"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex h-full 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:[eg?(0,r.jsx)("a",{href:eg,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm transition hover:bg-[#201818] sm:h-7 sm:w-7","aria-label":"Open ttyd terminal in a new tab",children:(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"})}):null,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:eh,"aria-label":"Paste from clipboard",children:(0,r.jsx)(a,{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:ef,"aria-label":"Soft stop (Ctrl+C)",children:(0,r.jsx)(s,{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:ew,"aria-label":"Reload ttyd terminal",children:D?(0,r.jsx)(o.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:y?"min-h-0 min-w-0 flex-1 overflow-hidden px-0 pb-[env(safe-area-inset-bottom)] pt-0 w-full":"min-h-0 min-w-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:z&&W?(0,r.jsxs)("div",{ref:A,className:"relative min-h-0 flex-1 w-full overflow-hidden rounded-[10px] bg-[#060404] pb-[env(safe-area-inset-bottom)]",children:[J?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)(o.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{title:`ttyd terminal for ${t}`,src:W,className:"min-h-0 flex-1 w-full border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onLoad:()=>{X(!0),V(null),ep(),eu()}},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:K?(0,r.jsx)(u.A,{className:"h-4 w-4"}):(0,r.jsx)(o.A,{className:`h-4 w-4 ${D?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:eb}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:ex}),eg?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)("a",{href:eg,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!O&&el?(0,r.jsx)("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:(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:el}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ei(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]})}):null,O?(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:[el?(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:el}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ei(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,en?(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:en}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>er(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),em()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,r.jsx)("input",{ref:k,type:"text",value:Y,onChange:e=>Z(e.target.value),placeholder:"Send a follow-up message…",enterKeyHint:"done",disabled:ee,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:ee||0===Y.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:ee?(0,r.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(m.A,{className:"h-3.5 w-3.5"})})]})]}):null]})}let C=(0,h.memo)(function(e){return(0,r.jsx)(R,{...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&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)})},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"}]])}}]);
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:()=>C});var r=n(54568),l=n(26083),i=n(13454);let a=(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"}]]),s=(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 o=n(58299),c=n(60527),u=n(14796),d=n(36645),m=n(82797),h=n(7620),f=n(76081),p=n(31404);let w=new Set(["queued","spawning","running","working","needs_input","stuck"]),x=new Set(["done","needs_input","stuck","errored","terminated","killed"]);var b=n(63680);function g(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function y(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}function v(e){return e.startsWith("/api/sessions/")&&e.includes("/terminal/ttyd")}async function k(e,t){let n=await fetch((0,p.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,i="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():null,a=(()=>{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,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:i,expiresInSeconds:a}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,reason:r?.error??"Terminal unavailable"}}async function j(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);g(n.hostname)&&!g(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=b.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:i}=window.location;return"3000"===i||"4747"===i?`${n}//${r}:4749`:l}(),r=window.location.origin,l=await k(e,t);if(!l.interactive)return{terminalUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null};let i=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&&v(e)?r:n,i=new URL(l,t);return"ws:"===i.protocol&&(i.protocol="http:"),"wss:"===i.protocol&&(i.protocol="https:"),"/ws"===i.pathname?i.pathname="/":i.pathname.endsWith("/ws")&&(i.pathname=y(i.pathname.slice(0,-3))),i.pathname=y(i.pathname),i.hash="",i.toString()}catch{return null}}(l.ttydHttpUrl,l.ttydWsUrl,n,r);return i?{terminalUrl:function(e,t){let n=t?.trim();if(!n)return e;try{let t=new URL(e);if(!v(t.pathname))return e;return t.searchParams.set("bridgeId",n),t.toString()}catch{return e}}(i,t?.bridgeId),interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds}:{terminalUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."}}function N(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}var S=n(86181);let U=new Set(["archived","killed","terminated","restored"]);async function L(e,t,n){let r=await fetch((0,p.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 E(e,t){if(!e||!t||null===e.contentWindow)return;let n="*";try{n=new URL(e.src).origin}catch{}e.contentWindow.postMessage({type:"conductor-ttyd-auth-token",token:t},n)}function R(e){let{sessionId:t,bridgeId:n,sessionState:i,runtimeMode:b,pendingInsert:g,immersiveMobileMode:y=!1,onPendingInsertConsumed:v}=e,k=(0,h.useRef)(null),R=(0,h.useRef)(0),C=(0,h.useRef)(0),A=(0,h.useRef)(null),I=(0,h.useRef)(!1),T=(0,h.useRef)(null),M=(0,h.useRef)(0),_=(0,h.useMemo)(()=>i.trim().toLowerCase(),[i]),$=b?.trim().toLowerCase()??null,P="ttyd"===$,z=P?!U.has(_):w.has(_),O=!P&&!y&&x.has(_),[W,F]=(0,h.useState)(null),[H,q]=(0,h.useState)(null),[D,B]=(0,h.useState)(z),[K,V]=(0,h.useState)(null),[J,X]=(0,h.useState)(!1),[G,Q]=(0,h.useState)(0),[Y,Z]=(0,h.useState)(""),[ee,et]=(0,h.useState)(!1),[en,er]=(0,h.useState)(null),[el,ei]=(0,h.useState)(null),[ea,es]=(0,h.useState)(!1),eo=(0,h.useRef)(null),ec=(0,h.useRef)(!1),eu=(0,h.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}}(H);e&&E(A.current?.querySelector("iframe"),e)},[H]);(0,h.useEffect)(()=>{eo.current=W},[W]),(0,h.useEffect)(()=>{I.current=J},[J]),(0,h.useEffect)(()=>{R.current=0,C.current=0,F(null),q(null),B(z),V(null),X(!1),Q(0),Z(""),et(!1),er(null),ei(null),ec.current=!1,I.current=!1,T.current=null,M.current=0},[z,t]),(0,h.useEffect)(()=>{if(!z){B(!1),V(null);return}let e=!1,r=null,l=null,i=new AbortController;return B(!0),V(null),j(t,{signal:i.signal,bridgeId:n}).then(t=>{if(!e){if(C.current=0,t.interactive&&t.terminalUrl){var n,r,i;let e,a,s=ec.current||(n=eo.current,r=t.terminalUrl,e=N(n),a=N(r),!e||e!==a);ec.current=!1,q(t.terminalUrl);let o=!s&&eo.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),i=new URLSearchParams(r.searchParams);l.delete("token"),i.delete("token");let a=l.toString(),s=i.toString();if(a!==s)return!1;let o=new URL(e).searchParams.get("token"),c=new URL(t).searchParams.get("token");return o!==c}catch{return!1}}(eo.current,t.terminalUrl);if(s||!eo.current)eo.current||X(!1),F(t.terminalUrl);else if(o){let e=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();if(e){let t=A.current?.querySelector("iframe");t&&E(t,e)}}V(null);let c="number"!=typeof(i=t.expiresInSeconds)||!Number.isFinite(i)||i<=0?null:1e3*Math.max(5,i-10);null!==c&&(l=window.setTimeout(()=>{Q(e=>e+1)},c));return}eo.current||(F(null),q(null),X(!1)),V(t.reason??"Live ttyd terminal is unavailable.")}}).catch(t=>{if(e||t instanceof DOMException&&"AbortError"===t.name)return;let n=!!eo.current;n||(F(null),q(null),X(!1)),V(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=C.current,i=n?5e3:Math.min(4e3,500*2**l);C.current=n?0:Math.min(l+1,3),r=window.setTimeout(()=>{Q(e=>e+1)},i)}).finally(()=>{e||B(!1)}),()=>{e=!0,i.abort(),null!==r&&window.clearTimeout(r),null!==l&&window.clearTimeout(l)}},[n,G,z,t]);let ed=(0,h.useCallback)(()=>{if(!z)return;let e=window.Date.now();if(e-M.current<1500)return;M.current=e;let t=null===T.current?0:e-T.current;T.current=null,eu(),t>=3e5&&I.current&&eo.current&&(ec.current=!0),Q(e=>e+1)},[z,eu]);(0,h.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){T.current=window.Date.now();return}"visible"===document.visibilityState&&ed()},t=()=>{ed()};return document.addEventListener("visibilitychange",e),window.addEventListener("focus",t),window.addEventListener("pageshow",t),window.addEventListener("online",t),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("focus",t),window.removeEventListener("pageshow",t),window.removeEventListener("online",t)}},[ed]),(0,h.useEffect)(()=>{if(!g||g.nonce<=R.current)return;R.current=g.nonce;let e=g.inlineText.trim();if(0===e.length)return;let r=!1;return L(t,`${e} `,n).then(()=>{r||(ei(null),v?.())}).catch(e=>{r||ei(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{r=!0}},[n,v,g,t]),(0,h.useEffect)(()=>{J&&eu()},[J,eu]);let em=(0,h.useCallback)(async()=>{let e=Y.trim();if(0!==e.length&&!ee){et(!0),er(null);try{let r=await fetch((0,p.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${r.status})`)}Z(""),k.current?.focus()}catch(e){er(e instanceof Error?e.message:"Failed to send message")}finally{et(!1)}}},[n,Y,ee,t]),eh=(0,h.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await L(t,e,n)}catch{}},[n,t]),ef=(0,h.useCallback)(async()=>{await L(t,"\x03",n)},[n,t]),ep=(0,h.useCallback)(()=>{let e=A.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,S.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);if(!r){e.style.height="100%",es(!1);return}if(n<=0){e.style.height="100%";return}e.style.height=`${Math.max(0,Math.round(n))}px`,es(!0)},[]);(0,h.useEffect)(()=>{let e=A.current;if(!e)return;let t=null,n=()=>{null===t&&(t=window.setTimeout(()=>{t=null,ep()},16))};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")}},[ep,z,W]),(0,h.useEffect)(()=>{},[K,z,J,$,en,el,D,t,W,H,P]);let ew=(0,h.useCallback)(()=>{V(null),C.current=0,ec.current=!0,Q(e=>e+1)},[]),ex=z?"Connecting live terminal":O?"Session is waiting for input":"Live terminal is not active",eb=K??(z?"Reconnecting to the existing ttyd terminal.":P?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":O?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${_}\`. Interactive ttyd terminals only run while the agent is active.`),eg=H??W??void 0;return(0,r.jsxs)("div",{className:y?"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:[eg?(0,r.jsx)("a",{href:eg,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm transition hover:bg-[#201818] sm:h-7 sm:w-7","aria-label":"Open ttyd terminal in a new tab",children:(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"})}):null,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:eh,"aria-label":"Paste from clipboard",children:(0,r.jsx)(a,{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:ef,"aria-label":"Soft stop (Ctrl+C)",children:(0,r.jsx)(s,{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:ew,"aria-label":"Reload ttyd terminal",children:D?(0,r.jsx)(o.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:y?"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:z&&W?(0,r.jsxs)("div",{ref:A,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:[J?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)(o.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{title:`ttyd terminal for ${t}`,src:W,className:"block h-full min-h-0 w-full flex-1 border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onLoad:()=>{X(!0),V(null),ep(),eu()}},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:K?(0,r.jsx)(u.A,{className:"h-4 w-4"}):(0,r.jsx)(o.A,{className:`h-4 w-4 ${D?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:ex}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:eb}),eg?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)("a",{href:eg,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!O&&el?(0,r.jsx)("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:(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:el}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ei(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]})}):null,O?(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:[el?(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:el}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ei(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,en?(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:en}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>er(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),em()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,r.jsx)("input",{ref:k,type:"text",value:Y,onChange:e=>Z(e.target.value),placeholder:"Send a follow-up message…",enterKeyHint:"done",disabled:ee,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:ee||0===Y.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:ee?(0,r.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(m.A,{className:"h-3.5 w-3.5"})})]})]}):null]})}let C=(0,h.memo)(function(e){return(0,r.jsx)(R,{...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&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)})},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"}]])}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{35142:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0053c149de618342a3ee8ccc0c24014cae7dff0328",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},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:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({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),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},54463:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00b2bf6167b22154d82e5c5b0f6aec92962a627680",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=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,i.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 +1 @@
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(84169),a=n(39702),c=n(29450),u=n(4997),b=n(86181),g=n(53649),m=n(86011),p=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,p.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,m.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-dvh min-h-[100dvh] 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,9083,4997,9450,587,1968,7358],()=>e(e.s=69755)),_N_E=e.O()}]);
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(84169),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,9083,4997,9450,587,1968,7358],()=>e(e.s=69755)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e,a,c,f,d,b,t,r,o={},n={};function i(e){var a=n[e];if(void 0!==a)return a.exports;var c=n[e]={exports:{}},f=!0;try{o[e].call(c.exports,c,c.exports,i),f=!1}finally{f&&delete n[e]}return c.exports}i.m=o,e=[],i.O=(a,c,f,d)=>{if(c){d=d||0;for(var b=e.length;b>0&&e[b-1][2]>d;b--)e[b]=e[b-1];e[b]=[c,f,d];return}for(var t=1/0,b=0;b<e.length;b++){for(var[c,f,d]=e[b],r=!0,o=0;o<c.length;o++)(!1&d||t>=d)&&Object.keys(i.O).every(e=>i.O[e](c[o]))?c.splice(o--,1):(r=!1,d<t&&(t=d));if(r){e.splice(b--,1);var n=f();void 0!==n&&(a=n)}}return a},i.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return i.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,f){if(1&f&&(e=this(e)),8&f||"object"==typeof e&&e&&(4&f&&e.__esModule||16&f&&"function"==typeof e.then))return e;var d=Object.create(null);i.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach(a=>b[a]=()=>e[a]);return b.default=()=>e,i.d(d,b),d},i.d=(e,a)=>{for(var c in a)i.o(a,c)&&!i.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((a,c)=>(i.f[c](e,a),a),[])),i.u=e=>4997===e?"static/chunks/4997-01e580511e9b0f6e.js":9450===e?"static/chunks/9450-ed49d12c703bda26.js":524===e?"static/chunks/524-766ca5d84a96df31.js":9542===e?"static/chunks/9542-ca23a5c06cb63f52.js":"static/chunks/"+(({260:"336436a7",1659:"a4f73d83",1917:"58f38233",3470:"7545c6b5",3543:"6907ee1e",3616:"d917f8c9",3849:"87851ddc",4177:"19a2cade",4762:"b3ef812f",8561:"f1fd93f1",9223:"08e9f8d4",9430:"59a51a4c",9992:"b74732b4"})[e]||e)+"."+({21:"89c66005a060a5db",39:"a4c71badafdd9999",49:"bfdb657c1e94fe04",66:"ba8e1f8a7de3ffd1",137:"7e8b0517bf569b15",143:"9393fc8d78a0dbd9",195:"b27e08cda1161770",205:"75576600d7a32b34",251:"6fe9737785590215",260:"77452dd3b20146a6",307:"364d1ff853e806b5",338:"301aee496ec62b30",347:"06e7bb721073d0b1",401:"dae54b037209112d",474:"d51d3c524fefdcc2",491:"8df9bdbe831f4a73",520:"725f6c2169f35670",566:"464b5951f5f05fbc",614:"2281a8b0c301797b",634:"941fd9f55ad81365",638:"b62e9131cfac26e8",643:"8b320f8377a34b75",659:"14e369b9a4944635",667:"e76918e0db9306fc",695:"cc4437eb14820e73",705:"2659af85fc9c96ef",723:"3923fc1a881c8665",736:"183230ba50bb651f",759:"143be185109e794a",763:"30a13397784472fb",803:"a3f1e1d6d507fa12",850:"8533925c75596812",901:"2ed792978b958610",918:"c648315f31be5ecf",920:"98e63d826640ee86",931:"c7e3b80b2feae415",941:"fd98a3ee624da6e2",949:"fbf94b4684ba3c0b",997:"09c037d3028aae00",1006:"3c53de09482da913",1046:"33b71e1d00faada0",1052:"9ac2274003f5905d",1081:"789e4034df652c60",1087:"4ca163e5ca349fb0",1159:"dce3d7a284d851f9",1220:"754b8fdccae1a987",1227:"aef52ee97a37b67e",1251:"b08a0d5b010580b3",1256:"8218290894c814dd",1343:"e183b62a101e2a28",1356:"df5a7b1d1f903566",1485:"a50ac4eccab1da5a",1516:"1f7f72b30243687d",1569:"80a8d41e0abcb447",1604:"a56818148e23d78e",1613:"c6fe9f1e79098bb1",1659:"53e654ffdc9fdd3e",1745:"cd7d71918de9cb63",1874:"6d895982b7984d7f",1890:"1de505c9bbb58403",1917:"5ff89f94ff0f0386",1924:"5203170f07456b51",1949:"6166871f4616f671",1973:"ba05db0960003e3a",2002:"6ccdaa3301a08bc3",2008:"39797e4860749054",2009:"15bf57d75d91fc70",2029:"1f9ef678d457ce40",2064:"c919e26ada69b601",2084:"b5eaa0d454cca135",2094:"08a34a1f82aabb38",2118:"6d7d5b626ea9d95e",2136:"45f74e82dddfcf8a",2187:"316f1d2f81bd6a15",2194:"be772557a806b45b",2213:"2aeefe2d5fe80865",2248:"181dfaa9b563f715",2288:"1e7ffee26b63eedf",2394:"2749bfe10e8256fd",2505:"59659818a6437c38",2582:"7f2e3456831cafbe",2618:"898cb1f35198c030",2643:"d8509333d39edf34",2651:"dcd5e794d7400def",2672:"5484d5bc2feb29eb",2716:"74b190135fc8f8ae",2725:"f04d6fa81951b02d",2766:"6708336cdaaec987",2799:"d9ce5c7fa7af72b6",2944:"f98cb801f2fe6801",2968:"c035675959036a26",2969:"7ed62af605513fc5",3025:"a6409a4c50aa6b50",3027:"d32f7ce6fe24e24d",3035:"d55165cf71483875",3048:"581728e93215a4f2",3111:"7f47b7af66ca1fbf",3211:"b0595e60ea4fcff0",3219:"cc7c5745c8155aa9",3309:"ace84bdcc45f5619",3348:"2f574ccf2b5cfd8c",3445:"7c393f3049424e54",3446:"fb026320baffe327",3470:"2ef286cc269cbbe0",3502:"76db367d14aefbab",3518:"1c34dd172e486ce4",3531:"fa4d6b63e1e692cd",3543:"8ad341b6a75fa799",3583:"28ace0881fe730ea",3609:"fcf9f91042cff79b",3616:"5680ad3780812343",3714:"d42d5df72b92ec38",3736:"b92826c00020fe12",3750:"bab3eb0fdeb5a4a1",3826:"bdc7a2af31e802c3",3838:"6a6becb262496962",3843:"cde2fe886e4eb9f2",3849:"dc71a6695b07428e",3922:"6f871228307155f8",3971:"154b902083a92a74",4021:"828758f4e47c21c3",4063:"3047633f31ed7455",4107:"731f8239852ddbbe",4163:"7b7f2384954f9f57",4177:"31d92e49bbf690f8",4185:"ab47a50594e8178a",4280:"33630d2fd3b5faf7",4293:"04c5c8d53b110acc",4305:"39d5a4854f6581a3",4314:"a3eb2293d2685eb0",4319:"09d04cf39cd7b5b2",4352:"49db0f8e3514003f",4388:"0688e8bc30480818",4404:"953f24dbeb0a44c0",4429:"8f0b98d34e7e0df0",4443:"50ea9960af412881",4486:"96a4833a8d35ee07",4582:"8b972ea7500df8dd",4605:"9365a7e5cfa96b95",4611:"48026daa1ceef8e9",4651:"46eb45dbae3b7fbf",4695:"576442890bb85872",4715:"0235398be0cee170",4733:"db3cdb2b713fe48d",4742:"dd50a37e0c09e4d0",4743:"8f684de86de07757",4762:"c82050d496b46242",4849:"35376b4657ff1071",4889:"e7f34a1375ffd6e2",4891:"d007b90163d3764c",4910:"fa3651c9836e9cc8",4921:"c919e26ada69b601",4947:"e100d75290295105",4982:"70f8d2d0c17e3045",5013:"edb21916aadcba03",5034:"b30b7437764f6226",5171:"43e5c4edb3205ebe",5299:"0ee0685bbff562f3",5361:"0d3c5e5a487a67ed",5372:"d89a41b743afad60",5387:"a19edfb860f62e94",5403:"4d4517a4aeb6f9d4",5406:"47524e5109936f41",5436:"1228842465009bde",5482:"b5316a9b4bf214ed",5488:"f8de80cfdcf5ea54",5503:"d687814dc81efe2a",5541:"551a82f6823faefa",5559:"16487a252280590e",5644:"3dae19dbc7cd6dc1",5794:"6608ef6f4dcae4c5",5811:"158470dcd2d20272",5910:"55ac290e7e676b0b",5937:"966f925b66fcfbfd",5965:"810c6a006d03100a",5968:"fbd894c4549909ae",5990:"c6ed8770bc5bb2b9",6056:"1236748c7371fe94",6092:"54281dc96c515c4c",6097:"c8f304e256b528f7",6114:"8aa1b5ce7e6d65e3",6143:"005593bfdd2ac4ef",6153:"1b16c58083ddc5da",6173:"7b94481b495f6e16",6183:"ef18667a58735d8a",6202:"46533eb50bcb2b02",6226:"8ab007badc948408",6227:"23f0128159fa5aa7",6258:"8c13bb60c07fd0a8",6267:"13f3222151b29c47",6294:"f625e24dda25ad33",6300:"46ca86f61f0e2653",6318:"1ceadf3c639caecd",6347:"7a01ff4eb14248c5",6439:"67ce2783c59f94a5",6446:"7f2a0581b25f2f32",6453:"dca52781e2d97623",6498:"c68cf2fed1f8e223",6543:"33b19a960d99cbd9",6546:"23d70f654f80c658",6558:"951535ea0d1f1134",6637:"3a8b94fba0f25c8e",6639:"509ba1e7aa03a5d0",6660:"3ab1fe8312128d13",6674:"d4d35317497fff70",6675:"a6cf864cd6fecad5",6702:"e7afb4c56e120896",6721:"b81baf909d7449fa",6750:"dd3e03b1561f93c7",6772:"702586c4a13fa3b5",6778:"b11dd7c7d98f5ec9",6820:"6cacbe052a5e60c3",6836:"28cea96e95318a01",6858:"083125bdb146331f",6884:"c194f0a98a1b9118",6934:"b01dbcef6fcc5f10",6944:"b258f33302e798eb",6976:"bc4b9f7f4e783f74",6982:"e249c102d4364c36",7052:"668b973df8146782",7077:"c8c37a8cc46080ec",7078:"006aaa7649f1eba1",7082:"536cebbdae597baa",7111:"4e2a85c51d610456",7245:"9a7044c686e1e8aa",7268:"f4890b6e1a3e575f",7302:"8172d81113189817",7383:"d818de224b4753ab",7388:"de247364c0d07eef",7403:"25b1d8574003a276",7452:"42dee77dbd7b945d",7504:"cc1d00d4cf49e440",7511:"95dc3df17bdce110",7538:"7e1bbbe63cff0562",7540:"cc573f0982af80f8",7559:"dc4bc3eed3a2c9aa",7565:"9ae86ea1715782a0",7578:"d04c0169c7ff59a0",7582:"95ebb4fa829e8609",7604:"49556d0292523231",7605:"278fa9614a1c4efc",7654:"69f0303ee3115f18",7799:"09bfbba1458ea0a0",7805:"61d009e1c1d63173",7813:"d7cd03ac2be02c32",7878:"844e4add18c822ce",7885:"bbf9d27c9955862e",7915:"4ff095add809bba6",7921:"28d1f2b5eae62719",7952:"81312df15a130b8d",7966:"0b31fb2fe5ded9b2",8e3:"4beca6f7273e77be",8043:"337f0eccb0fea28c",8048:"2249af53330a66f6",8090:"8388e7f012bf0720",8093:"cd36e108daad0739",8115:"eb9dfcc86b21cce2",8130:"997b05975d40c96e",8132:"736c2350218bc374",8179:"3106e7c063997aa3",8194:"b6d433be4f244e14",8198:"cb3080398c70f78a",8218:"ba21c9fe8e1eefe2",8392:"71f74c174370d847",8414:"ab44334e110076e4",8432:"265e7fb442f7455a",8495:"8803956ba0d8c40c",8539:"a2d3694f0d117516",8561:"64d591c95ab55378",8564:"52775d4281d72165",8599:"c0a141e199720df1",8607:"043e8e788ee99897",8645:"980580120c56e67f",8658:"eefde27f46690669",8672:"d1fcd7ce65b7e5cb",8678:"acd1281dd062017b",8706:"bd4abfb526b585cc",8707:"2c3de6c603e121a0",8716:"1f136fe023d06d7d",8724:"7aa617ae4d55c023",8733:"c626198538458c59",8735:"350b7fd13037afed",8745:"5ed48d5b158fa809",8791:"2566e7881cc41e40",8894:"57dc3f3674d677eb",8959:"57014b840ee75752",8967:"6a167410c4240598",9003:"db666d472b6641cf",9054:"d2c903b7ddcae050",9085:"651439c0e5509629",9115:"3cf91571d413e064",9120:"e4b2cccaaac06e9e",9121:"63e72a22943ba681",9136:"f074be345a9303f0",9167:"b297f3e0aac18dbd",9175:"9790d827e86e77dd",9203:"c5c041ead00ab2f9",9223:"15b9de8ccbdc5de6",9291:"877a6cbda0d05565",9327:"57b60dbce23abd74",9336:"57f0540627cf97d0",9344:"686191b6c16a6511",9354:"b29c9f4b8aa62a4b",9355:"28e46420ac563b95",9381:"6ee9137dc570b715",9388:"0f6a9f1c67c36e1c",9430:"fbe21468acadb86a",9439:"0aa6da7584d6c097",9505:"340358fb294f8acb",9506:"3d9e616fd121f667",9526:"23109be66dc055b3",9531:"3016f53df0c2a542",9602:"8c998080def3f0e0",9643:"fc02d88ab0d46ac1",9647:"6f33ab64e451a5e1",9650:"fa041bf7e01981a4",9683:"c919e26ada69b601",9707:"472a90178e35f6ae",9710:"1d9197dec86da9c0",9739:"241173ae1c151c71",9752:"b6a9b4abd7e860b5",9781:"4d49a4b2f4758912",9847:"3952abeb0ffc77d6",9914:"314c7fab8d237bd8",9982:"7cbaa0d4f5a1d0a1",9992:"b957826bf9891669"})[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},i.l=(e,a,c,d)=>{if(f[e])return void f[e].push(a);if(void 0!==c)for(var b,t,r=document.getElementsByTagName("script"),o=0;o<r.length;o++){var n=r[o];if(n.getAttribute("src")==e||n.getAttribute("data-webpack")=="_N_E:"+c){b=n;break}}b||(t=!0,(b=document.createElement("script")).charset="utf-8",b.timeout=120,i.nc&&b.setAttribute("nonce",i.nc),b.setAttribute("data-webpack","_N_E:"+c),b.src=i.tu(e)),f[e]=[a];var u=(a,c)=>{b.onerror=b.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],b.parentNode&&b.parentNode.removeChild(b),d&&d.forEach(e=>e(c)),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=u.bind(null,b.onerror),b.onload=u.bind(null,b.onload),t&&document.head.appendChild(b)},i.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.tt=()=>(void 0===d&&(d={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(d=trustedTypes.createPolicy("nextjs#bundler",d))),d),i.tu=e=>i.tt().createScriptURL(e),i.p="/_next/",b={8068:0,9271:0,9306:0},i.f.j=(e,a)=>{var c=i.o(b,e)?b[e]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(8068|9271|9306)$/.test(e))b[e]=0;else{var f=new Promise((a,f)=>c=b[e]=[a,f]);a.push(c[2]=f);var d=i.p+i.u(e),t=Error();i.l(d,a=>{if(i.o(b,e)&&(0!==(c=b[e])&&(b[e]=void 0),c)){var f=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;t.message="Loading chunk "+e+" failed.\n("+f+": "+d+")",t.name="ChunkLoadError",t.type=f,t.request=d,c[1](t)}},"chunk-"+e,e)}},i.O.j=e=>0===b[e],t=(e,a)=>{var c,f,[d,t,r]=a,o=0;if(d.some(e=>0!==b[e])){for(c in t)i.o(t,c)&&(i.m[c]=t[c]);if(r)var n=r(i)}for(e&&e(a);o<d.length;o++)f=d[o],i.o(b,f)&&b[f]&&b[f][0](),b[f]=0;return i.O(n)},(r=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r)),i.nc=void 0})();
@@ -0,0 +1 @@
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}.absolute{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}.-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{margin-left:calc(var(--spacing) * 1)}.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-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-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-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-\[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\: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\(--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-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-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\: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)}body,html{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}}
@@ -1 +0,0 @@
1
- "use strict";exports.id=4961,exports.ids=[4961],exports.modules={39250:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00ad5c4c308d7621239974ce1248c83f2b71224a31",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")},44961:(a,b,c)=>{c.r(b),c.d(b,{createOrReadKeylessAction:()=>g.a,deleteKeylessAction:()=>f,detectKeylessEnvDriftAction:()=>d.A,syncKeylessConfigAction:()=>h});var d=c(77159),e=c(85660);let f=(0,e.createServerReference)("009d59d937284ab179a7fdc84ab34b856bb3354614",e.callServer,void 0,e.findSourceMapURL,"deleteKeylessAction");var g=c(39250);let h=(0,e.createServerReference)("4026c8c49f63aa88c48b0045c8efb840afe433a4f3",e.callServer,void 0,e.findSourceMapURL,"syncKeylessConfigAction")}};
@@ -1 +0,0 @@
1
- exports.id=8554,exports.ids=[8554],exports.modules={14276:()=>{},15398:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00917dcc95173e10afda49a0b5c59f5e7b5eec88f0",d.callServer,void 0,d.findSourceMapURL,"invalidateCacheAction")},22675:(a,b,c)=>{Promise.resolve().then(c.bind(c,3074)),Promise.resolve().then(c.bind(c,82099)),Promise.resolve().then(c.bind(c,6932)),Promise.resolve().then(c.bind(c,66185)),Promise.resolve().then(c.bind(c,87839)),Promise.resolve().then(c.bind(c,53759)),Promise.resolve().then(c.bind(c,90075)),Promise.resolve().then(c.bind(c,66504)),Promise.resolve().then(c.bind(c,46208))},36026:(a,b,c)=>{"use strict";function d(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}function e(a){let b=a?.trim();if(!b)return null;let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<1||c>65535?null:c}function f(){let a=d(process.env.CONDUCTOR_BACKEND_URL);if(a)return a;let b=d(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL);if(b)return b;let c=e(process.env.CONDUCTOR_BACKEND_PORT);if(null!==c)return`http://127.0.0.1:${c}`;let f=e(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_PORT);return null!==f?`http://127.0.0.1:${f}`:null}function g(){let a=f();if(!a)throw Error("Rust backend URL is not configured");return a}c.d(b,{B:()=>g,_:()=>f})},37806:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>g});var d=c(92692),e=c(71277);let f=(0,e.createContext)({theme:"dark",toggleTheme:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)("dark"),h=(0,e.useCallback)(()=>{c(a=>{let b,c="dark"===a?"light":"dark";return localStorage.setItem("conductor-theme",c),(b=document.documentElement).classList.remove("dark","light"),b.classList.add(c),c})},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggleTheme:h},children:a})}},43894:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>h});var d=c(92692),e=c(49588),f=c(71277),g=c(93544);let h=e.Kq;e.bL,e.l9,(0,f.forwardRef)(({className:a,sideOffset:b=8,...c},f)=>(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{ref:f,sideOffset:b,className:(0,g.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",a),...c})})).displayName="TooltipContent"},46208:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","Tooltip"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipTrigger"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SimpleTooltip() from the server but SimpleTooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","SimpleTooltip")},59627:(a,b,c)=>{Promise.resolve().then(c.bind(c,33996)),Promise.resolve().then(c.bind(c,16413)),Promise.resolve().then(c.bind(c,58002)),Promise.resolve().then(c.bind(c,19867)),Promise.resolve().then(c.bind(c,89833)),Promise.resolve().then(c.bind(c,99896)),Promise.resolve().then(c.bind(c,12589)),Promise.resolve().then(c.bind(c,37806)),Promise.resolve().then(c.bind(c,43894))},66504:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","ThemeProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","useTheme")},70021:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00917dcc95173e10afda49a0b5c59f5e7b5eec88f0":()=>d.y});var d=c(30254)},72567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23))},77159:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(85660);let e=(0,d.createServerReference)("008150074842ecb602292625c1bb2f4e4e7f596d8f",d.callServer,void 0,d.findSourceMapURL,"detectKeylessEnvDriftAction")},77690:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"006a1803fbad74cfba70a3b9007815aa8af2496e4a":()=>d.i,"008150074842ecb602292625c1bb2f4e4e7f596d8f":()=>e.AZ,"009d59d937284ab179a7fdc84ab34b856bb3354614":()=>e.at,"00ad5c4c308d7621239974ce1248c83f2b71224a31":()=>e.ai,"4026c8c49f63aa88c48b0045c8efb840afe433a4f3":()=>e.ot,"4094e9cce6788fc02394b88d97418809c3bd39114e":()=>d.$});var d=c(35515),e=c(78113)},78143:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23))},89257:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23)),Promise.resolve().then(c.t.bind(c,69411,23)),Promise.resolve().then(c.t.bind(c,8447,23)),Promise.resolve().then(c.t.bind(c,50674,23)),Promise.resolve().then(c.t.bind(c,78886,23)),Promise.resolve().then(c.t.bind(c,24194,23)),Promise.resolve().then(c.t.bind(c,93431,23)),Promise.resolve().then(c.bind(c,23858))},91946:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(42131);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?270c676221766b43"}]},93544:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(9537),e=c(43165);function f(...a){return(0,e.QP)((0,d.$)(a))}},95235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>y,metadata:()=>v,viewport:()=>w});var d=c(2474),e=c(26543),f=c.n(e),g=c(27897),h=c.n(g),i=c(56004),j=c.n(i),k=c(62078),l=c.n(k),m=c(76323),n=c(90075),o=c(9330),p=c(66504),q=c(46208),r=c(36026),s=c(72460);c(14276);let t=`${j().variable} ${f().variable} ${h().variable} ${l().variable}`,u="1"===process.env.VERCEL||"true"===process.env.VERCEL,v={title:"Conductor",description:"Multi-agent orchestrator dashboard"},w={width:"device-width",initialScale:1};function x({children:a}){let b=(0,r._)()??"";return(0,d.jsxs)("html",{lang:"en",className:`${t} dark`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("meta",{name:"conductor-backend-url",content:b}),(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'try{var t=localStorage.getItem("conductor-theme");var e=document.documentElement;e.classList.remove("light","dark");e.classList.add(t==="light"||t==="dark"?t:"dark")}catch{}'}})]}),(0,d.jsx)("body",{className:"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased",children:(0,d.jsx)(q.TooltipProvider,{children:(0,d.jsxs)(p.ThemeProvider,{children:[a,u?(0,d.jsx)(n.Analytics,{}):null]})})})]})}async function y({children:a}){let b=await (0,o.headers)(),c=(0,s.Pn)(b),e=(0,s.kE)(b),f=(0,s.EO)(c,e);return f.enabled&&f.publishableKey?(0,d.jsx)(m.lJ,{publishableKey:f.publishableKey,proxyUrl:f.proxyUrl??void 0,clerkJSUrl:f.clerkJSUrl??void 0,signInUrl:f.signInUrl??void 0,signUpUrl:f.signUpUrl??void 0,allowedRedirectOrigins:f.allowedRedirectOrigins.length>0?f.allowedRedirectOrigins:void 0,appearance:{cssLayerName:"clerk"},children:(0,d.jsx)(x,{children:a})}):(0,d.jsx)(x,{children:a})}},98985:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23)),Promise.resolve().then(c.t.bind(c,6413,23)),Promise.resolve().then(c.t.bind(c,61437,23)),Promise.resolve().then(c.t.bind(c,99476,23)),Promise.resolve().then(c.t.bind(c,41452,23)),Promise.resolve().then(c.t.bind(c,86792,23)),Promise.resolve().then(c.t.bind(c,48465,23)),Promise.resolve().then(c.t.bind(c,13592,23))}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1254],{11254:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>l.a,deleteKeylessAction:()=>s,detectKeylessEnvDriftAction:()=>a.A,syncKeylessConfigAction:()=>n});var a=r(85014),t=r(5974);let s=(0,t.createServerReference)("009d59d937284ab179a7fdc84ab34b856bb3354614",t.callServer,void 0,t.findSourceMapURL,"deleteKeylessAction");var l=r(78147);let n=(0,t.createServerReference)("4026c8c49f63aa88c48b0045c8efb840afe433a4f3",t.callServer,void 0,t.findSourceMapURL,"syncKeylessConfigAction")},78147:(e,c,r)=>{r.d(c,{a:()=>t});var a=r(5974);let t=(0,a.createServerReference)("00ad5c4c308d7621239974ce1248c83f2b71224a31",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4443],{34443:(e,l,a)=>{a.r(l),a.d(l,{KeylessCreatorOrReader:()=>r});var s=a(79748),n=a(7620),t=a(78147);let r=e=>{var l;let{children:a}=e,r=(null==(l=(0,s.useSelectedLayoutSegments)()[0])?void 0:l.startsWith("/_not-found"))||!1,[i,c]=n.useActionState(t.a,null);return((0,n.useEffect)(()=>{r||n.startTransition(()=>{c()})},[r]),n.isValidElement(a))?n.cloneElement(a,{key:null==i?void 0:i.publishableKey,publishableKey:null==i?void 0:i.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==i?void 0:i.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==i?void 0:i.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):a}},78147:(e,l,a)=>{a.d(l,{a:()=>n});var s=a(5974);let n=(0,s.createServerReference)("00ad5c4c308d7621239974ce1248c83f2b71224a31",s.callServer,void 0,s.findSourceMapURL,"createOrReadKeylessAction")}}]);