conductor-oss 0.52.2 → 0.53.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.
- package/package.json +5 -5
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +4 -4
- package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +4 -4
- package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/406.js +3 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/6710.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/8291.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.6f0867274740ea8a.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/4990.ce9a8576528958b9.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{8510-46477f4b872ddfd9.js → 8510-04a179dd849a109d.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/9542-41c18bfcddb4d412.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-86a935a4bdab462f.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-becb90de16788d83.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-809480e7cb5d2181.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-aec9eeb1d8842b6b.js → webpack-4702da349a9c3a5e.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/css/22dcad11baf33ec0.css +1 -0
- package/web/.next/static/chunks/4443.6f0867274740ea8a.js +1 -0
- package/web/.next/static/chunks/4990.ce9a8576528958b9.js +1 -0
- package/web/.next/static/chunks/{8510-46477f4b872ddfd9.js → 8510-04a179dd849a109d.js} +1 -1
- package/web/.next/static/chunks/9542-41c18bfcddb4d412.js +3 -0
- package/web/.next/static/chunks/app/bridge/connect/page-86a935a4bdab462f.js +1 -0
- package/web/.next/static/chunks/app/layout-becb90de16788d83.js +1 -0
- package/web/.next/static/chunks/app/page-809480e7cb5d2181.js +1 -0
- package/web/.next/static/chunks/{webpack-aec9eeb1d8842b6b.js → webpack-4702da349a9c3a5e.js} +1 -1
- package/web/.next/static/css/22dcad11baf33ec0.css +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/5179.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/8979.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.5d5614f06ffe89f4.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/5072.6b6175421d807370.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/9542-88de5d982554630c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-919a63aad677bda4.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-c11b530e4c1af6a9.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-bec43def37008d2f.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/css/09dee30e4f4928ce.css +0 -1
- package/web/.next/static/chunks/4443.5d5614f06ffe89f4.js +0 -1
- package/web/.next/static/chunks/5072.6b6175421d807370.js +0 -1
- package/web/.next/static/chunks/9542-88de5d982554630c.js +0 -1
- package/web/.next/static/chunks/app/bridge/connect/page-919a63aad677bda4.js +0 -1
- package/web/.next/static/chunks/app/layout-c11b530e4c1af6a9.js +0 -1
- package/web/.next/static/chunks/app/page-bec43def37008d2f.js +0 -1
- package/web/.next/static/css/09dee30e4f4928ce.css +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{NeP4Lb94XrqvexlnlpRuH → MY_KNzUhYwVisJNok7Tu3}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{NeP4Lb94XrqvexlnlpRuH → MY_KNzUhYwVisJNok7Tu3}/_ssgManifest.js +0 -0
- /package/web/.next/static/{NeP4Lb94XrqvexlnlpRuH → MY_KNzUhYwVisJNok7Tu3}/_buildManifest.js +0 -0
- /package/web/.next/static/{NeP4Lb94XrqvexlnlpRuH → MY_KNzUhYwVisJNok7Tu3}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1063],{26083:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(13454).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},44968:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(13454).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},62324:(e,t,s)=>{"use strict";s.d(t,{default:()=>O});var a=s(54568),r=s(7620),i=s(65587),n=s.n(i),d=s(81167),l=s(60527),c=s(58299),o=s(69863),m=s(63322),x=s(59706);let v=(0,s(13454).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var h=s(34041),p=s(87242),u=s(2099),g=s(44968),b=s(36645),f=s(15321),j=s(39702),k=s(69902),w=s(39542),N=s(76081),y=s(44522),_=s(11984),C=s(46916),$=s(26167),A=s(61369),S=s(31404),I=s(15115),E=s(77522);function R(e){return`${e.hostname} \xb7 ${e.os}/${e.arch}${(0,I.wj)(e.last_status?.version)}`}function z({children:e,className:t,id:s}){return(0,a.jsx)("section",{id:s,className:(0,C.cn)("rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-6","shadow-[0_18px_36px_rgba(0,0,0,0.2)]",t),children:e})}function M({children:e}){return(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.24em] text-[var(--vk-text-muted)]",children:e})}function U({children:e}){return(0,a.jsx)("div",{className:"rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-1.5 text-xs text-[var(--vk-text-muted)]",children:e})}function T({title:e,description:t,command:s,children:r,footer:i}){return(0,a.jsxs)("div",{className:"rounded-[20px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-5",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-[var(--vk-text-strong)]",children:e}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:t}),r,(0,a.jsx)("pre",{className:"mt-4 overflow-x-auto whitespace-pre-wrap break-all rounded-[16px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 py-3 font-mono text-sm leading-6 text-[var(--vk-text-normal)]",children:s}),i?(0,a.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:i}):null]})}function O({initialClaimToken:e=null,initialSelectedDeviceId:t=null,dashboardUrl:s,relayUrl:i,installScriptUrl:P,installPowerShellUrl:L}){let[F,B]=(0,r.useState)([]),[q,V]=(0,r.useState)(null),[W,D]=(0,r.useState)(null),[G,J]=(0,r.useState)(!0),[H,Y]=(0,r.useState)(!1),[K,Q]=(0,r.useState)(null),[X,Z]=(0,r.useState)(null),[ee,et]=(0,r.useState)(null),[es,ea]=(0,r.useState)(!1),[er,ei]=(0,r.useState)(!1),[en,ed]=(0,r.useState)(null),[el,ec]=(0,r.useState)(null),[eo,em]=(0,r.useState)(e?"pending":"idle"),[ex,ev]=(0,r.useState)(!1),[eh,ep]=(0,r.useState)("unix"),[eu,eg]=(0,r.useState)(null),[eb,ef]=(0,r.useState)(null),[ej,ek]=(0,r.useState)(null),[ew,eN]=(0,r.useState)(t),[ey,e_]=(0,r.useState)({deviceId:null,phase:"idle",message:null}),[eC,e$]=(0,r.useState)({deviceId:null,kind:null,status:"idle",message:null}),eA=(0,r.useRef)(new Set),eS=!!i?.trim(),eI="windows"===eh?L:P,eE=(0,r.useMemo)(()=>(0,A.$y)(eI,s,i,eh),[s,i,eI,eh]),eR=(0,r.useMemo)(()=>(0,A.G7)(eI,eh),[eI,eh]),ez=(0,r.useMemo)(()=>(0,A.hI)(s,i),[s,i]),eM=(0,r.useMemo)(()=>(0,A.zd)(q,i),[q,i]),eU=F.filter(e=>e.connected),eT=(0,r.useMemo)(()=>eb?F.find(e=>e.device_id===eb.deviceId)??null:null,[eb,F]),eO=(0,r.useMemo)(()=>ej?F.find(e=>e.device_id===ej)??null:null,[F,ej]),eP=(0,r.useMemo)(()=>F.find(e=>e.device_id===ew)??eT??eO??eU[0]??F[0]??null,[eT,eU,F,eO,ew]),eL=(0,r.useMemo)(()=>(0,A.Y8)(eP?.os),[eP?.os]),eF="windows"===eL?L:P,eB=(0,r.useMemo)(()=>(0,A.$y)(eF,s,i,eL),[s,L,P,i,eL,eF]),eq=(0,r.useMemo)(()=>(eT?.connected?eT:null)??(eO?.connected?eO:null)??(eP?.connected?eP:null)??eU[0]??null,[eT,eU,eO,eP]),eV=eq?`/?bridge=${encodeURIComponent(eq.device_id)}`:null,eW=eP?(0,A.kw)(eP.device_id):null,eD=!!eP&&"running"===eC.status&&eC.deviceId===eP?.device_id,eG=eD&&"repair"===eC.kind,eJ=eD&&"restart"===eC.kind,eH=!!eP&&(eC.deviceId===eP?.device_id&&(0,_.Az)(eC.message)||ey.deviceId===eP?.device_id&&(0,_.Az)(ey.message));(0,r.useEffect)(()=>{"u">typeof navigator&&ep(navigator.userAgent.toLowerCase().includes("windows")?"windows":"unix")},[]),(0,r.useEffect)(()=>{eN(e=>e&&(0===F.length||F.some(t=>t.device_id===e))?e:t&&(0===F.length||F.some(e=>e.device_id===t))?t:eT?.device_id??eO?.device_id??eU[0]?.device_id??F[0]?.device_id??null)},[eT,eU,F,t,eO]),(0,r.useEffect)(()=>{let e=()=>{ek((0,y.Tr)()?.deviceId??null)};return e(),window.addEventListener("focus",e),window.addEventListener("storage",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("storage",e)}},[]);let eY=(0,r.useCallback)(async()=>{if(!eS){J(!1),B([]),et(null);return}J(!0);try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load devices (${e.status})`);B((0,I.oH)(t?.devices)),et(null)}catch(e){B([]),et(e instanceof Error?e.message:"Failed to load paired devices.")}finally{J(!1)}},[eS]),eK=(0,r.useCallback)(async()=>{if(e){if(!eS){em("idle"),eg("Bridge relay URL is not configured.");return}em("pending"),eg(null);try{let t=await fetch("/api/bridge/devices/claims/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claim_token:e})}),s=await t.json().catch(()=>null);if(!t.ok||!s?.paired||!s.device_id||!s.device_name)throw Error(s?.error??`Failed to pair this laptop (${t.status})`);ef({deviceId:s.device_id,deviceName:s.device_name}),(0,y.m7)({deviceId:s.device_id,deviceName:s.device_name}),ek(s.device_id),em("paired"),await eY()}catch(e){em("idle"),eg(e instanceof Error?e.message:"Failed to complete the laptop claim.")}}},[e,eS,eY]);async function eQ(){if(!eS)return void et("Bridge relay URL is not configured.");Y(!0),Z(null);try{let e=await fetch("/api/bridge/devices/code",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),t=await e.json().catch(()=>null);if(!e.ok||!t?.code)throw Error(t?.error??`Failed to create pairing code (${e.status})`);V(t.code),D(t.expires_in??null),et(null)}catch(e){et(e instanceof Error?e.message:"Failed to create pairing code.")}finally{Y(!1)}}async function eX(e,t){try{await navigator.clipboard.writeText(e),Z(t),et(null)}catch(e){Z(null),et(e instanceof Error?e.message:"Failed to copy command.")}}async function eZ(e){if(eS){Q(e);try{let t=await fetch(`/api/bridge/devices/${encodeURIComponent(e)}`,{method:"DELETE"}),s=await t.json().catch(()=>null);if(!t.ok)throw Error(s?.error??`Failed to revoke device (${t.status})`);await eY()}catch(e){et(e instanceof Error?e.message:"Failed to revoke device.")}finally{Q(null)}}}async function e0(e){if(eS){e$({deviceId:e.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${e.device_name}.`});try{let t=await (0,$.b)(e.device_id);e$({deviceId:e.device_id,kind:"restart",status:"completed",message:`${t} Waiting for ${e.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(e=>{window.setTimeout(()=>{eY()},e)})}catch(t){e$({deviceId:e.device_id,kind:"restart",status:"failed",message:t instanceof Error?t.message:`Failed to restart ${e.device_name}.`})}}}async function e4(e){if(eS){e$({deviceId:e.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${e.device_name}.`});try{let t=(0,A.pj)(s,(0,A.Y8)(e.os)),a=await (0,$.E)(e.device_id,t);e$({deviceId:e.device_id,kind:"repair",status:"completed",message:a}),window.setTimeout(()=>{eY()},2e3)}catch(t){e$({deviceId:e.device_id,kind:"repair",status:"failed",message:t instanceof Error?t.message:`Failed to repair ${e.device_name}.`})}}}async function e2(e){eS&&(await (0,y.jV)(e,e_),window.setTimeout(()=>{eY()},2e3))}async function e1(){if(!eS){ea(!0),ei(!1),ed("Bridge relay URL is not configured.");return}ea(!0),ei(!0),ed(null),ec(null);try{var e;let t=eU[0];if(!t)throw Error("Connect a laptop first, then reopen the device terminal test.");let s=await fetch((0,S.S)("/api/sessions",t.device_id),{cache:"no-store"}),a=await s.json().catch(()=>null);if(!s.ok){let e=a&&!Array.isArray(a)?a.error:null;throw Error(e??`Failed to load sessions (${s.status})`)}let r=(e=Array.isArray(a)?a:a?.sessions??[]).find(e=>!E.C.has(e.status))??e[0]??null;if(!r)throw Error("Create or resume a session first, then reopen the bridge terminal test.");ec(r)}catch(e){ed(e instanceof Error?e.message:"Failed to load a session for bridge testing.")}finally{ei(!1)}}return(0,r.useEffect)(()=>{eS?eY():J(!1)},[eS,eY]),(0,r.useEffect)(()=>{if(e){if(!eS){em("idle"),eg("Bridge relay URL is not configured.");return}eK()}},[eK,e,eS]),(0,r.useEffect)(()=>{let e=(eT?.connected?eT:null)??(eO?.connected?eO:null)??(eP?.connected?eP:null);!e||eA.current.has(e.device_id)||(eA.current.add(e.device_id),(0,y.jV)(e,e_))},[eo,eT,eO,eP]),(0,r.useEffect)(()=>{!eO||eO.connected||ey.message||e_({deviceId:eO.device_id,phase:"checking",message:`Waiting for ${eO.device_name} to come online so Conductor can finish checking its package version.`})},[ey.message,eO]),(0,r.useEffect)(()=>{let t=!!ej&&!eO?.connected,s=!!ew&&!eP?.connected;if(!e&&("paired"!==eo||0!==eU.length)&&!t&&!s)return;let a=window.setInterval(()=>{eY()},4e3);return()=>{window.clearInterval(a)}},[eo,eU.length,e,ej,eO?.connected,eY,eP?.connected,ew]),(0,r.useEffect)(()=>{!eS||e||q||H||!ex||eQ()},[H,e,q,eS,ex]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.PublicPageShell,{className:"py-8 sm:py-10",children:(0,a.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-5",children:[(0,a.jsx)(z,{children:(0,a.jsxs)("div",{className:"flex flex-col gap-5 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)(M,{children:"Conductor Bridge"}),(0,a.jsx)("h1",{className:"mt-3 text-3xl font-semibold tracking-[-0.03em] text-[var(--vk-text-strong)] sm:text-4xl",children:"Connect a laptop"}),(0,a.jsx)("p",{className:"mt-3 text-base leading-7 text-[var(--vk-text-muted)]",children:"Pair one machine, keep the bridge daemon running on it, and use it from the normal Conductor dashboard."}),(0,a.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,a.jsxs)(U,{children:[F.length," paired"]}),(0,a.jsxs)(U,{children:[eU.length," online"]}),(0,a.jsx)(U,{children:eq?`${eq.device_name} ready`:eP?`${eP.device_name} selected`:"No device selected"})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2 lg:justify-end",children:[eV?(0,a.jsx)(N.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)(n(),{href:eV,children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Open ",eq?.device_name??"device"]})}):(0,a.jsx)(N.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)("a",{href:"#bridge-setup",children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Set up this laptop"]})}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"lg",disabled:!eS,onClick:()=>{eY()},children:[(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Refresh"]}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"lg",disabled:!eS||er||0===eU.length,onClick:()=>{e1()},children:[er?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.A,{className:"h-4 w-4"}),"Test connection"]})]})]})}),eS?null:(0,a.jsxs)(z,{className:"border-[color:color-mix(in_srgb,var(--vk-orange)_34%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_12%,transparent)] shadow-none",children:[(0,a.jsx)(M,{children:"Bridge relay"}),(0,a.jsx)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"Bridge relay URL is not configured"}),(0,a.jsxs)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:["Set ",(0,a.jsx)("code",{children:"CONDUCTOR_BRIDGE_RELAY_URL"})," to enable paired-device refresh, claims, and bridge management on this page."]})]}),eq?(0,a.jsx)(z,{className:"border-[rgba(24,197,143,0.32)] bg-[rgba(24,197,143,0.08)] shadow-none",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(M,{children:"Ready to use"}),(0,a.jsxs)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:[eq.device_name," is online"]}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"Continue into the dashboard with this laptop selected, or open a live bridge test."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(N.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)(n(),{href:eV??"/",children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Open dashboard"]})}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"lg",disabled:!eS||er,onClick:()=>{e1()},children:[(0,a.jsx)(o.A,{className:"h-4 w-4"}),"Open terminal test"]})]})]})}):null,ee?(0,a.jsx)("div",{className:"rounded-[20px] border border-[color:color-mix(in_srgb,var(--vk-red)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-5 py-4 text-sm text-[var(--vk-red)]",children:ee}):null,e?(0,a.jsxs)(z,{children:[(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)(M,{children:"Device-first pairing"}),(0,a.jsx)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"paired"===eo?"This laptop is paired":"Finishing this laptop claim"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"paired"===eo?"The local command can now finish the handshake on the same machine. This page will keep refreshing until the laptop reports online.":"Conductor is binding the currently-running machine to your account and returning device credentials to that local command."})]}),eb?(0,a.jsx)(N.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)(n(),{href:`/?bridge=${encodeURIComponent(eb.deviceId)}`,children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Open ",eb.deviceName]})}):null]}),(0,a.jsx)("div",{className:"mt-5 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4 text-sm text-[var(--vk-text-muted)]",children:"pending"===eo?(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Waiting for the local command to receive its one-time device credentials."]}):"paired"===eo&&eb?(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(m.A,{className:"mt-0.5 h-4 w-4 text-[var(--vk-green)]"}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"font-medium text-[var(--vk-text-strong)]",children:[eb.deviceName," is now paired."]}),(0,a.jsx)("div",{className:"mt-1",children:eT?.connected?"This laptop is online and ready to use.":"The bridge service is restarting for this laptop now. This page will refresh until it reports online."}),ey.message?(0,a.jsxs)("div",{className:(0,C.cn)("mt-2 flex flex-wrap items-center gap-2 text-xs leading-5","failed"===ey.phase?"text-[var(--vk-red)]":"skipped"===ey.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,y.qv)(ey.phase)}),(0,a.jsx)("span",{children:ey.message})]}):null]})]}):eu?(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("div",{className:"text-[var(--vk-red)]",children:eu}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",onClick:()=>{eK()},children:[(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Retry claim"]})]}):null})]}):null,(0,a.jsxs)("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1.08fr)_minmax(0,0.92fr)]",children:[(0,a.jsxs)(z,{id:"bridge-setup",children:[(0,a.jsx)(M,{children:"Setup"}),(0,a.jsx)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"Connect this laptop"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"Most users only need one command. Choose the shell for this laptop, then run the hosted bridge installer. It installs the bridge, opens the browser, and pairs the current laptop to this dashboard without requiring the full Conductor CLI first."}),(0,a.jsx)("div",{className:"mt-5 flex flex-wrap gap-2",children:[{value:"unix",label:"macOS / Linux"},{value:"windows",label:"Windows PowerShell"}].map(e=>(0,a.jsx)("button",{type:"button",className:(0,C.cn)("rounded-full border px-3 py-1.5 text-xs font-medium transition-colors",eh===e.value?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_14%,transparent)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),onClick:()=>{ep(e.value)},children:e.label},e.value))}),(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsx)(T,{title:"Recommended command",description:"windows"===eh?"Run this in Windows PowerShell on the laptop you want to pair.":"Run this in Terminal on the laptop you want to pair.",command:eE,footer:(0,a.jsxs)(N.$,{type:"button",variant:"primary",size:"md",onClick:()=>{eX(eE,"setup")},children:["setup"===X?(0,a.jsx)(m.A,{className:"h-4 w-4"}):(0,a.jsx)(x.A,{className:"h-4 w-4"}),"setup"===X?"Setup command copied":"Copy setup command"]})})}),(0,a.jsxs)("ol",{className:"mt-5 grid gap-3 sm:grid-cols-3",children:[(0,a.jsxs)("li",{className:"rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"Step 1"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-normal)]",children:"Run the command in Terminal on macOS or Linux, or in PowerShell on Windows."})]}),(0,a.jsxs)("li",{className:"rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"Step 2"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-normal)]",children:"Finish sign-in in the browser tab the command opens."})]}),(0,a.jsxs)("li",{className:"rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"Step 3"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-normal)]",children:"Leave the bridge daemon running so the laptop stays available."})]})]}),(0,a.jsxs)("div",{className:"mt-5 rounded-[20px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-4 px-5 py-4 text-left",onClick:()=>{ev(e=>!e)},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[var(--vk-text-strong)]",children:"Advanced options"}),(0,a.jsx)("div",{className:"mt-1 text-sm text-[var(--vk-text-muted)]",children:"Use these only if the default setup flow is not right for your case."})]}),ex?(0,a.jsx)(v,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):(0,a.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]}),ex?(0,a.jsxs)("div",{className:"space-y-4 border-t border-[var(--vk-border)] px-4 py-4",children:[(0,a.jsx)(T,{title:"Install only",description:"Install the bridge now, then connect later from a new shell.",command:eR,footer:(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",onClick:()=>{eX(eR,"install")},children:[(0,a.jsx)(x.A,{className:"h-4 w-4"}),"install"===X?"Install command copied":"Copy install command"]})}),(0,a.jsx)(T,{title:"Already installed",description:"Use this when the bridge is already installed on the laptop.",command:ez,footer:(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",onClick:()=>{eX(ez,"connect")},children:[(0,a.jsx)(x.A,{className:"h-4 w-4"}),"connect"===X?"Connect command copied":"Copy connect command"]})}),(0,a.jsx)(T,{title:"Manual fallback",description:"Use a one-time code only if the browser claim flow cannot finish on the same machine.",command:eM,children:(0,a.jsx)("div",{className:"mt-4 rounded-[16px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 py-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time code"}),(0,a.jsx)("div",{className:"mt-3 font-mono text-4xl font-semibold tracking-[0.18em] text-[var(--vk-text-strong)]",children:q??"------"}),(0,a.jsx)("div",{className:"mt-3 text-sm text-[var(--vk-text-muted)]",children:q?`Valid for about ${Math.max(1,Math.round((W??600)/60))} minutes.`:"Generate a code to reveal the manual pair command."})]}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:H||!eS,onClick:()=>{eQ()},children:[H?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(l.A,{className:"h-4 w-4"}),q?"Generate new code":"Generate code"]})]})}),footer:(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:!q||!eS,onClick:()=>{eX(eM,"manual")},children:["manual"===X?(0,a.jsx)(m.A,{className:"h-4 w-4"}):(0,a.jsx)(x.A,{className:"h-4 w-4"}),"manual"===X?"Manual command copied":"Copy manual command"]})})]}):null]})]}),(0,a.jsxs)(z,{children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(M,{children:"Devices"}),(0,a.jsx)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"Paired devices"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"Pick a laptop below, then continue into the dashboard with that device selected."})]}),(0,a.jsxs)(U,{children:[F.length," total"]})]}),eP?(0,a.jsx)("div",{className:"mt-5 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"text-base font-semibold text-[var(--vk-text-strong)]",children:eP.device_name}),(0,a.jsx)(j.J,{connected:eP.connected,title:`${eP.device_name} is ${eP.connected?"online":"offline"}`})]}),(0,a.jsx)("div",{className:"text-sm text-[var(--vk-text-muted)]",children:R(eP)}),ey.message&&ey.deviceId===eP.device_id?(0,a.jsxs)("div",{className:(0,C.cn)("flex flex-wrap items-center gap-2 text-xs leading-5","failed"===ey.phase?"text-[var(--vk-red)]":"skipped"===ey.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,y.qv)(ey.phase)}),(0,a.jsx)("span",{children:ey.message})]}):null,eC.message&&eC.deviceId===eP.device_id?(0,a.jsx)("div",{className:(0,C.cn)("text-xs leading-5","failed"===eC.status?"text-[var(--vk-red)]":"completed"===eC.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:eC.message}):null,eH?(0,a.jsx)(f.i,{deviceId:eP.device_id,deviceName:eP.device_name,deviceOs:eP.os,dashboardUrl:s,installScriptUrl:P,installPowerShellUrl:L,relayUrl:i}):null,eP.connected?(0,a.jsxs)("div",{className:"flex w-full flex-wrap gap-2",children:[(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:eD||(0,y.xv)(ey,eP.device_id),onClick:()=>{e4(eP)},children:[eG?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(p.A,{className:"h-4 w-4"}),"Repair bridge"]}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:(0,y.xv)(ey,eP.device_id)||eD,onClick:()=>{e2(eP)},children:[(0,y.xv)(ey,eP.device_id)?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(u.A,{className:"h-4 w-4"}),(0,y.xv)(ey,eP.device_id)?"Updating...":"Update Conductor"]}),(0,a.jsx)(N.$,{asChild:!0,variant:"primary",size:"md",children:(0,a.jsxs)(n(),{href:`/?bridge=${encodeURIComponent(eP.device_id)}`,children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Continue with ",eP.device_name]})}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:eD||(0,y.xv)(ey,eP.device_id),onClick:()=>{e0(eP)},children:[eJ?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Restart service"]})]}):(0,a.jsxs)("div",{className:"w-full rounded-[16px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 py-4",children:[(0,a.jsxs)("div",{className:"text-sm font-medium text-[var(--vk-text-strong)]",children:[eP.device_name," is offline"]}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"Open the same laptop and run the reconnect command below. If Conductor Bridge is missing or broken on that machine, use the full setup command instead."}),(0,a.jsx)("pre",{className:"mt-3 overflow-x-auto whitespace-pre-wrap break-all rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-3 font-mono text-sm leading-6 text-[var(--vk-text-normal)]",children:ez}),(0,a.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,a.jsxs)(N.$,{type:"button",variant:"primary",size:"md",onClick:()=>{eX(ez,"connect")},children:["connect"===X?(0,a.jsx)(m.A,{className:"h-4 w-4"}):(0,a.jsx)(x.A,{className:"h-4 w-4"}),"connect"===X?"Reconnect command copied":"Copy reconnect command"]}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",onClick:()=>{eX(eB,"setup")},children:["setup"===X?(0,a.jsx)(m.A,{className:"h-4 w-4"}):(0,a.jsx)(x.A,{className:"h-4 w-4"}),"setup"===X?"Setup command copied":"Copy full setup command"]}),eW?(0,a.jsx)(N.$,{asChild:!0,variant:"outline",size:"md",children:(0,a.jsxs)(n(),{href:eW,children:[(0,a.jsx)(p.A,{className:"h-4 w-4"}),"Reopen recovery steps"]})}):null]})]})]})}):null,(0,a.jsx)("div",{className:"mt-5 space-y-3",children:G?(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4 text-sm text-[var(--vk-text-muted)]",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Loading paired devices..."]}):F.length>0?F.map(e=>{let t=eP?.device_id===e.device_id,s=(0,y.xv)(ey,e.device_id),r="running"===eC.status&&eC.deviceId===e.device_id,i=r&&"repair"===eC.kind,d=r&&"restart"===eC.kind;return(0,a.jsx)("div",{className:(0,C.cn)("rounded-[18px] border bg-[var(--vk-bg-main)] p-4",t?"border-[var(--vk-orange)]":"border-[var(--vk-border)]"),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-start xl:justify-between",children:[(0,a.jsxs)("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>{eN(e.device_id)},children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"truncate text-base font-medium text-[var(--vk-text-strong)]",children:e.device_name}),(0,a.jsx)(j.J,{connected:e.connected,title:`${e.device_name} is ${e.connected?"online":"offline"}`}),t?(0,a.jsx)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-1 text-[11px] text-[var(--vk-text-muted)]",children:"Selected"}):null]}),(0,a.jsx)("div",{className:"mt-2 text-sm text-[var(--vk-text-muted)]",children:R(e)}),(0,a.jsxs)("div",{className:"mt-1 text-xs text-[var(--vk-text-muted)]",children:["Relay: ",e.last_status?.hostname??e.hostname,(0,I.wj)(e.last_status?.version)]}),ey.message&&ey.deviceId===e.device_id?(0,a.jsxs)("div",{className:(0,C.cn)("mt-2 flex flex-wrap items-center gap-2 text-xs leading-5","failed"===ey.phase?"text-[var(--vk-red)]":"skipped"===ey.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,y.qv)(ey.phase)}),(0,a.jsx)("span",{children:ey.message})]}):null,eC.message&&eC.deviceId===e.device_id?(0,a.jsx)("div",{className:(0,C.cn)("mt-2 text-xs leading-5","failed"===eC.status?"text-[var(--vk-red)]":"completed"===eC.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:eC.message}):null]}),(0,a.jsxs)("div",{className:"flex w-full flex-wrap items-center gap-2 xl:w-auto xl:justify-end",children:[e.connected?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.$,{asChild:!0,variant:t?"primary":"outline",size:"md",children:(0,a.jsx)(n(),{href:`/?bridge=${encodeURIComponent(e.device_id)}`,children:t?"Continue":"Open"})}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:r||s,onClick:()=>{eN(e.device_id),e4(e)},children:[i?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(p.A,{className:"h-4 w-4"}),"Repair"]}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:s||r,onClick:()=>{eN(e.device_id),e2(e)},children:[s?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(u.A,{className:"h-4 w-4"}),s?"Updating...":"Update"]}),(0,a.jsxs)(N.$,{type:"button",variant:"outline",size:"md",disabled:r||s,onClick:()=>{eN(e.device_id),e0(e)},children:[d?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Restart"]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-xs text-[var(--vk-text-muted)]",children:"Offline"}),(0,a.jsx)(N.$,{asChild:!0,variant:t?"primary":"outline",size:"md",children:(0,a.jsx)(n(),{href:(0,A.kw)(e.device_id),onClick:()=>{eN(e.device_id)},children:"Reconnect"})})]}),(0,a.jsx)(N.$,{type:"button",variant:"ghost",size:"icon",disabled:K===e.device_id,onClick:()=>{eZ(e.device_id)},"aria-label":`Revoke ${e.device_name}`,children:K===e.device_id?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(g.A,{className:"h-4 w-4"})})]})]})},e.device_id)}):(0,a.jsx)("div",{className:"rounded-[18px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-6 text-sm text-[var(--vk-text-muted)]",children:"No laptops have been paired yet. Run the setup command on the laptop you want to use."})})]})]})]})}),es?(0,a.jsxs)("div",{className:"fixed inset-0 z-[85] flex items-start justify-center overflow-y-auto bg-black/70 px-3 py-3 sm:items-center sm:py-0",children:[(0,a.jsx)("button",{type:"button",className:"absolute inset-0","aria-label":"Close bridge terminal test",onClick:()=>{ea(!1)}}),(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"bridge-test-title",className:"relative z-10 flex max-h-[92vh] w-full max-w-6xl flex-col overflow-hidden rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.4)]",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-4 border-b border-[var(--vk-border)] px-5 py-5 sm:flex-row sm:items-start sm:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.24em] text-[var(--vk-text-muted)]",children:"Bridge terminal test"}),(0,a.jsx)("h2",{id:"bridge-test-title",className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"Live session over Conductor Bridge"}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-6 text-[var(--vk-text-muted)]",children:el?`${el.projectId}${el.branch?` \xb7 ${el.branch}`:""}`:"Open a session here to verify terminal input and output through the bridge."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(j.J,{connected:eU.length>0,title:`${eU.length} connected device${1===eU.length?"":"s"}`}),(0,a.jsx)(N.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{ea(!1)},"aria-label":"Close bridge test modal",children:(0,a.jsx)(b.A,{className:"h-4 w-4"})})]})]}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col px-5 py-5",children:[0===eU.length?(0,a.jsx)("div",{className:"mb-4 rounded-[18px] border border-[color:color-mix(in_srgb,var(--vk-red)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_10%,transparent)] px-4 py-3 text-sm text-[var(--vk-text-muted)]",children:"No paired bridge reports as online right now. Reconnect a laptop to test the live terminal path."}):null,er?(0,a.jsx)("div",{className:"flex min-h-[360px] flex-1 items-center justify-center rounded-[20px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-sm text-[var(--vk-text-muted)]",children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Preparing a session for the bridge test..."]})}):en?(0,a.jsx)("div",{className:"rounded-[20px] border border-[color:color-mix(in_srgb,var(--vk-red)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-5 py-4 text-sm text-[var(--vk-red)]",children:en}):el?(0,a.jsx)("div",{className:"min-h-[420px] flex-1 overflow-hidden rounded-[20px] border border-[var(--vk-border)] bg-[#060404]",children:(0,a.jsx)(w.SessionTerminal,{sessionId:el.id,projectId:el.projectId,bridgeId:el.bridgeId,sessionState:el.status,pendingInsert:null})}):(0,a.jsx)("div",{className:"rounded-[20px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-5 py-10 text-sm text-[var(--vk-text-muted)]",children:"No session is available for bridge testing yet."})]})]})]}):null]})}},69863:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(13454).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},69902:(e,t,s)=>{"use strict";s.d(t,{PublicPageShell:()=>n,PublicPanel:()=>d,PublicSection:()=>l});var a=s(54568),r=s(82175),i=s(46916);function n({children:e,className:t}){return(0,a.jsx)("main",{className:"min-h-screen bg-[var(--bg-canvas)] text-[var(--text-strong)]",children:(0,a.jsxs)("div",{className:"mx-auto flex min-h-screen w-full max-w-6xl flex-col px-6 py-8 sm:px-8 sm:py-10",children:[(0,a.jsxs)("header",{className:"flex items-center gap-3 border-b border-[var(--border-soft)] pb-6",children:[(0,a.jsx)("img",{src:"/icon.svg",alt:"Conductor icon",width:40,height:40,className:"h-10 w-10 rounded-[10px] border border-[var(--border-soft)] bg-[var(--bg-panel)] p-1.5"}),(0,a.jsx)(r.default,{src:"/brand/conductor-wordmark-dark.png",alt:"Conductor",width:320,height:62,priority:!0,className:"h-auto w-[168px] sm:w-[220px]"})]}),(0,a.jsx)("div",{className:(0,i.cn)("flex-1 py-10 sm:py-12",t),children:e})]})})}function d({children:e,className:t}){return(0,a.jsx)("section",{className:(0,i.cn)("surface-card rounded-[var(--radius-lg)] border border-[var(--border-soft)] bg-[var(--bg-panel)]",t),children:e})}function l({eyebrow:e,title:t,description:s,children:r,className:n}){return(0,a.jsxs)("div",{className:(0,i.cn)("space-y-4",n),children:[e?(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.24em] text-[var(--text-muted)]",children:e}):null,(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("h1",{className:"text-3xl font-semibold tracking-[-0.02em] text-[var(--text-strong)] sm:text-4xl",children:t}),s?(0,a.jsx)("p",{className:"max-w-2xl text-base leading-7 text-[var(--text-muted)] sm:text-lg",children:s}):null]}),r]})}},82767:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,65587,23)),Promise.resolve().then(s.bind(s,69902)),Promise.resolve().then(s.bind(s,62324))}},e=>{e.O(0,[3357,5587,3051,1257,2175,9703,9542,587,1968,7358],()=>e(e.s=82767)),_N_E=e.O()}]);
|
package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-c11b530e4c1af6a9.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{15425:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("003ebb69a7b4457ff5da946f422c8136ebf70d9670",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},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})}},74471:()=>{},88146:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0034df473de0237edf4fdbc9aed0ebff1d34fd16cb",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},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 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974,9847],{12529:(e,t,n)=>{Promise.resolve().then(n.bind(n,80075))},33866:(e,t,n)=>{"use strict";n.d(t,{BO:()=>l,Ge:()=>d,a6:()=>c,h7:()=>i,iQ:()=>o,pN:()=>a});var r=n(5739);let a=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"hermes",label:"Hermes",description:"Nous Research Hermes Agent CLI",homepage:"https://hermes-agent.nousresearch.com/",iconUrl:"/agents/hermes.png",installHint:"curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",installUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/",setupUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"openclaw",label:"OpenClaw",description:"OpenClaw gateway-backed chat runtime",homepage:"https://github.com/openclaw/openclaw#readme",iconUrl:null,installHint:"Configure the OpenClaw gateway in backend runtime settings",installUrl:"https://github.com/openclaw/openclaw",setupUrl:"https://github.com/openclaw/openclaw",surfaces:["dispatcher"]},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],l=a.map(e=>e.name),s=new Map(a.map(e=>[(0,r.q)(e.name),e]));function i(e){return s.get((0,r.q)(e))??null}function o(e){let t=i(e);return!t||(t.surfaces?.includes("terminal")??!0)}function d(e){let t=[],n=new Set;for(let a of e){let e=a.trim();if(!e||!o(e))continue;let l=(0,r.q)(e);n.has(l)||(n.add(l),t.push(e))}return t}function c(e,t){let n="string"==typeof e?e.trim():"";if(n&&o(n))return n;let r=t.trim();return r&&o(r)?r:a.find(e=>o(e.name))?.name??"codex"}},51164:(e,t,n)=>{"use strict";n.d(t,{v:()=>c});var r=n(76196);let a=["pro","max","api"],l=["chatgpt","api"],s=["default"],i=["oauth","api"],o=["oauth","api"];function d(e,t,n){return"string"==typeof e&&t.includes(e)?e:n}function c(e){let t=!e||"object"!=typeof e||Array.isArray(e)?{}:{...e},n=(0,r.Zp)();return{amp:d(t.amp,s,n.amp),claudeCode:d(t.claudeCode,a,n.claudeCode),codex:d(t.codex,l,n.codex),cursorCli:d(t.cursorCli,s,n.cursorCli),droid:d(t.droid,s,n.droid),gemini:d(t.gemini,i,n.gemini),githubCopilot:d(t.githubCopilot,s,n.githubCopilot),opencode:d(t.opencode,s,n.opencode),qwenCode:d(t.qwenCode,o,n.qwenCode),ccr:d(t.ccr,s,n.ccr)}}},80075:(e,t,n)=>{"use strict";n.d(t,{default:()=>ej});var r=n(54568),a=n(42925),l=n(79748),s=n(7620),i=n(40448);n(76196);var o=n(52353),d=n(20487),c=n(50549),p=n(57917),u=n(21048),x=n(55341),m=n(30824),h=n(34737),g=n(20670),f=n(8008),v=n(58299),b=n(36645),w=n(84736),j=n(7086),k=n(54299),y=n(34041),N=n(34309),C=n(63253),A=n(20732),S=n(45894),I=n(5739),E=n(33866),M=n(35821),$=n(95106),L=n(53649),U=n(86011),O=n(31404),P=n(10926);let B=new Map,q=new Map;function F(e){let t=q.get(e);return t||(t={agents:[],loading:!0,lastFetchedAt:0,inFlight:null,retryTimeout:null},q.set(e,t)),t}function _(e){let t=B.get(e);return t||(t=new Set,B.set(e,t)),t}function T(e){for(let t of _(e))t()}function D(e){let t=F(e);return t.agents.length>0&&Date.now()-t.lastFetchedAt<3e4}function R(e,t){let n=F(e);null===n.retryTimeout&&(n.retryTimeout=window.setTimeout(()=>{F(e).retryTimeout=null,W(e,t,!0)},1e4))}async function W(e,t,n=!1){let r=F(e);if(!n&&D(e)){r.loading&&(r.loading=!1,T(e));return}return r.inFlight||(r.loading=!0,T(e),r.inFlight=(async()=>{try{var n;let a=await fetch((0,O.S)("/api/agents",t),{cache:"no-store"});if(!a.ok)throw Error(`Failed to fetch agents: ${a.status}`);let l=(n=await a.json(),Array.isArray(n)?n:n&&"object"==typeof n&&"agents"in n&&Array.isArray(n.agents)?n.agents:[]);l.length>0?(r.agents=l,r.lastFetchedAt=Date.now(),null!==r.retryTimeout&&(window.clearTimeout(r.retryTimeout),r.retryTimeout=null)):R(e,t)}catch{R(e,t)}finally{r.loading=!1,r.inFlight=null,T(e)}})()),r.inFlight}var H=n(46012),G=n(862),V=n(97882),z=n(39702),Z=n(86181),J=n(72410);function Q(e){return e&&"object"==typeof e?e:null}async function X({files:e,projectId:t,taskRef:n,bridgeId:r,preferAbsolute:a=!0}){if(!e.length)return[];let l=t.trim();if(!l)throw Error("Project id is required to upload attachments");let s=new FormData;s.append("projectId",l);let i=n?.trim();for(let t of(i&&s.append("taskRef",i),e))s.append("files",t);let o=await fetch((0,O.S)("/api/attachments",r),{method:"POST",body:s}),d=await o.json().catch(()=>null);if(!o.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(d?.error??`Failed to upload ${t}`)}let c=(Array.isArray(d?.files)?d.files:d?[d]:[]).map(e=>(function(e,t){let n=Q(e);if(!n)return null;let r=Q(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,a)).filter(e=>!!e);if(0===c.length)throw Error("Attachment upload succeeded but did not return a usable file path");return c}var K=n(84527),Y=n(15115);function ee(e){return e.map(e=>(0,P.C0)(e)).filter(e=>null!==e)}var et=n(67506),en=n(76050),er=n(51164),ea=n(88272);let el="claude-code",es="conductor-board-dispatcher-panel-width";function ei(e){let t=e?.trim();return t&&t.length>0?t:null}function eo(e,t){return Math.min(Math.min(720,Math.max(320,Math.floor(.55*(Number.isFinite(t)&&t>0?t:720)))),Math.max(320,Math.round(e)))}let ed=(0,a.default)(()=>Promise.all([n.e(4997),n.e(9505)]).then(n.bind(n,4997)).then(e=>e.SessionDetail),{loadableGenerated:{webpack:()=>[4997]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),ec=(0,a.default)(()=>Promise.all([n.e(9450),n.e(9167)]).then(n.bind(n,29450)).then(e=>e.WorkspaceSidebarPanel),{loadableGenerated:{webpack:()=>[29450]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace panel..."})}),ep=(0,a.default)(()=>n.e(6173).then(n.bind(n,66173)).then(e=>e.WorkspaceOverview),{loadableGenerated:{webpack:()=>[66173]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace..."})}),eu=(0,a.default)(()=>n.e(9739).then(n.bind(n,79739)).then(e=>e.WorkspaceKanban),{loadableGenerated:{webpack:()=>[79739]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})}),ex=(0,a.default)(()=>Promise.all([n.e(9526),n.e(2651),n.e(6183),n.e(8607)]).then(n.bind(n,44838)).then(e=>e.ProjectDispatcherPanel),{loadableGenerated:{webpack:()=>[44838]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),em=(0,a.default)(()=>Promise.all([n.e(3470),n.e(524),n.e(474)]).then(n.bind(n,90474)).then(e=>e.NewWorkspaceDialog),{loadableGenerated:{webpack:()=>[90474]},loading:()=>null}),eh=(0,a.default)(()=>Promise.all([n.e(3470),n.e(524),n.e(474)]).then(n.bind(n,90474)).then(e=>e.SettingsDialog),{loadableGenerated:{webpack:()=>[90474]},loading:()=>null});function eg(e){let t=(0,E.h7)(e);return t?.label?t.label:e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function ef(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function ev(e){let[t]=e.split(" - ");return(t??e).trim()}function eb(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function ew(e,t){let n=eb(e),r=eb(n.notifications),a=r.soundFile,l="string"==typeof n.codingAgent&&n.codingAgent.trim().length>0?n.codingAgent.trim():t,s=(0,E.a6)(l,t),i="string"==typeof n.ide&&n.ide.trim().length>0?n.ide.trim():"vscode",o="string"==typeof n.markdownEditor&&n.markdownEditor.trim().length>0?n.markdownEditor.trim():"obsidian",d="string"==typeof n.markdownEditorPath?n.markdownEditorPath.trim():"";return{onboardingAcknowledged:!0===n.onboardingAcknowledged,codingAgent:s,ide:i,markdownEditor:o,markdownEditorPath:d,modelAccess:(0,er.v)(n.modelAccess),notifications:{soundEnabled:!1!==r.soundEnabled,soundFile:null===a?null:"string"==typeof a&&a.trim().length>0?a.trim():"abstract-sound-4"}}}function ej({requiresPairedDeviceScope:e=!1}){let t=(0,l.useRouter)(),n=(0,l.usePathname)(),a=(0,l.useSearchParams)(),i=(0,s.useMemo)(()=>ei(a.get("project")),[a]),o=(0,s.useMemo)(()=>ei(a.get("session")),[a]),d=(0,s.useMemo)(()=>"board"===a.get("view")?"board":"direct",[a]),c=(0,s.useMemo)(()=>ei(a.get("bridge")),[a]),[p,u]=(0,s.useState)(c??""),h=(0,P.C0)(p),g=(0,s.useMemo)(()=>(0,P.DW)(o)?.bridgeId??null,[o]),w=c??g,j=h??g,[k,y]=(0,s.useState)([]),[N,C]=(0,s.useState)("loading"),A=(0,et.y)(),S=(0,s.useMemo)(()=>k.filter(e=>e.connected),[k]),B=(0,s.useMemo)(()=>S.map(e=>e.bridgeId),[S]),q=(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!1;let a=(0,P.C0)(t);return!!a&&("loading"===r||"ready"===r&&!ee(n).includes(a))})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:B,bridgeInventoryStatus:N}),[N,B,j,e]);(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!0;let a=(0,P.C0)(t);return!!a&&"ready"===r&&ee(n).includes(a)})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:B,bridgeInventoryStatus:N}),[N,B,j,e]);let T=(0,s.useMemo)(()=>!e||!!j,[j,e]),{projects:R,loading:J,error:Q,refresh:X}=(0,L.U)(j,{enabled:T}),{agents:ef}=function(e,t){let n=t?.enabled??!0,r=(0,P.C0)(e)??"local",[a,l]=(0,s.useState)({agents:[],loading:n});return(0,s.useEffect)(()=>{if(!n)return void l({agents:[],loading:!1});let t=()=>{let e;return l({agents:(e=F(r)).agents,loading:e.loading})};_(r).add(t),t(),W(r,e);let a=()=>{D(r)||W(r,e,!0)},s=()=>{"visible"!==document.visibilityState||D(r)||W(r,e,!0)};return window.addEventListener("focus",a),document.addEventListener("visibilitychange",s),()=>{_(r).delete(t),window.removeEventListener("focus",a),document.removeEventListener("visibilitychange",s)}},[e,n,r]),n?a:{agents:[],loading:!1}}(j,{enabled:T}),{mobileSidebarOpen:ev,desktopSidebarOpen:eb,toggleSidebar:ey,closeSidebarOnMobile:eN,syncSidebarForViewport:eC}=(0,H.T)({initialDesktopOpen:!1}),eA=ev||eb,eS=!o||eA,{sessions:eI,loading:eE,error:eM,refresh:e$}=(0,$.t)(i,{enabled:eS&&T,bridgeId:j}),[eL,eU]=(0,s.useState)(""),[eO,eP]=(0,s.useState)(""),[eB,eq]=(0,s.useState)((0,ea.Z3)()),[eF,e_]=(0,s.useState)(!1),[eT,eD]=(0,s.useState)(null),[eR,eW]=(0,s.useState)(null),[eH,eG]=(0,s.useState)(!1),[eV,ez]=(0,s.useState)(!1),[eZ,eJ]=(0,s.useState)(null),[eQ,eX]=(0,s.useState)(null),[eK,eY]=(0,s.useState)(!0),[e0,e1]=(0,s.useState)(!1),[e4,e3]=(0,s.useState)(null),[e2,e5]=(0,s.useState)(!1),[e6,e9]=(0,s.useState)(!1),[e7,e8]=(0,s.useState)(()=>o?[o]:[]),[te,tt]=(0,s.useState)(!1),[tn,tr]=(0,s.useState)(!1),[ta,tl]=(0,s.useState)(()=>o?"chat":"board"),[ts,ti]=(0,s.useState)(!1),[to,td]=(0,s.useState)(405),[tc,tp]=(0,s.useState)(!1),tu=(0,s.useRef)(null),tx=(0,s.useRef)(i);(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(pointer: coarse)"):null,t=()=>{tt((0,Z.k$)())};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(min-width: 1280px)"):null,t=()=>{tr(e?.matches??window.innerWidth>=1280)};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{if("board"!==d||null===i){tx.current=i,tl("board");return}let e=tx.current!==i;(tx.current=i,o)?tl("chat"):e&&tl("board")},[i,o,d]),(0,s.useEffect)(()=>{try{let e=window.localStorage.getItem(es),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&td(eo(t,window.innerWidth))}catch{}let e=()=>{td(e=>eo(e,window.innerWidth))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),(0,s.useEffect)(()=>{if(!tc)return;let e=e=>{let t=window.innerWidth;td(eo(t-e.clientX,t))},t=()=>{tp(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(es,String(to))}catch{}}},[tc,to]),(0,s.useEffect)(()=>{if(!A){y([]),C("ready"),e&&t.replace("/bridge/connect");return}let n=!1,r=window.innerWidth<768,a=q?r?8e3:4e3:r?3e4:15e3;async function l(){try{let e=await fetch("/api/bridge/devices",{cache:"no-store"});if(!e.ok)throw Error(`Failed to fetch bridges: ${e.status}`);let t=await e.json().catch(()=>null);n||(y((0,Y.oH)(t?.devices).map(e=>({bridgeId:e.device_id,hostname:e.last_status?.hostname??e.hostname,os:`${e.last_status?.os??`${e.os}/${e.arch}`}${(0,Y.wj)(e.last_status?.version)}`,capabilities:[],connected:e.connected,status:e.connected?"connected":"offline",connectedAt:"",lastSeenAt:""}))),C("ready"))}catch{n||(y([]),C("error"))}}l();let s=window.setInterval(()=>{l()},a);return()=>{n=!0,window.clearInterval(s)}},[A,q,e,t]),(0,s.useEffect)(()=>{let t=function({requiresPairedDeviceScope:e,requestedBridgeId:t,selectedBridgeId:n,connectedBridgeIds:r}){let a=(0,P.C0)(t),l=(0,P.C0)(n),s=ee(r);return e?a||(0===s.length?"":l&&s.includes(l)?l:s[0]??""):l&&s.includes(l)?l:""}({requiresPairedDeviceScope:e,requestedBridgeId:w,selectedBridgeId:p,connectedBridgeIds:B});t!==p&&u(t)},[B,w,e,p]),(0,s.useEffect)(()=>{!e||j||"ready"!==N||S.length>0||t.replace("/bridge/connect")},[N,S.length,j,e,t]),(0,s.useEffect)(()=>{u(c??"")},[c]);let tm=(0,s.useMemo)(()=>new Map(eI.map(e=>[e.id,e])),[eI]),{session:th,loading:tg,error:tf}=(0,M.w)(o,null,{enabled:!!o&&T,bridgeId:j}),tv=eT??Q??eM??tf??e4,tb=(0,s.useMemo)(()=>{let e=new Map;for(let t of eI){let n=e.get(t.projectId);n?n.push(t):e.set(t.projectId,[t])}return e},[eI]),tw=(0,s.useCallback)((e,r="push")=>{let l=new URLSearchParams(a.toString()),s=(e,t)=>{let n="string"==typeof t?t.trim():"";n.length>0?l.set(e,n):l.delete(e)};"projectId"in e&&s("project",e.projectId),"sessionId"in e&&s("session",e.sessionId),"workspaceView"in e&&("board"===e.workspaceView?l.set("view","board"):l.delete("view")),"tab"in e&&(e.tab&&"dispatcher"!==e.tab?l.set("tab",e.tab):l.delete("tab")),"bridgeId"in e&&s("bridge",e.bridgeId),l.has("project")||l.delete("view"),l.has("session")||l.delete("tab");let i=l.toString(),o=i.length>0?`${n}?${i}`:n;"replace"===r?t.replace(o,{scroll:!1}):t.push(o,{scroll:!1})},[n,t,a]);(0,s.useEffect)(()=>{let e=(0,P.C0)(p);(c??null)!==e&&tw({bridgeId:e},"replace")},[c,tw,p]),(0,s.useEffect)(()=>{if(!J&&!Q){if(0===R.length){null!==i&&tw({projectId:null,workspaceView:null},"replace");return}null===i||R.some(e=>e.id===i)||tw({projectId:o?null:R[0]?.id??null,workspaceView:o?null:d},"replace")}},[Q,J,tw,R,i,o,d]),(0,s.useEffect)(()=>{if(o){if(eS){if(eE||eM)return;eI.some(e=>e.id===o)||tw({sessionId:null,tab:null},"replace");return}!tg&&(th||tw({sessionId:null,tab:null},"replace"))}},[eI,tw,eS,o,tg,th,eM,eE]),(0,s.useEffect)(()=>{o?e8(e=>[o,...e.filter(e=>e!==o)].slice(0,1)):e8([])},[o]),(0,s.useEffect)(()=>{o&&tu.current&&tu.current!==o&&(tu.current=null)},[o]),(0,s.useEffect)(()=>{o&&eS&&!eE&&!eM&&e8(e=>e.filter(e=>e===o||tm.has(e)))},[eS,o,tm,eM,eE]);let tj=(0,s.useMemo)(()=>th,[th]),tk=(0,s.useMemo)(()=>R.find(e=>e.id===i)??null,[R,i]),ty=(0,s.useMemo)(()=>i?tb.get(i)??[]:[],[i,tb]),tN=(0,s.useMemo)(()=>tj??(o?tm.get(o)??null:null),[tj,o,tm]),tC=(0,s.useMemo)(()=>{let e=a.get("tab");return"overview"!==e&&"preview"!==e&&"diff"!==e&&"dispatcher"!==e&&"terminal"===(0,en.tK)(tN)},[tN,a]),tA=!!o&&tC&&te,tS=(0,s.useMemo)(()=>tj?[tj.projectId,tj.branch].filter(Boolean).join(" \xb7 "):tk?[tk.id,tk.defaultBranch||"main"].filter(Boolean).join(" \xb7 "):"All Projects",[tk,tj]),tI=(0,s.useMemo)(()=>j?k.find(e=>e.bridgeId===j)??null:null,[k,j]),tE=tI?`Device \xb7 ${tI.hostname}`:q?"Device \xb7 Reconnecting":e?"Scope \xb7 Paired device required":"Scope \xb7 Local backend",tM=tI?`Showing projects and sessions from ${tI.hostname}.`:q?"Waiting for the selected laptop to reconnect before loading dashboard data.":e?"Hosted dashboard access must target a connected laptop.":"Showing projects and sessions from the local backend because no paired laptop is selected.",t$=tI?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":q?"border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]":e?"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)]",tL=(0,s.useMemo)(()=>{let e=Array.isArray(ef)?ef:[],t=new Set;for(let e of E.pN)t.add(e.name);for(let n of e)n.name&&t.add(n.name);for(let e of R)e.agent&&t.add(e.agent);eQ?.codingAgent&&t.add(eQ.codingAgent),eO&&t.add(eO),0===t.size&&t.add(eQ?.codingAgent||el);let n=(0,E.Ge)(t);return 0===n.length&&n.push((0,E.a6)(eQ?.codingAgent||el,el)),n},[ef,eQ?.codingAgent,R,eO]),tU=(0,s.useMemo)(()=>{let e={};for(let t of E.pN)e[(0,I.q)(t.name)]={name:t.name,ready:!1,installed:!1,configured:!1,homepage:t.homepage,description:t.description,installHint:t.installHint??null,installUrl:t.installUrl??t.homepage??null,setupUrl:t.setupUrl??t.homepage??null};for(let t of Array.isArray(ef)?ef:[]){if(!t.name)continue;let n=(0,I.q)(t.name),r=(0,E.h7)(t.name);e[(0,I.q)(t.name)]={name:r?.name??t.name,ready:!0===t.ready,installed:!1!==t.installed,configured:!0===t.configured,homepage:"string"==typeof t.homepage?t.homepage:r?.homepage??e[n]?.homepage??null,description:"string"==typeof t.description?t.description:r?.description??e[n]?.description??null,installHint:"string"==typeof t.installHint?t.installHint:r?.installHint??e[n]?.installHint??null,installUrl:"string"==typeof t.installUrl?t.installUrl:r?.installUrl??e[n]?.installUrl??null,setupUrl:"string"==typeof t.setupUrl?t.setupUrl:r?.setupUrl??e[n]?.setupUrl??null}}return e},[ef]),tO=(0,s.useMemo)(()=>{let e={};for(let t of Array.isArray(ef)?ef:[])t.name&&t.runtimeModelCatalog&&(e[(0,I.q)(t.name)]=t.runtimeModelCatalog);return e},[ef]),tP=(0,s.useCallback)(e=>{let t=tU[(0,I.q)(e)],n=(0,E.h7)(e),r=t?.installed?t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage:t?.installUrl??n?.installUrl??t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage;r&&window.open(r,"_blank","noopener,noreferrer")},[tU]);async function tB(t,n){e1(!0),e3(null);try{if(e&&!j)throw Error("Pair or reconnect a laptop before saving preferences.");let r=await fetch((0,O.S)("/api/preferences",j),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??a?.reason??`Failed to save preferences: ${r.status}`);let l=ew(a?.preferences,t.codingAgent||el);return eX(l),eP(l.codingAgent),n?.closeDialog!==!1&&e5(!1),!0}catch(e){return e3(e instanceof Error?e.message:"Failed to save preferences"),!1}finally{e1(!1)}}(0,s.useEffect)(()=>{let e=!1;return async function(){if(!T){e||(eX(null),e3(null),eY(!1));return}eY(!0);try{let t=await fetch((0,O.S)("/api/preferences",j)),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error??n?.reason??`Failed to load preferences: ${t.status}`);if(e)return;let r=ew(n?.preferences,el);eX(r),e3(null)}catch(t){if(e)return;eX(ew(null,el)),e3(t instanceof Error?t.message:"Failed to load preferences")}finally{e||eY(!1)}}(),()=>{e=!0}},[j,T]),(0,s.useEffect)(()=>{eQ&&(eO||eP(eQ.codingAgent))},[eQ,eO]),(0,s.useEffect)(()=>{if(!eK){if(!eQ||e&&!j)return void e5(!1);eQ.onboardingAcknowledged||e5(!0)}},[j,eQ,eK,e]),(0,s.useEffect)(()=>{if(0!==tL.length&&(!eO||!tL.includes(eO))){let e=eQ?.codingAgent||el;eP(tL.includes(e)?e:tL[0]??el)}},[tL,eQ?.codingAgent,eO]),(0,s.useEffect)(()=>{let e=(0,E.a6)(eO||tk?.agent||eQ?.codingAgent||el,el),t=tk&&(0,I.q)(tk.agent)===(0,I.q)(e)?tk.agentModel:null,n=tk&&(0,I.q)(tk.agent)===(0,I.q)(e)?tk.agentReasoningEffort:null;eq((0,ea.c0)(e,eQ?.modelAccess??(0,er.v)(null),tO,t,n))},[eQ?.modelAccess,eQ?.codingAgent,tO,eO,tk]);let tq=(0,s.useCallback)(()=>{e&&!j?eW("Pair or reconnect a laptop before adding a workspace."):(eW(null),eJ(null),eD(null),eG(!0),eC())},[j,e,eC]);(0,s.useEffect)(()=>{e6&&!e2&&(e9(!1),tq())},[e6,e2]),(0,s.useEffect)(()=>{(!e||j)&&eW(null)},[j,e]);let tF=(0,s.useCallback)(async t=>{let n=eL.trim(),r=(0,ea.xb)(eB),a=(0,ea.aB)(eB),l=t?.bridgeId??j??null;if(e&&!l)return eD("Pair or reconnect a laptop before launching an agent session."),!1;let s=t?.projectId??i??R[0]?.id;if(!s)return eD("No project is configured in conductor.yaml"),!1;let o=(0,E.a6)(eO||el,el),d=tU[(0,I.q)(o)]??null;if(d&&!d.ready)return eD(d.installed?`${eg(o)} is not ready yet. Finish setup or authentication and try again.`:`${eg(o)} is not installed on this machine yet. Open setup and try again.`),tP(o),!1;e_(!0),eD(null);try{let e=await fetch((0,O.S)("/api/sessions",l),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:s,prompt:n,...t?.issueId?.trim()?{issueId:t.issueId.trim()}:{},agent:o,...t?.branch?{branch:t.branch}:{},...t?.baseBranch?{baseBranch:t.baseBranch}:{},..."boolean"==typeof t?.useWorktree?{useWorktree:t.useWorktree}:{},...t?.permissionMode?{permissionMode:t.permissionMode}:{},...r?{model:r}:{},...a?{reasoningEffort:a}:{},...t?.attachments&&t.attachments.length>0?{attachments:t.attachments}:{}})}),i=await e.json().catch(()=>null);if(!e.ok)throw Error(i?.error??`Failed to create workspace: ${e.status}`);if(!i?.session?.id)throw Error("Session created but response is missing session id");return eU(""),eC(),tu.current=i.session.id,await e$(),tw({projectId:s,sessionId:i.session.id,tab:null,bridgeId:l},"push"),!0}catch(e){return eD(e instanceof Error?e.message:"Failed to create workspace"),!1}finally{e_(!1)}},[tU,eB,tw,tP,R,eL,e$,eO,j,i,e,eC]),t_=(0,s.useCallback)(async e=>{(await (0,K.J)(e,{bridgeId:j}),o===e)?tw({projectId:null,sessionId:null,workspaceView:null,tab:null},"replace"):j&&e$()},[j,tw,e$,o]),tT=(0,s.useCallback)(async t=>{if(e&&!j)return void eJ("Pair or reconnect a laptop before adding a workspace.");ez(!0),eJ(null);try{let e=await fetch((0,O.S)("/api/workspaces",j),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await e.json().catch(()=>null);if(!e.ok)throw Error(n?.error??`Failed to add workspace: ${e.status}`);let r=n?.project?.id;if(!r)throw Error("Workspace created but response is missing project id");await X(),eU(""),eC(),eG(!1),tw({projectId:r,sessionId:null,workspaceView:"direct",tab:null,bridgeId:j??null},"push")}catch(e){eJ(e instanceof Error?e.message:"Failed to add workspace")}finally{ez(!1)}},[j,tw,X,e,eC]),tD=!eK&&!!eQ&&(!e||!!j)&&!eQ.onboardingAcknowledged,tR=eQ??ew(null,eO||el),tW=(0,E.a6)(eO||tR.codingAgent||el,el),tH=i??th?.projectId??null;(0,U.Q)({enabled:!eK,projectId:tH,preferences:tR.notifications,bridgeId:j});let tG=(0,s.useCallback)(e=>{tw({projectId:e,sessionId:null,workspaceView:e?d:null,tab:null},"push"),eP((0,E.a6)(eQ?.codingAgent||el,el)),tl("board"),eN()},[eN,tw,eQ?.codingAgent,d]),tV=(0,s.useCallback)((e,t)=>{var n,r;let a,l=tm.get(e)??null;tw((n=i??null,r=t?.tab,a={projectId:l?.projectId??n??null,sessionId:e,tab:r??(0,en.tK)(l)},"board"===d?{...a,workspaceView:"direct"}:a),"push"),eN()},[eN,tw,i,tm,d]),tz=(0,s.useCallback)(()=>{e&&!j?t.push("/bridge/connect"):e5(!0)},[j,e,t]),tZ=(0,s.useCallback)(()=>{eV||eG(!1)},[eV]),tJ=(0,s.useCallback)(()=>{e0||tD||(e5(!1),e3(null))},[tD,e0]),tQ=(0,s.useCallback)(()=>{ti(e=>!e)},[]),tX=(0,s.useCallback)(async e=>{let t=encodeURIComponent(e),n=await fetch((0,O.S)(`/api/repositories/${t}`,j),{method:"DELETE"});(404===n.status||405===n.status)&&(n=await fetch((0,O.S)(`/api/repositories?id=${t}`,j),{method:"DELETE"}));let r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error??`Failed to unlink project (${n.status})`);await X()},[j,X]),tK=(0,s.useMemo)(()=>eA?(0,r.jsx)(ec,{projects:R,selectedProjectId:i,onSelectProject:tG,onUnlinkProject:tX,sessions:eI,selectedSessionId:o,onSelectSession:tV,onArchiveSession:t_,onCreateWorkspace:tq}):null,[eI,t_,tG,tV,tX,tq,R,i,o,eA]),tY=(0,s.useMemo)(()=>{let t=tk?(0,r.jsxs)("div",{className:"hidden w-fit rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px xl:inline-flex",children:[(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"direct"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"direct"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"board"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"board"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"})]}):null;return"board"===d?(0,r.jsx)(eu,{projectId:i,bridgeId:j,defaultAgent:tW,agentOptions:tL,projectSessions:ty,projectLabel:tk?.id??i,headerAccessory:t,onOpenSession:tV}):(0,r.jsx)(ek,{prompt:eL,setPrompt:eU,selectedAgent:tW,setSelectedAgent:eP,agentStates:tU,modelSelection:eB,setModelSelection:eq,modelAccess:tR.modelAccess,runtimeModelCatalogs:tO,agentOptions:tL,projects:R,bridges:k,selectedBridgeId:p,setSelectedBridgeId:u,requiresPairedDeviceScope:e,selectedProjectId:i,onSelectProject:tG,projectLabel:i??"All projects",hasProject:R.length>0,creating:eF,error:tv,onOpenAddWorkspace:tq,onOpenAgentSetup:tP,onCreate:tF})},[tL,tU,k,eF,tF,eB,tP,tq,R,ty,tk,o,tV,eL,tW,tR.modelAccess,e,tO,p,i,eU,tv,d,tw]),t0=(0,s.useMemo)(()=>{if(!tk)return tY;let e=({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"direct"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"direct"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button",onClick:()=>tw({projectId:tk.id,workspaceView:"board"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"board"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"})]});if("board"===d){let t={"--dispatcher-panel-width":`${to}px`},n=!tn,a=!n||"board"===ta,l=!n||"chat"===ta,s=n&&null===o,i=tn&&ts&&null===o,c=null!==o||!ts;return(0,r.jsxs)("div",{style:t,className:"relative flex h-full min-h-0 flex-1 flex-col overflow-hidden",children:[n?(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[e({fullWidth:!0,compact:!0}),s?(({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsxs)("button",{type:"button",onClick:()=>{tl("board"),tw({projectId:tk.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"board"===ta,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"board"===ta?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(x.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Board"})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>{tl("chat"),tw({projectId:tk.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"chat"===ta,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"chat"===ta?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(m.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Dispatcher"})]})]}))({fullWidth:!0,compact:!0}):null]})}):null,(0,r.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden xl:flex-row",children:[(0,r.jsx)("div",{className:`${a?"block":"hidden"} min-h-0 min-w-0 flex-1 overflow-hidden xl:block`,children:tY}),c?(0,r.jsx)("div",{className:"absolute bottom-0 right-[var(--dispatcher-panel-width)] top-0 z-20 hidden w-2 translate-x-1/2 cursor-col-resize xl:block",onMouseDown:e=>{e.preventDefault(),tp(!0)},"aria-hidden":"true",children:(0,r.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,(0,r.jsxs)("div",{className:`${l?"flex":"hidden xl:flex"} ${i?"flex-1 min-h-0 xl:h-auto xl:max-h-none xl:w-[56px] xl:flex-none xl:min-h-0":"flex-1 min-h-[min(360px,50dvh)] xl:w-[var(--dispatcher-panel-width)] xl:flex-none xl:min-h-0"} flex-col overflow-hidden border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] xl:border-l xl:border-t-0`,children:[n&&l&&null!==o?(0,r.jsx)("div",{className:"flex items-center border-b border-[var(--vk-border)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("button",{type:"button",onClick:()=>tl("board"),className:"inline-flex items-center gap-1.5 rounded-[4px] px-2 py-1 text-[12px] font-medium text-[var(--vk-text-muted)] transition-colors hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-strong)]",children:[(0,r.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:"Back to board"})]})}):null,o?tN?(0,r.jsx)(ed,{sessionId:o,initialSession:tN,bridgeId:j,active:!0,suppressPreviewAutoOpen:tu.current===o,immersiveMobileMode:tA},o):(0,r.jsx)("div",{className:"flex h-full items-center justify-center bg-[var(--vk-bg-panel)] text-[13px] text-[var(--vk-text-muted)]",children:"Loading session workspace..."}):(0,r.jsx)(ex,{projectId:tk.id,bridgeId:j,defaultAgent:tW,modelAccess:tR.modelAccess,runtimeModelCatalogs:tO,collapsed:i,onToggleCollapsed:tQ})]})]})]})}return(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,r.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[tk.id," \xb7 ",tk.defaultBranch||"main"]})]}),(0,r.jsx)("div",{className:"hidden xl:inline-flex",children:e()}),(0,r.jsx)("div",{className:"xl:hidden",children:e({fullWidth:!0,compact:!0})})]})}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:tY})]})},[ta,ts,to,tN,j,tQ,tw,tW,tk,ty,o,tn,tY,d]),t1=(0,s.useMemo)(()=>q?(0,r.jsx)("div",{className:"flex h-full min-h-0 flex-1 items-center justify-center bg-[var(--vk-bg-main)] px-4",children:(0,r.jsxs)("div",{className:"w-full max-w-md rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-5 py-5 text-center shadow-[0_18px_50px_rgba(0,0,0,0.18)]",children:[(0,r.jsx)("div",{className:"mx-auto flex h-11 w-11 items-center justify-center rounded-full border border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]",children:(0,r.jsx)(v.A,{className:"h-5 w-5 animate-spin"})}),(0,r.jsx)("h2",{className:"mt-4 text-[18px] font-medium text-[var(--vk-text-strong)]",children:"Reconnecting paired laptop"}),(0,r.jsx)("p",{className:"mt-2 text-[14px] leading-6 text-[var(--vk-text-muted)]",children:"Waiting for the selected laptop to report online before loading its projects and sessions."})]})}):o&&("board"!==d||null===i)?(0,r.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:e7.map(e=>{let t=e===o,n=t?tj:tm.get(e)??null;return(0,r.jsx)("div",{"aria-hidden":!t,className:t?"relative h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden invisible",children:(0,r.jsx)(ed,{sessionId:e,initialSession:n,bridgeId:j,active:t,suppressPreviewAutoOpen:t&&tu.current===e,immersiveMobileMode:t&&tA,onOpenSidebar:ey})},e)})}):null!==i?(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:t0}):(0,r.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 overflow-hidden",children:(0,r.jsx)(ep,{projects:R,sessions:eI,onCreateWorkspace:tq,onSelectSession:tV})}),[eI,e7,t0,tj,o,tV,tq,R,i,tm,q,ey,d]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(G.G,{mobileSidebarOpen:ev,desktopSidebarOpen:eb,onToggleSidebar:ey,hideMobileSidebarToggle:tA,sidebar:tK,children:[tA?null:(0,r.jsx)(V.V,{title:tS,onOpenPreferences:tz,rightContent:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${t$}`,title:tM,children:tE}),(0,r.jsx)(z.J,{})]})}),(0,r.jsxs)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${tA?"bg-[#060404]":""}`,children:[eR?(0,r.jsx)("div",{className:"border-b border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,var(--vk-bg-panel))] px-3 py-2 text-[13px] text-[var(--vk-red)] sm:px-4",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("p",{className:"min-w-0 flex-1",children:eR}),(0,r.jsx)("button",{type:"button",onClick:()=>eW(null),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-[4px] text-[var(--vk-red)]/80 hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)]","aria-label":"Dismiss workspace action error",children:(0,r.jsx)(b.A,{className:"h-4 w-4"})})]})}):null,t1]})]}),eH?(0,r.jsx)(em,{open:eH,onClose:tZ,onCreate:tT,creating:eV,error:eZ,defaultAgent:tW,agentOptions:tL,modelAccess:tR.modelAccess,runtimeModelCatalogs:tO,bridgeId:j}):null,e2||tD?(0,r.jsx)(eh,{open:e2,mode:tD?"onboarding":"settings",creating:e0,error:e4,current:tR,projectCount:R.length,agentOptions:tL,agentStates:tU,runtimeModelCatalogs:tO,onRepositoriesChanged:X,onOnboardingComplete:({needsProject:e})=>{e&&e9(!0)},onOpenAgentSetup:tP,onClose:tJ,onSave:tB,bridgeId:j}):null]})}c.A,p.A,u.A,x.A,m.A,h.A,g.A,g.A,p.A,[{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"antigravity",label:"Antigravity"},{id:"custom",label:"Custom"}].filter(e=>"custom"!==e.id),c.A,o.mWn,d.$$9,o.i4$,c.A;let ek=(0,s.memo)(function({prompt:e,setPrompt:t,selectedAgent:n,setSelectedAgent:a,agentStates:l,modelSelection:o,setModelSelection:d,modelAccess:c,runtimeModelCatalogs:p,agentOptions:u,projects:x,bridges:m,selectedBridgeId:f,setSelectedBridgeId:M,requiresPairedDeviceScope:$,selectedProjectId:L,onSelectProject:U,projectLabel:P,hasProject:B,creating:q,error:F,onOpenAddWorkspace:_,onOpenAgentSetup:T,onCreate:D}){let R=(0,s.useMemo)(()=>{let e=new Map(E.BO.map((e,t)=>[e,t]));return[...u].sort((t,n)=>{let r=e.get((0,I.q)(t))??Number.MAX_SAFE_INTEGER,a=e.get((0,I.q)(n))??Number.MAX_SAFE_INTEGER;return r!==a?r-a:eg(t).localeCompare(eg(n))})},[u]),W=eg(n),H=l[(0,I.q)(n)]??null,G=(0,s.useMemo)(()=>[...x].sort((e,t)=>e.id.localeCompare(t.id)),[x]),V=L??G[0]?.id??null,z=(0,s.useMemo)(()=>G.find(e=>e.id===V)??null,[V,G]),Z=(0,s.useMemo)(()=>m.filter(e=>e.connected),[m]),Q=(0,s.useMemo)(()=>!f||Z.some(e=>e.bridgeId===f),[Z,f]),[K,Y]=(0,s.useState)([]),[ee,et]=(0,s.useState)(!1),[en,er]=(0,s.useState)(""),[el,es]=(0,s.useState)(""),[ei,eo]=(0,s.useState)([]),[ed,ec]=(0,s.useState)(!1),[ep,eu]=(0,s.useState)(!1),[ex,em]=(0,s.useState)(!1),[eh,eb]=(0,s.useState)(!1),[ew,ej]=(0,s.useState)("default"),[ek,ey]=(0,s.useState)([]),[eN,eC]=(0,s.useState)(!1),[eA,eS]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!z){Y([]),er(""),et(!1);return}Y([]),er(z.defaultBranch.trim()||"main"),et(!1)},[z]),(0,s.useEffect)(()=>{if(!V){eo([]),es(""),ec(!1);return}eo([]),es(""),ec(!1)},[V]);let eI=(0,s.useCallback)(async()=>{if(!z)return;let e=z.defaultBranch.trim()||"main";if(!z.path?.trim()){Y([e]),er(t=>t.trim().length>0?t:e);return}et(!0);try{let t=new URLSearchParams({path:z.path}),n=await fetch((0,O.S)(`/api/workspaces/branches?${t.toString()}`,f)),r=await n.json().catch(()=>null),a=Array.isArray(r?.branches)?r.branches.filter(e=>"string"==typeof e&&e.trim().length>0):[],l="string"==typeof r?.defaultBranch&&r.defaultBranch.trim().length>0?r.defaultBranch.trim():e,s=a.length>0?a:[l];Y(s),er(e=>e.trim().length>0&&s.includes(e)?e:l)}catch{Y([e]),er(e)}finally{et(!1)}},[f,z]),eE=(0,s.useCallback)(async()=>{if(V){ec(!0);try{let e=await fetch((0,O.S)(`/api/boards?projectId=${encodeURIComponent(V)}`,f)),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load tasks: ${e.status}`);let n=(Array.isArray(t?.columns)?t.columns:[]).flatMap(e=>Array.isArray(e.tasks)?e.tasks:[]),r=new Set,a=n.filter(e=>{let t=ef(e);return!(!t||r.has(t))&&(r.add(t),!0)});eo(a),es(e=>a.some(t=>ef(t)===e)?e:"")}catch{eo([]),es("")}finally{ec(!1)}}},[V,f]);(0,s.useEffect)(()=>{!ex||ee||K.length>0||eI()},[ee,ex,K.length,eI]),(0,s.useEffect)(()=>{!ep||ed||ei.length>0||eE()},[ei.length,eE,ed,ep]);let eM=(0,s.useMemo)(()=>(0,ea.Ik)(n,c,p),[c,p,n]),e$=(0,s.useMemo)(()=>ei.find(e=>ef(e)===el)??null,[ei,el]),eL=(0,ea.xb)(o)??"",eU=(0,s.useMemo)(()=>{let e=new Set,t=[],r=eL.trim();for(let n of eM)e.has(n.id)||(e.add(n.id),t.push(n));return r&&!e.has(r)&&(e.add(r),t.unshift({id:r,label:function(e,t){let n=t.trim(),r=(0,I.q)(e);if(!n)return n;if("claude-code"===r){let e=n.toLowerCase();if("opus"===e)return"Claude Opus";if("sonnet"===e)return"Claude Sonnet";if("haiku"===e)return"Claude Haiku";let t=e.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(t){let e=t[1];return`Claude ${e[0]?.toUpperCase()+e.slice(1)} ${t[2]}.${t[3]}`}}return n.split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join("-")}(n,r),description:"Current selected model.",access:[]})),t},[eM,n,eL]),eO=(0,s.useMemo)(()=>!H||H.ready||eL?eL?eU.find(e=>e.id===eL)?.label??eL:"Default":"Setup required",[eU,H,eL]),eP=(0,s.useMemo)(()=>(0,ea.iL)(n,c,p,eL),[c,p,n,eL]),eB=(0,ea.aB)(o)??"",eq=(0,s.useMemo)(()=>{let e=eP.find(e=>e.id===eB);return e?e.label:eB||(eP[0]?.label??"Default")},[eP,eB]),eF="z-50 min-w-[240px] max-w-[calc(100vw-32px)] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] sm:max-w-none",e_=`${eF} max-h-[min(360px,50vh)] overflow-y-auto`,eT="flex min-h-[44px] cursor-default items-center gap-2 rounded-[3px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)] sm:min-h-[36px]",eD=[{id:"default",label:"Default",icon:g.A},{id:"auto",label:"Auto",icon:w.A},{id:"ask",label:"Ask",icon:j.A},{id:"plan",label:"Plan",icon:k.A}],eR=eD.find(e=>e.id===ew)??eD[0],eW="launchpad-attachment-input",eH=q||eN,eG=e=>{let t=e.repo?.trim();if(t){let e=t.split("/").filter(Boolean),n=e[e.length-1]?.replace(/\.git$/i,"");if(n)return n}return e.id},eV=z?eG(z):null,ez=z?`${eV} \xb7 ${en||z.defaultBranch||"main"}`:B?P:"Select project",eZ=e$?.taskRef?.trim()||e$?.issueId?.trim()||e$?.id||"",eJ=e$?ev(e$.text):"Choose a task, bug, or issue from this project's board",eQ=z?.id??V??null,eX=(0,s.useCallback)(e=>{let t=Array.from(e.currentTarget.files??[]);if(e.currentTarget.value="",!t.length)return;let n=new Set(ek.map(e=>`${e.name}:${e.size}:${e.lastModified}`)),r=t.filter(e=>!n.has(`${e.name}:${e.size}:${e.lastModified}`));r.length>0&&ey(e=>[...e,...r]),eS(null)},[ek]),eK=(0,s.useCallback)(e=>{ey(t=>t.filter((t,n)=>n!==e))},[]),eY=(0,s.useCallback)(async()=>{let e;if(eS(null),!eQ||!z)return D({projectId:eQ??void 0,...eh?{baseBranch:en||z?.defaultBranch||void 0}:{branch:en||z?.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:eh,permissionMode:ew});eC(!0),eS(null);try{ek.length>0&&(e=await X({files:ek,projectId:z.id,taskRef:el.trim()||void 0,bridgeId:f||void 0}))}catch(e){return eS(e instanceof Error?e.message:"Failed to upload attachment"),!1}finally{eC(!1)}let t=await D({projectId:eQ??void 0,...eh?{baseBranch:en||z.defaultBranch||void 0}:{branch:en||z.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:eh,permissionMode:ew,...e&&e.length>0?{attachments:e}:{}});return t&&(ey([]),eS(null)),t},[el,eQ,D,ew,en,z,z?.defaultBranch,f,ek,eh]);return(0,s.useEffect)(()=>{ey([]),eS(null)},[eQ]),(0,r.jsx)("section",{className:"flex h-full min-h-0 items-start justify-center overflow-auto bg-[var(--vk-bg-main)] px-3 py-4 sm:items-center sm:px-6 sm:py-6",children:(0,r.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,r.jsx)("h1",{className:"pb-4 text-center text-[30px] font-medium leading-[34px] tracking-[-0.7px] text-[var(--vk-text-strong)] sm:text-[36px] sm:leading-[40px] sm:tracking-[-0.9px]",children:"What would you like to work on?"}),f?null:(0,r.jsxs)("div",{className:"mb-4 flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"mt-0.5 h-[14px] w-[14px] shrink-0"}),(0,r.jsx)("span",{children:$?"Pair or reconnect a laptop to browse workspaces and launch coding agents from the web dashboard.":"Showing projects and sessions from the local backend. Pair a laptop and select it here to browse that device instead."})]}),(0,r.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2 sm:flex-row sm:items-center",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:flex-1",children:[(0,r.jsx)(J.N,{seed:{label:n},className:"h-[25px] w-[25px] shrink-0 border-none bg-transparent"}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[31px] min-w-0 max-w-full items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] sm:max-w-[280px]","aria-label":"Select agent",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate pr-1 text-left",children:W}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),R.map(e=>{let t=e===n,s=l[(0,I.q)(e)]??null;return(0,r.jsxs)(i.q7,{onSelect:()=>a(e),className:eT,children:[(0,r.jsx)(J.N,{seed:{label:e},className:"h-6 w-6 border-none bg-transparent"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{children:eg(e)}),s?.ready?null:(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:s?.installed?"Setup required":"Not installed"})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e)})]})})]})]}),(0,r.jsxs)(i.bL,{onOpenChange:eu,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",disabled:!V,className:"flex h-[31px] w-full min-w-0 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-left disabled:cursor-not-allowed disabled:opacity-50 sm:w-[240px] sm:shrink-0","aria-label":"Select task",children:[(0,r.jsx)("span",{className:`min-w-0 flex-1 truncate text-[14px] leading-[21px] ${eZ?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}`,children:eZ||"No task"}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"end",side:"bottom",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Tasks"}),(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eJ}),(0,r.jsxs)(i.q7,{onSelect:()=>es(""),className:eT,children:[(0,r.jsx)("span",{children:"No linked task"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),ed?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):ei.length>0?ei.map(e=>{let t=ef(e),n=ev(e.text),a=[e.type,e.priority].filter(Boolean).join(" \xb7 ");return(0,r.jsxs)(i.q7,{onSelect:()=>es(t),className:`${eT} min-w-[320px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:e.taskRef?.trim()||n}),(0,r.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[e.taskRef?.trim()?n:t,a?` \xb7 ${a}`:""]})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el===t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},t)}):(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"No existing tasks were found for this project."})]})})]})]}),(0,r.jsx)("div",{className:"rounded-[3.5px]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,r.jsxs)("div",{className:"relative w-full",children:[(0,r.jsx)("textarea",{value:e,onChange:e=>t(e.target.value),placeholder:"Optional launch prompt. Leave empty to open the native CLI.",rows:1,className:"min-h-[24px] w-full resize-none bg-transparent pr-16 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"}),(0,r.jsxs)("label",{htmlFor:eW,className:`absolute right-[18px] top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] ${eQ?"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-50"}`,children:[(0,r.jsx)("input",{id:eW,type:"file",accept:"*/*",multiple:!0,onChange:eX,disabled:!eQ||eH,className:"hidden"}),(0,r.jsx)(C.A,{className:"h-[14px] w-[14px]"})]}),(0,r.jsx)("button",{type:"button","aria-label":"Preview",className:"absolute right-0 top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(A.A,{className:"h-[14px] w-[14px]"})})]}),ek.length>0?(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ek.map((e,t)=>(0,r.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("span",{className:"max-w-[160px] truncate",title:e.name,children:e.name}),(0,r.jsx)("button",{type:"button","aria-label":`Remove attachment ${e.name}`,onClick:()=>eK(t),className:"inline-flex h-[14px] w-[14px] items-center justify-center rounded-full text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(b.A,{className:"h-3 w-3"})})]},`${e.name}-${e.size}-${e.lastModified}-${t}`))}):null,(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,r.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",className:"inline-flex h-[29px] w-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Select workspace or project",children:(0,r.jsx)(g.A,{className:"h-[15px] w-[15px]"})})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),G.map(e=>{let t=eG(e),n=e.id!==t?e.id:e.path?.trim()||e.repo?.trim()||null;return(0,r.jsxs)(i.q7,{onSelect:()=>U(e.id),className:`${eT} min-w-[280px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:t}),n?(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:n}):null]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:e.id===V?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)}),(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsxs)(i.q7,{onSelect:_,className:eT,children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:"Add Workspace"})]})]})})]}),eP.length>0?(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button","aria-label":"Select reasoning effort",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eq}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Reasoning"}),eP.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>d({...o,reasoningEffort:e.id}),className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eB===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id))]})})]}):null,(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eO}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,r.jsxs)(i.q7,{onSelect:()=>d((0,ea.c0)(n,c,p,z?.agentModel,z?.agentReasoningEffort)),className:eT,children:[(0,r.jsx)("span",{children:"Default"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),eU.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>{var t;let r;return t=e.id,r=(0,ea.iL)(n,c,p,t),void d({catalogModel:t,customModel:"",reasoningEffort:r.some(e=>e.id===o.reasoningEffort)?o.reasoningEffort:(0,ea.YS)(n,c,p,t)})},className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)),0===eU.length?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Models will appear here after the selected agent is installed and its runtime catalog is detected."}):null,H&&!H.ready?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"flex w-full items-center rounded-[3px] px-3 py-2 text-left text-[13px] text-[var(--vk-orange)] transition hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,r.jsx)("span",{children:eR.label}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),eD.map(({id:e,label:t,icon:n})=>(0,r.jsxs)(i.q7,{onSelect:()=>ej(e),className:eT,children:[(0,r.jsx)(n,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:ew===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]}),Z.length>0?(0,r.jsxs)("label",{className:"inline-flex h-[29px] max-w-[260px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px] text-[var(--vk-text-muted)]"}),(0,r.jsxs)("select",{value:f,onChange:e=>M(e.target.value),className:"min-w-0 flex-1 bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none",children:[$?null:(0,r.jsx)("option",{value:"",children:"Local backend"}),Z.map(e=>(0,r.jsxs)("option",{value:e.bridgeId,children:[e.hostname," \xb7 ",e.os]},e.bridgeId))]})]}):(0,r.jsxs)("div",{className:"inline-flex h-[29px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px]"}),(0,r.jsx)("span",{children:f&&!Q?"Waiting for selected device":$?"No device connected":"Local backend"})]}),(0,r.jsxs)(i.bL,{onOpenChange:em,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",disabled:!z,className:"inline-flex min-h-[29px] max-w-[320px] items-center justify-center truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:text-[var(--vk-text-strong)] disabled:cursor-not-allowed disabled:opacity-50",children:ez})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),eV?(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eV}):null,ee?(0,r.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):K.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>er(e),className:eT,children:[(0,r.jsx)("span",{children:e}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:en===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]})]}),(0,r.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,r.jsx)("button",{type:"button",onClick:eY,disabled:eH||!V,className:"inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50",children:eH?(0,r.jsx)(v.A,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),H&&!H.ready?(0,r.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[W," is not ready on this machine."]}),(0,r.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:H.installed?"Finish login or local setup to load models and start streaming sessions.":"Install the CLI first, then its models and authentication state will appear here."})]}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"inline-flex h-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install"})]})}):null,(0,r.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)("input",{type:"checkbox",checked:eh,onChange:e=>eb(e.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,r.jsxs)("span",{children:["Use worktree isolation",(0,r.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"If unchecked, the session runs directly on the selected branch in the local repo."})]})]})]})})]}),F&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:F}),eA&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:eA})]})})})},88272:(e,t,n)=>{"use strict";n.d(t,{c0:()=>x,Z3:()=>s,Ik:()=>d,iL:()=>c,YS:()=>p,ZA:()=>u,xb:()=>m,aB:()=>h});var r=n(76196),a=n(5739);function l(e){return"openclaw"===(0,a.q)(e)}function s(){return{catalogModel:"",customModel:"",reasoningEffort:""}}function i(e,t){return t[(0,a.q)(e)]??null}function o(e){if(!e)return[];let t=[],n=new Set;for(let r of Object.values(e.modelsByAccess))if(Array.isArray(r))for(let e of r)!e?.id||n.has(e.id)||(n.add(e.id),t.push(e));return t}function d(e,t,n){if(l(e))return[];let a=i(e,n),s=(0,r.Tk)(e,t),d=a&&s?a.modelsByAccess[s]??[]:[],c=o(a);if(c.length>0){let e=[],t=new Set;for(let n of[...d,...c])!n?.id||t.has(n.id)||(t.add(n.id),e.push(n));return e}return(0,r.d8)(e,t)}function c(e,t,n,a){if(l(e))return[];let s=i(e,n),o=(0,r.Tk)(e,t);if(s){if(!s)return[];let e=a?.trim();return e&&s.reasoningOptionsByModel?.[e]?.length?s.reasoningOptionsByModel[e]??[]:o?s.reasoningOptionsByAccess?.[o]??[]:[]}return(0,r.u6)(e,t)}function p(e,t,n,a){if(l(e))return"";let s=i(e,n),o=(0,r.Tk)(e,t);return s?function(e,t,n){if(!e)return null;let r=t?.trim();return r&&e.defaultReasoningByModel?.[r]?e.defaultReasoningByModel[r]??null:n?e.defaultReasoningByAccess?.[n]??null:null}(s,a,o)??"":(0,r.DZ)(e,t)??""}function u(e,t){if(l(e))return"";let n=i(e,t),a=n?.customModelPlaceholder.trim();if(a)return a;let s=(0,r.yM)(e)?.label??"agent";return`Enter exact ${s} model id`}function x(e,t,n,a,u){if(l(e))return s();let x=a?.trim()??"",m=u?.trim().toLowerCase()??"",h=i(e,n),g=d(e,t,n),f=function(e,t,n){if(l(e))return"";let a=i(e,n),s=(0,r.Tk)(e,t);if(a)return(a&&s?a.defaultModelByAccess[s]??null:null)??o(a)[0]?.id??"";return(0,r.O$)(e,t)??""}(e,t,n),v=o(h).length>0,b=r=>{let a=c(e,t,n,r);return m.length>0&&a.some(e=>e.id===m)?m:p(e,t,n,r)};if(x.length>0){if(g.some(e=>e.id===x))return{catalogModel:x,customModel:"",reasoningEffort:b(x)};if(!v)return{catalogModel:f,customModel:x,reasoningEffort:b(x)}}return{catalogModel:f,customModel:"",reasoningEffort:b(f)}}function m(e){let t=e.customModel.trim();if(t.length>0)return t;let n=e.catalogModel.trim();return n.length>0?n:void 0}function h(e){let t=e.reasoningEffort.trim().toLowerCase();return t.length>0?t:void 0}}},e=>{e.O(0,[3036,691,3357,5587,3051,1257,3910,9703,1964,587,1968,7358],()=>e(e.s=12529)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! 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}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-0\.5{margin-inline:calc(var(--spacing) * -.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[2px\]{margin-top:2px}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{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-\[var\(--oc-shell-height\)\]{height:var(--oc-shell-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[620px\]{max-height:620px}.max-h-\[calc\(100dvh-1\.5rem\)\]{max-height:calc(100dvh - 1.5rem)}.max-h-\[min\(42dvh\,340px\)\]{max-height:min(42dvh,340px)}.max-h-\[min\(360px\,50vh\)\]{max-height:min(360px,50vh)}.max-h-\[min\(560px\,65dvh\)\]{max-height:min(560px,65dvh)}.max-h-\[var\(--oc-shell-height\)\]{max-height:var(--oc-shell-height)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[24px\]{min-height:24px}.min-h-\[29px\]{min-height:29px}.min-h-\[30px\]{min-height:30px}.min-h-\[31px\]{min-height:31px}.min-h-\[32px\]{min-height:32px}.min-h-\[34px\]{min-height:34px}.min-h-\[38px\]{min-height:38px}.min-h-\[40px\]{min-height:40px}.min-h-\[42px\]{min-height:42px}.min-h-\[44px\]{min-height:44px}.min-h-\[46px\]{min-height:46px}.min-h-\[64px\]{min-height:64px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-\[280px\]{min-height:280px}.min-h-\[360px\]{min-height:360px}.min-h-\[420px\]{min-height:420px}.min-h-\[min\(360px\,50dvh\)\]{min-height:min(360px,50dvh)}.min-h-\[var\(--oc-shell-height\)\]{min-height:var(--oc-shell-height)}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-48{width:calc(var(--spacing) * 48)}.w-\[6px\]{width:6px}.w-\[10px\]{width:10px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[16px\]{width:16px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[24px\]{width:24px}.w-\[25px\]{width:25px}.w-\[29px\]{width:29px}.w-\[31px\]{width:31px}.w-\[168px\]{width:168px}.w-\[180px\]{width:180px}.w-\[320px\]{width:320px}.w-\[calc\(100vw-1rem\)\]{width:calc(100vw - 1rem)}.w-\[min\(85vw\,320px\)\]{width:min(85vw,320px)}.w-\[min\(420px\,calc\(100vw-2rem\)\)\]{width:min(420px,100vw - 2rem)}.w-\[min\(calc\(100vw-1\.5rem\)\,24rem\)\]{width:min(100vw - 1.5rem,24rem)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[14ch\]{max-width:14ch}.max-w-\[22rem\]{max-width:22rem}.max-w-\[26rem\]{max-width:26rem}.max-w-\[88\%\]{max-width:88%}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[320px\]{max-width:320px}.max-w-\[380px\]{max-width:380px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[760px\]{max-width:760px}.max-w-\[768px\]{max-width:768px}.max-w-\[880px\]{max-width:880px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[28px\]{min-width:28px}.min-w-\[120px\]{min-width:120px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[250px\]{min-width:250px}.min-w-\[280px\]{min-width:280px}.min-w-\[320px\]{min-width:320px}.min-w-\[480px\]{min-width:480px}.min-w-\[680px\]{min-width:680px}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-x-full{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0)}.translate-x-0,.translate-x-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-pan-x{--tw-pan-x:pan-x}.touch-pan-x,.touch-pan-y{touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-pan-y{--tw-pan-y:pan-y}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-start{scroll-snap-align:start}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[2\.5rem_minmax\(0\,1fr\)_2\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem minmax(0,1fr)}.grid-cols-\[2rem_2rem_1rem_minmax\(0\,1fr\)\]{grid-template-columns:2rem 2rem 1rem minmax(0,1fr)}.grid-cols-\[repeat\(auto-fit\,minmax\(7\.25rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(7.25rem,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-0{column-gap:calc(var(--spacing) * 0)}.gap-x-1{column-gap:calc(var(--spacing) * 1)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[0\.2rem\]{border-radius:.2rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3\.5px\]{border-radius:3.5px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[999px\]{border-radius:999px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-\[var\(--radius-xs\)\]{border-radius:var(--radius-xs)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[\#f0b35d\]{border-color:#f0b35d}.border-\[\#ff8f7a\]{border-color:#ff8f7a}.border-\[color-mix\(in_srgb\,var\(--status-attention\)_30\%\,transparent\)\]{border-color:var(--status-attention)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--status-attention\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-attention) 30%,transparent)}}.border-\[color-mix\(in_srgb\,var\(--status-error\)_30\%\,transparent\)\]{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--status-error\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-error) 30%,transparent)}}.border-\[color-mix\(in_srgb\,var\(--status-ready\)_30\%\,transparent\)\]{border-color:var(--status-ready)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--status-ready\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-ready) 30%,transparent)}}.border-\[color-mix\(in_srgb\,var\(--vk-orange\,orange\)_20\%\,transparent\)\]{border-color:var(--vk-orange,orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--vk-orange\,orange\)_20\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange,orange) 20%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--status-error\)_45\%\,transparent\)\]{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--status-error\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-error) 45%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_30\%\,transparent\)\]{border-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-accent) 30%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_35\%\,transparent\)\]{border-color:var(--vk-green)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_35\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-green) 35%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_28\%\,transparent\)\]{border-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_28\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange) 28%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_34\%\,transparent\)\]{border-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_34\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange) 34%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_28\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_28\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 28%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_30\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 30%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_35\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_35\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 35%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_45\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 45%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 55%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,var\(--vk-border\)\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,var\(--vk-border\)\)\]{border-color:color-mix(in srgb,var(--vk-red) 55%,var(--vk-border))}}.border-\[rgba\(24\,197\,143\,0\.32\)\]{border-color:#18c58f52}.border-\[rgba\(24\,197\,143\,0\.35\)\]{border-color:#18c58f59}.border-\[rgba\(60\,131\,246\,0\.35\)\]{border-color:#3c83f659}.border-\[rgba\(84\,176\,79\,0\.35\)\]{border-color:#54b04f59}.border-\[rgba\(108\,168\,255\,0\.35\)\]{border-color:#6ca8ff59}.border-\[rgba\(113\,84\,68\,0\.45\)\]{border-color:#71544473}.border-\[rgba\(124\,94\,78\,0\.45\)\]{border-color:#7c5e4e73}.border-\[rgba\(129\,101\,83\,0\.35\)\]{border-color:#81655359}.border-\[rgba\(143\,143\,143\,0\.35\)\]{border-color:#8f8f8f59}.border-\[rgba\(204\,163\,92\,0\.35\)\]{border-color:#cca35c59}.border-\[rgba\(210\,81\,81\,0\.35\)\]{border-color:#d2515159}.border-\[rgba\(210\,160\,59\,0\.35\)\]{border-color:#d2a03b59}.border-\[rgba\(214\,163\,126\,0\.28\)\]{border-color:#d6a37e47}.border-\[rgba\(255\,143\,122\,0\.24\)\]{border-color:#ff8f7a3d}.border-\[rgba\(255\,143\,122\,0\.25\)\]{border-color:#ff8f7a40}.border-\[rgba\(255\,255\,255\,0\.1\)\]{border-color:#ffffff1a}.border-\[rgba\(255\,255\,255\,0\.05\)\]{border-color:#ffffff0d}.border-\[rgba\(255\,255\,255\,0\.06\)\]{border-color:#ffffff0f}.border-\[rgba\(255\,255\,255\,0\.08\)\]{border-color:#ffffff14}.border-\[rgba\(255\,255\,255\,0\.12\)\]{border-color:#ffffff1f}.border-\[rgba\(255\,255\,255\,0\.14\)\]{border-color:#ffffff24}.border-\[transparent\]{border-color:#0000}.border-\[var\(--border-soft\)\]{border-color:var(--border-soft)}.border-\[var\(--border-strong\)\]{border-color:var(--border-strong)}.border-\[var\(--status-error\)\]\/30{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-error\)\]\/30{border-color:color-mix(in oklab,var(--status-error) 30%,transparent)}}.border-\[var\(--vk-accent\)\]{border-color:var(--vk-accent)}.border-\[var\(--vk-border\)\]{border-color:var(--vk-border)}.border-\[var\(--vk-orange\)\]{border-color:var(--vk-orange)}.border-\[var\(--vk-red\)\],.border-\[var\(--vk-red\)\]\/35{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--vk-red\)\]\/35{border-color:color-mix(in oklab,var(--vk-red) 35%,transparent)}}.border-\[var\(--vk-red\)\]\/40{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--vk-red\)\]\/40{border-color:color-mix(in oklab,var(--vk-red) 40%,transparent)}}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-emerald-400\/35{border-color:#00d29459}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/35{border-color:color-mix(in oklab,var(--color-emerald-400) 35%,transparent)}}.border-red-400\/35{border-color:#ff656859}@supports (color:color-mix(in lab,red,red)){.border-red-400\/35{border-color:color-mix(in oklab,var(--color-red-400) 35%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-white\/6{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/6{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-\[var\(--status-working\)\]{border-left-color:var(--status-working)}.border-l-transparent{border-left-color:#0000}.bg-\[\#0c0808\]{background-color:#0c0808}.bg-\[\#0d0908\]{background-color:#0d0908}.bg-\[\#1c1a19\]{background-color:#1c1a19}.bg-\[\#1f1f1f\]{background-color:#1f1f1f}.bg-\[\#3c83f6\]{background-color:#3c83f6}.bg-\[\#18c58f\]{background-color:#18c58f}.bg-\[\#111\]{background-color:#111}.bg-\[\#060404\]{background-color:#060404}.bg-\[\#060404\]\/84{background-color:oklab(11.1012% .00545438 .00177752/.84)}.bg-\[\#101010\]{background-color:#101010}.bg-\[\#141010\]\/92{background-color:oklab(17.8024% .00638092 .00204849/.92)}.bg-\[\#151413\]{background-color:#151413}.bg-\[\#161212\]{background-color:#161212}.bg-\[\#171615\]{background-color:#171615}.bg-\[\#201818\]{background-color:#201818}.bg-\[\#272220\]{background-color:#272220}.bg-\[\#292929\]{background-color:#292929}.bg-\[\#e6c786\]{background-color:#e6c786}.bg-\[\#f0b35d\]{background-color:#f0b35d}.bg-\[\#ff8f7a\]{background-color:#ff8f7a}.bg-\[color\:\#292929\]{background-color:#292929}.bg-\[color\:color-mix\(in_srgb\,var\(--border-strong\)_75\%\,transparent\)\]{background-color:var(--border-strong)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--border-strong\)_75\%\,transparent\)\]{background-color:color-mix(in srgb,var(--border-strong) 75%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--status-error\)_10\%\,transparent\)\]{background-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--status-error\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--status-error) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--status-working\)_18\%\,transparent\)\]{background-color:var(--status-working)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--status-working\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--status-working) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_8\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_8\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 8%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,var\(--vk-bg-hover\)\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_10\%\,var\(--vk-bg-hover\)\)\]{background-color:color-mix(in srgb,var(--vk-accent) 10%,var(--vk-bg-hover))}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_12\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_14\%\,transparent\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-accent) 14%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_88\%\,black_12\%\)\]{background-color:var(--vk-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-accent\)_88\%\,black_12\%\)\]{background-color:color-mix(in srgb,var(--vk-accent) 88%,black 12%)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_86\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_86\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 86%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_88\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_88\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 88%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_92\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_92\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 92%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_94\%\,black_6\%\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_94\%\,black_6\%\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 94%,black 6%)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_10\%\,transparent\)\]{background-color:var(--vk-green)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-green) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_10\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_12\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_14\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 14%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_18\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_10\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,var\(--vk-bg-panel\)\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,var\(--vk-bg-panel\)\)\]{background-color:color-mix(in srgb,var(--vk-red) 12%,var(--vk-bg-panel))}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_18\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_10\%\,transparent\)\]{background-color:var(--vk-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-text-muted) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_36\%\,transparent\)\]{background-color:var(--vk-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_36\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-text-muted) 36%,transparent)}}.bg-\[rgba\(0\,0\,0\,0\.08\)\]{background-color:#00000014}.bg-\[rgba\(0\,0\,0\,0\.12\)\]{background-color:#0000001f}.bg-\[rgba\(0\,0\,0\,0\.14\)\]{background-color:#00000024}.bg-\[rgba\(0\,0\,0\,0\.16\)\]{background-color:#00000029}.bg-\[rgba\(0\,0\,0\,0\.18\)\]{background-color:#0000002e}.bg-\[rgba\(0\,0\,0\,0\.22\)\]{background-color:#00000038}.bg-\[rgba\(15\,15\,15\,0\.52\)\]{background-color:#0f0f0f85}.bg-\[rgba\(15\,15\,15\,0\.72\)\]{background-color:#0f0f0fb8}.bg-\[rgba\(23\,25\,30\,0\.72\)\]{background-color:#17191eb8}.bg-\[rgba\(23\,25\,30\,0\.88\)\]{background-color:#17191ee0}.bg-\[rgba\(23\,25\,30\,0\.96\)\]{background-color:#17191ef5}.bg-\[rgba\(24\,197\,143\,0\.08\)\]{background-color:#18c58f14}.bg-\[rgba\(24\,197\,143\,0\.12\)\]{background-color:#18c58f1f}.bg-\[rgba\(28\,28\,28\,0\.8\)\]{background-color:#1c1c1ccc}.bg-\[rgba\(52\,39\,35\,0\.92\)\]{background-color:#342723eb}.bg-\[rgba\(54\,40\,34\,0\.9\)\]{background-color:#362822e6}.bg-\[rgba\(60\,131\,246\,0\.12\)\]{background-color:#3c83f61f}.bg-\[rgba\(62\,47\,40\,0\.72\)\]{background-color:#3e2f28b8}.bg-\[rgba\(64\,49\,27\,0\.58\)\]{background-color:#40311b94}.bg-\[rgba\(66\,44\,35\,0\.94\)\]{background-color:#422c23f0}.bg-\[rgba\(80\,80\,80\,0\.18\)\]{background-color:#5050502e}.bg-\[rgba\(84\,176\,79\,0\.08\)\]{background-color:#54b04f14}.bg-\[rgba\(84\,176\,79\,0\.12\)\]{background-color:#54b04f1f}.bg-\[rgba\(108\,168\,255\,0\.08\)\]{background-color:#6ca8ff14}.bg-\[rgba\(143\,143\,143\,0\.10\)\]{background-color:#8f8f8f1a}.bg-\[rgba\(210\,81\,81\,0\.08\)\]{background-color:#d2515114}.bg-\[rgba\(210\,81\,81\,0\.12\)\]{background-color:#d251511f}.bg-\[rgba\(210\,160\,59\,0\.08\)\]{background-color:#d2a03b14}.bg-\[rgba\(255\,143\,122\,0\.08\)\]{background-color:#ff8f7a14}.bg-\[rgba\(255\,255\,255\,0\.1\)\]{background-color:#ffffff1a}.bg-\[rgba\(255\,255\,255\,0\.02\)\]{background-color:#ffffff05}.bg-\[rgba\(255\,255\,255\,0\.03\)\]{background-color:#ffffff08}.bg-\[rgba\(255\,255\,255\,0\.04\)\]{background-color:#ffffff0a}.bg-\[rgba\(255\,255\,255\,0\.05\)\]{background-color:#ffffff0d}.bg-\[rgba\(255\,255\,255\,0\.06\)\]{background-color:#ffffff0f}.bg-\[rgba\(255\,255\,255\,0\.08\)\]{background-color:#ffffff14}.bg-\[var\(--bg-canvas\)\]{background-color:var(--bg-canvas)}.bg-\[var\(--bg-muted\)\]{background-color:var(--bg-muted)}.bg-\[var\(--bg-panel\)\]{background-color:var(--bg-panel)}.bg-\[var\(--bg-shell\)\]{background-color:var(--bg-shell)}.bg-\[var\(--border-soft\)\]{background-color:var(--border-soft)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-accent-subtle\)\]{background-color:var(--color-accent-subtle)}.bg-\[var\(--color-bg-elevated\)\]{background-color:var(--color-bg-elevated)}.bg-\[var\(--status-error\)\]{background-color:var(--status-error)}.bg-\[var\(--status-idle\)\]{background-color:var(--status-idle)}.bg-\[var\(--status-ready\)\]{background-color:var(--status-ready)}.bg-\[var\(--status-working\)\]{background-color:var(--status-working)}.bg-\[var\(--vk-accent\)\]{background-color:var(--vk-accent)}.bg-\[var\(--vk-bg-active\)\]{background-color:var(--vk-bg-active)}.bg-\[var\(--vk-bg-hover\)\]{background-color:var(--vk-bg-hover)}.bg-\[var\(--vk-bg-main\)\]{background-color:var(--vk-bg-main)}.bg-\[var\(--vk-bg-panel\)\],.bg-\[var\(--vk-bg-panel\)\]\/70{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-bg-panel\)\]\/70{background-color:color-mix(in oklab,var(--vk-bg-panel) 70%,transparent)}}.bg-\[var\(--vk-bg-surface\)\]{background-color:var(--vk-bg-surface)}.bg-\[var\(--vk-border\)\]{background-color:var(--vk-border)}.bg-\[var\(--vk-green\)\]{background-color:var(--vk-green)}.bg-\[var\(--vk-orange\)\],.bg-\[var\(--vk-orange\)\]\/10{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-orange\)\]\/10{background-color:color-mix(in oklab,var(--vk-orange) 10%,transparent)}}.bg-\[var\(--vk-orange\)\]\/12{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-orange\)\]\/12{background-color:color-mix(in oklab,var(--vk-orange) 12%,transparent)}}.bg-\[var\(--vk-red\)\],.bg-\[var\(--vk-red\)\]\/10{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-red\)\]\/10{background-color:color-mix(in oklab,var(--vk-red) 10%,transparent)}}.bg-\[var\(--vk-text-muted\)\]{background-color:var(--vk-text-muted)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/8{background-color:color-mix(in oklab,var(--color-amber-500) 8%,transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/65{background-color:#000000a6}@supports (color:color-mix(in lab,red,red)){.bg-black\/65{background-color:color-mix(in oklab,var(--color-black) 65%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\/10{background-color:#00d2941a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/10{background-color:color-mix(in oklab,var(--color-emerald-400) 10%,transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-400\/10{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.bg-red-400\/10{background-color:color-mix(in oklab,var(--color-red-400) 10%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/4{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/4{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_88\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_76\%\,transparent\)\)\]{background-image:linear-gradient(135deg,var(--bg-panel),var(--bg-surface))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_88\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_76\%\,transparent\)\)\]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 88%,transparent),color-mix(in srgb,var(--bg-surface) 76%,transparent))}}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.03\)\,rgba\(255\,255\,255\,0\)\)\]{background-image:linear-gradient(#ffffff08,#fff0)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[1px\],.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[8px\]{padding-inline:8px}.px-\[9px\]{padding-inline:9px}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[5px\]{padding-block:5px}.py-\[6\.5px\]{padding-block:6.5px}.\[padding-top\:env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-16{padding-right:calc(var(--spacing) * 16)}.pr-\[env\(safe-area-inset-right\)\]{padding-right:env(safe-area-inset-right)}.\[padding-bottom\:env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[9px\]{padding-bottom:9px}.pb-\[calc\(0\.75rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.pb-\[calc\(1rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-14{padding-left:calc(var(--spacing) * 14)}.pl-\[env\(safe-area-inset-left\)\]{padding-left:env(safe-area-inset-left)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-\[17px\]{--tw-leading:17px;line-height:17px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-\[21px\]{--tw-leading:21px;line-height:21px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-\[24px\]{--tw-leading:24px;line-height:24px}.leading-\[26px\]{--tw-leading:26px;line-height:26px}.leading-\[28px\]{--tw-leading:28px;line-height:28px}.leading-\[34px\]{--tw-leading:34px;line-height:34px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[-0\.7px\]{--tw-tracking:-.7px;letter-spacing:-.7px}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.32em\]{--tw-tracking:.32em;letter-spacing:.32em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#4e87f3\]{color:#4e87f3}.text-\[\#8b5cf6\]{color:#8b5cf6}.text-\[\#8db8ff\]{color:#8db8ff}.text-\[\#8e847d\]{color:#8e847d}.text-\[\#18c58f\]{color:#18c58f}.text-\[\#22a3f5\]{color:#22a3f5}.text-\[\#22170d\]{color:#22170d}.text-\[\#111111\]{color:#111}.text-\[\#a79c94\]{color:#a79c94}.text-\[\#c9c0b7\]{color:#c9c0b7}.text-\[\#d7b6a5\]{color:#d7b6a5}.text-\[\#d7c6b7\]{color:#d7c6b7}.text-\[\#d25151\]{color:#d25151}.text-\[\#dccba1\]{color:#dccba1}.text-\[\#efe4dc\]{color:#efe4dc}.text-\[\#efe8e1\]{color:#efe8e1}.text-\[\#f1e3bf\]{color:#f1e3bf}.text-\[\#f1e7e0\]{color:#f1e7e0}.text-\[\#f2d9cd\]{color:#f2d9cd}.text-\[\#f3ead8\]{color:#f3ead8}.text-\[\#f3efea\]{color:#f3efea}.text-\[\#f4ede7\]{color:#f4ede7}.text-\[\#f6ead0\]{color:#f6ead0}.text-\[\#f26d6d\]{color:#f26d6d}.text-\[\#ff8f7a\]{color:#ff8f7a}.text-\[\#ffb39e\]{color:#ffb39e}.text-\[\#ffd089\]{color:#ffd089}.text-\[\#fff5ee\]{color:#fff5ee}.text-\[rgba\(255\,255\,255\,0\.6\)\]{color:#fff9}.text-\[rgba\(255\,255\,255\,0\.55\)\]{color:#ffffff8c}.text-\[rgba\(255\,255\,255\,0\.58\)\]{color:#ffffff94}.text-\[rgba\(255\,255\,255\,0\.68\)\]{color:#ffffffad}.text-\[rgba\(255\,255\,255\,0\.72\)\]{color:#ffffffb8}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--status-attention\)\]{color:var(--status-attention)}.text-\[var\(--status-error\)\]{color:var(--status-error)}.text-\[var\(--status-ready\)\]{color:var(--status-ready)}.text-\[var\(--status-working\)\]{color:var(--status-working)}.text-\[var\(--text-faint\)\]{color:var(--text-faint)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-normal\)\]{color:var(--text-normal)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-strong\)\]{color:var(--text-strong)}.text-\[var\(--vk-accent\)\]{color:var(--vk-accent)}.text-\[var\(--vk-green\)\]{color:var(--vk-green)}.text-\[var\(--vk-orange\)\]{color:var(--vk-orange)}.text-\[var\(--vk-red\)\],.text-\[var\(--vk-red\)\]\/80{color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--vk-red\)\]\/80{color:color-mix(in oklab,var(--vk-red) 80%,transparent)}}.text-\[var\(--vk-text-dim\)\]{color:var(--vk-text-dim)}.text-\[var\(--vk-text-faint\)\]{color:var(--vk-text-faint)}.text-\[var\(--vk-text-muted\)\]{color:var(--vk-text-muted)}.text-\[var\(--vk-text-normal\)\]{color:var(--vk-text-normal)}.text-\[var\(--vk-text-secondary\)\]{color:var(--vk-text-secondary)}.text-\[var\(--vk-text-strong\)\]{color:var(--vk-text-strong)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.text-black{color:var(--color-black)}.text-current,.text-current\/70{color:currentColor}@supports (color:color-mix(in lab,red,red)){.text-current\/70{color:color-mix(in oklab,currentcolor 70%,transparent)}}.text-emerald-100{color:var(--color-emerald-100)}.text-emerald-400{color:var(--color-emerald-400)}.text-red-100{color:var(--color-red-100)}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}.accent-\[var\(--vk-orange\)\]{accent-color:var(--vk-orange)}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0003)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.2\)\],.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.5\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000080)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000040)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.25\)\],.shadow-\[0_8px_18px_rgba\(0\,0\,0\,0\.14\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_rgba\(0\,0\,0\,0\.14\)\]{--tw-shadow:0 8px 18px var(--tw-shadow-color,#00000024)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#0000002e)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.18\)\],.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.24\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#0000003d)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#00000047)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.28\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#00000047)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 16px 40px var(--tw-shadow-color,#00000059)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.35\)\],.shadow-\[0_16px_48px_rgba\(0\,0\,0\,0\.18\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_48px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 16px 48px var(--tw-shadow-color,#0000002e)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 18px 36px var(--tw-shadow-color,#0003)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.2\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 18px 36px var(--tw-shadow-color,#00000047)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 18px 40px var(--tw-shadow-color,#00000047)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.18\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#0000002e)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#00000059)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.35\)\],.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.45\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#00000073)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow:0 20px 44px var(--tw-shadow-color,#0000006b)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.42\)\],.shadow-\[0_22px_48px_rgba\(0\,0\,0\,0\.34\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_22px_48px_rgba\(0\,0\,0\,0\.34\)\]{--tw-shadow:0 22px 48px var(--tw-shadow-color,#00000057)}.shadow-\[0_24px_48px_rgba\(0\,0\,0\,0\.34\)\]{--tw-shadow:0 24px 48px var(--tw-shadow-color,#00000057)}.shadow-\[0_24px_48px_rgba\(0\,0\,0\,0\.34\)\],.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.55\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 24px 80px var(--tw-shadow-color,#0000008c)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#0006)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.45\)\],.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.4\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#00000073)}.shadow-\[0_28px_90px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 28px 90px var(--tw-shadow-color,#0000008c)}.shadow-\[0_28px_90px_rgba\(0\,0\,0\,0\.55\)\],.shadow-\[var\(--shadow-soft\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-soft\)\]{--tw-shadow:var(--shadow-soft)}.shadow-none{--tw-shadow:0 0 #0000}.ring,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,width\]{transition-property:transform,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[-webkit-overflow-scrolling\:touch\]{-webkit-overflow-scrolling:touch}.\[contain-intrinsic-size\:52px\]{contain-intrinsic-size:52px}.\[contain-intrinsic-size\:92px\]{contain-intrinsic-size:92px}.\[contain-intrinsic-size\:104px\]{contain-intrinsic-size:104px}.\[contain-intrinsic-size\:240px\]{contain-intrinsic-size:240px}.\[content-visibility\:auto\]{content-visibility:auto}.\[scrollbar-width\:none\]{scrollbar-width:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker,.marker\:hidden::-webkit-details-marker{display:none}.placeholder\:text-\[\#7d746e\]::placeholder{color:#7d746e}.placeholder\:text-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}.placeholder\:text-\[var\(--vk-text-muted\)\]::placeholder{color:var(--vk-text-muted)}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[rgba\(210\,81\,81\,0\.4\)\]:hover{border-color:#d2515166}.hover\:border-\[rgba\(255\,255\,255\,0\.12\)\]:hover{border-color:#ffffff1f}.hover\:border-\[rgba\(255\,255\,255\,0\.14\)\]:hover{border-color:#ffffff24}.hover\:border-\[var\(--border-default\)\]:hover{border-color:var(--border-default)}.hover\:border-\[var\(--vk-border\)\]:hover{border-color:var(--vk-border)}.hover\:bg-\[\#201818\]:hover{background-color:#201818}.hover\:bg-\[\#312926\]:hover{background-color:#312926}.hover\:bg-\[\#edd39d\]:hover{background-color:#edd39d}.hover\:bg-\[\#f4f4f5\]:hover{background-color:#f4f4f5}.hover\:bg-\[color-mix\(in_srgb\,var\(--status-error\)_8\%\,transparent\)\]:hover{background-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--status-error\)_8\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--status-error) 8%,transparent)}}.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_24\%\,transparent\)\]:hover{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_24\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--vk-red) 24%,transparent)}}.hover\:bg-\[rgba\(78\,52\,41\,0\.98\)\]:hover{background-color:#4e3429fa}.hover\:bg-\[rgba\(210\,81\,81\,0\.12\)\]:hover{background-color:#d251511f}.hover\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:hover{background-color:#ffffff0f}.hover\:bg-\[rgba\(255\,255\,255\,0\.08\)\]:hover{background-color:#ffffff14}.hover\:bg-\[var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[var\(--bg-panel-2\)\]:hover{background-color:var(--bg-panel-2)}.hover\:bg-\[var\(--border-strong\)\]:hover{background-color:var(--border-strong)}.hover\:bg-\[var\(--color-accent-subtle\)\]:hover{background-color:var(--color-accent-subtle)}.hover\:bg-\[var\(--vk-bg-active\)\]:hover{background-color:var(--vk-bg-active)}.hover\:bg-\[var\(--vk-bg-hover\)\]:hover{background-color:var(--vk-bg-hover)}.hover\:bg-\[var\(--vk-bg-panel\)\]:hover{background-color:var(--vk-bg-panel)}.hover\:bg-\[var\(--vk-border\)\]:hover{background-color:var(--vk-border)}.hover\:bg-\[var\(--vk-red\)\]\/10:hover{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--vk-red\)\]\/10:hover{background-color:color-mix(in oklab,var(--vk-red) 10%,transparent)}}.hover\:bg-white\/3:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/3:hover{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.hover\:bg-white\/4:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/4:hover{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.hover\:bg-white\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/6:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_96\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_88\%\,transparent\)\)\]:hover{background-image:linear-gradient(135deg,var(--bg-panel),var(--bg-surface))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_96\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_88\%\,transparent\)\)\]:hover{background-image:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 96%,transparent),color-mix(in srgb,var(--bg-surface) 88%,transparent))}}.hover\:text-\[\#c9c0b7\]:hover{color:#c9c0b7}.hover\:text-\[\#f08b8b\]:hover{color:#f08b8b}.hover\:text-\[\#fff8f2\]:hover{color:#fff8f2}.hover\:text-\[var\(--accent-hover\)\]:hover{color:var(--accent-hover)}.hover\:text-\[var\(--text-muted\)\]:hover{color:var(--text-muted)}.hover\:text-\[var\(--text-normal\)\]:hover{color:var(--text-normal)}.hover\:text-\[var\(--text-strong\)\]:hover{color:var(--text-strong)}.hover\:text-\[var\(--vk-red\)\]:hover{color:var(--vk-red)}.hover\:text-\[var\(--vk-text-normal\)\]:hover{color:var(--vk-text-normal)}.hover\:text-\[var\(--vk-text-strong\)\]:hover{color:var(--vk-text-strong)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[var\(--color-accent\)\]:focus{border-color:var(--color-accent)}.focus\:border-\[var\(--vk-orange\)\]:focus{border-color:var(--vk-orange)}.focus\:border-white\/20:focus{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.focus\:border-white\/20:focus{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.focus\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:focus{background-color:#ffffff0f}.focus\:bg-\[var\(--vk-bg-hover\)\]:focus{background-color:var(--vk-bg-hover)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--vk-orange\)\]:focus-visible{--tw-ring-color:var(--vk-orange)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[\#111\]:focus-visible{--tw-ring-offset-color:#111}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-white\/6:active{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.active\:bg-white\/6:active{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.data-\[state\=active\]\:bg-\[var\(--vk-bg-active\)\][data-state=active]{background-color:var(--vk-bg-active)}.data-\[state\=active\]\:text-\[var\(--vk-text-normal\)\][data-state=active]{color:var(--vk-text-normal)}.data-\[state\=inactive\]\:pointer-events-none[data-state=inactive]{pointer-events:none}.data-\[state\=inactive\]\:invisible[data-state=inactive]{visibility:hidden}.data-\[state\=inactive\]\:absolute[data-state=inactive]{position:absolute}.data-\[state\=inactive\]\:inset-0[data-state=inactive]{inset:calc(var(--spacing) * 0)}.data-\[state\=inactive\]\:opacity-0[data-state=inactive]{opacity:0}.data-\[state\=open\]\:bg-\[var\(--vk-bg-hover\)\][data-state=open]{background-color:var(--vk-bg-hover)}@media (min-width:40rem){.sm\:top-3{top:calc(var(--spacing) * 3)}.sm\:right-3{right:calc(var(--spacing) * 3)}.sm\:right-4{right:calc(var(--spacing) * 4)}.sm\:bottom-4{bottom:calc(var(--spacing) * 4)}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:mx-0{margin-inline:calc(var(--spacing) * 0)}.sm\:mt-3{margin-top:calc(var(--spacing) * 3)}.sm\:mb-3{margin-bottom:calc(var(--spacing) * 3)}.sm\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.sm\:ml-0{margin-left:calc(var(--spacing) * 0)}.sm\:ml-auto{margin-left:auto}.sm\:line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.sm\:block{display:block}.sm\:contents{display:contents}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-2\.5{height:calc(var(--spacing) * 2.5)}.sm\:h-3{height:calc(var(--spacing) * 3)}.sm\:h-3\.5{height:calc(var(--spacing) * 3.5)}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:h-7{height:calc(var(--spacing) * 7)}.sm\:h-8{height:calc(var(--spacing) * 8)}.sm\:h-\[27px\]{height:27px}.sm\:h-\[30px\]{height:30px}.sm\:h-\[31px\]{height:31px}.sm\:h-\[72vh\]{height:72vh}.sm\:h-\[260px\]{height:260px}.sm\:h-\[300px\]{height:300px}.sm\:h-\[min\(92vh\,760px\)\]{height:min(92vh,760px)}.sm\:h-auto{height:auto}.sm\:h-full{height:100%}.sm\:max-h-\[22rem\]{max-height:22rem}.sm\:max-h-\[760px\]{max-height:760px}.sm\:max-h-\[calc\(100dvh-1\.5rem\)\]{max-height:calc(100dvh - 1.5rem)}.sm\:max-h-\[calc\(100dvh-3rem\)\]{max-height:calc(100dvh - 3rem)}.sm\:max-h-none{max-height:none}.sm\:min-h-0{min-height:calc(var(--spacing) * 0)}.sm\:min-h-\[34px\]{min-height:34px}.sm\:min-h-\[36px\]{min-height:36px}.sm\:min-h-\[220px\]{min-height:220px}.sm\:min-h-\[360px\]{min-height:360px}.sm\:min-h-\[560px\]{min-height:560px}.sm\:w-2\.5{width:calc(var(--spacing) * 2.5)}.sm\:w-3{width:calc(var(--spacing) * 3)}.sm\:w-3\.5{width:calc(var(--spacing) * 3.5)}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:w-7{width:calc(var(--spacing) * 7)}.sm\:w-8{width:calc(var(--spacing) * 8)}.sm\:w-64{width:calc(var(--spacing) * 64)}.sm\:w-\[220px\]{width:220px}.sm\:w-\[224px\]{width:224px}.sm\:w-\[240px\]{width:240px}.sm\:w-\[320px\]{width:320px}.sm\:w-\[min\(90vw\,var\(--workspace-sidebar-width\)\)\]{width:min(90vw,var(--workspace-sidebar-width))}.sm\:w-auto{width:auto}.sm\:w-fit{width:fit-content}.sm\:w-full{width:100%}.sm\:max-w-\[6\.75rem\]{max-width:6.75rem}.sm\:max-w-\[7rem\]{max-width:7rem}.sm\:max-w-\[11\.75rem\]{max-width:11.75rem}.sm\:max-w-\[26rem\]{max-width:26rem}.sm\:max-w-\[28rem\]{max-width:28rem}.sm\:max-w-\[280px\]{max-width:280px}.sm\:max-w-\[560px\]{max-width:560px}.sm\:max-w-\[860px\]{max-width:860px}.sm\:max-w-\[980px\]{max-width:980px}.sm\:max-w-\[1120px\]{max-width:1120px}.sm\:max-w-none{max-width:none}.sm\:min-w-0{min-width:calc(var(--spacing) * 0)}.sm\:min-w-\[200px\]{min-width:200px}.sm\:min-w-\[220px\]{min-width:220px}.sm\:min-w-\[280px\]{min-width:280px}.sm\:flex-1{flex:1}.sm\:flex-none{flex:none}.sm\:shrink-0{flex-shrink:0}.sm\:touch-auto{touch-action:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[4rem_4rem_1\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:4rem 4rem 1.5rem minmax(0,1fr)}.sm\:grid-cols-\[4rem_minmax\(0\,1fr\)_4rem_minmax\(0\,1fr\)\]{grid-template-columns:4rem minmax(0,1fr) 4rem minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:justify-start{justify-content:flex-start}.sm\:gap-0{gap:calc(var(--spacing) * 0)}.sm\:gap-1{gap:calc(var(--spacing) * 1)}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}:where(.sm\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.sm\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-x-auto{overflow-x:auto}.sm\:rounded-\[3px\]{border-radius:3px}.sm\:rounded-\[6px\]{border-radius:6px}.sm\:rounded-\[7px\]{border-radius:7px}.sm\:rounded-\[9px\]{border-radius:9px}.sm\:rounded-\[10px\]{border-radius:10px}.sm\:border{border-style:var(--tw-border-style);border-width:1px}.sm\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.sm\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.sm\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.sm\:p-1\.5{padding:calc(var(--spacing) * 1.5)}.sm\:p-3{padding:calc(var(--spacing) * 3)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-0{padding-inline:calc(var(--spacing) * 0)}.sm\:px-2{padding-inline:calc(var(--spacing) * 2)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-0{padding-block:calc(var(--spacing) * 0)}.sm\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.sm\:py-2{padding-block:calc(var(--spacing) * 2)}.sm\:py-3{padding-block:calc(var(--spacing) * 3)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:pr-5{padding-right:calc(var(--spacing) * 5)}.sm\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.sm\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.sm\:pl-1{padding-left:calc(var(--spacing) * 1)}.sm\:pl-5{padding-left:calc(var(--spacing) * 5)}.sm\:text-center{text-align:center}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-\[10\.5px\]{font-size:10.5px}.sm\:text-\[11\.5px\]{font-size:11.5px}.sm\:text-\[12\.5px\]{font-size:12.5px}.sm\:text-\[12px\]{font-size:12px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-\[14px\]{font-size:14px}.sm\:text-\[15px\]{font-size:15px}.sm\:text-\[16px\]{font-size:16px}.sm\:text-\[24px\]{font-size:24px}.sm\:text-\[27px\]{font-size:27px}.sm\:text-\[28px\]{font-size:28px}.sm\:text-\[30px\]{font-size:30px}.sm\:text-\[36px\]{font-size:36px}.sm\:text-\[44px\]{font-size:44px}.sm\:leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.sm\:leading-\[19px\]{--tw-leading:19px;line-height:19px}.sm\:leading-\[27px\]{--tw-leading:27px;line-height:27px}.sm\:leading-\[32px\]{--tw-leading:32px;line-height:32px}.sm\:leading-\[40px\]{--tw-leading:40px;line-height:40px}.sm\:tracking-\[-0\.9px\]{--tw-tracking:-.9px;letter-spacing:-.9px}.first\:sm\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:w-80{width:calc(var(--spacing) * 80)}.md\:max-w-\[240px\]{max-width:240px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:relative{position:relative}.lg\:left-auto{left:auto}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:inline-flex{display:inline-flex}.lg\:w-0{width:calc(var(--spacing) * 0)}.lg\:w-\[var\(--workspace-sidebar-width\)\]{width:var(--workspace-sidebar-width)}.lg\:w-auto{width:auto}.lg\:max-w-\[320px\]{max-width:320px}.lg\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.08fr\)_minmax\(0\,0\.92fr\)\]{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.lg\:grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(290px\,0\.95fr\)\]{grid-template-columns:minmax(0,1.45fr) minmax(290px,.95fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:grid-cols-\[minmax\(0\,1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:justify-start{justify-content:flex-start}.lg\:gap-2{gap:calc(var(--spacing) * 2)}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-\[14px\]{border-radius:14px}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.lg\:border-\[var\(--vk-border\)\]{border-color:var(--vk-border)}.lg\:border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.lg\:border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.lg\:border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.lg\:border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.lg\:p-3{padding:calc(var(--spacing) * 3)}.lg\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.lg\:pt-3{padding-top:calc(var(--spacing) * 3)}.lg\:pr-2{padding-right:calc(var(--spacing) * 2)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.lg\:pb-1{padding-bottom:calc(var(--spacing) * 1)}.lg\:text-\[36px\]{font-size:36px}.lg\:shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:ml-0{margin-left:calc(var(--spacing) * 0)}.xl\:block{display:block}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:inline-flex{display:inline-flex}.xl\:h-\[360px\]{height:360px}.xl\:h-auto{height:auto}.xl\:h-full{height:100%}.xl\:max-h-none{max-height:none}.xl\:min-h-0{min-height:calc(var(--spacing) * 0)}.xl\:w-\[56px\]{width:56px}.xl\:w-\[405px\]{width:405px}.xl\:w-\[var\(--dispatcher-panel-width\)\]{width:var(--dispatcher-panel-width)}.xl\:w-auto{width:auto}.xl\:w-full{width:100%}.xl\:flex-none{flex:none}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.xl\:flex-col{flex-direction:column}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:justify-between{justify-content:space-between}.xl\:justify-end{justify-content:flex-end}.xl\:justify-start{justify-content:flex-start}.xl\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.xl\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.xl\:px-0{padding-inline:calc(var(--spacing) * 0)}.xl\:py-3{padding-block:calc(var(--spacing) * 3)}}.\[\&_\.shiki\]\:\!bg-transparent .shiki{background-color:#0000!important}.\[\&_\.shiki\]\:p-0 .shiki{padding:calc(var(--spacing) * 0)}.\[\&_\.xterm\]\:h-full .xterm{height:100%}.\[\&_\.xterm\]\:w-full .xterm{width:100%}.\[\&_\.xterm\]\:px-1 .xterm{padding-inline:calc(var(--spacing) * 1)}.\[\&_\.xterm-screen\]\:h-full .xterm-screen{height:100%}.\[\&_\.xterm-screen\]\:w-full .xterm-screen{width:100%}.\[\&_\.xterm-scrollable-element\]\:overscroll-contain .xterm-scrollable-element{overscroll-behavior:contain}.\[\&_\.xterm-scrollable-element\]\:\[-webkit-overflow-scrolling\:touch\] .xterm-scrollable-element{-webkit-overflow-scrolling:touch}.\[\&_\.xterm-viewport\]\:overflow-y-auto .xterm-viewport{overflow-y:auto}.\[\&_\.xterm-viewport\]\:overscroll-contain .xterm-viewport{overscroll-behavior:contain}.\[\&_\.xterm-viewport\]\:\[-webkit-overflow-scrolling\:touch\] .xterm-viewport{-webkit-overflow-scrolling:touch}.\[\&_code\]\:text-\[11px\] code{font-size:11px}.\[\&_code\]\:leading-5 code{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\[\&_pre\]\:\!bg-transparent pre{background-color:#0000!important}.\[\&_pre\]\:\!p-0 pre{padding:calc(var(--spacing) * 0)!important}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\[hidden\]\]\:block[hidden]{display:block}}:root{color-scheme:dark;--vk-bg-outer:#1a1a1a;--vk-bg-main:#212121;--vk-bg-panel:#1c1c1c;--vk-bg-hover:#292929;--vk-bg-active:#343434;--vk-border:#333;--vk-text-strong:#f2f0ed;--vk-text-normal:#c4c4c4;--vk-text-muted:#8f8f8f;--vk-orange:#5b7c99;--vk-accent:#5b7c99;--vk-green:#54b04f;--vk-red:#d25151;--bg-canvas:var(--vk-bg-outer);--bg-shell:var(--vk-bg-main);--bg-surface:var(--vk-bg-main);--bg-panel:var(--vk-bg-panel);--bg-panel-2:var(--vk-bg-hover);--bg-muted:var(--vk-bg-active);--border-soft:var(--vk-border);--border-strong:#52525b;--text-strong:var(--vk-text-strong);--text-normal:var(--vk-text-normal);--text-muted:var(--vk-text-muted);--text-faint:#6f6f6f;--text-inverse:#111;--accent:var(--vk-orange);--accent-hover:#7092b0;--accent-soft:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){:root{--accent-soft:color-mix(in srgb,var(--vk-orange) 18%,transparent)}}:root{--status-working:#6ca8ff;--status-ready:var(--vk-green);--status-attention:#d2a03b;--status-review:var(--vk-orange);--status-error:var(--vk-red);--status-idle:#a1a1aa;--shadow-card:none;--shadow-soft:none;--color-bg-base:var(--bg-canvas);--color-bg-surface:var(--bg-surface);--color-bg-elevated:var(--bg-panel);--color-bg-subtle:var(--bg-panel-2);--color-bg-secondary:var(--bg-muted);--color-border-subtle:var(--border-soft);--color-border-default:var(--border-soft);--color-border-strong:var(--border-strong);--color-text-primary:var(--text-strong);--color-text-secondary:var(--text-normal);--color-text-tertiary:var(--text-muted);--color-text-muted:var(--text-faint);--color-text-inverse:var(--text-inverse);--color-accent:var(--accent);--color-accent-hover:var(--accent-hover);--color-accent-subtle:var(--accent-soft);--color-status-working:var(--status-working);--color-status-ready:var(--status-ready);--color-status-attention:var(--status-attention);--color-status-error:var(--status-error);--color-status-idle:var(--status-idle);--color-status-done:var(--status-idle);--color-sidebar-bg:var(--bg-panel);--color-sidebar-border:var(--border-soft);--color-sidebar-hover:var(--vk-bg-hover);--color-sidebar-active:var(--accent-soft);--color-card-bg:var(--bg-panel);--color-card-bg-hover:var(--bg-panel-2);--color-card-border:var(--border-soft);--color-card-shadow:#0000}.light{color-scheme:dark}*{border-color:var(--border-soft)}[role=button],a,button,input,select,textarea{touch-action:manipulation}body,html{overscroll-behavior:none;min-height:100%}body{font-family:var(--font-sans),system-ui,sans-serif;background:var(--vk-bg-main);color:var(--text-strong);font-size:15px;line-height:1.4}.font-brand-display,.font-brand-header{font-family:var(--font-brand-display),var(--font-tomorrow),sans-serif}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3c3c3c;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#4c4c4c}.surface-card,.surface-panel{border:1px solid var(--border-soft);background:var(--bg-panel)}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-working) 40%,transparent)}70%,to{box-shadow:0 0 0 8px #0000}}@keyframes run-dot{0%,80%,to{opacity:.3;transform:scale(.72)}40%{opacity:1;transform:scale(1)}}.attention-glow{animation:pulse-ring 1.8s ease-out infinite}@media (max-width:767px){input,select,textarea{font-size:16px!important}}@media (pointer:coarse){.overflow-auto,.overflow-x-auto,.overflow-y-auto{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}body,html{overflow-x:hidden}.conductor-auth-form .cl-formButtonPrimary{color:var(--text-strong)!important;font-weight:700!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -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(62279);let r=e=>{var l;let{children:a}=e,r=(null==(l=(0,s.useSelectedLayoutSegments)()[0])?void 0:l.startsWith("/_not-found"))||!1,[i,u]=n.useActionState(t.a,null);return((0,n.useEffect)(()=>{r||n.startTransition(()=>{u()})},[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}},62279:(e,l,a)=>{a.d(l,{a:()=>n});var s=a(5974);let n=(0,s.createServerReference)("00e64f7d6d25effe7831708075cef7300fbbea4da7",s.callServer,void 0,s.findSourceMapURL,"createOrReadKeylessAction")}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5072],{15072:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>f.a,deleteKeylessAction:()=>t,detectKeylessEnvDriftAction:()=>s.A,syncKeylessConfigAction:()=>l});var a=r(5974);let t=(0,a.createServerReference)("000f9b17a33d5f56b08669f6166603524e575c844b",a.callServer,void 0,a.findSourceMapURL,"deleteKeylessAction");var s=r(88146),f=r(62279);let l=(0,a.createServerReference)("40e1460a50cf2bbd18619898a9c5556b57c980a659",a.callServer,void 0,a.findSourceMapURL,"syncKeylessConfigAction")},62279:(e,c,r)=>{r.d(c,{a:()=>t});var a=r(5974);let t=(0,a.createServerReference)("00e64f7d6d25effe7831708075cef7300fbbea4da7",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9542],{14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},39542:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>A});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),h=n(82797),m=n(7620),f=n(76081),w=n(31404);let p=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")}function k(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}}async function j(e,t){let n=await fetch((0,w.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="string"==typeof r?.tunnelUrl&&r.tunnelUrl.trim().length>0?r.tunnelUrl.trim():null,s=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();return 401===n.status||403===n.status?{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:i,tunnelUrl:a,expiresInSeconds:s}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,reason:r?.error??"Terminal unavailable"}}async function N(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 j(e,t);if(!l.interactive)return{terminalUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null,tunnelUrl:null};if(l.tunnelUrl)try{let e=new URL(l.tunnelUrl),r=new URL(l.ttydHttpUrl??l.ttydWsUrl??"",n).searchParams.get("token");return r&&e.searchParams.set("token",r),{terminalUrl:k(e.toString(),t?.bridgeId),interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}catch{}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:k(i,t?.bridgeId),interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}:{terminalUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."}}function U(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 R=new Set(["archived","killed","terminated","restored"]),L=[0,50,150,400,1e3];async function E(e,t,n){let r=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function C(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 T(e){if(!e?.contentWindow)return;let t="*";try{t=new URL(e.src).origin}catch{return}try{e.contentWindow.postMessage({type:"conductor-terminal-resize"},t)}catch{}}function I(e){let{sessionId:t,bridgeId:n,sessionState:i,runtimeMode:x,pendingInsert:g,immersiveMobileMode:y=!1,onPendingInsertConsumed:v}=e,k=(0,m.useRef)(null),j=(0,m.useRef)(0),I=(0,m.useRef)(0),A=(0,m.useRef)(null),M=(0,m.useRef)(null),_=(0,m.useRef)([]),P=(0,m.useRef)(!1),$=(0,m.useRef)(null),z=(0,m.useRef)(0),W=(0,m.useMemo)(()=>i.trim().toLowerCase(),[i]),D=x?.trim().toLowerCase()??null,O="ttyd"===D,F=O?!R.has(W):p.has(W),H=!O&&!y&&b.has(W),[q,B]=(0,m.useState)(null),[K,V]=(0,m.useState)(null),[J,X]=(0,m.useState)(F),[G,Q]=(0,m.useState)(null),[Y,Z]=(0,m.useState)(!1),[ee,et]=(0,m.useState)(0),[en,er]=(0,m.useState)(""),[el,ei]=(0,m.useState)(!1),[ea,es]=(0,m.useState)(null),[eo,ec]=(0,m.useState)(null),[eu,ed]=(0,m.useState)(!1),eh=(0,m.useRef)(null),em=(0,m.useRef)(!1),ef=(0,m.useRef)(0),ew=(0,m.useCallback)(()=>{for(let e of _.current)window.clearTimeout(e);_.current=[]},[]),ep=(0,m.useCallback)(()=>{let e=M.current;if(e?.contentWindow)for(let t of(ew(),L))_.current.push(window.setTimeout(()=>T(e),t))},[ew]),eb=(0,m.useCallback)(()=>{let e=function(e){if(!e)return null;try{let t=new URL(e).searchParams.get("token")?.trim();return t&&t.length>0?t:null}catch{return null}}(K);e&&C(M.current,e)},[K]);(0,m.useEffect)(()=>{eh.current=q},[q]),(0,m.useEffect)(()=>{P.current=Y},[Y]),(0,m.useEffect)(()=>{j.current=0,I.current=0,B(null),V(null),X(F),Q(null),Z(!1),et(0),er(""),ei(!1),es(null),ec(null),em.current=!1,P.current=!1,$.current=null,z.current=0,ef.current=0,ew()},[ew,F,t]),(0,m.useEffect)(()=>()=>ew(),[ew]),(0,m.useEffect)(()=>{if(!F){X(!1),Q(null);return}let e=!1,r=null,l=null,i=new AbortController;return X(!0),Q(null),N(t,{signal:i.signal,bridgeId:n}).then(t=>{if(!e){if(I.current=0,t.interactive&&t.terminalUrl){var n,r,i;let e,a,s=em.current||(n=eh.current,r=t.terminalUrl,e=U(n),a=U(r),!e||e!==a);em.current=!1,V(t.terminalUrl);let o=!s&&eh.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}}(eh.current,t.terminalUrl);if(s||!eh.current)eh.current||Z(!1),B(t.terminalUrl);else if(o){let e=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();if(e){let t=M.current;t&&(C(t,e),ep())}}Q(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(()=>{et(e=>e+1)},c));return}eh.current||(B(null),V(null),Z(!1)),Q(t.reason??"Live ttyd terminal is unavailable.")}}).catch(t=>{if(e||t instanceof DOMException&&"AbortError"===t.name)return;let n=!!eh.current;n||(B(null),V(null),Z(!1)),Q(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=I.current,i=n?5e3:Math.min(4e3,500*2**l);I.current=n?0:Math.min(l+1,3),r=window.setTimeout(()=>{et(e=>e+1)},i)}).finally(()=>{e||X(!1)}),()=>{e=!0,i.abort(),null!==r&&window.clearTimeout(r),null!==l&&window.clearTimeout(l)}},[n,ee,F,t]);let ex=(0,m.useCallback)(()=>{if(!F)return;let e=window.Date.now();if(e-z.current<1500)return;z.current=e;let t=null===$.current?0:e-$.current;$.current=null,eb(),ep(),t>=3e5&&P.current&&eh.current&&(em.current=!0),et(e=>e+1)},[F,ep,eb]);(0,m.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){$.current=window.Date.now(),ef.current=window.Date.now()+250;return}"visible"===document.visibilityState&&(ef.current=window.Date.now()+100,ex())},t=()=>{ex()};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)}},[ex]),(0,m.useEffect)(()=>{if(!g||g.nonce<=j.current)return;j.current=g.nonce;let e=g.inlineText.trim();if(0===e.length)return;let r=!1;return E(t,`${e} `,n).then(()=>{r||(ec(null),v?.())}).catch(e=>{r||ec(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{r=!0}},[n,v,g,t]),(0,m.useEffect)(()=>{Y&&eb()},[Y,eb]),(0,m.useEffect)(()=>{if(!F||!q||Y)return;let e=window.setTimeout(()=>{P.current||Q("The terminal view did not finish loading in time. Try reload or open in a new tab.")},25e3);return()=>window.clearTimeout(e)},[F,Y,q]);let eg=(0,m.useCallback)(async()=>{let e=en.trim();if(0!==e.length&&!el){ei(!0),es(null);try{let r=await fetch((0,w.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})`)}er(""),k.current?.focus()}catch(e){es(e instanceof Error?e.message:"Failed to send message")}finally{ei(!1)}}},[n,en,el,t]),ey=(0,m.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await E(t,e,n)}catch{}},[n,t]),ev=(0,m.useCallback)(async()=>{await E(t,"\x03",n)},[n,t]),ek=(0,m.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%",ed(!1);return}if(n<=0){e.style.height="100%";return}e.style.height=`${Math.max(0,Math.round(n))}px`,ed(!0)},[]);(0,m.useEffect)(()=>{let e=A.current;if(!e)return;let t=null,n=()=>{if(window.Date.now()<ef.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(null!==t&&(window.clearTimeout(t),t=null),t=window.setTimeout(()=>{if(t=null,window.Date.now()<ef.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(ek(),T(M.current))},150))};n();let r="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{n()}),l=window.visualViewport;return r?.observe(e),window.addEventListener("resize",n),l?.addEventListener("resize",n),l?.addEventListener("scroll",n),()=>{r?.disconnect(),window.removeEventListener("resize",n),l?.removeEventListener("resize",n),l?.removeEventListener("scroll",n),null!==t&&window.clearTimeout(t),e.style.removeProperty("height")}},[ek,F,q]),(0,m.useEffect)(()=>{},[G,F,Y,D,ea,eo,J,t,q,K,O]);let ej=(0,m.useCallback)(()=>{Q(null),I.current=0,em.current=!0,et(e=>e+1)},[]),eN=F?"Connecting live terminal":H?"Session is waiting for input":"Live terminal is not active",eU=G??(F?"Reconnecting to the existing ttyd terminal.":O?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":H?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${W}\`. Interactive ttyd terminals only run while the agent is active.`),eS=K??q??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:[eS?(0,r.jsx)("a",{href:eS,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:ey,"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:ev,"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:ej,"aria-label":"Reload ttyd terminal",children:J?(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:F&&q?(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:[Y?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",{ref:M,title:`ttyd terminal for ${t}`,src:q,className:"block h-full min-h-0 w-full flex-1 border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onError:()=>{Q("Failed to load the terminal frame. Try reload or open in a new tab.")},onLoad:()=>{Z(!0),Q(null),ek(),eb(),ep()}},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:G?(0,r.jsx)(u.A,{className:"h-4 w-4"}):(0,r.jsx)(o.A,{className:`h-4 w-4 ${J?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:eN}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:eU}),eS?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)("a",{href:eS,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!H&&eo?(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:eo}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ec(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]})}):null,H?(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:[eo?(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:eo}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ec(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,ea?(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:ea}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>es(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),eg()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,r.jsx)("input",{ref:k,type:"text",value:en,onChange:e=>er(e.target.value),placeholder:"Send a follow-up message…",enterKeyHint:"done",disabled:el,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:el||0===en.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:el?(0,r.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(h.A,{className:"h-3.5 w-3.5"})})]})]}):null]})}let A=(0,m.memo)(function(e){return(0,r.jsx)(I,{...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"}]])}}]);
|