groove-dev 0.24.4 → 0.24.5

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.
@@ -1562,8 +1562,9 @@ Keep responses concise. Help them think, don't lecture them about the system the
1562
1562
  // Safety net: if planner forgot the QC agent, auto-add one
1563
1563
  if (phase2.length === 0 && phase1.length >= 2) {
1564
1564
  phase2 = [{
1565
+ name: 'qc-agent',
1565
1566
  role: 'fullstack', phase: 2, scope: [],
1566
- prompt: 'QC Senior Dev: All builder agents have completed. Audit their changes for correctness, fix any issues, run tests, build the project, commit all changes, and launch. Output the localhost URL where the app can be accessed.',
1567
+ prompt: 'QC Senior Dev: All builder agents have completed. Audit their changes for correctness, fix any issues, run tests, build the project, commit all changes, and launch the dev server. Output the localhost URL where the app can be accessed.',
1567
1568
  }];
1568
1569
  }
1569
1570
 
@@ -445,8 +445,22 @@ For normal file edits within your scope, proceed without review.
445
445
  role: agent.role,
446
446
  });
447
447
  this.daemon.audit.log('phase2.autoSpawn', { id: agent.id, name: agent.name, role: agent.role });
448
- }).catch(() => {});
449
- } catch { /* skip invalid configs */ }
448
+ }).catch((err) => {
449
+ console.error(`[Groove] Phase 2 spawn failed for ${config.role}: ${err.message}`);
450
+ this.daemon.broadcast({
451
+ type: 'phase2:failed',
452
+ role: config.role,
453
+ error: err.message,
454
+ });
455
+ });
456
+ } catch (err) {
457
+ console.error(`[Groove] Phase 2 config invalid for ${config.role}: ${err.message}`);
458
+ this.daemon.broadcast({
459
+ type: 'phase2:failed',
460
+ role: config.role,
461
+ error: err.message,
462
+ });
463
+ }
450
464
  }
451
465
  }
452
466
  }
@@ -26,7 +26,7 @@ Error generating stack: `+c.message+`
26
26
  `),g=p.data.filter(b=>b.type==="tool_use").map(b=>{var S,Q,k;return`${b.name}: ${typeof b.input=="string"?b.input.slice(0,80):((S=b.input)==null?void 0:S.command)||((Q=b.input)==null?void 0:Q.path)||((k=b.input)==null?void 0:k.pattern)||JSON.stringify(b.input||"").slice(0,80)}`}).join(`
27
27
  `)),p.contextUsage!==void 0||p.tokensUsed!==void 0){const b=a().agents.map(S=>{if(S.id!==m)return S;const Q={};return p.contextUsage!==void 0&&(Q.contextUsage=p.contextUsage),p.tokensUsed!==void 0&&(Q.tokensUsed=p.tokensUsed),{...S,...Q}});t({agents:b})}if((p.subtype==="assistant"||p.type==="result")&&x&&x.trim()){const b={...a().chatHistory};b[m]||(b[m]=[]);const S=[...b[m]],Q=S[S.length-1];Q&&Q.from==="agent"&&Date.now()-Q.timestamp<8e3&&p.subtype==="assistant"?S[S.length-1]={...Q,text:Q.text+`
28
28
 
29
- `+x.trim(),timestamp:Date.now()}:S.push({from:"agent",text:x.trim(),timestamp:Date.now()}),b[m]=S.slice(-100),t({chatHistory:b}),bl("groove:chatHistory",b)}if(g&&g.trim()){const b={...a().activityLog};b[m]||(b[m]=[]),b[m]=[...b[m].slice(-200),{timestamp:Date.now(),text:g.trim(),type:p.type,subtype:"tool"}],t({activityLog:b}),bl("groove:activityLog",b)}break}case"agent:exit":{const m=a().agents.find(S=>S.id===o.agentId),p=(m==null?void 0:m.name)||o.agentId,x=o.status==="killed"||o.code===143||o.code===137,g=o.status==="completed"?`${p} completed`:x?`${p} stopped`:`${p} crashed (exit ${o.code})`,b=o.status==="completed"?"success":x?"info":"warning";a().addToast(b,g),(m==null?void 0:m.role)==="planner"&&o.status==="completed"&&setTimeout(()=>a().checkRecommendedTeam(),1e3);break}case"phase2:spawned":a().addToast("info",`QC agent ${o.name} auto-spawned`,"Auditing phase 1 work");break;case"rotation:start":a().addToast("info",`Rotating ${o.agentName}...`);break;case"rotation:complete":{a().addToast("success",`Rotated ${o.agentName}`,`Saved ${o.tokensSaved} tokens`);const m=a().detailPanel;(m==null?void 0:m.type)==="agent"&&m.agentId===o.oldAgentId&&o.newAgentId&&t(p=>{var b,S;const x={...p.chatHistory},g={...p.tokenTimeline};return(b=x[o.oldAgentId])!=null&&b.length&&(x[o.newAgentId]=[...x[o.oldAgentId]]),(S=g[o.oldAgentId])!=null&&S.length&&(g[o.newAgentId]=[...g[o.oldAgentId]]),{chatHistory:x,tokenTimeline:g,detailPanel:{type:"agent",agentId:o.newAgentId}}});break}case"rotation:failed":a().addToast("error","Rotation failed",o.error);break;case"file:changed":{const m=a().editorRecentSaves[o.path];if(m&&Date.now()-m<2e3)break;t(p=>({editorChangedFiles:{...p.editorChangedFiles,[o.path]:o.timestamp}}));break}case"team:created":case"team:deleted":case"team:updated":a().fetchTeams();break;case"approval:request":t(m=>({pendingApprovals:[...m.pendingApprovals,o.data]})),a().addToast("warning",`Approval needed: ${((u=o.data)==null?void 0:u.agentName)||"agent"}`,(f=(d=o.data)==null?void 0:d.action)==null?void 0:f.description);break;case"approval:resolved":{const m=o.data;t(p=>({pendingApprovals:p.pendingApprovals.filter(x=>x.id!==m.id),resolvedApprovals:[m,...p.resolvedApprovals].slice(0,200)}));break}case"conflict:detected":a().addToast("error",`Scope conflict: ${o.agentName||"agent"}`,o.filePath?`File: ${o.filePath}`:void 0);break;case"qc:activated":a().addToast("info","QC agent activated",`${o.agentCount||"4+"} agents running`);break;case"journalist:cycle":t({journalistStatus:o.data||null});break;case"schedule:execute":a().addToast("info",`Scheduled agent spawned: ${o.name||o.role||"agent"}`);break;case"gateway:status":t({gateways:o.data||[]});break}},s.onclose=()=>{t({connected:!1,hydrated:!1,ws:null,daemonHost:null,tunneled:!1}),setTimeout(()=>a().connect(),2e3)},s.onerror=()=>s.close()},setActiveView(s){t({activeView:s})},async fetchTeams(){try{const s=await ee.get("/teams"),l=s.teams||[],o=s.defaultTeamId,{activeTeamId:u}=a(),f=l.map(m=>m.id).includes(u)?u:o;t({teams:l,activeTeamId:f}),f&&localStorage.setItem("groove:activeTeamId",f)}catch{}},switchTeam(s){t({activeTeamId:s,detailPanel:null}),localStorage.setItem("groove:activeTeamId",s)},async createTeam(s,l){try{const o={name:s};l&&(o.workingDir=l);const u=await ee.post("/teams",o);return t({activeTeamId:u.id}),localStorage.setItem("groove:activeTeamId",u.id),a().addToast("success",`Team "${s}" created`),u}catch(o){throw a().addToast("error","Failed to create team",o.message),o}},async deleteTeam(s){const l=a().teams.find(o=>o.id===s);if(l!=null&&l.isDefault){a().addToast("warning","Cannot delete the default team");return}try{await ee.delete(`/teams/${s}`),a().addToast("info",`Team "${l==null?void 0:l.name}" deleted`)}catch(o){a().addToast("error","Failed to delete team",o.message)}},async renameTeam(s,l){try{const o=await ee.patch(`/teams/${s}`,{name:l});return t(u=>({teams:u.teams.map(d=>d.id===s?o:d)})),o}catch(o){throw a().addToast("error","Failed to rename team",o.message),o}},openDetail(s){t({detailPanel:s})},closeDetail(){t({detailPanel:null})},selectAgent(s){t({detailPanel:{type:"agent",agentId:s}})},clearSelection(){t({detailPanel:null})},toggleCommandPalette(){t(s=>({commandPaletteOpen:!s.commandPaletteOpen}))},setDetailPanelWidth(s){t({detailPanelWidth:s}),localStorage.setItem("groove:detailWidth",String(s))},setTerminalVisible(s){t({terminalVisible:s}),localStorage.setItem("groove:terminalVisible",String(s))},setTerminalHeight(s){t({terminalHeight:s}),localStorage.setItem("groove:terminalHeight",String(s))},setTerminalFullHeight(s){t({terminalFullHeight:s})},addToast(s,l,o){const u=++nw;t(d=>({toasts:[...d.toasts,{id:u,type:s,message:l,detail:o}]}))},removeToast(s){t(l=>({toasts:l.toasts.filter(o=>o.id!==s)}))},async checkMarketplaceAuth(){try{const s=await ee.get("/auth/status");t({marketplaceAuthenticated:s.authenticated||!1,marketplaceUser:s.user||null})}catch{t({marketplaceAuthenticated:!1,marketplaceUser:null})}},async marketplaceLogin(){try{const s=await ee.get("/auth/login-url");s.url&&window.open(s.url,"_blank");const l=setInterval(async()=>{var o,u;try{const d=await ee.get("/auth/status");d.authenticated&&(clearInterval(l),t({marketplaceAuthenticated:!0,marketplaceUser:d.user}),a().addToast("success",`Signed in as ${((o=d.user)==null?void 0:o.displayName)||((u=d.user)==null?void 0:u.id)||"user"}`))}catch{}},2e3);setTimeout(()=>clearInterval(l),3e5)}catch(s){a().addToast("error","Login failed",s.message)}},async marketplaceLogout(){try{await ee.post("/auth/logout"),t({marketplaceAuthenticated:!1,marketplaceUser:null}),a().addToast("info","Signed out of marketplace")}catch(s){a().addToast("error","Logout failed",s.message)}},async marketplaceCheckout(s){try{const l=await ee.post("/auth/checkout",{skillId:s});return l.url&&window.open(l.url,"_blank"),l}catch(l){throw a().addToast("error","Checkout failed",l.message),l}},async fetchApprovals(){try{const s=await ee.get("/approvals");t({pendingApprovals:s.pending||[],resolvedApprovals:s.resolved||[]})}catch{}},async approveRequest(s){try{await ee.post(`/approvals/${s}/approve`),t(l=>({pendingApprovals:l.pendingApprovals.filter(o=>o.id!==s)})),a().addToast("success","Approved")}catch(l){a().addToast("error","Approve failed",l.message)}},async rejectRequest(s,l=""){try{await ee.post(`/approvals/${s}/reject`,{reason:l}),t(o=>({pendingApprovals:o.pendingApprovals.filter(u=>u.id!==s)})),a().addToast("info","Rejected")}catch(o){a().addToast("error","Reject failed",o.message)}},async checkRecommendedTeam(){var s;try{const l=await ee.get("/recommended-team");l&&((s=l.agents)!=null&&s.length)?t({recommendedTeam:l}):t({recommendedTeam:null})}catch{t({recommendedTeam:null})}},async launchRecommendedTeam(){try{t({recommendedTeam:null}),a().addToast("info","Launching team...");const s=await ee.post("/recommended-team/launch");return a().addToast("success",`Launched ${s.launched} agents`,s.phase2Pending?`${s.phase2Pending} QC agents queued`:void 0),ee.post("/cleanup").catch(()=>{}),s}catch(s){throw a().addToast("error","Launch failed",s.message),s}},async fetchJournalist(){try{const s=await ee.get("/journalist");return t({journalistStatus:s}),s}catch{return null}},async triggerJournalistCycle(){try{const s=await ee.post("/journalist/cycle");return a().addToast("success","Synthesis cycle triggered"),t({journalistStatus:s}),s}catch(s){throw a().addToast("error","Synthesis failed",s.message),s}},async spawnAgent(s){try{const l=a().activeTeamId,o=await ee.post("/agents",{...s,teamId:l});return a().addToast("success",`Spawned ${o.name}`),o}catch(l){throw a().addToast("error","Spawn failed",l.message),l}},async killAgent(s,l=!1){try{await ee.delete(`/agents/${s}?purge=${l}`)}catch(o){a().addToast("error","Kill failed",o.message)}},async rotateAgent(s){try{return await ee.post(`/agents/${s}/rotate`)}catch(l){throw a().addToast("error","Rotation failed",l.message),l}},async fetchProviders(){return ee.get("/providers")},addChatMessage(s,l,o,u=!1){t(d=>{const f={...d.chatHistory};return f[s]||(f[s]=[]),f[s]=[...f[s].slice(-100),{from:l,text:o,timestamp:Date.now(),isQuery:u}],bl("groove:chatHistory",f),{chatHistory:f}})},async instructAgent(s,l){var d,f;const o=a().agents.find(m=>m.id===s);if(o&&(o.status==="running"||o.status==="starting")){a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",m.response),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}}a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/instruct`,{message:l});for(const p of["chatHistory","activityLog","tokenTimeline"]){const x=a()[p][s];x!=null&&x.length&&t(g=>({[p]:{...g[p],[m.id]:[...x]}}))}return(d=a().chatHistory[s])!=null&&d.length&&bl("groove:chatHistory",a().chatHistory),(f=a().activityLog[s])!=null&&f.length&&bl("groove:activityLog",a().activityLog),a().selectAgent(m.id),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}},async queryAgent(s,l){a().addChatMessage(s,"user",l,!0);try{const o=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",o.response),o}catch(o){throw a().addChatMessage(s,"system",`query failed: ${o.message}`),o}},async openFile(s){var u;if(a().editorFiles[s]||a().editorOpenTabs.includes(s)){t(d=>({editorActiveFile:s,editorOpenTabs:d.editorOpenTabs.includes(s)?d.editorOpenTabs:[...d.editorOpenTabs,s]}));return}const l=(u=s.split(".").pop())==null?void 0:u.toLowerCase();if(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif","mp4","webm","mov","avi","mkv","ogv"].includes(l)){t(d=>({editorActiveFile:s,editorOpenTabs:[...d.editorOpenTabs,s]}));return}try{const d=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(d.binary){a().addToast("warning","Binary file — cannot open");return}t(m=>({editorFiles:{...m.editorFiles,[s]:{content:d.content,originalContent:d.content,language:d.language,loadedAt:Date.now()}},editorActiveFile:s,editorOpenTabs:m.editorOpenTabs.includes(s)?m.editorOpenTabs:[...m.editorOpenTabs,s]}));const f=a().ws;(f==null?void 0:f.readyState)===1&&f.send(JSON.stringify({type:"editor:watch",path:s}))}catch(d){a().addToast("error","Failed to open file",d.message)}},closeFile(s){t(o=>{const u=o.editorOpenTabs.filter(p=>p!==s),d={...o.editorFiles};delete d[s];const f={...o.editorChangedFiles};delete f[s];let m=o.editorActiveFile;if(m===s){const p=o.editorOpenTabs.indexOf(s);m=u[Math.min(p,u.length-1)]||null}return{editorOpenTabs:u,editorFiles:d,editorChangedFiles:f,editorActiveFile:m}});const l=a().ws;(l==null?void 0:l.readyState)===1&&l.send(JSON.stringify({type:"editor:unwatch",path:s}))},setActiveFile(s){t({editorActiveFile:s})},updateFileContent(s,l){t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],content:l}}}))},async saveFile(s){const l=a().editorFiles[s];if(l)try{await ee.post("/files/write",{path:s,content:l.content}),t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],originalContent:l.content}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})(),editorRecentSaves:{...o.editorRecentSaves,[s]:Date.now()}})),a().addToast("success","File saved")}catch(o){a().addToast("error","Save failed",o.message)}},async reloadFile(s){try{const l=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(l.binary)return;t(o=>({editorFiles:{...o.editorFiles,[s]:{content:l.content,originalContent:l.content,language:l.language,loadedAt:Date.now()}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})()}))}catch{}},dismissFileChange(s){t(l=>{const o={...l.editorChangedFiles};return delete o[s],{editorChangedFiles:o}})},async fetchTreeDir(s){try{const l=await ee.get(`/files/tree?path=${encodeURIComponent(s)}`);t(o=>({editorTreeCache:{...o.editorTreeCache,[s]:l.entries}}))}catch{}},async createFile(s){try{await ee.post("/files/create",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","File created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async createDir(s){try{await ee.post("/files/mkdir",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","Folder created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async deleteFile(s){try{await ee.delete(`/files/delete?path=${encodeURIComponent(s)}`),a().editorOpenTabs.includes(s)&&a().closeFile(s);const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),t(o=>{const u={...o.editorTreeCache};return delete u[s],{editorTreeCache:u}}),a().addToast("success","Deleted"),!0}catch(l){return a().addToast("error","Delete failed",l.message),!1}},async renameFile(s,l){try{await ee.post("/files/rename",{oldPath:s,newPath:l}),t(d=>{const f=d.editorOpenTabs.map(x=>x===s?l:x),m={...d.editorFiles};m[s]&&(m[l]=m[s],delete m[s]);const p=d.editorActiveFile===s?l:d.editorActiveFile;return{editorOpenTabs:f,editorFiles:m,editorActiveFile:p}});const o=s.includes("/")?s.split("/").slice(0,-1).join("/"):"",u=l.includes("/")?l.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(o),u!==o&&await a().fetchTreeDir(u),a().addToast("success","Renamed"),!0}catch(o){return a().addToast("error","Rename failed",o.message),!1}}}));function aw(t){v.useEffect(()=>{function a(s){for(const l of t){const o=l.meta?s.metaKey||s.ctrlKey:!0,u=l.shift?s.shiftKey:!s.shiftKey;if(s.key.toLowerCase()===l.key.toLowerCase()&&o&&u){s.preventDefault(),l.handler();return}}}return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[t])}function Ae(t,a,{checkForDefaultPrevented:s=!0}={}){return function(o){if(t==null||t(o),s===!1||!o.defaultPrevented)return a==null?void 0:a(o)}}function kg(t,a){if(typeof t=="function")return t(a);t!=null&&(t.current=a)}function T0(...t){return a=>{let s=!1;const l=t.map(o=>{const u=kg(o,a);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let o=0;o<l.length;o++){const u=l[o];typeof u=="function"?u():kg(t[o],null)}}}}function rt(...t){return v.useCallback(T0(...t),t)}function sw(t,a){const s=v.createContext(a),l=u=>{const{children:d,...f}=u,m=v.useMemo(()=>f,Object.values(f));return i.jsx(s.Provider,{value:m,children:d})};l.displayName=t+"Provider";function o(u){const d=v.useContext(s);if(d)return d;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${t}\``)}return[l,o]}function Ts(t,a=[]){let s=[];function l(u,d){const f=v.createContext(d),m=s.length;s=[...s,d];const p=g=>{var T;const{scope:b,children:S,...Q}=g,k=((T=b==null?void 0:b[t])==null?void 0:T[m])||f,j=v.useMemo(()=>Q,Object.values(Q));return i.jsx(k.Provider,{value:j,children:S})};p.displayName=u+"Provider";function x(g,b){var k;const S=((k=b==null?void 0:b[t])==null?void 0:k[m])||f,Q=v.useContext(S);if(Q)return Q;if(d!==void 0)return d;throw new Error(`\`${g}\` must be used within \`${u}\``)}return[p,x]}const o=()=>{const u=s.map(d=>v.createContext(d));return function(f){const m=(f==null?void 0:f[t])||u;return v.useMemo(()=>({[`__scope${t}`]:{...f,[t]:m}}),[f,m])}};return o.scopeName=t,[l,lw(o,...a)]}function lw(...t){const a=t[0];if(t.length===1)return a;const s=()=>{const l=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(u){const d=l.reduce((f,{useScope:m,scopeName:p})=>{const g=m(u)[`__scope${p}`];return{...f,...g}},{});return v.useMemo(()=>({[`__scope${a.scopeName}`]:d}),[d])}};return s.scopeName=a.scopeName,s}function tc(t){const a=rw(t),s=v.forwardRef((l,o)=>{const{children:u,...d}=l,f=v.Children.toArray(u),m=f.find(ow);if(m){const p=m.props.children,x=f.map(g=>g===m?v.Children.count(p)>1?v.Children.only(null):v.isValidElement(p)?p.props.children:null:g);return i.jsx(a,{...d,ref:o,children:v.isValidElement(p)?v.cloneElement(p,void 0,x):null})}return i.jsx(a,{...d,ref:o,children:u})});return s.displayName=`${t}.Slot`,s}function rw(t){const a=v.forwardRef((s,l)=>{const{children:o,...u}=s;if(v.isValidElement(o)){const d=uw(o),f=cw(u,o.props);return o.type!==v.Fragment&&(f.ref=l?T0(l,d):d),v.cloneElement(o,f)}return v.Children.count(o)>1?v.Children.only(null):null});return a.displayName=`${t}.SlotClone`,a}var P0=Symbol("radix.slottable");function iw(t){const a=({children:s})=>i.jsx(i.Fragment,{children:s});return a.displayName=`${t}.Slottable`,a.__radixId=P0,a}function ow(t){return v.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===P0}function cw(t,a){const s={...a};for(const l in a){const o=t[l],u=a[l];/^on[A-Z]/.test(l)?o&&u?s[l]=(...f)=>{const m=u(...f);return o(...f),m}:o&&(s[l]=o):l==="style"?s[l]={...o,...u}:l==="className"&&(s[l]=[o,u].filter(Boolean).join(" "))}return{...t,...s}}function uw(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var dw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Be=dw.reduce((t,a)=>{const s=tc(`Primitive.${a}`),l=v.forwardRef((o,u)=>{const{asChild:d,...f}=o,m=d?s:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(m,{...f,ref:u})});return l.displayName=`Primitive.${a}`,{...t,[a]:l}},{});function Ow(t,a){t&&v0.flushSync(()=>t.dispatchEvent(a))}function Rt(t){const a=v.useRef(t);return v.useEffect(()=>{a.current=t}),v.useMemo(()=>(...s)=>{var l;return(l=a.current)==null?void 0:l.call(a,...s)},[])}function fw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t);v.useEffect(()=>{const l=o=>{o.key==="Escape"&&s(o)};return a.addEventListener("keydown",l,{capture:!0}),()=>a.removeEventListener("keydown",l,{capture:!0})},[s,a])}var hw="DismissableLayer",tf="dismissableLayer.update",mw="dismissableLayer.pointerDownOutside",pw="dismissableLayer.focusOutside",$g,N0=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Tf=v.forwardRef((t,a)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:d,onDismiss:f,...m}=t,p=v.useContext(N0),[x,g]=v.useState(null),b=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=v.useState({}),Q=rt(a,R=>g(R)),k=Array.from(p.layers),[j]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),T=k.indexOf(j),P=x?k.indexOf(x):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,A=P>=T,G=bw(R=>{const $=R.target,W=[...p.branches].some(U=>U.contains($));!A||W||(o==null||o(R),d==null||d(R),R.defaultPrevented||f==null||f())},b),C=vw(R=>{const $=R.target;[...p.branches].some(U=>U.contains($))||(u==null||u(R),d==null||d(R),R.defaultPrevented||f==null||f())},b);return fw(R=>{P===p.layers.size-1&&(l==null||l(R),!R.defaultPrevented&&f&&(R.preventDefault(),f()))},b),v.useEffect(()=>{if(x)return s&&(p.layersWithOutsidePointerEventsDisabled.size===0&&($g=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),Tg(),()=>{s&&p.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=$g)}},[x,b,s,p]),v.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),Tg())},[x,p]),v.useEffect(()=>{const R=()=>S({});return document.addEventListener(tf,R),()=>document.removeEventListener(tf,R)},[]),i.jsx(Be.div,{...m,ref:Q,style:{pointerEvents:N?A?"auto":"none":void 0,...t.style},onFocusCapture:Ae(t.onFocusCapture,C.onFocusCapture),onBlurCapture:Ae(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Ae(t.onPointerDownCapture,G.onPointerDownCapture)})});Tf.displayName=hw;var xw="DismissableLayerBranch",gw=v.forwardRef((t,a)=>{const s=v.useContext(N0),l=v.useRef(null),o=rt(a,l);return v.useEffect(()=>{const u=l.current;if(u)return s.branches.add(u),()=>{s.branches.delete(u)}},[s.branches]),i.jsx(Be.div,{...t,ref:o})});gw.displayName=xw;function bw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1),o=v.useRef(()=>{});return v.useEffect(()=>{const u=f=>{if(f.target&&!l.current){let m=function(){z0(mw,s,p,{discrete:!0})};const p={originalEvent:f};f.pointerType==="touch"?(a.removeEventListener("click",o.current),o.current=m,a.addEventListener("click",o.current,{once:!0})):m()}else a.removeEventListener("click",o.current);l.current=!1},d=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),a.removeEventListener("pointerdown",u),a.removeEventListener("click",o.current)}},[a,s]),{onPointerDownCapture:()=>l.current=!0}}function vw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1);return v.useEffect(()=>{const o=u=>{u.target&&!l.current&&z0(pw,s,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",o),()=>a.removeEventListener("focusin",o)},[a,s]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function Tg(){const t=new CustomEvent(tf);document.dispatchEvent(t)}function z0(t,a,s,{discrete:l}){const o=s.originalEvent.target,u=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:s});a&&o.addEventListener(t,a,{once:!0}),l?Ow(o,u):o.dispatchEvent(u)}var la=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},yw=x0[" useId ".trim().toString()]||(()=>{}),Sw=0;function Sl(t){const[a,s]=v.useState(yw());return la(()=>{s(l=>l??String(Sw++))},[t]),t||(a?`radix-${a}`:"")}const Qw=["top","right","bottom","left"],Wa=Math.min,Bt=Math.max,nc=Math.round,Ro=Math.floor,Tn=t=>({x:t,y:t}),jw={left:"right",right:"left",bottom:"top",top:"bottom"};function nf(t,a,s){return Bt(t,Wa(a,s))}function ra(t,a){return typeof t=="function"?t(a):t}function ia(t){return t.split("-")[0]}function Zl(t){return t.split("-")[1]}function Pf(t){return t==="x"?"y":"x"}function Nf(t){return t==="y"?"height":"width"}function $n(t){const a=t[0];return a==="t"||a==="b"?"y":"x"}function zf(t){return Pf($n(t))}function ww(t,a,s){s===void 0&&(s=!1);const l=Zl(t),o=zf(t),u=Nf(o);let d=o==="x"?l===(s?"end":"start")?"right":"left":l==="start"?"bottom":"top";return a.reference[u]>a.floating[u]&&(d=ac(d)),[d,ac(d)]}function kw(t){const a=ac(t);return[af(t),a,af(a)]}function af(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Pg=["left","right"],Ng=["right","left"],$w=["top","bottom"],Tw=["bottom","top"];function Pw(t,a,s){switch(t){case"top":case"bottom":return s?a?Ng:Pg:a?Pg:Ng;case"left":case"right":return a?$w:Tw;default:return[]}}function Nw(t,a,s,l){const o=Zl(t);let u=Pw(ia(t),s==="start",l);return o&&(u=u.map(d=>d+"-"+o),a&&(u=u.concat(u.map(af)))),u}function ac(t){const a=ia(t);return jw[a]+t.slice(a.length)}function zw(t){return{top:0,right:0,bottom:0,left:0,...t}}function R0(t){return typeof t!="number"?zw(t):{top:t,right:t,bottom:t,left:t}}function sc(t){const{x:a,y:s,width:l,height:o}=t;return{width:l,height:o,top:s,left:a,right:a+l,bottom:s+o,x:a,y:s}}function zg(t,a,s){let{reference:l,floating:o}=t;const u=$n(a),d=zf(a),f=Nf(d),m=ia(a),p=u==="y",x=l.x+l.width/2-o.width/2,g=l.y+l.height/2-o.height/2,b=l[f]/2-o[f]/2;let S;switch(m){case"top":S={x,y:l.y-o.height};break;case"bottom":S={x,y:l.y+l.height};break;case"right":S={x:l.x+l.width,y:g};break;case"left":S={x:l.x-o.width,y:g};break;default:S={x:l.x,y:l.y}}switch(Zl(a)){case"start":S[d]-=b*(s&&p?-1:1);break;case"end":S[d]+=b*(s&&p?-1:1);break}return S}async function Rw(t,a){var s;a===void 0&&(a={});const{x:l,y:o,platform:u,rects:d,elements:f,strategy:m}=t,{boundary:p="clippingAncestors",rootBoundary:x="viewport",elementContext:g="floating",altBoundary:b=!1,padding:S=0}=ra(a,t),Q=R0(S),j=f[b?g==="floating"?"reference":"floating":g],T=sc(await u.getClippingRect({element:(s=await(u.isElement==null?void 0:u.isElement(j)))==null||s?j:j.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(f.floating)),boundary:p,rootBoundary:x,strategy:m})),P=g==="floating"?{x:l,y:o,width:d.floating.width,height:d.floating.height}:d.reference,N=await(u.getOffsetParent==null?void 0:u.getOffsetParent(f.floating)),A=await(u.isElement==null?void 0:u.isElement(N))?await(u.getScale==null?void 0:u.getScale(N))||{x:1,y:1}:{x:1,y:1},G=sc(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:P,offsetParent:N,strategy:m}):P);return{top:(T.top-G.top+Q.top)/A.y,bottom:(G.bottom-T.bottom+Q.bottom)/A.y,left:(T.left-G.left+Q.left)/A.x,right:(G.right-T.right+Q.right)/A.x}}const Cw=50,Xw=async(t,a,s)=>{const{placement:l="bottom",strategy:o="absolute",middleware:u=[],platform:d}=s,f=d.detectOverflow?d:{...d,detectOverflow:Rw},m=await(d.isRTL==null?void 0:d.isRTL(a));let p=await d.getElementRects({reference:t,floating:a,strategy:o}),{x,y:g}=zg(p,l,m),b=l,S=0;const Q={};for(let k=0;k<u.length;k++){const j=u[k];if(!j)continue;const{name:T,fn:P}=j,{x:N,y:A,data:G,reset:C}=await P({x,y:g,initialPlacement:l,placement:b,strategy:o,middlewareData:Q,rects:p,platform:f,elements:{reference:t,floating:a}});x=N??x,g=A??g,Q[T]={...Q[T],...G},C&&S<Cw&&(S++,typeof C=="object"&&(C.placement&&(b=C.placement),C.rects&&(p=C.rects===!0?await d.getElementRects({reference:t,floating:a,strategy:o}):C.rects),{x,y:g}=zg(p,b,m)),k=-1)}return{x,y:g,placement:b,strategy:o,middlewareData:Q}},_w=t=>({name:"arrow",options:t,async fn(a){const{x:s,y:l,placement:o,rects:u,platform:d,elements:f,middlewareData:m}=a,{element:p,padding:x=0}=ra(t,a)||{};if(p==null)return{};const g=R0(x),b={x:s,y:l},S=zf(o),Q=Nf(S),k=await d.getDimensions(p),j=S==="y",T=j?"top":"left",P=j?"bottom":"right",N=j?"clientHeight":"clientWidth",A=u.reference[Q]+u.reference[S]-b[S]-u.floating[Q],G=b[S]-u.reference[S],C=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let R=C?C[N]:0;(!R||!await(d.isElement==null?void 0:d.isElement(C)))&&(R=f.floating[N]||u.floating[Q]);const $=A/2-G/2,W=R/2-k[Q]/2-1,U=Wa(g[T],W),le=Wa(g[P],W),re=U,pe=R-k[Q]-le,me=R/2-k[Q]/2+$,V=nf(re,me,pe),X=!m.arrow&&Zl(o)!=null&&me!==V&&u.reference[Q]/2-(me<re?U:le)-k[Q]/2<0,I=X?me<re?me-re:me-pe:0;return{[S]:b[S]+I,data:{[S]:V,centerOffset:me-V-I,...X&&{alignmentOffset:I}},reset:X}}}),Zw=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(a){var s,l;const{placement:o,middlewareData:u,rects:d,initialPlacement:f,platform:m,elements:p}=a,{mainAxis:x=!0,crossAxis:g=!0,fallbackPlacements:b,fallbackStrategy:S="bestFit",fallbackAxisSideDirection:Q="none",flipAlignment:k=!0,...j}=ra(t,a);if((s=u.arrow)!=null&&s.alignmentOffset)return{};const T=ia(o),P=$n(f),N=ia(f)===f,A=await(m.isRTL==null?void 0:m.isRTL(p.floating)),G=b||(N||!k?[ac(f)]:kw(f)),C=Q!=="none";!b&&C&&G.push(...Nw(f,k,Q,A));const R=[f,...G],$=await m.detectOverflow(a,j),W=[];let U=((l=u.flip)==null?void 0:l.overflows)||[];if(x&&W.push($[T]),g){const me=ww(o,d,A);W.push($[me[0]],$[me[1]])}if(U=[...U,{placement:o,overflows:W}],!W.every(me=>me<=0)){var le,re;const me=(((le=u.flip)==null?void 0:le.index)||0)+1,V=R[me];if(V&&(!(g==="alignment"?P!==$n(V):!1)||U.every(J=>$n(J.placement)===P?J.overflows[0]>0:!0)))return{data:{index:me,overflows:U},reset:{placement:V}};let X=(re=U.filter(I=>I.overflows[0]<=0).sort((I,J)=>I.overflows[1]-J.overflows[1])[0])==null?void 0:re.placement;if(!X)switch(S){case"bestFit":{var pe;const I=(pe=U.filter(J=>{if(C){const ce=$n(J.placement);return ce===P||ce==="y"}return!0}).map(J=>[J.placement,J.overflows.filter(ce=>ce>0).reduce((ce,te)=>ce+te,0)]).sort((J,ce)=>J[1]-ce[1])[0])==null?void 0:pe[0];I&&(X=I);break}case"initialPlacement":X=f;break}if(o!==X)return{reset:{placement:X}}}return{}}}};function Rg(t,a){return{top:t.top-a.height,right:t.right-a.width,bottom:t.bottom-a.height,left:t.left-a.width}}function Cg(t){return Qw.some(a=>t[a]>=0)}const Aw=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(a){const{rects:s,platform:l}=a,{strategy:o="referenceHidden",...u}=ra(t,a);switch(o){case"referenceHidden":{const d=await l.detectOverflow(a,{...u,elementContext:"reference"}),f=Rg(d,s.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:Cg(f)}}}case"escaped":{const d=await l.detectOverflow(a,{...u,altBoundary:!0}),f=Rg(d,s.floating);return{data:{escapedOffsets:f,escaped:Cg(f)}}}default:return{}}}}},C0=new Set(["left","top"]);async function Ew(t,a){const{placement:s,platform:l,elements:o}=t,u=await(l.isRTL==null?void 0:l.isRTL(o.floating)),d=ia(s),f=Zl(s),m=$n(s)==="y",p=C0.has(d)?-1:1,x=u&&m?-1:1,g=ra(a,t);let{mainAxis:b,crossAxis:S,alignmentAxis:Q}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return f&&typeof Q=="number"&&(S=f==="end"?Q*-1:Q),m?{x:S*x,y:b*p}:{x:b*p,y:S*x}}const qw=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(a){var s,l;const{x:o,y:u,placement:d,middlewareData:f}=a,m=await Ew(a,t);return d===((s=f.offset)==null?void 0:s.placement)&&(l=f.arrow)!=null&&l.alignmentOffset?{}:{x:o+m.x,y:u+m.y,data:{...m,placement:d}}}}},Mw=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(a){const{x:s,y:l,placement:o,platform:u}=a,{mainAxis:d=!0,crossAxis:f=!1,limiter:m={fn:T=>{let{x:P,y:N}=T;return{x:P,y:N}}},...p}=ra(t,a),x={x:s,y:l},g=await u.detectOverflow(a,p),b=$n(ia(o)),S=Pf(b);let Q=x[S],k=x[b];if(d){const T=S==="y"?"top":"left",P=S==="y"?"bottom":"right",N=Q+g[T],A=Q-g[P];Q=nf(N,Q,A)}if(f){const T=b==="y"?"top":"left",P=b==="y"?"bottom":"right",N=k+g[T],A=k-g[P];k=nf(N,k,A)}const j=m.fn({...a,[S]:Q,[b]:k});return{...j,data:{x:j.x-s,y:j.y-l,enabled:{[S]:d,[b]:f}}}}}},Yw=function(t){return t===void 0&&(t={}),{options:t,fn(a){const{x:s,y:l,placement:o,rects:u,middlewareData:d}=a,{offset:f=0,mainAxis:m=!0,crossAxis:p=!0}=ra(t,a),x={x:s,y:l},g=$n(o),b=Pf(g);let S=x[b],Q=x[g];const k=ra(f,a),j=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(m){const N=b==="y"?"height":"width",A=u.reference[b]-u.floating[N]+j.mainAxis,G=u.reference[b]+u.reference[N]-j.mainAxis;S<A?S=A:S>G&&(S=G)}if(p){var T,P;const N=b==="y"?"width":"height",A=C0.has(ia(o)),G=u.reference[g]-u.floating[N]+(A&&((T=d.offset)==null?void 0:T[g])||0)+(A?0:j.crossAxis),C=u.reference[g]+u.reference[N]+(A?0:((P=d.offset)==null?void 0:P[g])||0)-(A?j.crossAxis:0);Q<G?Q=G:Q>C&&(Q=C)}return{[b]:S,[g]:Q}}}},Vw=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(a){var s,l;const{placement:o,rects:u,platform:d,elements:f}=a,{apply:m=()=>{},...p}=ra(t,a),x=await d.detectOverflow(a,p),g=ia(o),b=Zl(o),S=$n(o)==="y",{width:Q,height:k}=u.floating;let j,T;g==="top"||g==="bottom"?(j=g,T=b===(await(d.isRTL==null?void 0:d.isRTL(f.floating))?"start":"end")?"left":"right"):(T=g,j=b==="end"?"top":"bottom");const P=k-x.top-x.bottom,N=Q-x.left-x.right,A=Wa(k-x[j],P),G=Wa(Q-x[T],N),C=!a.middlewareData.shift;let R=A,$=G;if((s=a.middlewareData.shift)!=null&&s.enabled.x&&($=N),(l=a.middlewareData.shift)!=null&&l.enabled.y&&(R=P),C&&!b){const U=Bt(x.left,0),le=Bt(x.right,0),re=Bt(x.top,0),pe=Bt(x.bottom,0);S?$=Q-2*(U!==0||le!==0?U+le:Bt(x.left,x.right)):R=k-2*(re!==0||pe!==0?re+pe:Bt(x.top,x.bottom))}await m({...a,availableWidth:$,availableHeight:R});const W=await d.getDimensions(f.floating);return Q!==W.width||k!==W.height?{reset:{rects:!0}}:{}}}};function kc(){return typeof window<"u"}function Al(t){return X0(t)?(t.nodeName||"").toLowerCase():"#document"}function Ht(t){var a;return(t==null||(a=t.ownerDocument)==null?void 0:a.defaultView)||window}function Nn(t){var a;return(a=(X0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:a.documentElement}function X0(t){return kc()?t instanceof Node||t instanceof Ht(t).Node:!1}function xn(t){return kc()?t instanceof Element||t instanceof Ht(t).Element:!1}function oa(t){return kc()?t instanceof HTMLElement||t instanceof Ht(t).HTMLElement:!1}function Xg(t){return!kc()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ht(t).ShadowRoot}function li(t){const{overflow:a,overflowX:s,overflowY:l,display:o}=gn(t);return/auto|scroll|overlay|hidden|clip/.test(a+l+s)&&o!=="inline"&&o!=="contents"}function Uw(t){return/^(table|td|th)$/.test(Al(t))}function $c(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const Gw=/transform|translate|scale|rotate|perspective|filter/,Lw=/paint|layout|strict|content/,xs=t=>!!t&&t!=="none";let dO;function Rf(t){const a=xn(t)?gn(t):t;return xs(a.transform)||xs(a.translate)||xs(a.scale)||xs(a.rotate)||xs(a.perspective)||!Cf()&&(xs(a.backdropFilter)||xs(a.filter))||Gw.test(a.willChange||"")||Lw.test(a.contain||"")}function Dw(t){let a=Ba(t);for(;oa(a)&&!$l(a);){if(Rf(a))return a;if($c(a))return null;a=Ba(a)}return null}function Cf(){return dO==null&&(dO=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),dO}function $l(t){return/^(html|body|#document)$/.test(Al(t))}function gn(t){return Ht(t).getComputedStyle(t)}function Tc(t){return xn(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Ba(t){if(Al(t)==="html")return t;const a=t.assignedSlot||t.parentNode||Xg(t)&&t.host||Nn(t);return Xg(a)?a.host:a}function _0(t){const a=Ba(t);return $l(a)?t.ownerDocument?t.ownerDocument.body:t.body:oa(a)&&li(a)?a:_0(a)}function Dr(t,a,s){var l;a===void 0&&(a=[]),s===void 0&&(s=!0);const o=_0(t),u=o===((l=t.ownerDocument)==null?void 0:l.body),d=Ht(o);if(u){const f=sf(d);return a.concat(d,d.visualViewport||[],li(o)?o:[],f&&s?Dr(f):[])}else return a.concat(o,Dr(o,[],s))}function sf(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Z0(t){const a=gn(t);let s=parseFloat(a.width)||0,l=parseFloat(a.height)||0;const o=oa(t),u=o?t.offsetWidth:s,d=o?t.offsetHeight:l,f=nc(s)!==u||nc(l)!==d;return f&&(s=u,l=d),{width:s,height:l,$:f}}function Xf(t){return xn(t)?t:t.contextElement}function Ql(t){const a=Xf(t);if(!oa(a))return Tn(1);const s=a.getBoundingClientRect(),{width:l,height:o,$:u}=Z0(a);let d=(u?nc(s.width):s.width)/l,f=(u?nc(s.height):s.height)/o;return(!d||!Number.isFinite(d))&&(d=1),(!f||!Number.isFinite(f))&&(f=1),{x:d,y:f}}const Ww=Tn(0);function A0(t){const a=Ht(t);return!Cf()||!a.visualViewport?Ww:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Bw(t,a,s){return a===void 0&&(a=!1),!s||a&&s!==Ht(t)?!1:a}function Ss(t,a,s,l){a===void 0&&(a=!1),s===void 0&&(s=!1);const o=t.getBoundingClientRect(),u=Xf(t);let d=Tn(1);a&&(l?xn(l)&&(d=Ql(l)):d=Ql(t));const f=Bw(u,s,l)?A0(u):Tn(0);let m=(o.left+f.x)/d.x,p=(o.top+f.y)/d.y,x=o.width/d.x,g=o.height/d.y;if(u){const b=Ht(u),S=l&&xn(l)?Ht(l):l;let Q=b,k=sf(Q);for(;k&&l&&S!==Q;){const j=Ql(k),T=k.getBoundingClientRect(),P=gn(k),N=T.left+(k.clientLeft+parseFloat(P.paddingLeft))*j.x,A=T.top+(k.clientTop+parseFloat(P.paddingTop))*j.y;m*=j.x,p*=j.y,x*=j.x,g*=j.y,m+=N,p+=A,Q=Ht(k),k=sf(Q)}}return sc({width:x,height:g,x:m,y:p})}function Pc(t,a){const s=Tc(t).scrollLeft;return a?a.left+s:Ss(Nn(t)).left+s}function E0(t,a){const s=t.getBoundingClientRect(),l=s.left+a.scrollLeft-Pc(t,s),o=s.top+a.scrollTop;return{x:l,y:o}}function Hw(t){let{elements:a,rect:s,offsetParent:l,strategy:o}=t;const u=o==="fixed",d=Nn(l),f=a?$c(a.floating):!1;if(l===d||f&&u)return s;let m={scrollLeft:0,scrollTop:0},p=Tn(1);const x=Tn(0),g=oa(l);if((g||!g&&!u)&&((Al(l)!=="body"||li(d))&&(m=Tc(l)),g)){const S=Ss(l);p=Ql(l),x.x=S.x+l.clientLeft,x.y=S.y+l.clientTop}const b=d&&!g&&!u?E0(d,m):Tn(0);return{width:s.width*p.x,height:s.height*p.y,x:s.x*p.x-m.scrollLeft*p.x+x.x+b.x,y:s.y*p.y-m.scrollTop*p.y+x.y+b.y}}function Iw(t){return Array.from(t.getClientRects())}function Fw(t){const a=Nn(t),s=Tc(t),l=t.ownerDocument.body,o=Bt(a.scrollWidth,a.clientWidth,l.scrollWidth,l.clientWidth),u=Bt(a.scrollHeight,a.clientHeight,l.scrollHeight,l.clientHeight);let d=-s.scrollLeft+Pc(t);const f=-s.scrollTop;return gn(l).direction==="rtl"&&(d+=Bt(a.clientWidth,l.clientWidth)-o),{width:o,height:u,x:d,y:f}}const _g=25;function Kw(t,a){const s=Ht(t),l=Nn(t),o=s.visualViewport;let u=l.clientWidth,d=l.clientHeight,f=0,m=0;if(o){u=o.width,d=o.height;const x=Cf();(!x||x&&a==="fixed")&&(f=o.offsetLeft,m=o.offsetTop)}const p=Pc(l);if(p<=0){const x=l.ownerDocument,g=x.body,b=getComputedStyle(g),S=x.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,Q=Math.abs(l.clientWidth-g.clientWidth-S);Q<=_g&&(u-=Q)}else p<=_g&&(u+=p);return{width:u,height:d,x:f,y:m}}function Jw(t,a){const s=Ss(t,!0,a==="fixed"),l=s.top+t.clientTop,o=s.left+t.clientLeft,u=oa(t)?Ql(t):Tn(1),d=t.clientWidth*u.x,f=t.clientHeight*u.y,m=o*u.x,p=l*u.y;return{width:d,height:f,x:m,y:p}}function Zg(t,a,s){let l;if(a==="viewport")l=Kw(t,s);else if(a==="document")l=Fw(Nn(t));else if(xn(a))l=Jw(a,s);else{const o=A0(t);l={x:a.x-o.x,y:a.y-o.y,width:a.width,height:a.height}}return sc(l)}function q0(t,a){const s=Ba(t);return s===a||!xn(s)||$l(s)?!1:gn(s).position==="fixed"||q0(s,a)}function ek(t,a){const s=a.get(t);if(s)return s;let l=Dr(t,[],!1).filter(f=>xn(f)&&Al(f)!=="body"),o=null;const u=gn(t).position==="fixed";let d=u?Ba(t):t;for(;xn(d)&&!$l(d);){const f=gn(d),m=Rf(d);!m&&f.position==="fixed"&&(o=null),(u?!m&&!o:!m&&f.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||li(d)&&!m&&q0(t,d))?l=l.filter(x=>x!==d):o=f,d=Ba(d)}return a.set(t,l),l}function tk(t){let{element:a,boundary:s,rootBoundary:l,strategy:o}=t;const d=[...s==="clippingAncestors"?$c(a)?[]:ek(a,this._c):[].concat(s),l],f=Zg(a,d[0],o);let m=f.top,p=f.right,x=f.bottom,g=f.left;for(let b=1;b<d.length;b++){const S=Zg(a,d[b],o);m=Bt(S.top,m),p=Wa(S.right,p),x=Wa(S.bottom,x),g=Bt(S.left,g)}return{width:p-g,height:x-m,x:g,y:m}}function nk(t){const{width:a,height:s}=Z0(t);return{width:a,height:s}}function ak(t,a,s){const l=oa(a),o=Nn(a),u=s==="fixed",d=Ss(t,!0,u,a);let f={scrollLeft:0,scrollTop:0};const m=Tn(0);function p(){m.x=Pc(o)}if(l||!l&&!u)if((Al(a)!=="body"||li(o))&&(f=Tc(a)),l){const S=Ss(a,!0,u,a);m.x=S.x+a.clientLeft,m.y=S.y+a.clientTop}else o&&p();u&&!l&&o&&p();const x=o&&!l&&!u?E0(o,f):Tn(0),g=d.left+f.scrollLeft-m.x-x.x,b=d.top+f.scrollTop-m.y-x.y;return{x:g,y:b,width:d.width,height:d.height}}function OO(t){return gn(t).position==="static"}function Ag(t,a){if(!oa(t)||gn(t).position==="fixed")return null;if(a)return a(t);let s=t.offsetParent;return Nn(t)===s&&(s=s.ownerDocument.body),s}function M0(t,a){const s=Ht(t);if($c(t))return s;if(!oa(t)){let o=Ba(t);for(;o&&!$l(o);){if(xn(o)&&!OO(o))return o;o=Ba(o)}return s}let l=Ag(t,a);for(;l&&Uw(l)&&OO(l);)l=Ag(l,a);return l&&$l(l)&&OO(l)&&!Rf(l)?s:l||Dw(t)||s}const sk=async function(t){const a=this.getOffsetParent||M0,s=this.getDimensions,l=await s(t.floating);return{reference:ak(t.reference,await a(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function lk(t){return gn(t).direction==="rtl"}const rk={convertOffsetParentRelativeRectToViewportRelativeRect:Hw,getDocumentElement:Nn,getClippingRect:tk,getOffsetParent:M0,getElementRects:sk,getClientRects:Iw,getDimensions:nk,getScale:Ql,isElement:xn,isRTL:lk};function Y0(t,a){return t.x===a.x&&t.y===a.y&&t.width===a.width&&t.height===a.height}function ik(t,a){let s=null,l;const o=Nn(t);function u(){var f;clearTimeout(l),(f=s)==null||f.disconnect(),s=null}function d(f,m){f===void 0&&(f=!1),m===void 0&&(m=1),u();const p=t.getBoundingClientRect(),{left:x,top:g,width:b,height:S}=p;if(f||a(),!b||!S)return;const Q=Ro(g),k=Ro(o.clientWidth-(x+b)),j=Ro(o.clientHeight-(g+S)),T=Ro(x),N={rootMargin:-Q+"px "+-k+"px "+-j+"px "+-T+"px",threshold:Bt(0,Wa(1,m))||1};let A=!0;function G(C){const R=C[0].intersectionRatio;if(R!==m){if(!A)return d();R?d(!1,R):l=setTimeout(()=>{d(!1,1e-7)},1e3)}R===1&&!Y0(p,t.getBoundingClientRect())&&d(),A=!1}try{s=new IntersectionObserver(G,{...N,root:o.ownerDocument})}catch{s=new IntersectionObserver(G,N)}s.observe(t)}return d(!0),u}function ok(t,a,s,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:u=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:m=!1}=l,p=Xf(t),x=o||u?[...p?Dr(p):[],...a?Dr(a):[]]:[];x.forEach(T=>{o&&T.addEventListener("scroll",s,{passive:!0}),u&&T.addEventListener("resize",s)});const g=p&&f?ik(p,s):null;let b=-1,S=null;d&&(S=new ResizeObserver(T=>{let[P]=T;P&&P.target===p&&S&&a&&(S.unobserve(a),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var N;(N=S)==null||N.observe(a)})),s()}),p&&!m&&S.observe(p),a&&S.observe(a));let Q,k=m?Ss(t):null;m&&j();function j(){const T=Ss(t);k&&!Y0(k,T)&&s(),k=T,Q=requestAnimationFrame(j)}return s(),()=>{var T;x.forEach(P=>{o&&P.removeEventListener("scroll",s),u&&P.removeEventListener("resize",s)}),g==null||g(),(T=S)==null||T.disconnect(),S=null,m&&cancelAnimationFrame(Q)}}const ck=qw,uk=Mw,dk=Zw,Ok=Vw,fk=Aw,Eg=_w,hk=Yw,mk=(t,a,s)=>{const l=new Map,o={platform:rk,...s},u={...o.platform,_c:l};return Xw(t,a,{...o,platform:u})};var pk=typeof document<"u",xk=function(){},Wo=pk?v.useLayoutEffect:xk;function lc(t,a){if(t===a)return!0;if(typeof t!=typeof a)return!1;if(typeof t=="function"&&t.toString()===a.toString())return!0;let s,l,o;if(t&&a&&typeof t=="object"){if(Array.isArray(t)){if(s=t.length,s!==a.length)return!1;for(l=s;l--!==0;)if(!lc(t[l],a[l]))return!1;return!0}if(o=Object.keys(t),s=o.length,s!==Object.keys(a).length)return!1;for(l=s;l--!==0;)if(!{}.hasOwnProperty.call(a,o[l]))return!1;for(l=s;l--!==0;){const u=o[l];if(!(u==="_owner"&&t.$$typeof)&&!lc(t[u],a[u]))return!1}return!0}return t!==t&&a!==a}function V0(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function qg(t,a){const s=V0(t);return Math.round(a*s)/s}function fO(t){const a=v.useRef(t);return Wo(()=>{a.current=t}),a}function gk(t){t===void 0&&(t={});const{placement:a="bottom",strategy:s="absolute",middleware:l=[],platform:o,elements:{reference:u,floating:d}={},transform:f=!0,whileElementsMounted:m,open:p}=t,[x,g]=v.useState({x:0,y:0,strategy:s,placement:a,middlewareData:{},isPositioned:!1}),[b,S]=v.useState(l);lc(b,l)||S(l);const[Q,k]=v.useState(null),[j,T]=v.useState(null),P=v.useCallback(J=>{J!==C.current&&(C.current=J,k(J))},[]),N=v.useCallback(J=>{J!==R.current&&(R.current=J,T(J))},[]),A=u||Q,G=d||j,C=v.useRef(null),R=v.useRef(null),$=v.useRef(x),W=m!=null,U=fO(m),le=fO(o),re=fO(p),pe=v.useCallback(()=>{if(!C.current||!R.current)return;const J={placement:a,strategy:s,middleware:b};le.current&&(J.platform=le.current),mk(C.current,R.current,J).then(ce=>{const te={...ce,isPositioned:re.current!==!1};me.current&&!lc($.current,te)&&($.current=te,v0.flushSync(()=>{g(te)}))})},[b,a,s,le,re]);Wo(()=>{p===!1&&$.current.isPositioned&&($.current.isPositioned=!1,g(J=>({...J,isPositioned:!1})))},[p]);const me=v.useRef(!1);Wo(()=>(me.current=!0,()=>{me.current=!1}),[]),Wo(()=>{if(A&&(C.current=A),G&&(R.current=G),A&&G){if(U.current)return U.current(A,G,pe);pe()}},[A,G,pe,U,W]);const V=v.useMemo(()=>({reference:C,floating:R,setReference:P,setFloating:N}),[P,N]),X=v.useMemo(()=>({reference:A,floating:G}),[A,G]),I=v.useMemo(()=>{const J={position:s,left:0,top:0};if(!X.floating)return J;const ce=qg(X.floating,x.x),te=qg(X.floating,x.y);return f?{...J,transform:"translate("+ce+"px, "+te+"px)",...V0(X.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:ce,top:te}},[s,f,X.floating,x.x,x.y]);return v.useMemo(()=>({...x,update:pe,refs:V,elements:X,floatingStyles:I}),[x,pe,V,X,I])}const bk=t=>{function a(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:t,fn(s){const{element:l,padding:o}=typeof t=="function"?t(s):t;return l&&a(l)?l.current!=null?Eg({element:l.current,padding:o}).fn(s):{}:l?Eg({element:l,padding:o}).fn(s):{}}}},vk=(t,a)=>{const s=ck(t);return{name:s.name,fn:s.fn,options:[t,a]}},yk=(t,a)=>{const s=uk(t);return{name:s.name,fn:s.fn,options:[t,a]}},Sk=(t,a)=>({fn:hk(t).fn,options:[t,a]}),Qk=(t,a)=>{const s=dk(t);return{name:s.name,fn:s.fn,options:[t,a]}},jk=(t,a)=>{const s=Ok(t);return{name:s.name,fn:s.fn,options:[t,a]}},wk=(t,a)=>{const s=fk(t);return{name:s.name,fn:s.fn,options:[t,a]}},kk=(t,a)=>{const s=bk(t);return{name:s.name,fn:s.fn,options:[t,a]}};var $k="Arrow",U0=v.forwardRef((t,a)=>{const{children:s,width:l=10,height:o=5,...u}=t;return i.jsx(Be.svg,{...u,ref:a,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?s:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});U0.displayName=$k;var Tk=U0;function Pk(t){const[a,s]=v.useState(void 0);return la(()=>{if(t){s({width:t.offsetWidth,height:t.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const u=o[0];let d,f;if("borderBoxSize"in u){const m=u.borderBoxSize,p=Array.isArray(m)?m[0]:m;d=p.inlineSize,f=p.blockSize}else d=t.offsetWidth,f=t.offsetHeight;s({width:d,height:f})});return l.observe(t,{box:"border-box"}),()=>l.unobserve(t)}else s(void 0)},[t]),a}var _f="Popper",[G0,L0]=Ts(_f),[Nk,D0]=G0(_f),W0=t=>{const{__scopePopper:a,children:s}=t,[l,o]=v.useState(null);return i.jsx(Nk,{scope:a,anchor:l,onAnchorChange:o,children:s})};W0.displayName=_f;var B0="PopperAnchor",H0=v.forwardRef((t,a)=>{const{__scopePopper:s,virtualRef:l,...o}=t,u=D0(B0,s),d=v.useRef(null),f=rt(a,d),m=v.useRef(null);return v.useEffect(()=>{const p=m.current;m.current=(l==null?void 0:l.current)||d.current,p!==m.current&&u.onAnchorChange(m.current)}),l?null:i.jsx(Be.div,{...o,ref:f})});H0.displayName=B0;var Zf="PopperContent",[zk,Rk]=G0(Zf),I0=v.forwardRef((t,a)=>{var Re,Ot,_e,tt,bt,vt;const{__scopePopper:s,side:l="bottom",sideOffset:o=0,align:u="center",alignOffset:d=0,arrowPadding:f=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:x=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:S="optimized",onPlaced:Q,...k}=t,j=D0(Zf,s),[T,P]=v.useState(null),N=rt(a,Ft=>P(Ft)),[A,G]=v.useState(null),C=Pk(A),R=(C==null?void 0:C.width)??0,$=(C==null?void 0:C.height)??0,W=l+(u!=="center"?"-"+u:""),U=typeof x=="number"?x:{top:0,right:0,bottom:0,left:0,...x},le=Array.isArray(p)?p:[p],re=le.length>0,pe={padding:U,boundary:le.filter(Xk),altBoundary:re},{refs:me,floatingStyles:V,placement:X,isPositioned:I,middlewareData:J}=gk({strategy:"fixed",placement:W,whileElementsMounted:(...Ft)=>ok(...Ft,{animationFrame:S==="always"}),elements:{reference:j.anchor},middleware:[vk({mainAxis:o+$,alignmentAxis:d}),m&&yk({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?Sk():void 0,...pe}),m&&Qk({...pe}),jk({...pe,apply:({elements:Ft,rects:yt,availableWidth:Ml,availableHeight:Yl})=>{const{width:Wc,height:fi}=yt.reference,da=Ft.floating.style;da.setProperty("--radix-popper-available-width",`${Ml}px`),da.setProperty("--radix-popper-available-height",`${Yl}px`),da.setProperty("--radix-popper-anchor-width",`${Wc}px`),da.setProperty("--radix-popper-anchor-height",`${fi}px`)}}),A&&kk({element:A,padding:f}),_k({arrowWidth:R,arrowHeight:$}),b&&wk({strategy:"referenceHidden",...pe})]}),[ce,te]=J0(X),Ne=Rt(Q);la(()=>{I&&(Ne==null||Ne())},[I,Ne]);const ke=(Re=J.arrow)==null?void 0:Re.x,be=(Ot=J.arrow)==null?void 0:Ot.y,Ee=((_e=J.arrow)==null?void 0:_e.centerOffset)!==0,[L,de]=v.useState();return la(()=>{T&&de(window.getComputedStyle(T).zIndex)},[T]),i.jsx("div",{ref:me.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:I?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:L,"--radix-popper-transform-origin":[(tt=J.transformOrigin)==null?void 0:tt.x,(bt=J.transformOrigin)==null?void 0:bt.y].join(" "),...((vt=J.hide)==null?void 0:vt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:i.jsx(zk,{scope:s,placedSide:ce,onArrowChange:G,arrowX:ke,arrowY:be,shouldHideArrow:Ee,children:i.jsx(Be.div,{"data-side":ce,"data-align":te,...k,ref:N,style:{...k.style,animation:I?void 0:"none"}})})})});I0.displayName=Zf;var F0="PopperArrow",Ck={top:"bottom",right:"left",bottom:"top",left:"right"},K0=v.forwardRef(function(a,s){const{__scopePopper:l,...o}=a,u=Rk(F0,l),d=Ck[u.placedSide];return i.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:i.jsx(Tk,{...o,ref:s,style:{...o.style,display:"block"}})})});K0.displayName=F0;function Xk(t){return t!==null}var _k=t=>({name:"transformOrigin",options:t,fn(a){var j,T,P;const{placement:s,rects:l,middlewareData:o}=a,d=((j=o.arrow)==null?void 0:j.centerOffset)!==0,f=d?0:t.arrowWidth,m=d?0:t.arrowHeight,[p,x]=J0(s),g={start:"0%",center:"50%",end:"100%"}[x],b=(((T=o.arrow)==null?void 0:T.x)??0)+f/2,S=(((P=o.arrow)==null?void 0:P.y)??0)+m/2;let Q="",k="";return p==="bottom"?(Q=d?g:`${b}px`,k=`${-m}px`):p==="top"?(Q=d?g:`${b}px`,k=`${l.floating.height+m}px`):p==="right"?(Q=`${-m}px`,k=d?g:`${S}px`):p==="left"&&(Q=`${l.floating.width+m}px`,k=d?g:`${S}px`),{data:{x:Q,y:k}}}});function J0(t){const[a,s="center"]=t.split("-");return[a,s]}var Zk=W0,Ak=H0,Ek=I0,qk=K0,Mk="Portal",Af=v.forwardRef((t,a)=>{var f;const{container:s,...l}=t,[o,u]=v.useState(!1);la(()=>u(!0),[]);const d=s||o&&((f=globalThis==null?void 0:globalThis.document)==null?void 0:f.body);return d?mj.createPortal(i.jsx(Be.div,{...l,ref:a}),d):null});Af.displayName=Mk;function Yk(t,a){return v.useReducer((s,l)=>a[s][l]??s,t)}var vn=t=>{const{present:a,children:s}=t,l=Vk(a),o=typeof s=="function"?s({present:l.isPresent}):v.Children.only(s),u=rt(l.ref,Uk(o));return typeof s=="function"||l.isPresent?v.cloneElement(o,{ref:u}):null};vn.displayName="Presence";function Vk(t){const[a,s]=v.useState(),l=v.useRef(null),o=v.useRef(t),u=v.useRef("none"),d=t?"mounted":"unmounted",[f,m]=Yk(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const p=Co(l.current);u.current=f==="mounted"?p:"none"},[f]),la(()=>{const p=l.current,x=o.current;if(x!==t){const b=u.current,S=Co(p);t?m("MOUNT"):S==="none"||(p==null?void 0:p.display)==="none"?m("UNMOUNT"):m(x&&b!==S?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,m]),la(()=>{if(a){let p;const x=a.ownerDocument.defaultView??window,g=S=>{const k=Co(l.current).includes(CSS.escape(S.animationName));if(S.target===a&&k&&(m("ANIMATION_END"),!o.current)){const j=a.style.animationFillMode;a.style.animationFillMode="forwards",p=x.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=j)})}},b=S=>{S.target===a&&(u.current=Co(l.current))};return a.addEventListener("animationstart",b),a.addEventListener("animationcancel",g),a.addEventListener("animationend",g),()=>{x.clearTimeout(p),a.removeEventListener("animationstart",b),a.removeEventListener("animationcancel",g),a.removeEventListener("animationend",g)}}else m("ANIMATION_END")},[a,m]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:v.useCallback(p=>{l.current=p?getComputedStyle(p):null,s(p)},[])}}function Co(t){return(t==null?void 0:t.animationName)||"none"}function Uk(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var Gk=x0[" useInsertionEffect ".trim().toString()]||la;function Nc({prop:t,defaultProp:a,onChange:s=()=>{},caller:l}){const[o,u,d]=Lk({defaultProp:a,onChange:s}),f=t!==void 0,m=f?t:o;{const x=v.useRef(t!==void 0);v.useEffect(()=>{const g=x.current;g!==f&&console.warn(`${l} is changing from ${g?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=f},[f,l])}const p=v.useCallback(x=>{var g;if(f){const b=Dk(x)?x(t):x;b!==t&&((g=d.current)==null||g.call(d,b))}else u(x)},[f,t,u,d]);return[m,p]}function Lk({defaultProp:t,onChange:a}){const[s,l]=v.useState(t),o=v.useRef(s),u=v.useRef(a);return Gk(()=>{u.current=a},[a]),v.useEffect(()=>{var d;o.current!==s&&((d=u.current)==null||d.call(u,s),o.current=s)},[s,o]),[s,l,u]}function Dk(t){return typeof t=="function"}var Wk=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Bk="VisuallyHidden",eb=v.forwardRef((t,a)=>i.jsx(Be.span,{...t,ref:a,style:{...Wk,...t.style}}));eb.displayName=Bk;var Hk=eb,[zc]=Ts("Tooltip",[L0]),Rc=L0(),tb="TooltipProvider",Ik=700,lf="tooltip.open",[Fk,Ef]=zc(tb),nb=t=>{const{__scopeTooltip:a,delayDuration:s=Ik,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:u}=t,d=v.useRef(!0),f=v.useRef(!1),m=v.useRef(0);return v.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),i.jsx(Fk,{scope:a,isOpenDelayedRef:d,delayDuration:s,onOpen:v.useCallback(()=>{window.clearTimeout(m.current),d.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>d.current=!0,l)},[l]),isPointerInTransitRef:f,onPointerInTransitChange:v.useCallback(p=>{f.current=p},[]),disableHoverableContent:o,children:u})};nb.displayName=tb;var Wr="Tooltip",[Kk,ri]=zc(Wr),ab=t=>{const{__scopeTooltip:a,children:s,open:l,defaultOpen:o,onOpenChange:u,disableHoverableContent:d,delayDuration:f}=t,m=Ef(Wr,t.__scopeTooltip),p=Rc(a),[x,g]=v.useState(null),b=Sl(),S=v.useRef(0),Q=d??m.disableHoverableContent,k=f??m.delayDuration,j=v.useRef(!1),[T,P]=Nc({prop:l,defaultProp:o??!1,onChange:R=>{R?(m.onOpen(),document.dispatchEvent(new CustomEvent(lf))):m.onClose(),u==null||u(R)},caller:Wr}),N=v.useMemo(()=>T?j.current?"delayed-open":"instant-open":"closed",[T]),A=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,j.current=!1,P(!0)},[P]),G=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,P(!1)},[P]),C=v.useCallback(()=>{window.clearTimeout(S.current),S.current=window.setTimeout(()=>{j.current=!0,P(!0),S.current=0},k)},[k,P]);return v.useEffect(()=>()=>{S.current&&(window.clearTimeout(S.current),S.current=0)},[]),i.jsx(Zk,{...p,children:i.jsx(Kk,{scope:a,contentId:b,open:T,stateAttribute:N,trigger:x,onTriggerChange:g,onTriggerEnter:v.useCallback(()=>{m.isOpenDelayedRef.current?C():A()},[m.isOpenDelayedRef,C,A]),onTriggerLeave:v.useCallback(()=>{Q?G():(window.clearTimeout(S.current),S.current=0)},[G,Q]),onOpen:A,onClose:G,disableHoverableContent:Q,children:s})})};ab.displayName=Wr;var rf="TooltipTrigger",sb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=ri(rf,s),u=Ef(rf,s),d=Rc(s),f=v.useRef(null),m=rt(a,f,o.onTriggerChange),p=v.useRef(!1),x=v.useRef(!1),g=v.useCallback(()=>p.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),i.jsx(Ak,{asChild:!0,...d,children:i.jsx(Be.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:m,onPointerMove:Ae(t.onPointerMove,b=>{b.pointerType!=="touch"&&!x.current&&!u.isPointerInTransitRef.current&&(o.onTriggerEnter(),x.current=!0)}),onPointerLeave:Ae(t.onPointerLeave,()=>{o.onTriggerLeave(),x.current=!1}),onPointerDown:Ae(t.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:Ae(t.onFocus,()=>{p.current||o.onOpen()}),onBlur:Ae(t.onBlur,o.onClose),onClick:Ae(t.onClick,o.onClose)})})});sb.displayName=rf;var qf="TooltipPortal",[Jk,e$]=zc(qf,{forceMount:void 0}),lb=t=>{const{__scopeTooltip:a,forceMount:s,children:l,container:o}=t,u=ri(qf,a);return i.jsx(Jk,{scope:a,forceMount:s,children:i.jsx(vn,{present:s||u.open,children:i.jsx(Af,{asChild:!0,container:o,children:l})})})};lb.displayName=qf;var Tl="TooltipContent",rb=v.forwardRef((t,a)=>{const s=e$(Tl,t.__scopeTooltip),{forceMount:l=s.forceMount,side:o="top",...u}=t,d=ri(Tl,t.__scopeTooltip);return i.jsx(vn,{present:l||d.open,children:d.disableHoverableContent?i.jsx(ib,{side:o,...u,ref:a}):i.jsx(t$,{side:o,...u,ref:a})})}),t$=v.forwardRef((t,a)=>{const s=ri(Tl,t.__scopeTooltip),l=Ef(Tl,t.__scopeTooltip),o=v.useRef(null),u=rt(a,o),[d,f]=v.useState(null),{trigger:m,onClose:p}=s,x=o.current,{onPointerInTransitChange:g}=l,b=v.useCallback(()=>{f(null),g(!1)},[g]),S=v.useCallback((Q,k)=>{const j=Q.currentTarget,T={x:Q.clientX,y:Q.clientY},P=l$(T,j.getBoundingClientRect()),N=r$(T,P),A=i$(k.getBoundingClientRect()),G=c$([...N,...A]);f(G),g(!0)},[g]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(m&&x){const Q=j=>S(j,x),k=j=>S(j,m);return m.addEventListener("pointerleave",Q),x.addEventListener("pointerleave",k),()=>{m.removeEventListener("pointerleave",Q),x.removeEventListener("pointerleave",k)}}},[m,x,S,b]),v.useEffect(()=>{if(d){const Q=k=>{const j=k.target,T={x:k.clientX,y:k.clientY},P=(m==null?void 0:m.contains(j))||(x==null?void 0:x.contains(j)),N=!o$(T,d);P?b():N&&(b(),p())};return document.addEventListener("pointermove",Q),()=>document.removeEventListener("pointermove",Q)}},[m,x,d,p,b]),i.jsx(ib,{...t,ref:u})}),[n$,a$]=zc(Wr,{isInside:!1}),s$=iw("TooltipContent"),ib=v.forwardRef((t,a)=>{const{__scopeTooltip:s,children:l,"aria-label":o,onEscapeKeyDown:u,onPointerDownOutside:d,...f}=t,m=ri(Tl,s),p=Rc(s),{onClose:x}=m;return v.useEffect(()=>(document.addEventListener(lf,x),()=>document.removeEventListener(lf,x)),[x]),v.useEffect(()=>{if(m.trigger){const g=b=>{const S=b.target;S!=null&&S.contains(m.trigger)&&x()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[m.trigger,x]),i.jsx(Tf,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:g=>g.preventDefault(),onDismiss:x,children:i.jsxs(Ek,{"data-state":m.stateAttribute,...p,...f,ref:a,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(s$,{children:l}),i.jsx(n$,{scope:s,isInside:!0,children:i.jsx(Hk,{id:m.contentId,role:"tooltip",children:o||l})})]})})});rb.displayName=Tl;var ob="TooltipArrow",cb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=Rc(s);return a$(ob,s).isInside?null:i.jsx(qk,{...o,...l,ref:a})});cb.displayName=ob;function l$(t,a){const s=Math.abs(a.top-t.y),l=Math.abs(a.bottom-t.y),o=Math.abs(a.right-t.x),u=Math.abs(a.left-t.x);switch(Math.min(s,l,o,u)){case u:return"left";case o:return"right";case s:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function r$(t,a,s=5){const l=[];switch(a){case"top":l.push({x:t.x-s,y:t.y+s},{x:t.x+s,y:t.y+s});break;case"bottom":l.push({x:t.x-s,y:t.y-s},{x:t.x+s,y:t.y-s});break;case"left":l.push({x:t.x+s,y:t.y-s},{x:t.x+s,y:t.y+s});break;case"right":l.push({x:t.x-s,y:t.y-s},{x:t.x-s,y:t.y+s});break}return l}function i$(t){const{top:a,right:s,bottom:l,left:o}=t;return[{x:o,y:a},{x:s,y:a},{x:s,y:l},{x:o,y:l}]}function o$(t,a){const{x:s,y:l}=t;let o=!1;for(let u=0,d=a.length-1;u<a.length;d=u++){const f=a[u],m=a[d],p=f.x,x=f.y,g=m.x,b=m.y;x>l!=b>l&&s<(g-p)*(l-x)/(b-x)+p&&(o=!o)}return o}function c$(t){const a=t.slice();return a.sort((s,l)=>s.x<l.x?-1:s.x>l.x?1:s.y<l.y?-1:s.y>l.y?1:0),u$(a)}function u$(t){if(t.length<=1)return t.slice();const a=[];for(let l=0;l<t.length;l++){const o=t[l];for(;a.length>=2;){const u=a[a.length-1],d=a[a.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))a.pop();else break}a.push(o)}a.pop();const s=[];for(let l=t.length-1;l>=0;l--){const o=t[l];for(;s.length>=2;){const u=s[s.length-1],d=s[s.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))s.pop();else break}s.push(o)}return s.pop(),a.length===1&&s.length===1&&a[0].x===s[0].x&&a[0].y===s[0].y?a:a.concat(s)}var d$=nb,O$=ab,f$=sb,h$=lb,m$=rb,p$=cb;function ub(t){var a,s,l="";if(typeof t=="string"||typeof t=="number")l+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(a=0;a<o;a++)t[a]&&(s=ub(t[a]))&&(l&&(l+=" "),l+=s)}else for(s in t)t[s]&&(l&&(l+=" "),l+=s);return l}function x$(){for(var t,a,s=0,l="",o=arguments.length;s<o;s++)(t=arguments[s])&&(a=ub(t))&&(l&&(l+=" "),l+=a);return l}const g$=(t,a)=>{const s=new Array(t.length+a.length);for(let l=0;l<t.length;l++)s[l]=t[l];for(let l=0;l<a.length;l++)s[t.length+l]=a[l];return s},b$=(t,a)=>({classGroupId:t,validator:a}),db=(t=new Map,a=null,s)=>({nextPart:t,validators:a,classGroupId:s}),rc="-",Mg=[],v$="arbitrary..",y$=t=>{const a=Q$(t),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return S$(d);const f=d.split(rc),m=f[0]===""&&f.length>1?1:0;return Ob(f,m,a)},getConflictingClassGroupIds:(d,f)=>{if(f){const m=l[d],p=s[d];return m?p?g$(p,m):m:p||Mg}return s[d]||Mg}}},Ob=(t,a,s)=>{if(t.length-a===0)return s.classGroupId;const o=t[a],u=s.nextPart.get(o);if(u){const p=Ob(t,a+1,u);if(p)return p}const d=s.validators;if(d===null)return;const f=a===0?t.join(rc):t.slice(a).join(rc),m=d.length;for(let p=0;p<m;p++){const x=d[p];if(x.validator(f))return x.classGroupId}},S$=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=t.slice(1,-1),s=a.indexOf(":"),l=a.slice(0,s);return l?v$+l:void 0})(),Q$=t=>{const{theme:a,classGroups:s}=t;return j$(s,a)},j$=(t,a)=>{const s=db();for(const l in t){const o=t[l];Mf(o,s,l,a)}return s},Mf=(t,a,s,l)=>{const o=t.length;for(let u=0;u<o;u++){const d=t[u];w$(d,a,s,l)}},w$=(t,a,s,l)=>{if(typeof t=="string"){k$(t,a,s);return}if(typeof t=="function"){$$(t,a,s,l);return}T$(t,a,s,l)},k$=(t,a,s)=>{const l=t===""?a:fb(a,t);l.classGroupId=s},$$=(t,a,s,l)=>{if(P$(t)){Mf(t(l),a,s,l);return}a.validators===null&&(a.validators=[]),a.validators.push(b$(s,t))},T$=(t,a,s,l)=>{const o=Object.entries(t),u=o.length;for(let d=0;d<u;d++){const[f,m]=o[d];Mf(m,fb(a,f),s,l)}},fb=(t,a)=>{let s=t;const l=a.split(rc),o=l.length;for(let u=0;u<o;u++){const d=l[u];let f=s.nextPart.get(d);f||(f=db(),s.nextPart.set(d,f)),s=f}return s},P$=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,N$=t=>{if(t<1)return{get:()=>{},set:()=>{}};let a=0,s=Object.create(null),l=Object.create(null);const o=(u,d)=>{s[u]=d,a++,a>t&&(a=0,l=s,s=Object.create(null))};return{get(u){let d=s[u];if(d!==void 0)return d;if((d=l[u])!==void 0)return o(u,d),d},set(u,d){u in s?s[u]=d:o(u,d)}}},of="!",Yg=":",z$=[],Vg=(t,a,s,l,o)=>({modifiers:t,hasImportantModifier:a,baseClassName:s,maybePostfixModifierPosition:l,isExternal:o}),R$=t=>{const{prefix:a,experimentalParseClassName:s}=t;let l=o=>{const u=[];let d=0,f=0,m=0,p;const x=o.length;for(let k=0;k<x;k++){const j=o[k];if(d===0&&f===0){if(j===Yg){u.push(o.slice(m,k)),m=k+1;continue}if(j==="/"){p=k;continue}}j==="["?d++:j==="]"?d--:j==="("?f++:j===")"&&f--}const g=u.length===0?o:o.slice(m);let b=g,S=!1;g.endsWith(of)?(b=g.slice(0,-1),S=!0):g.startsWith(of)&&(b=g.slice(1),S=!0);const Q=p&&p>m?p-m:void 0;return Vg(u,S,b,Q)};if(a){const o=a+Yg,u=l;l=d=>d.startsWith(o)?u(d.slice(o.length)):Vg(z$,!1,d,void 0,!0)}if(s){const o=l;l=u=>s({className:u,parseClassName:o})}return l},C$=t=>{const a=new Map;return t.orderSensitiveModifiers.forEach((s,l)=>{a.set(s,1e6+l)}),s=>{const l=[];let o=[];for(let u=0;u<s.length;u++){const d=s[u],f=d[0]==="[",m=a.has(d);f||m?(o.length>0&&(o.sort(),l.push(...o),o=[]),l.push(d)):o.push(d)}return o.length>0&&(o.sort(),l.push(...o)),l}},X$=t=>({cache:N$(t.cacheSize),parseClassName:R$(t),sortModifiers:C$(t),...y$(t)}),_$=/\s+/,Z$=(t,a)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:o,sortModifiers:u}=a,d=[],f=t.trim().split(_$);let m="";for(let p=f.length-1;p>=0;p-=1){const x=f[p],{isExternal:g,modifiers:b,hasImportantModifier:S,baseClassName:Q,maybePostfixModifierPosition:k}=s(x);if(g){m=x+(m.length>0?" "+m:m);continue}let j=!!k,T=l(j?Q.substring(0,k):Q);if(!T){if(!j){m=x+(m.length>0?" "+m:m);continue}if(T=l(Q),!T){m=x+(m.length>0?" "+m:m);continue}j=!1}const P=b.length===0?"":b.length===1?b[0]:u(b).join(":"),N=S?P+of:P,A=N+T;if(d.indexOf(A)>-1)continue;d.push(A);const G=o(T,j);for(let C=0;C<G.length;++C){const R=G[C];d.push(N+R)}m=x+(m.length>0?" "+m:m)}return m},A$=(...t)=>{let a=0,s,l,o="";for(;a<t.length;)(s=t[a++])&&(l=hb(s))&&(o&&(o+=" "),o+=l);return o},hb=t=>{if(typeof t=="string")return t;let a,s="";for(let l=0;l<t.length;l++)t[l]&&(a=hb(t[l]))&&(s&&(s+=" "),s+=a);return s},E$=(t,...a)=>{let s,l,o,u;const d=m=>{const p=a.reduce((x,g)=>g(x),t());return s=X$(p),l=s.cache.get,o=s.cache.set,u=f,f(m)},f=m=>{const p=l(m);if(p)return p;const x=Z$(m,s);return o(m,x),x};return u=d,(...m)=>u(A$(...m))},q$=[],ot=t=>{const a=s=>s[t]||q$;return a.isThemeGetter=!0,a},mb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,pb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M$=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Y$=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,V$=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,U$=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,G$=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L$=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Aa=t=>M$.test(t),Se=t=>!!t&&!Number.isNaN(Number(t)),Ea=t=>!!t&&Number.isInteger(Number(t)),hO=t=>t.endsWith("%")&&Se(t.slice(0,-1)),In=t=>Y$.test(t),xb=()=>!0,D$=t=>V$.test(t)&&!U$.test(t),Yf=()=>!1,W$=t=>G$.test(t),B$=t=>L$.test(t),H$=t=>!oe(t)&&!ue(t),I$=t=>Ka(t,vb,Yf),oe=t=>mb.test(t),gs=t=>Ka(t,yb,D$),Ug=t=>Ka(t,s5,Se),F$=t=>Ka(t,Qb,xb),K$=t=>Ka(t,Sb,Yf),Gg=t=>Ka(t,gb,Yf),J$=t=>Ka(t,bb,B$),Xo=t=>Ka(t,jb,W$),ue=t=>pb.test(t),Zr=t=>Ps(t,yb),e5=t=>Ps(t,Sb),Lg=t=>Ps(t,gb),t5=t=>Ps(t,vb),n5=t=>Ps(t,bb),_o=t=>Ps(t,jb,!0),a5=t=>Ps(t,Qb,!0),Ka=(t,a,s)=>{const l=mb.exec(t);return l?l[1]?a(l[1]):s(l[2]):!1},Ps=(t,a,s=!1)=>{const l=pb.exec(t);return l?l[1]?a(l[1]):s:!1},gb=t=>t==="position"||t==="percentage",bb=t=>t==="image"||t==="url",vb=t=>t==="length"||t==="size"||t==="bg-size",yb=t=>t==="length",s5=t=>t==="number",Sb=t=>t==="family-name",Qb=t=>t==="number"||t==="weight",jb=t=>t==="shadow",l5=()=>{const t=ot("color"),a=ot("font"),s=ot("text"),l=ot("font-weight"),o=ot("tracking"),u=ot("leading"),d=ot("breakpoint"),f=ot("container"),m=ot("spacing"),p=ot("radius"),x=ot("shadow"),g=ot("inset-shadow"),b=ot("text-shadow"),S=ot("drop-shadow"),Q=ot("blur"),k=ot("perspective"),j=ot("aspect"),T=ot("ease"),P=ot("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],G=()=>[...A(),ue,oe],C=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],$=()=>[ue,oe,m],W=()=>[Aa,"full","auto",...$()],U=()=>[Ea,"none","subgrid",ue,oe],le=()=>["auto",{span:["full",Ea,ue,oe]},Ea,ue,oe],re=()=>[Ea,"auto",ue,oe],pe=()=>["auto","min","max","fr",ue,oe],me=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],X=()=>["auto",...$()],I=()=>[Aa,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...$()],J=()=>[Aa,"screen","full","dvw","lvw","svw","min","max","fit",...$()],ce=()=>[Aa,"screen","full","lh","dvh","lvh","svh","min","max","fit",...$()],te=()=>[t,ue,oe],Ne=()=>[...A(),Lg,Gg,{position:[ue,oe]}],ke=()=>["no-repeat",{repeat:["","x","y","space","round"]}],be=()=>["auto","cover","contain",t5,I$,{size:[ue,oe]}],Ee=()=>[hO,Zr,gs],L=()=>["","none","full",p,ue,oe],de=()=>["",Se,Zr,gs],Re=()=>["solid","dashed","dotted","double"],Ot=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_e=()=>[Se,hO,Lg,Gg],tt=()=>["","none",Q,ue,oe],bt=()=>["none",Se,ue,oe],vt=()=>["none",Se,ue,oe],Ft=()=>[Se,ue,oe],yt=()=>[Aa,"full",...$()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[In],breakpoint:[In],color:[xb],container:[In],"drop-shadow":[In],ease:["in","out","in-out"],font:[H$],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[In],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[In],shadow:[In],spacing:["px",Se],text:[In],"text-shadow":[In],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Aa,oe,ue,j]}],container:["container"],columns:[{columns:[Se,oe,ue,f]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:G()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:W()}],"inset-x":[{"inset-x":W()}],"inset-y":[{"inset-y":W()}],start:[{"inset-s":W(),start:W()}],end:[{"inset-e":W(),end:W()}],"inset-bs":[{"inset-bs":W()}],"inset-be":[{"inset-be":W()}],top:[{top:W()}],right:[{right:W()}],bottom:[{bottom:W()}],left:[{left:W()}],visibility:["visible","invisible","collapse"],z:[{z:[Ea,"auto",ue,oe]}],basis:[{basis:[Aa,"full","auto",f,...$()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Se,Aa,"auto","initial","none",oe]}],grow:[{grow:["",Se,ue,oe]}],shrink:[{shrink:["",Se,ue,oe]}],order:[{order:[Ea,"first","last","none",ue,oe]}],"grid-cols":[{"grid-cols":U()}],"col-start-end":[{col:le()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":U()}],"row-start-end":[{row:le()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":pe()}],"auto-rows":[{"auto-rows":pe()}],gap:[{gap:$()}],"gap-x":[{"gap-x":$()}],"gap-y":[{"gap-y":$()}],"justify-content":[{justify:[...me(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...me()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":me()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:$()}],px:[{px:$()}],py:[{py:$()}],ps:[{ps:$()}],pe:[{pe:$()}],pbs:[{pbs:$()}],pbe:[{pbe:$()}],pt:[{pt:$()}],pr:[{pr:$()}],pb:[{pb:$()}],pl:[{pl:$()}],m:[{m:X()}],mx:[{mx:X()}],my:[{my:X()}],ms:[{ms:X()}],me:[{me:X()}],mbs:[{mbs:X()}],mbe:[{mbe:X()}],mt:[{mt:X()}],mr:[{mr:X()}],mb:[{mb:X()}],ml:[{ml:X()}],"space-x":[{"space-x":$()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":$()}],"space-y-reverse":["space-y-reverse"],size:[{size:I()}],"inline-size":[{inline:["auto",...J()]}],"min-inline-size":[{"min-inline":["auto",...J()]}],"max-inline-size":[{"max-inline":["none",...J()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[f,"screen",...I()]}],"min-w":[{"min-w":[f,"screen","none",...I()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[d]},...I()]}],h:[{h:["screen","lh",...I()]}],"min-h":[{"min-h":["screen","lh","none",...I()]}],"max-h":[{"max-h":["screen","lh",...I()]}],"font-size":[{text:["base",s,Zr,gs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,a5,F$]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",hO,oe]}],"font-family":[{font:[e5,K$,a]}],"font-features":[{"font-features":[oe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,ue,oe]}],"line-clamp":[{"line-clamp":[Se,"none",ue,Ug]}],leading:[{leading:[u,...$()]}],"list-image":[{"list-image":["none",ue,oe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ue,oe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:te()}],"text-color":[{text:te()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Re(),"wavy"]}],"text-decoration-thickness":[{decoration:[Se,"from-font","auto",ue,gs]}],"text-decoration-color":[{decoration:te()}],"underline-offset":[{"underline-offset":[Se,"auto",ue,oe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ue,oe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ue,oe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ne()}],"bg-repeat":[{bg:ke()}],"bg-size":[{bg:be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ea,ue,oe],radial:["",ue,oe],conic:[Ea,ue,oe]},n5,J$]}],"bg-color":[{bg:te()}],"gradient-from-pos":[{from:Ee()}],"gradient-via-pos":[{via:Ee()}],"gradient-to-pos":[{to:Ee()}],"gradient-from":[{from:te()}],"gradient-via":[{via:te()}],"gradient-to":[{to:te()}],rounded:[{rounded:L()}],"rounded-s":[{"rounded-s":L()}],"rounded-e":[{"rounded-e":L()}],"rounded-t":[{"rounded-t":L()}],"rounded-r":[{"rounded-r":L()}],"rounded-b":[{"rounded-b":L()}],"rounded-l":[{"rounded-l":L()}],"rounded-ss":[{"rounded-ss":L()}],"rounded-se":[{"rounded-se":L()}],"rounded-ee":[{"rounded-ee":L()}],"rounded-es":[{"rounded-es":L()}],"rounded-tl":[{"rounded-tl":L()}],"rounded-tr":[{"rounded-tr":L()}],"rounded-br":[{"rounded-br":L()}],"rounded-bl":[{"rounded-bl":L()}],"border-w":[{border:de()}],"border-w-x":[{"border-x":de()}],"border-w-y":[{"border-y":de()}],"border-w-s":[{"border-s":de()}],"border-w-e":[{"border-e":de()}],"border-w-bs":[{"border-bs":de()}],"border-w-be":[{"border-be":de()}],"border-w-t":[{"border-t":de()}],"border-w-r":[{"border-r":de()}],"border-w-b":[{"border-b":de()}],"border-w-l":[{"border-l":de()}],"divide-x":[{"divide-x":de()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":de()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Re(),"hidden","none"]}],"divide-style":[{divide:[...Re(),"hidden","none"]}],"border-color":[{border:te()}],"border-color-x":[{"border-x":te()}],"border-color-y":[{"border-y":te()}],"border-color-s":[{"border-s":te()}],"border-color-e":[{"border-e":te()}],"border-color-bs":[{"border-bs":te()}],"border-color-be":[{"border-be":te()}],"border-color-t":[{"border-t":te()}],"border-color-r":[{"border-r":te()}],"border-color-b":[{"border-b":te()}],"border-color-l":[{"border-l":te()}],"divide-color":[{divide:te()}],"outline-style":[{outline:[...Re(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Se,ue,oe]}],"outline-w":[{outline:["",Se,Zr,gs]}],"outline-color":[{outline:te()}],shadow:[{shadow:["","none",x,_o,Xo]}],"shadow-color":[{shadow:te()}],"inset-shadow":[{"inset-shadow":["none",g,_o,Xo]}],"inset-shadow-color":[{"inset-shadow":te()}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:te()}],"ring-offset-w":[{"ring-offset":[Se,gs]}],"ring-offset-color":[{"ring-offset":te()}],"inset-ring-w":[{"inset-ring":de()}],"inset-ring-color":[{"inset-ring":te()}],"text-shadow":[{"text-shadow":["none",b,_o,Xo]}],"text-shadow-color":[{"text-shadow":te()}],opacity:[{opacity:[Se,ue,oe]}],"mix-blend":[{"mix-blend":[...Ot(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ot()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Se]}],"mask-image-linear-from-pos":[{"mask-linear-from":_e()}],"mask-image-linear-to-pos":[{"mask-linear-to":_e()}],"mask-image-linear-from-color":[{"mask-linear-from":te()}],"mask-image-linear-to-color":[{"mask-linear-to":te()}],"mask-image-t-from-pos":[{"mask-t-from":_e()}],"mask-image-t-to-pos":[{"mask-t-to":_e()}],"mask-image-t-from-color":[{"mask-t-from":te()}],"mask-image-t-to-color":[{"mask-t-to":te()}],"mask-image-r-from-pos":[{"mask-r-from":_e()}],"mask-image-r-to-pos":[{"mask-r-to":_e()}],"mask-image-r-from-color":[{"mask-r-from":te()}],"mask-image-r-to-color":[{"mask-r-to":te()}],"mask-image-b-from-pos":[{"mask-b-from":_e()}],"mask-image-b-to-pos":[{"mask-b-to":_e()}],"mask-image-b-from-color":[{"mask-b-from":te()}],"mask-image-b-to-color":[{"mask-b-to":te()}],"mask-image-l-from-pos":[{"mask-l-from":_e()}],"mask-image-l-to-pos":[{"mask-l-to":_e()}],"mask-image-l-from-color":[{"mask-l-from":te()}],"mask-image-l-to-color":[{"mask-l-to":te()}],"mask-image-x-from-pos":[{"mask-x-from":_e()}],"mask-image-x-to-pos":[{"mask-x-to":_e()}],"mask-image-x-from-color":[{"mask-x-from":te()}],"mask-image-x-to-color":[{"mask-x-to":te()}],"mask-image-y-from-pos":[{"mask-y-from":_e()}],"mask-image-y-to-pos":[{"mask-y-to":_e()}],"mask-image-y-from-color":[{"mask-y-from":te()}],"mask-image-y-to-color":[{"mask-y-to":te()}],"mask-image-radial":[{"mask-radial":[ue,oe]}],"mask-image-radial-from-pos":[{"mask-radial-from":_e()}],"mask-image-radial-to-pos":[{"mask-radial-to":_e()}],"mask-image-radial-from-color":[{"mask-radial-from":te()}],"mask-image-radial-to-color":[{"mask-radial-to":te()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[Se]}],"mask-image-conic-from-pos":[{"mask-conic-from":_e()}],"mask-image-conic-to-pos":[{"mask-conic-to":_e()}],"mask-image-conic-from-color":[{"mask-conic-from":te()}],"mask-image-conic-to-color":[{"mask-conic-to":te()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ne()}],"mask-repeat":[{mask:ke()}],"mask-size":[{mask:be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ue,oe]}],filter:[{filter:["","none",ue,oe]}],blur:[{blur:tt()}],brightness:[{brightness:[Se,ue,oe]}],contrast:[{contrast:[Se,ue,oe]}],"drop-shadow":[{"drop-shadow":["","none",S,_o,Xo]}],"drop-shadow-color":[{"drop-shadow":te()}],grayscale:[{grayscale:["",Se,ue,oe]}],"hue-rotate":[{"hue-rotate":[Se,ue,oe]}],invert:[{invert:["",Se,ue,oe]}],saturate:[{saturate:[Se,ue,oe]}],sepia:[{sepia:["",Se,ue,oe]}],"backdrop-filter":[{"backdrop-filter":["","none",ue,oe]}],"backdrop-blur":[{"backdrop-blur":tt()}],"backdrop-brightness":[{"backdrop-brightness":[Se,ue,oe]}],"backdrop-contrast":[{"backdrop-contrast":[Se,ue,oe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Se,ue,oe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Se,ue,oe]}],"backdrop-invert":[{"backdrop-invert":["",Se,ue,oe]}],"backdrop-opacity":[{"backdrop-opacity":[Se,ue,oe]}],"backdrop-saturate":[{"backdrop-saturate":[Se,ue,oe]}],"backdrop-sepia":[{"backdrop-sepia":["",Se,ue,oe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":$()}],"border-spacing-x":[{"border-spacing-x":$()}],"border-spacing-y":[{"border-spacing-y":$()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ue,oe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Se,"initial",ue,oe]}],ease:[{ease:["linear","initial",T,ue,oe]}],delay:[{delay:[Se,ue,oe]}],animate:[{animate:["none",P,ue,oe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,ue,oe]}],"perspective-origin":[{"perspective-origin":G()}],rotate:[{rotate:bt()}],"rotate-x":[{"rotate-x":bt()}],"rotate-y":[{"rotate-y":bt()}],"rotate-z":[{"rotate-z":bt()}],scale:[{scale:vt()}],"scale-x":[{"scale-x":vt()}],"scale-y":[{"scale-y":vt()}],"scale-z":[{"scale-z":vt()}],"scale-3d":["scale-3d"],skew:[{skew:Ft()}],"skew-x":[{"skew-x":Ft()}],"skew-y":[{"skew-y":Ft()}],transform:[{transform:[ue,oe,"","none","gpu","cpu"]}],"transform-origin":[{origin:G()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:yt()}],"translate-x":[{"translate-x":yt()}],"translate-y":[{"translate-y":yt()}],"translate-z":[{"translate-z":yt()}],"translate-none":["translate-none"],accent:[{accent:te()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:te()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ue,oe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mbs":[{"scroll-mbs":$()}],"scroll-mbe":[{"scroll-mbe":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pbs":[{"scroll-pbs":$()}],"scroll-pbe":[{"scroll-pbe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ue,oe]}],fill:[{fill:["none",...te()]}],"stroke-w":[{stroke:[Se,Zr,gs,Ug]}],stroke:[{stroke:["none",...te()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},r5=E$(l5);function se(...t){return r5(x$(t))}function i5({children:t}){return i.jsx(d$,{delayDuration:300,children:t})}function Dg({children:t,content:a,side:s="top",className:l}){return a?i.jsxs(O$,{children:[i.jsx(f$,{asChild:!0,children:t}),i.jsx(h$,{children:i.jsxs(m$,{side:s,sideOffset:6,className:se("z-50 px-2.5 py-1.5 text-xs font-sans","bg-surface-4 text-text-0 border border-border rounded-md shadow-lg","animate-in fade-in-0 zoom-in-95",l),children:[a,i.jsx(p$,{className:"fill-surface-4"})]})})]}):t}/**
29
+ `+x.trim(),timestamp:Date.now()}:S.push({from:"agent",text:x.trim(),timestamp:Date.now()}),b[m]=S.slice(-100),t({chatHistory:b}),bl("groove:chatHistory",b)}if(g&&g.trim()){const b={...a().activityLog};b[m]||(b[m]=[]),b[m]=[...b[m].slice(-200),{timestamp:Date.now(),text:g.trim(),type:p.type,subtype:"tool"}],t({activityLog:b}),bl("groove:activityLog",b)}break}case"agent:exit":{const m=a().agents.find(S=>S.id===o.agentId),p=(m==null?void 0:m.name)||o.agentId,x=o.status==="killed"||o.code===143||o.code===137,g=o.status==="completed"?`${p} completed`:x?`${p} stopped`:`${p} crashed (exit ${o.code})`,b=o.status==="completed"?"success":x?"info":"warning";a().addToast(b,g),(m==null?void 0:m.role)==="planner"&&o.status==="completed"&&setTimeout(()=>a().checkRecommendedTeam(),1e3);break}case"phase2:spawned":a().addToast("info",`QC agent ${o.name} auto-spawned`,"Auditing phase 1 work");break;case"phase2:failed":a().addToast("error","QC agent failed to spawn",o.error||"Unknown error");break;case"rotation:start":a().addToast("info",`Rotating ${o.agentName}...`);break;case"rotation:complete":{a().addToast("success",`Rotated ${o.agentName}`,`Saved ${o.tokensSaved} tokens`);const m=a().detailPanel;(m==null?void 0:m.type)==="agent"&&m.agentId===o.oldAgentId&&o.newAgentId&&t(p=>{var b,S;const x={...p.chatHistory},g={...p.tokenTimeline};return(b=x[o.oldAgentId])!=null&&b.length&&(x[o.newAgentId]=[...x[o.oldAgentId]]),(S=g[o.oldAgentId])!=null&&S.length&&(g[o.newAgentId]=[...g[o.oldAgentId]]),{chatHistory:x,tokenTimeline:g,detailPanel:{type:"agent",agentId:o.newAgentId}}});break}case"rotation:failed":a().addToast("error","Rotation failed",o.error);break;case"file:changed":{const m=a().editorRecentSaves[o.path];if(m&&Date.now()-m<2e3)break;t(p=>({editorChangedFiles:{...p.editorChangedFiles,[o.path]:o.timestamp}}));break}case"team:created":case"team:deleted":case"team:updated":a().fetchTeams();break;case"approval:request":t(m=>({pendingApprovals:[...m.pendingApprovals,o.data]})),a().addToast("warning",`Approval needed: ${((u=o.data)==null?void 0:u.agentName)||"agent"}`,(f=(d=o.data)==null?void 0:d.action)==null?void 0:f.description);break;case"approval:resolved":{const m=o.data;t(p=>({pendingApprovals:p.pendingApprovals.filter(x=>x.id!==m.id),resolvedApprovals:[m,...p.resolvedApprovals].slice(0,200)}));break}case"conflict:detected":a().addToast("error",`Scope conflict: ${o.agentName||"agent"}`,o.filePath?`File: ${o.filePath}`:void 0);break;case"qc:activated":a().addToast("info","QC agent activated",`${o.agentCount||"4+"} agents running`);break;case"journalist:cycle":t({journalistStatus:o.data||null});break;case"schedule:execute":a().addToast("info",`Scheduled agent spawned: ${o.name||o.role||"agent"}`);break;case"gateway:status":t({gateways:o.data||[]});break}},s.onclose=()=>{t({connected:!1,hydrated:!1,ws:null,daemonHost:null,tunneled:!1}),setTimeout(()=>a().connect(),2e3)},s.onerror=()=>s.close()},setActiveView(s){t({activeView:s})},async fetchTeams(){try{const s=await ee.get("/teams"),l=s.teams||[],o=s.defaultTeamId,{activeTeamId:u}=a(),f=l.map(m=>m.id).includes(u)?u:o;t({teams:l,activeTeamId:f}),f&&localStorage.setItem("groove:activeTeamId",f)}catch{}},switchTeam(s){t({activeTeamId:s,detailPanel:null}),localStorage.setItem("groove:activeTeamId",s)},async createTeam(s,l){try{const o={name:s};l&&(o.workingDir=l);const u=await ee.post("/teams",o);return t({activeTeamId:u.id}),localStorage.setItem("groove:activeTeamId",u.id),a().addToast("success",`Team "${s}" created`),u}catch(o){throw a().addToast("error","Failed to create team",o.message),o}},async deleteTeam(s){const l=a().teams.find(o=>o.id===s);if(l!=null&&l.isDefault){a().addToast("warning","Cannot delete the default team");return}try{await ee.delete(`/teams/${s}`),a().addToast("info",`Team "${l==null?void 0:l.name}" deleted`)}catch(o){a().addToast("error","Failed to delete team",o.message)}},async renameTeam(s,l){try{const o=await ee.patch(`/teams/${s}`,{name:l});return t(u=>({teams:u.teams.map(d=>d.id===s?o:d)})),o}catch(o){throw a().addToast("error","Failed to rename team",o.message),o}},openDetail(s){t({detailPanel:s})},closeDetail(){t({detailPanel:null})},selectAgent(s){t({detailPanel:{type:"agent",agentId:s}})},clearSelection(){t({detailPanel:null})},toggleCommandPalette(){t(s=>({commandPaletteOpen:!s.commandPaletteOpen}))},setDetailPanelWidth(s){t({detailPanelWidth:s}),localStorage.setItem("groove:detailWidth",String(s))},setTerminalVisible(s){t({terminalVisible:s}),localStorage.setItem("groove:terminalVisible",String(s))},setTerminalHeight(s){t({terminalHeight:s}),localStorage.setItem("groove:terminalHeight",String(s))},setTerminalFullHeight(s){t({terminalFullHeight:s})},addToast(s,l,o){const u=++nw;t(d=>({toasts:[...d.toasts,{id:u,type:s,message:l,detail:o}]}))},removeToast(s){t(l=>({toasts:l.toasts.filter(o=>o.id!==s)}))},async checkMarketplaceAuth(){try{const s=await ee.get("/auth/status");t({marketplaceAuthenticated:s.authenticated||!1,marketplaceUser:s.user||null})}catch{t({marketplaceAuthenticated:!1,marketplaceUser:null})}},async marketplaceLogin(){try{const s=await ee.get("/auth/login-url");s.url&&window.open(s.url,"_blank");const l=setInterval(async()=>{var o,u;try{const d=await ee.get("/auth/status");d.authenticated&&(clearInterval(l),t({marketplaceAuthenticated:!0,marketplaceUser:d.user}),a().addToast("success",`Signed in as ${((o=d.user)==null?void 0:o.displayName)||((u=d.user)==null?void 0:u.id)||"user"}`))}catch{}},2e3);setTimeout(()=>clearInterval(l),3e5)}catch(s){a().addToast("error","Login failed",s.message)}},async marketplaceLogout(){try{await ee.post("/auth/logout"),t({marketplaceAuthenticated:!1,marketplaceUser:null}),a().addToast("info","Signed out of marketplace")}catch(s){a().addToast("error","Logout failed",s.message)}},async marketplaceCheckout(s){try{const l=await ee.post("/auth/checkout",{skillId:s});return l.url&&window.open(l.url,"_blank"),l}catch(l){throw a().addToast("error","Checkout failed",l.message),l}},async fetchApprovals(){try{const s=await ee.get("/approvals");t({pendingApprovals:s.pending||[],resolvedApprovals:s.resolved||[]})}catch{}},async approveRequest(s){try{await ee.post(`/approvals/${s}/approve`),t(l=>({pendingApprovals:l.pendingApprovals.filter(o=>o.id!==s)})),a().addToast("success","Approved")}catch(l){a().addToast("error","Approve failed",l.message)}},async rejectRequest(s,l=""){try{await ee.post(`/approvals/${s}/reject`,{reason:l}),t(o=>({pendingApprovals:o.pendingApprovals.filter(u=>u.id!==s)})),a().addToast("info","Rejected")}catch(o){a().addToast("error","Reject failed",o.message)}},async checkRecommendedTeam(){var s;try{const l=await ee.get("/recommended-team");l&&((s=l.agents)!=null&&s.length)?t({recommendedTeam:l}):t({recommendedTeam:null})}catch{t({recommendedTeam:null})}},async launchRecommendedTeam(){try{t({recommendedTeam:null}),a().addToast("info","Launching team...");const s=await ee.post("/recommended-team/launch");return a().addToast("success",`Launched ${s.launched} agents`,s.phase2Pending?`${s.phase2Pending} QC agents queued`:void 0),ee.post("/cleanup").catch(()=>{}),s}catch(s){throw a().addToast("error","Launch failed",s.message),s}},async fetchJournalist(){try{const s=await ee.get("/journalist");return t({journalistStatus:s}),s}catch{return null}},async triggerJournalistCycle(){try{const s=await ee.post("/journalist/cycle");return a().addToast("success","Synthesis cycle triggered"),t({journalistStatus:s}),s}catch(s){throw a().addToast("error","Synthesis failed",s.message),s}},async spawnAgent(s){try{const l=a().activeTeamId,o=await ee.post("/agents",{...s,teamId:l});return a().addToast("success",`Spawned ${o.name}`),o}catch(l){throw a().addToast("error","Spawn failed",l.message),l}},async killAgent(s,l=!1){try{await ee.delete(`/agents/${s}?purge=${l}`)}catch(o){a().addToast("error","Kill failed",o.message)}},async rotateAgent(s){try{return await ee.post(`/agents/${s}/rotate`)}catch(l){throw a().addToast("error","Rotation failed",l.message),l}},async fetchProviders(){return ee.get("/providers")},addChatMessage(s,l,o,u=!1){t(d=>{const f={...d.chatHistory};return f[s]||(f[s]=[]),f[s]=[...f[s].slice(-100),{from:l,text:o,timestamp:Date.now(),isQuery:u}],bl("groove:chatHistory",f),{chatHistory:f}})},async instructAgent(s,l){var d,f;const o=a().agents.find(m=>m.id===s);if(o&&(o.status==="running"||o.status==="starting")){a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",m.response),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}}a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/instruct`,{message:l});for(const p of["chatHistory","activityLog","tokenTimeline"]){const x=a()[p][s];x!=null&&x.length&&t(g=>({[p]:{...g[p],[m.id]:[...x]}}))}return(d=a().chatHistory[s])!=null&&d.length&&bl("groove:chatHistory",a().chatHistory),(f=a().activityLog[s])!=null&&f.length&&bl("groove:activityLog",a().activityLog),a().selectAgent(m.id),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}},async queryAgent(s,l){a().addChatMessage(s,"user",l,!0);try{const o=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",o.response),o}catch(o){throw a().addChatMessage(s,"system",`query failed: ${o.message}`),o}},async openFile(s){var u;if(a().editorFiles[s]||a().editorOpenTabs.includes(s)){t(d=>({editorActiveFile:s,editorOpenTabs:d.editorOpenTabs.includes(s)?d.editorOpenTabs:[...d.editorOpenTabs,s]}));return}const l=(u=s.split(".").pop())==null?void 0:u.toLowerCase();if(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif","mp4","webm","mov","avi","mkv","ogv"].includes(l)){t(d=>({editorActiveFile:s,editorOpenTabs:[...d.editorOpenTabs,s]}));return}try{const d=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(d.binary){a().addToast("warning","Binary file — cannot open");return}t(m=>({editorFiles:{...m.editorFiles,[s]:{content:d.content,originalContent:d.content,language:d.language,loadedAt:Date.now()}},editorActiveFile:s,editorOpenTabs:m.editorOpenTabs.includes(s)?m.editorOpenTabs:[...m.editorOpenTabs,s]}));const f=a().ws;(f==null?void 0:f.readyState)===1&&f.send(JSON.stringify({type:"editor:watch",path:s}))}catch(d){a().addToast("error","Failed to open file",d.message)}},closeFile(s){t(o=>{const u=o.editorOpenTabs.filter(p=>p!==s),d={...o.editorFiles};delete d[s];const f={...o.editorChangedFiles};delete f[s];let m=o.editorActiveFile;if(m===s){const p=o.editorOpenTabs.indexOf(s);m=u[Math.min(p,u.length-1)]||null}return{editorOpenTabs:u,editorFiles:d,editorChangedFiles:f,editorActiveFile:m}});const l=a().ws;(l==null?void 0:l.readyState)===1&&l.send(JSON.stringify({type:"editor:unwatch",path:s}))},setActiveFile(s){t({editorActiveFile:s})},updateFileContent(s,l){t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],content:l}}}))},async saveFile(s){const l=a().editorFiles[s];if(l)try{await ee.post("/files/write",{path:s,content:l.content}),t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],originalContent:l.content}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})(),editorRecentSaves:{...o.editorRecentSaves,[s]:Date.now()}})),a().addToast("success","File saved")}catch(o){a().addToast("error","Save failed",o.message)}},async reloadFile(s){try{const l=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(l.binary)return;t(o=>({editorFiles:{...o.editorFiles,[s]:{content:l.content,originalContent:l.content,language:l.language,loadedAt:Date.now()}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})()}))}catch{}},dismissFileChange(s){t(l=>{const o={...l.editorChangedFiles};return delete o[s],{editorChangedFiles:o}})},async fetchTreeDir(s){try{const l=await ee.get(`/files/tree?path=${encodeURIComponent(s)}`);t(o=>({editorTreeCache:{...o.editorTreeCache,[s]:l.entries}}))}catch{}},async createFile(s){try{await ee.post("/files/create",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","File created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async createDir(s){try{await ee.post("/files/mkdir",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","Folder created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async deleteFile(s){try{await ee.delete(`/files/delete?path=${encodeURIComponent(s)}`),a().editorOpenTabs.includes(s)&&a().closeFile(s);const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),t(o=>{const u={...o.editorTreeCache};return delete u[s],{editorTreeCache:u}}),a().addToast("success","Deleted"),!0}catch(l){return a().addToast("error","Delete failed",l.message),!1}},async renameFile(s,l){try{await ee.post("/files/rename",{oldPath:s,newPath:l}),t(d=>{const f=d.editorOpenTabs.map(x=>x===s?l:x),m={...d.editorFiles};m[s]&&(m[l]=m[s],delete m[s]);const p=d.editorActiveFile===s?l:d.editorActiveFile;return{editorOpenTabs:f,editorFiles:m,editorActiveFile:p}});const o=s.includes("/")?s.split("/").slice(0,-1).join("/"):"",u=l.includes("/")?l.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(o),u!==o&&await a().fetchTreeDir(u),a().addToast("success","Renamed"),!0}catch(o){return a().addToast("error","Rename failed",o.message),!1}}}));function aw(t){v.useEffect(()=>{function a(s){for(const l of t){const o=l.meta?s.metaKey||s.ctrlKey:!0,u=l.shift?s.shiftKey:!s.shiftKey;if(s.key.toLowerCase()===l.key.toLowerCase()&&o&&u){s.preventDefault(),l.handler();return}}}return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[t])}function Ae(t,a,{checkForDefaultPrevented:s=!0}={}){return function(o){if(t==null||t(o),s===!1||!o.defaultPrevented)return a==null?void 0:a(o)}}function kg(t,a){if(typeof t=="function")return t(a);t!=null&&(t.current=a)}function T0(...t){return a=>{let s=!1;const l=t.map(o=>{const u=kg(o,a);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let o=0;o<l.length;o++){const u=l[o];typeof u=="function"?u():kg(t[o],null)}}}}function rt(...t){return v.useCallback(T0(...t),t)}function sw(t,a){const s=v.createContext(a),l=u=>{const{children:d,...f}=u,m=v.useMemo(()=>f,Object.values(f));return i.jsx(s.Provider,{value:m,children:d})};l.displayName=t+"Provider";function o(u){const d=v.useContext(s);if(d)return d;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${t}\``)}return[l,o]}function Ts(t,a=[]){let s=[];function l(u,d){const f=v.createContext(d),m=s.length;s=[...s,d];const p=g=>{var T;const{scope:b,children:S,...Q}=g,k=((T=b==null?void 0:b[t])==null?void 0:T[m])||f,j=v.useMemo(()=>Q,Object.values(Q));return i.jsx(k.Provider,{value:j,children:S})};p.displayName=u+"Provider";function x(g,b){var k;const S=((k=b==null?void 0:b[t])==null?void 0:k[m])||f,Q=v.useContext(S);if(Q)return Q;if(d!==void 0)return d;throw new Error(`\`${g}\` must be used within \`${u}\``)}return[p,x]}const o=()=>{const u=s.map(d=>v.createContext(d));return function(f){const m=(f==null?void 0:f[t])||u;return v.useMemo(()=>({[`__scope${t}`]:{...f,[t]:m}}),[f,m])}};return o.scopeName=t,[l,lw(o,...a)]}function lw(...t){const a=t[0];if(t.length===1)return a;const s=()=>{const l=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(u){const d=l.reduce((f,{useScope:m,scopeName:p})=>{const g=m(u)[`__scope${p}`];return{...f,...g}},{});return v.useMemo(()=>({[`__scope${a.scopeName}`]:d}),[d])}};return s.scopeName=a.scopeName,s}function tc(t){const a=rw(t),s=v.forwardRef((l,o)=>{const{children:u,...d}=l,f=v.Children.toArray(u),m=f.find(ow);if(m){const p=m.props.children,x=f.map(g=>g===m?v.Children.count(p)>1?v.Children.only(null):v.isValidElement(p)?p.props.children:null:g);return i.jsx(a,{...d,ref:o,children:v.isValidElement(p)?v.cloneElement(p,void 0,x):null})}return i.jsx(a,{...d,ref:o,children:u})});return s.displayName=`${t}.Slot`,s}function rw(t){const a=v.forwardRef((s,l)=>{const{children:o,...u}=s;if(v.isValidElement(o)){const d=uw(o),f=cw(u,o.props);return o.type!==v.Fragment&&(f.ref=l?T0(l,d):d),v.cloneElement(o,f)}return v.Children.count(o)>1?v.Children.only(null):null});return a.displayName=`${t}.SlotClone`,a}var P0=Symbol("radix.slottable");function iw(t){const a=({children:s})=>i.jsx(i.Fragment,{children:s});return a.displayName=`${t}.Slottable`,a.__radixId=P0,a}function ow(t){return v.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===P0}function cw(t,a){const s={...a};for(const l in a){const o=t[l],u=a[l];/^on[A-Z]/.test(l)?o&&u?s[l]=(...f)=>{const m=u(...f);return o(...f),m}:o&&(s[l]=o):l==="style"?s[l]={...o,...u}:l==="className"&&(s[l]=[o,u].filter(Boolean).join(" "))}return{...t,...s}}function uw(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var dw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Be=dw.reduce((t,a)=>{const s=tc(`Primitive.${a}`),l=v.forwardRef((o,u)=>{const{asChild:d,...f}=o,m=d?s:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(m,{...f,ref:u})});return l.displayName=`Primitive.${a}`,{...t,[a]:l}},{});function Ow(t,a){t&&v0.flushSync(()=>t.dispatchEvent(a))}function Rt(t){const a=v.useRef(t);return v.useEffect(()=>{a.current=t}),v.useMemo(()=>(...s)=>{var l;return(l=a.current)==null?void 0:l.call(a,...s)},[])}function fw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t);v.useEffect(()=>{const l=o=>{o.key==="Escape"&&s(o)};return a.addEventListener("keydown",l,{capture:!0}),()=>a.removeEventListener("keydown",l,{capture:!0})},[s,a])}var hw="DismissableLayer",tf="dismissableLayer.update",mw="dismissableLayer.pointerDownOutside",pw="dismissableLayer.focusOutside",$g,N0=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Tf=v.forwardRef((t,a)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:d,onDismiss:f,...m}=t,p=v.useContext(N0),[x,g]=v.useState(null),b=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=v.useState({}),Q=rt(a,R=>g(R)),k=Array.from(p.layers),[j]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),T=k.indexOf(j),P=x?k.indexOf(x):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,A=P>=T,G=bw(R=>{const $=R.target,W=[...p.branches].some(U=>U.contains($));!A||W||(o==null||o(R),d==null||d(R),R.defaultPrevented||f==null||f())},b),C=vw(R=>{const $=R.target;[...p.branches].some(U=>U.contains($))||(u==null||u(R),d==null||d(R),R.defaultPrevented||f==null||f())},b);return fw(R=>{P===p.layers.size-1&&(l==null||l(R),!R.defaultPrevented&&f&&(R.preventDefault(),f()))},b),v.useEffect(()=>{if(x)return s&&(p.layersWithOutsidePointerEventsDisabled.size===0&&($g=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),Tg(),()=>{s&&p.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=$g)}},[x,b,s,p]),v.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),Tg())},[x,p]),v.useEffect(()=>{const R=()=>S({});return document.addEventListener(tf,R),()=>document.removeEventListener(tf,R)},[]),i.jsx(Be.div,{...m,ref:Q,style:{pointerEvents:N?A?"auto":"none":void 0,...t.style},onFocusCapture:Ae(t.onFocusCapture,C.onFocusCapture),onBlurCapture:Ae(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Ae(t.onPointerDownCapture,G.onPointerDownCapture)})});Tf.displayName=hw;var xw="DismissableLayerBranch",gw=v.forwardRef((t,a)=>{const s=v.useContext(N0),l=v.useRef(null),o=rt(a,l);return v.useEffect(()=>{const u=l.current;if(u)return s.branches.add(u),()=>{s.branches.delete(u)}},[s.branches]),i.jsx(Be.div,{...t,ref:o})});gw.displayName=xw;function bw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1),o=v.useRef(()=>{});return v.useEffect(()=>{const u=f=>{if(f.target&&!l.current){let m=function(){z0(mw,s,p,{discrete:!0})};const p={originalEvent:f};f.pointerType==="touch"?(a.removeEventListener("click",o.current),o.current=m,a.addEventListener("click",o.current,{once:!0})):m()}else a.removeEventListener("click",o.current);l.current=!1},d=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),a.removeEventListener("pointerdown",u),a.removeEventListener("click",o.current)}},[a,s]),{onPointerDownCapture:()=>l.current=!0}}function vw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1);return v.useEffect(()=>{const o=u=>{u.target&&!l.current&&z0(pw,s,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",o),()=>a.removeEventListener("focusin",o)},[a,s]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function Tg(){const t=new CustomEvent(tf);document.dispatchEvent(t)}function z0(t,a,s,{discrete:l}){const o=s.originalEvent.target,u=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:s});a&&o.addEventListener(t,a,{once:!0}),l?Ow(o,u):o.dispatchEvent(u)}var la=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},yw=x0[" useId ".trim().toString()]||(()=>{}),Sw=0;function Sl(t){const[a,s]=v.useState(yw());return la(()=>{s(l=>l??String(Sw++))},[t]),t||(a?`radix-${a}`:"")}const Qw=["top","right","bottom","left"],Wa=Math.min,Bt=Math.max,nc=Math.round,Ro=Math.floor,Tn=t=>({x:t,y:t}),jw={left:"right",right:"left",bottom:"top",top:"bottom"};function nf(t,a,s){return Bt(t,Wa(a,s))}function ra(t,a){return typeof t=="function"?t(a):t}function ia(t){return t.split("-")[0]}function Zl(t){return t.split("-")[1]}function Pf(t){return t==="x"?"y":"x"}function Nf(t){return t==="y"?"height":"width"}function $n(t){const a=t[0];return a==="t"||a==="b"?"y":"x"}function zf(t){return Pf($n(t))}function ww(t,a,s){s===void 0&&(s=!1);const l=Zl(t),o=zf(t),u=Nf(o);let d=o==="x"?l===(s?"end":"start")?"right":"left":l==="start"?"bottom":"top";return a.reference[u]>a.floating[u]&&(d=ac(d)),[d,ac(d)]}function kw(t){const a=ac(t);return[af(t),a,af(a)]}function af(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Pg=["left","right"],Ng=["right","left"],$w=["top","bottom"],Tw=["bottom","top"];function Pw(t,a,s){switch(t){case"top":case"bottom":return s?a?Ng:Pg:a?Pg:Ng;case"left":case"right":return a?$w:Tw;default:return[]}}function Nw(t,a,s,l){const o=Zl(t);let u=Pw(ia(t),s==="start",l);return o&&(u=u.map(d=>d+"-"+o),a&&(u=u.concat(u.map(af)))),u}function ac(t){const a=ia(t);return jw[a]+t.slice(a.length)}function zw(t){return{top:0,right:0,bottom:0,left:0,...t}}function R0(t){return typeof t!="number"?zw(t):{top:t,right:t,bottom:t,left:t}}function sc(t){const{x:a,y:s,width:l,height:o}=t;return{width:l,height:o,top:s,left:a,right:a+l,bottom:s+o,x:a,y:s}}function zg(t,a,s){let{reference:l,floating:o}=t;const u=$n(a),d=zf(a),f=Nf(d),m=ia(a),p=u==="y",x=l.x+l.width/2-o.width/2,g=l.y+l.height/2-o.height/2,b=l[f]/2-o[f]/2;let S;switch(m){case"top":S={x,y:l.y-o.height};break;case"bottom":S={x,y:l.y+l.height};break;case"right":S={x:l.x+l.width,y:g};break;case"left":S={x:l.x-o.width,y:g};break;default:S={x:l.x,y:l.y}}switch(Zl(a)){case"start":S[d]-=b*(s&&p?-1:1);break;case"end":S[d]+=b*(s&&p?-1:1);break}return S}async function Rw(t,a){var s;a===void 0&&(a={});const{x:l,y:o,platform:u,rects:d,elements:f,strategy:m}=t,{boundary:p="clippingAncestors",rootBoundary:x="viewport",elementContext:g="floating",altBoundary:b=!1,padding:S=0}=ra(a,t),Q=R0(S),j=f[b?g==="floating"?"reference":"floating":g],T=sc(await u.getClippingRect({element:(s=await(u.isElement==null?void 0:u.isElement(j)))==null||s?j:j.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(f.floating)),boundary:p,rootBoundary:x,strategy:m})),P=g==="floating"?{x:l,y:o,width:d.floating.width,height:d.floating.height}:d.reference,N=await(u.getOffsetParent==null?void 0:u.getOffsetParent(f.floating)),A=await(u.isElement==null?void 0:u.isElement(N))?await(u.getScale==null?void 0:u.getScale(N))||{x:1,y:1}:{x:1,y:1},G=sc(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:P,offsetParent:N,strategy:m}):P);return{top:(T.top-G.top+Q.top)/A.y,bottom:(G.bottom-T.bottom+Q.bottom)/A.y,left:(T.left-G.left+Q.left)/A.x,right:(G.right-T.right+Q.right)/A.x}}const Cw=50,Xw=async(t,a,s)=>{const{placement:l="bottom",strategy:o="absolute",middleware:u=[],platform:d}=s,f=d.detectOverflow?d:{...d,detectOverflow:Rw},m=await(d.isRTL==null?void 0:d.isRTL(a));let p=await d.getElementRects({reference:t,floating:a,strategy:o}),{x,y:g}=zg(p,l,m),b=l,S=0;const Q={};for(let k=0;k<u.length;k++){const j=u[k];if(!j)continue;const{name:T,fn:P}=j,{x:N,y:A,data:G,reset:C}=await P({x,y:g,initialPlacement:l,placement:b,strategy:o,middlewareData:Q,rects:p,platform:f,elements:{reference:t,floating:a}});x=N??x,g=A??g,Q[T]={...Q[T],...G},C&&S<Cw&&(S++,typeof C=="object"&&(C.placement&&(b=C.placement),C.rects&&(p=C.rects===!0?await d.getElementRects({reference:t,floating:a,strategy:o}):C.rects),{x,y:g}=zg(p,b,m)),k=-1)}return{x,y:g,placement:b,strategy:o,middlewareData:Q}},_w=t=>({name:"arrow",options:t,async fn(a){const{x:s,y:l,placement:o,rects:u,platform:d,elements:f,middlewareData:m}=a,{element:p,padding:x=0}=ra(t,a)||{};if(p==null)return{};const g=R0(x),b={x:s,y:l},S=zf(o),Q=Nf(S),k=await d.getDimensions(p),j=S==="y",T=j?"top":"left",P=j?"bottom":"right",N=j?"clientHeight":"clientWidth",A=u.reference[Q]+u.reference[S]-b[S]-u.floating[Q],G=b[S]-u.reference[S],C=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let R=C?C[N]:0;(!R||!await(d.isElement==null?void 0:d.isElement(C)))&&(R=f.floating[N]||u.floating[Q]);const $=A/2-G/2,W=R/2-k[Q]/2-1,U=Wa(g[T],W),le=Wa(g[P],W),re=U,pe=R-k[Q]-le,me=R/2-k[Q]/2+$,V=nf(re,me,pe),X=!m.arrow&&Zl(o)!=null&&me!==V&&u.reference[Q]/2-(me<re?U:le)-k[Q]/2<0,I=X?me<re?me-re:me-pe:0;return{[S]:b[S]+I,data:{[S]:V,centerOffset:me-V-I,...X&&{alignmentOffset:I}},reset:X}}}),Zw=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(a){var s,l;const{placement:o,middlewareData:u,rects:d,initialPlacement:f,platform:m,elements:p}=a,{mainAxis:x=!0,crossAxis:g=!0,fallbackPlacements:b,fallbackStrategy:S="bestFit",fallbackAxisSideDirection:Q="none",flipAlignment:k=!0,...j}=ra(t,a);if((s=u.arrow)!=null&&s.alignmentOffset)return{};const T=ia(o),P=$n(f),N=ia(f)===f,A=await(m.isRTL==null?void 0:m.isRTL(p.floating)),G=b||(N||!k?[ac(f)]:kw(f)),C=Q!=="none";!b&&C&&G.push(...Nw(f,k,Q,A));const R=[f,...G],$=await m.detectOverflow(a,j),W=[];let U=((l=u.flip)==null?void 0:l.overflows)||[];if(x&&W.push($[T]),g){const me=ww(o,d,A);W.push($[me[0]],$[me[1]])}if(U=[...U,{placement:o,overflows:W}],!W.every(me=>me<=0)){var le,re;const me=(((le=u.flip)==null?void 0:le.index)||0)+1,V=R[me];if(V&&(!(g==="alignment"?P!==$n(V):!1)||U.every(J=>$n(J.placement)===P?J.overflows[0]>0:!0)))return{data:{index:me,overflows:U},reset:{placement:V}};let X=(re=U.filter(I=>I.overflows[0]<=0).sort((I,J)=>I.overflows[1]-J.overflows[1])[0])==null?void 0:re.placement;if(!X)switch(S){case"bestFit":{var pe;const I=(pe=U.filter(J=>{if(C){const ce=$n(J.placement);return ce===P||ce==="y"}return!0}).map(J=>[J.placement,J.overflows.filter(ce=>ce>0).reduce((ce,te)=>ce+te,0)]).sort((J,ce)=>J[1]-ce[1])[0])==null?void 0:pe[0];I&&(X=I);break}case"initialPlacement":X=f;break}if(o!==X)return{reset:{placement:X}}}return{}}}};function Rg(t,a){return{top:t.top-a.height,right:t.right-a.width,bottom:t.bottom-a.height,left:t.left-a.width}}function Cg(t){return Qw.some(a=>t[a]>=0)}const Aw=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(a){const{rects:s,platform:l}=a,{strategy:o="referenceHidden",...u}=ra(t,a);switch(o){case"referenceHidden":{const d=await l.detectOverflow(a,{...u,elementContext:"reference"}),f=Rg(d,s.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:Cg(f)}}}case"escaped":{const d=await l.detectOverflow(a,{...u,altBoundary:!0}),f=Rg(d,s.floating);return{data:{escapedOffsets:f,escaped:Cg(f)}}}default:return{}}}}},C0=new Set(["left","top"]);async function Ew(t,a){const{placement:s,platform:l,elements:o}=t,u=await(l.isRTL==null?void 0:l.isRTL(o.floating)),d=ia(s),f=Zl(s),m=$n(s)==="y",p=C0.has(d)?-1:1,x=u&&m?-1:1,g=ra(a,t);let{mainAxis:b,crossAxis:S,alignmentAxis:Q}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return f&&typeof Q=="number"&&(S=f==="end"?Q*-1:Q),m?{x:S*x,y:b*p}:{x:b*p,y:S*x}}const qw=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(a){var s,l;const{x:o,y:u,placement:d,middlewareData:f}=a,m=await Ew(a,t);return d===((s=f.offset)==null?void 0:s.placement)&&(l=f.arrow)!=null&&l.alignmentOffset?{}:{x:o+m.x,y:u+m.y,data:{...m,placement:d}}}}},Mw=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(a){const{x:s,y:l,placement:o,platform:u}=a,{mainAxis:d=!0,crossAxis:f=!1,limiter:m={fn:T=>{let{x:P,y:N}=T;return{x:P,y:N}}},...p}=ra(t,a),x={x:s,y:l},g=await u.detectOverflow(a,p),b=$n(ia(o)),S=Pf(b);let Q=x[S],k=x[b];if(d){const T=S==="y"?"top":"left",P=S==="y"?"bottom":"right",N=Q+g[T],A=Q-g[P];Q=nf(N,Q,A)}if(f){const T=b==="y"?"top":"left",P=b==="y"?"bottom":"right",N=k+g[T],A=k-g[P];k=nf(N,k,A)}const j=m.fn({...a,[S]:Q,[b]:k});return{...j,data:{x:j.x-s,y:j.y-l,enabled:{[S]:d,[b]:f}}}}}},Yw=function(t){return t===void 0&&(t={}),{options:t,fn(a){const{x:s,y:l,placement:o,rects:u,middlewareData:d}=a,{offset:f=0,mainAxis:m=!0,crossAxis:p=!0}=ra(t,a),x={x:s,y:l},g=$n(o),b=Pf(g);let S=x[b],Q=x[g];const k=ra(f,a),j=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(m){const N=b==="y"?"height":"width",A=u.reference[b]-u.floating[N]+j.mainAxis,G=u.reference[b]+u.reference[N]-j.mainAxis;S<A?S=A:S>G&&(S=G)}if(p){var T,P;const N=b==="y"?"width":"height",A=C0.has(ia(o)),G=u.reference[g]-u.floating[N]+(A&&((T=d.offset)==null?void 0:T[g])||0)+(A?0:j.crossAxis),C=u.reference[g]+u.reference[N]+(A?0:((P=d.offset)==null?void 0:P[g])||0)-(A?j.crossAxis:0);Q<G?Q=G:Q>C&&(Q=C)}return{[b]:S,[g]:Q}}}},Vw=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(a){var s,l;const{placement:o,rects:u,platform:d,elements:f}=a,{apply:m=()=>{},...p}=ra(t,a),x=await d.detectOverflow(a,p),g=ia(o),b=Zl(o),S=$n(o)==="y",{width:Q,height:k}=u.floating;let j,T;g==="top"||g==="bottom"?(j=g,T=b===(await(d.isRTL==null?void 0:d.isRTL(f.floating))?"start":"end")?"left":"right"):(T=g,j=b==="end"?"top":"bottom");const P=k-x.top-x.bottom,N=Q-x.left-x.right,A=Wa(k-x[j],P),G=Wa(Q-x[T],N),C=!a.middlewareData.shift;let R=A,$=G;if((s=a.middlewareData.shift)!=null&&s.enabled.x&&($=N),(l=a.middlewareData.shift)!=null&&l.enabled.y&&(R=P),C&&!b){const U=Bt(x.left,0),le=Bt(x.right,0),re=Bt(x.top,0),pe=Bt(x.bottom,0);S?$=Q-2*(U!==0||le!==0?U+le:Bt(x.left,x.right)):R=k-2*(re!==0||pe!==0?re+pe:Bt(x.top,x.bottom))}await m({...a,availableWidth:$,availableHeight:R});const W=await d.getDimensions(f.floating);return Q!==W.width||k!==W.height?{reset:{rects:!0}}:{}}}};function kc(){return typeof window<"u"}function Al(t){return X0(t)?(t.nodeName||"").toLowerCase():"#document"}function Ht(t){var a;return(t==null||(a=t.ownerDocument)==null?void 0:a.defaultView)||window}function Nn(t){var a;return(a=(X0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:a.documentElement}function X0(t){return kc()?t instanceof Node||t instanceof Ht(t).Node:!1}function xn(t){return kc()?t instanceof Element||t instanceof Ht(t).Element:!1}function oa(t){return kc()?t instanceof HTMLElement||t instanceof Ht(t).HTMLElement:!1}function Xg(t){return!kc()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ht(t).ShadowRoot}function li(t){const{overflow:a,overflowX:s,overflowY:l,display:o}=gn(t);return/auto|scroll|overlay|hidden|clip/.test(a+l+s)&&o!=="inline"&&o!=="contents"}function Uw(t){return/^(table|td|th)$/.test(Al(t))}function $c(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const Gw=/transform|translate|scale|rotate|perspective|filter/,Lw=/paint|layout|strict|content/,xs=t=>!!t&&t!=="none";let dO;function Rf(t){const a=xn(t)?gn(t):t;return xs(a.transform)||xs(a.translate)||xs(a.scale)||xs(a.rotate)||xs(a.perspective)||!Cf()&&(xs(a.backdropFilter)||xs(a.filter))||Gw.test(a.willChange||"")||Lw.test(a.contain||"")}function Dw(t){let a=Ba(t);for(;oa(a)&&!$l(a);){if(Rf(a))return a;if($c(a))return null;a=Ba(a)}return null}function Cf(){return dO==null&&(dO=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),dO}function $l(t){return/^(html|body|#document)$/.test(Al(t))}function gn(t){return Ht(t).getComputedStyle(t)}function Tc(t){return xn(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Ba(t){if(Al(t)==="html")return t;const a=t.assignedSlot||t.parentNode||Xg(t)&&t.host||Nn(t);return Xg(a)?a.host:a}function _0(t){const a=Ba(t);return $l(a)?t.ownerDocument?t.ownerDocument.body:t.body:oa(a)&&li(a)?a:_0(a)}function Dr(t,a,s){var l;a===void 0&&(a=[]),s===void 0&&(s=!0);const o=_0(t),u=o===((l=t.ownerDocument)==null?void 0:l.body),d=Ht(o);if(u){const f=sf(d);return a.concat(d,d.visualViewport||[],li(o)?o:[],f&&s?Dr(f):[])}else return a.concat(o,Dr(o,[],s))}function sf(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Z0(t){const a=gn(t);let s=parseFloat(a.width)||0,l=parseFloat(a.height)||0;const o=oa(t),u=o?t.offsetWidth:s,d=o?t.offsetHeight:l,f=nc(s)!==u||nc(l)!==d;return f&&(s=u,l=d),{width:s,height:l,$:f}}function Xf(t){return xn(t)?t:t.contextElement}function Ql(t){const a=Xf(t);if(!oa(a))return Tn(1);const s=a.getBoundingClientRect(),{width:l,height:o,$:u}=Z0(a);let d=(u?nc(s.width):s.width)/l,f=(u?nc(s.height):s.height)/o;return(!d||!Number.isFinite(d))&&(d=1),(!f||!Number.isFinite(f))&&(f=1),{x:d,y:f}}const Ww=Tn(0);function A0(t){const a=Ht(t);return!Cf()||!a.visualViewport?Ww:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Bw(t,a,s){return a===void 0&&(a=!1),!s||a&&s!==Ht(t)?!1:a}function Ss(t,a,s,l){a===void 0&&(a=!1),s===void 0&&(s=!1);const o=t.getBoundingClientRect(),u=Xf(t);let d=Tn(1);a&&(l?xn(l)&&(d=Ql(l)):d=Ql(t));const f=Bw(u,s,l)?A0(u):Tn(0);let m=(o.left+f.x)/d.x,p=(o.top+f.y)/d.y,x=o.width/d.x,g=o.height/d.y;if(u){const b=Ht(u),S=l&&xn(l)?Ht(l):l;let Q=b,k=sf(Q);for(;k&&l&&S!==Q;){const j=Ql(k),T=k.getBoundingClientRect(),P=gn(k),N=T.left+(k.clientLeft+parseFloat(P.paddingLeft))*j.x,A=T.top+(k.clientTop+parseFloat(P.paddingTop))*j.y;m*=j.x,p*=j.y,x*=j.x,g*=j.y,m+=N,p+=A,Q=Ht(k),k=sf(Q)}}return sc({width:x,height:g,x:m,y:p})}function Pc(t,a){const s=Tc(t).scrollLeft;return a?a.left+s:Ss(Nn(t)).left+s}function E0(t,a){const s=t.getBoundingClientRect(),l=s.left+a.scrollLeft-Pc(t,s),o=s.top+a.scrollTop;return{x:l,y:o}}function Hw(t){let{elements:a,rect:s,offsetParent:l,strategy:o}=t;const u=o==="fixed",d=Nn(l),f=a?$c(a.floating):!1;if(l===d||f&&u)return s;let m={scrollLeft:0,scrollTop:0},p=Tn(1);const x=Tn(0),g=oa(l);if((g||!g&&!u)&&((Al(l)!=="body"||li(d))&&(m=Tc(l)),g)){const S=Ss(l);p=Ql(l),x.x=S.x+l.clientLeft,x.y=S.y+l.clientTop}const b=d&&!g&&!u?E0(d,m):Tn(0);return{width:s.width*p.x,height:s.height*p.y,x:s.x*p.x-m.scrollLeft*p.x+x.x+b.x,y:s.y*p.y-m.scrollTop*p.y+x.y+b.y}}function Iw(t){return Array.from(t.getClientRects())}function Fw(t){const a=Nn(t),s=Tc(t),l=t.ownerDocument.body,o=Bt(a.scrollWidth,a.clientWidth,l.scrollWidth,l.clientWidth),u=Bt(a.scrollHeight,a.clientHeight,l.scrollHeight,l.clientHeight);let d=-s.scrollLeft+Pc(t);const f=-s.scrollTop;return gn(l).direction==="rtl"&&(d+=Bt(a.clientWidth,l.clientWidth)-o),{width:o,height:u,x:d,y:f}}const _g=25;function Kw(t,a){const s=Ht(t),l=Nn(t),o=s.visualViewport;let u=l.clientWidth,d=l.clientHeight,f=0,m=0;if(o){u=o.width,d=o.height;const x=Cf();(!x||x&&a==="fixed")&&(f=o.offsetLeft,m=o.offsetTop)}const p=Pc(l);if(p<=0){const x=l.ownerDocument,g=x.body,b=getComputedStyle(g),S=x.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,Q=Math.abs(l.clientWidth-g.clientWidth-S);Q<=_g&&(u-=Q)}else p<=_g&&(u+=p);return{width:u,height:d,x:f,y:m}}function Jw(t,a){const s=Ss(t,!0,a==="fixed"),l=s.top+t.clientTop,o=s.left+t.clientLeft,u=oa(t)?Ql(t):Tn(1),d=t.clientWidth*u.x,f=t.clientHeight*u.y,m=o*u.x,p=l*u.y;return{width:d,height:f,x:m,y:p}}function Zg(t,a,s){let l;if(a==="viewport")l=Kw(t,s);else if(a==="document")l=Fw(Nn(t));else if(xn(a))l=Jw(a,s);else{const o=A0(t);l={x:a.x-o.x,y:a.y-o.y,width:a.width,height:a.height}}return sc(l)}function q0(t,a){const s=Ba(t);return s===a||!xn(s)||$l(s)?!1:gn(s).position==="fixed"||q0(s,a)}function ek(t,a){const s=a.get(t);if(s)return s;let l=Dr(t,[],!1).filter(f=>xn(f)&&Al(f)!=="body"),o=null;const u=gn(t).position==="fixed";let d=u?Ba(t):t;for(;xn(d)&&!$l(d);){const f=gn(d),m=Rf(d);!m&&f.position==="fixed"&&(o=null),(u?!m&&!o:!m&&f.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||li(d)&&!m&&q0(t,d))?l=l.filter(x=>x!==d):o=f,d=Ba(d)}return a.set(t,l),l}function tk(t){let{element:a,boundary:s,rootBoundary:l,strategy:o}=t;const d=[...s==="clippingAncestors"?$c(a)?[]:ek(a,this._c):[].concat(s),l],f=Zg(a,d[0],o);let m=f.top,p=f.right,x=f.bottom,g=f.left;for(let b=1;b<d.length;b++){const S=Zg(a,d[b],o);m=Bt(S.top,m),p=Wa(S.right,p),x=Wa(S.bottom,x),g=Bt(S.left,g)}return{width:p-g,height:x-m,x:g,y:m}}function nk(t){const{width:a,height:s}=Z0(t);return{width:a,height:s}}function ak(t,a,s){const l=oa(a),o=Nn(a),u=s==="fixed",d=Ss(t,!0,u,a);let f={scrollLeft:0,scrollTop:0};const m=Tn(0);function p(){m.x=Pc(o)}if(l||!l&&!u)if((Al(a)!=="body"||li(o))&&(f=Tc(a)),l){const S=Ss(a,!0,u,a);m.x=S.x+a.clientLeft,m.y=S.y+a.clientTop}else o&&p();u&&!l&&o&&p();const x=o&&!l&&!u?E0(o,f):Tn(0),g=d.left+f.scrollLeft-m.x-x.x,b=d.top+f.scrollTop-m.y-x.y;return{x:g,y:b,width:d.width,height:d.height}}function OO(t){return gn(t).position==="static"}function Ag(t,a){if(!oa(t)||gn(t).position==="fixed")return null;if(a)return a(t);let s=t.offsetParent;return Nn(t)===s&&(s=s.ownerDocument.body),s}function M0(t,a){const s=Ht(t);if($c(t))return s;if(!oa(t)){let o=Ba(t);for(;o&&!$l(o);){if(xn(o)&&!OO(o))return o;o=Ba(o)}return s}let l=Ag(t,a);for(;l&&Uw(l)&&OO(l);)l=Ag(l,a);return l&&$l(l)&&OO(l)&&!Rf(l)?s:l||Dw(t)||s}const sk=async function(t){const a=this.getOffsetParent||M0,s=this.getDimensions,l=await s(t.floating);return{reference:ak(t.reference,await a(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function lk(t){return gn(t).direction==="rtl"}const rk={convertOffsetParentRelativeRectToViewportRelativeRect:Hw,getDocumentElement:Nn,getClippingRect:tk,getOffsetParent:M0,getElementRects:sk,getClientRects:Iw,getDimensions:nk,getScale:Ql,isElement:xn,isRTL:lk};function Y0(t,a){return t.x===a.x&&t.y===a.y&&t.width===a.width&&t.height===a.height}function ik(t,a){let s=null,l;const o=Nn(t);function u(){var f;clearTimeout(l),(f=s)==null||f.disconnect(),s=null}function d(f,m){f===void 0&&(f=!1),m===void 0&&(m=1),u();const p=t.getBoundingClientRect(),{left:x,top:g,width:b,height:S}=p;if(f||a(),!b||!S)return;const Q=Ro(g),k=Ro(o.clientWidth-(x+b)),j=Ro(o.clientHeight-(g+S)),T=Ro(x),N={rootMargin:-Q+"px "+-k+"px "+-j+"px "+-T+"px",threshold:Bt(0,Wa(1,m))||1};let A=!0;function G(C){const R=C[0].intersectionRatio;if(R!==m){if(!A)return d();R?d(!1,R):l=setTimeout(()=>{d(!1,1e-7)},1e3)}R===1&&!Y0(p,t.getBoundingClientRect())&&d(),A=!1}try{s=new IntersectionObserver(G,{...N,root:o.ownerDocument})}catch{s=new IntersectionObserver(G,N)}s.observe(t)}return d(!0),u}function ok(t,a,s,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:u=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:m=!1}=l,p=Xf(t),x=o||u?[...p?Dr(p):[],...a?Dr(a):[]]:[];x.forEach(T=>{o&&T.addEventListener("scroll",s,{passive:!0}),u&&T.addEventListener("resize",s)});const g=p&&f?ik(p,s):null;let b=-1,S=null;d&&(S=new ResizeObserver(T=>{let[P]=T;P&&P.target===p&&S&&a&&(S.unobserve(a),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var N;(N=S)==null||N.observe(a)})),s()}),p&&!m&&S.observe(p),a&&S.observe(a));let Q,k=m?Ss(t):null;m&&j();function j(){const T=Ss(t);k&&!Y0(k,T)&&s(),k=T,Q=requestAnimationFrame(j)}return s(),()=>{var T;x.forEach(P=>{o&&P.removeEventListener("scroll",s),u&&P.removeEventListener("resize",s)}),g==null||g(),(T=S)==null||T.disconnect(),S=null,m&&cancelAnimationFrame(Q)}}const ck=qw,uk=Mw,dk=Zw,Ok=Vw,fk=Aw,Eg=_w,hk=Yw,mk=(t,a,s)=>{const l=new Map,o={platform:rk,...s},u={...o.platform,_c:l};return Xw(t,a,{...o,platform:u})};var pk=typeof document<"u",xk=function(){},Wo=pk?v.useLayoutEffect:xk;function lc(t,a){if(t===a)return!0;if(typeof t!=typeof a)return!1;if(typeof t=="function"&&t.toString()===a.toString())return!0;let s,l,o;if(t&&a&&typeof t=="object"){if(Array.isArray(t)){if(s=t.length,s!==a.length)return!1;for(l=s;l--!==0;)if(!lc(t[l],a[l]))return!1;return!0}if(o=Object.keys(t),s=o.length,s!==Object.keys(a).length)return!1;for(l=s;l--!==0;)if(!{}.hasOwnProperty.call(a,o[l]))return!1;for(l=s;l--!==0;){const u=o[l];if(!(u==="_owner"&&t.$$typeof)&&!lc(t[u],a[u]))return!1}return!0}return t!==t&&a!==a}function V0(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function qg(t,a){const s=V0(t);return Math.round(a*s)/s}function fO(t){const a=v.useRef(t);return Wo(()=>{a.current=t}),a}function gk(t){t===void 0&&(t={});const{placement:a="bottom",strategy:s="absolute",middleware:l=[],platform:o,elements:{reference:u,floating:d}={},transform:f=!0,whileElementsMounted:m,open:p}=t,[x,g]=v.useState({x:0,y:0,strategy:s,placement:a,middlewareData:{},isPositioned:!1}),[b,S]=v.useState(l);lc(b,l)||S(l);const[Q,k]=v.useState(null),[j,T]=v.useState(null),P=v.useCallback(J=>{J!==C.current&&(C.current=J,k(J))},[]),N=v.useCallback(J=>{J!==R.current&&(R.current=J,T(J))},[]),A=u||Q,G=d||j,C=v.useRef(null),R=v.useRef(null),$=v.useRef(x),W=m!=null,U=fO(m),le=fO(o),re=fO(p),pe=v.useCallback(()=>{if(!C.current||!R.current)return;const J={placement:a,strategy:s,middleware:b};le.current&&(J.platform=le.current),mk(C.current,R.current,J).then(ce=>{const te={...ce,isPositioned:re.current!==!1};me.current&&!lc($.current,te)&&($.current=te,v0.flushSync(()=>{g(te)}))})},[b,a,s,le,re]);Wo(()=>{p===!1&&$.current.isPositioned&&($.current.isPositioned=!1,g(J=>({...J,isPositioned:!1})))},[p]);const me=v.useRef(!1);Wo(()=>(me.current=!0,()=>{me.current=!1}),[]),Wo(()=>{if(A&&(C.current=A),G&&(R.current=G),A&&G){if(U.current)return U.current(A,G,pe);pe()}},[A,G,pe,U,W]);const V=v.useMemo(()=>({reference:C,floating:R,setReference:P,setFloating:N}),[P,N]),X=v.useMemo(()=>({reference:A,floating:G}),[A,G]),I=v.useMemo(()=>{const J={position:s,left:0,top:0};if(!X.floating)return J;const ce=qg(X.floating,x.x),te=qg(X.floating,x.y);return f?{...J,transform:"translate("+ce+"px, "+te+"px)",...V0(X.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:ce,top:te}},[s,f,X.floating,x.x,x.y]);return v.useMemo(()=>({...x,update:pe,refs:V,elements:X,floatingStyles:I}),[x,pe,V,X,I])}const bk=t=>{function a(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:t,fn(s){const{element:l,padding:o}=typeof t=="function"?t(s):t;return l&&a(l)?l.current!=null?Eg({element:l.current,padding:o}).fn(s):{}:l?Eg({element:l,padding:o}).fn(s):{}}}},vk=(t,a)=>{const s=ck(t);return{name:s.name,fn:s.fn,options:[t,a]}},yk=(t,a)=>{const s=uk(t);return{name:s.name,fn:s.fn,options:[t,a]}},Sk=(t,a)=>({fn:hk(t).fn,options:[t,a]}),Qk=(t,a)=>{const s=dk(t);return{name:s.name,fn:s.fn,options:[t,a]}},jk=(t,a)=>{const s=Ok(t);return{name:s.name,fn:s.fn,options:[t,a]}},wk=(t,a)=>{const s=fk(t);return{name:s.name,fn:s.fn,options:[t,a]}},kk=(t,a)=>{const s=bk(t);return{name:s.name,fn:s.fn,options:[t,a]}};var $k="Arrow",U0=v.forwardRef((t,a)=>{const{children:s,width:l=10,height:o=5,...u}=t;return i.jsx(Be.svg,{...u,ref:a,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?s:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});U0.displayName=$k;var Tk=U0;function Pk(t){const[a,s]=v.useState(void 0);return la(()=>{if(t){s({width:t.offsetWidth,height:t.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const u=o[0];let d,f;if("borderBoxSize"in u){const m=u.borderBoxSize,p=Array.isArray(m)?m[0]:m;d=p.inlineSize,f=p.blockSize}else d=t.offsetWidth,f=t.offsetHeight;s({width:d,height:f})});return l.observe(t,{box:"border-box"}),()=>l.unobserve(t)}else s(void 0)},[t]),a}var _f="Popper",[G0,L0]=Ts(_f),[Nk,D0]=G0(_f),W0=t=>{const{__scopePopper:a,children:s}=t,[l,o]=v.useState(null);return i.jsx(Nk,{scope:a,anchor:l,onAnchorChange:o,children:s})};W0.displayName=_f;var B0="PopperAnchor",H0=v.forwardRef((t,a)=>{const{__scopePopper:s,virtualRef:l,...o}=t,u=D0(B0,s),d=v.useRef(null),f=rt(a,d),m=v.useRef(null);return v.useEffect(()=>{const p=m.current;m.current=(l==null?void 0:l.current)||d.current,p!==m.current&&u.onAnchorChange(m.current)}),l?null:i.jsx(Be.div,{...o,ref:f})});H0.displayName=B0;var Zf="PopperContent",[zk,Rk]=G0(Zf),I0=v.forwardRef((t,a)=>{var Re,Ot,_e,tt,bt,vt;const{__scopePopper:s,side:l="bottom",sideOffset:o=0,align:u="center",alignOffset:d=0,arrowPadding:f=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:x=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:S="optimized",onPlaced:Q,...k}=t,j=D0(Zf,s),[T,P]=v.useState(null),N=rt(a,Ft=>P(Ft)),[A,G]=v.useState(null),C=Pk(A),R=(C==null?void 0:C.width)??0,$=(C==null?void 0:C.height)??0,W=l+(u!=="center"?"-"+u:""),U=typeof x=="number"?x:{top:0,right:0,bottom:0,left:0,...x},le=Array.isArray(p)?p:[p],re=le.length>0,pe={padding:U,boundary:le.filter(Xk),altBoundary:re},{refs:me,floatingStyles:V,placement:X,isPositioned:I,middlewareData:J}=gk({strategy:"fixed",placement:W,whileElementsMounted:(...Ft)=>ok(...Ft,{animationFrame:S==="always"}),elements:{reference:j.anchor},middleware:[vk({mainAxis:o+$,alignmentAxis:d}),m&&yk({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?Sk():void 0,...pe}),m&&Qk({...pe}),jk({...pe,apply:({elements:Ft,rects:yt,availableWidth:Ml,availableHeight:Yl})=>{const{width:Wc,height:fi}=yt.reference,da=Ft.floating.style;da.setProperty("--radix-popper-available-width",`${Ml}px`),da.setProperty("--radix-popper-available-height",`${Yl}px`),da.setProperty("--radix-popper-anchor-width",`${Wc}px`),da.setProperty("--radix-popper-anchor-height",`${fi}px`)}}),A&&kk({element:A,padding:f}),_k({arrowWidth:R,arrowHeight:$}),b&&wk({strategy:"referenceHidden",...pe})]}),[ce,te]=J0(X),Ne=Rt(Q);la(()=>{I&&(Ne==null||Ne())},[I,Ne]);const ke=(Re=J.arrow)==null?void 0:Re.x,be=(Ot=J.arrow)==null?void 0:Ot.y,Ee=((_e=J.arrow)==null?void 0:_e.centerOffset)!==0,[L,de]=v.useState();return la(()=>{T&&de(window.getComputedStyle(T).zIndex)},[T]),i.jsx("div",{ref:me.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:I?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:L,"--radix-popper-transform-origin":[(tt=J.transformOrigin)==null?void 0:tt.x,(bt=J.transformOrigin)==null?void 0:bt.y].join(" "),...((vt=J.hide)==null?void 0:vt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:i.jsx(zk,{scope:s,placedSide:ce,onArrowChange:G,arrowX:ke,arrowY:be,shouldHideArrow:Ee,children:i.jsx(Be.div,{"data-side":ce,"data-align":te,...k,ref:N,style:{...k.style,animation:I?void 0:"none"}})})})});I0.displayName=Zf;var F0="PopperArrow",Ck={top:"bottom",right:"left",bottom:"top",left:"right"},K0=v.forwardRef(function(a,s){const{__scopePopper:l,...o}=a,u=Rk(F0,l),d=Ck[u.placedSide];return i.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:i.jsx(Tk,{...o,ref:s,style:{...o.style,display:"block"}})})});K0.displayName=F0;function Xk(t){return t!==null}var _k=t=>({name:"transformOrigin",options:t,fn(a){var j,T,P;const{placement:s,rects:l,middlewareData:o}=a,d=((j=o.arrow)==null?void 0:j.centerOffset)!==0,f=d?0:t.arrowWidth,m=d?0:t.arrowHeight,[p,x]=J0(s),g={start:"0%",center:"50%",end:"100%"}[x],b=(((T=o.arrow)==null?void 0:T.x)??0)+f/2,S=(((P=o.arrow)==null?void 0:P.y)??0)+m/2;let Q="",k="";return p==="bottom"?(Q=d?g:`${b}px`,k=`${-m}px`):p==="top"?(Q=d?g:`${b}px`,k=`${l.floating.height+m}px`):p==="right"?(Q=`${-m}px`,k=d?g:`${S}px`):p==="left"&&(Q=`${l.floating.width+m}px`,k=d?g:`${S}px`),{data:{x:Q,y:k}}}});function J0(t){const[a,s="center"]=t.split("-");return[a,s]}var Zk=W0,Ak=H0,Ek=I0,qk=K0,Mk="Portal",Af=v.forwardRef((t,a)=>{var f;const{container:s,...l}=t,[o,u]=v.useState(!1);la(()=>u(!0),[]);const d=s||o&&((f=globalThis==null?void 0:globalThis.document)==null?void 0:f.body);return d?mj.createPortal(i.jsx(Be.div,{...l,ref:a}),d):null});Af.displayName=Mk;function Yk(t,a){return v.useReducer((s,l)=>a[s][l]??s,t)}var vn=t=>{const{present:a,children:s}=t,l=Vk(a),o=typeof s=="function"?s({present:l.isPresent}):v.Children.only(s),u=rt(l.ref,Uk(o));return typeof s=="function"||l.isPresent?v.cloneElement(o,{ref:u}):null};vn.displayName="Presence";function Vk(t){const[a,s]=v.useState(),l=v.useRef(null),o=v.useRef(t),u=v.useRef("none"),d=t?"mounted":"unmounted",[f,m]=Yk(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const p=Co(l.current);u.current=f==="mounted"?p:"none"},[f]),la(()=>{const p=l.current,x=o.current;if(x!==t){const b=u.current,S=Co(p);t?m("MOUNT"):S==="none"||(p==null?void 0:p.display)==="none"?m("UNMOUNT"):m(x&&b!==S?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,m]),la(()=>{if(a){let p;const x=a.ownerDocument.defaultView??window,g=S=>{const k=Co(l.current).includes(CSS.escape(S.animationName));if(S.target===a&&k&&(m("ANIMATION_END"),!o.current)){const j=a.style.animationFillMode;a.style.animationFillMode="forwards",p=x.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=j)})}},b=S=>{S.target===a&&(u.current=Co(l.current))};return a.addEventListener("animationstart",b),a.addEventListener("animationcancel",g),a.addEventListener("animationend",g),()=>{x.clearTimeout(p),a.removeEventListener("animationstart",b),a.removeEventListener("animationcancel",g),a.removeEventListener("animationend",g)}}else m("ANIMATION_END")},[a,m]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:v.useCallback(p=>{l.current=p?getComputedStyle(p):null,s(p)},[])}}function Co(t){return(t==null?void 0:t.animationName)||"none"}function Uk(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var Gk=x0[" useInsertionEffect ".trim().toString()]||la;function Nc({prop:t,defaultProp:a,onChange:s=()=>{},caller:l}){const[o,u,d]=Lk({defaultProp:a,onChange:s}),f=t!==void 0,m=f?t:o;{const x=v.useRef(t!==void 0);v.useEffect(()=>{const g=x.current;g!==f&&console.warn(`${l} is changing from ${g?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=f},[f,l])}const p=v.useCallback(x=>{var g;if(f){const b=Dk(x)?x(t):x;b!==t&&((g=d.current)==null||g.call(d,b))}else u(x)},[f,t,u,d]);return[m,p]}function Lk({defaultProp:t,onChange:a}){const[s,l]=v.useState(t),o=v.useRef(s),u=v.useRef(a);return Gk(()=>{u.current=a},[a]),v.useEffect(()=>{var d;o.current!==s&&((d=u.current)==null||d.call(u,s),o.current=s)},[s,o]),[s,l,u]}function Dk(t){return typeof t=="function"}var Wk=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Bk="VisuallyHidden",eb=v.forwardRef((t,a)=>i.jsx(Be.span,{...t,ref:a,style:{...Wk,...t.style}}));eb.displayName=Bk;var Hk=eb,[zc]=Ts("Tooltip",[L0]),Rc=L0(),tb="TooltipProvider",Ik=700,lf="tooltip.open",[Fk,Ef]=zc(tb),nb=t=>{const{__scopeTooltip:a,delayDuration:s=Ik,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:u}=t,d=v.useRef(!0),f=v.useRef(!1),m=v.useRef(0);return v.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),i.jsx(Fk,{scope:a,isOpenDelayedRef:d,delayDuration:s,onOpen:v.useCallback(()=>{window.clearTimeout(m.current),d.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>d.current=!0,l)},[l]),isPointerInTransitRef:f,onPointerInTransitChange:v.useCallback(p=>{f.current=p},[]),disableHoverableContent:o,children:u})};nb.displayName=tb;var Wr="Tooltip",[Kk,ri]=zc(Wr),ab=t=>{const{__scopeTooltip:a,children:s,open:l,defaultOpen:o,onOpenChange:u,disableHoverableContent:d,delayDuration:f}=t,m=Ef(Wr,t.__scopeTooltip),p=Rc(a),[x,g]=v.useState(null),b=Sl(),S=v.useRef(0),Q=d??m.disableHoverableContent,k=f??m.delayDuration,j=v.useRef(!1),[T,P]=Nc({prop:l,defaultProp:o??!1,onChange:R=>{R?(m.onOpen(),document.dispatchEvent(new CustomEvent(lf))):m.onClose(),u==null||u(R)},caller:Wr}),N=v.useMemo(()=>T?j.current?"delayed-open":"instant-open":"closed",[T]),A=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,j.current=!1,P(!0)},[P]),G=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,P(!1)},[P]),C=v.useCallback(()=>{window.clearTimeout(S.current),S.current=window.setTimeout(()=>{j.current=!0,P(!0),S.current=0},k)},[k,P]);return v.useEffect(()=>()=>{S.current&&(window.clearTimeout(S.current),S.current=0)},[]),i.jsx(Zk,{...p,children:i.jsx(Kk,{scope:a,contentId:b,open:T,stateAttribute:N,trigger:x,onTriggerChange:g,onTriggerEnter:v.useCallback(()=>{m.isOpenDelayedRef.current?C():A()},[m.isOpenDelayedRef,C,A]),onTriggerLeave:v.useCallback(()=>{Q?G():(window.clearTimeout(S.current),S.current=0)},[G,Q]),onOpen:A,onClose:G,disableHoverableContent:Q,children:s})})};ab.displayName=Wr;var rf="TooltipTrigger",sb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=ri(rf,s),u=Ef(rf,s),d=Rc(s),f=v.useRef(null),m=rt(a,f,o.onTriggerChange),p=v.useRef(!1),x=v.useRef(!1),g=v.useCallback(()=>p.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),i.jsx(Ak,{asChild:!0,...d,children:i.jsx(Be.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:m,onPointerMove:Ae(t.onPointerMove,b=>{b.pointerType!=="touch"&&!x.current&&!u.isPointerInTransitRef.current&&(o.onTriggerEnter(),x.current=!0)}),onPointerLeave:Ae(t.onPointerLeave,()=>{o.onTriggerLeave(),x.current=!1}),onPointerDown:Ae(t.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:Ae(t.onFocus,()=>{p.current||o.onOpen()}),onBlur:Ae(t.onBlur,o.onClose),onClick:Ae(t.onClick,o.onClose)})})});sb.displayName=rf;var qf="TooltipPortal",[Jk,e$]=zc(qf,{forceMount:void 0}),lb=t=>{const{__scopeTooltip:a,forceMount:s,children:l,container:o}=t,u=ri(qf,a);return i.jsx(Jk,{scope:a,forceMount:s,children:i.jsx(vn,{present:s||u.open,children:i.jsx(Af,{asChild:!0,container:o,children:l})})})};lb.displayName=qf;var Tl="TooltipContent",rb=v.forwardRef((t,a)=>{const s=e$(Tl,t.__scopeTooltip),{forceMount:l=s.forceMount,side:o="top",...u}=t,d=ri(Tl,t.__scopeTooltip);return i.jsx(vn,{present:l||d.open,children:d.disableHoverableContent?i.jsx(ib,{side:o,...u,ref:a}):i.jsx(t$,{side:o,...u,ref:a})})}),t$=v.forwardRef((t,a)=>{const s=ri(Tl,t.__scopeTooltip),l=Ef(Tl,t.__scopeTooltip),o=v.useRef(null),u=rt(a,o),[d,f]=v.useState(null),{trigger:m,onClose:p}=s,x=o.current,{onPointerInTransitChange:g}=l,b=v.useCallback(()=>{f(null),g(!1)},[g]),S=v.useCallback((Q,k)=>{const j=Q.currentTarget,T={x:Q.clientX,y:Q.clientY},P=l$(T,j.getBoundingClientRect()),N=r$(T,P),A=i$(k.getBoundingClientRect()),G=c$([...N,...A]);f(G),g(!0)},[g]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(m&&x){const Q=j=>S(j,x),k=j=>S(j,m);return m.addEventListener("pointerleave",Q),x.addEventListener("pointerleave",k),()=>{m.removeEventListener("pointerleave",Q),x.removeEventListener("pointerleave",k)}}},[m,x,S,b]),v.useEffect(()=>{if(d){const Q=k=>{const j=k.target,T={x:k.clientX,y:k.clientY},P=(m==null?void 0:m.contains(j))||(x==null?void 0:x.contains(j)),N=!o$(T,d);P?b():N&&(b(),p())};return document.addEventListener("pointermove",Q),()=>document.removeEventListener("pointermove",Q)}},[m,x,d,p,b]),i.jsx(ib,{...t,ref:u})}),[n$,a$]=zc(Wr,{isInside:!1}),s$=iw("TooltipContent"),ib=v.forwardRef((t,a)=>{const{__scopeTooltip:s,children:l,"aria-label":o,onEscapeKeyDown:u,onPointerDownOutside:d,...f}=t,m=ri(Tl,s),p=Rc(s),{onClose:x}=m;return v.useEffect(()=>(document.addEventListener(lf,x),()=>document.removeEventListener(lf,x)),[x]),v.useEffect(()=>{if(m.trigger){const g=b=>{const S=b.target;S!=null&&S.contains(m.trigger)&&x()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[m.trigger,x]),i.jsx(Tf,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:g=>g.preventDefault(),onDismiss:x,children:i.jsxs(Ek,{"data-state":m.stateAttribute,...p,...f,ref:a,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(s$,{children:l}),i.jsx(n$,{scope:s,isInside:!0,children:i.jsx(Hk,{id:m.contentId,role:"tooltip",children:o||l})})]})})});rb.displayName=Tl;var ob="TooltipArrow",cb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=Rc(s);return a$(ob,s).isInside?null:i.jsx(qk,{...o,...l,ref:a})});cb.displayName=ob;function l$(t,a){const s=Math.abs(a.top-t.y),l=Math.abs(a.bottom-t.y),o=Math.abs(a.right-t.x),u=Math.abs(a.left-t.x);switch(Math.min(s,l,o,u)){case u:return"left";case o:return"right";case s:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function r$(t,a,s=5){const l=[];switch(a){case"top":l.push({x:t.x-s,y:t.y+s},{x:t.x+s,y:t.y+s});break;case"bottom":l.push({x:t.x-s,y:t.y-s},{x:t.x+s,y:t.y-s});break;case"left":l.push({x:t.x+s,y:t.y-s},{x:t.x+s,y:t.y+s});break;case"right":l.push({x:t.x-s,y:t.y-s},{x:t.x-s,y:t.y+s});break}return l}function i$(t){const{top:a,right:s,bottom:l,left:o}=t;return[{x:o,y:a},{x:s,y:a},{x:s,y:l},{x:o,y:l}]}function o$(t,a){const{x:s,y:l}=t;let o=!1;for(let u=0,d=a.length-1;u<a.length;d=u++){const f=a[u],m=a[d],p=f.x,x=f.y,g=m.x,b=m.y;x>l!=b>l&&s<(g-p)*(l-x)/(b-x)+p&&(o=!o)}return o}function c$(t){const a=t.slice();return a.sort((s,l)=>s.x<l.x?-1:s.x>l.x?1:s.y<l.y?-1:s.y>l.y?1:0),u$(a)}function u$(t){if(t.length<=1)return t.slice();const a=[];for(let l=0;l<t.length;l++){const o=t[l];for(;a.length>=2;){const u=a[a.length-1],d=a[a.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))a.pop();else break}a.push(o)}a.pop();const s=[];for(let l=t.length-1;l>=0;l--){const o=t[l];for(;s.length>=2;){const u=s[s.length-1],d=s[s.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))s.pop();else break}s.push(o)}return s.pop(),a.length===1&&s.length===1&&a[0].x===s[0].x&&a[0].y===s[0].y?a:a.concat(s)}var d$=nb,O$=ab,f$=sb,h$=lb,m$=rb,p$=cb;function ub(t){var a,s,l="";if(typeof t=="string"||typeof t=="number")l+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(a=0;a<o;a++)t[a]&&(s=ub(t[a]))&&(l&&(l+=" "),l+=s)}else for(s in t)t[s]&&(l&&(l+=" "),l+=s);return l}function x$(){for(var t,a,s=0,l="",o=arguments.length;s<o;s++)(t=arguments[s])&&(a=ub(t))&&(l&&(l+=" "),l+=a);return l}const g$=(t,a)=>{const s=new Array(t.length+a.length);for(let l=0;l<t.length;l++)s[l]=t[l];for(let l=0;l<a.length;l++)s[t.length+l]=a[l];return s},b$=(t,a)=>({classGroupId:t,validator:a}),db=(t=new Map,a=null,s)=>({nextPart:t,validators:a,classGroupId:s}),rc="-",Mg=[],v$="arbitrary..",y$=t=>{const a=Q$(t),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return S$(d);const f=d.split(rc),m=f[0]===""&&f.length>1?1:0;return Ob(f,m,a)},getConflictingClassGroupIds:(d,f)=>{if(f){const m=l[d],p=s[d];return m?p?g$(p,m):m:p||Mg}return s[d]||Mg}}},Ob=(t,a,s)=>{if(t.length-a===0)return s.classGroupId;const o=t[a],u=s.nextPart.get(o);if(u){const p=Ob(t,a+1,u);if(p)return p}const d=s.validators;if(d===null)return;const f=a===0?t.join(rc):t.slice(a).join(rc),m=d.length;for(let p=0;p<m;p++){const x=d[p];if(x.validator(f))return x.classGroupId}},S$=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=t.slice(1,-1),s=a.indexOf(":"),l=a.slice(0,s);return l?v$+l:void 0})(),Q$=t=>{const{theme:a,classGroups:s}=t;return j$(s,a)},j$=(t,a)=>{const s=db();for(const l in t){const o=t[l];Mf(o,s,l,a)}return s},Mf=(t,a,s,l)=>{const o=t.length;for(let u=0;u<o;u++){const d=t[u];w$(d,a,s,l)}},w$=(t,a,s,l)=>{if(typeof t=="string"){k$(t,a,s);return}if(typeof t=="function"){$$(t,a,s,l);return}T$(t,a,s,l)},k$=(t,a,s)=>{const l=t===""?a:fb(a,t);l.classGroupId=s},$$=(t,a,s,l)=>{if(P$(t)){Mf(t(l),a,s,l);return}a.validators===null&&(a.validators=[]),a.validators.push(b$(s,t))},T$=(t,a,s,l)=>{const o=Object.entries(t),u=o.length;for(let d=0;d<u;d++){const[f,m]=o[d];Mf(m,fb(a,f),s,l)}},fb=(t,a)=>{let s=t;const l=a.split(rc),o=l.length;for(let u=0;u<o;u++){const d=l[u];let f=s.nextPart.get(d);f||(f=db(),s.nextPart.set(d,f)),s=f}return s},P$=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,N$=t=>{if(t<1)return{get:()=>{},set:()=>{}};let a=0,s=Object.create(null),l=Object.create(null);const o=(u,d)=>{s[u]=d,a++,a>t&&(a=0,l=s,s=Object.create(null))};return{get(u){let d=s[u];if(d!==void 0)return d;if((d=l[u])!==void 0)return o(u,d),d},set(u,d){u in s?s[u]=d:o(u,d)}}},of="!",Yg=":",z$=[],Vg=(t,a,s,l,o)=>({modifiers:t,hasImportantModifier:a,baseClassName:s,maybePostfixModifierPosition:l,isExternal:o}),R$=t=>{const{prefix:a,experimentalParseClassName:s}=t;let l=o=>{const u=[];let d=0,f=0,m=0,p;const x=o.length;for(let k=0;k<x;k++){const j=o[k];if(d===0&&f===0){if(j===Yg){u.push(o.slice(m,k)),m=k+1;continue}if(j==="/"){p=k;continue}}j==="["?d++:j==="]"?d--:j==="("?f++:j===")"&&f--}const g=u.length===0?o:o.slice(m);let b=g,S=!1;g.endsWith(of)?(b=g.slice(0,-1),S=!0):g.startsWith(of)&&(b=g.slice(1),S=!0);const Q=p&&p>m?p-m:void 0;return Vg(u,S,b,Q)};if(a){const o=a+Yg,u=l;l=d=>d.startsWith(o)?u(d.slice(o.length)):Vg(z$,!1,d,void 0,!0)}if(s){const o=l;l=u=>s({className:u,parseClassName:o})}return l},C$=t=>{const a=new Map;return t.orderSensitiveModifiers.forEach((s,l)=>{a.set(s,1e6+l)}),s=>{const l=[];let o=[];for(let u=0;u<s.length;u++){const d=s[u],f=d[0]==="[",m=a.has(d);f||m?(o.length>0&&(o.sort(),l.push(...o),o=[]),l.push(d)):o.push(d)}return o.length>0&&(o.sort(),l.push(...o)),l}},X$=t=>({cache:N$(t.cacheSize),parseClassName:R$(t),sortModifiers:C$(t),...y$(t)}),_$=/\s+/,Z$=(t,a)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:o,sortModifiers:u}=a,d=[],f=t.trim().split(_$);let m="";for(let p=f.length-1;p>=0;p-=1){const x=f[p],{isExternal:g,modifiers:b,hasImportantModifier:S,baseClassName:Q,maybePostfixModifierPosition:k}=s(x);if(g){m=x+(m.length>0?" "+m:m);continue}let j=!!k,T=l(j?Q.substring(0,k):Q);if(!T){if(!j){m=x+(m.length>0?" "+m:m);continue}if(T=l(Q),!T){m=x+(m.length>0?" "+m:m);continue}j=!1}const P=b.length===0?"":b.length===1?b[0]:u(b).join(":"),N=S?P+of:P,A=N+T;if(d.indexOf(A)>-1)continue;d.push(A);const G=o(T,j);for(let C=0;C<G.length;++C){const R=G[C];d.push(N+R)}m=x+(m.length>0?" "+m:m)}return m},A$=(...t)=>{let a=0,s,l,o="";for(;a<t.length;)(s=t[a++])&&(l=hb(s))&&(o&&(o+=" "),o+=l);return o},hb=t=>{if(typeof t=="string")return t;let a,s="";for(let l=0;l<t.length;l++)t[l]&&(a=hb(t[l]))&&(s&&(s+=" "),s+=a);return s},E$=(t,...a)=>{let s,l,o,u;const d=m=>{const p=a.reduce((x,g)=>g(x),t());return s=X$(p),l=s.cache.get,o=s.cache.set,u=f,f(m)},f=m=>{const p=l(m);if(p)return p;const x=Z$(m,s);return o(m,x),x};return u=d,(...m)=>u(A$(...m))},q$=[],ot=t=>{const a=s=>s[t]||q$;return a.isThemeGetter=!0,a},mb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,pb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M$=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Y$=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,V$=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,U$=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,G$=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L$=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Aa=t=>M$.test(t),Se=t=>!!t&&!Number.isNaN(Number(t)),Ea=t=>!!t&&Number.isInteger(Number(t)),hO=t=>t.endsWith("%")&&Se(t.slice(0,-1)),In=t=>Y$.test(t),xb=()=>!0,D$=t=>V$.test(t)&&!U$.test(t),Yf=()=>!1,W$=t=>G$.test(t),B$=t=>L$.test(t),H$=t=>!oe(t)&&!ue(t),I$=t=>Ka(t,vb,Yf),oe=t=>mb.test(t),gs=t=>Ka(t,yb,D$),Ug=t=>Ka(t,s5,Se),F$=t=>Ka(t,Qb,xb),K$=t=>Ka(t,Sb,Yf),Gg=t=>Ka(t,gb,Yf),J$=t=>Ka(t,bb,B$),Xo=t=>Ka(t,jb,W$),ue=t=>pb.test(t),Zr=t=>Ps(t,yb),e5=t=>Ps(t,Sb),Lg=t=>Ps(t,gb),t5=t=>Ps(t,vb),n5=t=>Ps(t,bb),_o=t=>Ps(t,jb,!0),a5=t=>Ps(t,Qb,!0),Ka=(t,a,s)=>{const l=mb.exec(t);return l?l[1]?a(l[1]):s(l[2]):!1},Ps=(t,a,s=!1)=>{const l=pb.exec(t);return l?l[1]?a(l[1]):s:!1},gb=t=>t==="position"||t==="percentage",bb=t=>t==="image"||t==="url",vb=t=>t==="length"||t==="size"||t==="bg-size",yb=t=>t==="length",s5=t=>t==="number",Sb=t=>t==="family-name",Qb=t=>t==="number"||t==="weight",jb=t=>t==="shadow",l5=()=>{const t=ot("color"),a=ot("font"),s=ot("text"),l=ot("font-weight"),o=ot("tracking"),u=ot("leading"),d=ot("breakpoint"),f=ot("container"),m=ot("spacing"),p=ot("radius"),x=ot("shadow"),g=ot("inset-shadow"),b=ot("text-shadow"),S=ot("drop-shadow"),Q=ot("blur"),k=ot("perspective"),j=ot("aspect"),T=ot("ease"),P=ot("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],G=()=>[...A(),ue,oe],C=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],$=()=>[ue,oe,m],W=()=>[Aa,"full","auto",...$()],U=()=>[Ea,"none","subgrid",ue,oe],le=()=>["auto",{span:["full",Ea,ue,oe]},Ea,ue,oe],re=()=>[Ea,"auto",ue,oe],pe=()=>["auto","min","max","fr",ue,oe],me=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],X=()=>["auto",...$()],I=()=>[Aa,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...$()],J=()=>[Aa,"screen","full","dvw","lvw","svw","min","max","fit",...$()],ce=()=>[Aa,"screen","full","lh","dvh","lvh","svh","min","max","fit",...$()],te=()=>[t,ue,oe],Ne=()=>[...A(),Lg,Gg,{position:[ue,oe]}],ke=()=>["no-repeat",{repeat:["","x","y","space","round"]}],be=()=>["auto","cover","contain",t5,I$,{size:[ue,oe]}],Ee=()=>[hO,Zr,gs],L=()=>["","none","full",p,ue,oe],de=()=>["",Se,Zr,gs],Re=()=>["solid","dashed","dotted","double"],Ot=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_e=()=>[Se,hO,Lg,Gg],tt=()=>["","none",Q,ue,oe],bt=()=>["none",Se,ue,oe],vt=()=>["none",Se,ue,oe],Ft=()=>[Se,ue,oe],yt=()=>[Aa,"full",...$()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[In],breakpoint:[In],color:[xb],container:[In],"drop-shadow":[In],ease:["in","out","in-out"],font:[H$],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[In],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[In],shadow:[In],spacing:["px",Se],text:[In],"text-shadow":[In],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Aa,oe,ue,j]}],container:["container"],columns:[{columns:[Se,oe,ue,f]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:G()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:W()}],"inset-x":[{"inset-x":W()}],"inset-y":[{"inset-y":W()}],start:[{"inset-s":W(),start:W()}],end:[{"inset-e":W(),end:W()}],"inset-bs":[{"inset-bs":W()}],"inset-be":[{"inset-be":W()}],top:[{top:W()}],right:[{right:W()}],bottom:[{bottom:W()}],left:[{left:W()}],visibility:["visible","invisible","collapse"],z:[{z:[Ea,"auto",ue,oe]}],basis:[{basis:[Aa,"full","auto",f,...$()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Se,Aa,"auto","initial","none",oe]}],grow:[{grow:["",Se,ue,oe]}],shrink:[{shrink:["",Se,ue,oe]}],order:[{order:[Ea,"first","last","none",ue,oe]}],"grid-cols":[{"grid-cols":U()}],"col-start-end":[{col:le()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":U()}],"row-start-end":[{row:le()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":pe()}],"auto-rows":[{"auto-rows":pe()}],gap:[{gap:$()}],"gap-x":[{"gap-x":$()}],"gap-y":[{"gap-y":$()}],"justify-content":[{justify:[...me(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...me()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":me()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:$()}],px:[{px:$()}],py:[{py:$()}],ps:[{ps:$()}],pe:[{pe:$()}],pbs:[{pbs:$()}],pbe:[{pbe:$()}],pt:[{pt:$()}],pr:[{pr:$()}],pb:[{pb:$()}],pl:[{pl:$()}],m:[{m:X()}],mx:[{mx:X()}],my:[{my:X()}],ms:[{ms:X()}],me:[{me:X()}],mbs:[{mbs:X()}],mbe:[{mbe:X()}],mt:[{mt:X()}],mr:[{mr:X()}],mb:[{mb:X()}],ml:[{ml:X()}],"space-x":[{"space-x":$()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":$()}],"space-y-reverse":["space-y-reverse"],size:[{size:I()}],"inline-size":[{inline:["auto",...J()]}],"min-inline-size":[{"min-inline":["auto",...J()]}],"max-inline-size":[{"max-inline":["none",...J()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[f,"screen",...I()]}],"min-w":[{"min-w":[f,"screen","none",...I()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[d]},...I()]}],h:[{h:["screen","lh",...I()]}],"min-h":[{"min-h":["screen","lh","none",...I()]}],"max-h":[{"max-h":["screen","lh",...I()]}],"font-size":[{text:["base",s,Zr,gs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,a5,F$]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",hO,oe]}],"font-family":[{font:[e5,K$,a]}],"font-features":[{"font-features":[oe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,ue,oe]}],"line-clamp":[{"line-clamp":[Se,"none",ue,Ug]}],leading:[{leading:[u,...$()]}],"list-image":[{"list-image":["none",ue,oe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ue,oe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:te()}],"text-color":[{text:te()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Re(),"wavy"]}],"text-decoration-thickness":[{decoration:[Se,"from-font","auto",ue,gs]}],"text-decoration-color":[{decoration:te()}],"underline-offset":[{"underline-offset":[Se,"auto",ue,oe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ue,oe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ue,oe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ne()}],"bg-repeat":[{bg:ke()}],"bg-size":[{bg:be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ea,ue,oe],radial:["",ue,oe],conic:[Ea,ue,oe]},n5,J$]}],"bg-color":[{bg:te()}],"gradient-from-pos":[{from:Ee()}],"gradient-via-pos":[{via:Ee()}],"gradient-to-pos":[{to:Ee()}],"gradient-from":[{from:te()}],"gradient-via":[{via:te()}],"gradient-to":[{to:te()}],rounded:[{rounded:L()}],"rounded-s":[{"rounded-s":L()}],"rounded-e":[{"rounded-e":L()}],"rounded-t":[{"rounded-t":L()}],"rounded-r":[{"rounded-r":L()}],"rounded-b":[{"rounded-b":L()}],"rounded-l":[{"rounded-l":L()}],"rounded-ss":[{"rounded-ss":L()}],"rounded-se":[{"rounded-se":L()}],"rounded-ee":[{"rounded-ee":L()}],"rounded-es":[{"rounded-es":L()}],"rounded-tl":[{"rounded-tl":L()}],"rounded-tr":[{"rounded-tr":L()}],"rounded-br":[{"rounded-br":L()}],"rounded-bl":[{"rounded-bl":L()}],"border-w":[{border:de()}],"border-w-x":[{"border-x":de()}],"border-w-y":[{"border-y":de()}],"border-w-s":[{"border-s":de()}],"border-w-e":[{"border-e":de()}],"border-w-bs":[{"border-bs":de()}],"border-w-be":[{"border-be":de()}],"border-w-t":[{"border-t":de()}],"border-w-r":[{"border-r":de()}],"border-w-b":[{"border-b":de()}],"border-w-l":[{"border-l":de()}],"divide-x":[{"divide-x":de()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":de()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Re(),"hidden","none"]}],"divide-style":[{divide:[...Re(),"hidden","none"]}],"border-color":[{border:te()}],"border-color-x":[{"border-x":te()}],"border-color-y":[{"border-y":te()}],"border-color-s":[{"border-s":te()}],"border-color-e":[{"border-e":te()}],"border-color-bs":[{"border-bs":te()}],"border-color-be":[{"border-be":te()}],"border-color-t":[{"border-t":te()}],"border-color-r":[{"border-r":te()}],"border-color-b":[{"border-b":te()}],"border-color-l":[{"border-l":te()}],"divide-color":[{divide:te()}],"outline-style":[{outline:[...Re(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Se,ue,oe]}],"outline-w":[{outline:["",Se,Zr,gs]}],"outline-color":[{outline:te()}],shadow:[{shadow:["","none",x,_o,Xo]}],"shadow-color":[{shadow:te()}],"inset-shadow":[{"inset-shadow":["none",g,_o,Xo]}],"inset-shadow-color":[{"inset-shadow":te()}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:te()}],"ring-offset-w":[{"ring-offset":[Se,gs]}],"ring-offset-color":[{"ring-offset":te()}],"inset-ring-w":[{"inset-ring":de()}],"inset-ring-color":[{"inset-ring":te()}],"text-shadow":[{"text-shadow":["none",b,_o,Xo]}],"text-shadow-color":[{"text-shadow":te()}],opacity:[{opacity:[Se,ue,oe]}],"mix-blend":[{"mix-blend":[...Ot(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ot()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Se]}],"mask-image-linear-from-pos":[{"mask-linear-from":_e()}],"mask-image-linear-to-pos":[{"mask-linear-to":_e()}],"mask-image-linear-from-color":[{"mask-linear-from":te()}],"mask-image-linear-to-color":[{"mask-linear-to":te()}],"mask-image-t-from-pos":[{"mask-t-from":_e()}],"mask-image-t-to-pos":[{"mask-t-to":_e()}],"mask-image-t-from-color":[{"mask-t-from":te()}],"mask-image-t-to-color":[{"mask-t-to":te()}],"mask-image-r-from-pos":[{"mask-r-from":_e()}],"mask-image-r-to-pos":[{"mask-r-to":_e()}],"mask-image-r-from-color":[{"mask-r-from":te()}],"mask-image-r-to-color":[{"mask-r-to":te()}],"mask-image-b-from-pos":[{"mask-b-from":_e()}],"mask-image-b-to-pos":[{"mask-b-to":_e()}],"mask-image-b-from-color":[{"mask-b-from":te()}],"mask-image-b-to-color":[{"mask-b-to":te()}],"mask-image-l-from-pos":[{"mask-l-from":_e()}],"mask-image-l-to-pos":[{"mask-l-to":_e()}],"mask-image-l-from-color":[{"mask-l-from":te()}],"mask-image-l-to-color":[{"mask-l-to":te()}],"mask-image-x-from-pos":[{"mask-x-from":_e()}],"mask-image-x-to-pos":[{"mask-x-to":_e()}],"mask-image-x-from-color":[{"mask-x-from":te()}],"mask-image-x-to-color":[{"mask-x-to":te()}],"mask-image-y-from-pos":[{"mask-y-from":_e()}],"mask-image-y-to-pos":[{"mask-y-to":_e()}],"mask-image-y-from-color":[{"mask-y-from":te()}],"mask-image-y-to-color":[{"mask-y-to":te()}],"mask-image-radial":[{"mask-radial":[ue,oe]}],"mask-image-radial-from-pos":[{"mask-radial-from":_e()}],"mask-image-radial-to-pos":[{"mask-radial-to":_e()}],"mask-image-radial-from-color":[{"mask-radial-from":te()}],"mask-image-radial-to-color":[{"mask-radial-to":te()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[Se]}],"mask-image-conic-from-pos":[{"mask-conic-from":_e()}],"mask-image-conic-to-pos":[{"mask-conic-to":_e()}],"mask-image-conic-from-color":[{"mask-conic-from":te()}],"mask-image-conic-to-color":[{"mask-conic-to":te()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ne()}],"mask-repeat":[{mask:ke()}],"mask-size":[{mask:be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ue,oe]}],filter:[{filter:["","none",ue,oe]}],blur:[{blur:tt()}],brightness:[{brightness:[Se,ue,oe]}],contrast:[{contrast:[Se,ue,oe]}],"drop-shadow":[{"drop-shadow":["","none",S,_o,Xo]}],"drop-shadow-color":[{"drop-shadow":te()}],grayscale:[{grayscale:["",Se,ue,oe]}],"hue-rotate":[{"hue-rotate":[Se,ue,oe]}],invert:[{invert:["",Se,ue,oe]}],saturate:[{saturate:[Se,ue,oe]}],sepia:[{sepia:["",Se,ue,oe]}],"backdrop-filter":[{"backdrop-filter":["","none",ue,oe]}],"backdrop-blur":[{"backdrop-blur":tt()}],"backdrop-brightness":[{"backdrop-brightness":[Se,ue,oe]}],"backdrop-contrast":[{"backdrop-contrast":[Se,ue,oe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Se,ue,oe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Se,ue,oe]}],"backdrop-invert":[{"backdrop-invert":["",Se,ue,oe]}],"backdrop-opacity":[{"backdrop-opacity":[Se,ue,oe]}],"backdrop-saturate":[{"backdrop-saturate":[Se,ue,oe]}],"backdrop-sepia":[{"backdrop-sepia":["",Se,ue,oe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":$()}],"border-spacing-x":[{"border-spacing-x":$()}],"border-spacing-y":[{"border-spacing-y":$()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ue,oe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Se,"initial",ue,oe]}],ease:[{ease:["linear","initial",T,ue,oe]}],delay:[{delay:[Se,ue,oe]}],animate:[{animate:["none",P,ue,oe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,ue,oe]}],"perspective-origin":[{"perspective-origin":G()}],rotate:[{rotate:bt()}],"rotate-x":[{"rotate-x":bt()}],"rotate-y":[{"rotate-y":bt()}],"rotate-z":[{"rotate-z":bt()}],scale:[{scale:vt()}],"scale-x":[{"scale-x":vt()}],"scale-y":[{"scale-y":vt()}],"scale-z":[{"scale-z":vt()}],"scale-3d":["scale-3d"],skew:[{skew:Ft()}],"skew-x":[{"skew-x":Ft()}],"skew-y":[{"skew-y":Ft()}],transform:[{transform:[ue,oe,"","none","gpu","cpu"]}],"transform-origin":[{origin:G()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:yt()}],"translate-x":[{"translate-x":yt()}],"translate-y":[{"translate-y":yt()}],"translate-z":[{"translate-z":yt()}],"translate-none":["translate-none"],accent:[{accent:te()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:te()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ue,oe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mbs":[{"scroll-mbs":$()}],"scroll-mbe":[{"scroll-mbe":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pbs":[{"scroll-pbs":$()}],"scroll-pbe":[{"scroll-pbe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ue,oe]}],fill:[{fill:["none",...te()]}],"stroke-w":[{stroke:[Se,Zr,gs,Ug]}],stroke:[{stroke:["none",...te()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},r5=E$(l5);function se(...t){return r5(x$(t))}function i5({children:t}){return i.jsx(d$,{delayDuration:300,children:t})}function Dg({children:t,content:a,side:s="top",className:l}){return a?i.jsxs(O$,{children:[i.jsx(f$,{asChild:!0,children:t}),i.jsx(h$,{children:i.jsxs(m$,{side:s,sideOffset:6,className:se("z-50 px-2.5 py-1.5 text-xs font-sans","bg-surface-4 text-text-0 border border-border rounded-md shadow-lg","animate-in fade-in-0 zoom-in-95",l),children:[a,i.jsx(p$,{className:"fill-surface-4"})]})})]}):t}/**
30
30
  * @license lucide-react v1.7.0 - ISC
31
31
  *
32
32
  * This source code is licensed under the ISC license.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>Groove GUI</title>
8
- <script type="module" crossorigin src="/assets/index-D4juRNU_.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-CyUFyn1h.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-C0HXlhrU.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/reactflow-BQPfi37R.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/codemirror-BBL3i_JW.js">
@@ -207,6 +207,10 @@ export const useGrooveStore = create((set, get) => ({
207
207
  get().addToast('info', `QC agent ${msg.name} auto-spawned`, 'Auditing phase 1 work');
208
208
  break;
209
209
 
210
+ case 'phase2:failed':
211
+ get().addToast('error', `QC agent failed to spawn`, msg.error || 'Unknown error');
212
+ break;
213
+
210
214
  case 'rotation:start':
211
215
  get().addToast('info', `Rotating ${msg.agentName}...`);
212
216
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groove-dev",
3
- "version": "0.24.4",
3
+ "version": "0.24.5",
4
4
  "description": "Open-source agent orchestration layer — the AI company OS. MCP integrations (Slack, Gmail, Stripe, 15+), agent scheduling (cron), business roles (CMO, CFO, EA). GUI dashboard, multi-agent coordination, zero cold-start, infinite sessions. Works with Claude Code, Codex, Gemini CLI, Ollama.",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "author": "Groove Dev <hello@groovedev.ai> (https://groovedev.ai)",
@@ -1562,8 +1562,9 @@ Keep responses concise. Help them think, don't lecture them about the system the
1562
1562
  // Safety net: if planner forgot the QC agent, auto-add one
1563
1563
  if (phase2.length === 0 && phase1.length >= 2) {
1564
1564
  phase2 = [{
1565
+ name: 'qc-agent',
1565
1566
  role: 'fullstack', phase: 2, scope: [],
1566
- prompt: 'QC Senior Dev: All builder agents have completed. Audit their changes for correctness, fix any issues, run tests, build the project, commit all changes, and launch. Output the localhost URL where the app can be accessed.',
1567
+ prompt: 'QC Senior Dev: All builder agents have completed. Audit their changes for correctness, fix any issues, run tests, build the project, commit all changes, and launch the dev server. Output the localhost URL where the app can be accessed.',
1567
1568
  }];
1568
1569
  }
1569
1570
 
@@ -445,8 +445,22 @@ For normal file edits within your scope, proceed without review.
445
445
  role: agent.role,
446
446
  });
447
447
  this.daemon.audit.log('phase2.autoSpawn', { id: agent.id, name: agent.name, role: agent.role });
448
- }).catch(() => {});
449
- } catch { /* skip invalid configs */ }
448
+ }).catch((err) => {
449
+ console.error(`[Groove] Phase 2 spawn failed for ${config.role}: ${err.message}`);
450
+ this.daemon.broadcast({
451
+ type: 'phase2:failed',
452
+ role: config.role,
453
+ error: err.message,
454
+ });
455
+ });
456
+ } catch (err) {
457
+ console.error(`[Groove] Phase 2 config invalid for ${config.role}: ${err.message}`);
458
+ this.daemon.broadcast({
459
+ type: 'phase2:failed',
460
+ role: config.role,
461
+ error: err.message,
462
+ });
463
+ }
450
464
  }
451
465
  }
452
466
  }
@@ -26,7 +26,7 @@ Error generating stack: `+c.message+`
26
26
  `),g=p.data.filter(b=>b.type==="tool_use").map(b=>{var S,Q,k;return`${b.name}: ${typeof b.input=="string"?b.input.slice(0,80):((S=b.input)==null?void 0:S.command)||((Q=b.input)==null?void 0:Q.path)||((k=b.input)==null?void 0:k.pattern)||JSON.stringify(b.input||"").slice(0,80)}`}).join(`
27
27
  `)),p.contextUsage!==void 0||p.tokensUsed!==void 0){const b=a().agents.map(S=>{if(S.id!==m)return S;const Q={};return p.contextUsage!==void 0&&(Q.contextUsage=p.contextUsage),p.tokensUsed!==void 0&&(Q.tokensUsed=p.tokensUsed),{...S,...Q}});t({agents:b})}if((p.subtype==="assistant"||p.type==="result")&&x&&x.trim()){const b={...a().chatHistory};b[m]||(b[m]=[]);const S=[...b[m]],Q=S[S.length-1];Q&&Q.from==="agent"&&Date.now()-Q.timestamp<8e3&&p.subtype==="assistant"?S[S.length-1]={...Q,text:Q.text+`
28
28
 
29
- `+x.trim(),timestamp:Date.now()}:S.push({from:"agent",text:x.trim(),timestamp:Date.now()}),b[m]=S.slice(-100),t({chatHistory:b}),bl("groove:chatHistory",b)}if(g&&g.trim()){const b={...a().activityLog};b[m]||(b[m]=[]),b[m]=[...b[m].slice(-200),{timestamp:Date.now(),text:g.trim(),type:p.type,subtype:"tool"}],t({activityLog:b}),bl("groove:activityLog",b)}break}case"agent:exit":{const m=a().agents.find(S=>S.id===o.agentId),p=(m==null?void 0:m.name)||o.agentId,x=o.status==="killed"||o.code===143||o.code===137,g=o.status==="completed"?`${p} completed`:x?`${p} stopped`:`${p} crashed (exit ${o.code})`,b=o.status==="completed"?"success":x?"info":"warning";a().addToast(b,g),(m==null?void 0:m.role)==="planner"&&o.status==="completed"&&setTimeout(()=>a().checkRecommendedTeam(),1e3);break}case"phase2:spawned":a().addToast("info",`QC agent ${o.name} auto-spawned`,"Auditing phase 1 work");break;case"rotation:start":a().addToast("info",`Rotating ${o.agentName}...`);break;case"rotation:complete":{a().addToast("success",`Rotated ${o.agentName}`,`Saved ${o.tokensSaved} tokens`);const m=a().detailPanel;(m==null?void 0:m.type)==="agent"&&m.agentId===o.oldAgentId&&o.newAgentId&&t(p=>{var b,S;const x={...p.chatHistory},g={...p.tokenTimeline};return(b=x[o.oldAgentId])!=null&&b.length&&(x[o.newAgentId]=[...x[o.oldAgentId]]),(S=g[o.oldAgentId])!=null&&S.length&&(g[o.newAgentId]=[...g[o.oldAgentId]]),{chatHistory:x,tokenTimeline:g,detailPanel:{type:"agent",agentId:o.newAgentId}}});break}case"rotation:failed":a().addToast("error","Rotation failed",o.error);break;case"file:changed":{const m=a().editorRecentSaves[o.path];if(m&&Date.now()-m<2e3)break;t(p=>({editorChangedFiles:{...p.editorChangedFiles,[o.path]:o.timestamp}}));break}case"team:created":case"team:deleted":case"team:updated":a().fetchTeams();break;case"approval:request":t(m=>({pendingApprovals:[...m.pendingApprovals,o.data]})),a().addToast("warning",`Approval needed: ${((u=o.data)==null?void 0:u.agentName)||"agent"}`,(f=(d=o.data)==null?void 0:d.action)==null?void 0:f.description);break;case"approval:resolved":{const m=o.data;t(p=>({pendingApprovals:p.pendingApprovals.filter(x=>x.id!==m.id),resolvedApprovals:[m,...p.resolvedApprovals].slice(0,200)}));break}case"conflict:detected":a().addToast("error",`Scope conflict: ${o.agentName||"agent"}`,o.filePath?`File: ${o.filePath}`:void 0);break;case"qc:activated":a().addToast("info","QC agent activated",`${o.agentCount||"4+"} agents running`);break;case"journalist:cycle":t({journalistStatus:o.data||null});break;case"schedule:execute":a().addToast("info",`Scheduled agent spawned: ${o.name||o.role||"agent"}`);break;case"gateway:status":t({gateways:o.data||[]});break}},s.onclose=()=>{t({connected:!1,hydrated:!1,ws:null,daemonHost:null,tunneled:!1}),setTimeout(()=>a().connect(),2e3)},s.onerror=()=>s.close()},setActiveView(s){t({activeView:s})},async fetchTeams(){try{const s=await ee.get("/teams"),l=s.teams||[],o=s.defaultTeamId,{activeTeamId:u}=a(),f=l.map(m=>m.id).includes(u)?u:o;t({teams:l,activeTeamId:f}),f&&localStorage.setItem("groove:activeTeamId",f)}catch{}},switchTeam(s){t({activeTeamId:s,detailPanel:null}),localStorage.setItem("groove:activeTeamId",s)},async createTeam(s,l){try{const o={name:s};l&&(o.workingDir=l);const u=await ee.post("/teams",o);return t({activeTeamId:u.id}),localStorage.setItem("groove:activeTeamId",u.id),a().addToast("success",`Team "${s}" created`),u}catch(o){throw a().addToast("error","Failed to create team",o.message),o}},async deleteTeam(s){const l=a().teams.find(o=>o.id===s);if(l!=null&&l.isDefault){a().addToast("warning","Cannot delete the default team");return}try{await ee.delete(`/teams/${s}`),a().addToast("info",`Team "${l==null?void 0:l.name}" deleted`)}catch(o){a().addToast("error","Failed to delete team",o.message)}},async renameTeam(s,l){try{const o=await ee.patch(`/teams/${s}`,{name:l});return t(u=>({teams:u.teams.map(d=>d.id===s?o:d)})),o}catch(o){throw a().addToast("error","Failed to rename team",o.message),o}},openDetail(s){t({detailPanel:s})},closeDetail(){t({detailPanel:null})},selectAgent(s){t({detailPanel:{type:"agent",agentId:s}})},clearSelection(){t({detailPanel:null})},toggleCommandPalette(){t(s=>({commandPaletteOpen:!s.commandPaletteOpen}))},setDetailPanelWidth(s){t({detailPanelWidth:s}),localStorage.setItem("groove:detailWidth",String(s))},setTerminalVisible(s){t({terminalVisible:s}),localStorage.setItem("groove:terminalVisible",String(s))},setTerminalHeight(s){t({terminalHeight:s}),localStorage.setItem("groove:terminalHeight",String(s))},setTerminalFullHeight(s){t({terminalFullHeight:s})},addToast(s,l,o){const u=++nw;t(d=>({toasts:[...d.toasts,{id:u,type:s,message:l,detail:o}]}))},removeToast(s){t(l=>({toasts:l.toasts.filter(o=>o.id!==s)}))},async checkMarketplaceAuth(){try{const s=await ee.get("/auth/status");t({marketplaceAuthenticated:s.authenticated||!1,marketplaceUser:s.user||null})}catch{t({marketplaceAuthenticated:!1,marketplaceUser:null})}},async marketplaceLogin(){try{const s=await ee.get("/auth/login-url");s.url&&window.open(s.url,"_blank");const l=setInterval(async()=>{var o,u;try{const d=await ee.get("/auth/status");d.authenticated&&(clearInterval(l),t({marketplaceAuthenticated:!0,marketplaceUser:d.user}),a().addToast("success",`Signed in as ${((o=d.user)==null?void 0:o.displayName)||((u=d.user)==null?void 0:u.id)||"user"}`))}catch{}},2e3);setTimeout(()=>clearInterval(l),3e5)}catch(s){a().addToast("error","Login failed",s.message)}},async marketplaceLogout(){try{await ee.post("/auth/logout"),t({marketplaceAuthenticated:!1,marketplaceUser:null}),a().addToast("info","Signed out of marketplace")}catch(s){a().addToast("error","Logout failed",s.message)}},async marketplaceCheckout(s){try{const l=await ee.post("/auth/checkout",{skillId:s});return l.url&&window.open(l.url,"_blank"),l}catch(l){throw a().addToast("error","Checkout failed",l.message),l}},async fetchApprovals(){try{const s=await ee.get("/approvals");t({pendingApprovals:s.pending||[],resolvedApprovals:s.resolved||[]})}catch{}},async approveRequest(s){try{await ee.post(`/approvals/${s}/approve`),t(l=>({pendingApprovals:l.pendingApprovals.filter(o=>o.id!==s)})),a().addToast("success","Approved")}catch(l){a().addToast("error","Approve failed",l.message)}},async rejectRequest(s,l=""){try{await ee.post(`/approvals/${s}/reject`,{reason:l}),t(o=>({pendingApprovals:o.pendingApprovals.filter(u=>u.id!==s)})),a().addToast("info","Rejected")}catch(o){a().addToast("error","Reject failed",o.message)}},async checkRecommendedTeam(){var s;try{const l=await ee.get("/recommended-team");l&&((s=l.agents)!=null&&s.length)?t({recommendedTeam:l}):t({recommendedTeam:null})}catch{t({recommendedTeam:null})}},async launchRecommendedTeam(){try{t({recommendedTeam:null}),a().addToast("info","Launching team...");const s=await ee.post("/recommended-team/launch");return a().addToast("success",`Launched ${s.launched} agents`,s.phase2Pending?`${s.phase2Pending} QC agents queued`:void 0),ee.post("/cleanup").catch(()=>{}),s}catch(s){throw a().addToast("error","Launch failed",s.message),s}},async fetchJournalist(){try{const s=await ee.get("/journalist");return t({journalistStatus:s}),s}catch{return null}},async triggerJournalistCycle(){try{const s=await ee.post("/journalist/cycle");return a().addToast("success","Synthesis cycle triggered"),t({journalistStatus:s}),s}catch(s){throw a().addToast("error","Synthesis failed",s.message),s}},async spawnAgent(s){try{const l=a().activeTeamId,o=await ee.post("/agents",{...s,teamId:l});return a().addToast("success",`Spawned ${o.name}`),o}catch(l){throw a().addToast("error","Spawn failed",l.message),l}},async killAgent(s,l=!1){try{await ee.delete(`/agents/${s}?purge=${l}`)}catch(o){a().addToast("error","Kill failed",o.message)}},async rotateAgent(s){try{return await ee.post(`/agents/${s}/rotate`)}catch(l){throw a().addToast("error","Rotation failed",l.message),l}},async fetchProviders(){return ee.get("/providers")},addChatMessage(s,l,o,u=!1){t(d=>{const f={...d.chatHistory};return f[s]||(f[s]=[]),f[s]=[...f[s].slice(-100),{from:l,text:o,timestamp:Date.now(),isQuery:u}],bl("groove:chatHistory",f),{chatHistory:f}})},async instructAgent(s,l){var d,f;const o=a().agents.find(m=>m.id===s);if(o&&(o.status==="running"||o.status==="starting")){a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",m.response),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}}a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/instruct`,{message:l});for(const p of["chatHistory","activityLog","tokenTimeline"]){const x=a()[p][s];x!=null&&x.length&&t(g=>({[p]:{...g[p],[m.id]:[...x]}}))}return(d=a().chatHistory[s])!=null&&d.length&&bl("groove:chatHistory",a().chatHistory),(f=a().activityLog[s])!=null&&f.length&&bl("groove:activityLog",a().activityLog),a().selectAgent(m.id),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}},async queryAgent(s,l){a().addChatMessage(s,"user",l,!0);try{const o=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",o.response),o}catch(o){throw a().addChatMessage(s,"system",`query failed: ${o.message}`),o}},async openFile(s){var u;if(a().editorFiles[s]||a().editorOpenTabs.includes(s)){t(d=>({editorActiveFile:s,editorOpenTabs:d.editorOpenTabs.includes(s)?d.editorOpenTabs:[...d.editorOpenTabs,s]}));return}const l=(u=s.split(".").pop())==null?void 0:u.toLowerCase();if(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif","mp4","webm","mov","avi","mkv","ogv"].includes(l)){t(d=>({editorActiveFile:s,editorOpenTabs:[...d.editorOpenTabs,s]}));return}try{const d=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(d.binary){a().addToast("warning","Binary file — cannot open");return}t(m=>({editorFiles:{...m.editorFiles,[s]:{content:d.content,originalContent:d.content,language:d.language,loadedAt:Date.now()}},editorActiveFile:s,editorOpenTabs:m.editorOpenTabs.includes(s)?m.editorOpenTabs:[...m.editorOpenTabs,s]}));const f=a().ws;(f==null?void 0:f.readyState)===1&&f.send(JSON.stringify({type:"editor:watch",path:s}))}catch(d){a().addToast("error","Failed to open file",d.message)}},closeFile(s){t(o=>{const u=o.editorOpenTabs.filter(p=>p!==s),d={...o.editorFiles};delete d[s];const f={...o.editorChangedFiles};delete f[s];let m=o.editorActiveFile;if(m===s){const p=o.editorOpenTabs.indexOf(s);m=u[Math.min(p,u.length-1)]||null}return{editorOpenTabs:u,editorFiles:d,editorChangedFiles:f,editorActiveFile:m}});const l=a().ws;(l==null?void 0:l.readyState)===1&&l.send(JSON.stringify({type:"editor:unwatch",path:s}))},setActiveFile(s){t({editorActiveFile:s})},updateFileContent(s,l){t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],content:l}}}))},async saveFile(s){const l=a().editorFiles[s];if(l)try{await ee.post("/files/write",{path:s,content:l.content}),t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],originalContent:l.content}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})(),editorRecentSaves:{...o.editorRecentSaves,[s]:Date.now()}})),a().addToast("success","File saved")}catch(o){a().addToast("error","Save failed",o.message)}},async reloadFile(s){try{const l=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(l.binary)return;t(o=>({editorFiles:{...o.editorFiles,[s]:{content:l.content,originalContent:l.content,language:l.language,loadedAt:Date.now()}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})()}))}catch{}},dismissFileChange(s){t(l=>{const o={...l.editorChangedFiles};return delete o[s],{editorChangedFiles:o}})},async fetchTreeDir(s){try{const l=await ee.get(`/files/tree?path=${encodeURIComponent(s)}`);t(o=>({editorTreeCache:{...o.editorTreeCache,[s]:l.entries}}))}catch{}},async createFile(s){try{await ee.post("/files/create",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","File created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async createDir(s){try{await ee.post("/files/mkdir",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","Folder created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async deleteFile(s){try{await ee.delete(`/files/delete?path=${encodeURIComponent(s)}`),a().editorOpenTabs.includes(s)&&a().closeFile(s);const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),t(o=>{const u={...o.editorTreeCache};return delete u[s],{editorTreeCache:u}}),a().addToast("success","Deleted"),!0}catch(l){return a().addToast("error","Delete failed",l.message),!1}},async renameFile(s,l){try{await ee.post("/files/rename",{oldPath:s,newPath:l}),t(d=>{const f=d.editorOpenTabs.map(x=>x===s?l:x),m={...d.editorFiles};m[s]&&(m[l]=m[s],delete m[s]);const p=d.editorActiveFile===s?l:d.editorActiveFile;return{editorOpenTabs:f,editorFiles:m,editorActiveFile:p}});const o=s.includes("/")?s.split("/").slice(0,-1).join("/"):"",u=l.includes("/")?l.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(o),u!==o&&await a().fetchTreeDir(u),a().addToast("success","Renamed"),!0}catch(o){return a().addToast("error","Rename failed",o.message),!1}}}));function aw(t){v.useEffect(()=>{function a(s){for(const l of t){const o=l.meta?s.metaKey||s.ctrlKey:!0,u=l.shift?s.shiftKey:!s.shiftKey;if(s.key.toLowerCase()===l.key.toLowerCase()&&o&&u){s.preventDefault(),l.handler();return}}}return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[t])}function Ae(t,a,{checkForDefaultPrevented:s=!0}={}){return function(o){if(t==null||t(o),s===!1||!o.defaultPrevented)return a==null?void 0:a(o)}}function kg(t,a){if(typeof t=="function")return t(a);t!=null&&(t.current=a)}function T0(...t){return a=>{let s=!1;const l=t.map(o=>{const u=kg(o,a);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let o=0;o<l.length;o++){const u=l[o];typeof u=="function"?u():kg(t[o],null)}}}}function rt(...t){return v.useCallback(T0(...t),t)}function sw(t,a){const s=v.createContext(a),l=u=>{const{children:d,...f}=u,m=v.useMemo(()=>f,Object.values(f));return i.jsx(s.Provider,{value:m,children:d})};l.displayName=t+"Provider";function o(u){const d=v.useContext(s);if(d)return d;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${t}\``)}return[l,o]}function Ts(t,a=[]){let s=[];function l(u,d){const f=v.createContext(d),m=s.length;s=[...s,d];const p=g=>{var T;const{scope:b,children:S,...Q}=g,k=((T=b==null?void 0:b[t])==null?void 0:T[m])||f,j=v.useMemo(()=>Q,Object.values(Q));return i.jsx(k.Provider,{value:j,children:S})};p.displayName=u+"Provider";function x(g,b){var k;const S=((k=b==null?void 0:b[t])==null?void 0:k[m])||f,Q=v.useContext(S);if(Q)return Q;if(d!==void 0)return d;throw new Error(`\`${g}\` must be used within \`${u}\``)}return[p,x]}const o=()=>{const u=s.map(d=>v.createContext(d));return function(f){const m=(f==null?void 0:f[t])||u;return v.useMemo(()=>({[`__scope${t}`]:{...f,[t]:m}}),[f,m])}};return o.scopeName=t,[l,lw(o,...a)]}function lw(...t){const a=t[0];if(t.length===1)return a;const s=()=>{const l=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(u){const d=l.reduce((f,{useScope:m,scopeName:p})=>{const g=m(u)[`__scope${p}`];return{...f,...g}},{});return v.useMemo(()=>({[`__scope${a.scopeName}`]:d}),[d])}};return s.scopeName=a.scopeName,s}function tc(t){const a=rw(t),s=v.forwardRef((l,o)=>{const{children:u,...d}=l,f=v.Children.toArray(u),m=f.find(ow);if(m){const p=m.props.children,x=f.map(g=>g===m?v.Children.count(p)>1?v.Children.only(null):v.isValidElement(p)?p.props.children:null:g);return i.jsx(a,{...d,ref:o,children:v.isValidElement(p)?v.cloneElement(p,void 0,x):null})}return i.jsx(a,{...d,ref:o,children:u})});return s.displayName=`${t}.Slot`,s}function rw(t){const a=v.forwardRef((s,l)=>{const{children:o,...u}=s;if(v.isValidElement(o)){const d=uw(o),f=cw(u,o.props);return o.type!==v.Fragment&&(f.ref=l?T0(l,d):d),v.cloneElement(o,f)}return v.Children.count(o)>1?v.Children.only(null):null});return a.displayName=`${t}.SlotClone`,a}var P0=Symbol("radix.slottable");function iw(t){const a=({children:s})=>i.jsx(i.Fragment,{children:s});return a.displayName=`${t}.Slottable`,a.__radixId=P0,a}function ow(t){return v.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===P0}function cw(t,a){const s={...a};for(const l in a){const o=t[l],u=a[l];/^on[A-Z]/.test(l)?o&&u?s[l]=(...f)=>{const m=u(...f);return o(...f),m}:o&&(s[l]=o):l==="style"?s[l]={...o,...u}:l==="className"&&(s[l]=[o,u].filter(Boolean).join(" "))}return{...t,...s}}function uw(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var dw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Be=dw.reduce((t,a)=>{const s=tc(`Primitive.${a}`),l=v.forwardRef((o,u)=>{const{asChild:d,...f}=o,m=d?s:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(m,{...f,ref:u})});return l.displayName=`Primitive.${a}`,{...t,[a]:l}},{});function Ow(t,a){t&&v0.flushSync(()=>t.dispatchEvent(a))}function Rt(t){const a=v.useRef(t);return v.useEffect(()=>{a.current=t}),v.useMemo(()=>(...s)=>{var l;return(l=a.current)==null?void 0:l.call(a,...s)},[])}function fw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t);v.useEffect(()=>{const l=o=>{o.key==="Escape"&&s(o)};return a.addEventListener("keydown",l,{capture:!0}),()=>a.removeEventListener("keydown",l,{capture:!0})},[s,a])}var hw="DismissableLayer",tf="dismissableLayer.update",mw="dismissableLayer.pointerDownOutside",pw="dismissableLayer.focusOutside",$g,N0=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Tf=v.forwardRef((t,a)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:d,onDismiss:f,...m}=t,p=v.useContext(N0),[x,g]=v.useState(null),b=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=v.useState({}),Q=rt(a,R=>g(R)),k=Array.from(p.layers),[j]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),T=k.indexOf(j),P=x?k.indexOf(x):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,A=P>=T,G=bw(R=>{const $=R.target,W=[...p.branches].some(U=>U.contains($));!A||W||(o==null||o(R),d==null||d(R),R.defaultPrevented||f==null||f())},b),C=vw(R=>{const $=R.target;[...p.branches].some(U=>U.contains($))||(u==null||u(R),d==null||d(R),R.defaultPrevented||f==null||f())},b);return fw(R=>{P===p.layers.size-1&&(l==null||l(R),!R.defaultPrevented&&f&&(R.preventDefault(),f()))},b),v.useEffect(()=>{if(x)return s&&(p.layersWithOutsidePointerEventsDisabled.size===0&&($g=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),Tg(),()=>{s&&p.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=$g)}},[x,b,s,p]),v.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),Tg())},[x,p]),v.useEffect(()=>{const R=()=>S({});return document.addEventListener(tf,R),()=>document.removeEventListener(tf,R)},[]),i.jsx(Be.div,{...m,ref:Q,style:{pointerEvents:N?A?"auto":"none":void 0,...t.style},onFocusCapture:Ae(t.onFocusCapture,C.onFocusCapture),onBlurCapture:Ae(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Ae(t.onPointerDownCapture,G.onPointerDownCapture)})});Tf.displayName=hw;var xw="DismissableLayerBranch",gw=v.forwardRef((t,a)=>{const s=v.useContext(N0),l=v.useRef(null),o=rt(a,l);return v.useEffect(()=>{const u=l.current;if(u)return s.branches.add(u),()=>{s.branches.delete(u)}},[s.branches]),i.jsx(Be.div,{...t,ref:o})});gw.displayName=xw;function bw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1),o=v.useRef(()=>{});return v.useEffect(()=>{const u=f=>{if(f.target&&!l.current){let m=function(){z0(mw,s,p,{discrete:!0})};const p={originalEvent:f};f.pointerType==="touch"?(a.removeEventListener("click",o.current),o.current=m,a.addEventListener("click",o.current,{once:!0})):m()}else a.removeEventListener("click",o.current);l.current=!1},d=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),a.removeEventListener("pointerdown",u),a.removeEventListener("click",o.current)}},[a,s]),{onPointerDownCapture:()=>l.current=!0}}function vw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1);return v.useEffect(()=>{const o=u=>{u.target&&!l.current&&z0(pw,s,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",o),()=>a.removeEventListener("focusin",o)},[a,s]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function Tg(){const t=new CustomEvent(tf);document.dispatchEvent(t)}function z0(t,a,s,{discrete:l}){const o=s.originalEvent.target,u=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:s});a&&o.addEventListener(t,a,{once:!0}),l?Ow(o,u):o.dispatchEvent(u)}var la=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},yw=x0[" useId ".trim().toString()]||(()=>{}),Sw=0;function Sl(t){const[a,s]=v.useState(yw());return la(()=>{s(l=>l??String(Sw++))},[t]),t||(a?`radix-${a}`:"")}const Qw=["top","right","bottom","left"],Wa=Math.min,Bt=Math.max,nc=Math.round,Ro=Math.floor,Tn=t=>({x:t,y:t}),jw={left:"right",right:"left",bottom:"top",top:"bottom"};function nf(t,a,s){return Bt(t,Wa(a,s))}function ra(t,a){return typeof t=="function"?t(a):t}function ia(t){return t.split("-")[0]}function Zl(t){return t.split("-")[1]}function Pf(t){return t==="x"?"y":"x"}function Nf(t){return t==="y"?"height":"width"}function $n(t){const a=t[0];return a==="t"||a==="b"?"y":"x"}function zf(t){return Pf($n(t))}function ww(t,a,s){s===void 0&&(s=!1);const l=Zl(t),o=zf(t),u=Nf(o);let d=o==="x"?l===(s?"end":"start")?"right":"left":l==="start"?"bottom":"top";return a.reference[u]>a.floating[u]&&(d=ac(d)),[d,ac(d)]}function kw(t){const a=ac(t);return[af(t),a,af(a)]}function af(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Pg=["left","right"],Ng=["right","left"],$w=["top","bottom"],Tw=["bottom","top"];function Pw(t,a,s){switch(t){case"top":case"bottom":return s?a?Ng:Pg:a?Pg:Ng;case"left":case"right":return a?$w:Tw;default:return[]}}function Nw(t,a,s,l){const o=Zl(t);let u=Pw(ia(t),s==="start",l);return o&&(u=u.map(d=>d+"-"+o),a&&(u=u.concat(u.map(af)))),u}function ac(t){const a=ia(t);return jw[a]+t.slice(a.length)}function zw(t){return{top:0,right:0,bottom:0,left:0,...t}}function R0(t){return typeof t!="number"?zw(t):{top:t,right:t,bottom:t,left:t}}function sc(t){const{x:a,y:s,width:l,height:o}=t;return{width:l,height:o,top:s,left:a,right:a+l,bottom:s+o,x:a,y:s}}function zg(t,a,s){let{reference:l,floating:o}=t;const u=$n(a),d=zf(a),f=Nf(d),m=ia(a),p=u==="y",x=l.x+l.width/2-o.width/2,g=l.y+l.height/2-o.height/2,b=l[f]/2-o[f]/2;let S;switch(m){case"top":S={x,y:l.y-o.height};break;case"bottom":S={x,y:l.y+l.height};break;case"right":S={x:l.x+l.width,y:g};break;case"left":S={x:l.x-o.width,y:g};break;default:S={x:l.x,y:l.y}}switch(Zl(a)){case"start":S[d]-=b*(s&&p?-1:1);break;case"end":S[d]+=b*(s&&p?-1:1);break}return S}async function Rw(t,a){var s;a===void 0&&(a={});const{x:l,y:o,platform:u,rects:d,elements:f,strategy:m}=t,{boundary:p="clippingAncestors",rootBoundary:x="viewport",elementContext:g="floating",altBoundary:b=!1,padding:S=0}=ra(a,t),Q=R0(S),j=f[b?g==="floating"?"reference":"floating":g],T=sc(await u.getClippingRect({element:(s=await(u.isElement==null?void 0:u.isElement(j)))==null||s?j:j.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(f.floating)),boundary:p,rootBoundary:x,strategy:m})),P=g==="floating"?{x:l,y:o,width:d.floating.width,height:d.floating.height}:d.reference,N=await(u.getOffsetParent==null?void 0:u.getOffsetParent(f.floating)),A=await(u.isElement==null?void 0:u.isElement(N))?await(u.getScale==null?void 0:u.getScale(N))||{x:1,y:1}:{x:1,y:1},G=sc(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:P,offsetParent:N,strategy:m}):P);return{top:(T.top-G.top+Q.top)/A.y,bottom:(G.bottom-T.bottom+Q.bottom)/A.y,left:(T.left-G.left+Q.left)/A.x,right:(G.right-T.right+Q.right)/A.x}}const Cw=50,Xw=async(t,a,s)=>{const{placement:l="bottom",strategy:o="absolute",middleware:u=[],platform:d}=s,f=d.detectOverflow?d:{...d,detectOverflow:Rw},m=await(d.isRTL==null?void 0:d.isRTL(a));let p=await d.getElementRects({reference:t,floating:a,strategy:o}),{x,y:g}=zg(p,l,m),b=l,S=0;const Q={};for(let k=0;k<u.length;k++){const j=u[k];if(!j)continue;const{name:T,fn:P}=j,{x:N,y:A,data:G,reset:C}=await P({x,y:g,initialPlacement:l,placement:b,strategy:o,middlewareData:Q,rects:p,platform:f,elements:{reference:t,floating:a}});x=N??x,g=A??g,Q[T]={...Q[T],...G},C&&S<Cw&&(S++,typeof C=="object"&&(C.placement&&(b=C.placement),C.rects&&(p=C.rects===!0?await d.getElementRects({reference:t,floating:a,strategy:o}):C.rects),{x,y:g}=zg(p,b,m)),k=-1)}return{x,y:g,placement:b,strategy:o,middlewareData:Q}},_w=t=>({name:"arrow",options:t,async fn(a){const{x:s,y:l,placement:o,rects:u,platform:d,elements:f,middlewareData:m}=a,{element:p,padding:x=0}=ra(t,a)||{};if(p==null)return{};const g=R0(x),b={x:s,y:l},S=zf(o),Q=Nf(S),k=await d.getDimensions(p),j=S==="y",T=j?"top":"left",P=j?"bottom":"right",N=j?"clientHeight":"clientWidth",A=u.reference[Q]+u.reference[S]-b[S]-u.floating[Q],G=b[S]-u.reference[S],C=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let R=C?C[N]:0;(!R||!await(d.isElement==null?void 0:d.isElement(C)))&&(R=f.floating[N]||u.floating[Q]);const $=A/2-G/2,W=R/2-k[Q]/2-1,U=Wa(g[T],W),le=Wa(g[P],W),re=U,pe=R-k[Q]-le,me=R/2-k[Q]/2+$,V=nf(re,me,pe),X=!m.arrow&&Zl(o)!=null&&me!==V&&u.reference[Q]/2-(me<re?U:le)-k[Q]/2<0,I=X?me<re?me-re:me-pe:0;return{[S]:b[S]+I,data:{[S]:V,centerOffset:me-V-I,...X&&{alignmentOffset:I}},reset:X}}}),Zw=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(a){var s,l;const{placement:o,middlewareData:u,rects:d,initialPlacement:f,platform:m,elements:p}=a,{mainAxis:x=!0,crossAxis:g=!0,fallbackPlacements:b,fallbackStrategy:S="bestFit",fallbackAxisSideDirection:Q="none",flipAlignment:k=!0,...j}=ra(t,a);if((s=u.arrow)!=null&&s.alignmentOffset)return{};const T=ia(o),P=$n(f),N=ia(f)===f,A=await(m.isRTL==null?void 0:m.isRTL(p.floating)),G=b||(N||!k?[ac(f)]:kw(f)),C=Q!=="none";!b&&C&&G.push(...Nw(f,k,Q,A));const R=[f,...G],$=await m.detectOverflow(a,j),W=[];let U=((l=u.flip)==null?void 0:l.overflows)||[];if(x&&W.push($[T]),g){const me=ww(o,d,A);W.push($[me[0]],$[me[1]])}if(U=[...U,{placement:o,overflows:W}],!W.every(me=>me<=0)){var le,re;const me=(((le=u.flip)==null?void 0:le.index)||0)+1,V=R[me];if(V&&(!(g==="alignment"?P!==$n(V):!1)||U.every(J=>$n(J.placement)===P?J.overflows[0]>0:!0)))return{data:{index:me,overflows:U},reset:{placement:V}};let X=(re=U.filter(I=>I.overflows[0]<=0).sort((I,J)=>I.overflows[1]-J.overflows[1])[0])==null?void 0:re.placement;if(!X)switch(S){case"bestFit":{var pe;const I=(pe=U.filter(J=>{if(C){const ce=$n(J.placement);return ce===P||ce==="y"}return!0}).map(J=>[J.placement,J.overflows.filter(ce=>ce>0).reduce((ce,te)=>ce+te,0)]).sort((J,ce)=>J[1]-ce[1])[0])==null?void 0:pe[0];I&&(X=I);break}case"initialPlacement":X=f;break}if(o!==X)return{reset:{placement:X}}}return{}}}};function Rg(t,a){return{top:t.top-a.height,right:t.right-a.width,bottom:t.bottom-a.height,left:t.left-a.width}}function Cg(t){return Qw.some(a=>t[a]>=0)}const Aw=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(a){const{rects:s,platform:l}=a,{strategy:o="referenceHidden",...u}=ra(t,a);switch(o){case"referenceHidden":{const d=await l.detectOverflow(a,{...u,elementContext:"reference"}),f=Rg(d,s.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:Cg(f)}}}case"escaped":{const d=await l.detectOverflow(a,{...u,altBoundary:!0}),f=Rg(d,s.floating);return{data:{escapedOffsets:f,escaped:Cg(f)}}}default:return{}}}}},C0=new Set(["left","top"]);async function Ew(t,a){const{placement:s,platform:l,elements:o}=t,u=await(l.isRTL==null?void 0:l.isRTL(o.floating)),d=ia(s),f=Zl(s),m=$n(s)==="y",p=C0.has(d)?-1:1,x=u&&m?-1:1,g=ra(a,t);let{mainAxis:b,crossAxis:S,alignmentAxis:Q}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return f&&typeof Q=="number"&&(S=f==="end"?Q*-1:Q),m?{x:S*x,y:b*p}:{x:b*p,y:S*x}}const qw=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(a){var s,l;const{x:o,y:u,placement:d,middlewareData:f}=a,m=await Ew(a,t);return d===((s=f.offset)==null?void 0:s.placement)&&(l=f.arrow)!=null&&l.alignmentOffset?{}:{x:o+m.x,y:u+m.y,data:{...m,placement:d}}}}},Mw=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(a){const{x:s,y:l,placement:o,platform:u}=a,{mainAxis:d=!0,crossAxis:f=!1,limiter:m={fn:T=>{let{x:P,y:N}=T;return{x:P,y:N}}},...p}=ra(t,a),x={x:s,y:l},g=await u.detectOverflow(a,p),b=$n(ia(o)),S=Pf(b);let Q=x[S],k=x[b];if(d){const T=S==="y"?"top":"left",P=S==="y"?"bottom":"right",N=Q+g[T],A=Q-g[P];Q=nf(N,Q,A)}if(f){const T=b==="y"?"top":"left",P=b==="y"?"bottom":"right",N=k+g[T],A=k-g[P];k=nf(N,k,A)}const j=m.fn({...a,[S]:Q,[b]:k});return{...j,data:{x:j.x-s,y:j.y-l,enabled:{[S]:d,[b]:f}}}}}},Yw=function(t){return t===void 0&&(t={}),{options:t,fn(a){const{x:s,y:l,placement:o,rects:u,middlewareData:d}=a,{offset:f=0,mainAxis:m=!0,crossAxis:p=!0}=ra(t,a),x={x:s,y:l},g=$n(o),b=Pf(g);let S=x[b],Q=x[g];const k=ra(f,a),j=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(m){const N=b==="y"?"height":"width",A=u.reference[b]-u.floating[N]+j.mainAxis,G=u.reference[b]+u.reference[N]-j.mainAxis;S<A?S=A:S>G&&(S=G)}if(p){var T,P;const N=b==="y"?"width":"height",A=C0.has(ia(o)),G=u.reference[g]-u.floating[N]+(A&&((T=d.offset)==null?void 0:T[g])||0)+(A?0:j.crossAxis),C=u.reference[g]+u.reference[N]+(A?0:((P=d.offset)==null?void 0:P[g])||0)-(A?j.crossAxis:0);Q<G?Q=G:Q>C&&(Q=C)}return{[b]:S,[g]:Q}}}},Vw=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(a){var s,l;const{placement:o,rects:u,platform:d,elements:f}=a,{apply:m=()=>{},...p}=ra(t,a),x=await d.detectOverflow(a,p),g=ia(o),b=Zl(o),S=$n(o)==="y",{width:Q,height:k}=u.floating;let j,T;g==="top"||g==="bottom"?(j=g,T=b===(await(d.isRTL==null?void 0:d.isRTL(f.floating))?"start":"end")?"left":"right"):(T=g,j=b==="end"?"top":"bottom");const P=k-x.top-x.bottom,N=Q-x.left-x.right,A=Wa(k-x[j],P),G=Wa(Q-x[T],N),C=!a.middlewareData.shift;let R=A,$=G;if((s=a.middlewareData.shift)!=null&&s.enabled.x&&($=N),(l=a.middlewareData.shift)!=null&&l.enabled.y&&(R=P),C&&!b){const U=Bt(x.left,0),le=Bt(x.right,0),re=Bt(x.top,0),pe=Bt(x.bottom,0);S?$=Q-2*(U!==0||le!==0?U+le:Bt(x.left,x.right)):R=k-2*(re!==0||pe!==0?re+pe:Bt(x.top,x.bottom))}await m({...a,availableWidth:$,availableHeight:R});const W=await d.getDimensions(f.floating);return Q!==W.width||k!==W.height?{reset:{rects:!0}}:{}}}};function kc(){return typeof window<"u"}function Al(t){return X0(t)?(t.nodeName||"").toLowerCase():"#document"}function Ht(t){var a;return(t==null||(a=t.ownerDocument)==null?void 0:a.defaultView)||window}function Nn(t){var a;return(a=(X0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:a.documentElement}function X0(t){return kc()?t instanceof Node||t instanceof Ht(t).Node:!1}function xn(t){return kc()?t instanceof Element||t instanceof Ht(t).Element:!1}function oa(t){return kc()?t instanceof HTMLElement||t instanceof Ht(t).HTMLElement:!1}function Xg(t){return!kc()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ht(t).ShadowRoot}function li(t){const{overflow:a,overflowX:s,overflowY:l,display:o}=gn(t);return/auto|scroll|overlay|hidden|clip/.test(a+l+s)&&o!=="inline"&&o!=="contents"}function Uw(t){return/^(table|td|th)$/.test(Al(t))}function $c(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const Gw=/transform|translate|scale|rotate|perspective|filter/,Lw=/paint|layout|strict|content/,xs=t=>!!t&&t!=="none";let dO;function Rf(t){const a=xn(t)?gn(t):t;return xs(a.transform)||xs(a.translate)||xs(a.scale)||xs(a.rotate)||xs(a.perspective)||!Cf()&&(xs(a.backdropFilter)||xs(a.filter))||Gw.test(a.willChange||"")||Lw.test(a.contain||"")}function Dw(t){let a=Ba(t);for(;oa(a)&&!$l(a);){if(Rf(a))return a;if($c(a))return null;a=Ba(a)}return null}function Cf(){return dO==null&&(dO=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),dO}function $l(t){return/^(html|body|#document)$/.test(Al(t))}function gn(t){return Ht(t).getComputedStyle(t)}function Tc(t){return xn(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Ba(t){if(Al(t)==="html")return t;const a=t.assignedSlot||t.parentNode||Xg(t)&&t.host||Nn(t);return Xg(a)?a.host:a}function _0(t){const a=Ba(t);return $l(a)?t.ownerDocument?t.ownerDocument.body:t.body:oa(a)&&li(a)?a:_0(a)}function Dr(t,a,s){var l;a===void 0&&(a=[]),s===void 0&&(s=!0);const o=_0(t),u=o===((l=t.ownerDocument)==null?void 0:l.body),d=Ht(o);if(u){const f=sf(d);return a.concat(d,d.visualViewport||[],li(o)?o:[],f&&s?Dr(f):[])}else return a.concat(o,Dr(o,[],s))}function sf(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Z0(t){const a=gn(t);let s=parseFloat(a.width)||0,l=parseFloat(a.height)||0;const o=oa(t),u=o?t.offsetWidth:s,d=o?t.offsetHeight:l,f=nc(s)!==u||nc(l)!==d;return f&&(s=u,l=d),{width:s,height:l,$:f}}function Xf(t){return xn(t)?t:t.contextElement}function Ql(t){const a=Xf(t);if(!oa(a))return Tn(1);const s=a.getBoundingClientRect(),{width:l,height:o,$:u}=Z0(a);let d=(u?nc(s.width):s.width)/l,f=(u?nc(s.height):s.height)/o;return(!d||!Number.isFinite(d))&&(d=1),(!f||!Number.isFinite(f))&&(f=1),{x:d,y:f}}const Ww=Tn(0);function A0(t){const a=Ht(t);return!Cf()||!a.visualViewport?Ww:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Bw(t,a,s){return a===void 0&&(a=!1),!s||a&&s!==Ht(t)?!1:a}function Ss(t,a,s,l){a===void 0&&(a=!1),s===void 0&&(s=!1);const o=t.getBoundingClientRect(),u=Xf(t);let d=Tn(1);a&&(l?xn(l)&&(d=Ql(l)):d=Ql(t));const f=Bw(u,s,l)?A0(u):Tn(0);let m=(o.left+f.x)/d.x,p=(o.top+f.y)/d.y,x=o.width/d.x,g=o.height/d.y;if(u){const b=Ht(u),S=l&&xn(l)?Ht(l):l;let Q=b,k=sf(Q);for(;k&&l&&S!==Q;){const j=Ql(k),T=k.getBoundingClientRect(),P=gn(k),N=T.left+(k.clientLeft+parseFloat(P.paddingLeft))*j.x,A=T.top+(k.clientTop+parseFloat(P.paddingTop))*j.y;m*=j.x,p*=j.y,x*=j.x,g*=j.y,m+=N,p+=A,Q=Ht(k),k=sf(Q)}}return sc({width:x,height:g,x:m,y:p})}function Pc(t,a){const s=Tc(t).scrollLeft;return a?a.left+s:Ss(Nn(t)).left+s}function E0(t,a){const s=t.getBoundingClientRect(),l=s.left+a.scrollLeft-Pc(t,s),o=s.top+a.scrollTop;return{x:l,y:o}}function Hw(t){let{elements:a,rect:s,offsetParent:l,strategy:o}=t;const u=o==="fixed",d=Nn(l),f=a?$c(a.floating):!1;if(l===d||f&&u)return s;let m={scrollLeft:0,scrollTop:0},p=Tn(1);const x=Tn(0),g=oa(l);if((g||!g&&!u)&&((Al(l)!=="body"||li(d))&&(m=Tc(l)),g)){const S=Ss(l);p=Ql(l),x.x=S.x+l.clientLeft,x.y=S.y+l.clientTop}const b=d&&!g&&!u?E0(d,m):Tn(0);return{width:s.width*p.x,height:s.height*p.y,x:s.x*p.x-m.scrollLeft*p.x+x.x+b.x,y:s.y*p.y-m.scrollTop*p.y+x.y+b.y}}function Iw(t){return Array.from(t.getClientRects())}function Fw(t){const a=Nn(t),s=Tc(t),l=t.ownerDocument.body,o=Bt(a.scrollWidth,a.clientWidth,l.scrollWidth,l.clientWidth),u=Bt(a.scrollHeight,a.clientHeight,l.scrollHeight,l.clientHeight);let d=-s.scrollLeft+Pc(t);const f=-s.scrollTop;return gn(l).direction==="rtl"&&(d+=Bt(a.clientWidth,l.clientWidth)-o),{width:o,height:u,x:d,y:f}}const _g=25;function Kw(t,a){const s=Ht(t),l=Nn(t),o=s.visualViewport;let u=l.clientWidth,d=l.clientHeight,f=0,m=0;if(o){u=o.width,d=o.height;const x=Cf();(!x||x&&a==="fixed")&&(f=o.offsetLeft,m=o.offsetTop)}const p=Pc(l);if(p<=0){const x=l.ownerDocument,g=x.body,b=getComputedStyle(g),S=x.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,Q=Math.abs(l.clientWidth-g.clientWidth-S);Q<=_g&&(u-=Q)}else p<=_g&&(u+=p);return{width:u,height:d,x:f,y:m}}function Jw(t,a){const s=Ss(t,!0,a==="fixed"),l=s.top+t.clientTop,o=s.left+t.clientLeft,u=oa(t)?Ql(t):Tn(1),d=t.clientWidth*u.x,f=t.clientHeight*u.y,m=o*u.x,p=l*u.y;return{width:d,height:f,x:m,y:p}}function Zg(t,a,s){let l;if(a==="viewport")l=Kw(t,s);else if(a==="document")l=Fw(Nn(t));else if(xn(a))l=Jw(a,s);else{const o=A0(t);l={x:a.x-o.x,y:a.y-o.y,width:a.width,height:a.height}}return sc(l)}function q0(t,a){const s=Ba(t);return s===a||!xn(s)||$l(s)?!1:gn(s).position==="fixed"||q0(s,a)}function ek(t,a){const s=a.get(t);if(s)return s;let l=Dr(t,[],!1).filter(f=>xn(f)&&Al(f)!=="body"),o=null;const u=gn(t).position==="fixed";let d=u?Ba(t):t;for(;xn(d)&&!$l(d);){const f=gn(d),m=Rf(d);!m&&f.position==="fixed"&&(o=null),(u?!m&&!o:!m&&f.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||li(d)&&!m&&q0(t,d))?l=l.filter(x=>x!==d):o=f,d=Ba(d)}return a.set(t,l),l}function tk(t){let{element:a,boundary:s,rootBoundary:l,strategy:o}=t;const d=[...s==="clippingAncestors"?$c(a)?[]:ek(a,this._c):[].concat(s),l],f=Zg(a,d[0],o);let m=f.top,p=f.right,x=f.bottom,g=f.left;for(let b=1;b<d.length;b++){const S=Zg(a,d[b],o);m=Bt(S.top,m),p=Wa(S.right,p),x=Wa(S.bottom,x),g=Bt(S.left,g)}return{width:p-g,height:x-m,x:g,y:m}}function nk(t){const{width:a,height:s}=Z0(t);return{width:a,height:s}}function ak(t,a,s){const l=oa(a),o=Nn(a),u=s==="fixed",d=Ss(t,!0,u,a);let f={scrollLeft:0,scrollTop:0};const m=Tn(0);function p(){m.x=Pc(o)}if(l||!l&&!u)if((Al(a)!=="body"||li(o))&&(f=Tc(a)),l){const S=Ss(a,!0,u,a);m.x=S.x+a.clientLeft,m.y=S.y+a.clientTop}else o&&p();u&&!l&&o&&p();const x=o&&!l&&!u?E0(o,f):Tn(0),g=d.left+f.scrollLeft-m.x-x.x,b=d.top+f.scrollTop-m.y-x.y;return{x:g,y:b,width:d.width,height:d.height}}function OO(t){return gn(t).position==="static"}function Ag(t,a){if(!oa(t)||gn(t).position==="fixed")return null;if(a)return a(t);let s=t.offsetParent;return Nn(t)===s&&(s=s.ownerDocument.body),s}function M0(t,a){const s=Ht(t);if($c(t))return s;if(!oa(t)){let o=Ba(t);for(;o&&!$l(o);){if(xn(o)&&!OO(o))return o;o=Ba(o)}return s}let l=Ag(t,a);for(;l&&Uw(l)&&OO(l);)l=Ag(l,a);return l&&$l(l)&&OO(l)&&!Rf(l)?s:l||Dw(t)||s}const sk=async function(t){const a=this.getOffsetParent||M0,s=this.getDimensions,l=await s(t.floating);return{reference:ak(t.reference,await a(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function lk(t){return gn(t).direction==="rtl"}const rk={convertOffsetParentRelativeRectToViewportRelativeRect:Hw,getDocumentElement:Nn,getClippingRect:tk,getOffsetParent:M0,getElementRects:sk,getClientRects:Iw,getDimensions:nk,getScale:Ql,isElement:xn,isRTL:lk};function Y0(t,a){return t.x===a.x&&t.y===a.y&&t.width===a.width&&t.height===a.height}function ik(t,a){let s=null,l;const o=Nn(t);function u(){var f;clearTimeout(l),(f=s)==null||f.disconnect(),s=null}function d(f,m){f===void 0&&(f=!1),m===void 0&&(m=1),u();const p=t.getBoundingClientRect(),{left:x,top:g,width:b,height:S}=p;if(f||a(),!b||!S)return;const Q=Ro(g),k=Ro(o.clientWidth-(x+b)),j=Ro(o.clientHeight-(g+S)),T=Ro(x),N={rootMargin:-Q+"px "+-k+"px "+-j+"px "+-T+"px",threshold:Bt(0,Wa(1,m))||1};let A=!0;function G(C){const R=C[0].intersectionRatio;if(R!==m){if(!A)return d();R?d(!1,R):l=setTimeout(()=>{d(!1,1e-7)},1e3)}R===1&&!Y0(p,t.getBoundingClientRect())&&d(),A=!1}try{s=new IntersectionObserver(G,{...N,root:o.ownerDocument})}catch{s=new IntersectionObserver(G,N)}s.observe(t)}return d(!0),u}function ok(t,a,s,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:u=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:m=!1}=l,p=Xf(t),x=o||u?[...p?Dr(p):[],...a?Dr(a):[]]:[];x.forEach(T=>{o&&T.addEventListener("scroll",s,{passive:!0}),u&&T.addEventListener("resize",s)});const g=p&&f?ik(p,s):null;let b=-1,S=null;d&&(S=new ResizeObserver(T=>{let[P]=T;P&&P.target===p&&S&&a&&(S.unobserve(a),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var N;(N=S)==null||N.observe(a)})),s()}),p&&!m&&S.observe(p),a&&S.observe(a));let Q,k=m?Ss(t):null;m&&j();function j(){const T=Ss(t);k&&!Y0(k,T)&&s(),k=T,Q=requestAnimationFrame(j)}return s(),()=>{var T;x.forEach(P=>{o&&P.removeEventListener("scroll",s),u&&P.removeEventListener("resize",s)}),g==null||g(),(T=S)==null||T.disconnect(),S=null,m&&cancelAnimationFrame(Q)}}const ck=qw,uk=Mw,dk=Zw,Ok=Vw,fk=Aw,Eg=_w,hk=Yw,mk=(t,a,s)=>{const l=new Map,o={platform:rk,...s},u={...o.platform,_c:l};return Xw(t,a,{...o,platform:u})};var pk=typeof document<"u",xk=function(){},Wo=pk?v.useLayoutEffect:xk;function lc(t,a){if(t===a)return!0;if(typeof t!=typeof a)return!1;if(typeof t=="function"&&t.toString()===a.toString())return!0;let s,l,o;if(t&&a&&typeof t=="object"){if(Array.isArray(t)){if(s=t.length,s!==a.length)return!1;for(l=s;l--!==0;)if(!lc(t[l],a[l]))return!1;return!0}if(o=Object.keys(t),s=o.length,s!==Object.keys(a).length)return!1;for(l=s;l--!==0;)if(!{}.hasOwnProperty.call(a,o[l]))return!1;for(l=s;l--!==0;){const u=o[l];if(!(u==="_owner"&&t.$$typeof)&&!lc(t[u],a[u]))return!1}return!0}return t!==t&&a!==a}function V0(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function qg(t,a){const s=V0(t);return Math.round(a*s)/s}function fO(t){const a=v.useRef(t);return Wo(()=>{a.current=t}),a}function gk(t){t===void 0&&(t={});const{placement:a="bottom",strategy:s="absolute",middleware:l=[],platform:o,elements:{reference:u,floating:d}={},transform:f=!0,whileElementsMounted:m,open:p}=t,[x,g]=v.useState({x:0,y:0,strategy:s,placement:a,middlewareData:{},isPositioned:!1}),[b,S]=v.useState(l);lc(b,l)||S(l);const[Q,k]=v.useState(null),[j,T]=v.useState(null),P=v.useCallback(J=>{J!==C.current&&(C.current=J,k(J))},[]),N=v.useCallback(J=>{J!==R.current&&(R.current=J,T(J))},[]),A=u||Q,G=d||j,C=v.useRef(null),R=v.useRef(null),$=v.useRef(x),W=m!=null,U=fO(m),le=fO(o),re=fO(p),pe=v.useCallback(()=>{if(!C.current||!R.current)return;const J={placement:a,strategy:s,middleware:b};le.current&&(J.platform=le.current),mk(C.current,R.current,J).then(ce=>{const te={...ce,isPositioned:re.current!==!1};me.current&&!lc($.current,te)&&($.current=te,v0.flushSync(()=>{g(te)}))})},[b,a,s,le,re]);Wo(()=>{p===!1&&$.current.isPositioned&&($.current.isPositioned=!1,g(J=>({...J,isPositioned:!1})))},[p]);const me=v.useRef(!1);Wo(()=>(me.current=!0,()=>{me.current=!1}),[]),Wo(()=>{if(A&&(C.current=A),G&&(R.current=G),A&&G){if(U.current)return U.current(A,G,pe);pe()}},[A,G,pe,U,W]);const V=v.useMemo(()=>({reference:C,floating:R,setReference:P,setFloating:N}),[P,N]),X=v.useMemo(()=>({reference:A,floating:G}),[A,G]),I=v.useMemo(()=>{const J={position:s,left:0,top:0};if(!X.floating)return J;const ce=qg(X.floating,x.x),te=qg(X.floating,x.y);return f?{...J,transform:"translate("+ce+"px, "+te+"px)",...V0(X.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:ce,top:te}},[s,f,X.floating,x.x,x.y]);return v.useMemo(()=>({...x,update:pe,refs:V,elements:X,floatingStyles:I}),[x,pe,V,X,I])}const bk=t=>{function a(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:t,fn(s){const{element:l,padding:o}=typeof t=="function"?t(s):t;return l&&a(l)?l.current!=null?Eg({element:l.current,padding:o}).fn(s):{}:l?Eg({element:l,padding:o}).fn(s):{}}}},vk=(t,a)=>{const s=ck(t);return{name:s.name,fn:s.fn,options:[t,a]}},yk=(t,a)=>{const s=uk(t);return{name:s.name,fn:s.fn,options:[t,a]}},Sk=(t,a)=>({fn:hk(t).fn,options:[t,a]}),Qk=(t,a)=>{const s=dk(t);return{name:s.name,fn:s.fn,options:[t,a]}},jk=(t,a)=>{const s=Ok(t);return{name:s.name,fn:s.fn,options:[t,a]}},wk=(t,a)=>{const s=fk(t);return{name:s.name,fn:s.fn,options:[t,a]}},kk=(t,a)=>{const s=bk(t);return{name:s.name,fn:s.fn,options:[t,a]}};var $k="Arrow",U0=v.forwardRef((t,a)=>{const{children:s,width:l=10,height:o=5,...u}=t;return i.jsx(Be.svg,{...u,ref:a,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?s:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});U0.displayName=$k;var Tk=U0;function Pk(t){const[a,s]=v.useState(void 0);return la(()=>{if(t){s({width:t.offsetWidth,height:t.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const u=o[0];let d,f;if("borderBoxSize"in u){const m=u.borderBoxSize,p=Array.isArray(m)?m[0]:m;d=p.inlineSize,f=p.blockSize}else d=t.offsetWidth,f=t.offsetHeight;s({width:d,height:f})});return l.observe(t,{box:"border-box"}),()=>l.unobserve(t)}else s(void 0)},[t]),a}var _f="Popper",[G0,L0]=Ts(_f),[Nk,D0]=G0(_f),W0=t=>{const{__scopePopper:a,children:s}=t,[l,o]=v.useState(null);return i.jsx(Nk,{scope:a,anchor:l,onAnchorChange:o,children:s})};W0.displayName=_f;var B0="PopperAnchor",H0=v.forwardRef((t,a)=>{const{__scopePopper:s,virtualRef:l,...o}=t,u=D0(B0,s),d=v.useRef(null),f=rt(a,d),m=v.useRef(null);return v.useEffect(()=>{const p=m.current;m.current=(l==null?void 0:l.current)||d.current,p!==m.current&&u.onAnchorChange(m.current)}),l?null:i.jsx(Be.div,{...o,ref:f})});H0.displayName=B0;var Zf="PopperContent",[zk,Rk]=G0(Zf),I0=v.forwardRef((t,a)=>{var Re,Ot,_e,tt,bt,vt;const{__scopePopper:s,side:l="bottom",sideOffset:o=0,align:u="center",alignOffset:d=0,arrowPadding:f=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:x=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:S="optimized",onPlaced:Q,...k}=t,j=D0(Zf,s),[T,P]=v.useState(null),N=rt(a,Ft=>P(Ft)),[A,G]=v.useState(null),C=Pk(A),R=(C==null?void 0:C.width)??0,$=(C==null?void 0:C.height)??0,W=l+(u!=="center"?"-"+u:""),U=typeof x=="number"?x:{top:0,right:0,bottom:0,left:0,...x},le=Array.isArray(p)?p:[p],re=le.length>0,pe={padding:U,boundary:le.filter(Xk),altBoundary:re},{refs:me,floatingStyles:V,placement:X,isPositioned:I,middlewareData:J}=gk({strategy:"fixed",placement:W,whileElementsMounted:(...Ft)=>ok(...Ft,{animationFrame:S==="always"}),elements:{reference:j.anchor},middleware:[vk({mainAxis:o+$,alignmentAxis:d}),m&&yk({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?Sk():void 0,...pe}),m&&Qk({...pe}),jk({...pe,apply:({elements:Ft,rects:yt,availableWidth:Ml,availableHeight:Yl})=>{const{width:Wc,height:fi}=yt.reference,da=Ft.floating.style;da.setProperty("--radix-popper-available-width",`${Ml}px`),da.setProperty("--radix-popper-available-height",`${Yl}px`),da.setProperty("--radix-popper-anchor-width",`${Wc}px`),da.setProperty("--radix-popper-anchor-height",`${fi}px`)}}),A&&kk({element:A,padding:f}),_k({arrowWidth:R,arrowHeight:$}),b&&wk({strategy:"referenceHidden",...pe})]}),[ce,te]=J0(X),Ne=Rt(Q);la(()=>{I&&(Ne==null||Ne())},[I,Ne]);const ke=(Re=J.arrow)==null?void 0:Re.x,be=(Ot=J.arrow)==null?void 0:Ot.y,Ee=((_e=J.arrow)==null?void 0:_e.centerOffset)!==0,[L,de]=v.useState();return la(()=>{T&&de(window.getComputedStyle(T).zIndex)},[T]),i.jsx("div",{ref:me.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:I?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:L,"--radix-popper-transform-origin":[(tt=J.transformOrigin)==null?void 0:tt.x,(bt=J.transformOrigin)==null?void 0:bt.y].join(" "),...((vt=J.hide)==null?void 0:vt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:i.jsx(zk,{scope:s,placedSide:ce,onArrowChange:G,arrowX:ke,arrowY:be,shouldHideArrow:Ee,children:i.jsx(Be.div,{"data-side":ce,"data-align":te,...k,ref:N,style:{...k.style,animation:I?void 0:"none"}})})})});I0.displayName=Zf;var F0="PopperArrow",Ck={top:"bottom",right:"left",bottom:"top",left:"right"},K0=v.forwardRef(function(a,s){const{__scopePopper:l,...o}=a,u=Rk(F0,l),d=Ck[u.placedSide];return i.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:i.jsx(Tk,{...o,ref:s,style:{...o.style,display:"block"}})})});K0.displayName=F0;function Xk(t){return t!==null}var _k=t=>({name:"transformOrigin",options:t,fn(a){var j,T,P;const{placement:s,rects:l,middlewareData:o}=a,d=((j=o.arrow)==null?void 0:j.centerOffset)!==0,f=d?0:t.arrowWidth,m=d?0:t.arrowHeight,[p,x]=J0(s),g={start:"0%",center:"50%",end:"100%"}[x],b=(((T=o.arrow)==null?void 0:T.x)??0)+f/2,S=(((P=o.arrow)==null?void 0:P.y)??0)+m/2;let Q="",k="";return p==="bottom"?(Q=d?g:`${b}px`,k=`${-m}px`):p==="top"?(Q=d?g:`${b}px`,k=`${l.floating.height+m}px`):p==="right"?(Q=`${-m}px`,k=d?g:`${S}px`):p==="left"&&(Q=`${l.floating.width+m}px`,k=d?g:`${S}px`),{data:{x:Q,y:k}}}});function J0(t){const[a,s="center"]=t.split("-");return[a,s]}var Zk=W0,Ak=H0,Ek=I0,qk=K0,Mk="Portal",Af=v.forwardRef((t,a)=>{var f;const{container:s,...l}=t,[o,u]=v.useState(!1);la(()=>u(!0),[]);const d=s||o&&((f=globalThis==null?void 0:globalThis.document)==null?void 0:f.body);return d?mj.createPortal(i.jsx(Be.div,{...l,ref:a}),d):null});Af.displayName=Mk;function Yk(t,a){return v.useReducer((s,l)=>a[s][l]??s,t)}var vn=t=>{const{present:a,children:s}=t,l=Vk(a),o=typeof s=="function"?s({present:l.isPresent}):v.Children.only(s),u=rt(l.ref,Uk(o));return typeof s=="function"||l.isPresent?v.cloneElement(o,{ref:u}):null};vn.displayName="Presence";function Vk(t){const[a,s]=v.useState(),l=v.useRef(null),o=v.useRef(t),u=v.useRef("none"),d=t?"mounted":"unmounted",[f,m]=Yk(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const p=Co(l.current);u.current=f==="mounted"?p:"none"},[f]),la(()=>{const p=l.current,x=o.current;if(x!==t){const b=u.current,S=Co(p);t?m("MOUNT"):S==="none"||(p==null?void 0:p.display)==="none"?m("UNMOUNT"):m(x&&b!==S?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,m]),la(()=>{if(a){let p;const x=a.ownerDocument.defaultView??window,g=S=>{const k=Co(l.current).includes(CSS.escape(S.animationName));if(S.target===a&&k&&(m("ANIMATION_END"),!o.current)){const j=a.style.animationFillMode;a.style.animationFillMode="forwards",p=x.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=j)})}},b=S=>{S.target===a&&(u.current=Co(l.current))};return a.addEventListener("animationstart",b),a.addEventListener("animationcancel",g),a.addEventListener("animationend",g),()=>{x.clearTimeout(p),a.removeEventListener("animationstart",b),a.removeEventListener("animationcancel",g),a.removeEventListener("animationend",g)}}else m("ANIMATION_END")},[a,m]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:v.useCallback(p=>{l.current=p?getComputedStyle(p):null,s(p)},[])}}function Co(t){return(t==null?void 0:t.animationName)||"none"}function Uk(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var Gk=x0[" useInsertionEffect ".trim().toString()]||la;function Nc({prop:t,defaultProp:a,onChange:s=()=>{},caller:l}){const[o,u,d]=Lk({defaultProp:a,onChange:s}),f=t!==void 0,m=f?t:o;{const x=v.useRef(t!==void 0);v.useEffect(()=>{const g=x.current;g!==f&&console.warn(`${l} is changing from ${g?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=f},[f,l])}const p=v.useCallback(x=>{var g;if(f){const b=Dk(x)?x(t):x;b!==t&&((g=d.current)==null||g.call(d,b))}else u(x)},[f,t,u,d]);return[m,p]}function Lk({defaultProp:t,onChange:a}){const[s,l]=v.useState(t),o=v.useRef(s),u=v.useRef(a);return Gk(()=>{u.current=a},[a]),v.useEffect(()=>{var d;o.current!==s&&((d=u.current)==null||d.call(u,s),o.current=s)},[s,o]),[s,l,u]}function Dk(t){return typeof t=="function"}var Wk=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Bk="VisuallyHidden",eb=v.forwardRef((t,a)=>i.jsx(Be.span,{...t,ref:a,style:{...Wk,...t.style}}));eb.displayName=Bk;var Hk=eb,[zc]=Ts("Tooltip",[L0]),Rc=L0(),tb="TooltipProvider",Ik=700,lf="tooltip.open",[Fk,Ef]=zc(tb),nb=t=>{const{__scopeTooltip:a,delayDuration:s=Ik,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:u}=t,d=v.useRef(!0),f=v.useRef(!1),m=v.useRef(0);return v.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),i.jsx(Fk,{scope:a,isOpenDelayedRef:d,delayDuration:s,onOpen:v.useCallback(()=>{window.clearTimeout(m.current),d.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>d.current=!0,l)},[l]),isPointerInTransitRef:f,onPointerInTransitChange:v.useCallback(p=>{f.current=p},[]),disableHoverableContent:o,children:u})};nb.displayName=tb;var Wr="Tooltip",[Kk,ri]=zc(Wr),ab=t=>{const{__scopeTooltip:a,children:s,open:l,defaultOpen:o,onOpenChange:u,disableHoverableContent:d,delayDuration:f}=t,m=Ef(Wr,t.__scopeTooltip),p=Rc(a),[x,g]=v.useState(null),b=Sl(),S=v.useRef(0),Q=d??m.disableHoverableContent,k=f??m.delayDuration,j=v.useRef(!1),[T,P]=Nc({prop:l,defaultProp:o??!1,onChange:R=>{R?(m.onOpen(),document.dispatchEvent(new CustomEvent(lf))):m.onClose(),u==null||u(R)},caller:Wr}),N=v.useMemo(()=>T?j.current?"delayed-open":"instant-open":"closed",[T]),A=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,j.current=!1,P(!0)},[P]),G=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,P(!1)},[P]),C=v.useCallback(()=>{window.clearTimeout(S.current),S.current=window.setTimeout(()=>{j.current=!0,P(!0),S.current=0},k)},[k,P]);return v.useEffect(()=>()=>{S.current&&(window.clearTimeout(S.current),S.current=0)},[]),i.jsx(Zk,{...p,children:i.jsx(Kk,{scope:a,contentId:b,open:T,stateAttribute:N,trigger:x,onTriggerChange:g,onTriggerEnter:v.useCallback(()=>{m.isOpenDelayedRef.current?C():A()},[m.isOpenDelayedRef,C,A]),onTriggerLeave:v.useCallback(()=>{Q?G():(window.clearTimeout(S.current),S.current=0)},[G,Q]),onOpen:A,onClose:G,disableHoverableContent:Q,children:s})})};ab.displayName=Wr;var rf="TooltipTrigger",sb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=ri(rf,s),u=Ef(rf,s),d=Rc(s),f=v.useRef(null),m=rt(a,f,o.onTriggerChange),p=v.useRef(!1),x=v.useRef(!1),g=v.useCallback(()=>p.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),i.jsx(Ak,{asChild:!0,...d,children:i.jsx(Be.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:m,onPointerMove:Ae(t.onPointerMove,b=>{b.pointerType!=="touch"&&!x.current&&!u.isPointerInTransitRef.current&&(o.onTriggerEnter(),x.current=!0)}),onPointerLeave:Ae(t.onPointerLeave,()=>{o.onTriggerLeave(),x.current=!1}),onPointerDown:Ae(t.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:Ae(t.onFocus,()=>{p.current||o.onOpen()}),onBlur:Ae(t.onBlur,o.onClose),onClick:Ae(t.onClick,o.onClose)})})});sb.displayName=rf;var qf="TooltipPortal",[Jk,e$]=zc(qf,{forceMount:void 0}),lb=t=>{const{__scopeTooltip:a,forceMount:s,children:l,container:o}=t,u=ri(qf,a);return i.jsx(Jk,{scope:a,forceMount:s,children:i.jsx(vn,{present:s||u.open,children:i.jsx(Af,{asChild:!0,container:o,children:l})})})};lb.displayName=qf;var Tl="TooltipContent",rb=v.forwardRef((t,a)=>{const s=e$(Tl,t.__scopeTooltip),{forceMount:l=s.forceMount,side:o="top",...u}=t,d=ri(Tl,t.__scopeTooltip);return i.jsx(vn,{present:l||d.open,children:d.disableHoverableContent?i.jsx(ib,{side:o,...u,ref:a}):i.jsx(t$,{side:o,...u,ref:a})})}),t$=v.forwardRef((t,a)=>{const s=ri(Tl,t.__scopeTooltip),l=Ef(Tl,t.__scopeTooltip),o=v.useRef(null),u=rt(a,o),[d,f]=v.useState(null),{trigger:m,onClose:p}=s,x=o.current,{onPointerInTransitChange:g}=l,b=v.useCallback(()=>{f(null),g(!1)},[g]),S=v.useCallback((Q,k)=>{const j=Q.currentTarget,T={x:Q.clientX,y:Q.clientY},P=l$(T,j.getBoundingClientRect()),N=r$(T,P),A=i$(k.getBoundingClientRect()),G=c$([...N,...A]);f(G),g(!0)},[g]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(m&&x){const Q=j=>S(j,x),k=j=>S(j,m);return m.addEventListener("pointerleave",Q),x.addEventListener("pointerleave",k),()=>{m.removeEventListener("pointerleave",Q),x.removeEventListener("pointerleave",k)}}},[m,x,S,b]),v.useEffect(()=>{if(d){const Q=k=>{const j=k.target,T={x:k.clientX,y:k.clientY},P=(m==null?void 0:m.contains(j))||(x==null?void 0:x.contains(j)),N=!o$(T,d);P?b():N&&(b(),p())};return document.addEventListener("pointermove",Q),()=>document.removeEventListener("pointermove",Q)}},[m,x,d,p,b]),i.jsx(ib,{...t,ref:u})}),[n$,a$]=zc(Wr,{isInside:!1}),s$=iw("TooltipContent"),ib=v.forwardRef((t,a)=>{const{__scopeTooltip:s,children:l,"aria-label":o,onEscapeKeyDown:u,onPointerDownOutside:d,...f}=t,m=ri(Tl,s),p=Rc(s),{onClose:x}=m;return v.useEffect(()=>(document.addEventListener(lf,x),()=>document.removeEventListener(lf,x)),[x]),v.useEffect(()=>{if(m.trigger){const g=b=>{const S=b.target;S!=null&&S.contains(m.trigger)&&x()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[m.trigger,x]),i.jsx(Tf,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:g=>g.preventDefault(),onDismiss:x,children:i.jsxs(Ek,{"data-state":m.stateAttribute,...p,...f,ref:a,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(s$,{children:l}),i.jsx(n$,{scope:s,isInside:!0,children:i.jsx(Hk,{id:m.contentId,role:"tooltip",children:o||l})})]})})});rb.displayName=Tl;var ob="TooltipArrow",cb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=Rc(s);return a$(ob,s).isInside?null:i.jsx(qk,{...o,...l,ref:a})});cb.displayName=ob;function l$(t,a){const s=Math.abs(a.top-t.y),l=Math.abs(a.bottom-t.y),o=Math.abs(a.right-t.x),u=Math.abs(a.left-t.x);switch(Math.min(s,l,o,u)){case u:return"left";case o:return"right";case s:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function r$(t,a,s=5){const l=[];switch(a){case"top":l.push({x:t.x-s,y:t.y+s},{x:t.x+s,y:t.y+s});break;case"bottom":l.push({x:t.x-s,y:t.y-s},{x:t.x+s,y:t.y-s});break;case"left":l.push({x:t.x+s,y:t.y-s},{x:t.x+s,y:t.y+s});break;case"right":l.push({x:t.x-s,y:t.y-s},{x:t.x-s,y:t.y+s});break}return l}function i$(t){const{top:a,right:s,bottom:l,left:o}=t;return[{x:o,y:a},{x:s,y:a},{x:s,y:l},{x:o,y:l}]}function o$(t,a){const{x:s,y:l}=t;let o=!1;for(let u=0,d=a.length-1;u<a.length;d=u++){const f=a[u],m=a[d],p=f.x,x=f.y,g=m.x,b=m.y;x>l!=b>l&&s<(g-p)*(l-x)/(b-x)+p&&(o=!o)}return o}function c$(t){const a=t.slice();return a.sort((s,l)=>s.x<l.x?-1:s.x>l.x?1:s.y<l.y?-1:s.y>l.y?1:0),u$(a)}function u$(t){if(t.length<=1)return t.slice();const a=[];for(let l=0;l<t.length;l++){const o=t[l];for(;a.length>=2;){const u=a[a.length-1],d=a[a.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))a.pop();else break}a.push(o)}a.pop();const s=[];for(let l=t.length-1;l>=0;l--){const o=t[l];for(;s.length>=2;){const u=s[s.length-1],d=s[s.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))s.pop();else break}s.push(o)}return s.pop(),a.length===1&&s.length===1&&a[0].x===s[0].x&&a[0].y===s[0].y?a:a.concat(s)}var d$=nb,O$=ab,f$=sb,h$=lb,m$=rb,p$=cb;function ub(t){var a,s,l="";if(typeof t=="string"||typeof t=="number")l+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(a=0;a<o;a++)t[a]&&(s=ub(t[a]))&&(l&&(l+=" "),l+=s)}else for(s in t)t[s]&&(l&&(l+=" "),l+=s);return l}function x$(){for(var t,a,s=0,l="",o=arguments.length;s<o;s++)(t=arguments[s])&&(a=ub(t))&&(l&&(l+=" "),l+=a);return l}const g$=(t,a)=>{const s=new Array(t.length+a.length);for(let l=0;l<t.length;l++)s[l]=t[l];for(let l=0;l<a.length;l++)s[t.length+l]=a[l];return s},b$=(t,a)=>({classGroupId:t,validator:a}),db=(t=new Map,a=null,s)=>({nextPart:t,validators:a,classGroupId:s}),rc="-",Mg=[],v$="arbitrary..",y$=t=>{const a=Q$(t),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return S$(d);const f=d.split(rc),m=f[0]===""&&f.length>1?1:0;return Ob(f,m,a)},getConflictingClassGroupIds:(d,f)=>{if(f){const m=l[d],p=s[d];return m?p?g$(p,m):m:p||Mg}return s[d]||Mg}}},Ob=(t,a,s)=>{if(t.length-a===0)return s.classGroupId;const o=t[a],u=s.nextPart.get(o);if(u){const p=Ob(t,a+1,u);if(p)return p}const d=s.validators;if(d===null)return;const f=a===0?t.join(rc):t.slice(a).join(rc),m=d.length;for(let p=0;p<m;p++){const x=d[p];if(x.validator(f))return x.classGroupId}},S$=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=t.slice(1,-1),s=a.indexOf(":"),l=a.slice(0,s);return l?v$+l:void 0})(),Q$=t=>{const{theme:a,classGroups:s}=t;return j$(s,a)},j$=(t,a)=>{const s=db();for(const l in t){const o=t[l];Mf(o,s,l,a)}return s},Mf=(t,a,s,l)=>{const o=t.length;for(let u=0;u<o;u++){const d=t[u];w$(d,a,s,l)}},w$=(t,a,s,l)=>{if(typeof t=="string"){k$(t,a,s);return}if(typeof t=="function"){$$(t,a,s,l);return}T$(t,a,s,l)},k$=(t,a,s)=>{const l=t===""?a:fb(a,t);l.classGroupId=s},$$=(t,a,s,l)=>{if(P$(t)){Mf(t(l),a,s,l);return}a.validators===null&&(a.validators=[]),a.validators.push(b$(s,t))},T$=(t,a,s,l)=>{const o=Object.entries(t),u=o.length;for(let d=0;d<u;d++){const[f,m]=o[d];Mf(m,fb(a,f),s,l)}},fb=(t,a)=>{let s=t;const l=a.split(rc),o=l.length;for(let u=0;u<o;u++){const d=l[u];let f=s.nextPart.get(d);f||(f=db(),s.nextPart.set(d,f)),s=f}return s},P$=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,N$=t=>{if(t<1)return{get:()=>{},set:()=>{}};let a=0,s=Object.create(null),l=Object.create(null);const o=(u,d)=>{s[u]=d,a++,a>t&&(a=0,l=s,s=Object.create(null))};return{get(u){let d=s[u];if(d!==void 0)return d;if((d=l[u])!==void 0)return o(u,d),d},set(u,d){u in s?s[u]=d:o(u,d)}}},of="!",Yg=":",z$=[],Vg=(t,a,s,l,o)=>({modifiers:t,hasImportantModifier:a,baseClassName:s,maybePostfixModifierPosition:l,isExternal:o}),R$=t=>{const{prefix:a,experimentalParseClassName:s}=t;let l=o=>{const u=[];let d=0,f=0,m=0,p;const x=o.length;for(let k=0;k<x;k++){const j=o[k];if(d===0&&f===0){if(j===Yg){u.push(o.slice(m,k)),m=k+1;continue}if(j==="/"){p=k;continue}}j==="["?d++:j==="]"?d--:j==="("?f++:j===")"&&f--}const g=u.length===0?o:o.slice(m);let b=g,S=!1;g.endsWith(of)?(b=g.slice(0,-1),S=!0):g.startsWith(of)&&(b=g.slice(1),S=!0);const Q=p&&p>m?p-m:void 0;return Vg(u,S,b,Q)};if(a){const o=a+Yg,u=l;l=d=>d.startsWith(o)?u(d.slice(o.length)):Vg(z$,!1,d,void 0,!0)}if(s){const o=l;l=u=>s({className:u,parseClassName:o})}return l},C$=t=>{const a=new Map;return t.orderSensitiveModifiers.forEach((s,l)=>{a.set(s,1e6+l)}),s=>{const l=[];let o=[];for(let u=0;u<s.length;u++){const d=s[u],f=d[0]==="[",m=a.has(d);f||m?(o.length>0&&(o.sort(),l.push(...o),o=[]),l.push(d)):o.push(d)}return o.length>0&&(o.sort(),l.push(...o)),l}},X$=t=>({cache:N$(t.cacheSize),parseClassName:R$(t),sortModifiers:C$(t),...y$(t)}),_$=/\s+/,Z$=(t,a)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:o,sortModifiers:u}=a,d=[],f=t.trim().split(_$);let m="";for(let p=f.length-1;p>=0;p-=1){const x=f[p],{isExternal:g,modifiers:b,hasImportantModifier:S,baseClassName:Q,maybePostfixModifierPosition:k}=s(x);if(g){m=x+(m.length>0?" "+m:m);continue}let j=!!k,T=l(j?Q.substring(0,k):Q);if(!T){if(!j){m=x+(m.length>0?" "+m:m);continue}if(T=l(Q),!T){m=x+(m.length>0?" "+m:m);continue}j=!1}const P=b.length===0?"":b.length===1?b[0]:u(b).join(":"),N=S?P+of:P,A=N+T;if(d.indexOf(A)>-1)continue;d.push(A);const G=o(T,j);for(let C=0;C<G.length;++C){const R=G[C];d.push(N+R)}m=x+(m.length>0?" "+m:m)}return m},A$=(...t)=>{let a=0,s,l,o="";for(;a<t.length;)(s=t[a++])&&(l=hb(s))&&(o&&(o+=" "),o+=l);return o},hb=t=>{if(typeof t=="string")return t;let a,s="";for(let l=0;l<t.length;l++)t[l]&&(a=hb(t[l]))&&(s&&(s+=" "),s+=a);return s},E$=(t,...a)=>{let s,l,o,u;const d=m=>{const p=a.reduce((x,g)=>g(x),t());return s=X$(p),l=s.cache.get,o=s.cache.set,u=f,f(m)},f=m=>{const p=l(m);if(p)return p;const x=Z$(m,s);return o(m,x),x};return u=d,(...m)=>u(A$(...m))},q$=[],ot=t=>{const a=s=>s[t]||q$;return a.isThemeGetter=!0,a},mb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,pb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M$=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Y$=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,V$=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,U$=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,G$=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L$=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Aa=t=>M$.test(t),Se=t=>!!t&&!Number.isNaN(Number(t)),Ea=t=>!!t&&Number.isInteger(Number(t)),hO=t=>t.endsWith("%")&&Se(t.slice(0,-1)),In=t=>Y$.test(t),xb=()=>!0,D$=t=>V$.test(t)&&!U$.test(t),Yf=()=>!1,W$=t=>G$.test(t),B$=t=>L$.test(t),H$=t=>!oe(t)&&!ue(t),I$=t=>Ka(t,vb,Yf),oe=t=>mb.test(t),gs=t=>Ka(t,yb,D$),Ug=t=>Ka(t,s5,Se),F$=t=>Ka(t,Qb,xb),K$=t=>Ka(t,Sb,Yf),Gg=t=>Ka(t,gb,Yf),J$=t=>Ka(t,bb,B$),Xo=t=>Ka(t,jb,W$),ue=t=>pb.test(t),Zr=t=>Ps(t,yb),e5=t=>Ps(t,Sb),Lg=t=>Ps(t,gb),t5=t=>Ps(t,vb),n5=t=>Ps(t,bb),_o=t=>Ps(t,jb,!0),a5=t=>Ps(t,Qb,!0),Ka=(t,a,s)=>{const l=mb.exec(t);return l?l[1]?a(l[1]):s(l[2]):!1},Ps=(t,a,s=!1)=>{const l=pb.exec(t);return l?l[1]?a(l[1]):s:!1},gb=t=>t==="position"||t==="percentage",bb=t=>t==="image"||t==="url",vb=t=>t==="length"||t==="size"||t==="bg-size",yb=t=>t==="length",s5=t=>t==="number",Sb=t=>t==="family-name",Qb=t=>t==="number"||t==="weight",jb=t=>t==="shadow",l5=()=>{const t=ot("color"),a=ot("font"),s=ot("text"),l=ot("font-weight"),o=ot("tracking"),u=ot("leading"),d=ot("breakpoint"),f=ot("container"),m=ot("spacing"),p=ot("radius"),x=ot("shadow"),g=ot("inset-shadow"),b=ot("text-shadow"),S=ot("drop-shadow"),Q=ot("blur"),k=ot("perspective"),j=ot("aspect"),T=ot("ease"),P=ot("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],G=()=>[...A(),ue,oe],C=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],$=()=>[ue,oe,m],W=()=>[Aa,"full","auto",...$()],U=()=>[Ea,"none","subgrid",ue,oe],le=()=>["auto",{span:["full",Ea,ue,oe]},Ea,ue,oe],re=()=>[Ea,"auto",ue,oe],pe=()=>["auto","min","max","fr",ue,oe],me=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],X=()=>["auto",...$()],I=()=>[Aa,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...$()],J=()=>[Aa,"screen","full","dvw","lvw","svw","min","max","fit",...$()],ce=()=>[Aa,"screen","full","lh","dvh","lvh","svh","min","max","fit",...$()],te=()=>[t,ue,oe],Ne=()=>[...A(),Lg,Gg,{position:[ue,oe]}],ke=()=>["no-repeat",{repeat:["","x","y","space","round"]}],be=()=>["auto","cover","contain",t5,I$,{size:[ue,oe]}],Ee=()=>[hO,Zr,gs],L=()=>["","none","full",p,ue,oe],de=()=>["",Se,Zr,gs],Re=()=>["solid","dashed","dotted","double"],Ot=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_e=()=>[Se,hO,Lg,Gg],tt=()=>["","none",Q,ue,oe],bt=()=>["none",Se,ue,oe],vt=()=>["none",Se,ue,oe],Ft=()=>[Se,ue,oe],yt=()=>[Aa,"full",...$()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[In],breakpoint:[In],color:[xb],container:[In],"drop-shadow":[In],ease:["in","out","in-out"],font:[H$],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[In],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[In],shadow:[In],spacing:["px",Se],text:[In],"text-shadow":[In],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Aa,oe,ue,j]}],container:["container"],columns:[{columns:[Se,oe,ue,f]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:G()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:W()}],"inset-x":[{"inset-x":W()}],"inset-y":[{"inset-y":W()}],start:[{"inset-s":W(),start:W()}],end:[{"inset-e":W(),end:W()}],"inset-bs":[{"inset-bs":W()}],"inset-be":[{"inset-be":W()}],top:[{top:W()}],right:[{right:W()}],bottom:[{bottom:W()}],left:[{left:W()}],visibility:["visible","invisible","collapse"],z:[{z:[Ea,"auto",ue,oe]}],basis:[{basis:[Aa,"full","auto",f,...$()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Se,Aa,"auto","initial","none",oe]}],grow:[{grow:["",Se,ue,oe]}],shrink:[{shrink:["",Se,ue,oe]}],order:[{order:[Ea,"first","last","none",ue,oe]}],"grid-cols":[{"grid-cols":U()}],"col-start-end":[{col:le()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":U()}],"row-start-end":[{row:le()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":pe()}],"auto-rows":[{"auto-rows":pe()}],gap:[{gap:$()}],"gap-x":[{"gap-x":$()}],"gap-y":[{"gap-y":$()}],"justify-content":[{justify:[...me(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...me()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":me()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:$()}],px:[{px:$()}],py:[{py:$()}],ps:[{ps:$()}],pe:[{pe:$()}],pbs:[{pbs:$()}],pbe:[{pbe:$()}],pt:[{pt:$()}],pr:[{pr:$()}],pb:[{pb:$()}],pl:[{pl:$()}],m:[{m:X()}],mx:[{mx:X()}],my:[{my:X()}],ms:[{ms:X()}],me:[{me:X()}],mbs:[{mbs:X()}],mbe:[{mbe:X()}],mt:[{mt:X()}],mr:[{mr:X()}],mb:[{mb:X()}],ml:[{ml:X()}],"space-x":[{"space-x":$()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":$()}],"space-y-reverse":["space-y-reverse"],size:[{size:I()}],"inline-size":[{inline:["auto",...J()]}],"min-inline-size":[{"min-inline":["auto",...J()]}],"max-inline-size":[{"max-inline":["none",...J()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[f,"screen",...I()]}],"min-w":[{"min-w":[f,"screen","none",...I()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[d]},...I()]}],h:[{h:["screen","lh",...I()]}],"min-h":[{"min-h":["screen","lh","none",...I()]}],"max-h":[{"max-h":["screen","lh",...I()]}],"font-size":[{text:["base",s,Zr,gs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,a5,F$]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",hO,oe]}],"font-family":[{font:[e5,K$,a]}],"font-features":[{"font-features":[oe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,ue,oe]}],"line-clamp":[{"line-clamp":[Se,"none",ue,Ug]}],leading:[{leading:[u,...$()]}],"list-image":[{"list-image":["none",ue,oe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ue,oe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:te()}],"text-color":[{text:te()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Re(),"wavy"]}],"text-decoration-thickness":[{decoration:[Se,"from-font","auto",ue,gs]}],"text-decoration-color":[{decoration:te()}],"underline-offset":[{"underline-offset":[Se,"auto",ue,oe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ue,oe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ue,oe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ne()}],"bg-repeat":[{bg:ke()}],"bg-size":[{bg:be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ea,ue,oe],radial:["",ue,oe],conic:[Ea,ue,oe]},n5,J$]}],"bg-color":[{bg:te()}],"gradient-from-pos":[{from:Ee()}],"gradient-via-pos":[{via:Ee()}],"gradient-to-pos":[{to:Ee()}],"gradient-from":[{from:te()}],"gradient-via":[{via:te()}],"gradient-to":[{to:te()}],rounded:[{rounded:L()}],"rounded-s":[{"rounded-s":L()}],"rounded-e":[{"rounded-e":L()}],"rounded-t":[{"rounded-t":L()}],"rounded-r":[{"rounded-r":L()}],"rounded-b":[{"rounded-b":L()}],"rounded-l":[{"rounded-l":L()}],"rounded-ss":[{"rounded-ss":L()}],"rounded-se":[{"rounded-se":L()}],"rounded-ee":[{"rounded-ee":L()}],"rounded-es":[{"rounded-es":L()}],"rounded-tl":[{"rounded-tl":L()}],"rounded-tr":[{"rounded-tr":L()}],"rounded-br":[{"rounded-br":L()}],"rounded-bl":[{"rounded-bl":L()}],"border-w":[{border:de()}],"border-w-x":[{"border-x":de()}],"border-w-y":[{"border-y":de()}],"border-w-s":[{"border-s":de()}],"border-w-e":[{"border-e":de()}],"border-w-bs":[{"border-bs":de()}],"border-w-be":[{"border-be":de()}],"border-w-t":[{"border-t":de()}],"border-w-r":[{"border-r":de()}],"border-w-b":[{"border-b":de()}],"border-w-l":[{"border-l":de()}],"divide-x":[{"divide-x":de()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":de()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Re(),"hidden","none"]}],"divide-style":[{divide:[...Re(),"hidden","none"]}],"border-color":[{border:te()}],"border-color-x":[{"border-x":te()}],"border-color-y":[{"border-y":te()}],"border-color-s":[{"border-s":te()}],"border-color-e":[{"border-e":te()}],"border-color-bs":[{"border-bs":te()}],"border-color-be":[{"border-be":te()}],"border-color-t":[{"border-t":te()}],"border-color-r":[{"border-r":te()}],"border-color-b":[{"border-b":te()}],"border-color-l":[{"border-l":te()}],"divide-color":[{divide:te()}],"outline-style":[{outline:[...Re(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Se,ue,oe]}],"outline-w":[{outline:["",Se,Zr,gs]}],"outline-color":[{outline:te()}],shadow:[{shadow:["","none",x,_o,Xo]}],"shadow-color":[{shadow:te()}],"inset-shadow":[{"inset-shadow":["none",g,_o,Xo]}],"inset-shadow-color":[{"inset-shadow":te()}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:te()}],"ring-offset-w":[{"ring-offset":[Se,gs]}],"ring-offset-color":[{"ring-offset":te()}],"inset-ring-w":[{"inset-ring":de()}],"inset-ring-color":[{"inset-ring":te()}],"text-shadow":[{"text-shadow":["none",b,_o,Xo]}],"text-shadow-color":[{"text-shadow":te()}],opacity:[{opacity:[Se,ue,oe]}],"mix-blend":[{"mix-blend":[...Ot(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ot()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Se]}],"mask-image-linear-from-pos":[{"mask-linear-from":_e()}],"mask-image-linear-to-pos":[{"mask-linear-to":_e()}],"mask-image-linear-from-color":[{"mask-linear-from":te()}],"mask-image-linear-to-color":[{"mask-linear-to":te()}],"mask-image-t-from-pos":[{"mask-t-from":_e()}],"mask-image-t-to-pos":[{"mask-t-to":_e()}],"mask-image-t-from-color":[{"mask-t-from":te()}],"mask-image-t-to-color":[{"mask-t-to":te()}],"mask-image-r-from-pos":[{"mask-r-from":_e()}],"mask-image-r-to-pos":[{"mask-r-to":_e()}],"mask-image-r-from-color":[{"mask-r-from":te()}],"mask-image-r-to-color":[{"mask-r-to":te()}],"mask-image-b-from-pos":[{"mask-b-from":_e()}],"mask-image-b-to-pos":[{"mask-b-to":_e()}],"mask-image-b-from-color":[{"mask-b-from":te()}],"mask-image-b-to-color":[{"mask-b-to":te()}],"mask-image-l-from-pos":[{"mask-l-from":_e()}],"mask-image-l-to-pos":[{"mask-l-to":_e()}],"mask-image-l-from-color":[{"mask-l-from":te()}],"mask-image-l-to-color":[{"mask-l-to":te()}],"mask-image-x-from-pos":[{"mask-x-from":_e()}],"mask-image-x-to-pos":[{"mask-x-to":_e()}],"mask-image-x-from-color":[{"mask-x-from":te()}],"mask-image-x-to-color":[{"mask-x-to":te()}],"mask-image-y-from-pos":[{"mask-y-from":_e()}],"mask-image-y-to-pos":[{"mask-y-to":_e()}],"mask-image-y-from-color":[{"mask-y-from":te()}],"mask-image-y-to-color":[{"mask-y-to":te()}],"mask-image-radial":[{"mask-radial":[ue,oe]}],"mask-image-radial-from-pos":[{"mask-radial-from":_e()}],"mask-image-radial-to-pos":[{"mask-radial-to":_e()}],"mask-image-radial-from-color":[{"mask-radial-from":te()}],"mask-image-radial-to-color":[{"mask-radial-to":te()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[Se]}],"mask-image-conic-from-pos":[{"mask-conic-from":_e()}],"mask-image-conic-to-pos":[{"mask-conic-to":_e()}],"mask-image-conic-from-color":[{"mask-conic-from":te()}],"mask-image-conic-to-color":[{"mask-conic-to":te()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ne()}],"mask-repeat":[{mask:ke()}],"mask-size":[{mask:be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ue,oe]}],filter:[{filter:["","none",ue,oe]}],blur:[{blur:tt()}],brightness:[{brightness:[Se,ue,oe]}],contrast:[{contrast:[Se,ue,oe]}],"drop-shadow":[{"drop-shadow":["","none",S,_o,Xo]}],"drop-shadow-color":[{"drop-shadow":te()}],grayscale:[{grayscale:["",Se,ue,oe]}],"hue-rotate":[{"hue-rotate":[Se,ue,oe]}],invert:[{invert:["",Se,ue,oe]}],saturate:[{saturate:[Se,ue,oe]}],sepia:[{sepia:["",Se,ue,oe]}],"backdrop-filter":[{"backdrop-filter":["","none",ue,oe]}],"backdrop-blur":[{"backdrop-blur":tt()}],"backdrop-brightness":[{"backdrop-brightness":[Se,ue,oe]}],"backdrop-contrast":[{"backdrop-contrast":[Se,ue,oe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Se,ue,oe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Se,ue,oe]}],"backdrop-invert":[{"backdrop-invert":["",Se,ue,oe]}],"backdrop-opacity":[{"backdrop-opacity":[Se,ue,oe]}],"backdrop-saturate":[{"backdrop-saturate":[Se,ue,oe]}],"backdrop-sepia":[{"backdrop-sepia":["",Se,ue,oe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":$()}],"border-spacing-x":[{"border-spacing-x":$()}],"border-spacing-y":[{"border-spacing-y":$()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ue,oe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Se,"initial",ue,oe]}],ease:[{ease:["linear","initial",T,ue,oe]}],delay:[{delay:[Se,ue,oe]}],animate:[{animate:["none",P,ue,oe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,ue,oe]}],"perspective-origin":[{"perspective-origin":G()}],rotate:[{rotate:bt()}],"rotate-x":[{"rotate-x":bt()}],"rotate-y":[{"rotate-y":bt()}],"rotate-z":[{"rotate-z":bt()}],scale:[{scale:vt()}],"scale-x":[{"scale-x":vt()}],"scale-y":[{"scale-y":vt()}],"scale-z":[{"scale-z":vt()}],"scale-3d":["scale-3d"],skew:[{skew:Ft()}],"skew-x":[{"skew-x":Ft()}],"skew-y":[{"skew-y":Ft()}],transform:[{transform:[ue,oe,"","none","gpu","cpu"]}],"transform-origin":[{origin:G()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:yt()}],"translate-x":[{"translate-x":yt()}],"translate-y":[{"translate-y":yt()}],"translate-z":[{"translate-z":yt()}],"translate-none":["translate-none"],accent:[{accent:te()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:te()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ue,oe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mbs":[{"scroll-mbs":$()}],"scroll-mbe":[{"scroll-mbe":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pbs":[{"scroll-pbs":$()}],"scroll-pbe":[{"scroll-pbe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ue,oe]}],fill:[{fill:["none",...te()]}],"stroke-w":[{stroke:[Se,Zr,gs,Ug]}],stroke:[{stroke:["none",...te()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},r5=E$(l5);function se(...t){return r5(x$(t))}function i5({children:t}){return i.jsx(d$,{delayDuration:300,children:t})}function Dg({children:t,content:a,side:s="top",className:l}){return a?i.jsxs(O$,{children:[i.jsx(f$,{asChild:!0,children:t}),i.jsx(h$,{children:i.jsxs(m$,{side:s,sideOffset:6,className:se("z-50 px-2.5 py-1.5 text-xs font-sans","bg-surface-4 text-text-0 border border-border rounded-md shadow-lg","animate-in fade-in-0 zoom-in-95",l),children:[a,i.jsx(p$,{className:"fill-surface-4"})]})})]}):t}/**
29
+ `+x.trim(),timestamp:Date.now()}:S.push({from:"agent",text:x.trim(),timestamp:Date.now()}),b[m]=S.slice(-100),t({chatHistory:b}),bl("groove:chatHistory",b)}if(g&&g.trim()){const b={...a().activityLog};b[m]||(b[m]=[]),b[m]=[...b[m].slice(-200),{timestamp:Date.now(),text:g.trim(),type:p.type,subtype:"tool"}],t({activityLog:b}),bl("groove:activityLog",b)}break}case"agent:exit":{const m=a().agents.find(S=>S.id===o.agentId),p=(m==null?void 0:m.name)||o.agentId,x=o.status==="killed"||o.code===143||o.code===137,g=o.status==="completed"?`${p} completed`:x?`${p} stopped`:`${p} crashed (exit ${o.code})`,b=o.status==="completed"?"success":x?"info":"warning";a().addToast(b,g),(m==null?void 0:m.role)==="planner"&&o.status==="completed"&&setTimeout(()=>a().checkRecommendedTeam(),1e3);break}case"phase2:spawned":a().addToast("info",`QC agent ${o.name} auto-spawned`,"Auditing phase 1 work");break;case"phase2:failed":a().addToast("error","QC agent failed to spawn",o.error||"Unknown error");break;case"rotation:start":a().addToast("info",`Rotating ${o.agentName}...`);break;case"rotation:complete":{a().addToast("success",`Rotated ${o.agentName}`,`Saved ${o.tokensSaved} tokens`);const m=a().detailPanel;(m==null?void 0:m.type)==="agent"&&m.agentId===o.oldAgentId&&o.newAgentId&&t(p=>{var b,S;const x={...p.chatHistory},g={...p.tokenTimeline};return(b=x[o.oldAgentId])!=null&&b.length&&(x[o.newAgentId]=[...x[o.oldAgentId]]),(S=g[o.oldAgentId])!=null&&S.length&&(g[o.newAgentId]=[...g[o.oldAgentId]]),{chatHistory:x,tokenTimeline:g,detailPanel:{type:"agent",agentId:o.newAgentId}}});break}case"rotation:failed":a().addToast("error","Rotation failed",o.error);break;case"file:changed":{const m=a().editorRecentSaves[o.path];if(m&&Date.now()-m<2e3)break;t(p=>({editorChangedFiles:{...p.editorChangedFiles,[o.path]:o.timestamp}}));break}case"team:created":case"team:deleted":case"team:updated":a().fetchTeams();break;case"approval:request":t(m=>({pendingApprovals:[...m.pendingApprovals,o.data]})),a().addToast("warning",`Approval needed: ${((u=o.data)==null?void 0:u.agentName)||"agent"}`,(f=(d=o.data)==null?void 0:d.action)==null?void 0:f.description);break;case"approval:resolved":{const m=o.data;t(p=>({pendingApprovals:p.pendingApprovals.filter(x=>x.id!==m.id),resolvedApprovals:[m,...p.resolvedApprovals].slice(0,200)}));break}case"conflict:detected":a().addToast("error",`Scope conflict: ${o.agentName||"agent"}`,o.filePath?`File: ${o.filePath}`:void 0);break;case"qc:activated":a().addToast("info","QC agent activated",`${o.agentCount||"4+"} agents running`);break;case"journalist:cycle":t({journalistStatus:o.data||null});break;case"schedule:execute":a().addToast("info",`Scheduled agent spawned: ${o.name||o.role||"agent"}`);break;case"gateway:status":t({gateways:o.data||[]});break}},s.onclose=()=>{t({connected:!1,hydrated:!1,ws:null,daemonHost:null,tunneled:!1}),setTimeout(()=>a().connect(),2e3)},s.onerror=()=>s.close()},setActiveView(s){t({activeView:s})},async fetchTeams(){try{const s=await ee.get("/teams"),l=s.teams||[],o=s.defaultTeamId,{activeTeamId:u}=a(),f=l.map(m=>m.id).includes(u)?u:o;t({teams:l,activeTeamId:f}),f&&localStorage.setItem("groove:activeTeamId",f)}catch{}},switchTeam(s){t({activeTeamId:s,detailPanel:null}),localStorage.setItem("groove:activeTeamId",s)},async createTeam(s,l){try{const o={name:s};l&&(o.workingDir=l);const u=await ee.post("/teams",o);return t({activeTeamId:u.id}),localStorage.setItem("groove:activeTeamId",u.id),a().addToast("success",`Team "${s}" created`),u}catch(o){throw a().addToast("error","Failed to create team",o.message),o}},async deleteTeam(s){const l=a().teams.find(o=>o.id===s);if(l!=null&&l.isDefault){a().addToast("warning","Cannot delete the default team");return}try{await ee.delete(`/teams/${s}`),a().addToast("info",`Team "${l==null?void 0:l.name}" deleted`)}catch(o){a().addToast("error","Failed to delete team",o.message)}},async renameTeam(s,l){try{const o=await ee.patch(`/teams/${s}`,{name:l});return t(u=>({teams:u.teams.map(d=>d.id===s?o:d)})),o}catch(o){throw a().addToast("error","Failed to rename team",o.message),o}},openDetail(s){t({detailPanel:s})},closeDetail(){t({detailPanel:null})},selectAgent(s){t({detailPanel:{type:"agent",agentId:s}})},clearSelection(){t({detailPanel:null})},toggleCommandPalette(){t(s=>({commandPaletteOpen:!s.commandPaletteOpen}))},setDetailPanelWidth(s){t({detailPanelWidth:s}),localStorage.setItem("groove:detailWidth",String(s))},setTerminalVisible(s){t({terminalVisible:s}),localStorage.setItem("groove:terminalVisible",String(s))},setTerminalHeight(s){t({terminalHeight:s}),localStorage.setItem("groove:terminalHeight",String(s))},setTerminalFullHeight(s){t({terminalFullHeight:s})},addToast(s,l,o){const u=++nw;t(d=>({toasts:[...d.toasts,{id:u,type:s,message:l,detail:o}]}))},removeToast(s){t(l=>({toasts:l.toasts.filter(o=>o.id!==s)}))},async checkMarketplaceAuth(){try{const s=await ee.get("/auth/status");t({marketplaceAuthenticated:s.authenticated||!1,marketplaceUser:s.user||null})}catch{t({marketplaceAuthenticated:!1,marketplaceUser:null})}},async marketplaceLogin(){try{const s=await ee.get("/auth/login-url");s.url&&window.open(s.url,"_blank");const l=setInterval(async()=>{var o,u;try{const d=await ee.get("/auth/status");d.authenticated&&(clearInterval(l),t({marketplaceAuthenticated:!0,marketplaceUser:d.user}),a().addToast("success",`Signed in as ${((o=d.user)==null?void 0:o.displayName)||((u=d.user)==null?void 0:u.id)||"user"}`))}catch{}},2e3);setTimeout(()=>clearInterval(l),3e5)}catch(s){a().addToast("error","Login failed",s.message)}},async marketplaceLogout(){try{await ee.post("/auth/logout"),t({marketplaceAuthenticated:!1,marketplaceUser:null}),a().addToast("info","Signed out of marketplace")}catch(s){a().addToast("error","Logout failed",s.message)}},async marketplaceCheckout(s){try{const l=await ee.post("/auth/checkout",{skillId:s});return l.url&&window.open(l.url,"_blank"),l}catch(l){throw a().addToast("error","Checkout failed",l.message),l}},async fetchApprovals(){try{const s=await ee.get("/approvals");t({pendingApprovals:s.pending||[],resolvedApprovals:s.resolved||[]})}catch{}},async approveRequest(s){try{await ee.post(`/approvals/${s}/approve`),t(l=>({pendingApprovals:l.pendingApprovals.filter(o=>o.id!==s)})),a().addToast("success","Approved")}catch(l){a().addToast("error","Approve failed",l.message)}},async rejectRequest(s,l=""){try{await ee.post(`/approvals/${s}/reject`,{reason:l}),t(o=>({pendingApprovals:o.pendingApprovals.filter(u=>u.id!==s)})),a().addToast("info","Rejected")}catch(o){a().addToast("error","Reject failed",o.message)}},async checkRecommendedTeam(){var s;try{const l=await ee.get("/recommended-team");l&&((s=l.agents)!=null&&s.length)?t({recommendedTeam:l}):t({recommendedTeam:null})}catch{t({recommendedTeam:null})}},async launchRecommendedTeam(){try{t({recommendedTeam:null}),a().addToast("info","Launching team...");const s=await ee.post("/recommended-team/launch");return a().addToast("success",`Launched ${s.launched} agents`,s.phase2Pending?`${s.phase2Pending} QC agents queued`:void 0),ee.post("/cleanup").catch(()=>{}),s}catch(s){throw a().addToast("error","Launch failed",s.message),s}},async fetchJournalist(){try{const s=await ee.get("/journalist");return t({journalistStatus:s}),s}catch{return null}},async triggerJournalistCycle(){try{const s=await ee.post("/journalist/cycle");return a().addToast("success","Synthesis cycle triggered"),t({journalistStatus:s}),s}catch(s){throw a().addToast("error","Synthesis failed",s.message),s}},async spawnAgent(s){try{const l=a().activeTeamId,o=await ee.post("/agents",{...s,teamId:l});return a().addToast("success",`Spawned ${o.name}`),o}catch(l){throw a().addToast("error","Spawn failed",l.message),l}},async killAgent(s,l=!1){try{await ee.delete(`/agents/${s}?purge=${l}`)}catch(o){a().addToast("error","Kill failed",o.message)}},async rotateAgent(s){try{return await ee.post(`/agents/${s}/rotate`)}catch(l){throw a().addToast("error","Rotation failed",l.message),l}},async fetchProviders(){return ee.get("/providers")},addChatMessage(s,l,o,u=!1){t(d=>{const f={...d.chatHistory};return f[s]||(f[s]=[]),f[s]=[...f[s].slice(-100),{from:l,text:o,timestamp:Date.now(),isQuery:u}],bl("groove:chatHistory",f),{chatHistory:f}})},async instructAgent(s,l){var d,f;const o=a().agents.find(m=>m.id===s);if(o&&(o.status==="running"||o.status==="starting")){a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",m.response),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}}a().addChatMessage(s,"user",l,!1);try{const m=await ee.post(`/agents/${s}/instruct`,{message:l});for(const p of["chatHistory","activityLog","tokenTimeline"]){const x=a()[p][s];x!=null&&x.length&&t(g=>({[p]:{...g[p],[m.id]:[...x]}}))}return(d=a().chatHistory[s])!=null&&d.length&&bl("groove:chatHistory",a().chatHistory),(f=a().activityLog[s])!=null&&f.length&&bl("groove:activityLog",a().activityLog),a().selectAgent(m.id),m}catch(m){throw a().addChatMessage(s,"system",`failed: ${m.message}`),m}},async queryAgent(s,l){a().addChatMessage(s,"user",l,!0);try{const o=await ee.post(`/agents/${s}/query`,{message:l});return a().addChatMessage(s,"agent",o.response),o}catch(o){throw a().addChatMessage(s,"system",`query failed: ${o.message}`),o}},async openFile(s){var u;if(a().editorFiles[s]||a().editorOpenTabs.includes(s)){t(d=>({editorActiveFile:s,editorOpenTabs:d.editorOpenTabs.includes(s)?d.editorOpenTabs:[...d.editorOpenTabs,s]}));return}const l=(u=s.split(".").pop())==null?void 0:u.toLowerCase();if(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif","mp4","webm","mov","avi","mkv","ogv"].includes(l)){t(d=>({editorActiveFile:s,editorOpenTabs:[...d.editorOpenTabs,s]}));return}try{const d=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(d.binary){a().addToast("warning","Binary file — cannot open");return}t(m=>({editorFiles:{...m.editorFiles,[s]:{content:d.content,originalContent:d.content,language:d.language,loadedAt:Date.now()}},editorActiveFile:s,editorOpenTabs:m.editorOpenTabs.includes(s)?m.editorOpenTabs:[...m.editorOpenTabs,s]}));const f=a().ws;(f==null?void 0:f.readyState)===1&&f.send(JSON.stringify({type:"editor:watch",path:s}))}catch(d){a().addToast("error","Failed to open file",d.message)}},closeFile(s){t(o=>{const u=o.editorOpenTabs.filter(p=>p!==s),d={...o.editorFiles};delete d[s];const f={...o.editorChangedFiles};delete f[s];let m=o.editorActiveFile;if(m===s){const p=o.editorOpenTabs.indexOf(s);m=u[Math.min(p,u.length-1)]||null}return{editorOpenTabs:u,editorFiles:d,editorChangedFiles:f,editorActiveFile:m}});const l=a().ws;(l==null?void 0:l.readyState)===1&&l.send(JSON.stringify({type:"editor:unwatch",path:s}))},setActiveFile(s){t({editorActiveFile:s})},updateFileContent(s,l){t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],content:l}}}))},async saveFile(s){const l=a().editorFiles[s];if(l)try{await ee.post("/files/write",{path:s,content:l.content}),t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],originalContent:l.content}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})(),editorRecentSaves:{...o.editorRecentSaves,[s]:Date.now()}})),a().addToast("success","File saved")}catch(o){a().addToast("error","Save failed",o.message)}},async reloadFile(s){try{const l=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(l.binary)return;t(o=>({editorFiles:{...o.editorFiles,[s]:{content:l.content,originalContent:l.content,language:l.language,loadedAt:Date.now()}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})()}))}catch{}},dismissFileChange(s){t(l=>{const o={...l.editorChangedFiles};return delete o[s],{editorChangedFiles:o}})},async fetchTreeDir(s){try{const l=await ee.get(`/files/tree?path=${encodeURIComponent(s)}`);t(o=>({editorTreeCache:{...o.editorTreeCache,[s]:l.entries}}))}catch{}},async createFile(s){try{await ee.post("/files/create",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","File created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async createDir(s){try{await ee.post("/files/mkdir",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),a().addToast("success","Folder created"),!0}catch(l){return a().addToast("error","Create failed",l.message),!1}},async deleteFile(s){try{await ee.delete(`/files/delete?path=${encodeURIComponent(s)}`),a().editorOpenTabs.includes(s)&&a().closeFile(s);const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(l),t(o=>{const u={...o.editorTreeCache};return delete u[s],{editorTreeCache:u}}),a().addToast("success","Deleted"),!0}catch(l){return a().addToast("error","Delete failed",l.message),!1}},async renameFile(s,l){try{await ee.post("/files/rename",{oldPath:s,newPath:l}),t(d=>{const f=d.editorOpenTabs.map(x=>x===s?l:x),m={...d.editorFiles};m[s]&&(m[l]=m[s],delete m[s]);const p=d.editorActiveFile===s?l:d.editorActiveFile;return{editorOpenTabs:f,editorFiles:m,editorActiveFile:p}});const o=s.includes("/")?s.split("/").slice(0,-1).join("/"):"",u=l.includes("/")?l.split("/").slice(0,-1).join("/"):"";return await a().fetchTreeDir(o),u!==o&&await a().fetchTreeDir(u),a().addToast("success","Renamed"),!0}catch(o){return a().addToast("error","Rename failed",o.message),!1}}}));function aw(t){v.useEffect(()=>{function a(s){for(const l of t){const o=l.meta?s.metaKey||s.ctrlKey:!0,u=l.shift?s.shiftKey:!s.shiftKey;if(s.key.toLowerCase()===l.key.toLowerCase()&&o&&u){s.preventDefault(),l.handler();return}}}return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[t])}function Ae(t,a,{checkForDefaultPrevented:s=!0}={}){return function(o){if(t==null||t(o),s===!1||!o.defaultPrevented)return a==null?void 0:a(o)}}function kg(t,a){if(typeof t=="function")return t(a);t!=null&&(t.current=a)}function T0(...t){return a=>{let s=!1;const l=t.map(o=>{const u=kg(o,a);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let o=0;o<l.length;o++){const u=l[o];typeof u=="function"?u():kg(t[o],null)}}}}function rt(...t){return v.useCallback(T0(...t),t)}function sw(t,a){const s=v.createContext(a),l=u=>{const{children:d,...f}=u,m=v.useMemo(()=>f,Object.values(f));return i.jsx(s.Provider,{value:m,children:d})};l.displayName=t+"Provider";function o(u){const d=v.useContext(s);if(d)return d;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${t}\``)}return[l,o]}function Ts(t,a=[]){let s=[];function l(u,d){const f=v.createContext(d),m=s.length;s=[...s,d];const p=g=>{var T;const{scope:b,children:S,...Q}=g,k=((T=b==null?void 0:b[t])==null?void 0:T[m])||f,j=v.useMemo(()=>Q,Object.values(Q));return i.jsx(k.Provider,{value:j,children:S})};p.displayName=u+"Provider";function x(g,b){var k;const S=((k=b==null?void 0:b[t])==null?void 0:k[m])||f,Q=v.useContext(S);if(Q)return Q;if(d!==void 0)return d;throw new Error(`\`${g}\` must be used within \`${u}\``)}return[p,x]}const o=()=>{const u=s.map(d=>v.createContext(d));return function(f){const m=(f==null?void 0:f[t])||u;return v.useMemo(()=>({[`__scope${t}`]:{...f,[t]:m}}),[f,m])}};return o.scopeName=t,[l,lw(o,...a)]}function lw(...t){const a=t[0];if(t.length===1)return a;const s=()=>{const l=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(u){const d=l.reduce((f,{useScope:m,scopeName:p})=>{const g=m(u)[`__scope${p}`];return{...f,...g}},{});return v.useMemo(()=>({[`__scope${a.scopeName}`]:d}),[d])}};return s.scopeName=a.scopeName,s}function tc(t){const a=rw(t),s=v.forwardRef((l,o)=>{const{children:u,...d}=l,f=v.Children.toArray(u),m=f.find(ow);if(m){const p=m.props.children,x=f.map(g=>g===m?v.Children.count(p)>1?v.Children.only(null):v.isValidElement(p)?p.props.children:null:g);return i.jsx(a,{...d,ref:o,children:v.isValidElement(p)?v.cloneElement(p,void 0,x):null})}return i.jsx(a,{...d,ref:o,children:u})});return s.displayName=`${t}.Slot`,s}function rw(t){const a=v.forwardRef((s,l)=>{const{children:o,...u}=s;if(v.isValidElement(o)){const d=uw(o),f=cw(u,o.props);return o.type!==v.Fragment&&(f.ref=l?T0(l,d):d),v.cloneElement(o,f)}return v.Children.count(o)>1?v.Children.only(null):null});return a.displayName=`${t}.SlotClone`,a}var P0=Symbol("radix.slottable");function iw(t){const a=({children:s})=>i.jsx(i.Fragment,{children:s});return a.displayName=`${t}.Slottable`,a.__radixId=P0,a}function ow(t){return v.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===P0}function cw(t,a){const s={...a};for(const l in a){const o=t[l],u=a[l];/^on[A-Z]/.test(l)?o&&u?s[l]=(...f)=>{const m=u(...f);return o(...f),m}:o&&(s[l]=o):l==="style"?s[l]={...o,...u}:l==="className"&&(s[l]=[o,u].filter(Boolean).join(" "))}return{...t,...s}}function uw(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var dw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Be=dw.reduce((t,a)=>{const s=tc(`Primitive.${a}`),l=v.forwardRef((o,u)=>{const{asChild:d,...f}=o,m=d?s:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(m,{...f,ref:u})});return l.displayName=`Primitive.${a}`,{...t,[a]:l}},{});function Ow(t,a){t&&v0.flushSync(()=>t.dispatchEvent(a))}function Rt(t){const a=v.useRef(t);return v.useEffect(()=>{a.current=t}),v.useMemo(()=>(...s)=>{var l;return(l=a.current)==null?void 0:l.call(a,...s)},[])}function fw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t);v.useEffect(()=>{const l=o=>{o.key==="Escape"&&s(o)};return a.addEventListener("keydown",l,{capture:!0}),()=>a.removeEventListener("keydown",l,{capture:!0})},[s,a])}var hw="DismissableLayer",tf="dismissableLayer.update",mw="dismissableLayer.pointerDownOutside",pw="dismissableLayer.focusOutside",$g,N0=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Tf=v.forwardRef((t,a)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:d,onDismiss:f,...m}=t,p=v.useContext(N0),[x,g]=v.useState(null),b=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=v.useState({}),Q=rt(a,R=>g(R)),k=Array.from(p.layers),[j]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),T=k.indexOf(j),P=x?k.indexOf(x):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,A=P>=T,G=bw(R=>{const $=R.target,W=[...p.branches].some(U=>U.contains($));!A||W||(o==null||o(R),d==null||d(R),R.defaultPrevented||f==null||f())},b),C=vw(R=>{const $=R.target;[...p.branches].some(U=>U.contains($))||(u==null||u(R),d==null||d(R),R.defaultPrevented||f==null||f())},b);return fw(R=>{P===p.layers.size-1&&(l==null||l(R),!R.defaultPrevented&&f&&(R.preventDefault(),f()))},b),v.useEffect(()=>{if(x)return s&&(p.layersWithOutsidePointerEventsDisabled.size===0&&($g=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),Tg(),()=>{s&&p.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=$g)}},[x,b,s,p]),v.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),Tg())},[x,p]),v.useEffect(()=>{const R=()=>S({});return document.addEventListener(tf,R),()=>document.removeEventListener(tf,R)},[]),i.jsx(Be.div,{...m,ref:Q,style:{pointerEvents:N?A?"auto":"none":void 0,...t.style},onFocusCapture:Ae(t.onFocusCapture,C.onFocusCapture),onBlurCapture:Ae(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Ae(t.onPointerDownCapture,G.onPointerDownCapture)})});Tf.displayName=hw;var xw="DismissableLayerBranch",gw=v.forwardRef((t,a)=>{const s=v.useContext(N0),l=v.useRef(null),o=rt(a,l);return v.useEffect(()=>{const u=l.current;if(u)return s.branches.add(u),()=>{s.branches.delete(u)}},[s.branches]),i.jsx(Be.div,{...t,ref:o})});gw.displayName=xw;function bw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1),o=v.useRef(()=>{});return v.useEffect(()=>{const u=f=>{if(f.target&&!l.current){let m=function(){z0(mw,s,p,{discrete:!0})};const p={originalEvent:f};f.pointerType==="touch"?(a.removeEventListener("click",o.current),o.current=m,a.addEventListener("click",o.current,{once:!0})):m()}else a.removeEventListener("click",o.current);l.current=!1},d=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),a.removeEventListener("pointerdown",u),a.removeEventListener("click",o.current)}},[a,s]),{onPointerDownCapture:()=>l.current=!0}}function vw(t,a=globalThis==null?void 0:globalThis.document){const s=Rt(t),l=v.useRef(!1);return v.useEffect(()=>{const o=u=>{u.target&&!l.current&&z0(pw,s,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",o),()=>a.removeEventListener("focusin",o)},[a,s]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function Tg(){const t=new CustomEvent(tf);document.dispatchEvent(t)}function z0(t,a,s,{discrete:l}){const o=s.originalEvent.target,u=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:s});a&&o.addEventListener(t,a,{once:!0}),l?Ow(o,u):o.dispatchEvent(u)}var la=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},yw=x0[" useId ".trim().toString()]||(()=>{}),Sw=0;function Sl(t){const[a,s]=v.useState(yw());return la(()=>{s(l=>l??String(Sw++))},[t]),t||(a?`radix-${a}`:"")}const Qw=["top","right","bottom","left"],Wa=Math.min,Bt=Math.max,nc=Math.round,Ro=Math.floor,Tn=t=>({x:t,y:t}),jw={left:"right",right:"left",bottom:"top",top:"bottom"};function nf(t,a,s){return Bt(t,Wa(a,s))}function ra(t,a){return typeof t=="function"?t(a):t}function ia(t){return t.split("-")[0]}function Zl(t){return t.split("-")[1]}function Pf(t){return t==="x"?"y":"x"}function Nf(t){return t==="y"?"height":"width"}function $n(t){const a=t[0];return a==="t"||a==="b"?"y":"x"}function zf(t){return Pf($n(t))}function ww(t,a,s){s===void 0&&(s=!1);const l=Zl(t),o=zf(t),u=Nf(o);let d=o==="x"?l===(s?"end":"start")?"right":"left":l==="start"?"bottom":"top";return a.reference[u]>a.floating[u]&&(d=ac(d)),[d,ac(d)]}function kw(t){const a=ac(t);return[af(t),a,af(a)]}function af(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Pg=["left","right"],Ng=["right","left"],$w=["top","bottom"],Tw=["bottom","top"];function Pw(t,a,s){switch(t){case"top":case"bottom":return s?a?Ng:Pg:a?Pg:Ng;case"left":case"right":return a?$w:Tw;default:return[]}}function Nw(t,a,s,l){const o=Zl(t);let u=Pw(ia(t),s==="start",l);return o&&(u=u.map(d=>d+"-"+o),a&&(u=u.concat(u.map(af)))),u}function ac(t){const a=ia(t);return jw[a]+t.slice(a.length)}function zw(t){return{top:0,right:0,bottom:0,left:0,...t}}function R0(t){return typeof t!="number"?zw(t):{top:t,right:t,bottom:t,left:t}}function sc(t){const{x:a,y:s,width:l,height:o}=t;return{width:l,height:o,top:s,left:a,right:a+l,bottom:s+o,x:a,y:s}}function zg(t,a,s){let{reference:l,floating:o}=t;const u=$n(a),d=zf(a),f=Nf(d),m=ia(a),p=u==="y",x=l.x+l.width/2-o.width/2,g=l.y+l.height/2-o.height/2,b=l[f]/2-o[f]/2;let S;switch(m){case"top":S={x,y:l.y-o.height};break;case"bottom":S={x,y:l.y+l.height};break;case"right":S={x:l.x+l.width,y:g};break;case"left":S={x:l.x-o.width,y:g};break;default:S={x:l.x,y:l.y}}switch(Zl(a)){case"start":S[d]-=b*(s&&p?-1:1);break;case"end":S[d]+=b*(s&&p?-1:1);break}return S}async function Rw(t,a){var s;a===void 0&&(a={});const{x:l,y:o,platform:u,rects:d,elements:f,strategy:m}=t,{boundary:p="clippingAncestors",rootBoundary:x="viewport",elementContext:g="floating",altBoundary:b=!1,padding:S=0}=ra(a,t),Q=R0(S),j=f[b?g==="floating"?"reference":"floating":g],T=sc(await u.getClippingRect({element:(s=await(u.isElement==null?void 0:u.isElement(j)))==null||s?j:j.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(f.floating)),boundary:p,rootBoundary:x,strategy:m})),P=g==="floating"?{x:l,y:o,width:d.floating.width,height:d.floating.height}:d.reference,N=await(u.getOffsetParent==null?void 0:u.getOffsetParent(f.floating)),A=await(u.isElement==null?void 0:u.isElement(N))?await(u.getScale==null?void 0:u.getScale(N))||{x:1,y:1}:{x:1,y:1},G=sc(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:P,offsetParent:N,strategy:m}):P);return{top:(T.top-G.top+Q.top)/A.y,bottom:(G.bottom-T.bottom+Q.bottom)/A.y,left:(T.left-G.left+Q.left)/A.x,right:(G.right-T.right+Q.right)/A.x}}const Cw=50,Xw=async(t,a,s)=>{const{placement:l="bottom",strategy:o="absolute",middleware:u=[],platform:d}=s,f=d.detectOverflow?d:{...d,detectOverflow:Rw},m=await(d.isRTL==null?void 0:d.isRTL(a));let p=await d.getElementRects({reference:t,floating:a,strategy:o}),{x,y:g}=zg(p,l,m),b=l,S=0;const Q={};for(let k=0;k<u.length;k++){const j=u[k];if(!j)continue;const{name:T,fn:P}=j,{x:N,y:A,data:G,reset:C}=await P({x,y:g,initialPlacement:l,placement:b,strategy:o,middlewareData:Q,rects:p,platform:f,elements:{reference:t,floating:a}});x=N??x,g=A??g,Q[T]={...Q[T],...G},C&&S<Cw&&(S++,typeof C=="object"&&(C.placement&&(b=C.placement),C.rects&&(p=C.rects===!0?await d.getElementRects({reference:t,floating:a,strategy:o}):C.rects),{x,y:g}=zg(p,b,m)),k=-1)}return{x,y:g,placement:b,strategy:o,middlewareData:Q}},_w=t=>({name:"arrow",options:t,async fn(a){const{x:s,y:l,placement:o,rects:u,platform:d,elements:f,middlewareData:m}=a,{element:p,padding:x=0}=ra(t,a)||{};if(p==null)return{};const g=R0(x),b={x:s,y:l},S=zf(o),Q=Nf(S),k=await d.getDimensions(p),j=S==="y",T=j?"top":"left",P=j?"bottom":"right",N=j?"clientHeight":"clientWidth",A=u.reference[Q]+u.reference[S]-b[S]-u.floating[Q],G=b[S]-u.reference[S],C=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let R=C?C[N]:0;(!R||!await(d.isElement==null?void 0:d.isElement(C)))&&(R=f.floating[N]||u.floating[Q]);const $=A/2-G/2,W=R/2-k[Q]/2-1,U=Wa(g[T],W),le=Wa(g[P],W),re=U,pe=R-k[Q]-le,me=R/2-k[Q]/2+$,V=nf(re,me,pe),X=!m.arrow&&Zl(o)!=null&&me!==V&&u.reference[Q]/2-(me<re?U:le)-k[Q]/2<0,I=X?me<re?me-re:me-pe:0;return{[S]:b[S]+I,data:{[S]:V,centerOffset:me-V-I,...X&&{alignmentOffset:I}},reset:X}}}),Zw=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(a){var s,l;const{placement:o,middlewareData:u,rects:d,initialPlacement:f,platform:m,elements:p}=a,{mainAxis:x=!0,crossAxis:g=!0,fallbackPlacements:b,fallbackStrategy:S="bestFit",fallbackAxisSideDirection:Q="none",flipAlignment:k=!0,...j}=ra(t,a);if((s=u.arrow)!=null&&s.alignmentOffset)return{};const T=ia(o),P=$n(f),N=ia(f)===f,A=await(m.isRTL==null?void 0:m.isRTL(p.floating)),G=b||(N||!k?[ac(f)]:kw(f)),C=Q!=="none";!b&&C&&G.push(...Nw(f,k,Q,A));const R=[f,...G],$=await m.detectOverflow(a,j),W=[];let U=((l=u.flip)==null?void 0:l.overflows)||[];if(x&&W.push($[T]),g){const me=ww(o,d,A);W.push($[me[0]],$[me[1]])}if(U=[...U,{placement:o,overflows:W}],!W.every(me=>me<=0)){var le,re;const me=(((le=u.flip)==null?void 0:le.index)||0)+1,V=R[me];if(V&&(!(g==="alignment"?P!==$n(V):!1)||U.every(J=>$n(J.placement)===P?J.overflows[0]>0:!0)))return{data:{index:me,overflows:U},reset:{placement:V}};let X=(re=U.filter(I=>I.overflows[0]<=0).sort((I,J)=>I.overflows[1]-J.overflows[1])[0])==null?void 0:re.placement;if(!X)switch(S){case"bestFit":{var pe;const I=(pe=U.filter(J=>{if(C){const ce=$n(J.placement);return ce===P||ce==="y"}return!0}).map(J=>[J.placement,J.overflows.filter(ce=>ce>0).reduce((ce,te)=>ce+te,0)]).sort((J,ce)=>J[1]-ce[1])[0])==null?void 0:pe[0];I&&(X=I);break}case"initialPlacement":X=f;break}if(o!==X)return{reset:{placement:X}}}return{}}}};function Rg(t,a){return{top:t.top-a.height,right:t.right-a.width,bottom:t.bottom-a.height,left:t.left-a.width}}function Cg(t){return Qw.some(a=>t[a]>=0)}const Aw=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(a){const{rects:s,platform:l}=a,{strategy:o="referenceHidden",...u}=ra(t,a);switch(o){case"referenceHidden":{const d=await l.detectOverflow(a,{...u,elementContext:"reference"}),f=Rg(d,s.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:Cg(f)}}}case"escaped":{const d=await l.detectOverflow(a,{...u,altBoundary:!0}),f=Rg(d,s.floating);return{data:{escapedOffsets:f,escaped:Cg(f)}}}default:return{}}}}},C0=new Set(["left","top"]);async function Ew(t,a){const{placement:s,platform:l,elements:o}=t,u=await(l.isRTL==null?void 0:l.isRTL(o.floating)),d=ia(s),f=Zl(s),m=$n(s)==="y",p=C0.has(d)?-1:1,x=u&&m?-1:1,g=ra(a,t);let{mainAxis:b,crossAxis:S,alignmentAxis:Q}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return f&&typeof Q=="number"&&(S=f==="end"?Q*-1:Q),m?{x:S*x,y:b*p}:{x:b*p,y:S*x}}const qw=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(a){var s,l;const{x:o,y:u,placement:d,middlewareData:f}=a,m=await Ew(a,t);return d===((s=f.offset)==null?void 0:s.placement)&&(l=f.arrow)!=null&&l.alignmentOffset?{}:{x:o+m.x,y:u+m.y,data:{...m,placement:d}}}}},Mw=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(a){const{x:s,y:l,placement:o,platform:u}=a,{mainAxis:d=!0,crossAxis:f=!1,limiter:m={fn:T=>{let{x:P,y:N}=T;return{x:P,y:N}}},...p}=ra(t,a),x={x:s,y:l},g=await u.detectOverflow(a,p),b=$n(ia(o)),S=Pf(b);let Q=x[S],k=x[b];if(d){const T=S==="y"?"top":"left",P=S==="y"?"bottom":"right",N=Q+g[T],A=Q-g[P];Q=nf(N,Q,A)}if(f){const T=b==="y"?"top":"left",P=b==="y"?"bottom":"right",N=k+g[T],A=k-g[P];k=nf(N,k,A)}const j=m.fn({...a,[S]:Q,[b]:k});return{...j,data:{x:j.x-s,y:j.y-l,enabled:{[S]:d,[b]:f}}}}}},Yw=function(t){return t===void 0&&(t={}),{options:t,fn(a){const{x:s,y:l,placement:o,rects:u,middlewareData:d}=a,{offset:f=0,mainAxis:m=!0,crossAxis:p=!0}=ra(t,a),x={x:s,y:l},g=$n(o),b=Pf(g);let S=x[b],Q=x[g];const k=ra(f,a),j=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(m){const N=b==="y"?"height":"width",A=u.reference[b]-u.floating[N]+j.mainAxis,G=u.reference[b]+u.reference[N]-j.mainAxis;S<A?S=A:S>G&&(S=G)}if(p){var T,P;const N=b==="y"?"width":"height",A=C0.has(ia(o)),G=u.reference[g]-u.floating[N]+(A&&((T=d.offset)==null?void 0:T[g])||0)+(A?0:j.crossAxis),C=u.reference[g]+u.reference[N]+(A?0:((P=d.offset)==null?void 0:P[g])||0)-(A?j.crossAxis:0);Q<G?Q=G:Q>C&&(Q=C)}return{[b]:S,[g]:Q}}}},Vw=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(a){var s,l;const{placement:o,rects:u,platform:d,elements:f}=a,{apply:m=()=>{},...p}=ra(t,a),x=await d.detectOverflow(a,p),g=ia(o),b=Zl(o),S=$n(o)==="y",{width:Q,height:k}=u.floating;let j,T;g==="top"||g==="bottom"?(j=g,T=b===(await(d.isRTL==null?void 0:d.isRTL(f.floating))?"start":"end")?"left":"right"):(T=g,j=b==="end"?"top":"bottom");const P=k-x.top-x.bottom,N=Q-x.left-x.right,A=Wa(k-x[j],P),G=Wa(Q-x[T],N),C=!a.middlewareData.shift;let R=A,$=G;if((s=a.middlewareData.shift)!=null&&s.enabled.x&&($=N),(l=a.middlewareData.shift)!=null&&l.enabled.y&&(R=P),C&&!b){const U=Bt(x.left,0),le=Bt(x.right,0),re=Bt(x.top,0),pe=Bt(x.bottom,0);S?$=Q-2*(U!==0||le!==0?U+le:Bt(x.left,x.right)):R=k-2*(re!==0||pe!==0?re+pe:Bt(x.top,x.bottom))}await m({...a,availableWidth:$,availableHeight:R});const W=await d.getDimensions(f.floating);return Q!==W.width||k!==W.height?{reset:{rects:!0}}:{}}}};function kc(){return typeof window<"u"}function Al(t){return X0(t)?(t.nodeName||"").toLowerCase():"#document"}function Ht(t){var a;return(t==null||(a=t.ownerDocument)==null?void 0:a.defaultView)||window}function Nn(t){var a;return(a=(X0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:a.documentElement}function X0(t){return kc()?t instanceof Node||t instanceof Ht(t).Node:!1}function xn(t){return kc()?t instanceof Element||t instanceof Ht(t).Element:!1}function oa(t){return kc()?t instanceof HTMLElement||t instanceof Ht(t).HTMLElement:!1}function Xg(t){return!kc()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ht(t).ShadowRoot}function li(t){const{overflow:a,overflowX:s,overflowY:l,display:o}=gn(t);return/auto|scroll|overlay|hidden|clip/.test(a+l+s)&&o!=="inline"&&o!=="contents"}function Uw(t){return/^(table|td|th)$/.test(Al(t))}function $c(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const Gw=/transform|translate|scale|rotate|perspective|filter/,Lw=/paint|layout|strict|content/,xs=t=>!!t&&t!=="none";let dO;function Rf(t){const a=xn(t)?gn(t):t;return xs(a.transform)||xs(a.translate)||xs(a.scale)||xs(a.rotate)||xs(a.perspective)||!Cf()&&(xs(a.backdropFilter)||xs(a.filter))||Gw.test(a.willChange||"")||Lw.test(a.contain||"")}function Dw(t){let a=Ba(t);for(;oa(a)&&!$l(a);){if(Rf(a))return a;if($c(a))return null;a=Ba(a)}return null}function Cf(){return dO==null&&(dO=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),dO}function $l(t){return/^(html|body|#document)$/.test(Al(t))}function gn(t){return Ht(t).getComputedStyle(t)}function Tc(t){return xn(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Ba(t){if(Al(t)==="html")return t;const a=t.assignedSlot||t.parentNode||Xg(t)&&t.host||Nn(t);return Xg(a)?a.host:a}function _0(t){const a=Ba(t);return $l(a)?t.ownerDocument?t.ownerDocument.body:t.body:oa(a)&&li(a)?a:_0(a)}function Dr(t,a,s){var l;a===void 0&&(a=[]),s===void 0&&(s=!0);const o=_0(t),u=o===((l=t.ownerDocument)==null?void 0:l.body),d=Ht(o);if(u){const f=sf(d);return a.concat(d,d.visualViewport||[],li(o)?o:[],f&&s?Dr(f):[])}else return a.concat(o,Dr(o,[],s))}function sf(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Z0(t){const a=gn(t);let s=parseFloat(a.width)||0,l=parseFloat(a.height)||0;const o=oa(t),u=o?t.offsetWidth:s,d=o?t.offsetHeight:l,f=nc(s)!==u||nc(l)!==d;return f&&(s=u,l=d),{width:s,height:l,$:f}}function Xf(t){return xn(t)?t:t.contextElement}function Ql(t){const a=Xf(t);if(!oa(a))return Tn(1);const s=a.getBoundingClientRect(),{width:l,height:o,$:u}=Z0(a);let d=(u?nc(s.width):s.width)/l,f=(u?nc(s.height):s.height)/o;return(!d||!Number.isFinite(d))&&(d=1),(!f||!Number.isFinite(f))&&(f=1),{x:d,y:f}}const Ww=Tn(0);function A0(t){const a=Ht(t);return!Cf()||!a.visualViewport?Ww:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Bw(t,a,s){return a===void 0&&(a=!1),!s||a&&s!==Ht(t)?!1:a}function Ss(t,a,s,l){a===void 0&&(a=!1),s===void 0&&(s=!1);const o=t.getBoundingClientRect(),u=Xf(t);let d=Tn(1);a&&(l?xn(l)&&(d=Ql(l)):d=Ql(t));const f=Bw(u,s,l)?A0(u):Tn(0);let m=(o.left+f.x)/d.x,p=(o.top+f.y)/d.y,x=o.width/d.x,g=o.height/d.y;if(u){const b=Ht(u),S=l&&xn(l)?Ht(l):l;let Q=b,k=sf(Q);for(;k&&l&&S!==Q;){const j=Ql(k),T=k.getBoundingClientRect(),P=gn(k),N=T.left+(k.clientLeft+parseFloat(P.paddingLeft))*j.x,A=T.top+(k.clientTop+parseFloat(P.paddingTop))*j.y;m*=j.x,p*=j.y,x*=j.x,g*=j.y,m+=N,p+=A,Q=Ht(k),k=sf(Q)}}return sc({width:x,height:g,x:m,y:p})}function Pc(t,a){const s=Tc(t).scrollLeft;return a?a.left+s:Ss(Nn(t)).left+s}function E0(t,a){const s=t.getBoundingClientRect(),l=s.left+a.scrollLeft-Pc(t,s),o=s.top+a.scrollTop;return{x:l,y:o}}function Hw(t){let{elements:a,rect:s,offsetParent:l,strategy:o}=t;const u=o==="fixed",d=Nn(l),f=a?$c(a.floating):!1;if(l===d||f&&u)return s;let m={scrollLeft:0,scrollTop:0},p=Tn(1);const x=Tn(0),g=oa(l);if((g||!g&&!u)&&((Al(l)!=="body"||li(d))&&(m=Tc(l)),g)){const S=Ss(l);p=Ql(l),x.x=S.x+l.clientLeft,x.y=S.y+l.clientTop}const b=d&&!g&&!u?E0(d,m):Tn(0);return{width:s.width*p.x,height:s.height*p.y,x:s.x*p.x-m.scrollLeft*p.x+x.x+b.x,y:s.y*p.y-m.scrollTop*p.y+x.y+b.y}}function Iw(t){return Array.from(t.getClientRects())}function Fw(t){const a=Nn(t),s=Tc(t),l=t.ownerDocument.body,o=Bt(a.scrollWidth,a.clientWidth,l.scrollWidth,l.clientWidth),u=Bt(a.scrollHeight,a.clientHeight,l.scrollHeight,l.clientHeight);let d=-s.scrollLeft+Pc(t);const f=-s.scrollTop;return gn(l).direction==="rtl"&&(d+=Bt(a.clientWidth,l.clientWidth)-o),{width:o,height:u,x:d,y:f}}const _g=25;function Kw(t,a){const s=Ht(t),l=Nn(t),o=s.visualViewport;let u=l.clientWidth,d=l.clientHeight,f=0,m=0;if(o){u=o.width,d=o.height;const x=Cf();(!x||x&&a==="fixed")&&(f=o.offsetLeft,m=o.offsetTop)}const p=Pc(l);if(p<=0){const x=l.ownerDocument,g=x.body,b=getComputedStyle(g),S=x.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,Q=Math.abs(l.clientWidth-g.clientWidth-S);Q<=_g&&(u-=Q)}else p<=_g&&(u+=p);return{width:u,height:d,x:f,y:m}}function Jw(t,a){const s=Ss(t,!0,a==="fixed"),l=s.top+t.clientTop,o=s.left+t.clientLeft,u=oa(t)?Ql(t):Tn(1),d=t.clientWidth*u.x,f=t.clientHeight*u.y,m=o*u.x,p=l*u.y;return{width:d,height:f,x:m,y:p}}function Zg(t,a,s){let l;if(a==="viewport")l=Kw(t,s);else if(a==="document")l=Fw(Nn(t));else if(xn(a))l=Jw(a,s);else{const o=A0(t);l={x:a.x-o.x,y:a.y-o.y,width:a.width,height:a.height}}return sc(l)}function q0(t,a){const s=Ba(t);return s===a||!xn(s)||$l(s)?!1:gn(s).position==="fixed"||q0(s,a)}function ek(t,a){const s=a.get(t);if(s)return s;let l=Dr(t,[],!1).filter(f=>xn(f)&&Al(f)!=="body"),o=null;const u=gn(t).position==="fixed";let d=u?Ba(t):t;for(;xn(d)&&!$l(d);){const f=gn(d),m=Rf(d);!m&&f.position==="fixed"&&(o=null),(u?!m&&!o:!m&&f.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||li(d)&&!m&&q0(t,d))?l=l.filter(x=>x!==d):o=f,d=Ba(d)}return a.set(t,l),l}function tk(t){let{element:a,boundary:s,rootBoundary:l,strategy:o}=t;const d=[...s==="clippingAncestors"?$c(a)?[]:ek(a,this._c):[].concat(s),l],f=Zg(a,d[0],o);let m=f.top,p=f.right,x=f.bottom,g=f.left;for(let b=1;b<d.length;b++){const S=Zg(a,d[b],o);m=Bt(S.top,m),p=Wa(S.right,p),x=Wa(S.bottom,x),g=Bt(S.left,g)}return{width:p-g,height:x-m,x:g,y:m}}function nk(t){const{width:a,height:s}=Z0(t);return{width:a,height:s}}function ak(t,a,s){const l=oa(a),o=Nn(a),u=s==="fixed",d=Ss(t,!0,u,a);let f={scrollLeft:0,scrollTop:0};const m=Tn(0);function p(){m.x=Pc(o)}if(l||!l&&!u)if((Al(a)!=="body"||li(o))&&(f=Tc(a)),l){const S=Ss(a,!0,u,a);m.x=S.x+a.clientLeft,m.y=S.y+a.clientTop}else o&&p();u&&!l&&o&&p();const x=o&&!l&&!u?E0(o,f):Tn(0),g=d.left+f.scrollLeft-m.x-x.x,b=d.top+f.scrollTop-m.y-x.y;return{x:g,y:b,width:d.width,height:d.height}}function OO(t){return gn(t).position==="static"}function Ag(t,a){if(!oa(t)||gn(t).position==="fixed")return null;if(a)return a(t);let s=t.offsetParent;return Nn(t)===s&&(s=s.ownerDocument.body),s}function M0(t,a){const s=Ht(t);if($c(t))return s;if(!oa(t)){let o=Ba(t);for(;o&&!$l(o);){if(xn(o)&&!OO(o))return o;o=Ba(o)}return s}let l=Ag(t,a);for(;l&&Uw(l)&&OO(l);)l=Ag(l,a);return l&&$l(l)&&OO(l)&&!Rf(l)?s:l||Dw(t)||s}const sk=async function(t){const a=this.getOffsetParent||M0,s=this.getDimensions,l=await s(t.floating);return{reference:ak(t.reference,await a(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function lk(t){return gn(t).direction==="rtl"}const rk={convertOffsetParentRelativeRectToViewportRelativeRect:Hw,getDocumentElement:Nn,getClippingRect:tk,getOffsetParent:M0,getElementRects:sk,getClientRects:Iw,getDimensions:nk,getScale:Ql,isElement:xn,isRTL:lk};function Y0(t,a){return t.x===a.x&&t.y===a.y&&t.width===a.width&&t.height===a.height}function ik(t,a){let s=null,l;const o=Nn(t);function u(){var f;clearTimeout(l),(f=s)==null||f.disconnect(),s=null}function d(f,m){f===void 0&&(f=!1),m===void 0&&(m=1),u();const p=t.getBoundingClientRect(),{left:x,top:g,width:b,height:S}=p;if(f||a(),!b||!S)return;const Q=Ro(g),k=Ro(o.clientWidth-(x+b)),j=Ro(o.clientHeight-(g+S)),T=Ro(x),N={rootMargin:-Q+"px "+-k+"px "+-j+"px "+-T+"px",threshold:Bt(0,Wa(1,m))||1};let A=!0;function G(C){const R=C[0].intersectionRatio;if(R!==m){if(!A)return d();R?d(!1,R):l=setTimeout(()=>{d(!1,1e-7)},1e3)}R===1&&!Y0(p,t.getBoundingClientRect())&&d(),A=!1}try{s=new IntersectionObserver(G,{...N,root:o.ownerDocument})}catch{s=new IntersectionObserver(G,N)}s.observe(t)}return d(!0),u}function ok(t,a,s,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:u=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:m=!1}=l,p=Xf(t),x=o||u?[...p?Dr(p):[],...a?Dr(a):[]]:[];x.forEach(T=>{o&&T.addEventListener("scroll",s,{passive:!0}),u&&T.addEventListener("resize",s)});const g=p&&f?ik(p,s):null;let b=-1,S=null;d&&(S=new ResizeObserver(T=>{let[P]=T;P&&P.target===p&&S&&a&&(S.unobserve(a),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var N;(N=S)==null||N.observe(a)})),s()}),p&&!m&&S.observe(p),a&&S.observe(a));let Q,k=m?Ss(t):null;m&&j();function j(){const T=Ss(t);k&&!Y0(k,T)&&s(),k=T,Q=requestAnimationFrame(j)}return s(),()=>{var T;x.forEach(P=>{o&&P.removeEventListener("scroll",s),u&&P.removeEventListener("resize",s)}),g==null||g(),(T=S)==null||T.disconnect(),S=null,m&&cancelAnimationFrame(Q)}}const ck=qw,uk=Mw,dk=Zw,Ok=Vw,fk=Aw,Eg=_w,hk=Yw,mk=(t,a,s)=>{const l=new Map,o={platform:rk,...s},u={...o.platform,_c:l};return Xw(t,a,{...o,platform:u})};var pk=typeof document<"u",xk=function(){},Wo=pk?v.useLayoutEffect:xk;function lc(t,a){if(t===a)return!0;if(typeof t!=typeof a)return!1;if(typeof t=="function"&&t.toString()===a.toString())return!0;let s,l,o;if(t&&a&&typeof t=="object"){if(Array.isArray(t)){if(s=t.length,s!==a.length)return!1;for(l=s;l--!==0;)if(!lc(t[l],a[l]))return!1;return!0}if(o=Object.keys(t),s=o.length,s!==Object.keys(a).length)return!1;for(l=s;l--!==0;)if(!{}.hasOwnProperty.call(a,o[l]))return!1;for(l=s;l--!==0;){const u=o[l];if(!(u==="_owner"&&t.$$typeof)&&!lc(t[u],a[u]))return!1}return!0}return t!==t&&a!==a}function V0(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function qg(t,a){const s=V0(t);return Math.round(a*s)/s}function fO(t){const a=v.useRef(t);return Wo(()=>{a.current=t}),a}function gk(t){t===void 0&&(t={});const{placement:a="bottom",strategy:s="absolute",middleware:l=[],platform:o,elements:{reference:u,floating:d}={},transform:f=!0,whileElementsMounted:m,open:p}=t,[x,g]=v.useState({x:0,y:0,strategy:s,placement:a,middlewareData:{},isPositioned:!1}),[b,S]=v.useState(l);lc(b,l)||S(l);const[Q,k]=v.useState(null),[j,T]=v.useState(null),P=v.useCallback(J=>{J!==C.current&&(C.current=J,k(J))},[]),N=v.useCallback(J=>{J!==R.current&&(R.current=J,T(J))},[]),A=u||Q,G=d||j,C=v.useRef(null),R=v.useRef(null),$=v.useRef(x),W=m!=null,U=fO(m),le=fO(o),re=fO(p),pe=v.useCallback(()=>{if(!C.current||!R.current)return;const J={placement:a,strategy:s,middleware:b};le.current&&(J.platform=le.current),mk(C.current,R.current,J).then(ce=>{const te={...ce,isPositioned:re.current!==!1};me.current&&!lc($.current,te)&&($.current=te,v0.flushSync(()=>{g(te)}))})},[b,a,s,le,re]);Wo(()=>{p===!1&&$.current.isPositioned&&($.current.isPositioned=!1,g(J=>({...J,isPositioned:!1})))},[p]);const me=v.useRef(!1);Wo(()=>(me.current=!0,()=>{me.current=!1}),[]),Wo(()=>{if(A&&(C.current=A),G&&(R.current=G),A&&G){if(U.current)return U.current(A,G,pe);pe()}},[A,G,pe,U,W]);const V=v.useMemo(()=>({reference:C,floating:R,setReference:P,setFloating:N}),[P,N]),X=v.useMemo(()=>({reference:A,floating:G}),[A,G]),I=v.useMemo(()=>{const J={position:s,left:0,top:0};if(!X.floating)return J;const ce=qg(X.floating,x.x),te=qg(X.floating,x.y);return f?{...J,transform:"translate("+ce+"px, "+te+"px)",...V0(X.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:ce,top:te}},[s,f,X.floating,x.x,x.y]);return v.useMemo(()=>({...x,update:pe,refs:V,elements:X,floatingStyles:I}),[x,pe,V,X,I])}const bk=t=>{function a(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:t,fn(s){const{element:l,padding:o}=typeof t=="function"?t(s):t;return l&&a(l)?l.current!=null?Eg({element:l.current,padding:o}).fn(s):{}:l?Eg({element:l,padding:o}).fn(s):{}}}},vk=(t,a)=>{const s=ck(t);return{name:s.name,fn:s.fn,options:[t,a]}},yk=(t,a)=>{const s=uk(t);return{name:s.name,fn:s.fn,options:[t,a]}},Sk=(t,a)=>({fn:hk(t).fn,options:[t,a]}),Qk=(t,a)=>{const s=dk(t);return{name:s.name,fn:s.fn,options:[t,a]}},jk=(t,a)=>{const s=Ok(t);return{name:s.name,fn:s.fn,options:[t,a]}},wk=(t,a)=>{const s=fk(t);return{name:s.name,fn:s.fn,options:[t,a]}},kk=(t,a)=>{const s=bk(t);return{name:s.name,fn:s.fn,options:[t,a]}};var $k="Arrow",U0=v.forwardRef((t,a)=>{const{children:s,width:l=10,height:o=5,...u}=t;return i.jsx(Be.svg,{...u,ref:a,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?s:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});U0.displayName=$k;var Tk=U0;function Pk(t){const[a,s]=v.useState(void 0);return la(()=>{if(t){s({width:t.offsetWidth,height:t.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const u=o[0];let d,f;if("borderBoxSize"in u){const m=u.borderBoxSize,p=Array.isArray(m)?m[0]:m;d=p.inlineSize,f=p.blockSize}else d=t.offsetWidth,f=t.offsetHeight;s({width:d,height:f})});return l.observe(t,{box:"border-box"}),()=>l.unobserve(t)}else s(void 0)},[t]),a}var _f="Popper",[G0,L0]=Ts(_f),[Nk,D0]=G0(_f),W0=t=>{const{__scopePopper:a,children:s}=t,[l,o]=v.useState(null);return i.jsx(Nk,{scope:a,anchor:l,onAnchorChange:o,children:s})};W0.displayName=_f;var B0="PopperAnchor",H0=v.forwardRef((t,a)=>{const{__scopePopper:s,virtualRef:l,...o}=t,u=D0(B0,s),d=v.useRef(null),f=rt(a,d),m=v.useRef(null);return v.useEffect(()=>{const p=m.current;m.current=(l==null?void 0:l.current)||d.current,p!==m.current&&u.onAnchorChange(m.current)}),l?null:i.jsx(Be.div,{...o,ref:f})});H0.displayName=B0;var Zf="PopperContent",[zk,Rk]=G0(Zf),I0=v.forwardRef((t,a)=>{var Re,Ot,_e,tt,bt,vt;const{__scopePopper:s,side:l="bottom",sideOffset:o=0,align:u="center",alignOffset:d=0,arrowPadding:f=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:x=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:S="optimized",onPlaced:Q,...k}=t,j=D0(Zf,s),[T,P]=v.useState(null),N=rt(a,Ft=>P(Ft)),[A,G]=v.useState(null),C=Pk(A),R=(C==null?void 0:C.width)??0,$=(C==null?void 0:C.height)??0,W=l+(u!=="center"?"-"+u:""),U=typeof x=="number"?x:{top:0,right:0,bottom:0,left:0,...x},le=Array.isArray(p)?p:[p],re=le.length>0,pe={padding:U,boundary:le.filter(Xk),altBoundary:re},{refs:me,floatingStyles:V,placement:X,isPositioned:I,middlewareData:J}=gk({strategy:"fixed",placement:W,whileElementsMounted:(...Ft)=>ok(...Ft,{animationFrame:S==="always"}),elements:{reference:j.anchor},middleware:[vk({mainAxis:o+$,alignmentAxis:d}),m&&yk({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?Sk():void 0,...pe}),m&&Qk({...pe}),jk({...pe,apply:({elements:Ft,rects:yt,availableWidth:Ml,availableHeight:Yl})=>{const{width:Wc,height:fi}=yt.reference,da=Ft.floating.style;da.setProperty("--radix-popper-available-width",`${Ml}px`),da.setProperty("--radix-popper-available-height",`${Yl}px`),da.setProperty("--radix-popper-anchor-width",`${Wc}px`),da.setProperty("--radix-popper-anchor-height",`${fi}px`)}}),A&&kk({element:A,padding:f}),_k({arrowWidth:R,arrowHeight:$}),b&&wk({strategy:"referenceHidden",...pe})]}),[ce,te]=J0(X),Ne=Rt(Q);la(()=>{I&&(Ne==null||Ne())},[I,Ne]);const ke=(Re=J.arrow)==null?void 0:Re.x,be=(Ot=J.arrow)==null?void 0:Ot.y,Ee=((_e=J.arrow)==null?void 0:_e.centerOffset)!==0,[L,de]=v.useState();return la(()=>{T&&de(window.getComputedStyle(T).zIndex)},[T]),i.jsx("div",{ref:me.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:I?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:L,"--radix-popper-transform-origin":[(tt=J.transformOrigin)==null?void 0:tt.x,(bt=J.transformOrigin)==null?void 0:bt.y].join(" "),...((vt=J.hide)==null?void 0:vt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:i.jsx(zk,{scope:s,placedSide:ce,onArrowChange:G,arrowX:ke,arrowY:be,shouldHideArrow:Ee,children:i.jsx(Be.div,{"data-side":ce,"data-align":te,...k,ref:N,style:{...k.style,animation:I?void 0:"none"}})})})});I0.displayName=Zf;var F0="PopperArrow",Ck={top:"bottom",right:"left",bottom:"top",left:"right"},K0=v.forwardRef(function(a,s){const{__scopePopper:l,...o}=a,u=Rk(F0,l),d=Ck[u.placedSide];return i.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:i.jsx(Tk,{...o,ref:s,style:{...o.style,display:"block"}})})});K0.displayName=F0;function Xk(t){return t!==null}var _k=t=>({name:"transformOrigin",options:t,fn(a){var j,T,P;const{placement:s,rects:l,middlewareData:o}=a,d=((j=o.arrow)==null?void 0:j.centerOffset)!==0,f=d?0:t.arrowWidth,m=d?0:t.arrowHeight,[p,x]=J0(s),g={start:"0%",center:"50%",end:"100%"}[x],b=(((T=o.arrow)==null?void 0:T.x)??0)+f/2,S=(((P=o.arrow)==null?void 0:P.y)??0)+m/2;let Q="",k="";return p==="bottom"?(Q=d?g:`${b}px`,k=`${-m}px`):p==="top"?(Q=d?g:`${b}px`,k=`${l.floating.height+m}px`):p==="right"?(Q=`${-m}px`,k=d?g:`${S}px`):p==="left"&&(Q=`${l.floating.width+m}px`,k=d?g:`${S}px`),{data:{x:Q,y:k}}}});function J0(t){const[a,s="center"]=t.split("-");return[a,s]}var Zk=W0,Ak=H0,Ek=I0,qk=K0,Mk="Portal",Af=v.forwardRef((t,a)=>{var f;const{container:s,...l}=t,[o,u]=v.useState(!1);la(()=>u(!0),[]);const d=s||o&&((f=globalThis==null?void 0:globalThis.document)==null?void 0:f.body);return d?mj.createPortal(i.jsx(Be.div,{...l,ref:a}),d):null});Af.displayName=Mk;function Yk(t,a){return v.useReducer((s,l)=>a[s][l]??s,t)}var vn=t=>{const{present:a,children:s}=t,l=Vk(a),o=typeof s=="function"?s({present:l.isPresent}):v.Children.only(s),u=rt(l.ref,Uk(o));return typeof s=="function"||l.isPresent?v.cloneElement(o,{ref:u}):null};vn.displayName="Presence";function Vk(t){const[a,s]=v.useState(),l=v.useRef(null),o=v.useRef(t),u=v.useRef("none"),d=t?"mounted":"unmounted",[f,m]=Yk(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const p=Co(l.current);u.current=f==="mounted"?p:"none"},[f]),la(()=>{const p=l.current,x=o.current;if(x!==t){const b=u.current,S=Co(p);t?m("MOUNT"):S==="none"||(p==null?void 0:p.display)==="none"?m("UNMOUNT"):m(x&&b!==S?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,m]),la(()=>{if(a){let p;const x=a.ownerDocument.defaultView??window,g=S=>{const k=Co(l.current).includes(CSS.escape(S.animationName));if(S.target===a&&k&&(m("ANIMATION_END"),!o.current)){const j=a.style.animationFillMode;a.style.animationFillMode="forwards",p=x.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=j)})}},b=S=>{S.target===a&&(u.current=Co(l.current))};return a.addEventListener("animationstart",b),a.addEventListener("animationcancel",g),a.addEventListener("animationend",g),()=>{x.clearTimeout(p),a.removeEventListener("animationstart",b),a.removeEventListener("animationcancel",g),a.removeEventListener("animationend",g)}}else m("ANIMATION_END")},[a,m]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:v.useCallback(p=>{l.current=p?getComputedStyle(p):null,s(p)},[])}}function Co(t){return(t==null?void 0:t.animationName)||"none"}function Uk(t){var l,o;let a=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=a&&"isReactWarning"in a&&a.isReactWarning;return s?t.ref:(a=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=a&&"isReactWarning"in a&&a.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var Gk=x0[" useInsertionEffect ".trim().toString()]||la;function Nc({prop:t,defaultProp:a,onChange:s=()=>{},caller:l}){const[o,u,d]=Lk({defaultProp:a,onChange:s}),f=t!==void 0,m=f?t:o;{const x=v.useRef(t!==void 0);v.useEffect(()=>{const g=x.current;g!==f&&console.warn(`${l} is changing from ${g?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=f},[f,l])}const p=v.useCallback(x=>{var g;if(f){const b=Dk(x)?x(t):x;b!==t&&((g=d.current)==null||g.call(d,b))}else u(x)},[f,t,u,d]);return[m,p]}function Lk({defaultProp:t,onChange:a}){const[s,l]=v.useState(t),o=v.useRef(s),u=v.useRef(a);return Gk(()=>{u.current=a},[a]),v.useEffect(()=>{var d;o.current!==s&&((d=u.current)==null||d.call(u,s),o.current=s)},[s,o]),[s,l,u]}function Dk(t){return typeof t=="function"}var Wk=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Bk="VisuallyHidden",eb=v.forwardRef((t,a)=>i.jsx(Be.span,{...t,ref:a,style:{...Wk,...t.style}}));eb.displayName=Bk;var Hk=eb,[zc]=Ts("Tooltip",[L0]),Rc=L0(),tb="TooltipProvider",Ik=700,lf="tooltip.open",[Fk,Ef]=zc(tb),nb=t=>{const{__scopeTooltip:a,delayDuration:s=Ik,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:u}=t,d=v.useRef(!0),f=v.useRef(!1),m=v.useRef(0);return v.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),i.jsx(Fk,{scope:a,isOpenDelayedRef:d,delayDuration:s,onOpen:v.useCallback(()=>{window.clearTimeout(m.current),d.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>d.current=!0,l)},[l]),isPointerInTransitRef:f,onPointerInTransitChange:v.useCallback(p=>{f.current=p},[]),disableHoverableContent:o,children:u})};nb.displayName=tb;var Wr="Tooltip",[Kk,ri]=zc(Wr),ab=t=>{const{__scopeTooltip:a,children:s,open:l,defaultOpen:o,onOpenChange:u,disableHoverableContent:d,delayDuration:f}=t,m=Ef(Wr,t.__scopeTooltip),p=Rc(a),[x,g]=v.useState(null),b=Sl(),S=v.useRef(0),Q=d??m.disableHoverableContent,k=f??m.delayDuration,j=v.useRef(!1),[T,P]=Nc({prop:l,defaultProp:o??!1,onChange:R=>{R?(m.onOpen(),document.dispatchEvent(new CustomEvent(lf))):m.onClose(),u==null||u(R)},caller:Wr}),N=v.useMemo(()=>T?j.current?"delayed-open":"instant-open":"closed",[T]),A=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,j.current=!1,P(!0)},[P]),G=v.useCallback(()=>{window.clearTimeout(S.current),S.current=0,P(!1)},[P]),C=v.useCallback(()=>{window.clearTimeout(S.current),S.current=window.setTimeout(()=>{j.current=!0,P(!0),S.current=0},k)},[k,P]);return v.useEffect(()=>()=>{S.current&&(window.clearTimeout(S.current),S.current=0)},[]),i.jsx(Zk,{...p,children:i.jsx(Kk,{scope:a,contentId:b,open:T,stateAttribute:N,trigger:x,onTriggerChange:g,onTriggerEnter:v.useCallback(()=>{m.isOpenDelayedRef.current?C():A()},[m.isOpenDelayedRef,C,A]),onTriggerLeave:v.useCallback(()=>{Q?G():(window.clearTimeout(S.current),S.current=0)},[G,Q]),onOpen:A,onClose:G,disableHoverableContent:Q,children:s})})};ab.displayName=Wr;var rf="TooltipTrigger",sb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=ri(rf,s),u=Ef(rf,s),d=Rc(s),f=v.useRef(null),m=rt(a,f,o.onTriggerChange),p=v.useRef(!1),x=v.useRef(!1),g=v.useCallback(()=>p.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),i.jsx(Ak,{asChild:!0,...d,children:i.jsx(Be.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:m,onPointerMove:Ae(t.onPointerMove,b=>{b.pointerType!=="touch"&&!x.current&&!u.isPointerInTransitRef.current&&(o.onTriggerEnter(),x.current=!0)}),onPointerLeave:Ae(t.onPointerLeave,()=>{o.onTriggerLeave(),x.current=!1}),onPointerDown:Ae(t.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:Ae(t.onFocus,()=>{p.current||o.onOpen()}),onBlur:Ae(t.onBlur,o.onClose),onClick:Ae(t.onClick,o.onClose)})})});sb.displayName=rf;var qf="TooltipPortal",[Jk,e$]=zc(qf,{forceMount:void 0}),lb=t=>{const{__scopeTooltip:a,forceMount:s,children:l,container:o}=t,u=ri(qf,a);return i.jsx(Jk,{scope:a,forceMount:s,children:i.jsx(vn,{present:s||u.open,children:i.jsx(Af,{asChild:!0,container:o,children:l})})})};lb.displayName=qf;var Tl="TooltipContent",rb=v.forwardRef((t,a)=>{const s=e$(Tl,t.__scopeTooltip),{forceMount:l=s.forceMount,side:o="top",...u}=t,d=ri(Tl,t.__scopeTooltip);return i.jsx(vn,{present:l||d.open,children:d.disableHoverableContent?i.jsx(ib,{side:o,...u,ref:a}):i.jsx(t$,{side:o,...u,ref:a})})}),t$=v.forwardRef((t,a)=>{const s=ri(Tl,t.__scopeTooltip),l=Ef(Tl,t.__scopeTooltip),o=v.useRef(null),u=rt(a,o),[d,f]=v.useState(null),{trigger:m,onClose:p}=s,x=o.current,{onPointerInTransitChange:g}=l,b=v.useCallback(()=>{f(null),g(!1)},[g]),S=v.useCallback((Q,k)=>{const j=Q.currentTarget,T={x:Q.clientX,y:Q.clientY},P=l$(T,j.getBoundingClientRect()),N=r$(T,P),A=i$(k.getBoundingClientRect()),G=c$([...N,...A]);f(G),g(!0)},[g]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(m&&x){const Q=j=>S(j,x),k=j=>S(j,m);return m.addEventListener("pointerleave",Q),x.addEventListener("pointerleave",k),()=>{m.removeEventListener("pointerleave",Q),x.removeEventListener("pointerleave",k)}}},[m,x,S,b]),v.useEffect(()=>{if(d){const Q=k=>{const j=k.target,T={x:k.clientX,y:k.clientY},P=(m==null?void 0:m.contains(j))||(x==null?void 0:x.contains(j)),N=!o$(T,d);P?b():N&&(b(),p())};return document.addEventListener("pointermove",Q),()=>document.removeEventListener("pointermove",Q)}},[m,x,d,p,b]),i.jsx(ib,{...t,ref:u})}),[n$,a$]=zc(Wr,{isInside:!1}),s$=iw("TooltipContent"),ib=v.forwardRef((t,a)=>{const{__scopeTooltip:s,children:l,"aria-label":o,onEscapeKeyDown:u,onPointerDownOutside:d,...f}=t,m=ri(Tl,s),p=Rc(s),{onClose:x}=m;return v.useEffect(()=>(document.addEventListener(lf,x),()=>document.removeEventListener(lf,x)),[x]),v.useEffect(()=>{if(m.trigger){const g=b=>{const S=b.target;S!=null&&S.contains(m.trigger)&&x()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[m.trigger,x]),i.jsx(Tf,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:g=>g.preventDefault(),onDismiss:x,children:i.jsxs(Ek,{"data-state":m.stateAttribute,...p,...f,ref:a,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(s$,{children:l}),i.jsx(n$,{scope:s,isInside:!0,children:i.jsx(Hk,{id:m.contentId,role:"tooltip",children:o||l})})]})})});rb.displayName=Tl;var ob="TooltipArrow",cb=v.forwardRef((t,a)=>{const{__scopeTooltip:s,...l}=t,o=Rc(s);return a$(ob,s).isInside?null:i.jsx(qk,{...o,...l,ref:a})});cb.displayName=ob;function l$(t,a){const s=Math.abs(a.top-t.y),l=Math.abs(a.bottom-t.y),o=Math.abs(a.right-t.x),u=Math.abs(a.left-t.x);switch(Math.min(s,l,o,u)){case u:return"left";case o:return"right";case s:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function r$(t,a,s=5){const l=[];switch(a){case"top":l.push({x:t.x-s,y:t.y+s},{x:t.x+s,y:t.y+s});break;case"bottom":l.push({x:t.x-s,y:t.y-s},{x:t.x+s,y:t.y-s});break;case"left":l.push({x:t.x+s,y:t.y-s},{x:t.x+s,y:t.y+s});break;case"right":l.push({x:t.x-s,y:t.y-s},{x:t.x-s,y:t.y+s});break}return l}function i$(t){const{top:a,right:s,bottom:l,left:o}=t;return[{x:o,y:a},{x:s,y:a},{x:s,y:l},{x:o,y:l}]}function o$(t,a){const{x:s,y:l}=t;let o=!1;for(let u=0,d=a.length-1;u<a.length;d=u++){const f=a[u],m=a[d],p=f.x,x=f.y,g=m.x,b=m.y;x>l!=b>l&&s<(g-p)*(l-x)/(b-x)+p&&(o=!o)}return o}function c$(t){const a=t.slice();return a.sort((s,l)=>s.x<l.x?-1:s.x>l.x?1:s.y<l.y?-1:s.y>l.y?1:0),u$(a)}function u$(t){if(t.length<=1)return t.slice();const a=[];for(let l=0;l<t.length;l++){const o=t[l];for(;a.length>=2;){const u=a[a.length-1],d=a[a.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))a.pop();else break}a.push(o)}a.pop();const s=[];for(let l=t.length-1;l>=0;l--){const o=t[l];for(;s.length>=2;){const u=s[s.length-1],d=s[s.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))s.pop();else break}s.push(o)}return s.pop(),a.length===1&&s.length===1&&a[0].x===s[0].x&&a[0].y===s[0].y?a:a.concat(s)}var d$=nb,O$=ab,f$=sb,h$=lb,m$=rb,p$=cb;function ub(t){var a,s,l="";if(typeof t=="string"||typeof t=="number")l+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(a=0;a<o;a++)t[a]&&(s=ub(t[a]))&&(l&&(l+=" "),l+=s)}else for(s in t)t[s]&&(l&&(l+=" "),l+=s);return l}function x$(){for(var t,a,s=0,l="",o=arguments.length;s<o;s++)(t=arguments[s])&&(a=ub(t))&&(l&&(l+=" "),l+=a);return l}const g$=(t,a)=>{const s=new Array(t.length+a.length);for(let l=0;l<t.length;l++)s[l]=t[l];for(let l=0;l<a.length;l++)s[t.length+l]=a[l];return s},b$=(t,a)=>({classGroupId:t,validator:a}),db=(t=new Map,a=null,s)=>({nextPart:t,validators:a,classGroupId:s}),rc="-",Mg=[],v$="arbitrary..",y$=t=>{const a=Q$(t),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return S$(d);const f=d.split(rc),m=f[0]===""&&f.length>1?1:0;return Ob(f,m,a)},getConflictingClassGroupIds:(d,f)=>{if(f){const m=l[d],p=s[d];return m?p?g$(p,m):m:p||Mg}return s[d]||Mg}}},Ob=(t,a,s)=>{if(t.length-a===0)return s.classGroupId;const o=t[a],u=s.nextPart.get(o);if(u){const p=Ob(t,a+1,u);if(p)return p}const d=s.validators;if(d===null)return;const f=a===0?t.join(rc):t.slice(a).join(rc),m=d.length;for(let p=0;p<m;p++){const x=d[p];if(x.validator(f))return x.classGroupId}},S$=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=t.slice(1,-1),s=a.indexOf(":"),l=a.slice(0,s);return l?v$+l:void 0})(),Q$=t=>{const{theme:a,classGroups:s}=t;return j$(s,a)},j$=(t,a)=>{const s=db();for(const l in t){const o=t[l];Mf(o,s,l,a)}return s},Mf=(t,a,s,l)=>{const o=t.length;for(let u=0;u<o;u++){const d=t[u];w$(d,a,s,l)}},w$=(t,a,s,l)=>{if(typeof t=="string"){k$(t,a,s);return}if(typeof t=="function"){$$(t,a,s,l);return}T$(t,a,s,l)},k$=(t,a,s)=>{const l=t===""?a:fb(a,t);l.classGroupId=s},$$=(t,a,s,l)=>{if(P$(t)){Mf(t(l),a,s,l);return}a.validators===null&&(a.validators=[]),a.validators.push(b$(s,t))},T$=(t,a,s,l)=>{const o=Object.entries(t),u=o.length;for(let d=0;d<u;d++){const[f,m]=o[d];Mf(m,fb(a,f),s,l)}},fb=(t,a)=>{let s=t;const l=a.split(rc),o=l.length;for(let u=0;u<o;u++){const d=l[u];let f=s.nextPart.get(d);f||(f=db(),s.nextPart.set(d,f)),s=f}return s},P$=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,N$=t=>{if(t<1)return{get:()=>{},set:()=>{}};let a=0,s=Object.create(null),l=Object.create(null);const o=(u,d)=>{s[u]=d,a++,a>t&&(a=0,l=s,s=Object.create(null))};return{get(u){let d=s[u];if(d!==void 0)return d;if((d=l[u])!==void 0)return o(u,d),d},set(u,d){u in s?s[u]=d:o(u,d)}}},of="!",Yg=":",z$=[],Vg=(t,a,s,l,o)=>({modifiers:t,hasImportantModifier:a,baseClassName:s,maybePostfixModifierPosition:l,isExternal:o}),R$=t=>{const{prefix:a,experimentalParseClassName:s}=t;let l=o=>{const u=[];let d=0,f=0,m=0,p;const x=o.length;for(let k=0;k<x;k++){const j=o[k];if(d===0&&f===0){if(j===Yg){u.push(o.slice(m,k)),m=k+1;continue}if(j==="/"){p=k;continue}}j==="["?d++:j==="]"?d--:j==="("?f++:j===")"&&f--}const g=u.length===0?o:o.slice(m);let b=g,S=!1;g.endsWith(of)?(b=g.slice(0,-1),S=!0):g.startsWith(of)&&(b=g.slice(1),S=!0);const Q=p&&p>m?p-m:void 0;return Vg(u,S,b,Q)};if(a){const o=a+Yg,u=l;l=d=>d.startsWith(o)?u(d.slice(o.length)):Vg(z$,!1,d,void 0,!0)}if(s){const o=l;l=u=>s({className:u,parseClassName:o})}return l},C$=t=>{const a=new Map;return t.orderSensitiveModifiers.forEach((s,l)=>{a.set(s,1e6+l)}),s=>{const l=[];let o=[];for(let u=0;u<s.length;u++){const d=s[u],f=d[0]==="[",m=a.has(d);f||m?(o.length>0&&(o.sort(),l.push(...o),o=[]),l.push(d)):o.push(d)}return o.length>0&&(o.sort(),l.push(...o)),l}},X$=t=>({cache:N$(t.cacheSize),parseClassName:R$(t),sortModifiers:C$(t),...y$(t)}),_$=/\s+/,Z$=(t,a)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:o,sortModifiers:u}=a,d=[],f=t.trim().split(_$);let m="";for(let p=f.length-1;p>=0;p-=1){const x=f[p],{isExternal:g,modifiers:b,hasImportantModifier:S,baseClassName:Q,maybePostfixModifierPosition:k}=s(x);if(g){m=x+(m.length>0?" "+m:m);continue}let j=!!k,T=l(j?Q.substring(0,k):Q);if(!T){if(!j){m=x+(m.length>0?" "+m:m);continue}if(T=l(Q),!T){m=x+(m.length>0?" "+m:m);continue}j=!1}const P=b.length===0?"":b.length===1?b[0]:u(b).join(":"),N=S?P+of:P,A=N+T;if(d.indexOf(A)>-1)continue;d.push(A);const G=o(T,j);for(let C=0;C<G.length;++C){const R=G[C];d.push(N+R)}m=x+(m.length>0?" "+m:m)}return m},A$=(...t)=>{let a=0,s,l,o="";for(;a<t.length;)(s=t[a++])&&(l=hb(s))&&(o&&(o+=" "),o+=l);return o},hb=t=>{if(typeof t=="string")return t;let a,s="";for(let l=0;l<t.length;l++)t[l]&&(a=hb(t[l]))&&(s&&(s+=" "),s+=a);return s},E$=(t,...a)=>{let s,l,o,u;const d=m=>{const p=a.reduce((x,g)=>g(x),t());return s=X$(p),l=s.cache.get,o=s.cache.set,u=f,f(m)},f=m=>{const p=l(m);if(p)return p;const x=Z$(m,s);return o(m,x),x};return u=d,(...m)=>u(A$(...m))},q$=[],ot=t=>{const a=s=>s[t]||q$;return a.isThemeGetter=!0,a},mb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,pb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M$=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Y$=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,V$=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,U$=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,G$=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L$=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Aa=t=>M$.test(t),Se=t=>!!t&&!Number.isNaN(Number(t)),Ea=t=>!!t&&Number.isInteger(Number(t)),hO=t=>t.endsWith("%")&&Se(t.slice(0,-1)),In=t=>Y$.test(t),xb=()=>!0,D$=t=>V$.test(t)&&!U$.test(t),Yf=()=>!1,W$=t=>G$.test(t),B$=t=>L$.test(t),H$=t=>!oe(t)&&!ue(t),I$=t=>Ka(t,vb,Yf),oe=t=>mb.test(t),gs=t=>Ka(t,yb,D$),Ug=t=>Ka(t,s5,Se),F$=t=>Ka(t,Qb,xb),K$=t=>Ka(t,Sb,Yf),Gg=t=>Ka(t,gb,Yf),J$=t=>Ka(t,bb,B$),Xo=t=>Ka(t,jb,W$),ue=t=>pb.test(t),Zr=t=>Ps(t,yb),e5=t=>Ps(t,Sb),Lg=t=>Ps(t,gb),t5=t=>Ps(t,vb),n5=t=>Ps(t,bb),_o=t=>Ps(t,jb,!0),a5=t=>Ps(t,Qb,!0),Ka=(t,a,s)=>{const l=mb.exec(t);return l?l[1]?a(l[1]):s(l[2]):!1},Ps=(t,a,s=!1)=>{const l=pb.exec(t);return l?l[1]?a(l[1]):s:!1},gb=t=>t==="position"||t==="percentage",bb=t=>t==="image"||t==="url",vb=t=>t==="length"||t==="size"||t==="bg-size",yb=t=>t==="length",s5=t=>t==="number",Sb=t=>t==="family-name",Qb=t=>t==="number"||t==="weight",jb=t=>t==="shadow",l5=()=>{const t=ot("color"),a=ot("font"),s=ot("text"),l=ot("font-weight"),o=ot("tracking"),u=ot("leading"),d=ot("breakpoint"),f=ot("container"),m=ot("spacing"),p=ot("radius"),x=ot("shadow"),g=ot("inset-shadow"),b=ot("text-shadow"),S=ot("drop-shadow"),Q=ot("blur"),k=ot("perspective"),j=ot("aspect"),T=ot("ease"),P=ot("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],G=()=>[...A(),ue,oe],C=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],$=()=>[ue,oe,m],W=()=>[Aa,"full","auto",...$()],U=()=>[Ea,"none","subgrid",ue,oe],le=()=>["auto",{span:["full",Ea,ue,oe]},Ea,ue,oe],re=()=>[Ea,"auto",ue,oe],pe=()=>["auto","min","max","fr",ue,oe],me=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],X=()=>["auto",...$()],I=()=>[Aa,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...$()],J=()=>[Aa,"screen","full","dvw","lvw","svw","min","max","fit",...$()],ce=()=>[Aa,"screen","full","lh","dvh","lvh","svh","min","max","fit",...$()],te=()=>[t,ue,oe],Ne=()=>[...A(),Lg,Gg,{position:[ue,oe]}],ke=()=>["no-repeat",{repeat:["","x","y","space","round"]}],be=()=>["auto","cover","contain",t5,I$,{size:[ue,oe]}],Ee=()=>[hO,Zr,gs],L=()=>["","none","full",p,ue,oe],de=()=>["",Se,Zr,gs],Re=()=>["solid","dashed","dotted","double"],Ot=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_e=()=>[Se,hO,Lg,Gg],tt=()=>["","none",Q,ue,oe],bt=()=>["none",Se,ue,oe],vt=()=>["none",Se,ue,oe],Ft=()=>[Se,ue,oe],yt=()=>[Aa,"full",...$()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[In],breakpoint:[In],color:[xb],container:[In],"drop-shadow":[In],ease:["in","out","in-out"],font:[H$],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[In],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[In],shadow:[In],spacing:["px",Se],text:[In],"text-shadow":[In],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Aa,oe,ue,j]}],container:["container"],columns:[{columns:[Se,oe,ue,f]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:G()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:W()}],"inset-x":[{"inset-x":W()}],"inset-y":[{"inset-y":W()}],start:[{"inset-s":W(),start:W()}],end:[{"inset-e":W(),end:W()}],"inset-bs":[{"inset-bs":W()}],"inset-be":[{"inset-be":W()}],top:[{top:W()}],right:[{right:W()}],bottom:[{bottom:W()}],left:[{left:W()}],visibility:["visible","invisible","collapse"],z:[{z:[Ea,"auto",ue,oe]}],basis:[{basis:[Aa,"full","auto",f,...$()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Se,Aa,"auto","initial","none",oe]}],grow:[{grow:["",Se,ue,oe]}],shrink:[{shrink:["",Se,ue,oe]}],order:[{order:[Ea,"first","last","none",ue,oe]}],"grid-cols":[{"grid-cols":U()}],"col-start-end":[{col:le()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":U()}],"row-start-end":[{row:le()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":pe()}],"auto-rows":[{"auto-rows":pe()}],gap:[{gap:$()}],"gap-x":[{"gap-x":$()}],"gap-y":[{"gap-y":$()}],"justify-content":[{justify:[...me(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...me()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":me()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:$()}],px:[{px:$()}],py:[{py:$()}],ps:[{ps:$()}],pe:[{pe:$()}],pbs:[{pbs:$()}],pbe:[{pbe:$()}],pt:[{pt:$()}],pr:[{pr:$()}],pb:[{pb:$()}],pl:[{pl:$()}],m:[{m:X()}],mx:[{mx:X()}],my:[{my:X()}],ms:[{ms:X()}],me:[{me:X()}],mbs:[{mbs:X()}],mbe:[{mbe:X()}],mt:[{mt:X()}],mr:[{mr:X()}],mb:[{mb:X()}],ml:[{ml:X()}],"space-x":[{"space-x":$()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":$()}],"space-y-reverse":["space-y-reverse"],size:[{size:I()}],"inline-size":[{inline:["auto",...J()]}],"min-inline-size":[{"min-inline":["auto",...J()]}],"max-inline-size":[{"max-inline":["none",...J()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[f,"screen",...I()]}],"min-w":[{"min-w":[f,"screen","none",...I()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[d]},...I()]}],h:[{h:["screen","lh",...I()]}],"min-h":[{"min-h":["screen","lh","none",...I()]}],"max-h":[{"max-h":["screen","lh",...I()]}],"font-size":[{text:["base",s,Zr,gs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,a5,F$]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",hO,oe]}],"font-family":[{font:[e5,K$,a]}],"font-features":[{"font-features":[oe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,ue,oe]}],"line-clamp":[{"line-clamp":[Se,"none",ue,Ug]}],leading:[{leading:[u,...$()]}],"list-image":[{"list-image":["none",ue,oe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ue,oe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:te()}],"text-color":[{text:te()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Re(),"wavy"]}],"text-decoration-thickness":[{decoration:[Se,"from-font","auto",ue,gs]}],"text-decoration-color":[{decoration:te()}],"underline-offset":[{"underline-offset":[Se,"auto",ue,oe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ue,oe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ue,oe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ne()}],"bg-repeat":[{bg:ke()}],"bg-size":[{bg:be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ea,ue,oe],radial:["",ue,oe],conic:[Ea,ue,oe]},n5,J$]}],"bg-color":[{bg:te()}],"gradient-from-pos":[{from:Ee()}],"gradient-via-pos":[{via:Ee()}],"gradient-to-pos":[{to:Ee()}],"gradient-from":[{from:te()}],"gradient-via":[{via:te()}],"gradient-to":[{to:te()}],rounded:[{rounded:L()}],"rounded-s":[{"rounded-s":L()}],"rounded-e":[{"rounded-e":L()}],"rounded-t":[{"rounded-t":L()}],"rounded-r":[{"rounded-r":L()}],"rounded-b":[{"rounded-b":L()}],"rounded-l":[{"rounded-l":L()}],"rounded-ss":[{"rounded-ss":L()}],"rounded-se":[{"rounded-se":L()}],"rounded-ee":[{"rounded-ee":L()}],"rounded-es":[{"rounded-es":L()}],"rounded-tl":[{"rounded-tl":L()}],"rounded-tr":[{"rounded-tr":L()}],"rounded-br":[{"rounded-br":L()}],"rounded-bl":[{"rounded-bl":L()}],"border-w":[{border:de()}],"border-w-x":[{"border-x":de()}],"border-w-y":[{"border-y":de()}],"border-w-s":[{"border-s":de()}],"border-w-e":[{"border-e":de()}],"border-w-bs":[{"border-bs":de()}],"border-w-be":[{"border-be":de()}],"border-w-t":[{"border-t":de()}],"border-w-r":[{"border-r":de()}],"border-w-b":[{"border-b":de()}],"border-w-l":[{"border-l":de()}],"divide-x":[{"divide-x":de()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":de()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Re(),"hidden","none"]}],"divide-style":[{divide:[...Re(),"hidden","none"]}],"border-color":[{border:te()}],"border-color-x":[{"border-x":te()}],"border-color-y":[{"border-y":te()}],"border-color-s":[{"border-s":te()}],"border-color-e":[{"border-e":te()}],"border-color-bs":[{"border-bs":te()}],"border-color-be":[{"border-be":te()}],"border-color-t":[{"border-t":te()}],"border-color-r":[{"border-r":te()}],"border-color-b":[{"border-b":te()}],"border-color-l":[{"border-l":te()}],"divide-color":[{divide:te()}],"outline-style":[{outline:[...Re(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Se,ue,oe]}],"outline-w":[{outline:["",Se,Zr,gs]}],"outline-color":[{outline:te()}],shadow:[{shadow:["","none",x,_o,Xo]}],"shadow-color":[{shadow:te()}],"inset-shadow":[{"inset-shadow":["none",g,_o,Xo]}],"inset-shadow-color":[{"inset-shadow":te()}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:te()}],"ring-offset-w":[{"ring-offset":[Se,gs]}],"ring-offset-color":[{"ring-offset":te()}],"inset-ring-w":[{"inset-ring":de()}],"inset-ring-color":[{"inset-ring":te()}],"text-shadow":[{"text-shadow":["none",b,_o,Xo]}],"text-shadow-color":[{"text-shadow":te()}],opacity:[{opacity:[Se,ue,oe]}],"mix-blend":[{"mix-blend":[...Ot(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ot()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Se]}],"mask-image-linear-from-pos":[{"mask-linear-from":_e()}],"mask-image-linear-to-pos":[{"mask-linear-to":_e()}],"mask-image-linear-from-color":[{"mask-linear-from":te()}],"mask-image-linear-to-color":[{"mask-linear-to":te()}],"mask-image-t-from-pos":[{"mask-t-from":_e()}],"mask-image-t-to-pos":[{"mask-t-to":_e()}],"mask-image-t-from-color":[{"mask-t-from":te()}],"mask-image-t-to-color":[{"mask-t-to":te()}],"mask-image-r-from-pos":[{"mask-r-from":_e()}],"mask-image-r-to-pos":[{"mask-r-to":_e()}],"mask-image-r-from-color":[{"mask-r-from":te()}],"mask-image-r-to-color":[{"mask-r-to":te()}],"mask-image-b-from-pos":[{"mask-b-from":_e()}],"mask-image-b-to-pos":[{"mask-b-to":_e()}],"mask-image-b-from-color":[{"mask-b-from":te()}],"mask-image-b-to-color":[{"mask-b-to":te()}],"mask-image-l-from-pos":[{"mask-l-from":_e()}],"mask-image-l-to-pos":[{"mask-l-to":_e()}],"mask-image-l-from-color":[{"mask-l-from":te()}],"mask-image-l-to-color":[{"mask-l-to":te()}],"mask-image-x-from-pos":[{"mask-x-from":_e()}],"mask-image-x-to-pos":[{"mask-x-to":_e()}],"mask-image-x-from-color":[{"mask-x-from":te()}],"mask-image-x-to-color":[{"mask-x-to":te()}],"mask-image-y-from-pos":[{"mask-y-from":_e()}],"mask-image-y-to-pos":[{"mask-y-to":_e()}],"mask-image-y-from-color":[{"mask-y-from":te()}],"mask-image-y-to-color":[{"mask-y-to":te()}],"mask-image-radial":[{"mask-radial":[ue,oe]}],"mask-image-radial-from-pos":[{"mask-radial-from":_e()}],"mask-image-radial-to-pos":[{"mask-radial-to":_e()}],"mask-image-radial-from-color":[{"mask-radial-from":te()}],"mask-image-radial-to-color":[{"mask-radial-to":te()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[Se]}],"mask-image-conic-from-pos":[{"mask-conic-from":_e()}],"mask-image-conic-to-pos":[{"mask-conic-to":_e()}],"mask-image-conic-from-color":[{"mask-conic-from":te()}],"mask-image-conic-to-color":[{"mask-conic-to":te()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ne()}],"mask-repeat":[{mask:ke()}],"mask-size":[{mask:be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ue,oe]}],filter:[{filter:["","none",ue,oe]}],blur:[{blur:tt()}],brightness:[{brightness:[Se,ue,oe]}],contrast:[{contrast:[Se,ue,oe]}],"drop-shadow":[{"drop-shadow":["","none",S,_o,Xo]}],"drop-shadow-color":[{"drop-shadow":te()}],grayscale:[{grayscale:["",Se,ue,oe]}],"hue-rotate":[{"hue-rotate":[Se,ue,oe]}],invert:[{invert:["",Se,ue,oe]}],saturate:[{saturate:[Se,ue,oe]}],sepia:[{sepia:["",Se,ue,oe]}],"backdrop-filter":[{"backdrop-filter":["","none",ue,oe]}],"backdrop-blur":[{"backdrop-blur":tt()}],"backdrop-brightness":[{"backdrop-brightness":[Se,ue,oe]}],"backdrop-contrast":[{"backdrop-contrast":[Se,ue,oe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Se,ue,oe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Se,ue,oe]}],"backdrop-invert":[{"backdrop-invert":["",Se,ue,oe]}],"backdrop-opacity":[{"backdrop-opacity":[Se,ue,oe]}],"backdrop-saturate":[{"backdrop-saturate":[Se,ue,oe]}],"backdrop-sepia":[{"backdrop-sepia":["",Se,ue,oe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":$()}],"border-spacing-x":[{"border-spacing-x":$()}],"border-spacing-y":[{"border-spacing-y":$()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ue,oe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Se,"initial",ue,oe]}],ease:[{ease:["linear","initial",T,ue,oe]}],delay:[{delay:[Se,ue,oe]}],animate:[{animate:["none",P,ue,oe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,ue,oe]}],"perspective-origin":[{"perspective-origin":G()}],rotate:[{rotate:bt()}],"rotate-x":[{"rotate-x":bt()}],"rotate-y":[{"rotate-y":bt()}],"rotate-z":[{"rotate-z":bt()}],scale:[{scale:vt()}],"scale-x":[{"scale-x":vt()}],"scale-y":[{"scale-y":vt()}],"scale-z":[{"scale-z":vt()}],"scale-3d":["scale-3d"],skew:[{skew:Ft()}],"skew-x":[{"skew-x":Ft()}],"skew-y":[{"skew-y":Ft()}],transform:[{transform:[ue,oe,"","none","gpu","cpu"]}],"transform-origin":[{origin:G()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:yt()}],"translate-x":[{"translate-x":yt()}],"translate-y":[{"translate-y":yt()}],"translate-z":[{"translate-z":yt()}],"translate-none":["translate-none"],accent:[{accent:te()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:te()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ue,oe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mbs":[{"scroll-mbs":$()}],"scroll-mbe":[{"scroll-mbe":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pbs":[{"scroll-pbs":$()}],"scroll-pbe":[{"scroll-pbe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ue,oe]}],fill:[{fill:["none",...te()]}],"stroke-w":[{stroke:[Se,Zr,gs,Ug]}],stroke:[{stroke:["none",...te()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},r5=E$(l5);function se(...t){return r5(x$(t))}function i5({children:t}){return i.jsx(d$,{delayDuration:300,children:t})}function Dg({children:t,content:a,side:s="top",className:l}){return a?i.jsxs(O$,{children:[i.jsx(f$,{asChild:!0,children:t}),i.jsx(h$,{children:i.jsxs(m$,{side:s,sideOffset:6,className:se("z-50 px-2.5 py-1.5 text-xs font-sans","bg-surface-4 text-text-0 border border-border rounded-md shadow-lg","animate-in fade-in-0 zoom-in-95",l),children:[a,i.jsx(p$,{className:"fill-surface-4"})]})})]}):t}/**
30
30
  * @license lucide-react v1.7.0 - ISC
31
31
  *
32
32
  * This source code is licensed under the ISC license.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>Groove GUI</title>
8
- <script type="module" crossorigin src="/assets/index-D4juRNU_.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-CyUFyn1h.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-C0HXlhrU.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/reactflow-BQPfi37R.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/codemirror-BBL3i_JW.js">
@@ -207,6 +207,10 @@ export const useGrooveStore = create((set, get) => ({
207
207
  get().addToast('info', `QC agent ${msg.name} auto-spawned`, 'Auditing phase 1 work');
208
208
  break;
209
209
 
210
+ case 'phase2:failed':
211
+ get().addToast('error', `QC agent failed to spawn`, msg.error || 'Unknown error');
212
+ break;
213
+
210
214
  case 'rotation:start':
211
215
  get().addToast('info', `Rotating ${msg.agentName}...`);
212
216
  break;