@workflow/web 4.1.0-beta.42 → 4.1.0-beta.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/{highlighted-body-B3W2YXNL-Zd0qPYE7.js → highlighted-body-B3W2YXNL-BdpKyd6t.js} +1 -1
- package/build/client/assets/home-C884R8Ik.js +35 -0
- package/build/client/assets/{manifest-41615f41.js → manifest-14123a0c.js} +1 -1
- package/build/client/assets/{mermaid-3ZIDBTTL-BMFG0Hnn.js → mermaid-3ZIDBTTL-D6v4WgFl.js} +61 -61
- package/build/client/assets/{root-EzkmXyJV.js → root-CxkGJJO9.js} +1 -1
- package/build/client/assets/root-DUJPWGN3.css +1 -0
- package/build/client/assets/run-detail-D_eXHYm3.js +36 -0
- package/build/client/assets/server-build-BFalDDpv.css +1 -0
- package/build/client/assets/{use-workflow-graph-DXipnqlR.js → use-workflow-graph-WEp5s5k_.js} +1 -1
- package/build/server/assets/{app-BIqik-91.js → app-KW-1KXCl.js} +1 -1
- package/build/server/assets/{highlighted-body-B3W2YXNL-WkqeTqm-.js → highlighted-body-B3W2YXNL-DapKdL2n.js} +3 -3
- package/build/server/assets/index-93Io7SSr.js +76 -0
- package/build/server/assets/{mermaid-3ZIDBTTL-ClaETQoK.js → mermaid-3ZIDBTTL-BdsOvyTU.js} +3 -3
- package/build/server/assets/{server-build-Cyb0dncG.js → server-build-D9d_jMLb.js} +3773 -1454
- package/build/server/assets/{token-CTJIoJEi.js → token-Bf2BqxEG.js} +2 -2
- package/build/server/assets/{token-util-Dp_pg92C.js → token-util-C8FlMBAQ.js} +2 -2
- package/build/server/index.js +1 -1
- package/package.json +5 -5
- package/build/client/assets/home-C-j1J39E.js +0 -35
- package/build/client/assets/root-SL7uvdv2.css +0 -1
- package/build/client/assets/run-detail-C0ZpSKc-.js +0 -36
- package/build/client/assets/server-build-d6BKG46c.css +0 -1
- package/build/server/assets/token-Bjyd4X_e.js +0 -86
- package/build/server/assets/token-util-D-4jXUkD.js +0 -30
- package/build/server/assets/token-util-DoGNqK5w.js +0 -256
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs } from "./app-
|
|
2
|
-
import {
|
|
1
|
+
import { g as getDefaultExportFromCjs } from "./app-KW-1KXCl.js";
|
|
2
|
+
import { x as requireTokenError, w as requireTokenUtil } from "./server-build-D9d_jMLb.js";
|
|
3
3
|
function _mergeNamespaces(n, m) {
|
|
4
4
|
for (var i = 0; i < m.length; i++) {
|
|
5
5
|
const e = m[i];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs } from "./app-
|
|
2
|
-
import {
|
|
1
|
+
import { g as getDefaultExportFromCjs } from "./app-KW-1KXCl.js";
|
|
2
|
+
import { w as requireTokenUtil } from "./server-build-D9d_jMLb.js";
|
|
3
3
|
function _mergeNamespaces(n, m) {
|
|
4
4
|
for (var i = 0; i < m.length; i++) {
|
|
5
5
|
const e = m[i];
|
package/build/server/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/web",
|
|
3
3
|
"description": "Workflow Observability UI",
|
|
4
|
-
"version": "4.1.0-beta.
|
|
4
|
+
"version": "4.1.0-beta.43",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
7
7
|
"files": [
|
|
@@ -71,12 +71,12 @@
|
|
|
71
71
|
"vite": "^6",
|
|
72
72
|
"vitest": "^3",
|
|
73
73
|
"jsdom": "^26",
|
|
74
|
-
"@workflow/core": "4.2.0-beta.
|
|
74
|
+
"@workflow/core": "4.2.0-beta.71",
|
|
75
75
|
"@workflow/errors": "4.1.0-beta.18",
|
|
76
76
|
"@workflow/utils": "4.1.0-beta.13",
|
|
77
|
-
"@workflow/web-shared": "4.1.0-beta.
|
|
78
|
-
"@workflow/world": "4.1.0-beta.
|
|
79
|
-
"@workflow/world-vercel": "4.1.0-beta.
|
|
77
|
+
"@workflow/web-shared": "4.1.0-beta.66",
|
|
78
|
+
"@workflow/world": "4.1.0-beta.13",
|
|
79
|
+
"@workflow/world-vercel": "4.1.0-beta.44"
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|
|
82
82
|
"dev": "react-router dev",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import{r as n,A as po,j as e,z as mo,f as At,y as Fe,x as it,B as Ot,w as xo}from"./index-DklpUtP3.js";import{R as go,S as vo,a as M,u as Lt,W as wo,b as Ae,A as dt,C as ut,c as ft,d as ht,g as Ft,e as De,D as Ht,f as $t,E as Bt,h as Vt,i as bo,j as Wt,r as jo,k as yo,l as zt,m as Ut,n as No,o as Kt,p as So,q as Gt,X as qt,s as Co,t as ko,P as Zt,v as yt,w as Ro,x as Eo,y as Po,z as To,B as Yt,F as Io,Z as _o,G as Mo,H as Do,I as Ao,J as Nt,K as St,L as Oo,T as Lo,M as Fo,N as Ke,O as Ge,Q as qe}from"./use-workflow-graph-DXipnqlR.js";import{g as pe,P as z,c as Te,t as ie,d as T,D as Ho,h as $o,i as Bo,j as Vo,T as Se,a as Ce,B as oe,b as ke,k as Xt,l as Qe,m as J,n as Jt,o as Qt,A as Wo,p as V,q as Re,s as es,v as ts,C as zo,w as et,x as Uo,V as Ko,y as Go,z as qo,u as ss,L as Ze,E as Zo,F as pt,G as Yo}from"./mermaid-3ZIDBTTL-BMFG0Hnn.js";var Xo="Portal",mt=n.forwardRef((t,s)=>{var c;const{container:o,...r}=t,[a,l]=n.useState(!1);pe(()=>l(!0),[]);const i=o||a&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return i?po.createPortal(e.jsx(z.div,{...r,ref:s}),i):null});mt.displayName=Xo;/**
|
|
2
|
-
* @license lucide-react v0.575.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const Jo=[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]],Qo=Te("arrow-down-a-z",Jo);/**
|
|
7
|
-
* @license lucide-react v0.575.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const en=[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]],tn=Te("arrow-up-a-z",en);/**
|
|
12
|
-
* @license lucide-react v0.575.0 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const sn=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],os=Te("chevron-left",sn);/**
|
|
17
|
-
* @license lucide-react v0.575.0 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const on=[["path",{d:"M5 12h14",key:"1ays0h"}]],nn=Te("minus",on);/**
|
|
22
|
-
* @license lucide-react v0.575.0 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const rn=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],ns=Te("refresh-cw",rn);/**
|
|
27
|
-
* @license lucide-react v0.575.0 - ISC
|
|
28
|
-
*
|
|
29
|
-
* This source code is licensed under the ISC license.
|
|
30
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/const an=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],Ct=Te("workflow",an);function ln({onResolve:t,callbacks:s}){const[o,r]=n.useState(!1),[a,l]=n.useState(null),i=n.useCallback(f=>{l(f)},[]),c=n.useCallback(()=>{l(null)},[]),d=n.useCallback(async f=>{var m;if(!(o||!a))try{r(!0),await t(a,f),ie.success("Hook resolved",{description:"The payload has been sent and the hook resolved."}),l(null),(m=s==null?void 0:s.onSuccess)==null||m.call(s)}catch(p){console.error("Failed to resolve hook:",p),ie.error("Failed to resolve hook",{description:p instanceof Error?p.message:"An unknown error occurred"})}finally{r(!1)}},[t,a,o,s]);return{isResolving:o,selectedHook:a,openResolveModal:i,closeResolveModal:c,handleResolve:d}}function cn({hook:t,stopPropagation:s=!1,onResolveClick:o,DropdownMenuItem:r}){const a=l=>{s&&l.stopPropagation(),o(t)};return e.jsxs(r,{onClick:a,children:[e.jsx(vo,{className:"h-4 w-4 mr-2"}),"Resolve Hook"]})}function dn({hookActions:t}){const{selectedHook:s,closeResolveModal:o,handleResolve:r,isResolving:a}=t;return e.jsx(go,{isOpen:s!==null,onClose:o,onSubmit:r,isSubmitting:a})}const Ee=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:T("rounded-lg border bg-card text-card-foreground shadow-sm",t),...s}));Ee.displayName="Card";const un=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:T("flex flex-col space-y-1.5 p-6",t),...s}));un.displayName="CardHeader";const fn=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:T("text-2xl font-semibold leading-none tracking-tight",t),...s}));fn.displayName="CardTitle";const hn=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:T("text-sm text-muted-foreground",t),...s}));hn.displayName="CardDescription";const Pe=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:T("p-6 pt-0",t),...s}));Pe.displayName="CardContent";const pn=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:T("flex items-center p-6 pt-0",t),...s}));pn.displayName="CardFooter";const rs=n.forwardRef(({className:t,href:s,children:o,...r},a)=>{const l=s.startsWith("http")?s:`https://useworkflow.dev/docs/${s.replace(/^\//,"")}`;return e.jsx(mo,{href:l,className:T("font-medium underline underline-offset-4 transition-colors",t),style:{color:"var(--ds-blue-600)"},target:"_blank",rel:"noopener noreferrer",ref:a,...r,children:o})});rs.displayName="DocsLink";const He=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:o,className:T("w-full caption-bottom text-sm",t),...s})}));He.displayName="Table";const $e=n.forwardRef(({className:t,...s},o)=>e.jsx("thead",{ref:o,className:T("[&_tr]:border-b",t),...s}));$e.displayName="TableHeader";const Be=n.forwardRef(({className:t,...s},o)=>e.jsx("tbody",{ref:o,className:T("[&_tr:last-child]:border-0",t),...s}));Be.displayName="TableBody";const mn=n.forwardRef(({className:t,...s},o)=>e.jsx("tfoot",{ref:o,className:T("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...s}));mn.displayName="TableFooter";const de=n.forwardRef(({className:t,...s},o)=>e.jsx("tr",{ref:o,className:T("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...s}));de.displayName="TableRow";const G=n.forwardRef(({className:t,...s},o)=>e.jsx("th",{ref:o,className:T("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",t),...s}));G.displayName="TableHead";const W=n.forwardRef(({className:t,...s},o)=>e.jsx("td",{ref:o,className:T("p-4 align-middle [&:has([role=checkbox])]:pr-0",t),...s}));W.displayName="TableCell";const xn=n.forwardRef(({className:t,...s},o)=>e.jsx("caption",{ref:o,className:T("mt-4 text-sm text-muted-foreground",t),...s}));xn.displayName="TableCaption";function as({rows:t=Ho,variant:s="runs"}){const o=a=>{switch(s){case"runs":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.8fr_1fr_1fr_40px] items-center gap-4 py-3 px-4",children:[e.jsx(M,{className:"h-4 w-3/4"}),e.jsx(M,{className:"h-4 w-4/5"}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(M,{className:"h-3 w-14"}),e.jsx(M,{className:"h-2 w-8"})]}),e.jsx(M,{className:"h-3 w-3/4"}),e.jsx(M,{className:"h-3 w-3/4"}),e.jsx(M,{className:"h-6 w-6 rounded"})]},`skeleton-row-${a}`);case"hooks":return e.jsxs("div",{className:"grid grid-cols-[1.2fr_1.2fr_0.8fr_1fr_0.5fr_40px] items-center gap-4 py-3 px-4",children:[e.jsx(M,{className:"h-4 w-4/5"}),e.jsx(M,{className:"h-4 w-4/5"}),e.jsx(M,{className:"h-4 w-3/4"}),e.jsx(M,{className:"h-3 w-3/4"}),e.jsx(M,{className:"h-4 w-8"}),e.jsx(M,{className:"h-6 w-6 rounded"})]},`skeleton-row-${a}`);case"workflows":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.5fr] items-center gap-4 py-3 px-4",children:[e.jsx(M,{className:"h-4 w-3/4"}),e.jsx(M,{className:"h-4 w-4/5"}),e.jsx(M,{className:"h-5 w-16 rounded-full mx-auto"})]},`skeleton-row-${a}`);default:return null}},r=()=>{switch(s){case"runs":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.8fr_1fr_1fr_40px] items-center gap-4 py-3 px-4 border-b",children:[e.jsx(M,{className:"h-4 w-20"}),e.jsx(M,{className:"h-4 w-14"}),e.jsx(M,{className:"h-4 w-12"}),e.jsx(M,{className:"h-4 w-14"}),e.jsx(M,{className:"h-4 w-20"}),e.jsx("div",{className:"w-6"})]});case"hooks":return e.jsxs("div",{className:"grid grid-cols-[1.2fr_1.2fr_0.8fr_1fr_0.5fr_40px] items-center gap-4 py-3 px-4 border-b",children:[e.jsx(M,{className:"h-4 w-16"}),e.jsx(M,{className:"h-4 w-14"}),e.jsx(M,{className:"h-4 w-12"}),e.jsx(M,{className:"h-4 w-14"}),e.jsx(M,{className:"h-4 w-20"}),e.jsx("div",{className:"w-6"})]});case"workflows":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.5fr] items-center gap-4 py-3 px-4 border-b",children:[e.jsx(M,{className:"h-4 w-20"}),e.jsx(M,{className:"h-4 w-10"}),e.jsx(M,{className:"h-4 w-12 mx-auto"})]});default:return null}};return e.jsx(Ee,{className:"overflow-hidden mt-4 bg-background",children:e.jsxs(Pe,{className:"p-0",children:[r(),Array.from({length:t},(a,l)=>o(l))]})})}function kt(t,s,o){return o===1?t:s}function ls(t){var O;const[s,o]=n.useState(void 0),[r,a]=n.useState(!1),[l,i]=n.useState(0),[c,d]=n.useState([void 0]),[f,m]=n.useState(1),[p,x]=n.useState(new Map([[0,{data:null,isLoading:!1,error:null}]])),h=n.useRef(new Map),g=n.useCallback(async(C,I,q=!1)=>{const _=I??"initial";if(x(k=>{var H;const L=new Map(k);return L.set(C,{data:((H=k.get(C))==null?void 0:H.data)??null,isLoading:!0,error:null}),L}),!q&&h.current.has(_)){const k=h.current.get(_);if(k){x(L=>{const H=new Map(L);return H.set(C,{data:k.data,isLoading:!1,error:null}),H}),o(k.cursor),a(k.hasMore);return}}try{const k=await t(I);h.current.set(_,{data:k.data,cursor:k.cursor,hasMore:k.hasMore}),x(L=>{const H=new Map(L);return H.set(C,{data:k.data,isLoading:!1,error:null}),H}),o(k.cursor),a(k.hasMore)}catch(k){const L=k instanceof Error?k:new wo(String(k),{layer:"client"});x(H=>{var ue;const K=new Map(H);return K.set(C,{data:((ue=H.get(C))==null?void 0:ue.data)??null,isLoading:!1,error:L}),K})}},[t]);n.useEffect(()=>{g(0,void 0,!0)},[g]);const u=n.useCallback(()=>{if(r&&s){const C=l+1;d(I=>[...I,s]),i(C),m(I=>Math.max(I,C+1)),p.has(C)||x(I=>{const q=new Map(I);return q.set(C,{data:null,isLoading:!0,error:null}),q}),g(C,s)}},[r,s,g,l,p]),v=n.useCallback(()=>{if(l>0){const C=l-1,I=c[C];i(C),g(C,I)}},[l,c,g]),y=n.useCallback(()=>{h.current.clear(),x(new Map([[0,{data:null,isLoading:!0,error:null}]])),i(0),d([void 0]),m(1),g(0,void 0,!0)},[g]),w=n.useCallback(()=>{const C=c[l],I=C??"initial";h.current.delete(I),g(l,C,!0)},[g,l,c]),b=p.get(l)??{data:null,isLoading:!0,error:null},R=((O=Array.from(p.values()).find(C=>C.error))==null?void 0:O.error)??null,N=Array.from(p.values()).some(C=>C.isLoading),E=r?l+2:l+1,P=l+1,Y=Vo(P,f,P===f&&r);return{data:b,allData:Array.from(p.values()),error:R,isLoading:N,currentPage:l,totalPages:E,nextPage:u,previousPage:v,hasNextPage:r,hasPreviousPage:l>0,reload:y,refresh:w,pageInfo:Y}}function gn(t,s){const{workflowName:o,status:r,limit:a=10,sortOrder:l="desc"}=s,i=n.useCallback(c=>Lt($o(t,{cursor:c,sortOrder:l,limit:a,workflowName:o,status:r})),[t,o,a,l,r]);return ls(i)}function vn(t,s){const{runId:o,limit:r=10,sortOrder:a="desc"}=s,l=n.useCallback(i=>Lt(Bo(t,{runId:o,cursor:i,sortOrder:a,limit:r})),[t,o,r,a]);return ls(l)}function wn({runId:t,onHookClick:s,selectedHookId:o}){const[r,a]=n.useState(()=>new Date),l=n.useMemo(()=>({}),[]),{data:i,error:c,nextPage:d,previousPage:f,hasNextPage:m,hasPreviousPage:p,refresh:x,pageInfo:h}=vn(l,{runId:t,sortOrder:"desc"}),g=ln({onResolve:async(N,E)=>{await jo(l,N.token,E)},callbacks:{onSuccess:x}}),u=i.isLoading,v=i.data??[],y=()=>{a(()=>new Date),x()},[w,b]=n.useState(new Map);n.useEffect(()=>{if(!v.length||!t)return;(async()=>{const E=new Map;for(const P of v)E.set(P.hookId,{count:0,hasMore:!1,loading:!0});b(E);try{const P=await Xt(l,t,{sortOrder:"asc",limit:1e3});if(!P.success){b(O=>{const C=new Map(O);for(const I of v)C.set(I.hookId,{count:0,hasMore:!1,loading:!1});return C});return}const U=P.data.data,Z=new Set(v.map(O=>O.hookId)),Y=new Map;for(const O of U)O.eventType==="hook_received"&&O.correlationId&&Z.has(O.correlationId)&&Y.set(O.correlationId,(Y.get(O.correlationId)??0)+1);b(O=>{const C=new Map(O);for(const I of v)C.set(I.hookId,{count:Y.get(I.hookId)??0,hasMore:P.data.hasMore,loading:!1});return C})}catch{b(P=>{const U=new Map(P);for(const Z of v)U.set(Z.hookId,{count:0,hasMore:!1,loading:!1});return U})}})()},[v,l,t]);const R=N=>{const E=w.get(N.hookId);if(!E||E.loading)return e.jsx("span",{className:"text-muted-foreground text-xs",children:"..."});if(E.count instanceof Error)return e.jsx("span",{className:"text-muted-foreground",children:"Error"});if(E.count===0)return e.jsx("span",{className:"text-muted-foreground",children:"0"});const P=E.hasMore?`${E.count}+`:`${E.count}`;return E.hasMore?e.jsxs(Se,{children:[e.jsx(Ce,{asChild:!0,children:e.jsx("span",{className:"font-semibold cursor-help",children:P})}),e.jsx(ke,{className:"max-w-xs",children:e.jsx("div",{className:"text-xs",children:"Showing first 100 invocations. There may be more."})})]}):e.jsx("span",{className:"font-semibold",children:P})};return e.jsxs("div",{children:[e.jsx(dn,{hookActions:g}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Last refreshed"}),r&&e.jsx(Ae,{date:r,className:"text-sm text-muted-foreground",type:"distance"})]}),e.jsx("div",{className:"flex items-center gap-4",children:e.jsxs(Se,{children:[e.jsx(Ce,{asChild:!0,children:e.jsxs(oe,{variant:"outline",size:"sm",onClick:y,disabled:u,children:[e.jsx(ns,{className:u?"animate-spin":""}),"Refresh"]})}),e.jsx(ke,{children:"Note that this resets pages"})]})})]}),c?e.jsxs(dt,{variant:"destructive",children:[e.jsx(ut,{className:"h-4 w-4"}),e.jsx(ft,{children:"Error loading hooks"}),e.jsx(ht,{children:Ft(c)})]}):!u&&(!v||v.length===0)?e.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:["No active hooks found. ",e.jsx("br",{}),e.jsx(rs,{href:"https://useworkflow.dev/docs/api-reference/workflow/create-hook",children:"Learn how to create a hook"})]}):u&&!(i!=null&&i.data)?e.jsx(as,{variant:"hooks"}):e.jsxs(e.Fragment,{children:[e.jsx(Ee,{className:"overflow-hidden mt-4 bg-background",children:e.jsx(Pe,{className:"p-0 max-h-[calc(100vh-280px)] overflow-auto",children:e.jsxs(He,{children:[e.jsx($e,{children:e.jsxs(de,{children:[e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Hook ID"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Run ID"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Token"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Created"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Invocations"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10 w-10"})]})}),e.jsx(Be,{children:v.map(N=>e.jsxs(de,{className:"cursor-pointer group relative",onClick:()=>s(N.hookId,N.runId),"data-selected":N.hookId===o,children:[e.jsx(W,{className:"font-mono text-xs py-2",children:e.jsx(De,{text:N.hookId,overlay:!0,children:N.hookId})}),e.jsx(W,{className:"font-mono text-xs py-2",children:e.jsx(De,{text:N.runId,overlay:!0,children:N.runId})}),e.jsx(W,{className:"font-mono text-xs py-2",children:e.jsx(De,{text:N.token,overlay:!0,children:e.jsx("span",{className:"text-muted-foreground",children:"••••••••••••"})})}),e.jsx(W,{className:"py-2 text-muted-foreground text-xs",children:N.createdAt?e.jsx(Ae,{date:N.createdAt}):"-"}),e.jsx(W,{className:"py-2",children:R(N)}),e.jsx(W,{className:"py-2",children:e.jsxs(Ht,{children:[e.jsx($t,{asChild:!0,children:e.jsx(oe,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:E=>E.stopPropagation(),children:e.jsx(Bt,{className:"h-4 w-4"})})}),e.jsx(Vt,{align:"end",children:e.jsx(cn,{hook:N,stopPropagation:!0,onResolveClick:g.openResolveModal,DropdownMenuItem:bo})})]})})]},N.hookId))})]})})}),e.jsxs("div",{className:"flex items-center justify-between mt-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:h}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsxs(oe,{variant:"outline",size:"sm",onClick:f,disabled:!p,children:[e.jsx(os,{}),"Previous"]}),e.jsxs(oe,{variant:"outline",size:"sm",onClick:d,disabled:!m,children:["Next",e.jsx(Wt,{})]})]})]})]})]})}function Rt(t,[s,o]){return Math.min(o,Math.max(s,t))}var Ye=0;function cs(){n.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??Et()),document.body.insertAdjacentElement("beforeend",t[1]??Et()),Ye++,()=>{Ye===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(s=>s.remove()),Ye--}},[])}function Et(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Xe="focusScope.autoFocusOnMount",Je="focusScope.autoFocusOnUnmount",Pt={bubbles:!1,cancelable:!0},bn="FocusScope",xt=n.forwardRef((t,s)=>{const{loop:o=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:l,...i}=t,[c,d]=n.useState(null),f=Qe(a),m=Qe(l),p=n.useRef(null),x=J(s,u=>d(u)),h=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(r){let u=function(b){if(h.paused||!c)return;const R=b.target;c.contains(R)?p.current=R:xe(p.current,{select:!0})},v=function(b){if(h.paused||!c)return;const R=b.relatedTarget;R!==null&&(c.contains(R)||xe(p.current,{select:!0}))},y=function(b){if(document.activeElement===document.body)for(const N of b)N.removedNodes.length>0&&xe(c)};document.addEventListener("focusin",u),document.addEventListener("focusout",v);const w=new MutationObserver(y);return c&&w.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",u),document.removeEventListener("focusout",v),w.disconnect()}}},[r,c,h.paused]),n.useEffect(()=>{if(c){It.add(h);const u=document.activeElement;if(!c.contains(u)){const y=new CustomEvent(Xe,Pt);c.addEventListener(Xe,f),c.dispatchEvent(y),y.defaultPrevented||(jn(kn(is(c)),{select:!0}),document.activeElement===u&&xe(c))}return()=>{c.removeEventListener(Xe,f),setTimeout(()=>{const y=new CustomEvent(Je,Pt);c.addEventListener(Je,m),c.dispatchEvent(y),y.defaultPrevented||xe(u??document.body,{select:!0}),c.removeEventListener(Je,m),It.remove(h)},0)}}},[c,f,m,h]);const g=n.useCallback(u=>{if(!o&&!r||h.paused)return;const v=u.key==="Tab"&&!u.altKey&&!u.ctrlKey&&!u.metaKey,y=document.activeElement;if(v&&y){const w=u.currentTarget,[b,R]=yn(w);b&&R?!u.shiftKey&&y===R?(u.preventDefault(),o&&xe(b,{select:!0})):u.shiftKey&&y===b&&(u.preventDefault(),o&&xe(R,{select:!0})):y===w&&u.preventDefault()}},[o,r,h.paused]);return e.jsx(z.div,{tabIndex:-1,...i,ref:x,onKeyDown:g})});xt.displayName=bn;function jn(t,{select:s=!1}={}){const o=document.activeElement;for(const r of t)if(xe(r,{select:s}),document.activeElement!==o)return}function yn(t){const s=is(t),o=Tt(s,t),r=Tt(s.reverse(),t);return[o,r]}function is(t){const s=[],o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)s.push(o.currentNode);return s}function Tt(t,s){for(const o of t)if(!Nn(o,{upTo:s}))return o}function Nn(t,{upTo:s}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(s!==void 0&&t===s)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function Sn(t){return t instanceof HTMLInputElement&&"select"in t}function xe(t,{select:s=!1}={}){if(t&&t.focus){const o=document.activeElement;t.focus({preventScroll:!0}),t!==o&&Sn(t)&&s&&t.select()}}var It=Cn();function Cn(){let t=[];return{add(s){const o=t[0];s!==o&&(o==null||o.pause()),t=_t(t,s),t.unshift(s)},remove(s){var o;t=_t(t,s),(o=t[0])==null||o.resume()}}}function _t(t,s){const o=[...t],r=o.indexOf(s);return r!==-1&&o.splice(r,1),o}function kn(t){return t.filter(s=>s.tagName!=="A")}function Rn(t){const s=n.useRef({value:t,previous:t});return n.useMemo(()=>(s.current.value!==t&&(s.current.previous=s.current.value,s.current.value=t),s.current.previous),[t])}var En=[" ","Enter","ArrowUp","ArrowDown"],Pn=[" ","Enter"],be="Select",[Ve,We,Tn]=yo(be),[Ie]=Qt(be,[Tn,Jt]),ze=Jt(),[In,ve]=Ie(be),[_n,Mn]=Ie(be),ds=t=>{const{__scopeSelect:s,children:o,open:r,defaultOpen:a,onOpenChange:l,value:i,defaultValue:c,onValueChange:d,dir:f,name:m,autoComplete:p,disabled:x,required:h,form:g}=t,u=ze(s),[v,y]=n.useState(null),[w,b]=n.useState(null),[R,N]=n.useState(!1),E=No(f),[P,U]=et({prop:r,defaultProp:a??!1,onChange:l,caller:be}),[Z,Y]=et({prop:i,defaultProp:c,onChange:d,caller:be}),O=n.useRef(null),C=v?g||!!v.closest("form"):!0,[I,q]=n.useState(new Set),_=Array.from(I).map(k=>k.props.value).join(";");return e.jsx(Uo,{...u,children:e.jsxs(In,{required:h,scope:s,trigger:v,onTriggerChange:y,valueNode:w,onValueNodeChange:b,valueNodeHasChildren:R,onValueNodeHasChildrenChange:N,contentId:Re(),value:Z,onValueChange:Y,open:P,onOpenChange:U,dir:E,triggerPointerDownPosRef:O,disabled:x,children:[e.jsx(Ve.Provider,{scope:s,children:e.jsx(_n,{scope:t.__scopeSelect,onNativeOptionAdd:n.useCallback(k=>{q(L=>new Set(L).add(k))},[]),onNativeOptionRemove:n.useCallback(k=>{q(L=>{const H=new Set(L);return H.delete(k),H})},[]),children:o})}),C?e.jsxs(Ds,{"aria-hidden":!0,required:h,tabIndex:-1,name:m,autoComplete:p,value:Z,onChange:k=>Y(k.target.value),disabled:x,form:g,children:[Z===void 0?e.jsx("option",{value:""}):null,Array.from(I)]},_):null]})})};ds.displayName=be;var us="SelectTrigger",fs=n.forwardRef((t,s)=>{const{__scopeSelect:o,disabled:r=!1,...a}=t,l=ze(o),i=ve(us,o),c=i.disabled||r,d=J(s,i.onTriggerChange),f=We(o),m=n.useRef("touch"),[p,x,h]=Os(u=>{const v=f().filter(b=>!b.disabled),y=v.find(b=>b.value===i.value),w=Ls(v,u,y);w!==void 0&&i.onValueChange(w.value)}),g=u=>{c||(i.onOpenChange(!0),h()),u&&(i.triggerPointerDownPosRef.current={x:Math.round(u.pageX),y:Math.round(u.pageY)})};return e.jsx(Wo,{asChild:!0,...l,children:e.jsx(z.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":As(i.value)?"":void 0,...a,ref:d,onClick:V(a.onClick,u=>{u.currentTarget.focus(),m.current!=="mouse"&&g(u)}),onPointerDown:V(a.onPointerDown,u=>{m.current=u.pointerType;const v=u.target;v.hasPointerCapture(u.pointerId)&&v.releasePointerCapture(u.pointerId),u.button===0&&u.ctrlKey===!1&&u.pointerType==="mouse"&&(g(u),u.preventDefault())}),onKeyDown:V(a.onKeyDown,u=>{const v=p.current!=="";!(u.ctrlKey||u.altKey||u.metaKey)&&u.key.length===1&&x(u.key),!(v&&u.key===" ")&&En.includes(u.key)&&(g(),u.preventDefault())})})})});fs.displayName=us;var hs="SelectValue",ps=n.forwardRef((t,s)=>{const{__scopeSelect:o,className:r,style:a,children:l,placeholder:i="",...c}=t,d=ve(hs,o),{onValueNodeHasChildrenChange:f}=d,m=l!==void 0,p=J(s,d.onValueNodeChange);return pe(()=>{f(m)},[f,m]),e.jsx(z.span,{...c,ref:p,style:{pointerEvents:"none"},children:As(d.value)?e.jsx(e.Fragment,{children:i}):l})});ps.displayName=hs;var Dn="SelectIcon",ms=n.forwardRef((t,s)=>{const{__scopeSelect:o,children:r,...a}=t;return e.jsx(z.span,{"aria-hidden":!0,...a,ref:s,children:r||"▼"})});ms.displayName=Dn;var An="SelectPortal",xs=t=>e.jsx(mt,{asChild:!0,...t});xs.displayName=An;var je="SelectContent",gs=n.forwardRef((t,s)=>{const o=ve(je,t.__scopeSelect),[r,a]=n.useState();if(pe(()=>{a(new DocumentFragment)},[]),!o.open){const l=r;return l?At.createPortal(e.jsx(vs,{scope:t.__scopeSelect,children:e.jsx(Ve.Slot,{scope:t.__scopeSelect,children:e.jsx("div",{children:t.children})})}),l):null}return e.jsx(ws,{...t,ref:s})});gs.displayName=je;var re=10,[vs,we]=Ie(je),On="SelectContentImpl",Ln=es("SelectContent.RemoveScroll"),ws=n.forwardRef((t,s)=>{const{__scopeSelect:o,position:r="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:l,onPointerDownOutside:i,side:c,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:x,collisionPadding:h,sticky:g,hideWhenDetached:u,avoidCollisions:v,...y}=t,w=ve(je,o),[b,R]=n.useState(null),[N,E]=n.useState(null),P=J(s,S=>R(S)),[U,Z]=n.useState(null),[Y,O]=n.useState(null),C=We(o),[I,q]=n.useState(!1),_=n.useRef(!1);n.useEffect(()=>{if(b)return zt(b)},[b]),cs();const k=n.useCallback(S=>{const[$,...X]=C().map(D=>D.ref.current),[F]=X.slice(-1),A=document.activeElement;for(const D of S)if(D===A||(D==null||D.scrollIntoView({block:"nearest"}),D===$&&N&&(N.scrollTop=0),D===F&&N&&(N.scrollTop=N.scrollHeight),D==null||D.focus(),document.activeElement!==A))return},[C,N]),L=n.useCallback(()=>k([U,b]),[k,U,b]);n.useEffect(()=>{I&&L()},[I,L]);const{onOpenChange:H,triggerPointerDownPosRef:K}=w;n.useEffect(()=>{if(b){let S={x:0,y:0};const $=F=>{var A,D;S={x:Math.abs(Math.round(F.pageX)-(((A=K.current)==null?void 0:A.x)??0)),y:Math.abs(Math.round(F.pageY)-(((D=K.current)==null?void 0:D.y)??0))}},X=F=>{S.x<=10&&S.y<=10?F.preventDefault():b.contains(F.target)||H(!1),document.removeEventListener("pointermove",$),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",$),document.addEventListener("pointerup",X,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",$),document.removeEventListener("pointerup",X,{capture:!0})}}},[b,H,K]),n.useEffect(()=>{const S=()=>H(!1);return window.addEventListener("blur",S),window.addEventListener("resize",S),()=>{window.removeEventListener("blur",S),window.removeEventListener("resize",S)}},[H]);const[ue,fe]=Os(S=>{const $=C().filter(A=>!A.disabled),X=$.find(A=>A.ref.current===document.activeElement),F=Ls($,S,X);F&&setTimeout(()=>F.ref.current.focus())}),me=n.useCallback((S,$,X)=>{const F=!_.current&&!X;(w.value!==void 0&&w.value===$||F)&&(Z(S),F&&(_.current=!0))},[w.value]),ee=n.useCallback(()=>b==null?void 0:b.focus(),[b]),he=n.useCallback((S,$,X)=>{const F=!_.current&&!X;(w.value!==void 0&&w.value===$||F)&&O(S)},[w.value]),ne=r==="popper"?tt:bs,te=ne===tt?{side:c,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:x,collisionPadding:h,sticky:g,hideWhenDetached:u,avoidCollisions:v}:{};return e.jsx(vs,{scope:o,content:b,viewport:N,onViewportChange:E,itemRefCallback:me,selectedItem:U,onItemLeave:ee,itemTextRefCallback:he,focusSelectedItem:L,selectedItemText:Y,position:r,isPositioned:I,searchRef:ue,children:e.jsx(Ut,{as:Ln,allowPinchZoom:!0,children:e.jsx(xt,{asChild:!0,trapped:w.open,onMountAutoFocus:S=>{S.preventDefault()},onUnmountAutoFocus:V(a,S=>{var $;($=w.trigger)==null||$.focus({preventScroll:!0}),S.preventDefault()}),children:e.jsx(ts,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:i,onFocusOutside:S=>S.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:e.jsx(ne,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:S=>S.preventDefault(),...y,...te,onPlaced:()=>q(!0),ref:P,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:V(y.onKeyDown,S=>{const $=S.ctrlKey||S.altKey||S.metaKey;if(S.key==="Tab"&&S.preventDefault(),!$&&S.key.length===1&&fe(S.key),["ArrowUp","ArrowDown","Home","End"].includes(S.key)){let F=C().filter(A=>!A.disabled).map(A=>A.ref.current);if(["ArrowUp","End"].includes(S.key)&&(F=F.slice().reverse()),["ArrowUp","ArrowDown"].includes(S.key)){const A=S.target,D=F.indexOf(A);F=F.slice(D+1)}setTimeout(()=>k(F)),S.preventDefault()}})})})})})})});ws.displayName=On;var Fn="SelectItemAlignedPosition",bs=n.forwardRef((t,s)=>{const{__scopeSelect:o,onPlaced:r,...a}=t,l=ve(je,o),i=we(je,o),[c,d]=n.useState(null),[f,m]=n.useState(null),p=J(s,P=>m(P)),x=We(o),h=n.useRef(!1),g=n.useRef(!0),{viewport:u,selectedItem:v,selectedItemText:y,focusSelectedItem:w}=i,b=n.useCallback(()=>{if(l.trigger&&l.valueNode&&c&&f&&u&&v&&y){const P=l.trigger.getBoundingClientRect(),U=f.getBoundingClientRect(),Z=l.valueNode.getBoundingClientRect(),Y=y.getBoundingClientRect();if(l.dir!=="rtl"){const A=Y.left-U.left,D=Z.left-A,le=P.left-D,ce=P.width+le,Ne=Math.max(ce,U.width),j=window.innerWidth-re,B=Rt(D,[re,Math.max(re,j-Ne)]);c.style.minWidth=ce+"px",c.style.left=B+"px"}else{const A=U.right-Y.right,D=window.innerWidth-Z.right-A,le=window.innerWidth-P.right-D,ce=P.width+le,Ne=Math.max(ce,U.width),j=window.innerWidth-re,B=Rt(D,[re,Math.max(re,j-Ne)]);c.style.minWidth=ce+"px",c.style.right=B+"px"}const O=x(),C=window.innerHeight-re*2,I=u.scrollHeight,q=window.getComputedStyle(f),_=parseInt(q.borderTopWidth,10),k=parseInt(q.paddingTop,10),L=parseInt(q.borderBottomWidth,10),H=parseInt(q.paddingBottom,10),K=_+k+I+H+L,ue=Math.min(v.offsetHeight*5,K),fe=window.getComputedStyle(u),me=parseInt(fe.paddingTop,10),ee=parseInt(fe.paddingBottom,10),he=P.top+P.height/2-re,ne=C-he,te=v.offsetHeight/2,S=v.offsetTop+te,$=_+k+S,X=K-$;if($<=he){const A=O.length>0&&v===O[O.length-1].ref.current;c.style.bottom="0px";const D=f.clientHeight-u.offsetTop-u.offsetHeight,le=Math.max(ne,te+(A?ee:0)+D+L),ce=$+le;c.style.height=ce+"px"}else{const A=O.length>0&&v===O[0].ref.current;c.style.top="0px";const le=Math.max(he,_+u.offsetTop+(A?me:0)+te)+X;c.style.height=le+"px",u.scrollTop=$-he+u.offsetTop}c.style.margin=`${re}px 0`,c.style.minHeight=ue+"px",c.style.maxHeight=C+"px",r==null||r(),requestAnimationFrame(()=>h.current=!0)}},[x,l.trigger,l.valueNode,c,f,u,v,y,l.dir,r]);pe(()=>b(),[b]);const[R,N]=n.useState();pe(()=>{f&&N(window.getComputedStyle(f).zIndex)},[f]);const E=n.useCallback(P=>{P&&g.current===!0&&(b(),w==null||w(),g.current=!1)},[b,w]);return e.jsx($n,{scope:o,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:E,children:e.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:R},children:e.jsx(z.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});bs.displayName=Fn;var Hn="SelectPopperPosition",tt=n.forwardRef((t,s)=>{const{__scopeSelect:o,align:r="start",collisionPadding:a=re,...l}=t,i=ze(o);return e.jsx(zo,{...i,...l,ref:s,align:r,collisionPadding:a,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});tt.displayName=Hn;var[$n,gt]=Ie(je,{}),st="SelectViewport",js=n.forwardRef((t,s)=>{const{__scopeSelect:o,nonce:r,...a}=t,l=we(st,o),i=gt(st,o),c=J(s,l.onViewportChange),d=n.useRef(0);return e.jsxs(e.Fragment,{children:[e.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),e.jsx(Ve.Slot,{scope:o,children:e.jsx(z.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:V(a.onScroll,f=>{const m=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:x}=i;if(x!=null&&x.current&&p){const h=Math.abs(d.current-m.scrollTop);if(h>0){const g=window.innerHeight-re*2,u=parseFloat(p.style.minHeight),v=parseFloat(p.style.height),y=Math.max(u,v);if(y<g){const w=y+h,b=Math.min(g,w),R=w-b;p.style.height=b+"px",p.style.bottom==="0px"&&(m.scrollTop=R>0?R:0,p.style.justifyContent="flex-end")}}}d.current=m.scrollTop})})})]})});js.displayName=st;var ys="SelectGroup",[Bn,Vn]=Ie(ys),Wn=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t,a=Re();return e.jsx(Bn,{scope:o,id:a,children:e.jsx(z.div,{role:"group","aria-labelledby":a,...r,ref:s})})});Wn.displayName=ys;var Ns="SelectLabel",Ss=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t,a=Vn(Ns,o);return e.jsx(z.div,{id:a.id,...r,ref:s})});Ss.displayName=Ns;var Oe="SelectItem",[zn,Cs]=Ie(Oe),ks=n.forwardRef((t,s)=>{const{__scopeSelect:o,value:r,disabled:a=!1,textValue:l,...i}=t,c=ve(Oe,o),d=we(Oe,o),f=c.value===r,[m,p]=n.useState(l??""),[x,h]=n.useState(!1),g=J(s,w=>{var b;return(b=d.itemRefCallback)==null?void 0:b.call(d,w,r,a)}),u=Re(),v=n.useRef("touch"),y=()=>{a||(c.onValueChange(r),c.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return e.jsx(zn,{scope:o,value:r,disabled:a,textId:u,isSelected:f,onItemTextChange:n.useCallback(w=>{p(b=>b||((w==null?void 0:w.textContent)??"").trim())},[]),children:e.jsx(Ve.ItemSlot,{scope:o,value:r,disabled:a,textValue:m,children:e.jsx(z.div,{role:"option","aria-labelledby":u,"data-highlighted":x?"":void 0,"aria-selected":f&&x,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...i,ref:g,onFocus:V(i.onFocus,()=>h(!0)),onBlur:V(i.onBlur,()=>h(!1)),onClick:V(i.onClick,()=>{v.current!=="mouse"&&y()}),onPointerUp:V(i.onPointerUp,()=>{v.current==="mouse"&&y()}),onPointerDown:V(i.onPointerDown,w=>{v.current=w.pointerType}),onPointerMove:V(i.onPointerMove,w=>{var b;v.current=w.pointerType,a?(b=d.onItemLeave)==null||b.call(d):v.current==="mouse"&&w.currentTarget.focus({preventScroll:!0})}),onPointerLeave:V(i.onPointerLeave,w=>{var b;w.currentTarget===document.activeElement&&((b=d.onItemLeave)==null||b.call(d))}),onKeyDown:V(i.onKeyDown,w=>{var R;((R=d.searchRef)==null?void 0:R.current)!==""&&w.key===" "||(Pn.includes(w.key)&&y(),w.key===" "&&w.preventDefault())})})})})});ks.displayName=Oe;var _e="SelectItemText",Rs=n.forwardRef((t,s)=>{const{__scopeSelect:o,className:r,style:a,...l}=t,i=ve(_e,o),c=we(_e,o),d=Cs(_e,o),f=Mn(_e,o),[m,p]=n.useState(null),x=J(s,y=>p(y),d.onItemTextChange,y=>{var w;return(w=c.itemTextRefCallback)==null?void 0:w.call(c,y,d.value,d.disabled)}),h=m==null?void 0:m.textContent,g=n.useMemo(()=>e.jsx("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:u,onNativeOptionRemove:v}=f;return pe(()=>(u(g),()=>v(g)),[u,v,g]),e.jsxs(e.Fragment,{children:[e.jsx(z.span,{id:d.textId,...l,ref:x}),d.isSelected&&i.valueNode&&!i.valueNodeHasChildren?At.createPortal(l.children,i.valueNode):null]})});Rs.displayName=_e;var Es="SelectItemIndicator",Ps=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t;return Cs(Es,o).isSelected?e.jsx(z.span,{"aria-hidden":!0,...r,ref:s}):null});Ps.displayName=Es;var ot="SelectScrollUpButton",Ts=n.forwardRef((t,s)=>{const o=we(ot,t.__scopeSelect),r=gt(ot,t.__scopeSelect),[a,l]=n.useState(!1),i=J(s,r.onScrollButtonChange);return pe(()=>{if(o.viewport&&o.isPositioned){let c=function(){const f=d.scrollTop>0;l(f)};const d=o.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[o.viewport,o.isPositioned]),a?e.jsx(_s,{...t,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=o;c&&d&&(c.scrollTop=c.scrollTop-d.offsetHeight)}}):null});Ts.displayName=ot;var nt="SelectScrollDownButton",Is=n.forwardRef((t,s)=>{const o=we(nt,t.__scopeSelect),r=gt(nt,t.__scopeSelect),[a,l]=n.useState(!1),i=J(s,r.onScrollButtonChange);return pe(()=>{if(o.viewport&&o.isPositioned){let c=function(){const f=d.scrollHeight-d.clientHeight,m=Math.ceil(d.scrollTop)<f;l(m)};const d=o.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[o.viewport,o.isPositioned]),a?e.jsx(_s,{...t,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=o;c&&d&&(c.scrollTop=c.scrollTop+d.offsetHeight)}}):null});Is.displayName=nt;var _s=n.forwardRef((t,s)=>{const{__scopeSelect:o,onAutoScroll:r,...a}=t,l=we("SelectScrollButton",o),i=n.useRef(null),c=We(o),d=n.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return n.useEffect(()=>()=>d(),[d]),pe(()=>{var m;const f=c().find(p=>p.ref.current===document.activeElement);(m=f==null?void 0:f.ref.current)==null||m.scrollIntoView({block:"nearest"})},[c]),e.jsx(z.div,{"aria-hidden":!0,...a,ref:s,style:{flexShrink:0,...a.style},onPointerDown:V(a.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:V(a.onPointerMove,()=>{var f;(f=l.onItemLeave)==null||f.call(l),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:V(a.onPointerLeave,()=>{d()})})}),Un="SelectSeparator",Ms=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t;return e.jsx(z.div,{"aria-hidden":!0,...r,ref:s})});Ms.displayName=Un;var rt="SelectArrow",Kn=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t,a=ze(o),l=ve(rt,o),i=we(rt,o);return l.open&&i.position==="popper"?e.jsx(Go,{...a,...r,ref:s}):null});Kn.displayName=rt;var Gn="SelectBubbleInput",Ds=n.forwardRef(({__scopeSelect:t,value:s,...o},r)=>{const a=n.useRef(null),l=J(r,a),i=Rn(s);return n.useEffect(()=>{const c=a.current;if(!c)return;const d=window.HTMLSelectElement.prototype,m=Object.getOwnPropertyDescriptor(d,"value").set;if(i!==s&&m){const p=new Event("change",{bubbles:!0});m.call(c,s),c.dispatchEvent(p)}},[i,s]),e.jsx(z.select,{...o,style:{...Ko,...o.style},ref:l,defaultValue:s})});Ds.displayName=Gn;function As(t){return t===""||t===void 0}function Os(t){const s=Qe(t),o=n.useRef(""),r=n.useRef(0),a=n.useCallback(i=>{const c=o.current+i;s(c),(function d(f){o.current=f,window.clearTimeout(r.current),f!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(c)},[s]),l=n.useCallback(()=>{o.current="",window.clearTimeout(r.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(r.current),[]),[o,a,l]}function Ls(t,s,o){const a=s.length>1&&Array.from(s).every(f=>f===s[0])?s[0]:s,l=o?t.indexOf(o):-1;let i=qn(t,Math.max(l,0));a.length===1&&(i=i.filter(f=>f!==o));const d=i.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return d!==o?d:void 0}function qn(t,s){return t.map((o,r)=>t[(s+r)%t.length])}var Zn=ds,Fs=fs,Yn=ps,Xn=ms,Jn=xs,Hs=gs,Qn=js,$s=Ss,Bs=ks,er=Rs,tr=Ps,Vs=Ts,Ws=Is,zs=Ms;const Mt=Zn,Dt=Yn,at=n.forwardRef(({className:t,children:s,...o},r)=>e.jsxs(Fs,{ref:r,className:T("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...o,children:[s,e.jsx(Xn,{asChild:!0,children:e.jsx(Kt,{className:"h-4 w-4 opacity-50"})})]}));at.displayName=Fs.displayName;const Us=n.forwardRef(({className:t,...s},o)=>e.jsx(Vs,{ref:o,className:T("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx(So,{className:"h-4 w-4"})}));Us.displayName=Vs.displayName;const Ks=n.forwardRef(({className:t,...s},o)=>e.jsx(Ws,{ref:o,className:T("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx(Kt,{className:"h-4 w-4"})}));Ks.displayName=Ws.displayName;const lt=n.forwardRef(({className:t,children:s,position:o="popper",...r},a)=>e.jsx(Jn,{children:e.jsxs(Hs,{ref:a,className:T("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",o==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:o,...r,children:[e.jsx(Us,{}),e.jsx(Qn,{className:T("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s}),e.jsx(Ks,{})]})}));lt.displayName=Hs.displayName;const sr=n.forwardRef(({className:t,...s},o)=>e.jsx($s,{ref:o,className:T("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...s}));sr.displayName=$s.displayName;const Me=n.forwardRef(({className:t,children:s,...o},r)=>e.jsxs(Bs,{ref:r,className:T("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...o,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(tr,{children:e.jsx(Gt,{className:"h-4 w-4"})})}),e.jsx(er,{children:s})]}));Me.displayName=Bs.displayName;const or=n.forwardRef(({className:t,...s},o)=>e.jsx(zs,{ref:o,className:T("-mx-1 my-1 h-px bg-muted",t),...s}));or.displayName=zs.displayName;function nr({getItemId:t}){const[s,o]=n.useState(new Set),r=n.useCallback(h=>s.has(t(h)),[s,t]),a=n.useCallback(h=>{const g=t(h);o(u=>{const v=new Set(u);return v.has(g)?v.delete(g):v.add(g),v})},[t]),l=n.useCallback(h=>{o(new Set(h.map(t)))},[t]),i=n.useCallback(()=>{o(new Set)},[]),c=n.useCallback(h=>h.length===0?!1:h.every(g=>s.has(t(g))),[s,t]),d=n.useCallback(h=>{if(h.length===0)return!1;const g=h.some(v=>s.has(t(v))),u=h.every(v=>s.has(t(v)));return g&&!u},[s,t]),f=n.useCallback(h=>{c(h)?i():l(h)},[c,i,l]),m=n.useCallback(h=>{o(g=>{const u=new Set(g);return u.add(h),u})},[]),p=n.useCallback(h=>{o(g=>{const u=new Set(g);return u.delete(h),u})},[]),x=s.size;return n.useMemo(()=>({selectedIds:s,isSelected:r,toggleSelection:a,selectAll:l,clearSelection:i,toggleSelectAll:f,selectionCount:x,isAllSelected:c,isSomeSelected:d,selectById:m,deselectById:p}),[s,r,a,l,i,f,x,c,d,m,p])}function rr({selectionCount:t,onClearSelection:s,actions:o,itemLabel:r="items",className:a}){if(t===0)return null;const l=t===1?r.replace(/s$/,""):r;return e.jsxs("div",{className:T("fixed bottom-6 left-1/2 -translate-x-1/2 z-50","flex items-center gap-3 px-4 py-2.5 rounded-lg","bg-primary text-primary-foreground shadow-lg","animate-in fade-in slide-in-from-bottom-4 duration-200",a),children:[e.jsxs("span",{className:"text-sm font-medium",children:[t," ",l," selected"]}),o&&e.jsx("div",{className:"flex items-center gap-2 border-l border-primary-foreground/20 pl-3",children:o}),e.jsxs(oe,{variant:"ghost",size:"sm",className:"h-7 px-2 text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground",onClick:s,children:[e.jsx(qt,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Clear selection"})]})]})}function ar(t){const s=n.useRef({value:t,previous:t});return n.useMemo(()=>(s.current.value!==t&&(s.current.previous=s.current.value,s.current.value=t),s.current.previous),[t])}var vt="Checkbox",[lr]=ko(vt),[cr,ir]=lr(vt),Gs=n.forwardRef((t,s)=>{const{__scopeCheckbox:o,name:r,checked:a,defaultChecked:l,required:i,disabled:c,value:d="on",onCheckedChange:f,form:m,...p}=t,[x,h]=n.useState(null),g=qo(s,R=>h(R)),u=n.useRef(!1),v=x?m||!!x.closest("form"):!0,[y=!1,w]=Co({prop:a,defaultProp:l,onChange:f}),b=n.useRef(y);return n.useEffect(()=>{const R=x==null?void 0:x.form;if(R){const N=()=>w(b.current);return R.addEventListener("reset",N),()=>R.removeEventListener("reset",N)}},[x,w]),e.jsxs(cr,{scope:o,state:y,disabled:c,children:[e.jsx(Zt.button,{type:"button",role:"checkbox","aria-checked":ge(y)?"mixed":y,"aria-required":i,"data-state":Ys(y),"data-disabled":c?"":void 0,disabled:c,value:d,...p,ref:g,onKeyDown:yt(t.onKeyDown,R=>{R.key==="Enter"&&R.preventDefault()}),onClick:yt(t.onClick,R=>{w(N=>ge(N)?!0:!N),v&&(u.current=R.isPropagationStopped(),u.current||R.stopPropagation())})}),v&&e.jsx(dr,{control:x,bubbles:!u.current,name:r,value:d,checked:y,required:i,disabled:c,form:m,style:{transform:"translateX(-100%)"},defaultChecked:ge(l)?!1:l})]})});Gs.displayName=vt;var qs="CheckboxIndicator",Zs=n.forwardRef((t,s)=>{const{__scopeCheckbox:o,forceMount:r,...a}=t,l=ir(qs,o);return e.jsx(Ro,{present:r||ge(l.state)||l.state===!0,children:e.jsx(Zt.span,{"data-state":Ys(l.state),"data-disabled":l.disabled?"":void 0,...a,ref:s,style:{pointerEvents:"none",...t.style}})})});Zs.displayName=qs;var dr=t=>{const{control:s,checked:o,bubbles:r=!0,defaultChecked:a,...l}=t,i=n.useRef(null),c=ar(o),d=Eo(s);n.useEffect(()=>{const m=i.current,p=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(p,"checked").set;if(c!==o&&h){const g=new Event("click",{bubbles:r});m.indeterminate=ge(o),h.call(m,ge(o)?!1:o),m.dispatchEvent(g)}},[c,o,r]);const f=n.useRef(ge(o)?!1:o);return e.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??f.current,...l,tabIndex:-1,ref:i,style:{...t.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function ge(t){return t==="indeterminate"}function Ys(t){return ge(t)?"indeterminate":t?"checked":"unchecked"}var ur=Gs,fr=Zs;const ct=n.forwardRef(({className:t,checked:s,indeterminate:o,onCheckedChange:r,...a},l)=>{const i=n.useId(),c=a.id??i,d=o?"indeterminate":s??!1;return e.jsx("label",{htmlFor:c,className:"p-2 -m-2 inline-flex items-center justify-center cursor-pointer",onClick:f=>f.stopPropagation(),onKeyDown:f=>f.stopPropagation(),children:e.jsx(ur,{ref:l,id:c,checked:d,onCheckedChange:f=>{r==null||r(f===!0)},className:T("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground","data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",t),...a,children:e.jsx(fr,{className:"flex items-center justify-center text-current",children:o?e.jsx(nn,{className:"h-3.5 w-3.5"}):e.jsx(Gt,{className:"h-3.5 w-3.5"})})})})});ct.displayName="Checkbox";function hr({env:t,runId:s,runStatus:o,onSuccess:r}){const[a,l]=n.useState(void 0),[i,c]=n.useState(!0),[d,f]=n.useState(void 0),m=(d==null?void 0:d.status)||o;return n.useEffect(()=>{c(!0),Promise.all([Zo(t,s,"none"),Xt(t,s,{limit:1e3,sortOrder:"desc"})]).then(([p,x])=>{p.success&&f(p.data),x.success&&l(x.data.data)}).catch(p=>{console.error("Failed to fetch run or events:",p)}).finally(()=>{c(!1)})},[t,s]),e.jsx(Do,{env:t,runId:s,runStatus:m,events:a,eventsLoading:i,stopPropagation:!0,callbacks:{onSuccess:r}})}function pr({env:t,runId:s,runStatus:o,onSuccess:r}){const[a,l]=n.useState(!1);return e.jsxs(Ht,{open:a,onOpenChange:l,children:[e.jsx($t,{asChild:!0,children:e.jsx(oe,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:i=>i.stopPropagation(),children:e.jsx(Bt,{className:"h-4 w-4"})})}),a&&e.jsx(Vt,{align:"end",children:e.jsx(hr,{env:t,runId:s,runStatus:o,onSuccess:r})})]})}const Xs={pending:{label:"Pending",color:"bg-neutral-600 dark:bg-neutral-400"},running:{label:"Running",color:"bg-blue-600 dark:bg-blue-400"},completed:{label:"Completed",color:"bg-green-600 dark:bg-green-400"},failed:{label:"Failed",color:"bg-red-600 dark:bg-red-400"},cancelled:{label:"Cancelled",color:"bg-gray-600 dark:bg-gray-400"}};function mr(){const t=it(),{pathname:s}=Ot(),[o]=Fe();return n.useCallback(r=>{const a=new URLSearchParams(o.toString());r==="all"?(a.delete("workflow"),a.delete("status")):a.set("workflow",r),t(`${s}?${a.toString()}`)},[t,s,o])}function xr(){const t=it(),{pathname:s}=Ot(),[o]=Fe();return n.useCallback(r=>{const a=new URLSearchParams(o.toString());r==="all"?a.delete("status"):a.set("status",r),t(`${s}?${a.toString()}`)},[t,s,o])}function gr({workflowNameFilter:t,status:s,seenWorkflowNames:o,sortOrder:r,loading:a,statusFilterRequiresWorkflowNameFilter:l,onWorkflowChange:i,onStatusChange:c,onSortToggle:d,onRefresh:f,lastRefreshTime:m}){return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Last refreshed"}),m&&e.jsx(Ae,{date:m,className:"text-sm text-muted-foreground",type:"distance"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(Mt,{value:t??"all",onValueChange:i,disabled:a,children:[e.jsx(at,{className:"w-[180px] h-9",children:e.jsx(Dt,{placeholder:"Filter by workflow"})}),e.jsxs(lt,{children:[e.jsx(Me,{value:"all",children:"All Workflows"}),Array.from(o).sort().map(p=>{var x;return e.jsx(Me,{value:p,children:((x=Yt(p))==null?void 0:x.shortName)||p},p)})]})]}),e.jsxs(Se,{children:[e.jsx(Ce,{asChild:!0,children:e.jsx("div",{children:e.jsxs(Mt,{value:s||"all",onValueChange:c,disabled:a||l&&!t,children:[e.jsx(at,{className:"w-[140px] h-9",children:e.jsx(Dt,{placeholder:"Filter by status"})}),e.jsxs(lt,{children:[e.jsx(Me,{value:"all",children:"Any status"}),Object.entries(Xs).map(([p,{label:x,color:h}])=>e.jsx(Me,{value:p,children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:`${h} size-1.5 rounded-full mr-2`}),x]})},p))]})]})})}),e.jsx(ke,{children:l&&t==="all"?"Select a workflow first to filter by status":"Filter runs by status"})]}),e.jsxs(Se,{children:[e.jsx(Ce,{asChild:!0,children:e.jsxs(oe,{variant:"outline",size:"sm",onClick:d,disabled:a,children:[r==="desc"?e.jsx(Qo,{className:"h-4 w-4"}):e.jsx(tn,{className:"h-4 w-4"}),r==="desc"?"Newest":"Oldest"]})}),e.jsx(ke,{children:r==="desc"?"Showing newest first":"Showing oldest first"})]}),e.jsxs(Se,{children:[e.jsx(Ce,{asChild:!0,children:e.jsxs(oe,{variant:"outline",size:"sm",onClick:f,disabled:a,children:[e.jsx(ns,{className:a?"animate-spin":""}),"Refresh"]})}),e.jsx(ke,{children:"Note that this resets pages"})]})]})]})}function vr({onRunClick:t}){var D,le,ce,Ne;const[s]=Fe(),o=mr(),r=xr(),{serverConfig:a}=ss(),l=s.get("status"),i=Object.keys(Xs),c=l==="all"||l&&i.includes(l)?l:void 0,d=s.get("workflow"),[f,m]=n.useState("desc"),[p,x]=n.useState(()=>new Date),[h,g]=n.useState(!1),u=n.useMemo(()=>({}),[]),v=a.backendId==="local"||a.backendId==="@workflow/world-local",y=(D=a.displayInfo)==null?void 0:D["local.dataDirPath"],w=(le=a.displayInfo)==null?void 0:le["local.shortName"],b=((ce=a.backendId)==null?void 0:ce.includes("vercel"))||!1,[R,N]=n.useState(new Set),{data:E,error:P,nextPage:U,previousPage:Z,hasNextPage:Y,hasPreviousPage:O,reload:C,refresh:I,pageInfo:q}=gn(u,{sortOrder:f,workflowName:d==="all"?void 0:d,status:c==="all"?void 0:c}),_=nr({getItemId:j=>j.runId}),k=E.data??[],[L,H]=n.useState(!1),[K,ue]=n.useState(!1),fe=v&&(!y||!((Ne=E==null?void 0:E.data)!=null&&Ne.length));n.useEffect(()=>{if(E.data&&E.data.length>0){const j=new Set(E.data.map(B=>B.workflowName));N(B=>{const se=new Set(B);for(const Q of j)se.add(Q);return se})}},[E.data]);const me=E.isLoading;n.useEffect(()=>{!me&&!h&&g(!0)},[me,h]),n.useEffect(()=>{g(!1)},[d,c,f]);const ee=n.useCallback(()=>{x(()=>new Date),g(!1),C()},[C]),he=n.useCallback(()=>{x(()=>new Date),I()},[I]),ne=n.useMemo(()=>k.filter(j=>_.selectedIds.has(j.runId)),[k,_.selectedIds]),te=n.useMemo(()=>ne.filter(j=>j.status==="pending"||j.status==="running"),[ne]),S=te.length>0,$=n.useCallback(async()=>{if(!(L||te.length===0)){H(!0);try{const j=await Promise.allSettled(te.map(Q=>Po(u,Q.runId))),B=j.filter(Q=>Q.status==="fulfilled").length,se=j.filter(Q=>Q.status==="rejected").length;se===0?ie.success(`Cancelled ${B} run${B!==1?"s":""}`):B===0?ie.error(`Failed to cancel ${se} run${se!==1?"s":""}`):ie.warning(`Cancelled ${B} run${B!==1?"s":""}, ${se} failed`),_.clearSelection(),ee()}catch(j){ie.error("Failed to cancel runs",{description:j instanceof Error?j.message:"Unknown error"})}finally{H(!1)}}},[u,te,L,_,ee]),X=n.useCallback(async()=>{if(!(K||ne.length===0)){ue(!0);try{const j=await Promise.allSettled(ne.map(Q=>To(u,Q.runId))),B=j.filter(Q=>Q.status==="fulfilled").length,se=j.filter(Q=>Q.status==="rejected").length;se===0?ie.success(`Re-enqueued ${B} run${B!==1?"s":""}`):B===0?ie.error(`Failed to re-enqueue ${se} run${se!==1?"s":""}`):ie.warning(`Re-enqueued ${B} run${B!==1?"s":""}, ${se} failed`),_.clearSelection(),ee()}catch(j){ie.error("Failed to re-enqueue runs",{description:j instanceof Error?j.message:"Unknown error"})}finally{ue(!1)}}},[u,ne,K,_,ee]),F=()=>{m(j=>j==="desc"?"asc":"desc")};n.useEffect(()=>{if(fe){const j=setInterval(()=>{he()},5e3);return()=>clearInterval(j)}},[fe,he]),n.useEffect(()=>{const j=()=>{document.visibilityState==="visible"&&p&&Date.now()-p.getTime()>=1e4&&ee()};return document.addEventListener("visibilitychange",j),()=>{document.removeEventListener("visibilitychange",j)}},[p,ee]);const A=e.jsx("code",{className:"font-mono",children:w||"current directory"});return e.jsxs("div",{children:[e.jsx(gr,{workflowNameFilter:d,status:c,seenWorkflowNames:R,sortOrder:f,loading:me,statusFilterRequiresWorkflowNameFilter:b,onWorkflowChange:o,onStatusChange:r,onSortToggle:F,onRefresh:ee,lastRefreshTime:p}),e.jsx(Ee,{className:"overflow-hidden mt-4 bg-background",children:e.jsx(Pe,{className:"p-0 max-h-[calc(100vh-280px)] overflow-auto",children:e.jsxs(He,{children:[e.jsx($e,{children:e.jsxs(de,{children:[e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10 w-10",children:e.jsx(ct,{checked:_.isAllSelected(k),indeterminate:_.isSomeSelected(k),onCheckedChange:()=>_.toggleSelectAll(k),"aria-label":"Select all runs",disabled:!k.length})}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Workflow"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Run ID"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Status"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Started"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Completed"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10 w-10"})]})}),e.jsx(Be,{children:P?e.jsx(de,{children:e.jsx(W,{colSpan:7,className:"h-[400px]",children:e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsxs(dt,{variant:"destructive",className:"max-w-md",children:[e.jsx(ut,{className:"h-4 w-4"}),e.jsx(ft,{children:"Error loading runs"}),e.jsx(ht,{children:Ft(P)})]})})})}):me&&!h?e.jsx(de,{children:e.jsx(W,{colSpan:7,className:"h-[400px]",children:e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx(Ze,{className:"h-8 w-8 animate-spin text-muted-foreground"})})})}):!E.data||E.data.length===0?e.jsx(de,{children:e.jsx(W,{colSpan:7,className:"h-[400px]",children:e.jsxs("div",{className:"text-sm text-center text-muted-foreground flex flex-col items-center justify-center gap-3 h-full",children:[e.jsxs("span",{className:"text-sm",children:["No workflow runs found",fe?e.jsxs(e.Fragment,{children:[" in ",A]}):"","."]}),fe&&e.jsx("span",{className:"text-sm flex items-center gap-2",children:"This view will update once you run a workflow."})]})})}):k.map(j=>{var B;return e.jsxs(de,{className:"cursor-pointer group relative",onClick:()=>t(j.runId),"data-selected":_.isSelected(j),children:[e.jsx(W,{className:"py-2",children:e.jsx(ct,{checked:_.isSelected(j),onCheckedChange:()=>_.toggleSelection(j),"aria-label":`Select run ${j.runId}`})}),e.jsx(W,{className:"py-2",children:e.jsx(De,{text:j.workflowName,overlay:!0,children:((B=Yt(j.workflowName))==null?void 0:B.shortName)||"?"})}),e.jsx(W,{className:"font-mono text-xs py-2",children:e.jsx(De,{text:j.runId,overlay:!0,children:j.runId})}),e.jsx(W,{className:"py-2",children:e.jsx(Io,{status:j.status,context:j,durationMs:j.startedAt?(j.completedAt?new Date(j.completedAt).getTime():Date.now())-new Date(j.startedAt).getTime():void 0})}),e.jsx(W,{className:"py-2 text-muted-foreground text-xs",children:j.startedAt?e.jsx(Ae,{date:j.startedAt}):"-"}),e.jsx(W,{className:"py-2 text-muted-foreground text-xs",children:j.completedAt?e.jsx(Ae,{date:j.completedAt}):"-"}),e.jsx(W,{className:"py-2",children:e.jsx(pr,{env:u,runId:j.runId,runStatus:j.status,onSuccess:ee})})]},j.runId)})})]})})}),e.jsxs("div",{className:"flex items-center justify-between mt-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:q}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsxs(oe,{variant:"outline",size:"sm",onClick:Z,disabled:!O,children:[e.jsx(os,{}),"Previous"]}),e.jsxs(oe,{variant:"outline",size:"sm",onClick:U,disabled:!Y,children:["Next",e.jsx(Wt,{})]})]})]}),e.jsx(rr,{selectionCount:_.selectionCount,onClearSelection:_.clearSelection,itemLabel:"runs",actions:e.jsxs(e.Fragment,{children:[e.jsxs(Se,{children:[e.jsx(Ce,{asChild:!0,children:e.jsxs(oe,{variant:"ghost",size:"sm",className:"h-7 text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground",onClick:X,disabled:K||ne.length===0,children:[K?e.jsx(Ze,{className:"h-4 w-4 mr-1 animate-spin"}):e.jsx(_o,{className:"h-4 w-4 mr-1"}),K?"Re-enqueuing...":"Re-enqueue"]})}),e.jsx(ke,{children:"Re-enqueue the workflow orchestration layer for selected runs. Useful if workflows appear stuck."})]}),S&&e.jsxs(oe,{variant:"ghost",size:"sm",className:"h-7 text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground",onClick:$,disabled:L,children:[L?e.jsx(Ze,{className:"h-4 w-4 mr-1 animate-spin"}):e.jsx(Mo,{className:"h-4 w-4 mr-1"}),"Cancel"," ",te.length!==_.selectionCount?`${te.length} `:"",L?"cancelling...":""]})]})})]})}var Ue="Dialog",[Js]=Qt(Ue),[wr,ae]=Js(Ue),Qs=t=>{const{__scopeDialog:s,children:o,open:r,defaultOpen:a,onOpenChange:l,modal:i=!0}=t,c=n.useRef(null),d=n.useRef(null),[f,m]=et({prop:r,defaultProp:a??!1,onChange:l,caller:Ue});return e.jsx(wr,{scope:s,triggerRef:c,contentRef:d,contentId:Re(),titleId:Re(),descriptionId:Re(),open:f,onOpenChange:m,onOpenToggle:n.useCallback(()=>m(p=>!p),[m]),modal:i,children:o})};Qs.displayName=Ue;var eo="DialogTrigger",br=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(eo,o),l=J(s,a.triggerRef);return e.jsx(z.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":jt(a.open),...r,ref:l,onClick:V(t.onClick,a.onOpenToggle)})});br.displayName=eo;var wt="DialogPortal",[jr,to]=Js(wt,{forceMount:void 0}),so=t=>{const{__scopeDialog:s,forceMount:o,children:r,container:a}=t,l=ae(wt,s);return e.jsx(jr,{scope:s,forceMount:o,children:n.Children.map(r,i=>e.jsx(pt,{present:o||l.open,children:e.jsx(mt,{asChild:!0,container:a,children:i})}))})};so.displayName=wt;var Le="DialogOverlay",oo=n.forwardRef((t,s)=>{const o=to(Le,t.__scopeDialog),{forceMount:r=o.forceMount,...a}=t,l=ae(Le,t.__scopeDialog);return l.modal?e.jsx(pt,{present:r||l.open,children:e.jsx(Nr,{...a,ref:s})}):null});oo.displayName=Le;var yr=es("DialogOverlay.RemoveScroll"),Nr=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(Le,o);return e.jsx(Ut,{as:yr,allowPinchZoom:!0,shards:[a.contentRef],children:e.jsx(z.div,{"data-state":jt(a.open),...r,ref:s,style:{pointerEvents:"auto",...r.style}})})}),ye="DialogContent",no=n.forwardRef((t,s)=>{const o=to(ye,t.__scopeDialog),{forceMount:r=o.forceMount,...a}=t,l=ae(ye,t.__scopeDialog);return e.jsx(pt,{present:r||l.open,children:l.modal?e.jsx(Sr,{...a,ref:s}):e.jsx(Cr,{...a,ref:s})})});no.displayName=ye;var Sr=n.forwardRef((t,s)=>{const o=ae(ye,t.__scopeDialog),r=n.useRef(null),a=J(s,o.contentRef,r);return n.useEffect(()=>{const l=r.current;if(l)return zt(l)},[]),e.jsx(ro,{...t,ref:a,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:V(t.onCloseAutoFocus,l=>{var i;l.preventDefault(),(i=o.triggerRef.current)==null||i.focus()}),onPointerDownOutside:V(t.onPointerDownOutside,l=>{const i=l.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&l.preventDefault()}),onFocusOutside:V(t.onFocusOutside,l=>l.preventDefault())})}),Cr=n.forwardRef((t,s)=>{const o=ae(ye,t.__scopeDialog),r=n.useRef(!1),a=n.useRef(!1);return e.jsx(ro,{...t,ref:s,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var i,c;(i=t.onCloseAutoFocus)==null||i.call(t,l),l.defaultPrevented||(r.current||(c=o.triggerRef.current)==null||c.focus(),l.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:l=>{var d,f;(d=t.onInteractOutside)==null||d.call(t,l),l.defaultPrevented||(r.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const i=l.target;((f=o.triggerRef.current)==null?void 0:f.contains(i))&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),ro=n.forwardRef((t,s)=>{const{__scopeDialog:o,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:l,...i}=t,c=ae(ye,o),d=n.useRef(null),f=J(s,d);return cs(),e.jsxs(e.Fragment,{children:[e.jsx(xt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:l,children:e.jsx(ts,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":jt(c.open),...i,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),e.jsxs(e.Fragment,{children:[e.jsx(kr,{titleId:c.titleId}),e.jsx(Er,{contentRef:d,descriptionId:c.descriptionId})]})]})}),bt="DialogTitle",ao=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(bt,o);return e.jsx(z.h2,{id:a.titleId,...r,ref:s})});ao.displayName=bt;var lo="DialogDescription",co=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(lo,o);return e.jsx(z.p,{id:a.descriptionId,...r,ref:s})});co.displayName=lo;var io="DialogClose",uo=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(io,o);return e.jsx(z.button,{type:"button",...r,ref:s,onClick:V(t.onClick,()=>a.onOpenChange(!1))})});uo.displayName=io;function jt(t){return t?"open":"closed"}var fo="DialogTitleWarning",[Gr,ho]=Yo(fo,{contentName:ye,titleName:bt,docsSlug:"dialog"}),kr=({titleId:t})=>{const s=ho(fo),o=`\`${s.contentName}\` requires a \`${s.titleName}\` for the component to be accessible for screen reader users.
|
|
32
|
-
|
|
33
|
-
If you want to hide the \`${s.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
34
|
-
|
|
35
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${s.docsSlug}`;return n.useEffect(()=>{t&&(document.getElementById(t)||console.error(o))},[o,t]),null},Rr="DialogDescriptionWarning",Er=({contentRef:t,descriptionId:s})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ho(Rr).contentName}}.`;return n.useEffect(()=>{var l;const a=(l=t.current)==null?void 0:l.getAttribute("aria-describedby");s&&a&&(document.getElementById(s)||console.warn(r))},[r,t,s]),null},Pr=Qs,Tr=so,Ir=oo,_r=no,Mr=ao,Dr=co,Ar=uo;function Or({...t}){return e.jsx(Pr,{"data-slot":"sheet",...t})}function Lr({...t}){return e.jsx(Tr,{"data-slot":"sheet-portal",...t})}function Fr({className:t,...s}){return e.jsx(Ir,{"data-slot":"sheet-overlay",className:T("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function Hr({className:t,children:s,side:o="right",...r}){return e.jsxs(Lr,{children:[e.jsx(Fr,{}),e.jsxs(_r,{"data-slot":"sheet-content",onSubmit:a=>a.preventDefault(),className:T("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",o==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",o==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",o==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",o==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...r,children:[s,e.jsxs(Ar,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[e.jsx(qt,{className:"size-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function $r({className:t,...s}){return e.jsx("div",{"data-slot":"sheet-header",className:T("flex flex-col gap-1.5 p-4",t),...s})}function Br({className:t,...s}){return e.jsx(Mr,{"data-slot":"sheet-title",className:T("text-foreground font-semibold",t),...s})}function Vr({className:t,...s}){return e.jsx(Dr,{"data-slot":"sheet-description",className:T("text-muted-foreground text-sm",t),...s})}function Wr({onWorkflowSelect:t}){const[s,o]=n.useState(!1),[r,a]=n.useState(null),{manifest:l,loading:i,error:c}=Ao(),d=l?Object.values(l.workflows):[],f=n.useMemo(()=>[...d].sort((x,h)=>x.workflowName.localeCompare(h.workflowName)),[d]),m=n.useMemo(()=>(r==null?void 0:r.nodes.filter(x=>x.data.nodeKind==="step").length)??0,[r]),p=x=>{a(x),o(!0),t==null||t(x.workflowName)};return i?e.jsx(as,{variant:"workflows",rows:6}):c?e.jsxs(dt,{variant:"destructive",children:[e.jsx(ut,{className:"h-4 w-4"}),e.jsx(ft,{children:"Error Loading Workflows"}),e.jsx(ht,{children:c.message})]}):d.length===0?e.jsx(Ee,{children:e.jsxs(Pe,{className:"p-12 text-center",children:[e.jsx(Ct,{className:"mx-auto h-12 w-12 text-muted-foreground mb-4"}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"No Workflows Found"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"No workflow definitions were found in the graph manifest."})]})}):e.jsxs(e.Fragment,{children:[e.jsx(Ee,{className:"overflow-hidden bg-background",children:e.jsx(Pe,{className:"p-0 max-h-[calc(100vh-200px)] overflow-auto",children:e.jsxs(He,{children:[e.jsx($e,{children:e.jsxs(de,{children:[e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Workflow"}),e.jsx(G,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"File"}),e.jsx(G,{className:"text-center sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Steps"})]})}),e.jsx(Be,{children:f.map(x=>{const h=x.nodes.filter(g=>g.data.nodeKind==="step").length;return e.jsxs(de,{className:"cursor-pointer",onClick:()=>p(x),children:[e.jsx(W,{className:"py-2",children:e.jsx("span",{className:"font-medium",children:x.workflowName})}),e.jsx(W,{className:"py-2",children:e.jsx("code",{className:"text-xs text-muted-foreground",children:x.filePath})}),e.jsx(W,{className:"text-center py-2",children:e.jsxs(Nt,{variant:"secondary",className:"gap-1",children:[e.jsx(St,{className:"h-3 w-3"}),h," ",kt("step","steps",h)]})})]},x.workflowId)})})]})})}),e.jsx(Or,{open:s,onOpenChange:o,children:e.jsxs(Hr,{side:"right",className:"w-[75vw] max-w-[75vw] sm:max-w-[75vw]",children:[e.jsxs($r,{children:[e.jsxs(Br,{className:"flex items-center gap-2",children:[e.jsx(Ct,{className:"h-5 w-5"}),r==null?void 0:r.workflowName]}),r&&e.jsx(Vr,{asChild:!0,children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("code",{className:"text-xs",children:r.filePath}),e.jsx("div",{children:e.jsxs(Nt,{variant:"outline",className:"gap-1",children:[e.jsx(St,{className:"h-3 w-3"}),m," ",kt("step","steps",m)]})})]})})]}),e.jsx("div",{className:"mt-6 h-[calc(100vh-180px)]",children:r&&e.jsx(Oo,{workflow:r})})]})})]})}const qr=xo(function(){const s=it(),{serverConfig:o}=ss(),[r,a]=Fe(),l=r.get("sidebar"),i=r.get("hookId"),c=r.get("tab")||"runs",d=h=>{a(g=>(g.set("tab",h),g),{replace:!0})},f=l==="hook"&&i?i:void 0,m=o.backendId==="local"||o.backendId==="@workflow/world-local",p=(h,g)=>{s(g?`/run/${h}/streams/${g}`:`/run/${h}`)},x=(h,g)=>{s(h?`/run/${g}?sidebar=hook&hookId=${h}`:`/run/${g}`)};return e.jsx("div",{className:"max-w-7xl mx-auto px-4",children:e.jsxs(Lo,{value:c,onValueChange:d,className:"w-full",children:[e.jsxs(Fo,{className:"mb-4",children:[e.jsx(Ke,{value:"runs",children:"Runs"}),e.jsx(Ke,{value:"hooks",children:"Hooks"}),m&&e.jsx(Ke,{value:"workflows",children:"Workflows"})]}),e.jsx(Ge,{value:"runs",children:e.jsx(qe,{title:"Failed to load workflow runs",children:e.jsx(vr,{onRunClick:p})})}),e.jsx(Ge,{value:"hooks",children:e.jsx(qe,{title:"Failed to load hooks",children:e.jsx(wn,{onHookClick:x,selectedHookId:f})})}),m&&e.jsx(Ge,{value:"workflows",children:e.jsx(qe,{title:"Failed to load workflow graph data",children:e.jsx(Wr,{})})})]})})});export{qr as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-600:oklch(59.2% .249 .584);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{overscroll-behavior:none;background-color:var(--background);color:var(--foreground)}html{overscroll-behavior:none}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!absolute{position:absolute!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.\!top-2{top:calc(var(--spacing)*2)!important}.-top-3{top:calc(var(--spacing)*-3)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-9{top:calc(var(--spacing)*9)}.top-\[50\%\]{top:50%}.\!right-2{right:calc(var(--spacing)*2)!important}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-6{bottom:calc(var(--spacing)*6)}.\!-left-1{left:calc(var(--spacing)*-1)!important}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-6{left:calc(var(--spacing)*6)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing)*-2)}.m-0{margin:calc(var(--spacing)*0)}.m-4{margin:calc(var(--spacing)*4)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2\.5{margin-inline:calc(var(--spacing)*2.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-1\.5{margin-block:calc(var(--spacing)*1.5)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3\.5{margin-block:calc(var(--spacing)*3.5)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-12{margin-left:calc(var(--spacing)*12)}.ml-16{margin-left:calc(var(--spacing)*16)}.ml-auto{margin-left:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!flex{display:flex!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.\!h-6{height:calc(var(--spacing)*6)!important}.\!h-\[6px\]{height:6px!important}.h-0\.5{height:calc(var(--spacing)*.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[28px\]{height:28px}.h-\[48px\]{height:48px}.h-\[56px\]{height:56px}.h-\[400px\]{height:400px}.h-\[calc\(100vh-97px\)\]{height:calc(100vh - 97px)}.h-\[calc\(100vh-180px\)\]{height:calc(100vh - 180px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[200px\]{max-height:200px}.max-h-\[calc\(100vh-200px\)\]{max-height:calc(100vh - 200px)}.max-h-\[calc\(100vh-280px\)\]{max-height:calc(100vh - 280px)}.max-h-\[calc\(100vh-400px\)\]{max-height:calc(100vh - 400px)}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[32px\]{min-height:32px}.min-h-\[500px\]{min-height:500px}.min-h-screen{min-height:100vh}.\!w-6{width:calc(var(--spacing)*6)!important}.\!w-\[6px\]{width:6px!important}.w-0{width:calc(var(--spacing)*0)}.w-1{width:calc(var(--spacing)*1)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-64{width:calc(var(--spacing)*64)}.w-\[10\%\]{width:10%}.w-\[20\%\]{width:20%}.w-\[35\%\]{width:35%}.w-\[38\%\]{width:38%}.w-\[55px\]{width:55px}.w-\[60px\]{width:60px}.w-\[72\%\]{width:72%}.w-\[75\%\]{width:75%}.w-\[75vw\]{width:75vw}.w-\[88\%\]{width:88%}.w-\[90\%\]{width:90%}.w-\[110px\]{width:110px}.w-\[140px\]{width:140px}.w-\[180px\]{width:180px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[70\%\]{max-width:70%}.max-w-\[75vw\]{max-width:75vw}.max-w-\[640px\]{max-width:640px}.max-w-\[800px\]{max-width:800px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xs{max-width:var(--container-xs)}.\!min-w-0{min-width:calc(var(--spacing)*0)!important}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-px{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\[1\.2fr_1\.2fr_0\.8fr_1fr_0\.5fr_40px\]{grid-template-columns:1.2fr 1.2fr .8fr 1fr .5fr 40px}.grid-cols-\[1fr_1\.5fr_0\.5fr\]{grid-template-columns:1fr 1.5fr .5fr}.grid-cols-\[1fr_1\.5fr_0\.8fr_1fr_1fr_40px\]{grid-template-columns:1fr 1.5fr .8fr 1fr 1fr 40px}.grid-cols-\[auto\,1fr\]{grid-template-columns:auto,1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.\!items-center{align-items:center!important}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.\!justify-center{justify-content:center!important}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-1{row-gap:calc(var(--spacing)*1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.\!rounded-md{border-radius:calc(var(--radius) - 2px)!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-bl-lg{border-bottom-left-radius:var(--radius)}.\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.border-gray-400{border-color:var(--color-gray-400)}.border-green-500{border-color:var(--color-green-500)}.border-input{border-color:var(--input)}.border-orange-500{border-color:var(--color-orange-500)}.border-primary{border-color:var(--primary)}.border-primary-foreground\/20{border-color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.border-primary-foreground\/20{border-color:color-mix(in oklab,var(--primary-foreground)20%,transparent)}}.border-purple-400{border-color:var(--color-purple-400)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-transparent{border-color:#0000}.border-yellow-500{border-color:var(--color-yellow-500)}.\!bg-\[var\(--ds-background-100\)\]{background-color:var(--ds-background-100)!important}.\!bg-muted{background-color:var(--muted)!important}.\!bg-purple-500{background-color:var(--color-purple-500)!important}.\!bg-red-500{background-color:var(--color-red-500)!important}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-neutral-600{background-color:var(--color-neutral-600)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-purple-200{background-color:var(--color-purple-200)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-secondary{background-color:var(--secondary)}.bg-yellow-500{background-color:var(--color-yellow-500)}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-12{padding:calc(var(--spacing)*12)}.p-\[3px\]{padding:3px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-9{padding-top:calc(var(--spacing)*9)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[var\(--ds-gray-800\)\]{color:var(--ds-gray-800)!important}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-pink-600{color:var(--color-pink-600)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-600{color:var(--color-purple-600)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-900{color:var(--color-red-900)}.text-secondary-foreground{color:var(--secondary-foreground)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/copy\:opacity-100:is(:where(.group\/copy):hover *),.group-hover\/payload\:opacity-100:is(:where(.group\/payload):hover *){opacity:1}}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border)}.group-\[\.toaster\]\:border-destructive:is(:where(.group).toaster *){border-color:var(--destructive)}.group-\[\.toaster\]\:border-green-600:is(:where(.group).toaster *){border-color:var(--color-green-600)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}.group-\[\.toaster\]\:bg-destructive:is(:where(.group).toaster *){background-color:var(--destructive)}.group-\[\.toaster\]\:bg-green-600:is(:where(.group).toaster *){background-color:var(--color-green-600)}.group-\[\.toaster\]\:text-destructive-foreground:is(:where(.group).toaster *){color:var(--destructive-foreground)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.group-\[\.toaster\]\:text-white:is(:where(.group).toaster *){color:var(--color-white)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.first-letter\:uppercase:first-letter{text-transform:uppercase}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}@media(hover:hover){.hover\:\!bg-\[var\(--ds-gray-alpha-200\)\]:hover{background-color:var(--ds-gray-alpha-200)!important}.hover\:\!bg-\[var\(--ds-red-200\)\]:hover{background-color:var(--ds-red-200)!important}.hover\:bg-\[var\(--ds-gray-alpha-100\)\]:hover{background-color:var(--ds-gray-alpha-100)}.hover\:bg-\[var\(--ds-gray-alpha-200\)\]:hover{background-color:var(--ds-gray-alpha-200)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background\/50:hover{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/50:hover{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.hover\:bg-blue-400\/50:hover{background-color:#54a2ff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-400\/50:hover{background-color:color-mix(in oklab,var(--color-blue-400)50%,transparent)}}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary-foreground\/10:hover{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary-foreground\/10:hover{background-color:color-mix(in oklab,var(--primary-foreground)10%,transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary-foreground:hover{color:var(--primary-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:\!scale-95:active{--tw-scale-x:95%!important;--tw-scale-y:95%!important;--tw-scale-z:95%!important;scale:var(--tw-scale-x)var(--tw-scale-y)!important}.active\:\!bg-\[var\(--ds-gray-alpha-300\)\]:active{background-color:var(--ds-gray-alpha-300)!important}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=indeterminate\]\:bg-primary[data-state=indeterminate]{background-color:var(--primary)}.data-\[state\=indeterminate\]\:text-primary-foreground[data-state=indeterminate]{color:var(--primary-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:max-w-\[75vw\]{max-width:75vw}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing)*2.5)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:w-2\/3{width:66.6667%}}@media(min-width:64rem){.lg\:w-1\/2{width:50%}}@media(prefers-color-scheme:dark){.dark\:border-destructive{border-color:var(--destructive)}.dark\:border-gray-500{border-color:var(--color-gray-500)}.dark\:border-purple-600{border-color:var(--color-purple-600)}.dark\:border-red-700{border-color:var(--color-red-700)}.dark\:bg-blue-400{background-color:var(--color-blue-400)}.dark\:bg-gray-400{background-color:var(--color-gray-400)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-green-400{background-color:var(--color-green-400)}.dark\:bg-neutral-400{background-color:var(--color-neutral-400)}.dark\:bg-purple-900\/50{background-color:#59168b80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/50{background-color:color-mix(in oklab,var(--color-purple-900)50%,transparent)}}.dark\:bg-red-400{background-color:var(--color-red-400)}.dark\:bg-red-950\/20{background-color:#46080933}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-950\/20{background-color:color-mix(in oklab,var(--color-red-950)20%,transparent)}}.dark\:bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-orange-300{color:var(--color-orange-300)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-pink-400{color:var(--color-pink-400)}.dark\:text-purple-200{color:var(--color-purple-200)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-red-300{color:var(--color-red-300)}.dark\:text-red-400{color:var(--color-red-400)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:calc(var(--spacing)*0)}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:calc(var(--spacing)*0)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\]\:text-red-900>svg{color:var(--color-red-900)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@font-face{font-family:Geist Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/Geist-Variable-CrgPqtmy.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/GeistMono-Variable-BNLlm6Cd.woff2)format("woff2")}:root{--font-geist-sans:"Geist Sans",ui-sans-serif,system-ui,sans-serif;--font-geist-mono:"Geist Mono",ui-monospace,monospace;--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--node-bg-step:#dcfce7;--node-bg-start:#dbeafe;--node-bg-primitive:#ffedd5;--node-bg-agent:#fce7f3;--node-bg-tool:#f3e8ff;--node-bg-conditional:#fee2e2;--ds-background-100:#fff;--ds-background-200:#fafafa;--ds-gray-100:#fafafa;--ds-gray-200:#f5f5f5;--ds-gray-300:#e5e5e5;--ds-gray-400:#d4d4d4;--ds-gray-500:#a3a3a3;--ds-gray-600:#737373;--ds-gray-700:#525252;--ds-gray-800:#404040;--ds-gray-900:#171717;--ds-gray-1000:#000;--ds-gray-alpha-100:#0000000d;--ds-gray-alpha-200:#00000015;--ds-gray-alpha-400:#00000014;--ds-gray-alpha-700:#00000070;--ds-gray-alpha-1000:#000000e8;--ds-blue-100:#e0f2fe;--ds-blue-200:#bae6fd;--ds-blue-300:#7dd3fc;--ds-blue-400:#38bdf8;--ds-blue-500:#0ea5e9;--ds-blue-600:#0284c7;--ds-blue-700:#0369a1;--ds-blue-800:#075985;--ds-blue-900:#0c4a6e;--ds-blue-1000:#082f49;--ds-red-100:#fee2e2;--ds-red-200:#fecaca;--ds-red-300:#fca5a5;--ds-red-400:#f87171;--ds-red-500:#ef4444;--ds-red-600:#dc2626;--ds-red-700:#b91c1c;--ds-red-800:#991b1b;--ds-red-900:#7f1d1d;--ds-red-1000:#450a0a;--ds-amber-100:#fef3c7;--ds-amber-200:#fde68a;--ds-amber-300:#fcd34d;--ds-amber-400:#fbbf24;--ds-amber-500:#f59e0b;--ds-amber-600:#d97706;--ds-amber-700:#b45309;--ds-amber-800:#92400e;--ds-amber-900:#78350f;--ds-amber-1000:#451a03;--ds-green-100:#dcfce7;--ds-green-200:#bbf7d0;--ds-green-300:#86efac;--ds-green-400:#4ade80;--ds-green-500:#22c55e;--ds-green-600:#16a34a;--ds-green-700:#15803d;--ds-green-800:#166534;--ds-green-900:#14532d;--ds-green-1000:#052e16;--ds-purple-100:#f3e8ff;--ds-purple-200:#e9d5ff;--ds-purple-300:#d8b4fe;--ds-purple-400:#c084fc;--ds-purple-500:#a855f7;--ds-purple-600:#9333ea;--ds-purple-700:#7e22ce;--ds-purple-800:#6b21a8;--ds-purple-900:#581c87;--ds-purple-1000:#3b0764;--ds-pink-200:#fce7f3;--ds-pink-400:#f9a8d4;--ds-pink-500:#f472b6;--ds-pink-900:#831843;--ds-teal-100:#ccfbf1;--ds-teal-200:#99f6e4;--ds-teal-300:#5eead4;--ds-teal-400:#2dd4bf;--ds-teal-500:#14b8a6;--ds-teal-600:#0d9488;--ds-teal-700:#0f766e;--ds-teal-800:#115e59;--ds-teal-900:#134e4a;--ds-teal-1000:#042f2e;--ds-shadow-small:0 0 0 1px #00000012,0 2px 4px #0000000d,0 12px 24px #0000000d;--ds-shadow-medium:0 0 0 1px #00000012,0 4px 8px #00000012,0 24px 48px #00000012;--ds-shadow-large:0 0 0 1px #00000012,0 8px 16px #0000001a,0 48px 96px #0000001a;--ds-shadow-menu:var(--ds-shadow-medium);--geist-background:var(--ds-background-100);--accents-2:var(--ds-gray-300);--accents-5:var(--ds-gray-700);--accents-7:var(--ds-gray-900)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0);--node-bg-step:#14532d;--node-bg-start:#1e3a5f;--node-bg-primitive:#7c2d12;--node-bg-agent:#831843;--node-bg-tool:#581c87;--node-bg-conditional:#7f1d1d;--ds-background-100:#000;--ds-background-200:#0a0a0a;--ds-gray-100:#111;--ds-gray-200:#171717;--ds-gray-300:#292929;--ds-gray-400:#404040;--ds-gray-500:#737373;--ds-gray-600:#a3a3a3;--ds-gray-700:#d4d4d4;--ds-gray-800:#e5e5e5;--ds-gray-900:#f5f5f5;--ds-gray-1000:#fff;--ds-gray-alpha-100:#ffffff0f;--ds-gray-alpha-200:#ffffff17;--ds-gray-alpha-400:#ffffff24;--ds-gray-alpha-700:#ffffff73;--ds-gray-alpha-1000:#ffffffeb;--ds-blue-100:#082f49;--ds-blue-200:#0c4a6e;--ds-blue-300:#075985;--ds-blue-400:#0369a1;--ds-blue-500:#0284c7;--ds-blue-600:#0ea5e9;--ds-blue-700:#38bdf8;--ds-blue-800:#7dd3fc;--ds-blue-900:#bae6fd;--ds-blue-1000:#e0f2fe;--ds-red-100:#450a0a;--ds-red-200:#7f1d1d;--ds-red-300:#991b1b;--ds-red-400:#b91c1c;--ds-red-500:#dc2626;--ds-red-600:#ef4444;--ds-red-700:#f87171;--ds-red-800:#fca5a5;--ds-red-900:#fecaca;--ds-red-1000:#fee2e2;--ds-amber-100:#451a03;--ds-amber-200:#78350f;--ds-amber-300:#92400e;--ds-amber-400:#b45309;--ds-amber-500:#d97706;--ds-amber-600:#f59e0b;--ds-amber-700:#fbbf24;--ds-amber-800:#fcd34d;--ds-amber-900:#fde68a;--ds-amber-1000:#fef3c7;--ds-green-100:#052e16;--ds-green-200:#14532d;--ds-green-300:#166534;--ds-green-400:#15803d;--ds-green-500:#16a34a;--ds-green-600:#22c55e;--ds-green-700:#4ade80;--ds-green-800:#86efac;--ds-green-900:#bbf7d0;--ds-green-1000:#dcfce7;--ds-purple-100:#3b0764;--ds-purple-200:#581c87;--ds-purple-300:#6b21a8;--ds-purple-400:#7e22ce;--ds-purple-500:#9333ea;--ds-purple-600:#a855f7;--ds-purple-700:#c084fc;--ds-purple-800:#d8b4fe;--ds-purple-900:#e9d5ff;--ds-purple-1000:#f3e8ff;--ds-pink-200:#831843;--ds-pink-400:#9d174d;--ds-pink-500:#be185d;--ds-pink-900:#fbcfe8;--ds-teal-100:#042f2e;--ds-teal-200:#134e4a;--ds-teal-300:#115e59;--ds-teal-400:#0f766e;--ds-teal-500:#0d9488;--ds-teal-600:#14b8a6;--ds-teal-700:#2dd4bf;--ds-teal-800:#5eead4;--ds-teal-900:#99f6e4;--ds-teal-1000:#ccfbf1;--ds-shadow-small:0 0 0 1px #ffffff12,0 2px 4px #0000004d,0 12px 24px #0000004d;--ds-shadow-medium:0 0 0 1px #ffffff12,0 4px 8px #0006,0 24px 48px #0006;--ds-shadow-large:0 0 0 1px #ffffff12,0 8px 16px #00000080,0 48px 96px #00000080;--ds-shadow-menu:var(--ds-shadow-medium);--geist-background:var(--ds-background-100);--accents-2:var(--ds-gray-300);--accents-5:var(--ds-gray-700);--accents-7:var(--ds-gray-900)}@media(prefers-color-scheme:dark){:root:not(.light){--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0);--node-bg-step:#14532d;--node-bg-start:#1e3a5f;--node-bg-primitive:#7c2d12;--node-bg-agent:#831843;--node-bg-tool:#581c87;--node-bg-conditional:#7f1d1d;--ds-background-100:#000;--ds-background-200:#0a0a0a;--ds-gray-100:#111;--ds-gray-200:#171717;--ds-gray-300:#292929;--ds-gray-400:#404040;--ds-gray-500:#737373;--ds-gray-600:#a3a3a3;--ds-gray-700:#d4d4d4;--ds-gray-800:#e5e5e5;--ds-gray-900:#f5f5f5;--ds-gray-1000:#fff;--ds-gray-alpha-100:#ffffff0f;--ds-gray-alpha-200:#ffffff17;--ds-gray-alpha-400:#ffffff24;--ds-gray-alpha-700:#ffffff73;--ds-gray-alpha-1000:#ffffffeb;--ds-blue-100:#082f49;--ds-blue-200:#0c4a6e;--ds-blue-300:#075985;--ds-blue-400:#0369a1;--ds-blue-500:#0284c7;--ds-blue-600:#0ea5e9;--ds-blue-700:#38bdf8;--ds-blue-800:#7dd3fc;--ds-blue-900:#bae6fd;--ds-blue-1000:#e0f2fe;--ds-red-100:#450a0a;--ds-red-200:#7f1d1d;--ds-red-300:#991b1b;--ds-red-400:#b91c1c;--ds-red-500:#dc2626;--ds-red-600:#ef4444;--ds-red-700:#f87171;--ds-red-800:#fca5a5;--ds-red-900:#fecaca;--ds-red-1000:#fee2e2;--ds-amber-100:#451a03;--ds-amber-200:#78350f;--ds-amber-300:#92400e;--ds-amber-400:#b45309;--ds-amber-500:#d97706;--ds-amber-600:#f59e0b;--ds-amber-700:#fbbf24;--ds-amber-800:#fcd34d;--ds-amber-900:#fde68a;--ds-amber-1000:#fef3c7;--ds-green-100:#052e16;--ds-green-200:#14532d;--ds-green-300:#166534;--ds-green-400:#15803d;--ds-green-500:#16a34a;--ds-green-600:#22c55e;--ds-green-700:#4ade80;--ds-green-800:#86efac;--ds-green-900:#bbf7d0;--ds-green-1000:#dcfce7;--ds-purple-100:#3b0764;--ds-purple-200:#581c87;--ds-purple-300:#6b21a8;--ds-purple-400:#7e22ce;--ds-purple-500:#9333ea;--ds-purple-600:#a855f7;--ds-purple-700:#c084fc;--ds-purple-800:#d8b4fe;--ds-purple-900:#e9d5ff;--ds-purple-1000:#f3e8ff;--ds-pink-200:#831843;--ds-pink-400:#9d174d;--ds-pink-500:#be185d;--ds-pink-900:#fbcfe8;--ds-teal-100:#042f2e;--ds-teal-200:#134e4a;--ds-teal-300:#115e59;--ds-teal-400:#0f766e;--ds-teal-500:#0d9488;--ds-teal-600:#14b8a6;--ds-teal-700:#2dd4bf;--ds-teal-800:#5eead4;--ds-teal-900:#99f6e4;--ds-teal-1000:#ccfbf1;--ds-shadow-small:0 0 0 1px #ffffff12,0 2px 4px #0000004d,0 12px 24px #0000004d;--ds-shadow-medium:0 0 0 1px #ffffff12,0 4px 8px #0006,0 24px 48px #0006;--ds-shadow-large:0 0 0 1px #ffffff12,0 8px 16px #00000080,0 48px 96px #00000080;--ds-shadow-menu:var(--ds-shadow-medium);--geist-background:var(--ds-background-100);--accents-2:var(--ds-gray-300);--accents-5:var(--ds-gray-700);--accents-7:var(--ds-gray-900)}}@keyframes gradient{0%,to{background-position:0%}50%{background-position:100%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|