From ef6f1c1b97ee0d7e78e0e6ffec206a1f10ecd4b2 Mon Sep 17 00:00:00 2001 From: Snow Lee Date: Tue, 4 Aug 2026 18:10:21 -0700 Subject: [PATCH] fix(hub): the Dashboard can filter by shared reads, not just human and agent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The page named three read types and let you filter two. The missing chip was share — traffic from public links an owner minted, which is the category they most want to isolate. Everything but the lens already spoke "share": heatTotal, heatText and hotPathSplit all carry it, and /heat returns it per path. So widening the union makes the treemap, the scatter and the Hot path arithmetic correct for free. The one place that decided anything was the Hot path bar, which branched agent-vs-human and would have painted shared reads in somebody else's colour; it now looks the pure lens up in a table instead. The e2e seed had no share reads at all, so the lens could not be asserted. It gains one on notes/deep/topic.md — a path no other assertion counts, so nothing else's totals move. BEA-62 --- internal/webapp/e2e_serve_test.go | 4 ++ .../webapp/frontend/e2e/dashboard.spec.ts | 62 +++++++++++++++++++ .../frontend/src/components/Insights.tsx | 30 ++++++--- .../{index-BMdHuKLj.js => index-C09zb-Gt.js} | 4 +- .../webapp/static/assets/index-CyrB689H.css | 1 + .../webapp/static/assets/index-DKdbhP6i.css | 1 - internal/webapp/static/index.html | 4 +- 7 files changed, 92 insertions(+), 14 deletions(-) rename internal/webapp/static/assets/{index-BMdHuKLj.js => index-C09zb-Gt.js} (95%) create mode 100644 internal/webapp/static/assets/index-CyrB689H.css delete mode 100644 internal/webapp/static/assets/index-DKdbhP6i.css diff --git a/internal/webapp/e2e_serve_test.go b/internal/webapp/e2e_serve_test.go index c89b673..afcac0f 100644 --- a/internal/webapp/e2e_serve_test.go +++ b/internal/webapp/e2e_serve_test.go @@ -288,6 +288,10 @@ func seedE2E(t *testing.T, state, prefix, projectID string) { // Read history for the file the seed deletes above: heat rows outlive // their file, and the Dashboard must say so rather than drop them. {"scratch.md", ReadKindHuman, "alice@x.io", 4}, + // The only share reads in the seed, and deliberately on a path no + // other assertion counts: the Dashboard's share lens has to isolate + // exactly one file, which it can't prove if the file has other reads. + {"notes/deep/topic.md", ReadKindShare, "tok-e2e/203.0.113.7", 3}, } { stats = append(stats, ReadStat{Project: projectID, Path: rd.path, Day: day, Kind: rd.kind, Actor: rd.actor, Count: rd.n, Last: now}) diff --git a/internal/webapp/frontend/e2e/dashboard.spec.ts b/internal/webapp/frontend/e2e/dashboard.spec.ts index 8e36ca4..930cc56 100644 --- a/internal/webapp/frontend/e2e/dashboard.spec.ts +++ b/internal/webapp/frontend/e2e/dashboard.spec.ts @@ -118,6 +118,68 @@ test("the orphan footnote follows the lens", async ({ page }) => { await expect(page.locator(".in-hp-row", { hasText: "scratch.md" })).toHaveCount(1); }); +// BEA-62: the page named three read types and filtered two. Share reads are +// the ones an owner most wants to isolate — traffic from links they minted. +test("the shared lens isolates share-link reads and paints them share-colored", async ({ + page, +}) => { + await login(page); + const pid = await wikiId(page); + await page.goto(`/${pid}/dashboard`); + await expect(page.locator(".in-lens-btn")).toHaveText([ + "All reads", + "Human reads", + "Agent reads", + "Shared reads", + ]); + + await page.getByRole("button", { name: "Shared reads" }).click(); + // notes/deep/topic.md carries the seed's only share reads. Other specs mint + // and open their own links against this shared hub, so assert the filter's + // invariant — share reads only — not a row count that moves with test order. + const topic = page.locator(".in-hp-row", { hasText: "notes/deep/topic.md" }); + await expect(topic).toHaveCount(1); + await expect(topic.locator(".in-hp-count")).toHaveText("3"); + + // The bar is the whole point: under a share lens the reads must not be + // painted as somebody else's traffic. + await expect(topic.locator(".in-hp-share")).not.toHaveCSS("width", "0px"); + for (const cls of [".in-hp-agent", ".in-hp-human"]) { + await expect(topic.locator(cls)).toHaveCSS("width", "0px"); + } + await expect(page.locator(".in-sw.share")).toBeVisible(); + + // Files read only by people or agents drop out entirely — the lens filters, + // it does not merely re-sort. Neither path is shared by any spec. + for (const p of ["archive/retired-spec.md", "scratch.md"]) { + await expect(page.locator(".in-hp-row", { hasText: p })).toHaveCount(0); + } + + // "All reads" still means human + agent + share. + await page.getByRole("button", { name: "All reads" }).click(); + await expect(page.locator(".in-hp-row", { hasText: "archive/retired-spec.md" })).toHaveCount(1); + await expect(topic).toHaveCount(1); +}); + +// The empty scope must stay empty: falling back to every file would be worse +// than showing nothing, because the number would silently mean something else. +test("a project with no share reads says so under the shared lens", async ({ page }) => { + await login(page); + const made = await (await page.request.post("/api/projects", { data: { name: "noshare" } })).json(); + try { + await page.request.put( + `/api/p/${made.project.id}/upload/content?path=a.md`, + { data: "# A\n", headers: { "content-type": "text/markdown" } }, + ); + await page.goto(`/${made.project.id}/dashboard`); + await page.getByRole("button", { name: "Shared reads" }).click(); + await expect(page.locator(".dl-empty")).toContainText("No reads in the window yet."); + await expect(page.locator(".in-hp-row", { hasText: "a.md" })).toHaveCount(0); + } finally { + await page.request.delete("/api/projects/" + made.project.id); + } +}); + // A brand-new project used to draw ~840px of empty frames with the quadrant // labels floating over nothing — the first screen every project shows. // Created at runtime and deleted: a permanent fixture sorting before "wiki" diff --git a/internal/webapp/frontend/src/components/Insights.tsx b/internal/webapp/frontend/src/components/Insights.tsx index a3ffcc9..a2f27f9 100644 --- a/internal/webapp/frontend/src/components/Insights.tsx +++ b/internal/webapp/frontend/src/components/Insights.tsx @@ -52,7 +52,24 @@ interface Pt { orphan?: boolean; } -type Lens = "all" | "human" | "agent"; +type Lens = "all" | "human" | "agent" | "share"; + +const LENS_ORDER = ["all", "human", "agent", "share"] as const; +const LENS_LABEL: Record = { + all: "All reads", + human: "Human reads", + agent: "Agent reads", + share: "Shared reads", +}; + +/* A pure lens paints one color by definition — its own. Without a share + entry the bar would fall back to the real split and show share-only reads + in somebody else's color. */ +const PURE: Partial> = { + agent: { agent: 1, human: 0, share: 0 }, + human: { agent: 0, human: 1, share: 0 }, + share: { agent: 0, human: 0, share: 1 }, +}; export function Insights(props: { flatFiles: Node[]; @@ -175,13 +192,13 @@ export function Insights(props: { : "Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}

- {(["all", "human", "agent"] as const).map((l) => ( + {LENS_ORDER.map((l) => ( ))}
@@ -569,12 +586,7 @@ function HotPath({
{top.map((p) => { // Split of the lens reads: pure lenses are single-color by definition. - const f = - lens === "agent" - ? { agent: 1, human: 0, share: 0 } - : lens === "human" - ? { agent: 0, human: 1, share: 0 } - : hotPathSplit(p); + const f = PURE[lens] ?? hotPathSplit(p); const pct = (p.reads / max) * 100; // The file view would land on the not-found page for a path that // left the project; History still has the content. diff --git a/internal/webapp/static/assets/index-BMdHuKLj.js b/internal/webapp/static/assets/index-C09zb-Gt.js similarity index 95% rename from internal/webapp/static/assets/index-BMdHuKLj.js rename to internal/webapp/static/assets/index-C09zb-Gt.js index 4be2548..fd5e997 100644 --- a/internal/webapp/static/assets/index-BMdHuKLj.js +++ b/internal/webapp/static/assets/index-C09zb-Gt.js @@ -46,7 +46,7 @@ Error generating stack: `+c.message+` `)},Pb=function(){var e=parseInt(document.body.getAttribute(ko)||"0",10);return isFinite(e)?e:0},_T=function(){w.useEffect(function(){return document.body.setAttribute(ko,(Pb()+1).toString()),function(){var e=Pb()-1;e<=0?document.body.removeAttribute(ko):document.body.setAttribute(ko,e.toString())}},[])},CT=function(e){var n=e.noRelative,r=e.noImportant,i=e.gapMode,s=i===void 0?"margin":i;_T();var l=w.useMemo(function(){return xT(s)},[s]);return w.createElement(wT,{styles:ST(l,!n,s,r?"":"!important")})},bm=!1;if(typeof window<"u")try{var Vc=Object.defineProperty({},"passive",{get:function(){return bm=!0,!0}});window.addEventListener("test",Vc,Vc),window.removeEventListener("test",Vc,Vc)}catch{bm=!1}var Co=bm?{passive:!1}:!1,ET=function(e){return e.tagName==="TEXTAREA"},qw=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!ET(e)&&r[n]==="visible")},RT=function(e){return qw(e,"overflowY")},jT=function(e){return qw(e,"overflowX")},Fb=function(e,n){var r=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=Gw(e,i);if(s){var l=Zw(e,i),u=l[1],d=l[2];if(u>d)return!0}i=i.parentNode}while(i&&i!==r.body);return!1},TT=function(e){var n=e.scrollTop,r=e.scrollHeight,i=e.clientHeight;return[n,r,i]},OT=function(e){var n=e.scrollLeft,r=e.scrollWidth,i=e.clientWidth;return[n,r,i]},Gw=function(e,n){return e==="v"?RT(n):jT(n)},Zw=function(e,n){return e==="v"?TT(n):OT(n)},AT=function(e,n){return e==="h"&&n==="rtl"?-1:1},MT=function(e,n,r,i,s){var l=AT(e,window.getComputedStyle(n).direction),u=l*i,d=r.target,m=n.contains(d),p=!1,y=u>0,v=0,b=0;do{if(!d)break;var x=Zw(e,d),S=x[0],C=x[1],E=x[2],R=C-E-l*S;(S||R)&&Gw(e,d)&&(v+=R,b+=S);var O=d.parentNode;d=O&&O.nodeType===Node.DOCUMENT_FRAGMENT_NODE?O.host:O}while(!m&&d!==document.body||m&&(n.contains(d)||n===d));return(y&&Math.abs(v)<1||!y&&Math.abs(b)<1)&&(p=!0),p},Uc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Vb=function(e){return[e.deltaX,e.deltaY]},Ub=function(e){return e&&"current"in e?e.current:e},NT=function(e,n){return e[0]===n[0]&&e[1]===n[1]},DT=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},zT=0,Eo=[];function kT(e){var n=w.useRef([]),r=w.useRef([0,0]),i=w.useRef(),s=w.useState(zT++)[0],l=w.useState(Bw)[0],u=w.useRef(e);w.useEffect(function(){u.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var C=nT([e.lockRef.current],(e.shards||[]).map(Ub),!0).filter(Boolean);return C.forEach(function(E){return E.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),C.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var d=w.useCallback(function(C,E){if("touches"in C&&C.touches.length===2||C.type==="wheel"&&C.ctrlKey)return!u.current.allowPinchZoom;var R=Uc(C),O=r.current,T="deltaX"in C?C.deltaX:O[0]-R[0],z="deltaY"in C?C.deltaY:O[1]-R[1],I,F=C.target,V=Math.abs(T)>Math.abs(z)?"h":"v";if("touches"in C&&V==="h"&&F.type==="range")return!1;var U=window.getSelection(),pe=U&&U.anchorNode,ge=pe?pe===F||pe.contains(F):!1;if(ge)return!1;var fe=Fb(V,F);if(!fe)return!0;if(fe?I=V:(I=V==="v"?"h":"v",fe=Fb(V,F)),!fe)return!1;if(!i.current&&"changedTouches"in C&&(T||z)&&(i.current=I),!I)return!0;var Q=i.current||I;return MT(Q,E,C,Q==="h"?T:z)},[]),m=w.useCallback(function(C){var E=C;if(!(!Eo.length||Eo[Eo.length-1]!==l)){var R="deltaY"in E?Vb(E):Uc(E),O=n.current.filter(function(I){return I.name===E.type&&(I.target===E.target||E.target===I.shadowParent)&&NT(I.delta,R)})[0];if(O&&O.should){E.cancelable&&E.preventDefault();return}if(!O){var T=(u.current.shards||[]).map(Ub).filter(Boolean).filter(function(I){return I.contains(E.target)}),z=T.length>0?d(E,T[0]):!u.current.noIsolation;z&&E.cancelable&&E.preventDefault()}}},[]),p=w.useCallback(function(C,E,R,O){var T={name:C,delta:E,target:R,should:O,shadowParent:LT(R)};n.current.push(T),setTimeout(function(){n.current=n.current.filter(function(z){return z!==T})},1)},[]),y=w.useCallback(function(C){r.current=Uc(C),i.current=void 0},[]),v=w.useCallback(function(C){p(C.type,Vb(C),C.target,d(C,e.lockRef.current))},[]),b=w.useCallback(function(C){p(C.type,Uc(C),C.target,d(C,e.lockRef.current))},[]);w.useEffect(function(){return Eo.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",m,Co),document.addEventListener("touchmove",m,Co),document.addEventListener("touchstart",y,Co),function(){Eo=Eo.filter(function(C){return C!==l}),document.removeEventListener("wheel",m,Co),document.removeEventListener("touchmove",m,Co),document.removeEventListener("touchstart",y,Co)}},[]);var x=e.removeScrollBar,S=e.inert;return w.createElement(w.Fragment,null,S?w.createElement(l,{styles:DT(s)}):null,x?w.createElement(CT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function LT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const $T=dT(Hw,kT);var Du=w.forwardRef(function(e,n){return w.createElement(Nu,Tr({},e,{ref:n,sideCar:$T}))});Du.classNames=Nu.classNames;var IT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Ro=new WeakMap,Hc=new WeakMap,Bc={},$h=0,Kw=function(e){return e&&(e.host||Kw(e.parentNode))},PT=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Kw(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},FT=function(e,n,r,i){var s=PT(n,Array.isArray(e)?e:[e]);Bc[r]||(Bc[r]=new WeakMap);var l=Bc[r],u=[],d=new Set,m=new Set(s),p=function(v){!v||d.has(v)||(d.add(v),p(v.parentNode))};s.forEach(p);var y=function(v){!v||m.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(i),S=x!==null&&x!=="false",C=(Ro.get(b)||0)+1,E=(l.get(b)||0)+1;Ro.set(b,C),l.set(b,E),u.push(b),C===1&&S&&Hc.set(b,!0),E===1&&b.setAttribute(r,"true"),S||b.setAttribute(i,"true")}catch(R){console.error("aria-hidden: cannot operate on ",b,R)}})};return y(n),d.clear(),$h++,function(){u.forEach(function(v){var b=Ro.get(v)-1,x=l.get(v)-1;Ro.set(v,b),l.set(v,x),b||(Hc.has(v)||v.removeAttribute(i),Hc.delete(v)),x||v.removeAttribute(r)}),$h--,$h||(Ro=new WeakMap,Ro=new WeakMap,Hc=new WeakMap,Bc={})}},fp=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),s=IT(e);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),FT(i,s,r,"aria-hidden")):function(){return null}},zu="Dialog",[Yw]=Ga(zu),[VT,br]=Yw(zu),hp=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,d=w.useRef(null),m=w.useRef(null),[p,y]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:zu});return f.jsx(VT,{scope:n,triggerRef:d,contentRef:m,contentId:hn(),titleId:hn(),descriptionId:hn(),open:p,onOpenChange:y,onOpenToggle:w.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};hp.displayName=zu;var Qw="DialogTrigger",UT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Qw,r),l=nt(n,s.triggerRef);return f.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":yp(s.open),...i,ref:l,onClick:Re(e.onClick,s.onOpenToggle)})});UT.displayName=Qw;var mp="DialogPortal",[HT,Xw]=Yw(mp,{forceMount:void 0}),pp=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:s}=e,l=br(mp,n);return f.jsx(HT,{scope:n,forceMount:r,children:w.Children.map(i,u=>f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:u})}))})};pp.displayName=mp;var fu="DialogOverlay",gp=w.forwardRef((e,n)=>{const r=Xw(fu,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(fu,e.__scopeDialog);return l.modal?f.jsx(yr,{present:i||l.open,children:f.jsx(qT,{...s,ref:n})}):null});gp.displayName=fu;var BT=_i("DialogOverlay.RemoveScroll"),qT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(fu,r),l=Bj(),u=nt(n,l);return f.jsx(Du,{as:BT,allowPinchZoom:!0,shards:[s.contentRef],children:f.jsx($e.div,{"data-state":yp(s.open),...i,ref:u,style:{pointerEvents:"auto",...i.style}})})}),Uo="DialogContent",vp=w.forwardRef((e,n)=>{const r=Xw(Uo,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(Uo,e.__scopeDialog);return f.jsx(yr,{present:i||l.open,children:l.modal?f.jsx(GT,{...s,ref:n}):f.jsx(ZT,{...s,ref:n})})});vp.displayName=Uo;var GT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=w.useRef(null),s=nt(n,r.contentRef,i);return w.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(Jw,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Re(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:Re(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault())})}),ZT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=w.useRef(!1),s=w.useRef(!1);return f.jsx(Jw,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(i.current||r.triggerRef.current?.focus(),l.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),Jw=w.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:l,...u}=e,d=br(Uo,r);return dp(),f.jsx(f.Fragment,{children:f.jsx(Mu,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:l,children:f.jsx(ml,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":yp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),Ww="DialogTitle",eS=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Ww,r);return f.jsx($e.h2,{id:s.titleId,...i,ref:n})});eS.displayName=Ww;var tS="DialogDescription",KT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(tS,r);return f.jsx($e.p,{id:s.descriptionId,...i,ref:n})});KT.displayName=tS;var nS="DialogClose",rS=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(nS,r);return f.jsx($e.button,{type:"button",...i,ref:n,onClick:Re(e.onClick,()=>s.onOpenChange(!1))})});rS.displayName=nS;function yp(e){return e?"open":"closed"}function YT(e){const n=w.useRef({value:e,previous:e});return w.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function QT(e){const[n,r]=w.useState(void 0);return Gt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const l=s[0];let u,d;if("borderBoxSize"in l){const m=l.borderBoxSize,p=Array.isArray(m)?m[0]:m;u=p.inlineSize,d=p.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}const XT=["top","right","bottom","left"],Va=Math.min,na=Math.max,hu=Math.round,qc=Math.floor,ra=e=>({x:e,y:e}),JT={left:"right",right:"left",bottom:"top",top:"bottom"};function aS(e,n,r){return na(e,Va(n,r))}function aa(e,n){return typeof e=="function"?e(n):e}function Ua(e){return e.split("-")[0]}function qo(e){return e.split("-")[1]}function bp(e){return e==="x"?"y":"x"}function xp(e){return e==="y"?"height":"width"}function Or(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function wp(e){return bp(Or(e))}function WT(e,n,r){r===void 0&&(r=!1);const i=qo(e),s=wp(e),l=xp(s);let u=s==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=mu(u)),[u,mu(u)]}function eO(e){const n=mu(e);return[xm(e),n,xm(n)]}function xm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Hb=["left","right"],Bb=["right","left"],tO=["top","bottom"],nO=["bottom","top"];function rO(e,n,r){switch(e){case"top":case"bottom":return r?n?Bb:Hb:n?Hb:Bb;case"left":case"right":return n?tO:nO;default:return[]}}function aO(e,n,r,i){const s=qo(e);let l=rO(Ua(e),r==="start",i);return s&&(l=l.map(u=>u+"-"+s),n&&(l=l.concat(l.map(xm)))),l}function mu(e){const n=Ua(e);return JT[n]+e.slice(n.length)}function iO(e){var n,r,i,s;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(i=e.bottom)!=null?i:0,left:(s=e.left)!=null?s:0}}function iS(e){return typeof e!="number"?iO(e):{top:e,right:e,bottom:e,left:e}}function pu(e){const{x:n,y:r,width:i,height:s}=e;return{width:i,height:s,top:r,left:n,right:n+i,bottom:r+s,x:n,y:r}}function qb(e,n,r){let{reference:i,floating:s}=e;const l=Or(n),u=wp(n),d=xp(u),m=Ua(n),p=l==="y",y=i.x+i.width/2-s.width/2,v=i.y+i.height/2-s.height/2,b=i[d]/2-s[d]/2;let x;switch(m){case"top":x={x:y,y:i.y-s.height};break;case"bottom":x={x:y,y:i.y+i.height};break;case"right":x={x:i.x+i.width,y:v};break;case"left":x={x:i.x-s.width,y:v};break;default:x={x:i.x,y:i.y}}const S=qo(n);return S&&(x[u]+=b*(S==="end"?1:-1)*(r&&p?-1:1)),x}async function oO(e,n){var r;n===void 0&&(n={});const{x:i,y:s,platform:l,rects:u,elements:d,strategy:m}=e,{boundary:p="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=aa(n,e),S=iS(x),E=d[b?v==="floating"?"reference":"floating":v],R=pu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:p,rootBoundary:y,strategy:m})),O=v==="floating"?{x:i,y:s,width:u.floating.width,height:u.floating.height}:u.reference,T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),z=await(l.isElement==null?void 0:l.isElement(T))&&await(l.getScale==null?void 0:l.getScale(T))||{x:1,y:1},I=pu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:O,offsetParent:T,strategy:m}):O);return{top:(R.top-I.top+S.top)/z.y,bottom:(I.bottom-R.bottom+S.bottom)/z.y,left:(R.left-I.left+S.left)/z.x,right:(I.right-R.right+S.right)/z.x}}const sO=50,lO=async(e,n,r)=>{const{placement:i="bottom",strategy:s="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:oO},m=await(u.isRTL==null?void 0:u.isRTL(n));let p=await u.getElementRects({reference:e,floating:n,strategy:s}),{x:y,y:v}=qb(p,i,m),b=i,x=0;const S={};for(let C=0;C({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:s,rects:l,platform:u,elements:d,middlewareData:m}=n,{element:p,padding:y=0}=aa(e,n)||{};if(p==null)return{};const v=iS(y),b={x:r,y:i},x=wp(s),S=xp(x),C=await u.getDimensions(p),E=x==="y",R=E?"top":"left",O=E?"bottom":"right",T=E?"clientHeight":"clientWidth",z=l.reference[S]+l.reference[x]-b[x]-l.floating[S],I=b[x]-l.reference[x],F=await(u.getOffsetParent==null?void 0:u.getOffsetParent(p));let V=F?F[T]:0;(!V||!await(u.isElement==null?void 0:u.isElement(F)))&&(V=d.floating[T]||l.floating[S]);const U=z/2-I/2,pe=V/2-C[S]/2-1,ge=Va(v[R],pe),fe=Va(v[O],pe),Q=V-C[S]-fe,le=V/2-C[S]/2+U,ue=aS(ge,le,Q),xe=!m.arrow&&qo(s)!=null&&le!==ue&&l.reference[S]/2-(leue<=0)){var fe,Q;const ue=(((fe=l.flip)==null?void 0:fe.index)||0)+1,xe=V[ue];if(xe&&(!(v==="alignment"?O!==Or(xe):!1)||ge.every(ae=>Or(ae.placement)===O?ae.overflows[0]>0:!0)))return{data:{index:ue,overflows:ge},reset:{placement:xe}};let N=(Q=ge.filter(q=>q.overflows[0]<=0).sort((q,ae)=>q.overflows[1]-ae.overflows[1])[0])==null?void 0:Q.placement;if(!N)switch(x){case"bestFit":{var le;const q=(le=ge.filter(ae=>{if(F){const te=Or(ae.placement);return te===O||te==="y"}return!0}).map(ae=>[ae.placement,ae.overflows.filter(te=>te>0).reduce((te,ne)=>te+ne,0)]).sort((ae,te)=>ae[1]-te[1])[0])==null?void 0:le[0];q&&(N=q);break}case"initialPlacement":N=d;break}if(s!==N)return{reset:{placement:N}}}return{}}}};function Gb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Zb(e){return XT.some(n=>e[n]>=0)}const dO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:i}=n,{strategy:s="referenceHidden",...l}=aa(e,n);switch(s){case"referenceHidden":{const u=await i.detectOverflow(n,{...l,elementContext:"reference"}),d=Gb(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Zb(d)}}}case"escaped":{const u=await i.detectOverflow(n,{...l,altBoundary:!0}),d=Gb(u,r.floating);return{data:{escapedOffsets:d,escaped:Zb(d)}}}default:return{}}}}},oS=new Set(["left","top"]);async function fO(e,n){const{placement:r,platform:i,elements:s}=e,l=await(i.isRTL==null?void 0:i.isRTL(s.floating)),u=Ua(r),d=qo(r),m=Or(r)==="y",p=oS.has(u)?-1:1,y=l&&m?-1:1,v=aa(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:S}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof S=="number"&&(x=d==="end"?S*-1:S),m?{x:x*y,y:b*p}:{x:b*p,y:x*y}}const hO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:s,y:l,placement:u,middlewareData:d}=n,m=await fO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:s+m.x,y:l+m.y,data:{...m,placement:u}}}}},mO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:s,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:m={fn:O=>{let{x:T,y:z}=O;return{x:T,y:z}}},...p}=aa(e,n),y={x:r,y:i},v=await l.detectOverflow(n,p),b=Or(s),x=bp(b);let S=y[x],C=y[b];const E=(O,T)=>aS(T+v[O==="y"?"top":"left"],T,T-v[O==="y"?"bottom":"right"]);u&&(S=E(x,S)),d&&(C=E(b,C));const R=m.fn({...n,[x]:S,[b]:C});return{...R,data:{x:R.x-r,y:R.y-i,enabled:{[x]:u,[b]:d}}}}}},pO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,i;const{x:s,y:l,placement:u,rects:d,middlewareData:m}=n,{offset:p=0,mainAxis:y=!0,crossAxis:v=!0}=aa(e,n),b={x:s,y:l},x=Or(u),S=bp(x);let C=b[S],E=b[x];const R=aa(p,n),O=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:(r=R.mainAxis)!=null?r:0,crossAxis:(i=R.crossAxis)!=null?i:0};if(y){const I=S==="y"?"height":"width",F=d.reference[S]-d.floating[I]+O.mainAxis,V=d.reference[S]+d.reference[I]-O.mainAxis;CV&&(C=V)}if(v){var T,z;const I=S==="y"?"width":"height",F=oS.has(Ua(u)),V=d.reference[x]-d.floating[I]+(F&&((T=m.offset)==null?void 0:T[x])||0)+(F?0:O.crossAxis),U=d.reference[x]+d.reference[I]+(F?0:((z=m.offset)==null?void 0:z[x])||0)-(F?O.crossAxis:0);EU&&(E=U)}return{[S]:C,[x]:E}}}},gO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:i,platform:s,elements:l}=n,{apply:u=()=>{},...d}=aa(e,n),m=await s.detectOverflow(n,d),p=Ua(r),y=qo(r),v=Or(r)==="y",{width:b,height:x}=i.floating;let S,C;p==="top"||p==="bottom"?(S=p,C=y===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(C=p,S=y==="end"?"top":"bottom");const E=x-m.top-m.bottom,R=b-m.left-m.right,O=Va(x-m[S],E),T=Va(b-m[C],R),z=n.middlewareData.shift,I=!z;let F=O,V=T;z!=null&&z.enabled.x&&(V=R),z!=null&&z.enabled.y&&(F=E),I&&!y&&(v?V=b-2*na(m.left,m.right):F=x-2*na(m.top,m.bottom)),await u({...n,availableWidth:V,availableHeight:F});const U=await s.getDimensions(l.floating);return b!==U.width||x!==U.height?{reset:{rects:!0}}:{}}}};function ku(){return typeof window<"u"}function Go(e){return sS(e)?(e.nodeName||"").toLowerCase():"#document"}function Nn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function ia(e){var n;return(n=(sS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function sS(e){return ku()?e instanceof Node||e instanceof Nn(e).Node:!1}function Ar(e){return ku()?e instanceof Element||e instanceof Nn(e).Element:!1}function Za(e){return ku()?e instanceof HTMLElement||e instanceof Nn(e).HTMLElement:!1}function Kb(e){return!ku()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Nn(e).ShadowRoot}function Lu(e){const{overflow:n,overflowX:r,overflowY:i,display:s}=Mr(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&s!=="inline"&&s!=="contents"}function vO(e){return/^(table|td|th)$/.test(Go(e))}function $u(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const yO=/transform|translate|scale|rotate|perspective|filter/,bO=/paint|layout|strict|content/,vi=e=>!!e&&e!=="none";let Ih;function Sp(e){const n=Ar(e)?Mr(e):e;return vi(n.transform)||vi(n.translate)||vi(n.scale)||vi(n.rotate)||vi(n.perspective)||!_p()&&(vi(n.backdropFilter)||vi(n.filter))||yO.test(n.willChange||"")||bO.test(n.contain||"")}function xO(e){let n=Ci(e);for(;Za(n)&&!nl(n);){if(Sp(n))return n;if($u(n))return null;n=Ci(n)}return null}function _p(){return Ih==null&&(Ih=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ih}function nl(e){return/^(html|body|#document)$/.test(Go(e))}function Mr(e){return Nn(e).getComputedStyle(e)}function Iu(e){return Ar(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ci(e){if(Go(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Kb(e)&&e.host||ia(e);return Kb(n)?n.host:n}function lS(e){const n=Ci(e);return nl(n)?(e.ownerDocument||e).body:Za(n)&&Lu(n)?n:lS(n)}function rl(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const s=lS(e),l=s===((i=e.ownerDocument)==null?void 0:i.body),u=Nn(s);if(l){const d=wm(u);return n.concat(u,u.visualViewport||[],Lu(s)?s:[],d&&r?rl(d):[])}else return n.concat(s,rl(s,[],r))}function wm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cS(e){const n=Mr(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const s=Za(e),l=s?e.offsetWidth:r,u=s?e.offsetHeight:i,d=hu(r)!==l||hu(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function Cp(e){return Ar(e)?e:e.contextElement}function Lo(e){const n=Cp(e);if(!Za(n))return ra(1);const r=n.getBoundingClientRect(),{width:i,height:s,$:l}=cS(n);let u=(l?hu(r.width):r.width)/i,d=(l?hu(r.height):r.height)/s;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const wO=ra(0);function uS(e){const n=Nn(e);return!_p()||!n.visualViewport?wO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function SO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===Nn(e)}function Ei(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),l=Cp(e);let u=ra(1);n&&(i?Ar(i)&&(u=Lo(i)):u=Lo(e));const d=SO(l,r,i)?uS(l):ra(0);let m=(s.left+d.x)/u.x,p=(s.top+d.y)/u.y,y=s.width/u.x,v=s.height/u.y;if(l&&i){const b=Nn(l),x=Ar(i)?Nn(i):i;let S=b,C=wm(S);for(;C&&x!==S;){const E=Lo(C),R=C.getBoundingClientRect(),O=Mr(C),T=R.left+(C.clientLeft+parseFloat(O.paddingLeft))*E.x,z=R.top+(C.clientTop+parseFloat(O.paddingTop))*E.y;m*=E.x,p*=E.y,y*=E.x,v*=E.y,m+=T,p+=z,S=Nn(C),C=wm(S)}}return pu({width:y,height:v,x:m,y:p})}function Pu(e,n){const r=Iu(e).scrollLeft;return n?n.left+r:Ei(ia(e)).left+r}function dS(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-Pu(e,r),s=r.top+n.scrollTop;return{x:i,y:s}}function _O(e){let{elements:n,rect:r,offsetParent:i,strategy:s}=e;const l=s==="fixed",u=ia(i),d=n?$u(n.floating):!1;if(i===u||d&&l)return r;let m={scrollLeft:0,scrollTop:0},p=ra(1);const y=ra(0),v=Za(i);if((v||!l)&&((Go(i)!=="body"||Lu(u))&&(m=Iu(i)),v)){const x=Ei(i);p=Lo(i),y.x=x.x+i.clientLeft,y.y=x.y+i.clientTop}const b=u&&!v&&!l?dS(u,m):ra(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-m.scrollLeft*p.x+y.x+b.x,y:r.y*p.y-m.scrollTop*p.y+y.y+b.y}}function CO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function EO(e){const n=Iu(e),r=e.ownerDocument.body,i=na(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=na(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Pu(e);const u=-n.scrollTop;return Mr(r).direction==="rtl"&&(l+=na(e.clientWidth,r.clientWidth)-i),{width:i,height:s,x:l,y:u}}const RO=25;function jO(e,n,r){r===void 0&&(r="viewport");const i=r==="layoutViewport",s=Nn(e),l=ia(e),u=s.visualViewport;let d=l.clientWidth,m=l.clientHeight,p=0,y=0;if(u){const b=!_p()||n==="fixed";i?b||(p=-u.offsetLeft,y=-u.offsetTop):(d=u.width,m=u.height,b&&(p=u.offsetLeft,y=u.offsetTop))}if(Pu(l)<=0){const b=l.ownerDocument,x=b.body,S=getComputedStyle(x),C=b.compatMode==="CSS1Compat"&&parseFloat(S.marginLeft)+parseFloat(S.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-C),R=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;R<=RO&&(d-=R)}return{width:d,height:m,x:p,y}}function TO(e,n){const r=Ei(e,!0,n==="fixed"),i=r.top+e.clientTop,s=r.left+e.clientLeft,l=Lo(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,m=s*l.x,p=i*l.y;return{width:u,height:d,x:m,y:p}}function Yb(e,n,r){let i;if(n==="viewport"||n==="layoutViewport")i=jO(e,r,n);else if(n==="document")i=EO(ia(e));else if(Ar(n))i=TO(n,r);else{const s=uS(e);i={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return pu(i)}function OO(e,n){const r=n.get(e);if(r)return r;let i=rl(e,[],!1).filter(d=>Ar(d)&&Go(d)!=="body"),s=null;const l=Mr(e).position==="fixed";let u=l?Ci(e):e;for(;Ar(u)&&!nl(u);){const d=Mr(u),m=Sp(u),p=s?s.position:l?"fixed":"";!m&&(p==="fixed"||p==="absolute"&&d.position==="static")?i=i.filter(v=>v!==u):s=d,u=Ci(u)}return n.set(e,i),i}function AO(e){let{element:n,boundary:r,rootBoundary:i,strategy:s}=e;const u=[...r==="clippingAncestors"?$u(n)?[]:OO(n,this._c):[].concat(r),i],d=Yb(n,u[0],s);let m=d.top,p=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}V=!1}try{i=new IntersectionObserver(U,{...F,root:l.ownerDocument})}catch{i=new IntersectionObserver(U,F)}i.observe(e)}const m=Nn(e),p=()=>d(r);return m.addEventListener("resize",p),d(!0),()=>{m.removeEventListener("resize",p),u()}}function $O(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:m=!1}=i,p=Cp(e),y=s||l?[...p?rl(p):[],...n?rl(n):[]]:[];y.forEach(R=>{s&&R.addEventListener("scroll",r),l&&R.addEventListener("resize",r)});const v=p&&d?LO(p,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(R=>{let[O]=R;O&&O.target===p&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var T;(T=x)==null||T.observe(n)})),r()}),p&&!m&&x.observe(p),n&&x.observe(n));let S,C=m?Ei(e):null;m&&E();function E(){const R=Ei(e);C&&!hS(C,R)&&r(),C=R,S=requestAnimationFrame(E)}return r(),()=>{var R;y.forEach(O=>{s&&O.removeEventListener("scroll",r),l&&O.removeEventListener("resize",r)}),v?.(),(R=x)==null||R.disconnect(),x=null,m&&cancelAnimationFrame(S)}}const IO=hO,PO=mO,FO=uO,VO=gO,UO=dO,Xb=cO,HO=pO,BO=(e,n,r)=>{const i=new Map,s=r??{},l={...kO,...s.platform,_c:i};return lO(e,n,{...s,platform:l})};var qO=typeof document<"u",GO=function(){},au=qO?w.useLayoutEffect:GO;function gu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,s;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!gu(e[i],n[i]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){const l=s[i];if(!(l==="_owner"&&e.$$typeof)&&!gu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function mS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Jb(e,n){const r=mS(e);return Math.round(n*r)/r}function Fh(e){const n=w.useRef(e);return au(()=>{n.current=e}),n}function ZO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:s,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:m,open:p}=e,[y,v]=w.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=w.useState(i);gu(b,i)||x(i);const[S,C]=w.useState(null),[E,R]=w.useState(null),O=w.useCallback(ae=>{ae!==F.current&&(F.current=ae,C(ae))},[]),T=w.useCallback(ae=>{ae!==V.current&&(V.current=ae,R(ae))},[]),z=l||S,I=u||E,F=w.useRef(null),V=w.useRef(null),U=w.useRef(y),pe=m!=null,ge=Fh(m),fe=Fh(s),Q=Fh(p),le=w.useCallback(()=>{if(!F.current||!V.current)return;const ae={placement:n,strategy:r,middleware:b};fe.current&&(ae.platform=fe.current),BO(F.current,V.current,ae).then(te=>{const ne={...te,isPositioned:Q.current!==!1};ue.current&&!gu(U.current,ne)&&(U.current=ne,Mi.flushSync(()=>{v(ne)}))})},[b,n,r,fe,Q]);au(()=>{p===!1&&U.current.isPositioned&&(U.current.isPositioned=!1,v(ae=>({...ae,isPositioned:!1})))},[p]);const ue=w.useRef(!1);au(()=>(ue.current=!0,()=>{ue.current=!1}),[]),au(()=>{if(z&&(F.current=z),I&&(V.current=I),z&&I){if(ge.current)return ge.current(z,I,le);le()}},[z,I,le,ge,pe]);const xe=w.useMemo(()=>({reference:F,floating:V,setReference:O,setFloating:T}),[O,T]),N=w.useMemo(()=>({reference:z,floating:I}),[z,I]),q=w.useMemo(()=>{const ae={position:r,left:0,top:0};if(!N.floating)return ae;const te=Jb(N.floating,y.x),ne=Jb(N.floating,y.y);return d?{...ae,transform:"translate("+te+"px, "+ne+"px)",...mS(N.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:te,top:ne}},[r,d,N.floating,y.x,y.y]);return w.useMemo(()=>({...y,update:le,refs:xe,elements:N,floatingStyles:q}),[y,le,xe,N,q])}const KO=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:s}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?Xb({element:i.current,padding:s}).fn(r):{}:i?Xb({element:i,padding:s}).fn(r):{}}}},YO=(e,n)=>{const r=IO(e);return{name:r.name,fn:r.fn,options:[e,n]}},QO=(e,n)=>{const r=PO(e);return{name:r.name,fn:r.fn,options:[e,n]}},XO=(e,n)=>({fn:HO(e).fn,options:[e,n]}),JO=(e,n)=>{const r=FO(e);return{name:r.name,fn:r.fn,options:[e,n]}},WO=(e,n)=>{const r=VO(e);return{name:r.name,fn:r.fn,options:[e,n]}},eA=(e,n)=>{const r=UO(e);return{name:r.name,fn:r.fn,options:[e,n]}},tA=(e,n)=>{const r=KO(e);return{name:r.name,fn:r.fn,options:[e,n]}};var nA="Arrow",pS=w.forwardRef((e,n)=>{const{children:r,width:i=10,height:s=5,...l}=e;return f.jsx($e.svg,{...l,ref:n,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});pS.displayName=nA;var rA=pS,Ep="Popper",[gS,Zo]=Ga(Ep),[aA,vS]=gS(Ep),yS=e=>{const{__scopePopper:n,children:r}=e,[i,s]=w.useState(null),[l,u]=w.useState(void 0);return f.jsx(aA,{scope:n,anchor:i,onAnchorChange:s,placementState:l,setPlacementState:u,children:r})};yS.displayName=Ep;var bS="PopperAnchor",xS=w.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...s}=e,l=vS(bS,r),u=w.useRef(null),d=l.onAnchorChange,m=w.useCallback(S=>{u.current=S,S&&d(S)},[d]),p=nt(n,m),y=w.useRef(null);w.useEffect(()=>{if(!i)return;const S=y.current;y.current=i.current,S!==y.current&&d(y.current)});const v=l.placementState&&jp(l.placementState),b=v?.[0],x=v?.[1];return i?null:f.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...s,ref:p})});xS.displayName=bS;var Rp="PopperContent",[iA,oA]=gS(Rp),wS=w.forwardRef((e,n)=>{const{__scopePopper:r,side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:S,...C}=e,E=vS(Rp,r),[R,O]=w.useState(null),T=nt(n,O),[z,I]=w.useState(null),F=QT(z),V=F?.width??0,U=F?.height??0,pe=i+(l!=="center"?"-"+l:""),ge=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},fe=Array.isArray(p)?p:[p],Q=fe.length>0,le={padding:ge,boundary:fe.filter(lA),altBoundary:Q},{refs:ue,floatingStyles:xe,placement:N,isPositioned:q,middlewareData:ae}=ZO({strategy:"fixed",placement:pe,whileElementsMounted:(...ve)=>$O(...ve,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[YO({mainAxis:s+U,alignmentAxis:u}),m&&QO({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?XO():void 0,...le}),m&&JO({...le}),WO({...le,apply:({elements:ve,rects:ye,availableWidth:Ne,availableHeight:Ie})=>{const{width:Fe,height:ft}=ye.reference,Qe=ve.floating.style;Qe.setProperty("--radix-popper-available-width",`${Ne}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Fe}px`),Qe.setProperty("--radix-popper-anchor-height",`${ft}px`)}}),z&&tA({element:z,padding:d}),cA({arrowWidth:V,arrowHeight:U}),b&&eA({strategy:"referenceHidden",...le,boundary:Q?le.boundary:void 0})]}),te=E.setPlacementState;Gt(()=>(te(N),()=>{te(void 0)}),[N,te]);const[ne,k]=jp(N),M=rr(S);Gt(()=>{q&&M?.()},[q,M]);const B=ae.arrow?.x,X=ae.arrow?.y,K=ae.arrow?.centerOffset!==0,[se,ee]=w.useState();return Gt(()=>{R&&ee(window.getComputedStyle(R).zIndex)},[R]),f.jsx("div",{ref:ue.setFloating,"data-radix-popper-content-wrapper":"",style:{...xe,transform:q?xe.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:se,"--radix-popper-transform-origin":[ae.transformOrigin?.x,ae.transformOrigin?.y].join(" "),...ae.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(iA,{scope:r,placedSide:ne,placedAlign:k,onArrowChange:I,arrowX:B,arrowY:X,shouldHideArrow:K,children:f.jsx($e.div,{"data-side":ne,"data-align":k,...C,ref:T,style:{...C.style,animation:q?void 0:"none"}})})})});wS.displayName=Rp;var SS="PopperArrow",sA={top:"bottom",right:"left",bottom:"top",left:"right"},_S=w.forwardRef(function(n,r){const{__scopePopper:i,...s}=n,l=oA(SS,i),u=sA[l.placedSide];return f.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:f.jsx(rA,{...s,ref:r,style:{...s.style,display:"block"}})})});_S.displayName=SS;function lA(e){return e!==null}var cA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:i,middlewareData:s}=n,u=s.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,m=u?0:e.arrowHeight,[p,y]=jp(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(s.arrow?.x??0)+d/2,x=(s.arrow?.y??0)+m/2;let S="",C="";return p==="bottom"?(S=u?v:`${b}px`,C=`${-m}px`):p==="top"?(S=u?v:`${b}px`,C=`${i.floating.height+m}px`):p==="right"?(S=`${-m}px`,C=u?v:`${x}px`):p==="left"&&(S=`${i.floating.width+m}px`,C=u?v:`${x}px`),{data:{x:S,y:C}}}});function jp(e){const[n,r="center"]=e.split("-");return[n,r]}var Tp=yS,Op=xS,Ap=wS,Mp=_S,Vh=!1;function uA(){const[e,n]=w.useState(Vh);return w.useEffect(()=>{Vh||(Vh=!0,n(!0))},[]),e}var CS=Ou[" useSyncExternalStore ".trim().toString()];function dA(){return()=>{}}function fA(){return CS(dA,()=>!0,()=>!1)}var hA=typeof CS=="function"?fA:uA,Uh="rovingFocusGroup.onEntryFocus",mA={bubbles:!1,cancelable:!0},gl="RovingFocusGroup",[Sm,ES,pA]=lp(gl),[gA,RS]=Ga(gl,[pA]),[vA,yA]=gA(gl),jS=w.forwardRef((e,n)=>f.jsx(Sm.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Sm.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(bA,{...e,ref:n})})}));jS.displayName=gl;var bA=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:s=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:m,onEntryFocus:p,preventScrollOnEntryFocus:y=!1,...v}=e,b=w.useRef(null),x=nt(n,b),S=cp(l),[C,E]=Vo({prop:u,defaultProp:d??null,onChange:m,caller:gl}),[R,O]=w.useState(!1),T=rr(p),z=ES(r),I=w.useRef(!1),[F,V]=w.useState(0);return w.useEffect(()=>{const U=b.current;if(U)return U.addEventListener(Uh,T),()=>U.removeEventListener(Uh,T)},[T]),f.jsx(vA,{scope:r,orientation:i,dir:S,loop:s,currentTabStopId:C,onItemFocus:w.useCallback(U=>E(U),[E]),onItemShiftTab:w.useCallback(()=>O(!0),[]),onFocusableItemAdd:w.useCallback(()=>V(U=>U+1),[]),onFocusableItemRemove:w.useCallback(()=>V(U=>U-1),[]),children:f.jsx($e.div,{tabIndex:R||F===0?-1:0,"data-orientation":i,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:Re(e.onMouseDown,()=>{I.current=!0}),onFocus:Re(e.onFocus,U=>{const pe=!I.current;if(U.target===U.currentTarget&&pe&&!R){const ge=new CustomEvent(Uh,mA);if(U.currentTarget.dispatchEvent(ge),!ge.defaultPrevented){const fe=z().filter(N=>N.focusable),Q=fe.find(N=>N.active),le=fe.find(N=>N.id===C),xe=[Q,le,...fe].filter(Boolean).map(N=>N.ref.current);AS(xe,y)}}I.current=!1}),onBlur:Re(e.onBlur,()=>O(!1))})})}),TS="RovingFocusGroupItem",OS=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:s=!1,tabStopId:l,children:u,...d}=e,m=hn(),p=l||m,y=yA(TS,r),v=y.currentTabStopId===p,b=ES(r),{onFocusableItemAdd:x,onFocusableItemRemove:S,currentTabStopId:C}=y,E=hA();return Gt(()=>{if(!(!E||!i))return x(),()=>S()},[E,i,x,S]),w.useEffect(()=>{if(!(E||!i))return x(),()=>S()},[E,i,x,S]),f.jsx(Sm.ItemSlot,{scope:r,id:p,focusable:i,active:s,children:f.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:Re(e.onMouseDown,R=>{i?y.onItemFocus(p):R.preventDefault()}),onFocus:Re(e.onFocus,()=>y.onItemFocus(p)),onKeyDown:Re(e.onKeyDown,R=>{if(R.key==="Tab"&&R.shiftKey){y.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const O=SA(R,y.orientation,y.dir);if(O!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let z=b().filter(I=>I.focusable).map(I=>I.ref.current);if(O==="last")z.reverse();else if(O==="prev"||O==="next"){O==="prev"&&z.reverse();const I=z.indexOf(R.currentTarget);z=y.loop?_A(z,I+1):z.slice(I+1)}setTimeout(()=>AS(z))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:C!=null}):u})})});OS.displayName=TS;var xA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function wA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function SA(e,n,r){const i=wA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return xA[i]}function AS(e,n=!1){const r=document.activeElement;for(const i of e)if(i===r||(i.focus({preventScroll:n}),document.activeElement!==r))return}function _A(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var CA=jS,EA=OS,_m=["Enter"," "],RA=["ArrowDown","PageUp","Home"],MS=["ArrowUp","PageDown","End"],jA=[...RA,...MS],TA={ltr:[..._m,"ArrowRight"],rtl:[..._m,"ArrowLeft"]},OA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},vl="Menu",[al,AA,MA]=lp(vl),[Ni,NS]=Ga(vl,[MA,Zo,RS]),Fu=Zo(),DS=RS(),[NA,Di]=Ni(vl),[DA,yl]=Ni(vl),zS=e=>{const{__scopeMenu:n,open:r=!1,children:i,dir:s,onOpenChange:l,modal:u=!0}=e,d=Fu(n),[m,p]=w.useState(null),y=w.useRef(!1),v=rr(l),b=cp(s);return w.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",S,{capture:!0,once:!0}),document.addEventListener("pointermove",S,{capture:!0,once:!0})},S=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",S,{capture:!0}),document.removeEventListener("pointermove",S,{capture:!0})}},[]),w.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),f.jsx(Tp,{...d,children:f.jsx(NA,{scope:n,open:r,onOpenChange:v,content:m,onContentChange:p,children:f.jsx(DA,{scope:n,onClose:w.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:i})})})};zS.displayName=vl;var zA="MenuAnchor",Np=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Op,{...s,...i,ref:n})});Np.displayName=zA;var Dp="MenuPortal",[kA,kS]=Ni(Dp,{forceMount:void 0}),LS=e=>{const{__scopeMenu:n,forceMount:r,children:i,container:s}=e,l=Di(Dp,n);return f.jsx(kA,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:i})})})};LS.displayName=Dp;var nr="MenuContent",[LA,zp]=Ni(nr),$S=w.forwardRef((e,n)=>{const r=kS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,...s}=e,l=Di(nr,e.__scopeMenu),u=yl(nr,e.__scopeMenu);return f.jsx(al.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||l.open,children:f.jsx(al.Slot,{scope:e.__scopeMenu,children:u.modal?f.jsx($A,{...s,ref:n}):f.jsx(IA,{...s,ref:n})})})})}),$A=w.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu),i=w.useRef(null),s=nt(n,i);return w.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(kp,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),IA=w.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu);return f.jsx(kp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),PA=_i("MenuContent.ScrollLock"),kp=w.forwardRef((e,n)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:m,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:S,...C}=e,E=Di(nr,r),R=yl(nr,r),O=Fu(r),T=DS(r),z=AA(r),[I,F]=w.useState(null),V=w.useRef(null),U=nt(n,V,E.onContentChange),pe=w.useRef(0),ge=w.useRef(""),fe=w.useRef(0),Q=w.useRef(null),le=w.useRef("right"),ue=w.useRef(0),xe=S?Du:w.Fragment,N=S?{as:PA,allowPinchZoom:!0}:void 0,q=te=>{const ne=ge.current+te,k=z().filter(ee=>!ee.disabled),M=document.activeElement,B=k.find(ee=>ee.ref.current===M)?.textValue,X=k.map(ee=>ee.textValue),K=XA(X,ne,B),se=k.find(ee=>ee.textValue===K)?.ref.current;(function ee(ve){ge.current=ve,window.clearTimeout(pe.current),ve!==""&&(pe.current=window.setTimeout(()=>ee(""),1e3))})(ne),se&&setTimeout(()=>se.focus())};w.useEffect(()=>()=>window.clearTimeout(pe.current),[]),dp();const ae=w.useCallback(te=>le.current===Q.current?.side&&WA(te,Q.current?.area),[]);return f.jsx(LA,{scope:r,searchRef:ge,onItemEnter:w.useCallback(te=>{ae(te)&&te.preventDefault()},[ae]),onItemLeave:w.useCallback(te=>{ae(te)||(V.current?.focus(),F(null))},[ae]),onTriggerLeave:w.useCallback(te=>{ae(te)&&te.preventDefault()},[ae]),pointerGraceTimerRef:fe,onPointerGraceIntentChange:w.useCallback(te=>{Q.current=te},[]),children:f.jsx(xe,{...N,children:f.jsx(Mu,{asChild:!0,trapped:s,onMountAutoFocus:Re(l,te=>{te.preventDefault(),V.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:f.jsx(CA,{asChild:!0,...T,dir:R.dir,orientation:"vertical",loop:i,currentTabStopId:I,onCurrentTabStopIdChange:F,onEntryFocus:Re(m,te=>{R.isUsingKeyboardRef.current||te.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Ap,{role:"menu","aria-orientation":"vertical","data-state":WS(E.open),"data-radix-menu-content":"",dir:R.dir,...O,...C,ref:U,style:{outline:"none",...C.style},onKeyDown:Re(C.onKeyDown,te=>{const k=te.target.closest("[data-radix-menu-content]")===te.currentTarget,M=te.ctrlKey||te.altKey||te.metaKey,B=te.key.length===1;k&&(te.key==="Tab"&&te.preventDefault(),!M&&B&&q(te.key));const X=V.current;if(te.target!==X||!jA.includes(te.key))return;te.preventDefault();const se=z().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);MS.includes(te.key)&&se.reverse(),YA(se)}),onBlur:Re(e.onBlur,te=>{te.currentTarget.contains(te.target)||(window.clearTimeout(pe.current),ge.current="")}),onPointerMove:Re(e.onPointerMove,il(te=>{const ne=te.target,k=ue.current!==te.clientX;if(te.currentTarget.contains(ne)&&k){const M=te.clientX>ue.current?"right":"left";le.current=M,ue.current=te.clientX}}))})})})})})})});$S.displayName=nr;var FA="MenuGroup",Lp=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"group",...i,ref:n})});Lp.displayName=FA;var VA="MenuLabel",IS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{...i,ref:n})});IS.displayName=VA;var vu="MenuItem",Wb="menu.itemSelect",Vu=w.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:i,...s}=e,l=w.useRef(null),u=yl(vu,e.__scopeMenu),d=zp(vu,e.__scopeMenu),m=nt(n,l),p=w.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Wb,{bubbles:!0,cancelable:!0});v.addEventListener(Wb,x=>i?.(x),{once:!0}),Lw(v,b),b.defaultPrevented?p.current=!1:u.onClose()}};return f.jsx(PS,{...s,ref:m,disabled:r,onClick:Re(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),p.current=!0},onPointerUp:Re(e.onPointerUp,v=>{p.current||v.currentTarget?.click()}),onKeyDown:Re(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||_m.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Vu.displayName=vu;var PS=w.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:i=!1,textValue:s,...l}=e,u=zp(vu,r),d=DS(r),m=w.useRef(null),p=nt(n,m),[y,v]=w.useState(!1),[b,x]=w.useState("");return w.useEffect(()=>{const S=m.current;S&&x((S.textContent??"").trim())},[l.children]),f.jsx(al.ItemSlot,{scope:r,disabled:i,textValue:s??b,children:f.jsx(EA,{asChild:!0,...d,focusable:!i,children:f.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...l,ref:p,onPointerMove:Re(e.onPointerMove,il(S=>{i?u.onItemLeave(S):(u.onItemEnter(S),S.defaultPrevented||S.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Re(e.onPointerLeave,il(S=>u.onItemLeave(S))),onFocus:Re(e.onFocus,()=>v(!0)),onBlur:Re(e.onBlur,()=>v(!1))})})})}),UA="MenuCheckboxItem",FS=w.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:i,...s}=e;return f.jsx(qS,{scope:e.__scopeMenu,checked:r,children:f.jsx(Vu,{role:"menuitemcheckbox","aria-checked":yu(r)?"mixed":r,...s,ref:n,"data-state":Ip(r),onSelect:Re(s.onSelect,()=>i?.(yu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});FS.displayName=UA;var VS="MenuRadioGroup",[HA,BA]=Ni(VS,{value:void 0,onValueChange:()=>{}}),US=w.forwardRef((e,n)=>{const{value:r,onValueChange:i,...s}=e,l=rr(i);return f.jsx(HA,{scope:e.__scopeMenu,value:r,onValueChange:l,children:f.jsx(Lp,{...s,ref:n})})});US.displayName=VS;var HS="MenuRadioItem",BS=w.forwardRef((e,n)=>{const{value:r,...i}=e,s=BA(HS,e.__scopeMenu),l=r===s.value;return f.jsx(qS,{scope:e.__scopeMenu,checked:l,children:f.jsx(Vu,{role:"menuitemradio","aria-checked":l,...i,ref:n,"data-state":Ip(l),onSelect:Re(i.onSelect,()=>s.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});BS.displayName=HS;var $p="MenuItemIndicator",[qS,qA]=Ni($p,{checked:!1}),GS=w.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:i,...s}=e,l=qA($p,r);return f.jsx(yr,{present:i||yu(l.checked)||l.checked===!0,children:f.jsx($e.span,{...s,ref:n,"data-state":Ip(l.checked)})})});GS.displayName=$p;var GA="MenuSeparator",ZS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})});ZS.displayName=GA;var ZA="MenuArrow",KS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Mp,{...s,...i,ref:n})});KS.displayName=ZA;var KA="MenuSub",[XP,YS]=Ni(KA),Gs="MenuSubTrigger",QS=w.forwardRef((e,n)=>{const r=Di(Gs,e.__scopeMenu),i=yl(Gs,e.__scopeMenu),s=YS(Gs,e.__scopeMenu),l=zp(Gs,e.__scopeMenu),u=w.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:m}=l,p={__scopeMenu:e.__scopeMenu},y=w.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);w.useEffect(()=>y,[y]),w.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),m(null)}},[d,m]);const v=nt(n,s.onTriggerChange);return f.jsx(Np,{asChild:!0,...p,children:f.jsx(PS,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?s.contentId:void 0,"data-state":WS(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:Re(e.onPointerMove,il(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:Re(e.onPointerLeave,il(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const S=r.content?.dataset.side,C=S==="right",E=C?-5:5,R=x[C?"left":"right"],O=x[C?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:R,y:x.top},{x:O,y:x.top},{x:O,y:x.bottom},{x:R,y:x.bottom}],side:S}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:Re(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||TA[i.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});QS.displayName=Gs;var XS="MenuSubContent",JS=w.forwardRef((e,n)=>{const r=kS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,align:s="start",...l}=e,u=Di(nr,e.__scopeMenu),d=yl(nr,e.__scopeMenu),m=YS(XS,e.__scopeMenu),p=w.useRef(null),y=nt(n,p);return f.jsx(al.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||u.open,children:f.jsx(al.Slot,{scope:e.__scopeMenu,children:f.jsx(kp,{id:m.contentId,"aria-labelledby":m.triggerId,...l,ref:y,align:s,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&p.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:Re(e.onFocusOutside,v=>{v.target!==m.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:Re(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:Re(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=OA[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),m.trigger?.focus(),v.preventDefault())})})})})})});JS.displayName=XS;function WS(e){return e?"open":"closed"}function yu(e){return e==="indeterminate"}function Ip(e){return yu(e)?"indeterminate":e?"checked":"unchecked"}function YA(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function QA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}function XA(e,n,r){const s=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=QA(e,Math.max(l,0));s.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.toLowerCase().startsWith(s.toLowerCase()));return m!==r?m:void 0}function JA(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(s=!s)}return s}function WA(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return JA(r,n)}function il(e){return n=>n.pointerType==="mouse"?e(n):void 0}var eM=zS,tM=Np,nM=LS,rM=$S,aM=Lp,iM=IS,oM=Vu,sM=FS,lM=US,cM=BS,uM=GS,dM=ZS,fM=KS,hM=QS,mM=JS,Uu="DropdownMenu",[pM]=Ga(Uu,[NS]),gn=NS(),[gM,e1]=pM(Uu),t1=e=>{const{__scopeDropdownMenu:n,children:r,dir:i,open:s,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,m=gn(n),p=w.useRef(null),[y,v]=Vo({prop:s,defaultProp:l??!1,onChange:u,caller:Uu});return f.jsx(gM,{scope:n,triggerId:hn(),triggerRef:p,contentId:hn(),open:y,onOpenChange:v,onOpenToggle:w.useCallback(()=>v(b=>!b),[v]),modal:d,children:f.jsx(eM,{...m,open:y,onOpenChange:v,dir:i,modal:d,children:r})})};t1.displayName=Uu;var n1="DropdownMenuTrigger",r1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...s}=e,l=e1(n1,r),u=gn(r),d=nt(n,l.triggerRef);return f.jsx(tM,{asChild:!0,...u,children:f.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...s,ref:d,onPointerDown:Re(e.onPointerDown,m=>{!i&&m.button===0&&m.ctrlKey===!1&&(l.onOpenToggle(),l.open||m.preventDefault())}),onKeyDown:Re(e.onKeyDown,m=>{i||(["Enter"," "].includes(m.key)&&l.onOpenToggle(),m.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(m.key)&&m.preventDefault())})})})});r1.displayName=n1;var vM="DropdownMenuPortal",a1=e=>{const{__scopeDropdownMenu:n,...r}=e,i=gn(n);return f.jsx(nM,{...i,...r})};a1.displayName=vM;var i1="DropdownMenuContent",o1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=e1(i1,r),l=gn(r),u=w.useRef(!1);return f.jsx(rM,{id:s.contentId,"aria-labelledby":s.triggerId,...l,...i,ref:n,onCloseAutoFocus:Re(e.onCloseAutoFocus,d=>{u.current||s.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:Re(e.onInteractOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,y=m.button===2||p;(!s.modal||y)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});o1.displayName=i1;var yM="DropdownMenuGroup",bM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(aM,{...s,...i,ref:n})});bM.displayName=yM;var xM="DropdownMenuLabel",s1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(iM,{...s,...i,ref:n})});s1.displayName=xM;var wM="DropdownMenuItem",l1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(oM,{...s,...i,ref:n})});l1.displayName=wM;var SM="DropdownMenuCheckboxItem",_M=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(sM,{...s,...i,ref:n})});_M.displayName=SM;var CM="DropdownMenuRadioGroup",EM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(lM,{...s,...i,ref:n})});EM.displayName=CM;var RM="DropdownMenuRadioItem",jM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(cM,{...s,...i,ref:n})});jM.displayName=RM;var TM="DropdownMenuItemIndicator",OM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(uM,{...s,...i,ref:n})});OM.displayName=TM;var AM="DropdownMenuSeparator",MM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(dM,{...s,...i,ref:n})});MM.displayName=AM;var NM="DropdownMenuArrow",DM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(fM,{...s,...i,ref:n})});DM.displayName=NM;var zM="DropdownMenuSubTrigger",kM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(hM,{...s,...i,ref:n})});kM.displayName=zM;var LM="DropdownMenuSubContent",$M=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(mM,{...s,...i,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});$M.displayName=LM;var IM=t1,PM=r1,FM=a1,VM=o1,UM=s1,HM=l1,BM="Label",c1=w.forwardRef((e,n)=>f.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));c1.displayName=BM;var qM=c1;function ex(e,[n,r]){return Math.min(r,Math.max(n,e))}var GM=[" ","Enter","ArrowUp","ArrowDown"],ZM=[" ","Enter"],Ri="Select",[Hu,Bu,KM]=lp(Ri),[zi]=Ga(Ri,[KM,Zo]),qu=Zo(),[YM,Ka]=zi(Ri),[QM,XM]=zi(Ri),JM="SelectProvider";function u1(e){const{__scopeSelect:n,children:r,open:i,defaultOpen:s,onOpenChange:l,value:u,defaultValue:d,onValueChange:m,dir:p,name:y,autoComplete:v,disabled:b,required:x,form:S,internal_do_not_use_render:C}=e,E=qu(n),[R,O]=w.useState(null),[T,z]=w.useState(null),[I,F]=w.useState(!1),V=cp(p),[U,pe]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:Ri}),[ge,fe]=Vo({prop:u,defaultProp:d,onChange:m,caller:Ri}),Q=w.useRef(null),le=w.useRef(ge);w.useEffect(()=>{const M=S?R?.ownerDocument.getElementById(S):R?.form;if(M instanceof HTMLFormElement){const B=()=>fe(le.current);return M.addEventListener("reset",B),()=>M.removeEventListener("reset",B)}},[S,R,fe]);const ue=R?!!S||!!R.closest("form"):!0,[xe,N]=w.useState(new Set),q=hn(),ae=Array.from(xe).map(M=>M.props.value).join(";"),te=w.useCallback(M=>{N(B=>new Set(B).add(M))},[]),ne=w.useCallback(M=>{N(B=>{const X=new Set(B);return X.delete(M),X})},[]),k={required:x,trigger:R,onTriggerChange:O,valueNode:T,onValueNodeChange:z,valueNodeHasChildren:I,onValueNodeHasChildrenChange:F,contentId:q,value:ge,onValueChange:fe,open:U,onOpenChange:pe,dir:V,triggerPointerDownPosRef:Q,disabled:b,name:y,autoComplete:v,form:S,nativeOptions:xe,nativeSelectKey:ae,isFormControl:ue};return f.jsx(Tp,{...E,children:f.jsx(YM,{scope:n,...k,children:f.jsx(Hu.Provider,{scope:n,children:f.jsx(QM,{scope:n,onNativeOptionAdd:te,onNativeOptionRemove:ne,children:pN(C)?C(k):r})})})})}u1.displayName=JM;var d1=e=>{const{__scopeSelect:n,children:r,...i}=e;return f.jsx(u1,{__scopeSelect:n,...i,internal_do_not_use_render:({isFormControl:s})=>f.jsxs(f.Fragment,{children:[r,s?f.jsx($1,{__scopeSelect:n}):null]})})};d1.displayName=Ri;var f1="SelectTrigger",h1=w.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:i=!1,...s}=e,l=qu(r),u=Ka(f1,r),d=u.disabled||i,m=nt(n,u.onTriggerChange),p=Bu(r),y=w.useRef("touch"),[v,b,x]=I1(C=>{const E=p().filter(T=>!T.disabled),R=E.find(T=>T.value===u.value),O=P1(E,C,R);O!==void 0&&u.onValueChange(O.value)}),S=C=>{d||(u.onOpenChange(!0),x()),C&&(u.triggerPointerDownPosRef.current={x:Math.round(C.pageX),y:Math.round(C.pageY)})};return f.jsx(Op,{asChild:!0,...l,children:f.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":Gu(u.value)?"":void 0,...s,ref:m,onClick:Re(s.onClick,C=>{C.currentTarget.focus(),y.current!=="mouse"&&S(C)}),onPointerDown:Re(s.onPointerDown,C=>{y.current=C.pointerType;const E=C.target;E.hasPointerCapture(C.pointerId)&&E.releasePointerCapture(C.pointerId),C.button===0&&C.ctrlKey===!1&&C.pointerType==="mouse"&&(S(C),C.preventDefault())}),onKeyDown:Re(s.onKeyDown,C=>{const E=v.current!=="";!(C.ctrlKey||C.altKey||C.metaKey)&&C.key.length===1&&b(C.key),!(E&&C.key===" ")&&GM.includes(C.key)&&(S(),C.preventDefault())})})})});h1.displayName=f1;var m1="SelectValue",p1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,children:l,placeholder:u="",...d}=e,m=Ka(m1,r),{onValueNodeHasChildrenChange:p}=m,y=l!==void 0,v=nt(n,m.onValueNodeChange);Gt(()=>{p(y)},[p,y]);const b=Gu(m.value);return f.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:f.jsx(w.Fragment,{children:b?u:l},b?"placeholder":"value")})});p1.displayName=m1;var WM="SelectIcon",g1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,...s}=e;return f.jsx($e.span,{"aria-hidden":!0,...s,ref:n,children:i||"▼"})});g1.displayName=WM;var v1="SelectPortal",[eN,tN]=zi(v1,{forceMount:void 0}),y1=e=>{const{__scopeSelect:n,forceMount:r,...i}=e;return f.jsx(eN,{scope:e.__scopeSelect,forceMount:r,children:f.jsx(pl,{asChild:!0,...i})})};y1.displayName=v1;var Ha="SelectContent",b1=w.forwardRef((e,n)=>{const r=tN(Ha,e.__scopeSelect),{forceMount:i=r.forceMount,...s}=e,l=Ka(Ha,e.__scopeSelect),[u,d]=w.useState();return Gt(()=>{d(new DocumentFragment)},[]),f.jsx(yr,{present:i||l.open,children:({present:m})=>m?f.jsx(S1,{...s,ref:n}):f.jsx(x1,{...s,fragment:u})})});b1.displayName=Ha;var x1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,fragment:s}=e;return s?Mi.createPortal(f.jsx(w1,{scope:r,children:f.jsx(Hu.Slot,{scope:r,children:f.jsx("div",{ref:n,children:i})})}),s):null});x1.displayName="SelectContentFragment";var hr=10,[w1,Ya]=zi(Ha),nN="SelectContentImpl",rN=_i("SelectContent.RemoveScroll"),S1=w.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:S,hideWhenDetached:C,avoidCollisions:E,...R}=e,O=Ka(Ha,r),[T,z]=w.useState(null),[I,F]=w.useState(null),V=nt(n,z),[U,pe]=w.useState(null),[ge,fe]=w.useState(null),Q=Bu(r),[le,ue]=w.useState(!1),xe=w.useRef(!1);w.useEffect(()=>{if(T)return fp(T)},[T]),dp();const N=w.useCallback(ee=>{const[ve,...ye]=Q().map(Fe=>Fe.ref.current),[Ne]=ye.slice(-1),Ie=document.activeElement;for(const Fe of ee)if(Fe===Ie||(Fe?.scrollIntoView({block:"nearest"}),Fe===ve&&I&&(I.scrollTop=0),Fe===Ne&&I&&(I.scrollTop=I.scrollHeight),Fe?.focus(),document.activeElement!==Ie))return},[Q,I]),q=w.useCallback(()=>N([U,T]),[N,U,T]);w.useEffect(()=>{le&&q()},[le,q]);const{onOpenChange:ae,triggerPointerDownPosRef:te}=O;w.useEffect(()=>{if(T){let ee={x:0,y:0};const ve=Ne=>{ee={x:Math.abs(Math.round(Ne.pageX)-(te.current?.x??0)),y:Math.abs(Math.round(Ne.pageY)-(te.current?.y??0))}},ye=Ne=>{ee.x<=10&&ee.y<=10?Ne.preventDefault():Ne.composedPath().includes(T)||ae(!1),document.removeEventListener("pointermove",ve),te.current=null};return te.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",ye,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",ye,{capture:!0})}}},[T,ae,te]),w.useEffect(()=>{const ee=()=>ae(!1);return window.addEventListener("blur",ee),window.addEventListener("resize",ee),()=>{window.removeEventListener("blur",ee),window.removeEventListener("resize",ee)}},[ae]);const[ne,k]=I1(ee=>{const ve=Q().filter(Ie=>!Ie.disabled),ye=ve.find(Ie=>Ie.ref.current===document.activeElement),Ne=P1(ve,ee,ye);Ne&&setTimeout(()=>Ne.ref.current?.focus())}),M=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&(pe(ee),Ne&&(xe.current=!0))},[O.value]),B=w.useCallback(()=>T?.focus(),[T]),X=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&fe(ee)},[O.value]),K=i==="popper"?Cm:_1,se=K===Cm?{side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:S,hideWhenDetached:C,avoidCollisions:E}:{};return f.jsx(w1,{scope:r,content:T,viewport:I,onViewportChange:F,itemRefCallback:M,selectedItem:U,onItemLeave:B,itemTextRefCallback:X,focusSelectedItem:q,selectedItemText:ge,position:i,isPositioned:le,searchRef:ne,children:f.jsx(Du,{as:rN,allowPinchZoom:!0,children:f.jsx(Mu,{asChild:!0,trapped:O.open,onMountAutoFocus:ee=>{ee.preventDefault()},onUnmountAutoFocus:Re(s,ee=>{O.trigger?.focus({preventScroll:!0}),ee.preventDefault()}),children:f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ee=>ee.preventDefault(),onDismiss:()=>O.onOpenChange(!1),children:f.jsx(K,{role:"listbox",id:O.contentId,"data-state":O.open?"open":"closed",dir:O.dir,onContextMenu:ee=>ee.preventDefault(),...R,...se,onPlaced:()=>ue(!0),ref:V,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:Re(R.onKeyDown,ee=>{const ve=ee.ctrlKey||ee.altKey||ee.metaKey;if(ee.key==="Tab"&&ee.preventDefault(),!ve&&ee.key.length===1&&k(ee.key),["ArrowUp","ArrowDown","Home","End"].includes(ee.key)){let Ne=Q().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(ee.key)&&(Ne=Ne.slice().reverse()),["ArrowUp","ArrowDown"].includes(ee.key)){const Ie=ee.target,Fe=Ne.indexOf(Ie);Ne=Ne.slice(Fe+1)}setTimeout(()=>N(Ne)),ee.preventDefault()}})})})})})})});S1.displayName=nN;var aN="SelectItemAlignedPosition",_1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:i,...s}=e,l=Ka(Ha,r),u=Ya(Ha,r),[d,m]=w.useState(null),[p,y]=w.useState(null),v=nt(n,y),b=Bu(r),x=w.useRef(!1),S=w.useRef(!0),{viewport:C,selectedItem:E,selectedItemText:R,focusSelectedItem:O}=u,T=w.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&p&&C&&E&&R){const V=l.trigger.getBoundingClientRect(),U=p.getBoundingClientRect(),pe=l.valueNode.getBoundingClientRect(),ge=R.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ge.left-U.left,Fe=pe.left-Ie,ft=V.left-Fe,Qe=V.width+ft,vn=Math.max(Qe,U.width),un=window.innerWidth-hr,Kt=ex(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.left=Kt+"px"}else{const Ie=U.right-ge.right,Fe=window.innerWidth-pe.right-Ie,ft=window.innerWidth-V.right-Fe,Qe=V.width+ft,vn=Math.max(Qe,U.width),un=window.innerWidth-hr,Kt=ex(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.right=Kt+"px"}const fe=b(),Q=window.innerHeight-hr*2,le=C.scrollHeight,ue=window.getComputedStyle(p),xe=parseInt(ue.borderTopWidth,10),N=parseInt(ue.paddingTop,10),q=parseInt(ue.borderBottomWidth,10),ae=parseInt(ue.paddingBottom,10),te=xe+N+le+ae+q,ne=Math.min(E.offsetHeight*5,te),k=window.getComputedStyle(C),M=parseInt(k.paddingTop,10),B=parseInt(k.paddingBottom,10),X=V.top+V.height/2-hr,K=Q-X,se=E.offsetHeight/2,ee=E.offsetTop+se,ve=xe+N+ee,ye=te-ve;if(ve<=X){const Ie=fe.length>0&&E===fe[fe.length-1].ref.current;d.style.bottom="0px";const Fe=p.clientHeight-C.offsetTop-C.offsetHeight,ft=Math.max(K,se+(Ie?B:0)+Fe+q),Qe=ve+ft;d.style.height=Qe+"px"}else{const Ie=fe.length>0&&E===fe[0].ref.current;d.style.top="0px";const ft=Math.max(X,xe+C.offsetTop+(Ie?M:0)+se)+ye;d.style.height=ft+"px",C.scrollTop=ve-X+C.offsetTop}d.style.margin=`${hr}px 0`,d.style.minHeight=ne+"px",d.style.maxHeight=Q+"px",i?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,p,C,E,R,l.dir,i]);Gt(()=>T(),[T]);const[z,I]=w.useState();Gt(()=>{p&&I(window.getComputedStyle(p).zIndex)},[p]);const F=w.useCallback(V=>{V&&S.current===!0&&(T(),O?.(),S.current=!1)},[T,O]);return f.jsx(oN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:F,children:f.jsx("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:z},children:f.jsx($e.div,{...s,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});_1.displayName=aN;var iN="SelectPopperPosition",Cm=w.forwardRef((e,n)=>{const{__scopeSelect:r,align:i="start",collisionPadding:s=hr,...l}=e,u=qu(r);return f.jsx(Ap,{...u,...l,ref:n,align:i,collisionPadding:s,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)"}})});Cm.displayName=iN;var[oN,Pp]=zi(Ha,{}),Em="SelectViewport",C1=w.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:i,...s}=e,l=Ya(Em,r),u=Pp(Em,r),d=nt(n,l.onViewportChange),m=w.useRef(0);return f.jsxs(f.Fragment,{children:[f.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:i}),f.jsx(Hu.Slot,{scope:r,children:f.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Re(s.onScroll,p=>{const y=p.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(m.current-y.scrollTop);if(x>0){const S=window.innerHeight-hr*2,C=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),R=Math.max(C,E);if(R0?z:0,v.style.justifyContent="flex-end")}}}m.current=y.scrollTop})})})]})});C1.displayName=Em;var E1="SelectGroup",[sN,lN]=zi(E1),cN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=hn();return f.jsx(sN,{scope:r,id:s,children:f.jsx($e.div,{role:"group","aria-labelledby":s,...i,ref:n})})});cN.displayName=E1;var R1="SelectLabel",uN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=lN(R1,r);return f.jsx($e.div,{id:s.id,...i,ref:n})});uN.displayName=R1;var bu="SelectItem",[dN,j1]=zi(bu),T1=w.forwardRef((e,n)=>{const{__scopeSelect:r,value:i,disabled:s=!1,textValue:l,...u}=e,d=Ka(bu,r),m=Ya(bu,r),p=d.value===i,[y,v]=w.useState(l??""),[b,x]=w.useState(!1),S=rr(T=>m.itemRefCallback?.(T,i,s)),C=nt(n,S),E=hn(),R=w.useRef("touch"),O=()=>{s||(d.onValueChange(i),d.onOpenChange(!1))};return f.jsx(dN,{scope:r,value:i,disabled:s,textId:E,isSelected:p,onItemTextChange:w.useCallback(T=>{v(z=>z||(T?.textContent??"").trim())},[]),children:f.jsx(Hu.ItemSlot,{scope:r,value:i,disabled:s,textValue:y,children:f.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":p&&b,"data-state":p?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...u,ref:C,onFocus:Re(u.onFocus,()=>x(!0)),onBlur:Re(u.onBlur,()=>x(!1)),onClick:Re(u.onClick,()=>{R.current!=="mouse"&&O()}),onPointerUp:Re(u.onPointerUp,()=>{R.current==="mouse"&&O()}),onPointerDown:Re(u.onPointerDown,T=>{R.current=T.pointerType}),onPointerMove:Re(u.onPointerMove,T=>{R.current=T.pointerType,s?m.onItemLeave?.():R.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Re(u.onPointerLeave,T=>{T.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:Re(u.onKeyDown,T=>{s||T.target!==T.currentTarget||m.searchRef?.current!==""&&T.key===" "||(ZM.includes(T.key)&&O(),T.key===" "&&T.preventDefault())})})})})});T1.displayName=bu;var Zs="SelectItemText",O1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,...l}=e,u=Ka(Zs,r),d=Ya(Zs,r),m=j1(Zs,r),p=XM(Zs,r),[y,v]=w.useState(null),b=rr(O=>d.itemTextRefCallback?.(O,m.value,m.disabled)),x=nt(n,v,m.onItemTextChange,b),S=y?.textContent,C=w.useMemo(()=>f.jsx("option",{value:m.value,disabled:m.disabled,children:S},m.value),[m.disabled,m.value,S]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=p;return Gt(()=>(E(C),()=>R(C)),[E,R,C]),f.jsxs(f.Fragment,{children:[f.jsx($e.span,{id:m.textId,...l,ref:x}),m.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!Gu(u.value)?Mi.createPortal(l.children,u.valueNode):null]})});O1.displayName=Zs;var A1="SelectItemIndicator",M1=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return j1(A1,r).isSelected?f.jsx($e.span,{"aria-hidden":!0,...i,ref:n}):null});M1.displayName=A1;var Rm="SelectScrollUpButton",N1=w.forwardRef((e,n)=>{const r=Ya(Rm,e.__scopeSelect),i=Pp(Rm,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollTop>0;l(p)};const m=r.viewport;return d(),m.addEventListener("scroll",d),()=>m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(z1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop-m.offsetHeight)}}):null});N1.displayName=Rm;var jm="SelectScrollDownButton",D1=w.forwardRef((e,n)=>{const r=Ya(jm,e.__scopeSelect),i=Pp(jm,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollHeight-m.clientHeight,y=Math.ceil(m.scrollTop)m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(z1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop+m.offsetHeight)}}):null});D1.displayName=jm;var z1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:i,...s}=e,l=Ya("SelectScrollButton",r),u=w.useRef(null),d=Bu(r),m=w.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return w.useEffect(()=>()=>m(),[m]),Gt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),f.jsx($e.div,{"aria-hidden":!0,...s,ref:n,style:{flexShrink:0,...s.style},onPointerDown:Re(s.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:Re(s.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:Re(s.onPointerLeave,()=>{m()})})}),fN="SelectSeparator",hN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return f.jsx($e.div,{"aria-hidden":!0,...i,ref:n})});hN.displayName=fN;var k1="SelectArrow",mN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=qu(r);return Ya(k1,r).position==="popper"?f.jsx(Mp,{...s,...i,ref:n}):null});mN.displayName=k1;var L1="SelectBubbleInput",$1=w.forwardRef(({__scopeSelect:e,...n},r)=>{const i=Ka(L1,e),{value:s,onValueChange:l,required:u,disabled:d,name:m,autoComplete:p,form:y}=i,{nativeOptions:v,nativeSelectKey:b}=i,x=w.useRef(null),S=nt(r,x),C=s??"",E=YT(C),R=Array.from(v).some(O=>(O.props.value??"")==="");return w.useEffect(()=>{const O=x.current;if(!O)return;const T=window.HTMLSelectElement.prototype,I=Object.getOwnPropertyDescriptor(T,"value").set;if(E!==C&&I){const F=new Event("change",{bubbles:!0});I.call(O,C),O.dispatchEvent(F)}},[E,C]),f.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:m,autoComplete:p,disabled:d,form:y,onChange:O=>l(O.target.value),...n,style:{...$w,...n.style},ref:S,defaultValue:C,children:[Gu(s)&&!R?f.jsx("option",{value:""}):null,Array.from(v)]},b)});$1.displayName=L1;function pN(e){return typeof e=="function"}function Gu(e){return e===""||e===void 0}function I1(e){const n=rr(e),r=w.useRef(""),i=w.useRef(0),s=w.useCallback(u=>{const d=r.current+u;n(d),(function m(p){r.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>m(""),1e3))})(d)},[n]),l=w.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return w.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,s,l]}function P1(e,n,r){const s=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=gN(e,Math.max(l,0));s.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.textValue.toLowerCase().startsWith(s.toLowerCase()));return m!==r?m:void 0}function gN(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var vN="Separator",tx="horizontal",yN=["horizontal","vertical"],F1=w.forwardRef((e,n)=>{const{decorative:r,orientation:i=tx,...s}=e,l=bN(i)?i:tx,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return f.jsx($e.div,{"data-orientation":l,...d,...s,ref:n})});F1.displayName=vN;function bN(e){return yN.includes(e)}var xN=F1,[Zu]=Ga("Tooltip",[Zo]),Ku=Zo(),V1="TooltipProvider",wN=700,Tm="tooltip.open",[SN,Fp]=Zu(V1),U1=e=>{const{__scopeTooltip:n,delayDuration:r=wN,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:l}=e,u=w.useRef(!0),d=w.useRef(!1),m=w.useRef(0);return w.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),f.jsx(SN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:w.useCallback(()=>{i<=0||(window.clearTimeout(m.current),u.current=!1)},[i]),onClose:w.useCallback(()=>{i<=0||(window.clearTimeout(m.current),m.current=window.setTimeout(()=>u.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:w.useCallback(p=>{d.current=p},[]),disableHoverableContent:s,children:l})};U1.displayName=V1;var ol="Tooltip",[_N,bl]=Zu(ol),H1=e=>{const{__scopeTooltip:n,children:r,open:i,defaultOpen:s,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,m=Fp(ol,e.__scopeTooltip),p=Ku(n),[y,v]=w.useState(null),b=hn(),x=w.useRef(0),S=u??m.disableHoverableContent,C=d??m.delayDuration,E=w.useRef(!1),[R,O]=Vo({prop:i,defaultProp:s??!1,onChange:V=>{V?(m.onOpen(),document.dispatchEvent(new CustomEvent(Tm))):m.onClose(),l?.(V)},caller:ol}),T=w.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),z=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,O(!0)},[O]),I=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,O(!1)},[O]),F=w.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,O(!0),x.current=0},C)},[C,O]);return w.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),f.jsx(Tp,{...p,children:f.jsx(_N,{scope:n,contentId:b,open:R,stateAttribute:T,trigger:y,onTriggerChange:v,onTriggerEnter:w.useCallback(()=>{m.isOpenDelayedRef.current?F():z()},[m.isOpenDelayedRef,F,z]),onTriggerLeave:w.useCallback(()=>{S?I():(window.clearTimeout(x.current),x.current=0)},[I,S]),onOpen:z,onClose:I,disableHoverableContent:S,children:r})})};H1.displayName=ol;var Om="TooltipTrigger",B1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=bl(Om,r),l=Fp(Om,r),u=Ku(r),d=w.useRef(null),m=nt(n,d,s.onTriggerChange),p=w.useRef(!1),y=w.useRef(!1),v=w.useCallback(()=>p.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(Op,{asChild:!0,...u,children:f.jsx($e.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:m,onPointerMove:Re(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(s.onTriggerEnter(),y.current=!0)}),onPointerLeave:Re(e.onPointerLeave,()=>{s.onTriggerLeave(),y.current=!1}),onPointerDown:Re(e.onPointerDown,()=>{s.open&&s.onClose(),p.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:Re(e.onFocus,()=>{p.current||s.onOpen()}),onBlur:Re(e.onBlur,s.onClose),onClick:Re(e.onClick,s.onClose)})})});B1.displayName=Om;var Vp="TooltipPortal",[CN,EN]=Zu(Vp,{forceMount:void 0}),q1=e=>{const{__scopeTooltip:n,forceMount:r,children:i,container:s}=e,l=bl(Vp,n);return f.jsx(CN,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:i})})})};q1.displayName=Vp;var Ho="TooltipContent",G1=w.forwardRef((e,n)=>{const r=EN(Ho,e.__scopeTooltip),{forceMount:i=r.forceMount,side:s="top",...l}=e,u=bl(Ho,e.__scopeTooltip);return f.jsx(yr,{present:i||u.open,children:u.disableHoverableContent?f.jsx(Z1,{side:s,...l,ref:n}):f.jsx(RN,{side:s,...l,ref:n})})}),RN=w.forwardRef((e,n)=>{const r=bl(Ho,e.__scopeTooltip),i=Fp(Ho,e.__scopeTooltip),s=w.useRef(null),l=nt(n,s),[u,d]=w.useState(null),{trigger:m,onClose:p}=r,y=s.current,{onPointerInTransitChange:v}=i,b=w.useCallback(()=>{d(null),v(!1)},[v]),x=w.useCallback((S,C)=>{const E=S.currentTarget,R={x:S.clientX,y:S.clientY},O=AN(R,E.getBoundingClientRect()),T=MN(R,O),z=NN(C.getBoundingClientRect()),I=zN([...T,...z]);d(I),v(!0)},[v]);return w.useEffect(()=>()=>b(),[b]),w.useEffect(()=>{if(m&&y){const S=E=>x(E,y),C=E=>x(E,m);return m.addEventListener("pointerleave",S),y.addEventListener("pointerleave",C),()=>{m.removeEventListener("pointerleave",S),y.removeEventListener("pointerleave",C)}}},[m,y,x,b]),w.useEffect(()=>{if(u){const S=C=>{const E=C.target,R={x:C.clientX,y:C.clientY},O=m?.contains(E)||y?.contains(E),T=!DN(R,u);O?b():T&&(b(),p())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[m,y,u,p,b]),f.jsx(Z1,{...e,ref:l})}),[jN,TN]=Zu(ol,{isInside:!1}),ON=gj("TooltipContent"),Z1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":s,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,m=bl(Ho,r),p=Ku(r),{onClose:y}=m;return w.useEffect(()=>(document.addEventListener(Tm,y),()=>document.removeEventListener(Tm,y)),[y]),w.useEffect(()=>{if(m.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(m.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[m.trigger,y]),f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(Ap,{"data-state":m.stateAttribute,...p,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(ON,{children:i}),f.jsx(jN,{scope:r,isInside:!0,children:f.jsx(jj,{id:m.contentId,role:"tooltip",children:s||i})})]})})});G1.displayName=Ho;var K1="TooltipArrow",Y1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=Ku(r);return TN(K1,r).isInside?null:f.jsx(Mp,{...s,...i,ref:n})});Y1.displayName=K1;function AN(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),s=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,i,s,l)){case l:return"left";case s:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function MN(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function NN(e){const{top:n,right:r,bottom:i,left:s}=e;return[{x:s,y:n},{x:r,y:n},{x:r,y:i},{x:s,y:i}]}function DN(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(s=!s)}return s}function zN(e){const n=e.slice();return n.sort((r,i)=>r.xi.x?1:r.yi.y?1:0),kN(n)}function kN(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))n.pop();else break}n.push(s)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const s=e[i];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))r.pop();else break}r.push(s)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var LN=U1,$N=H1,IN=B1,PN=q1,FN=G1,VN=Y1;function Q1(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let i=0;i({classGroupId:e,validator:n}),J1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),xu="-",nx=[],BN="arbitrary..",qN=e=>{const n=ZN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return GN(u);const d=u.split(xu),m=d[0]===""&&d.length>1?1:0;return W1(d,m,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const m=i[u],p=r[u];return m?p?UN(p,m):m:p||nx}return r[u]||nx}}},W1=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const s=e[n],l=r.nextPart.get(s);if(l){const p=W1(e,n+1,l);if(p)return p}const u=r.validators;if(u===null)return;const d=n===0?e.join(xu):e.slice(n).join(xu),m=u.length;for(let p=0;pe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),i=n.slice(0,r);return i?BN+i:void 0})(),ZN=e=>{const{theme:n,classGroups:r}=e;return KN(r,n)},KN=(e,n)=>{const r=J1();for(const i in e){const s=e[i];Up(s,r,i,n)}return r},Up=(e,n,r,i)=>{const s=e.length;for(let l=0;l{if(typeof e=="string"){QN(e,n,r);return}if(typeof e=="function"){XN(e,n,r,i);return}JN(e,n,r,i)},QN=(e,n,r)=>{const i=e===""?n:e_(n,e);i.classGroupId=r},XN=(e,n,r,i)=>{if(WN(e)){Up(e(i),n,r,i);return}n.validators===null&&(n.validators=[]),n.validators.push(HN(r,e))},JN=(e,n,r,i)=>{const s=Object.entries(e),l=s.length;for(let u=0;u{let r=e;const i=n.split(xu),s=i.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,eD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),i=Object.create(null);const s=(l,u)=>{r[l]=u,n++,n>e&&(n=0,i=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=i[l])!==void 0)return s(l,u),u},set(l,u){l in r?r[l]=u:s(l,u)}}},Am="!",rx=":",tD=[],ax=(e,n,r,i,s)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:i,isExternal:s}),nD=e=>{const{prefix:n,experimentalParseClassName:r}=e;let i=s=>{const l=[];let u=0,d=0,m=0,p;const y=s.length;for(let C=0;Cm?p-m:void 0;return ax(l,x,b,S)};if(n){const s=n+rx,l=i;i=u=>u.startsWith(s)?l(u.slice(s.length)):ax(tD,!1,u,void 0,!0)}if(r){const s=i;i=l=>r({className:l,parseClassName:s})}return i},rD=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,i)=>{n.set(r,1e6+i)}),r=>{const i=[];let s=[];for(let l=0;l0&&(s.sort(),i.push(...s),s=[]),i.push(u)):s.push(u)}return s.length>0&&(s.sort(),i.push(...s)),i}},aD=e=>({cache:eD(e.cacheSize),parseClassName:nD(e),sortModifiers:rD(e),postfixLookupClassGroupIds:iD(e),...qN(e)}),iD=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let i=0;i{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],m=e.trim().split(oD);let p="";for(let y=m.length-1;y>=0;y-=1){const v=m[y],{isExternal:b,modifiers:x,hasImportantModifier:S,baseClassName:C,maybePostfixModifierPosition:E}=r(v);if(b){p=v+(p.length>0?" "+p:p);continue}let R=!!E,O;if(R){const V=C.substring(0,E);O=i(V);const U=O&&u[O]?i(C):void 0;U&&U!==O&&(O=U,R=!1)}else O=i(C);if(!O){if(!R){p=v+(p.length>0?" "+p:p);continue}if(O=i(C),!O){p=v+(p.length>0?" "+p:p);continue}R=!1}const T=x.length===0?"":x.length===1?x[0]:l(x).join(":"),z=S?T+Am:T,I=z+O;if(d.indexOf(I)>-1)continue;d.push(I);const F=s(O,R);for(let V=0;V0?" "+p:p)}return p},lD=(...e)=>{let n=0,r,i,s="";for(;n{if(typeof e=="string")return e;let n,r="";for(let i=0;i{let r,i,s,l;const u=m=>{const p=n.reduce((y,v)=>v(y),e());return r=aD(p),i=r.cache.get,s=r.cache.set,l=d,d(m)},d=m=>{const p=i(m);if(p)return p;const y=sD(m,r);return s(m,y),y};return l=u,(...m)=>l(lD(...m))},uD=[],Ut=e=>{const n=r=>r[e]||uD;return n.isThemeGetter=!0,n},n_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,r_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,hD=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,mD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,pD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,gD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ma=e=>dD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Cr=e=>!!e&&Number.isInteger(Number(e)),Hh=e=>e.endsWith("%")&&He(e.slice(0,-1)),Wr=e=>fD.test(e),a_=()=>!0,vD=e=>hD.test(e)&&!mD.test(e),Hp=()=>!1,yD=e=>pD.test(e),bD=e=>gD.test(e),xD=e=>!_e(e)&&!Ce(e),wD=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),SD=e=>Qa(e,s_,Hp),_e=e=>n_.test(e),yi=e=>Qa(e,l_,vD),ix=e=>Qa(e,AD,He),_D=e=>Qa(e,u_,a_),CD=e=>Qa(e,c_,Hp),ox=e=>Qa(e,i_,Hp),ED=e=>Qa(e,o_,bD),Gc=e=>Qa(e,d_,yD),Ce=e=>r_.test(e),Vs=e=>ki(e,l_),RD=e=>ki(e,c_),sx=e=>ki(e,i_),jD=e=>ki(e,s_),TD=e=>ki(e,o_),Zc=e=>ki(e,d_,!0),OD=e=>ki(e,u_,!0),Qa=(e,n,r)=>{const i=n_.exec(e);return i?i[1]?n(i[1]):r(i[2]):!1},ki=(e,n,r=!1)=>{const i=r_.exec(e);return i?i[1]?n(i[1]):r:!1},i_=e=>e==="position"||e==="percentage",o_=e=>e==="image"||e==="url",s_=e=>e==="length"||e==="size"||e==="bg-size",l_=e=>e==="length",AD=e=>e==="number",c_=e=>e==="family-name",u_=e=>e==="number"||e==="weight",d_=e=>e==="shadow",MD=()=>{const e=Ut("color"),n=Ut("font"),r=Ut("text"),i=Ut("font-weight"),s=Ut("tracking"),l=Ut("leading"),u=Ut("breakpoint"),d=Ut("container"),m=Ut("spacing"),p=Ut("radius"),y=Ut("shadow"),v=Ut("inset-shadow"),b=Ut("text-shadow"),x=Ut("drop-shadow"),S=Ut("blur"),C=Ut("perspective"),E=Ut("aspect"),R=Ut("ease"),O=Ut("animate"),T=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...z(),Ce,_e],F=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],U=()=>[Ce,_e,m],pe=()=>[Ma,"full","auto",...U()],ge=()=>[Cr,"none","subgrid",Ce,_e],fe=()=>["auto",{span:["full",Cr,Ce,_e]},Cr,Ce,_e],Q=()=>[Cr,"auto",Ce,_e],le=()=>["auto","min","max","fr",Ce,_e],ue=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],xe=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...U()],q=()=>[Ma,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...U()],ae=()=>[Ma,"screen","full","dvw","lvw","svw","min","max","fit",...U()],te=()=>[Ma,"screen","full","lh","dvh","lvh","svh","min","max","fit",...U()],ne=()=>[e,Ce,_e],k=()=>[...z(),sx,ox,{position:[Ce,_e]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],B=()=>["auto","cover","contain",jD,SD,{size:[Ce,_e]}],X=()=>[Hh,Vs,yi],K=()=>["","none","full",p,Ce,_e],se=()=>["",He,Vs,yi],ee=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[He,Hh,sx,ox],Ne=()=>["","none",S,Ce,_e],Ie=()=>["none",He,Ce,_e],Fe=()=>["none",He,Ce,_e],ft=()=>[He,Ce,_e],Qe=()=>[Ma,"full",...U()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wr],breakpoint:[Wr],color:[a_],container:[Wr],"drop-shadow":[Wr],ease:["in","out","in-out"],font:[xD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wr],shadow:[Wr],spacing:["px",He],text:[Wr],"text-shadow":[Wr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ma,_e,Ce,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,_e]}],"container-named":[wD],columns:[{columns:[He,_e,Ce,d]}],"break-after":[{"break-after":T()}],"break-before":[{"break-before":T()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:pe()}],"inset-x":[{"inset-x":pe()}],"inset-y":[{"inset-y":pe()}],start:[{"inset-s":pe(),start:pe()}],end:[{"inset-e":pe(),end:pe()}],"inset-bs":[{"inset-bs":pe()}],"inset-be":[{"inset-be":pe()}],top:[{top:pe()}],right:[{right:pe()}],bottom:[{bottom:pe()}],left:[{left:pe()}],visibility:["visible","invisible","collapse"],z:[{z:[Cr,"auto",Ce,_e]}],basis:[{basis:[Ma,"full","auto",d,...U()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Ma,"auto","initial","none",_e]}],grow:[{grow:["",He,Ce,_e]}],shrink:[{shrink:["",He,Ce,_e]}],order:[{order:[Cr,"first","last","none",Ce,_e]}],"grid-cols":[{"grid-cols":ge()}],"col-start-end":[{col:fe()}],"col-start":[{"col-start":Q()}],"col-end":[{"col-end":Q()}],"grid-rows":[{"grid-rows":ge()}],"row-start-end":[{row:fe()}],"row-start":[{"row-start":Q()}],"row-end":[{"row-end":Q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":le()}],"auto-rows":[{"auto-rows":le()}],gap:[{gap:U()}],"gap-x":[{"gap-x":U()}],"gap-y":[{"gap-y":U()}],"justify-content":[{justify:[...ue(),"normal"]}],"justify-items":[{"justify-items":[...xe(),"normal"]}],"justify-self":[{"justify-self":["auto",...xe()]}],"align-content":[{content:["normal",...ue()]}],"align-items":[{items:[...xe(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...xe(),{baseline:["","last"]}]}],"place-content":[{"place-content":ue()}],"place-items":[{"place-items":[...xe(),"baseline"]}],"place-self":[{"place-self":["auto",...xe()]}],p:[{p:U()}],px:[{px:U()}],py:[{py:U()}],ps:[{ps:U()}],pe:[{pe:U()}],pbs:[{pbs:U()}],pbe:[{pbe:U()}],pt:[{pt:U()}],pr:[{pr:U()}],pb:[{pb:U()}],pl:[{pl:U()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":U()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":U()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],"inline-size":[{inline:["auto",...ae()]}],"min-inline-size":[{"min-inline":["auto",...ae()]}],"max-inline-size":[{"max-inline":["none",...ae()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[d,"screen",...q()]}],"min-w":[{"min-w":[d,"screen","none",...q()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",r,Vs,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,OD,_D]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hh,_e]}],"font-family":[{font:[RD,CD,n]}],"font-features":[{"font-features":[_e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ce,_e]}],"line-clamp":[{"line-clamp":[He,"none",Ce,ix]}],leading:[{leading:[l,...U()]}],"list-image":[{"list-image":["none",Ce,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ce,yi]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[He,"auto",Ce,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"tab-size":[{tab:[Cr,Ce,_e]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:k()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:B()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Cr,Ce,_e],radial:["",Ce,_e],conic:[Cr,Ce,_e]},TD,ED]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-bs":[{"border-bs":se()}],"border-w-be":[{"border-be":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-bs":[{"border-bs":ne()}],"border-color-be":[{"border-be":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ce,_e]}],"outline-w":[{outline:["",He,Vs,yi]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",y,Zc,Gc]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",v,Zc,Gc]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[He,yi]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",b,Zc,Gc]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[He,Ce,_e]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ce,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":z()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:k()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:B()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,_e]}],filter:[{filter:["","none",Ce,_e]}],blur:[{blur:Ne()}],brightness:[{brightness:[He,Ce,_e]}],contrast:[{contrast:[He,Ce,_e]}],"drop-shadow":[{"drop-shadow":["","none",x,Zc,Gc]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",He,Ce,_e]}],"hue-rotate":[{"hue-rotate":[He,Ce,_e]}],invert:[{invert:["",He,Ce,_e]}],saturate:[{saturate:[He,Ce,_e]}],sepia:[{sepia:["",He,Ce,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,_e]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ce,_e]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ce,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ce,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ce,_e]}],"backdrop-invert":[{"backdrop-invert":["",He,Ce,_e]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ce,_e]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ce,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ce,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":U()}],"border-spacing-x":[{"border-spacing-x":U()}],"border-spacing-y":[{"border-spacing-y":U()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ce,_e]}],ease:[{ease:["linear","initial",R,Ce,_e]}],delay:[{delay:[He,Ce,_e]}],animate:[{animate:["none",O,Ce,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,Ce,_e]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Fe()}],"scale-x":[{"scale-x":Fe()}],"scale-y":[{"scale-y":Fe()}],"scale-z":[{"scale-z":Fe()}],"scale-3d":["scale-3d"],skew:[{skew:ft()}],"skew-x":[{"skew-x":ft()}],"skew-y":[{"skew-y":ft()}],transform:[{transform:[Ce,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Cr,Ce,_e]}],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ne()}],"scrollbar-track-color":[{"scrollbar-track":ne()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mbs":[{"scroll-mbs":U()}],"scroll-mbe":[{"scroll-mbe":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pbs":[{"scroll-pbs":U()}],"scroll-pbe":[{"scroll-pbe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,_e]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[He,Vs,yi,ix]}],stroke:[{stroke:["none",...ne()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ND=cD(MD);function Xe(...e){return ND(X1(e))}function DD({delayDuration:e=0,...n}){return f.jsx(LN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function zD({...e}){return f.jsx($N,{"data-slot":"tooltip",...e})}function kD({...e}){return f.jsx(IN,{"data-slot":"tooltip-trigger",...e})}function LD({className:e,sideOffset:n=0,children:r,...i}){return f.jsx(PN,{children:f.jsxs(FN,{"data-slot":"tooltip-content",sideOffset:n,className:Xe("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...i,children:[r,f.jsx(VN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Mm=new Set;function $D(e){return Mm.add(e),()=>Mm.delete(e)}function ID(){for(const e of Mm)e()}const f_=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();const PD=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const FD=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,i)=>i?i.toUpperCase():r.toLowerCase());const lx=e=>{const n=FD(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Bh={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const VD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},UD=w.createContext({}),HD=()=>w.useContext(UD),BD=w.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:s="",children:l,iconNode:u,...d},m)=>{const{size:p=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=HD()??{},S=i??v?Number(r??y)*24/Number(n??p):r??y;return w.createElement("svg",{ref:m,...Bh,width:n??p??Bh.width,height:n??p??Bh.height,stroke:e??b,strokeWidth:S,className:f_("lucide",x,s),...!l&&!VD(d)&&{"aria-hidden":"true"},...d},[...u.map(([C,E])=>w.createElement(C,E)),...Array.isArray(l)?l:[l]])});const Ae=(e,n)=>{const r=w.forwardRef(({className:i,...s},l)=>w.createElement(BD,{ref:l,iconNode:n,className:f_(`lucide-${PD(lx(e))}`,`lucide-${e}`,i),...s}));return r.displayName=lx(e),r};const qD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],GD=Ae("beaker",qD);const ZD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],KD=Ae("book-open",ZD);const YD=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],QD=Ae("briefcase",YD);const XD=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],JD=Ae("bug",XD);const WD=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],ez=Ae("calendar",WD);const tz=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],h_=Ae("check",tz);const nz=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Bp=Ae("chevron-down",nz);const rz=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],az=Ae("chevron-right",rz);const iz=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],oz=Ae("chevron-up",iz);const sz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],lz=Ae("circle-check",sz);const cz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],m_=Ae("clock",cz);const uz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],dz=Ae("code",uz);const fz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],hz=Ae("compass",fz);const mz=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],pz=Ae("copy",mz);const gz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],vz=Ae("credit-card",gz);const yz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],bz=Ae("database",yz);const xz=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],wz=Ae("download",xz);const Sz=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],_z=Ae("ellipsis",Sz);const Cz=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],p_=Ae("file-text",Cz);const Ez=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Rz=Ae("flag",Ez);const jz=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],qp=Ae("folder",jz);const Tz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],Oz=Ae("gauge",Tz);const Az=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],Mz=Ae("gavel",Az);const Nz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],g_=Ae("globe",Nz);const Dz=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],zz=Ae("graduation-cap",Dz);const kz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Lz=Ae("heart",kz);const $z=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Iz=Ae("history",$z);const Pz=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Fz=Ae("image",Pz);const Vz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Uz=Ae("info",Vz);const Hz=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Bz=Ae("layout-dashboard",Hz);const qz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Gz=Ae("lightbulb",qz);const Zz=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Kz=Ae("link",Zz);const Yz=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Qz=Ae("loader-circle",Yz);const Xz=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],v_=Ae("lock",Xz);const Jz=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Wz=Ae("log-out",Jz);const ek=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],tk=Ae("megaphone",ek);const nk=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],rk=Ae("menu",nk);const ak=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],ik=Ae("music",ak);const ok=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],sk=Ae("octagon-x",ok);const lk=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],ck=Ae("package",lk);const uk=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],dk=Ae("pen-line",uk);const fk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],hk=Ae("plus",fk);const mk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],pk=Ae("rocket",mk);const gk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],y_=Ae("search",gk);const vk=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],yk=Ae("settings",vk);const bk=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],xk=Ae("share-2",bk);const wk=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],b_=Ae("shield",wk);const Sk=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],x_=Ae("square-terminal",Sk);const _k=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Ck=Ae("star",_k);const Ek=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Rk=Ae("trash-2",Ek);const jk=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],w_=Ae("triangle-alert",jk);const Tk=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Ok=Ae("upload",Tk);const Ak=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],S_=Ae("users",Ak);const Mk=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Nk=Ae("wrench",Mk);const Dk=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],__=Ae("x",Dk);function zk(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Yu(),e?document.getElementById("sidebar")?.querySelector(kk)?.focus():document.getElementById("menu-btn")?.focus()}const kk='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function pr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Yu(),e&&window.innerWidth<=iu&&document.getElementById("menu-btn")?.focus()}const iu=900;function Yu(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=iu&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const i=document.getElementById("main");i&&(n&&window.innerWidth<=iu?i.setAttribute("inert",""):i.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=iu)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Yu),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&pr()}));const Lk={alert:w_,card:vz,check:h_,chev:az,chevd:Bp,clock:m_,copy:pz,doc:p_,dots:_z,download:wz,folder:qp,dashboard:Bz,gear:yk,globe:g_,hist:Iz,link:Kz,lock:v_,menu:rk,plus:hk,power:Wz,search:y_,share:xk,shield:b_,terminal:x_,trash:Rk,upload:Ok,users:S_,x:__};function dt({name:e}){const n=Lk[e];return n?f.jsx(n,{className:"ico","aria-hidden":"true"}):null}const Nm={folder:qp,"book-open":KD,"file-text":p_,"pen-line":dk,users:S_,briefcase:QD,megaphone:tk,rocket:pk,lightbulb:Gz,flag:Rz,star:Ck,heart:Lz,code:dz,"square-terminal":x_,bug:JD,wrench:Nk,database:bz,package:ck,beaker:GD,gauge:Oz,shield:b_,lock:v_,gavel:Mz,globe:g_,compass:hz,calendar:ez,clock:m_,"graduation-cap":zz,image:Fz,music:ik};function $o({name:e,className:n}){const r=e??"",i=Object.hasOwn(Nm,r)?Nm[r]:qp;return f.jsx(i,{className:n,"aria-hidden":"true"})}function $k({size:e=22}){return f.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[f.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),f.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),f.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function wu(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return f.jsx("div",{className:n,children:e.children})}function Ik(e){e&&Yu()}function sl(e){return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:"sb-backdrop",onClick:pr}),f.jsxs("aside",{id:"sidebar",ref:Ik,children:[e.vault,e.projectsNav,e.tree??f.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),f.jsxs("main",{id:"main",children:[e.topbar,f.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Qu(e){const{name:n,onHome:r,showSignout:i,search:s}=e;return f.jsxs("header",{id:"vault",children:[f.jsx("span",{id:"vault-badge",children:f.jsx($k,{size:22})}),f.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:l=>{r&&(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),r())},children:n}),f.jsxs("div",{className:"vault-actions",children:[s&&f.jsxs(zD,{delayDuration:150,children:[f.jsx(kD,{asChild:!0,children:f.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{ID(),pr()},children:f.jsx(dt,{name:"search"})})}),f.jsxs(LD,{className:"tipcard",sideOffset:6,children:["Search ",f.jsx("kbd",{children:"⌘K"})]})]}),i&&f.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:f.jsx(dt,{name:"power"})})]})]})}function ll(e){return f.jsxs("header",{id:"topbar",children:[f.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:zk,children:f.jsx(dt,{name:"menu"})}),f.jsx("span",{id:"crumb",children:e.crumb}),f.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function Pk(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const Fk=e=>{switch(e){case"success":return Hk;case"info":return qk;case"warning":return Bk;case"error":return Gk;default:return null}},Vk=Array(12).fill(0),Uk=({visible:e,className:n})=>he.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},he.createElement("div",{className:"sonner-spinner"},Vk.map((r,i)=>he.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),Hk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Bk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),qk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Gk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Zk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},he.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),he.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Kk=()=>{const[e,n]=he.useState(document.hidden);return he.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Dm=1;class Yk{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:i,...s}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Dm++,u=this.toasts.find(m=>m.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(m=>m.id===l?(this.publish({...m,...n,id:l,title:i}),{...m,...n,id:l,dismissible:d,title:i}):m):this.addToast({title:i,...s,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const s=Promise.resolve(n instanceof Function?n():n);let l=i!==void 0,u;const d=s.then(async p=>{if(u=["resolve",p],he.isValidElement(p))l=!1,this.create({id:i,type:"default",message:p});else if(Xk(p)&&!p.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${p.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${p.status}`):r.description,S=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...S})}else if(p instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(p):r.error,b=typeof r.description=="function"?await r.description(p):r.description,S=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...S})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(p):r.success,b=typeof r.description=="function"?await r.description(p):r.description,S=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"success",description:b,...S})}}).catch(async p=>{if(u=["reject",p],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(p):r.error,v=typeof r.description=="function"?await r.description(p):r.description,x=typeof y=="object"&&!he.isValidElement(y)?y:{message:y};this.create({id:i,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(i),i=void 0),r.finally==null||r.finally.call(r)}),m=()=>new Promise((p,y)=>d.then(()=>u[0]==="reject"?y(u[1]):p(u[1])).catch(y));return typeof i!="string"&&typeof i!="number"?{unwrap:m}:Object.assign(i,{unwrap:m})},this.custom=(n,r)=>{const i=r?.id||Dm++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const An=new Yk,Qk=(e,n)=>{const r=n?.id||Dm++;return An.addToast({title:e,...n,id:r}),r},Xk=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Jk=Qk,Wk=()=>An.toasts,e3=()=>An.getActiveToasts(),cx=Object.assign(Jk,{success:An.success,info:An.info,warning:An.warning,error:An.error,custom:An.custom,message:An.message,promise:An.promise,dismiss:An.dismiss,loading:An.loading},{getHistory:Wk,getToasts:e3});Pk("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Kc(e){return e.label!==void 0}const t3=3,n3="24px",r3="16px",ux=4e3,a3=356,i3=14,o3=45,s3=200;function Er(...e){return e.filter(Boolean).join(" ")}function l3(e){const[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}const c3=e=>{var n,r,i,s,l,u,d,m,p;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:S,visibleToasts:C,heights:E,index:R,toasts:O,expanded:T,removeToast:z,defaultRichColors:I,closeButton:F,style:V,cancelButtonStyle:U,actionButtonStyle:pe,className:ge="",descriptionClassName:fe="",duration:Q,position:le,gap:ue,expandByDefault:xe,classNames:N,icons:q,closeButtonAriaLabel:ae="Close toast"}=e,[te,ne]=he.useState(null),[k,M]=he.useState(null),[B,X]=he.useState(!1),[K,se]=he.useState(!1),[ee,ve]=he.useState(!1),[ye,Ne]=he.useState(!1),[Ie,Fe]=he.useState(!1),[ft,Qe]=he.useState(0),[vn,un]=he.useState(0),Kt=he.useRef(v.duration||Q||ux),ir=he.useRef(null),Dt=he.useRef(null),or=R===0,Dr=R+1<=C,Tt=v.type,Un=v.dismissible!==!1,wt=v.className||"",oa=v.descriptionClassName||"",yn=he.useMemo(()=>E.findIndex(Me=>Me.toastId===v.id)||0,[E,v.id]),zr=he.useMemo(()=>{var Me;return(Me=v.closeButton)!=null?Me:F},[v.closeButton,F]),sr=he.useMemo(()=>v.duration||Q||ux,[v.duration,Q]),Yt=he.useRef(0),bn=he.useRef(0),A=he.useRef(0),D=he.useRef(null),[$,J]=le.split("-"),ce=he.useMemo(()=>E.reduce((Me,ht,yt)=>yt>=yn?Me:Me+ht.height,0),[E,yn]),me=Kk(),be=v.invert||y,we=Tt==="loading";bn.current=he.useMemo(()=>yn*ue+ce,[yn,ce]),he.useEffect(()=>{Kt.current=sr},[sr]),he.useEffect(()=>{X(!0)},[]),he.useEffect(()=>{const Me=Dt.current;if(Me){const ht=Me.getBoundingClientRect().height;return un(ht),S(yt=>[{toastId:v.id,height:ht,position:v.position},...yt]),()=>S(yt=>yt.filter(Ht=>Ht.toastId!==v.id))}},[S,v.id]),he.useLayoutEffect(()=>{if(!B)return;const Me=Dt.current,ht=Me.style.height;Me.style.height="auto";const yt=Me.getBoundingClientRect().height;Me.style.height=ht,un(yt),S(Ht=>Ht.find(_t=>_t.toastId===v.id)?Ht.map(_t=>_t.toastId===v.id?{..._t,height:yt}:_t):[{toastId:v.id,height:yt,position:v.position},...Ht])},[B,v.title,v.description,S,v.id,v.jsx,v.action,v.cancel]);const je=he.useCallback(()=>{se(!0),Qe(bn.current),S(Me=>Me.filter(ht=>ht.toastId!==v.id)),setTimeout(()=>{z(v)},s3)},[v,z,S,bn]);he.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Me;return T||x||me?(()=>{if(A.current{v.onAutoClose==null||v.onAutoClose.call(v,v),je()},Kt.current)),()=>clearTimeout(Me)},[T,x,v,Tt,me,je]),he.useEffect(()=>{v.delete&&(je(),v.onDismiss==null||v.onDismiss.call(v,v))},[je,v.delete]);function et(){var Me;if(q?.loading){var ht;return he.createElement("div",{className:Er(N?.loader,v==null||(ht=v.classNames)==null?void 0:ht.loader,"sonner-loader"),"data-visible":Tt==="loading"},q.loading)}return he.createElement(Uk,{className:Er(N?.loader,v==null||(Me=v.classNames)==null?void 0:Me.loader),visible:Tt==="loading"})}const St=v.icon||q?.[Tt]||Fk(Tt);var Qt,zt;return he.createElement("li",{tabIndex:0,ref:Dt,className:Er(ge,wt,N?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,N?.default,N?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Qt=v.richColors)!=null?Qt:I,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":B,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":K,"data-visible":Dr,"data-y-position":$,"data-x-position":J,"data-index":R,"data-front":or,"data-swiping":ee,"data-dismissible":Un,"data-type":Tt,"data-invert":be,"data-swipe-out":ye,"data-swipe-direction":k,"data-expanded":!!(T||xe&&B),"data-testid":v.testId,style:{"--index":R,"--toasts-before":R,"--z-index":O.length-R,"--offset":`${K?ft:bn.current}px`,"--initial-height":xe?"auto":`${vn}px`,...V,...v.style},onDragEnd:()=>{ve(!1),ne(null),D.current=null},onPointerDown:Me=>{Me.button!==2&&(we||!Un||(ir.current=new Date,Qe(bn.current),Me.target.setPointerCapture(Me.pointerId),Me.target.tagName!=="BUTTON"&&(ve(!0),D.current={x:Me.clientX,y:Me.clientY})))},onPointerUp:()=>{var Me,ht,yt;if(ye||!Un)return;D.current=null;const Ht=Number(((Me=Dt.current)==null?void 0:Me.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),lr=Number(((ht=Dt.current)==null?void 0:ht.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),_t=new Date().getTime()-((yt=ir.current)==null?void 0:yt.getTime()),xn=te==="x"?Ht:lr,Wa=Math.abs(xn)/_t;if(Math.abs(xn)>=o3||Wa>.11){Qe(bn.current),v.onDismiss==null||v.onDismiss.call(v,v),M(te==="x"?Ht>0?"right":"left":lr>0?"down":"up"),je(),Ne(!0);return}else{var wn,Sn;(wn=Dt.current)==null||wn.style.setProperty("--swipe-amount-x","0px"),(Sn=Dt.current)==null||Sn.style.setProperty("--swipe-amount-y","0px")}Fe(!1),ve(!1),ne(null)},onPointerMove:Me=>{var ht,yt,Ht;if(!D.current||!Un||((ht=window.getSelection())==null?void 0:ht.toString().length)>0)return;const _t=Me.clientY-D.current.y,xn=Me.clientX-D.current.x;var Wa;const wn=(Wa=e.swipeDirections)!=null?Wa:l3(le);!te&&(Math.abs(xn)>1||Math.abs(_t)>1)&&ne(Math.abs(xn)>Math.abs(_t)?"x":"y");let Sn={x:0,y:0};const $i=cr=>1/(1.5+Math.abs(cr)/20);if(te==="y"){if(wn.includes("top")||wn.includes("bottom"))if(wn.includes("top")&&_t<0||wn.includes("bottom")&&_t>0)Sn.y=_t;else{const cr=_t*$i(_t);Sn.y=Math.abs(cr)0)Sn.x=xn;else{const cr=xn*$i(xn);Sn.x=Math.abs(cr)0||Math.abs(Sn.y)>0)&&Fe(!0),(yt=Dt.current)==null||yt.style.setProperty("--swipe-amount-x",`${Sn.x}px`),(Ht=Dt.current)==null||Ht.style.setProperty("--swipe-amount-y",`${Sn.y}px`)}},zr&&!v.jsx&&Tt!=="loading"?he.createElement("button",{"aria-label":ae,"data-disabled":we,"data-close-button":!0,onClick:we||!Un?()=>{}:()=>{je(),v.onDismiss==null||v.onDismiss.call(v,v)},className:Er(N?.closeButton,v==null||(i=v.classNames)==null?void 0:i.closeButton)},(zt=q?.close)!=null?zt:Zk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(q?.[Tt]!==null||v.icon)?he.createElement("div",{"data-icon":"",className:Er(N?.icon,v==null||(s=v.classNames)==null?void 0:s.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||et():null,v.type!=="loading"?St:null):null,he.createElement("div",{"data-content":"",className:Er(N?.content,v==null||(l=v.classNames)==null?void 0:l.content)},he.createElement("div",{"data-title":"",className:Er(N?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?he.createElement("div",{"data-description":"",className:Er(fe,oa,N?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),he.isValidElement(v.cancel)?v.cancel:v.cancel&&Kc(v.cancel)?he.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||U,onClick:Me=>{Kc(v.cancel)&&Un&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Me),je())},className:Er(N?.cancelButton,v==null||(m=v.classNames)==null?void 0:m.cancelButton)},v.cancel.label):null,he.isValidElement(v.action)?v.action:v.action&&Kc(v.action)?he.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||pe,onClick:Me=>{Kc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Me),!Me.defaultPrevented&&je())},className:Er(N?.actionButton,v==null||(p=v.classNames)==null?void 0:p.actionButton)},v.action.label):null)};function dx(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function u3(e,n){const r={};return[e,n].forEach((i,s)=>{const l=s===1,u=l?"--mobile-offset":"--offset",d=l?r3:n3;function m(p){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof p=="number"?`${p}px`:p})}typeof i=="number"||typeof i=="string"?m(i):typeof i=="object"?["top","right","bottom","left"].forEach(p=>{i[p]===void 0?r[`${u}-${p}`]=d:r[`${u}-${p}`]=typeof i[p]=="number"?`${i[p]}px`:i[p]}):m(d)}),r}const d3=he.forwardRef(function(n,r){const{id:i,invert:s,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:m,className:p,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:S,style:C,visibleToasts:E=t3,toastOptions:R,dir:O=dx(),gap:T=i3,icons:z,containerAriaLabel:I="Notifications"}=n,[F,V]=he.useState([]),U=he.useMemo(()=>i?F.filter(B=>B.toasterId===i):F.filter(B=>!B.toasterId),[F,i]),pe=he.useMemo(()=>Array.from(new Set([l].concat(U.filter(B=>B.position).map(B=>B.position)))),[U,l]),[ge,fe]=he.useState([]),[Q,le]=he.useState(!1),[ue,xe]=he.useState(!1),[N,q]=he.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ae=he.useRef(null),te=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),ne=he.useRef(null),k=he.useRef(!1),M=he.useCallback(B=>{V(X=>{var K;return(K=X.find(se=>se.id===B.id))!=null&&K.delete||An.dismiss(B.id),X.filter(({id:se})=>se!==B.id)})},[]);return he.useEffect(()=>An.subscribe(B=>{if(B.dismiss){requestAnimationFrame(()=>{V(X=>X.map(K=>K.id===B.id?{...K,delete:!0}:K))});return}setTimeout(()=>{mj.flushSync(()=>{V(X=>{const K=X.findIndex(se=>se.id===B.id);return K!==-1?[...X.slice(0,K),{...X[K],...B},...X.slice(K+1)]:[B,...X]})})})}),[F]),he.useEffect(()=>{if(b!=="system"){q(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?q("dark"):q("light")),typeof window>"u")return;const B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:X})=>{q(X?"dark":"light")})}catch{B.addListener(({matches:K})=>{try{q(K?"dark":"light")}catch(se){console.error(se)}})}},[b]),he.useEffect(()=>{F.length<=1&&le(!1)},[F]),he.useEffect(()=>{const B=X=>{var K;if(u.every(ve=>X[ve]||X.code===ve)){var ee;le(!0),(ee=ae.current)==null||ee.focus()}X.code==="Escape"&&(document.activeElement===ae.current||(K=ae.current)!=null&&K.contains(document.activeElement))&&le(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[u]),he.useEffect(()=>{if(ae.current)return()=>{ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null,k.current=!1)}},[ae.current]),he.createElement("section",{ref:r,"aria-label":`${I} ${te}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},pe.map((B,X)=>{var K;const[se,ee]=B.split("-");return U.length?he.createElement("ol",{key:B,dir:O==="auto"?dx():O,tabIndex:-1,ref:ae,className:p,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":se,"data-x-position":ee,style:{"--front-toast-height":`${((K=ge[0])==null?void 0:K.height)||0}px`,"--width":`${a3}px`,"--gap":`${T}px`,...C,...u3(y,v)},onBlur:ve=>{k.current&&!ve.currentTarget.contains(ve.relatedTarget)&&(k.current=!1,ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null))},onFocus:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||k.current||(k.current=!0,ne.current=ve.relatedTarget)},onMouseEnter:()=>le(!0),onMouseMove:()=>le(!0),onMouseLeave:()=>{ue||le(!1)},onDragEnd:()=>le(!1),onPointerDown:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||xe(!0)},onPointerUp:()=>xe(!1)},U.filter(ve=>!ve.position&&X===0||ve.position===B).map((ve,ye)=>{var Ne,Ie;return he.createElement(c3,{key:ve.id,icons:z,index:ye,toast:ve,defaultRichColors:x,duration:(Ne=R?.duration)!=null?Ne:S,className:R?.className,descriptionClassName:R?.descriptionClassName,invert:s,visibleToasts:E,closeButton:(Ie=R?.closeButton)!=null?Ie:m,interacting:ue,position:B,style:R?.style,unstyled:R?.unstyled,classNames:R?.classNames,cancelButtonStyle:R?.cancelButtonStyle,actionButtonStyle:R?.actionButtonStyle,closeButtonAriaLabel:R?.closeButtonAriaLabel,removeToast:M,toasts:U.filter(Fe=>Fe.position==ve.position),heights:ge.filter(Fe=>Fe.position==ve.position),setHeights:fe,expandByDefault:d,gap:T,expanded:Q,swipeDirections:n.swipeDirections})})):null}))}),f3=({...e})=>f.jsx(d3,{theme:"dark",className:"toaster group",icons:{success:f.jsx(lz,{className:"size-4"}),info:f.jsx(Uz,{className:"size-4"}),warning:f.jsx(w_,{className:"size-4"}),error:f.jsx(sk,{className:"size-4"}),loading:f.jsx(Qz,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?cx.error(e,{duration:1/0,closeButton:!0}):cx(e)}function h3(){return f.jsx(f3,{position:"bottom-center"})}const fx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,hx=X1,m3=(e,n)=>r=>{var i;if(n?.variants==null)return hx(e,r?.class,r?.className);const{variants:s,defaultVariants:l}=n,u=Object.keys(s).map(p=>{const y=r?.[p],v=l?.[p];if(y===null)return null;const b=fx(y)||fx(v);return s[p][b]}),d=r&&Object.entries(r).reduce((p,y)=>{let[v,b]=y;return b===void 0||(p[v]=b),p},{}),m=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((p,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(S=>{let[C,E]=S;return Array.isArray(E)?E.includes({...l,...d}[C]):{...l,...d}[C]===E})?[...p,v,b]:p},[]);return hx(e,u,m,r?.class,r?.className)},p3=m3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:i=!1,...s}){const l=i?pj:"button";return f.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Xe(p3({variant:n,size:r,className:e})),...s})}function Xu({...e}){return f.jsx(hp,{"data-slot":"dialog",...e})}function g3({...e}){return f.jsx(pp,{"data-slot":"dialog-portal",...e})}function v3({className:e,...n}){return f.jsx(gp,{"data-slot":"dialog-overlay",className:Xe("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Ju({className:e,children:n,showCloseButton:r=!0,...i}){return f.jsxs(g3,{"data-slot":"dialog-portal",children:[f.jsx(v3,{}),f.jsxs(vp,{"data-slot":"dialog-content",className:Xe("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...i,children:[n,r&&f.jsxs(rS,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[f.jsx(__,{}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function xl({className:e,...n}){return f.jsx(eS,{"data-slot":"dialog-title",className:Xe("text-lg leading-none font-semibold",e),...n})}let C_=null,ou=[];function wl(e){C_=e,ou.forEach(n=>n())}function E_(e,n,r="",i="OK",s={}){return new Promise(l=>wl({kind:"prompt",title:e,label:n,value:r,okLabel:i,...s,resolve:l}))}function Sl(e,n,r="Confirm",i=!1){return new Promise(s=>wl({kind:"confirm",title:e,message:n,confirmLabel:r,danger:i,resolve:s}))}function y3(){const e=w.useSyncExternalStore(r=>(ou.push(r),()=>{ou=ou.filter(i=>i!==r)}),()=>C_);if(!e)return null;const n=()=>{wl(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return f.jsx(Xu,{open:!0,onOpenChange:r=>!r&&n(),children:f.jsx(Ju,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?f.jsx(b3,{m:e}):f.jsx(x3,{m:e})})})}function b3({m:e}){const n=w.useRef(null),r=p=>{wl(null),e.resolve(p)},[i,s]=w.useState(""),[l,u]=w.useState(e.value),d=e.match===void 0||l.trim()===e.match,m=()=>{const p=l;if(d){if(!p.trim()){s("Give it a name."),n.current.focus();return}r(p)}};return f.jsxs(f.Fragment,{children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:p=>p.currentTarget.select(),"aria-invalid":!!i,"aria-describedby":i?"modal-input-err":void 0,onChange:p=>{u(p.currentTarget.value),i&&s("")},onKeyDown:p=>p.key==="Enter"&&m()}),i&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:i}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:m,disabled:!d,children:e.okLabel})]})]})}function x3({m:e}){const n=r=>{wl(null),e.resolve(r)};return f.jsxs(f.Fragment,{children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("p",{className:"modal-msg",children:e.message}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function w3(e){return Zt({queryKey:["projects"],queryFn:()=>ln("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function S3(e){return Zt({queryKey:["orgs"],queryFn:()=>ln("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function _3(e){return Zt({queryKey:["permissions",e],queryFn:()=>ln(`/api/p/${e}/permissions`),enabled:!!e})}function R_(e,n=!0){return Zt({queryKey:["shares",e],queryFn:()=>ln(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function j_(e){return Zt({queryKey:["admin","pending"],queryFn:()=>ln("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function T_(){const e=Ai();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function O_(e){return e.split("/").map(encodeURIComponent).join("/")}function C3(e){try{return decodeURIComponent(e)}catch{return e}}function E3(e){return e.split("/").map(C3).join("/")}const R3=new Set(["dashboard","history","install","settings"]),mx={insights:"dashboard"};function j3(e){return Object.hasOwn(mx,e)?mx[e]:void 0}const Gp=["q","user","since","until"];function Zp(e){return!!e&&Gp.some(n=>!!e[n])}function A_(e){const n=new URLSearchParams;for(const i of Gp)e?.[i]&&n.set(i,e[i]);const r=n.toString();return r?"?"+r:""}function M_(e,n){const r=e.indexOf("?"),i=r===-1?null:new URLSearchParams(e.slice(r)),s=i?.get("v")||"",l=i?.get("connect")||"",u=T3(r===-1?e:e.slice(0,r),n);s&&(u.version=s),l&&(u.connect=l);const d={};for(const m of Gp){const p=i?.get(m);p&&(d[m]=p)}return Zp(d)&&(u.filters=d),u}function px(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?E3(r):"",e}function T3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return px({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const i=r.indexOf("/");if(i===-1)return{project:r,path:""};const s=px({project:r.slice(0,i),path:""},r.slice(i+1)),l=s.path.indexOf("/"),u=l===-1?s.path:s.path.slice(0,l),d=j3(u);return(R3.has(u)||d)&&(s.view=d||u,d&&(s.legacyView=!0),s.viewTarget=l===-1?"":s.path.slice(l+1).replace(/\/+$/,""),s.path=""),s}function Wu(e,n,r){const i=O_(e),s=r?"?v="+r:"";return n?"/"+n+(i?"/"+i:"")+s:"/"+i+s}function Wn(e,n,r,i){let s=(n?"/"+n:"")+"/"+e;return r&&(s+="/"+O_(r.replace(/\/+$/,""))),s+(e==="history"?A_(i):"")}let Kp="POP";const zm=new Set;function N_(){for(const e of zm)e()}window.addEventListener("popstate",()=>{Kp="POP",N_()});function rn(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Kp=n?.replace?"REPLACE":"PUSH",N_())}function Yp(){return w.useSyncExternalStore(e=>(zm.add(e),()=>{zm.delete(e)}),()=>location.pathname+location.search)}function O3(){return Kp}function cl(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),rn(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function su({to:e}){return w.useEffect(()=>{rn(e,{replace:!0})},[e]),null}function D_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Da(e,n){return typeof e=="function"?e(n):e}function Vn(e,n){return r=>{n.setState(i=>({...i,[e]:Da(r,i[e])}))}}function ed(e){return e instanceof Function}function A3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function M3(e,n){const r=[],i=s=>{s.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&i(u)})};return i(e),r}function ze(e,n,r){let i=[],s;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==i.length||d.some((y,v)=>i[v]!==y)))return s;i=d;let p;if(r.key&&r.debug&&(p=Date.now()),s=n(...d),r==null||r.onChange==null||r.onChange(s),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-p)*100)/100,b=v/16,x=(S,C)=>{for(S=String(S);S.lengthMath.abs(z)?"h":"v";if("touches"in C&&V==="h"&&F.type==="range")return!1;var U=window.getSelection(),pe=U&&U.anchorNode,ge=pe?pe===F||pe.contains(F):!1;if(ge)return!1;var fe=Fb(V,F);if(!fe)return!0;if(fe?I=V:(I=V==="v"?"h":"v",fe=Fb(V,F)),!fe)return!1;if(!i.current&&"changedTouches"in C&&(T||z)&&(i.current=I),!I)return!0;var Q=i.current||I;return MT(Q,E,C,Q==="h"?T:z)},[]),m=w.useCallback(function(C){var E=C;if(!(!Eo.length||Eo[Eo.length-1]!==l)){var R="deltaY"in E?Vb(E):Uc(E),O=n.current.filter(function(I){return I.name===E.type&&(I.target===E.target||E.target===I.shadowParent)&&NT(I.delta,R)})[0];if(O&&O.should){E.cancelable&&E.preventDefault();return}if(!O){var T=(u.current.shards||[]).map(Ub).filter(Boolean).filter(function(I){return I.contains(E.target)}),z=T.length>0?d(E,T[0]):!u.current.noIsolation;z&&E.cancelable&&E.preventDefault()}}},[]),p=w.useCallback(function(C,E,R,O){var T={name:C,delta:E,target:R,should:O,shadowParent:LT(R)};n.current.push(T),setTimeout(function(){n.current=n.current.filter(function(z){return z!==T})},1)},[]),y=w.useCallback(function(C){r.current=Uc(C),i.current=void 0},[]),v=w.useCallback(function(C){p(C.type,Vb(C),C.target,d(C,e.lockRef.current))},[]),b=w.useCallback(function(C){p(C.type,Uc(C),C.target,d(C,e.lockRef.current))},[]);w.useEffect(function(){return Eo.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",m,Co),document.addEventListener("touchmove",m,Co),document.addEventListener("touchstart",y,Co),function(){Eo=Eo.filter(function(C){return C!==l}),document.removeEventListener("wheel",m,Co),document.removeEventListener("touchmove",m,Co),document.removeEventListener("touchstart",y,Co)}},[]);var x=e.removeScrollBar,S=e.inert;return w.createElement(w.Fragment,null,S?w.createElement(l,{styles:DT(s)}):null,x?w.createElement(CT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function LT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const $T=dT(Hw,kT);var Du=w.forwardRef(function(e,n){return w.createElement(Nu,Tr({},e,{ref:n,sideCar:$T}))});Du.classNames=Nu.classNames;var IT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Ro=new WeakMap,Hc=new WeakMap,Bc={},$h=0,Kw=function(e){return e&&(e.host||Kw(e.parentNode))},PT=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Kw(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},FT=function(e,n,r,i){var s=PT(n,Array.isArray(e)?e:[e]);Bc[r]||(Bc[r]=new WeakMap);var l=Bc[r],u=[],d=new Set,m=new Set(s),p=function(v){!v||d.has(v)||(d.add(v),p(v.parentNode))};s.forEach(p);var y=function(v){!v||m.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(i),S=x!==null&&x!=="false",C=(Ro.get(b)||0)+1,E=(l.get(b)||0)+1;Ro.set(b,C),l.set(b,E),u.push(b),C===1&&S&&Hc.set(b,!0),E===1&&b.setAttribute(r,"true"),S||b.setAttribute(i,"true")}catch(R){console.error("aria-hidden: cannot operate on ",b,R)}})};return y(n),d.clear(),$h++,function(){u.forEach(function(v){var b=Ro.get(v)-1,x=l.get(v)-1;Ro.set(v,b),l.set(v,x),b||(Hc.has(v)||v.removeAttribute(i),Hc.delete(v)),x||v.removeAttribute(r)}),$h--,$h||(Ro=new WeakMap,Ro=new WeakMap,Hc=new WeakMap,Bc={})}},fp=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),s=IT(e);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),FT(i,s,r,"aria-hidden")):function(){return null}},zu="Dialog",[Yw]=Ga(zu),[VT,br]=Yw(zu),hp=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,d=w.useRef(null),m=w.useRef(null),[p,y]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:zu});return f.jsx(VT,{scope:n,triggerRef:d,contentRef:m,contentId:hn(),titleId:hn(),descriptionId:hn(),open:p,onOpenChange:y,onOpenToggle:w.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};hp.displayName=zu;var Qw="DialogTrigger",UT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Qw,r),l=nt(n,s.triggerRef);return f.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":yp(s.open),...i,ref:l,onClick:Re(e.onClick,s.onOpenToggle)})});UT.displayName=Qw;var mp="DialogPortal",[HT,Xw]=Yw(mp,{forceMount:void 0}),pp=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:s}=e,l=br(mp,n);return f.jsx(HT,{scope:n,forceMount:r,children:w.Children.map(i,u=>f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:u})}))})};pp.displayName=mp;var fu="DialogOverlay",gp=w.forwardRef((e,n)=>{const r=Xw(fu,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(fu,e.__scopeDialog);return l.modal?f.jsx(yr,{present:i||l.open,children:f.jsx(qT,{...s,ref:n})}):null});gp.displayName=fu;var BT=_i("DialogOverlay.RemoveScroll"),qT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(fu,r),l=Bj(),u=nt(n,l);return f.jsx(Du,{as:BT,allowPinchZoom:!0,shards:[s.contentRef],children:f.jsx($e.div,{"data-state":yp(s.open),...i,ref:u,style:{pointerEvents:"auto",...i.style}})})}),Uo="DialogContent",vp=w.forwardRef((e,n)=>{const r=Xw(Uo,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(Uo,e.__scopeDialog);return f.jsx(yr,{present:i||l.open,children:l.modal?f.jsx(GT,{...s,ref:n}):f.jsx(ZT,{...s,ref:n})})});vp.displayName=Uo;var GT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=w.useRef(null),s=nt(n,r.contentRef,i);return w.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(Jw,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Re(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:Re(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault())})}),ZT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=w.useRef(!1),s=w.useRef(!1);return f.jsx(Jw,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(i.current||r.triggerRef.current?.focus(),l.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),Jw=w.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:l,...u}=e,d=br(Uo,r);return dp(),f.jsx(f.Fragment,{children:f.jsx(Mu,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:l,children:f.jsx(ml,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":yp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),Ww="DialogTitle",eS=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Ww,r);return f.jsx($e.h2,{id:s.titleId,...i,ref:n})});eS.displayName=Ww;var tS="DialogDescription",KT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(tS,r);return f.jsx($e.p,{id:s.descriptionId,...i,ref:n})});KT.displayName=tS;var nS="DialogClose",rS=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(nS,r);return f.jsx($e.button,{type:"button",...i,ref:n,onClick:Re(e.onClick,()=>s.onOpenChange(!1))})});rS.displayName=nS;function yp(e){return e?"open":"closed"}function YT(e){const n=w.useRef({value:e,previous:e});return w.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function QT(e){const[n,r]=w.useState(void 0);return Gt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const l=s[0];let u,d;if("borderBoxSize"in l){const m=l.borderBoxSize,p=Array.isArray(m)?m[0]:m;u=p.inlineSize,d=p.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}const XT=["top","right","bottom","left"],Va=Math.min,na=Math.max,hu=Math.round,qc=Math.floor,ra=e=>({x:e,y:e}),JT={left:"right",right:"left",bottom:"top",top:"bottom"};function aS(e,n,r){return na(e,Va(n,r))}function aa(e,n){return typeof e=="function"?e(n):e}function Ua(e){return e.split("-")[0]}function qo(e){return e.split("-")[1]}function bp(e){return e==="x"?"y":"x"}function xp(e){return e==="y"?"height":"width"}function Or(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function wp(e){return bp(Or(e))}function WT(e,n,r){r===void 0&&(r=!1);const i=qo(e),s=wp(e),l=xp(s);let u=s==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=mu(u)),[u,mu(u)]}function eO(e){const n=mu(e);return[xm(e),n,xm(n)]}function xm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Hb=["left","right"],Bb=["right","left"],tO=["top","bottom"],nO=["bottom","top"];function rO(e,n,r){switch(e){case"top":case"bottom":return r?n?Bb:Hb:n?Hb:Bb;case"left":case"right":return n?tO:nO;default:return[]}}function aO(e,n,r,i){const s=qo(e);let l=rO(Ua(e),r==="start",i);return s&&(l=l.map(u=>u+"-"+s),n&&(l=l.concat(l.map(xm)))),l}function mu(e){const n=Ua(e);return JT[n]+e.slice(n.length)}function iO(e){var n,r,i,s;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(i=e.bottom)!=null?i:0,left:(s=e.left)!=null?s:0}}function iS(e){return typeof e!="number"?iO(e):{top:e,right:e,bottom:e,left:e}}function pu(e){const{x:n,y:r,width:i,height:s}=e;return{width:i,height:s,top:r,left:n,right:n+i,bottom:r+s,x:n,y:r}}function qb(e,n,r){let{reference:i,floating:s}=e;const l=Or(n),u=wp(n),d=xp(u),m=Ua(n),p=l==="y",y=i.x+i.width/2-s.width/2,v=i.y+i.height/2-s.height/2,b=i[d]/2-s[d]/2;let x;switch(m){case"top":x={x:y,y:i.y-s.height};break;case"bottom":x={x:y,y:i.y+i.height};break;case"right":x={x:i.x+i.width,y:v};break;case"left":x={x:i.x-s.width,y:v};break;default:x={x:i.x,y:i.y}}const S=qo(n);return S&&(x[u]+=b*(S==="end"?1:-1)*(r&&p?-1:1)),x}async function oO(e,n){var r;n===void 0&&(n={});const{x:i,y:s,platform:l,rects:u,elements:d,strategy:m}=e,{boundary:p="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=aa(n,e),S=iS(x),E=d[b?v==="floating"?"reference":"floating":v],R=pu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:p,rootBoundary:y,strategy:m})),O=v==="floating"?{x:i,y:s,width:u.floating.width,height:u.floating.height}:u.reference,T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),z=await(l.isElement==null?void 0:l.isElement(T))&&await(l.getScale==null?void 0:l.getScale(T))||{x:1,y:1},I=pu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:O,offsetParent:T,strategy:m}):O);return{top:(R.top-I.top+S.top)/z.y,bottom:(I.bottom-R.bottom+S.bottom)/z.y,left:(R.left-I.left+S.left)/z.x,right:(I.right-R.right+S.right)/z.x}}const sO=50,lO=async(e,n,r)=>{const{placement:i="bottom",strategy:s="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:oO},m=await(u.isRTL==null?void 0:u.isRTL(n));let p=await u.getElementRects({reference:e,floating:n,strategy:s}),{x:y,y:v}=qb(p,i,m),b=i,x=0;const S={};for(let C=0;C({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:s,rects:l,platform:u,elements:d,middlewareData:m}=n,{element:p,padding:y=0}=aa(e,n)||{};if(p==null)return{};const v=iS(y),b={x:r,y:i},x=wp(s),S=xp(x),C=await u.getDimensions(p),E=x==="y",R=E?"top":"left",O=E?"bottom":"right",T=E?"clientHeight":"clientWidth",z=l.reference[S]+l.reference[x]-b[x]-l.floating[S],I=b[x]-l.reference[x],F=await(u.getOffsetParent==null?void 0:u.getOffsetParent(p));let V=F?F[T]:0;(!V||!await(u.isElement==null?void 0:u.isElement(F)))&&(V=d.floating[T]||l.floating[S]);const U=z/2-I/2,pe=V/2-C[S]/2-1,ge=Va(v[R],pe),fe=Va(v[O],pe),Q=V-C[S]-fe,le=V/2-C[S]/2+U,ue=aS(ge,le,Q),xe=!m.arrow&&qo(s)!=null&&le!==ue&&l.reference[S]/2-(leue<=0)){var fe,Q;const ue=(((fe=l.flip)==null?void 0:fe.index)||0)+1,xe=V[ue];if(xe&&(!(v==="alignment"?O!==Or(xe):!1)||ge.every(ae=>Or(ae.placement)===O?ae.overflows[0]>0:!0)))return{data:{index:ue,overflows:ge},reset:{placement:xe}};let N=(Q=ge.filter(q=>q.overflows[0]<=0).sort((q,ae)=>q.overflows[1]-ae.overflows[1])[0])==null?void 0:Q.placement;if(!N)switch(x){case"bestFit":{var le;const q=(le=ge.filter(ae=>{if(F){const te=Or(ae.placement);return te===O||te==="y"}return!0}).map(ae=>[ae.placement,ae.overflows.filter(te=>te>0).reduce((te,ne)=>te+ne,0)]).sort((ae,te)=>ae[1]-te[1])[0])==null?void 0:le[0];q&&(N=q);break}case"initialPlacement":N=d;break}if(s!==N)return{reset:{placement:N}}}return{}}}};function Gb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Zb(e){return XT.some(n=>e[n]>=0)}const dO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:i}=n,{strategy:s="referenceHidden",...l}=aa(e,n);switch(s){case"referenceHidden":{const u=await i.detectOverflow(n,{...l,elementContext:"reference"}),d=Gb(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Zb(d)}}}case"escaped":{const u=await i.detectOverflow(n,{...l,altBoundary:!0}),d=Gb(u,r.floating);return{data:{escapedOffsets:d,escaped:Zb(d)}}}default:return{}}}}},oS=new Set(["left","top"]);async function fO(e,n){const{placement:r,platform:i,elements:s}=e,l=await(i.isRTL==null?void 0:i.isRTL(s.floating)),u=Ua(r),d=qo(r),m=Or(r)==="y",p=oS.has(u)?-1:1,y=l&&m?-1:1,v=aa(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:S}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof S=="number"&&(x=d==="end"?S*-1:S),m?{x:x*y,y:b*p}:{x:b*p,y:x*y}}const hO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:s,y:l,placement:u,middlewareData:d}=n,m=await fO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:s+m.x,y:l+m.y,data:{...m,placement:u}}}}},mO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:s,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:m={fn:O=>{let{x:T,y:z}=O;return{x:T,y:z}}},...p}=aa(e,n),y={x:r,y:i},v=await l.detectOverflow(n,p),b=Or(s),x=bp(b);let S=y[x],C=y[b];const E=(O,T)=>aS(T+v[O==="y"?"top":"left"],T,T-v[O==="y"?"bottom":"right"]);u&&(S=E(x,S)),d&&(C=E(b,C));const R=m.fn({...n,[x]:S,[b]:C});return{...R,data:{x:R.x-r,y:R.y-i,enabled:{[x]:u,[b]:d}}}}}},pO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,i;const{x:s,y:l,placement:u,rects:d,middlewareData:m}=n,{offset:p=0,mainAxis:y=!0,crossAxis:v=!0}=aa(e,n),b={x:s,y:l},x=Or(u),S=bp(x);let C=b[S],E=b[x];const R=aa(p,n),O=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:(r=R.mainAxis)!=null?r:0,crossAxis:(i=R.crossAxis)!=null?i:0};if(y){const I=S==="y"?"height":"width",F=d.reference[S]-d.floating[I]+O.mainAxis,V=d.reference[S]+d.reference[I]-O.mainAxis;CV&&(C=V)}if(v){var T,z;const I=S==="y"?"width":"height",F=oS.has(Ua(u)),V=d.reference[x]-d.floating[I]+(F&&((T=m.offset)==null?void 0:T[x])||0)+(F?0:O.crossAxis),U=d.reference[x]+d.reference[I]+(F?0:((z=m.offset)==null?void 0:z[x])||0)-(F?O.crossAxis:0);EU&&(E=U)}return{[S]:C,[x]:E}}}},gO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:i,platform:s,elements:l}=n,{apply:u=()=>{},...d}=aa(e,n),m=await s.detectOverflow(n,d),p=Ua(r),y=qo(r),v=Or(r)==="y",{width:b,height:x}=i.floating;let S,C;p==="top"||p==="bottom"?(S=p,C=y===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(C=p,S=y==="end"?"top":"bottom");const E=x-m.top-m.bottom,R=b-m.left-m.right,O=Va(x-m[S],E),T=Va(b-m[C],R),z=n.middlewareData.shift,I=!z;let F=O,V=T;z!=null&&z.enabled.x&&(V=R),z!=null&&z.enabled.y&&(F=E),I&&!y&&(v?V=b-2*na(m.left,m.right):F=x-2*na(m.top,m.bottom)),await u({...n,availableWidth:V,availableHeight:F});const U=await s.getDimensions(l.floating);return b!==U.width||x!==U.height?{reset:{rects:!0}}:{}}}};function ku(){return typeof window<"u"}function Go(e){return sS(e)?(e.nodeName||"").toLowerCase():"#document"}function Nn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function ia(e){var n;return(n=(sS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function sS(e){return ku()?e instanceof Node||e instanceof Nn(e).Node:!1}function Ar(e){return ku()?e instanceof Element||e instanceof Nn(e).Element:!1}function Za(e){return ku()?e instanceof HTMLElement||e instanceof Nn(e).HTMLElement:!1}function Kb(e){return!ku()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Nn(e).ShadowRoot}function Lu(e){const{overflow:n,overflowX:r,overflowY:i,display:s}=Mr(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&s!=="inline"&&s!=="contents"}function vO(e){return/^(table|td|th)$/.test(Go(e))}function $u(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const yO=/transform|translate|scale|rotate|perspective|filter/,bO=/paint|layout|strict|content/,vi=e=>!!e&&e!=="none";let Ih;function Sp(e){const n=Ar(e)?Mr(e):e;return vi(n.transform)||vi(n.translate)||vi(n.scale)||vi(n.rotate)||vi(n.perspective)||!_p()&&(vi(n.backdropFilter)||vi(n.filter))||yO.test(n.willChange||"")||bO.test(n.contain||"")}function xO(e){let n=Ci(e);for(;Za(n)&&!nl(n);){if(Sp(n))return n;if($u(n))return null;n=Ci(n)}return null}function _p(){return Ih==null&&(Ih=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ih}function nl(e){return/^(html|body|#document)$/.test(Go(e))}function Mr(e){return Nn(e).getComputedStyle(e)}function Iu(e){return Ar(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ci(e){if(Go(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Kb(e)&&e.host||ia(e);return Kb(n)?n.host:n}function lS(e){const n=Ci(e);return nl(n)?(e.ownerDocument||e).body:Za(n)&&Lu(n)?n:lS(n)}function rl(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const s=lS(e),l=s===((i=e.ownerDocument)==null?void 0:i.body),u=Nn(s);if(l){const d=wm(u);return n.concat(u,u.visualViewport||[],Lu(s)?s:[],d&&r?rl(d):[])}else return n.concat(s,rl(s,[],r))}function wm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cS(e){const n=Mr(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const s=Za(e),l=s?e.offsetWidth:r,u=s?e.offsetHeight:i,d=hu(r)!==l||hu(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function Cp(e){return Ar(e)?e:e.contextElement}function Lo(e){const n=Cp(e);if(!Za(n))return ra(1);const r=n.getBoundingClientRect(),{width:i,height:s,$:l}=cS(n);let u=(l?hu(r.width):r.width)/i,d=(l?hu(r.height):r.height)/s;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const wO=ra(0);function uS(e){const n=Nn(e);return!_p()||!n.visualViewport?wO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function SO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===Nn(e)}function Ei(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),l=Cp(e);let u=ra(1);n&&(i?Ar(i)&&(u=Lo(i)):u=Lo(e));const d=SO(l,r,i)?uS(l):ra(0);let m=(s.left+d.x)/u.x,p=(s.top+d.y)/u.y,y=s.width/u.x,v=s.height/u.y;if(l&&i){const b=Nn(l),x=Ar(i)?Nn(i):i;let S=b,C=wm(S);for(;C&&x!==S;){const E=Lo(C),R=C.getBoundingClientRect(),O=Mr(C),T=R.left+(C.clientLeft+parseFloat(O.paddingLeft))*E.x,z=R.top+(C.clientTop+parseFloat(O.paddingTop))*E.y;m*=E.x,p*=E.y,y*=E.x,v*=E.y,m+=T,p+=z,S=Nn(C),C=wm(S)}}return pu({width:y,height:v,x:m,y:p})}function Pu(e,n){const r=Iu(e).scrollLeft;return n?n.left+r:Ei(ia(e)).left+r}function dS(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-Pu(e,r),s=r.top+n.scrollTop;return{x:i,y:s}}function _O(e){let{elements:n,rect:r,offsetParent:i,strategy:s}=e;const l=s==="fixed",u=ia(i),d=n?$u(n.floating):!1;if(i===u||d&&l)return r;let m={scrollLeft:0,scrollTop:0},p=ra(1);const y=ra(0),v=Za(i);if((v||!l)&&((Go(i)!=="body"||Lu(u))&&(m=Iu(i)),v)){const x=Ei(i);p=Lo(i),y.x=x.x+i.clientLeft,y.y=x.y+i.clientTop}const b=u&&!v&&!l?dS(u,m):ra(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-m.scrollLeft*p.x+y.x+b.x,y:r.y*p.y-m.scrollTop*p.y+y.y+b.y}}function CO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function EO(e){const n=Iu(e),r=e.ownerDocument.body,i=na(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=na(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Pu(e);const u=-n.scrollTop;return Mr(r).direction==="rtl"&&(l+=na(e.clientWidth,r.clientWidth)-i),{width:i,height:s,x:l,y:u}}const RO=25;function jO(e,n,r){r===void 0&&(r="viewport");const i=r==="layoutViewport",s=Nn(e),l=ia(e),u=s.visualViewport;let d=l.clientWidth,m=l.clientHeight,p=0,y=0;if(u){const b=!_p()||n==="fixed";i?b||(p=-u.offsetLeft,y=-u.offsetTop):(d=u.width,m=u.height,b&&(p=u.offsetLeft,y=u.offsetTop))}if(Pu(l)<=0){const b=l.ownerDocument,x=b.body,S=getComputedStyle(x),C=b.compatMode==="CSS1Compat"&&parseFloat(S.marginLeft)+parseFloat(S.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-C),R=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;R<=RO&&(d-=R)}return{width:d,height:m,x:p,y}}function TO(e,n){const r=Ei(e,!0,n==="fixed"),i=r.top+e.clientTop,s=r.left+e.clientLeft,l=Lo(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,m=s*l.x,p=i*l.y;return{width:u,height:d,x:m,y:p}}function Yb(e,n,r){let i;if(n==="viewport"||n==="layoutViewport")i=jO(e,r,n);else if(n==="document")i=EO(ia(e));else if(Ar(n))i=TO(n,r);else{const s=uS(e);i={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return pu(i)}function OO(e,n){const r=n.get(e);if(r)return r;let i=rl(e,[],!1).filter(d=>Ar(d)&&Go(d)!=="body"),s=null;const l=Mr(e).position==="fixed";let u=l?Ci(e):e;for(;Ar(u)&&!nl(u);){const d=Mr(u),m=Sp(u),p=s?s.position:l?"fixed":"";!m&&(p==="fixed"||p==="absolute"&&d.position==="static")?i=i.filter(v=>v!==u):s=d,u=Ci(u)}return n.set(e,i),i}function AO(e){let{element:n,boundary:r,rootBoundary:i,strategy:s}=e;const u=[...r==="clippingAncestors"?$u(n)?[]:OO(n,this._c):[].concat(r),i],d=Yb(n,u[0],s);let m=d.top,p=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}V=!1}try{i=new IntersectionObserver(U,{...F,root:l.ownerDocument})}catch{i=new IntersectionObserver(U,F)}i.observe(e)}const m=Nn(e),p=()=>d(r);return m.addEventListener("resize",p),d(!0),()=>{m.removeEventListener("resize",p),u()}}function $O(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:m=!1}=i,p=Cp(e),y=s||l?[...p?rl(p):[],...n?rl(n):[]]:[];y.forEach(R=>{s&&R.addEventListener("scroll",r),l&&R.addEventListener("resize",r)});const v=p&&d?LO(p,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(R=>{let[O]=R;O&&O.target===p&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var T;(T=x)==null||T.observe(n)})),r()}),p&&!m&&x.observe(p),n&&x.observe(n));let S,C=m?Ei(e):null;m&&E();function E(){const R=Ei(e);C&&!hS(C,R)&&r(),C=R,S=requestAnimationFrame(E)}return r(),()=>{var R;y.forEach(O=>{s&&O.removeEventListener("scroll",r),l&&O.removeEventListener("resize",r)}),v?.(),(R=x)==null||R.disconnect(),x=null,m&&cancelAnimationFrame(S)}}const IO=hO,PO=mO,FO=uO,VO=gO,UO=dO,Xb=cO,HO=pO,BO=(e,n,r)=>{const i=new Map,s=r??{},l={...kO,...s.platform,_c:i};return lO(e,n,{...s,platform:l})};var qO=typeof document<"u",GO=function(){},au=qO?w.useLayoutEffect:GO;function gu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,s;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!gu(e[i],n[i]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){const l=s[i];if(!(l==="_owner"&&e.$$typeof)&&!gu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function mS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Jb(e,n){const r=mS(e);return Math.round(n*r)/r}function Fh(e){const n=w.useRef(e);return au(()=>{n.current=e}),n}function ZO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:s,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:m,open:p}=e,[y,v]=w.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=w.useState(i);gu(b,i)||x(i);const[S,C]=w.useState(null),[E,R]=w.useState(null),O=w.useCallback(ae=>{ae!==F.current&&(F.current=ae,C(ae))},[]),T=w.useCallback(ae=>{ae!==V.current&&(V.current=ae,R(ae))},[]),z=l||S,I=u||E,F=w.useRef(null),V=w.useRef(null),U=w.useRef(y),pe=m!=null,ge=Fh(m),fe=Fh(s),Q=Fh(p),le=w.useCallback(()=>{if(!F.current||!V.current)return;const ae={placement:n,strategy:r,middleware:b};fe.current&&(ae.platform=fe.current),BO(F.current,V.current,ae).then(te=>{const ne={...te,isPositioned:Q.current!==!1};ue.current&&!gu(U.current,ne)&&(U.current=ne,Mi.flushSync(()=>{v(ne)}))})},[b,n,r,fe,Q]);au(()=>{p===!1&&U.current.isPositioned&&(U.current.isPositioned=!1,v(ae=>({...ae,isPositioned:!1})))},[p]);const ue=w.useRef(!1);au(()=>(ue.current=!0,()=>{ue.current=!1}),[]),au(()=>{if(z&&(F.current=z),I&&(V.current=I),z&&I){if(ge.current)return ge.current(z,I,le);le()}},[z,I,le,ge,pe]);const xe=w.useMemo(()=>({reference:F,floating:V,setReference:O,setFloating:T}),[O,T]),N=w.useMemo(()=>({reference:z,floating:I}),[z,I]),q=w.useMemo(()=>{const ae={position:r,left:0,top:0};if(!N.floating)return ae;const te=Jb(N.floating,y.x),ne=Jb(N.floating,y.y);return d?{...ae,transform:"translate("+te+"px, "+ne+"px)",...mS(N.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:te,top:ne}},[r,d,N.floating,y.x,y.y]);return w.useMemo(()=>({...y,update:le,refs:xe,elements:N,floatingStyles:q}),[y,le,xe,N,q])}const KO=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:s}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?Xb({element:i.current,padding:s}).fn(r):{}:i?Xb({element:i,padding:s}).fn(r):{}}}},YO=(e,n)=>{const r=IO(e);return{name:r.name,fn:r.fn,options:[e,n]}},QO=(e,n)=>{const r=PO(e);return{name:r.name,fn:r.fn,options:[e,n]}},XO=(e,n)=>({fn:HO(e).fn,options:[e,n]}),JO=(e,n)=>{const r=FO(e);return{name:r.name,fn:r.fn,options:[e,n]}},WO=(e,n)=>{const r=VO(e);return{name:r.name,fn:r.fn,options:[e,n]}},eA=(e,n)=>{const r=UO(e);return{name:r.name,fn:r.fn,options:[e,n]}},tA=(e,n)=>{const r=KO(e);return{name:r.name,fn:r.fn,options:[e,n]}};var nA="Arrow",pS=w.forwardRef((e,n)=>{const{children:r,width:i=10,height:s=5,...l}=e;return f.jsx($e.svg,{...l,ref:n,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});pS.displayName=nA;var rA=pS,Ep="Popper",[gS,Zo]=Ga(Ep),[aA,vS]=gS(Ep),yS=e=>{const{__scopePopper:n,children:r}=e,[i,s]=w.useState(null),[l,u]=w.useState(void 0);return f.jsx(aA,{scope:n,anchor:i,onAnchorChange:s,placementState:l,setPlacementState:u,children:r})};yS.displayName=Ep;var bS="PopperAnchor",xS=w.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...s}=e,l=vS(bS,r),u=w.useRef(null),d=l.onAnchorChange,m=w.useCallback(S=>{u.current=S,S&&d(S)},[d]),p=nt(n,m),y=w.useRef(null);w.useEffect(()=>{if(!i)return;const S=y.current;y.current=i.current,S!==y.current&&d(y.current)});const v=l.placementState&&jp(l.placementState),b=v?.[0],x=v?.[1];return i?null:f.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...s,ref:p})});xS.displayName=bS;var Rp="PopperContent",[iA,oA]=gS(Rp),wS=w.forwardRef((e,n)=>{const{__scopePopper:r,side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:S,...C}=e,E=vS(Rp,r),[R,O]=w.useState(null),T=nt(n,O),[z,I]=w.useState(null),F=QT(z),V=F?.width??0,U=F?.height??0,pe=i+(l!=="center"?"-"+l:""),ge=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},fe=Array.isArray(p)?p:[p],Q=fe.length>0,le={padding:ge,boundary:fe.filter(lA),altBoundary:Q},{refs:ue,floatingStyles:xe,placement:N,isPositioned:q,middlewareData:ae}=ZO({strategy:"fixed",placement:pe,whileElementsMounted:(...ve)=>$O(...ve,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[YO({mainAxis:s+U,alignmentAxis:u}),m&&QO({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?XO():void 0,...le}),m&&JO({...le}),WO({...le,apply:({elements:ve,rects:ye,availableWidth:Ne,availableHeight:Ie})=>{const{width:Fe,height:ft}=ye.reference,Qe=ve.floating.style;Qe.setProperty("--radix-popper-available-width",`${Ne}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Fe}px`),Qe.setProperty("--radix-popper-anchor-height",`${ft}px`)}}),z&&tA({element:z,padding:d}),cA({arrowWidth:V,arrowHeight:U}),b&&eA({strategy:"referenceHidden",...le,boundary:Q?le.boundary:void 0})]}),te=E.setPlacementState;Gt(()=>(te(N),()=>{te(void 0)}),[N,te]);const[ne,k]=jp(N),M=rr(S);Gt(()=>{q&&M?.()},[q,M]);const B=ae.arrow?.x,X=ae.arrow?.y,K=ae.arrow?.centerOffset!==0,[se,ee]=w.useState();return Gt(()=>{R&&ee(window.getComputedStyle(R).zIndex)},[R]),f.jsx("div",{ref:ue.setFloating,"data-radix-popper-content-wrapper":"",style:{...xe,transform:q?xe.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:se,"--radix-popper-transform-origin":[ae.transformOrigin?.x,ae.transformOrigin?.y].join(" "),...ae.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(iA,{scope:r,placedSide:ne,placedAlign:k,onArrowChange:I,arrowX:B,arrowY:X,shouldHideArrow:K,children:f.jsx($e.div,{"data-side":ne,"data-align":k,...C,ref:T,style:{...C.style,animation:q?void 0:"none"}})})})});wS.displayName=Rp;var SS="PopperArrow",sA={top:"bottom",right:"left",bottom:"top",left:"right"},_S=w.forwardRef(function(n,r){const{__scopePopper:i,...s}=n,l=oA(SS,i),u=sA[l.placedSide];return f.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:f.jsx(rA,{...s,ref:r,style:{...s.style,display:"block"}})})});_S.displayName=SS;function lA(e){return e!==null}var cA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:i,middlewareData:s}=n,u=s.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,m=u?0:e.arrowHeight,[p,y]=jp(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(s.arrow?.x??0)+d/2,x=(s.arrow?.y??0)+m/2;let S="",C="";return p==="bottom"?(S=u?v:`${b}px`,C=`${-m}px`):p==="top"?(S=u?v:`${b}px`,C=`${i.floating.height+m}px`):p==="right"?(S=`${-m}px`,C=u?v:`${x}px`):p==="left"&&(S=`${i.floating.width+m}px`,C=u?v:`${x}px`),{data:{x:S,y:C}}}});function jp(e){const[n,r="center"]=e.split("-");return[n,r]}var Tp=yS,Op=xS,Ap=wS,Mp=_S,Vh=!1;function uA(){const[e,n]=w.useState(Vh);return w.useEffect(()=>{Vh||(Vh=!0,n(!0))},[]),e}var CS=Ou[" useSyncExternalStore ".trim().toString()];function dA(){return()=>{}}function fA(){return CS(dA,()=>!0,()=>!1)}var hA=typeof CS=="function"?fA:uA,Uh="rovingFocusGroup.onEntryFocus",mA={bubbles:!1,cancelable:!0},gl="RovingFocusGroup",[Sm,ES,pA]=lp(gl),[gA,RS]=Ga(gl,[pA]),[vA,yA]=gA(gl),jS=w.forwardRef((e,n)=>f.jsx(Sm.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Sm.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(bA,{...e,ref:n})})}));jS.displayName=gl;var bA=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:s=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:m,onEntryFocus:p,preventScrollOnEntryFocus:y=!1,...v}=e,b=w.useRef(null),x=nt(n,b),S=cp(l),[C,E]=Vo({prop:u,defaultProp:d??null,onChange:m,caller:gl}),[R,O]=w.useState(!1),T=rr(p),z=ES(r),I=w.useRef(!1),[F,V]=w.useState(0);return w.useEffect(()=>{const U=b.current;if(U)return U.addEventListener(Uh,T),()=>U.removeEventListener(Uh,T)},[T]),f.jsx(vA,{scope:r,orientation:i,dir:S,loop:s,currentTabStopId:C,onItemFocus:w.useCallback(U=>E(U),[E]),onItemShiftTab:w.useCallback(()=>O(!0),[]),onFocusableItemAdd:w.useCallback(()=>V(U=>U+1),[]),onFocusableItemRemove:w.useCallback(()=>V(U=>U-1),[]),children:f.jsx($e.div,{tabIndex:R||F===0?-1:0,"data-orientation":i,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:Re(e.onMouseDown,()=>{I.current=!0}),onFocus:Re(e.onFocus,U=>{const pe=!I.current;if(U.target===U.currentTarget&&pe&&!R){const ge=new CustomEvent(Uh,mA);if(U.currentTarget.dispatchEvent(ge),!ge.defaultPrevented){const fe=z().filter(N=>N.focusable),Q=fe.find(N=>N.active),le=fe.find(N=>N.id===C),xe=[Q,le,...fe].filter(Boolean).map(N=>N.ref.current);AS(xe,y)}}I.current=!1}),onBlur:Re(e.onBlur,()=>O(!1))})})}),TS="RovingFocusGroupItem",OS=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:s=!1,tabStopId:l,children:u,...d}=e,m=hn(),p=l||m,y=yA(TS,r),v=y.currentTabStopId===p,b=ES(r),{onFocusableItemAdd:x,onFocusableItemRemove:S,currentTabStopId:C}=y,E=hA();return Gt(()=>{if(!(!E||!i))return x(),()=>S()},[E,i,x,S]),w.useEffect(()=>{if(!(E||!i))return x(),()=>S()},[E,i,x,S]),f.jsx(Sm.ItemSlot,{scope:r,id:p,focusable:i,active:s,children:f.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:Re(e.onMouseDown,R=>{i?y.onItemFocus(p):R.preventDefault()}),onFocus:Re(e.onFocus,()=>y.onItemFocus(p)),onKeyDown:Re(e.onKeyDown,R=>{if(R.key==="Tab"&&R.shiftKey){y.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const O=SA(R,y.orientation,y.dir);if(O!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let z=b().filter(I=>I.focusable).map(I=>I.ref.current);if(O==="last")z.reverse();else if(O==="prev"||O==="next"){O==="prev"&&z.reverse();const I=z.indexOf(R.currentTarget);z=y.loop?_A(z,I+1):z.slice(I+1)}setTimeout(()=>AS(z))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:C!=null}):u})})});OS.displayName=TS;var xA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function wA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function SA(e,n,r){const i=wA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return xA[i]}function AS(e,n=!1){const r=document.activeElement;for(const i of e)if(i===r||(i.focus({preventScroll:n}),document.activeElement!==r))return}function _A(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var CA=jS,EA=OS,_m=["Enter"," "],RA=["ArrowDown","PageUp","Home"],MS=["ArrowUp","PageDown","End"],jA=[...RA,...MS],TA={ltr:[..._m,"ArrowRight"],rtl:[..._m,"ArrowLeft"]},OA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},vl="Menu",[al,AA,MA]=lp(vl),[Ni,NS]=Ga(vl,[MA,Zo,RS]),Fu=Zo(),DS=RS(),[NA,Di]=Ni(vl),[DA,yl]=Ni(vl),zS=e=>{const{__scopeMenu:n,open:r=!1,children:i,dir:s,onOpenChange:l,modal:u=!0}=e,d=Fu(n),[m,p]=w.useState(null),y=w.useRef(!1),v=rr(l),b=cp(s);return w.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",S,{capture:!0,once:!0}),document.addEventListener("pointermove",S,{capture:!0,once:!0})},S=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",S,{capture:!0}),document.removeEventListener("pointermove",S,{capture:!0})}},[]),w.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),f.jsx(Tp,{...d,children:f.jsx(NA,{scope:n,open:r,onOpenChange:v,content:m,onContentChange:p,children:f.jsx(DA,{scope:n,onClose:w.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:i})})})};zS.displayName=vl;var zA="MenuAnchor",Np=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Op,{...s,...i,ref:n})});Np.displayName=zA;var Dp="MenuPortal",[kA,kS]=Ni(Dp,{forceMount:void 0}),LS=e=>{const{__scopeMenu:n,forceMount:r,children:i,container:s}=e,l=Di(Dp,n);return f.jsx(kA,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:i})})})};LS.displayName=Dp;var nr="MenuContent",[LA,zp]=Ni(nr),$S=w.forwardRef((e,n)=>{const r=kS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,...s}=e,l=Di(nr,e.__scopeMenu),u=yl(nr,e.__scopeMenu);return f.jsx(al.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||l.open,children:f.jsx(al.Slot,{scope:e.__scopeMenu,children:u.modal?f.jsx($A,{...s,ref:n}):f.jsx(IA,{...s,ref:n})})})})}),$A=w.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu),i=w.useRef(null),s=nt(n,i);return w.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(kp,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),IA=w.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu);return f.jsx(kp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),PA=_i("MenuContent.ScrollLock"),kp=w.forwardRef((e,n)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:m,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:S,...C}=e,E=Di(nr,r),R=yl(nr,r),O=Fu(r),T=DS(r),z=AA(r),[I,F]=w.useState(null),V=w.useRef(null),U=nt(n,V,E.onContentChange),pe=w.useRef(0),ge=w.useRef(""),fe=w.useRef(0),Q=w.useRef(null),le=w.useRef("right"),ue=w.useRef(0),xe=S?Du:w.Fragment,N=S?{as:PA,allowPinchZoom:!0}:void 0,q=te=>{const ne=ge.current+te,k=z().filter(ee=>!ee.disabled),M=document.activeElement,B=k.find(ee=>ee.ref.current===M)?.textValue,X=k.map(ee=>ee.textValue),K=XA(X,ne,B),se=k.find(ee=>ee.textValue===K)?.ref.current;(function ee(ve){ge.current=ve,window.clearTimeout(pe.current),ve!==""&&(pe.current=window.setTimeout(()=>ee(""),1e3))})(ne),se&&setTimeout(()=>se.focus())};w.useEffect(()=>()=>window.clearTimeout(pe.current),[]),dp();const ae=w.useCallback(te=>le.current===Q.current?.side&&WA(te,Q.current?.area),[]);return f.jsx(LA,{scope:r,searchRef:ge,onItemEnter:w.useCallback(te=>{ae(te)&&te.preventDefault()},[ae]),onItemLeave:w.useCallback(te=>{ae(te)||(V.current?.focus(),F(null))},[ae]),onTriggerLeave:w.useCallback(te=>{ae(te)&&te.preventDefault()},[ae]),pointerGraceTimerRef:fe,onPointerGraceIntentChange:w.useCallback(te=>{Q.current=te},[]),children:f.jsx(xe,{...N,children:f.jsx(Mu,{asChild:!0,trapped:s,onMountAutoFocus:Re(l,te=>{te.preventDefault(),V.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:f.jsx(CA,{asChild:!0,...T,dir:R.dir,orientation:"vertical",loop:i,currentTabStopId:I,onCurrentTabStopIdChange:F,onEntryFocus:Re(m,te=>{R.isUsingKeyboardRef.current||te.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Ap,{role:"menu","aria-orientation":"vertical","data-state":WS(E.open),"data-radix-menu-content":"",dir:R.dir,...O,...C,ref:U,style:{outline:"none",...C.style},onKeyDown:Re(C.onKeyDown,te=>{const k=te.target.closest("[data-radix-menu-content]")===te.currentTarget,M=te.ctrlKey||te.altKey||te.metaKey,B=te.key.length===1;k&&(te.key==="Tab"&&te.preventDefault(),!M&&B&&q(te.key));const X=V.current;if(te.target!==X||!jA.includes(te.key))return;te.preventDefault();const se=z().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);MS.includes(te.key)&&se.reverse(),YA(se)}),onBlur:Re(e.onBlur,te=>{te.currentTarget.contains(te.target)||(window.clearTimeout(pe.current),ge.current="")}),onPointerMove:Re(e.onPointerMove,il(te=>{const ne=te.target,k=ue.current!==te.clientX;if(te.currentTarget.contains(ne)&&k){const M=te.clientX>ue.current?"right":"left";le.current=M,ue.current=te.clientX}}))})})})})})})});$S.displayName=nr;var FA="MenuGroup",Lp=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"group",...i,ref:n})});Lp.displayName=FA;var VA="MenuLabel",IS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{...i,ref:n})});IS.displayName=VA;var vu="MenuItem",Wb="menu.itemSelect",Vu=w.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:i,...s}=e,l=w.useRef(null),u=yl(vu,e.__scopeMenu),d=zp(vu,e.__scopeMenu),m=nt(n,l),p=w.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Wb,{bubbles:!0,cancelable:!0});v.addEventListener(Wb,x=>i?.(x),{once:!0}),Lw(v,b),b.defaultPrevented?p.current=!1:u.onClose()}};return f.jsx(PS,{...s,ref:m,disabled:r,onClick:Re(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),p.current=!0},onPointerUp:Re(e.onPointerUp,v=>{p.current||v.currentTarget?.click()}),onKeyDown:Re(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||_m.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Vu.displayName=vu;var PS=w.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:i=!1,textValue:s,...l}=e,u=zp(vu,r),d=DS(r),m=w.useRef(null),p=nt(n,m),[y,v]=w.useState(!1),[b,x]=w.useState("");return w.useEffect(()=>{const S=m.current;S&&x((S.textContent??"").trim())},[l.children]),f.jsx(al.ItemSlot,{scope:r,disabled:i,textValue:s??b,children:f.jsx(EA,{asChild:!0,...d,focusable:!i,children:f.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...l,ref:p,onPointerMove:Re(e.onPointerMove,il(S=>{i?u.onItemLeave(S):(u.onItemEnter(S),S.defaultPrevented||S.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Re(e.onPointerLeave,il(S=>u.onItemLeave(S))),onFocus:Re(e.onFocus,()=>v(!0)),onBlur:Re(e.onBlur,()=>v(!1))})})})}),UA="MenuCheckboxItem",FS=w.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:i,...s}=e;return f.jsx(qS,{scope:e.__scopeMenu,checked:r,children:f.jsx(Vu,{role:"menuitemcheckbox","aria-checked":yu(r)?"mixed":r,...s,ref:n,"data-state":Ip(r),onSelect:Re(s.onSelect,()=>i?.(yu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});FS.displayName=UA;var VS="MenuRadioGroup",[HA,BA]=Ni(VS,{value:void 0,onValueChange:()=>{}}),US=w.forwardRef((e,n)=>{const{value:r,onValueChange:i,...s}=e,l=rr(i);return f.jsx(HA,{scope:e.__scopeMenu,value:r,onValueChange:l,children:f.jsx(Lp,{...s,ref:n})})});US.displayName=VS;var HS="MenuRadioItem",BS=w.forwardRef((e,n)=>{const{value:r,...i}=e,s=BA(HS,e.__scopeMenu),l=r===s.value;return f.jsx(qS,{scope:e.__scopeMenu,checked:l,children:f.jsx(Vu,{role:"menuitemradio","aria-checked":l,...i,ref:n,"data-state":Ip(l),onSelect:Re(i.onSelect,()=>s.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});BS.displayName=HS;var $p="MenuItemIndicator",[qS,qA]=Ni($p,{checked:!1}),GS=w.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:i,...s}=e,l=qA($p,r);return f.jsx(yr,{present:i||yu(l.checked)||l.checked===!0,children:f.jsx($e.span,{...s,ref:n,"data-state":Ip(l.checked)})})});GS.displayName=$p;var GA="MenuSeparator",ZS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})});ZS.displayName=GA;var ZA="MenuArrow",KS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Mp,{...s,...i,ref:n})});KS.displayName=ZA;var KA="MenuSub",[eF,YS]=Ni(KA),Gs="MenuSubTrigger",QS=w.forwardRef((e,n)=>{const r=Di(Gs,e.__scopeMenu),i=yl(Gs,e.__scopeMenu),s=YS(Gs,e.__scopeMenu),l=zp(Gs,e.__scopeMenu),u=w.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:m}=l,p={__scopeMenu:e.__scopeMenu},y=w.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);w.useEffect(()=>y,[y]),w.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),m(null)}},[d,m]);const v=nt(n,s.onTriggerChange);return f.jsx(Np,{asChild:!0,...p,children:f.jsx(PS,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?s.contentId:void 0,"data-state":WS(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:Re(e.onPointerMove,il(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:Re(e.onPointerLeave,il(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const S=r.content?.dataset.side,C=S==="right",E=C?-5:5,R=x[C?"left":"right"],O=x[C?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:R,y:x.top},{x:O,y:x.top},{x:O,y:x.bottom},{x:R,y:x.bottom}],side:S}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:Re(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||TA[i.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});QS.displayName=Gs;var XS="MenuSubContent",JS=w.forwardRef((e,n)=>{const r=kS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,align:s="start",...l}=e,u=Di(nr,e.__scopeMenu),d=yl(nr,e.__scopeMenu),m=YS(XS,e.__scopeMenu),p=w.useRef(null),y=nt(n,p);return f.jsx(al.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||u.open,children:f.jsx(al.Slot,{scope:e.__scopeMenu,children:f.jsx(kp,{id:m.contentId,"aria-labelledby":m.triggerId,...l,ref:y,align:s,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&p.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:Re(e.onFocusOutside,v=>{v.target!==m.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:Re(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:Re(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=OA[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),m.trigger?.focus(),v.preventDefault())})})})})})});JS.displayName=XS;function WS(e){return e?"open":"closed"}function yu(e){return e==="indeterminate"}function Ip(e){return yu(e)?"indeterminate":e?"checked":"unchecked"}function YA(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function QA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}function XA(e,n,r){const s=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=QA(e,Math.max(l,0));s.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.toLowerCase().startsWith(s.toLowerCase()));return m!==r?m:void 0}function JA(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(s=!s)}return s}function WA(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return JA(r,n)}function il(e){return n=>n.pointerType==="mouse"?e(n):void 0}var eM=zS,tM=Np,nM=LS,rM=$S,aM=Lp,iM=IS,oM=Vu,sM=FS,lM=US,cM=BS,uM=GS,dM=ZS,fM=KS,hM=QS,mM=JS,Uu="DropdownMenu",[pM]=Ga(Uu,[NS]),gn=NS(),[gM,e1]=pM(Uu),t1=e=>{const{__scopeDropdownMenu:n,children:r,dir:i,open:s,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,m=gn(n),p=w.useRef(null),[y,v]=Vo({prop:s,defaultProp:l??!1,onChange:u,caller:Uu});return f.jsx(gM,{scope:n,triggerId:hn(),triggerRef:p,contentId:hn(),open:y,onOpenChange:v,onOpenToggle:w.useCallback(()=>v(b=>!b),[v]),modal:d,children:f.jsx(eM,{...m,open:y,onOpenChange:v,dir:i,modal:d,children:r})})};t1.displayName=Uu;var n1="DropdownMenuTrigger",r1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...s}=e,l=e1(n1,r),u=gn(r),d=nt(n,l.triggerRef);return f.jsx(tM,{asChild:!0,...u,children:f.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...s,ref:d,onPointerDown:Re(e.onPointerDown,m=>{!i&&m.button===0&&m.ctrlKey===!1&&(l.onOpenToggle(),l.open||m.preventDefault())}),onKeyDown:Re(e.onKeyDown,m=>{i||(["Enter"," "].includes(m.key)&&l.onOpenToggle(),m.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(m.key)&&m.preventDefault())})})})});r1.displayName=n1;var vM="DropdownMenuPortal",a1=e=>{const{__scopeDropdownMenu:n,...r}=e,i=gn(n);return f.jsx(nM,{...i,...r})};a1.displayName=vM;var i1="DropdownMenuContent",o1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=e1(i1,r),l=gn(r),u=w.useRef(!1);return f.jsx(rM,{id:s.contentId,"aria-labelledby":s.triggerId,...l,...i,ref:n,onCloseAutoFocus:Re(e.onCloseAutoFocus,d=>{u.current||s.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:Re(e.onInteractOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,y=m.button===2||p;(!s.modal||y)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});o1.displayName=i1;var yM="DropdownMenuGroup",bM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(aM,{...s,...i,ref:n})});bM.displayName=yM;var xM="DropdownMenuLabel",s1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(iM,{...s,...i,ref:n})});s1.displayName=xM;var wM="DropdownMenuItem",l1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(oM,{...s,...i,ref:n})});l1.displayName=wM;var SM="DropdownMenuCheckboxItem",_M=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(sM,{...s,...i,ref:n})});_M.displayName=SM;var CM="DropdownMenuRadioGroup",EM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(lM,{...s,...i,ref:n})});EM.displayName=CM;var RM="DropdownMenuRadioItem",jM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(cM,{...s,...i,ref:n})});jM.displayName=RM;var TM="DropdownMenuItemIndicator",OM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(uM,{...s,...i,ref:n})});OM.displayName=TM;var AM="DropdownMenuSeparator",MM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(dM,{...s,...i,ref:n})});MM.displayName=AM;var NM="DropdownMenuArrow",DM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(fM,{...s,...i,ref:n})});DM.displayName=NM;var zM="DropdownMenuSubTrigger",kM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(hM,{...s,...i,ref:n})});kM.displayName=zM;var LM="DropdownMenuSubContent",$M=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(mM,{...s,...i,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});$M.displayName=LM;var IM=t1,PM=r1,FM=a1,VM=o1,UM=s1,HM=l1,BM="Label",c1=w.forwardRef((e,n)=>f.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));c1.displayName=BM;var qM=c1;function ex(e,[n,r]){return Math.min(r,Math.max(n,e))}var GM=[" ","Enter","ArrowUp","ArrowDown"],ZM=[" ","Enter"],Ri="Select",[Hu,Bu,KM]=lp(Ri),[zi]=Ga(Ri,[KM,Zo]),qu=Zo(),[YM,Ka]=zi(Ri),[QM,XM]=zi(Ri),JM="SelectProvider";function u1(e){const{__scopeSelect:n,children:r,open:i,defaultOpen:s,onOpenChange:l,value:u,defaultValue:d,onValueChange:m,dir:p,name:y,autoComplete:v,disabled:b,required:x,form:S,internal_do_not_use_render:C}=e,E=qu(n),[R,O]=w.useState(null),[T,z]=w.useState(null),[I,F]=w.useState(!1),V=cp(p),[U,pe]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:Ri}),[ge,fe]=Vo({prop:u,defaultProp:d,onChange:m,caller:Ri}),Q=w.useRef(null),le=w.useRef(ge);w.useEffect(()=>{const M=S?R?.ownerDocument.getElementById(S):R?.form;if(M instanceof HTMLFormElement){const B=()=>fe(le.current);return M.addEventListener("reset",B),()=>M.removeEventListener("reset",B)}},[S,R,fe]);const ue=R?!!S||!!R.closest("form"):!0,[xe,N]=w.useState(new Set),q=hn(),ae=Array.from(xe).map(M=>M.props.value).join(";"),te=w.useCallback(M=>{N(B=>new Set(B).add(M))},[]),ne=w.useCallback(M=>{N(B=>{const X=new Set(B);return X.delete(M),X})},[]),k={required:x,trigger:R,onTriggerChange:O,valueNode:T,onValueNodeChange:z,valueNodeHasChildren:I,onValueNodeHasChildrenChange:F,contentId:q,value:ge,onValueChange:fe,open:U,onOpenChange:pe,dir:V,triggerPointerDownPosRef:Q,disabled:b,name:y,autoComplete:v,form:S,nativeOptions:xe,nativeSelectKey:ae,isFormControl:ue};return f.jsx(Tp,{...E,children:f.jsx(YM,{scope:n,...k,children:f.jsx(Hu.Provider,{scope:n,children:f.jsx(QM,{scope:n,onNativeOptionAdd:te,onNativeOptionRemove:ne,children:pN(C)?C(k):r})})})})}u1.displayName=JM;var d1=e=>{const{__scopeSelect:n,children:r,...i}=e;return f.jsx(u1,{__scopeSelect:n,...i,internal_do_not_use_render:({isFormControl:s})=>f.jsxs(f.Fragment,{children:[r,s?f.jsx($1,{__scopeSelect:n}):null]})})};d1.displayName=Ri;var f1="SelectTrigger",h1=w.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:i=!1,...s}=e,l=qu(r),u=Ka(f1,r),d=u.disabled||i,m=nt(n,u.onTriggerChange),p=Bu(r),y=w.useRef("touch"),[v,b,x]=I1(C=>{const E=p().filter(T=>!T.disabled),R=E.find(T=>T.value===u.value),O=P1(E,C,R);O!==void 0&&u.onValueChange(O.value)}),S=C=>{d||(u.onOpenChange(!0),x()),C&&(u.triggerPointerDownPosRef.current={x:Math.round(C.pageX),y:Math.round(C.pageY)})};return f.jsx(Op,{asChild:!0,...l,children:f.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":Gu(u.value)?"":void 0,...s,ref:m,onClick:Re(s.onClick,C=>{C.currentTarget.focus(),y.current!=="mouse"&&S(C)}),onPointerDown:Re(s.onPointerDown,C=>{y.current=C.pointerType;const E=C.target;E.hasPointerCapture(C.pointerId)&&E.releasePointerCapture(C.pointerId),C.button===0&&C.ctrlKey===!1&&C.pointerType==="mouse"&&(S(C),C.preventDefault())}),onKeyDown:Re(s.onKeyDown,C=>{const E=v.current!=="";!(C.ctrlKey||C.altKey||C.metaKey)&&C.key.length===1&&b(C.key),!(E&&C.key===" ")&&GM.includes(C.key)&&(S(),C.preventDefault())})})})});h1.displayName=f1;var m1="SelectValue",p1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,children:l,placeholder:u="",...d}=e,m=Ka(m1,r),{onValueNodeHasChildrenChange:p}=m,y=l!==void 0,v=nt(n,m.onValueNodeChange);Gt(()=>{p(y)},[p,y]);const b=Gu(m.value);return f.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:f.jsx(w.Fragment,{children:b?u:l},b?"placeholder":"value")})});p1.displayName=m1;var WM="SelectIcon",g1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,...s}=e;return f.jsx($e.span,{"aria-hidden":!0,...s,ref:n,children:i||"▼"})});g1.displayName=WM;var v1="SelectPortal",[eN,tN]=zi(v1,{forceMount:void 0}),y1=e=>{const{__scopeSelect:n,forceMount:r,...i}=e;return f.jsx(eN,{scope:e.__scopeSelect,forceMount:r,children:f.jsx(pl,{asChild:!0,...i})})};y1.displayName=v1;var Ha="SelectContent",b1=w.forwardRef((e,n)=>{const r=tN(Ha,e.__scopeSelect),{forceMount:i=r.forceMount,...s}=e,l=Ka(Ha,e.__scopeSelect),[u,d]=w.useState();return Gt(()=>{d(new DocumentFragment)},[]),f.jsx(yr,{present:i||l.open,children:({present:m})=>m?f.jsx(S1,{...s,ref:n}):f.jsx(x1,{...s,fragment:u})})});b1.displayName=Ha;var x1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,fragment:s}=e;return s?Mi.createPortal(f.jsx(w1,{scope:r,children:f.jsx(Hu.Slot,{scope:r,children:f.jsx("div",{ref:n,children:i})})}),s):null});x1.displayName="SelectContentFragment";var hr=10,[w1,Ya]=zi(Ha),nN="SelectContentImpl",rN=_i("SelectContent.RemoveScroll"),S1=w.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:S,hideWhenDetached:C,avoidCollisions:E,...R}=e,O=Ka(Ha,r),[T,z]=w.useState(null),[I,F]=w.useState(null),V=nt(n,z),[U,pe]=w.useState(null),[ge,fe]=w.useState(null),Q=Bu(r),[le,ue]=w.useState(!1),xe=w.useRef(!1);w.useEffect(()=>{if(T)return fp(T)},[T]),dp();const N=w.useCallback(ee=>{const[ve,...ye]=Q().map(Fe=>Fe.ref.current),[Ne]=ye.slice(-1),Ie=document.activeElement;for(const Fe of ee)if(Fe===Ie||(Fe?.scrollIntoView({block:"nearest"}),Fe===ve&&I&&(I.scrollTop=0),Fe===Ne&&I&&(I.scrollTop=I.scrollHeight),Fe?.focus(),document.activeElement!==Ie))return},[Q,I]),q=w.useCallback(()=>N([U,T]),[N,U,T]);w.useEffect(()=>{le&&q()},[le,q]);const{onOpenChange:ae,triggerPointerDownPosRef:te}=O;w.useEffect(()=>{if(T){let ee={x:0,y:0};const ve=Ne=>{ee={x:Math.abs(Math.round(Ne.pageX)-(te.current?.x??0)),y:Math.abs(Math.round(Ne.pageY)-(te.current?.y??0))}},ye=Ne=>{ee.x<=10&&ee.y<=10?Ne.preventDefault():Ne.composedPath().includes(T)||ae(!1),document.removeEventListener("pointermove",ve),te.current=null};return te.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",ye,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",ye,{capture:!0})}}},[T,ae,te]),w.useEffect(()=>{const ee=()=>ae(!1);return window.addEventListener("blur",ee),window.addEventListener("resize",ee),()=>{window.removeEventListener("blur",ee),window.removeEventListener("resize",ee)}},[ae]);const[ne,k]=I1(ee=>{const ve=Q().filter(Ie=>!Ie.disabled),ye=ve.find(Ie=>Ie.ref.current===document.activeElement),Ne=P1(ve,ee,ye);Ne&&setTimeout(()=>Ne.ref.current?.focus())}),M=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&(pe(ee),Ne&&(xe.current=!0))},[O.value]),B=w.useCallback(()=>T?.focus(),[T]),X=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&fe(ee)},[O.value]),K=i==="popper"?Cm:_1,se=K===Cm?{side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:S,hideWhenDetached:C,avoidCollisions:E}:{};return f.jsx(w1,{scope:r,content:T,viewport:I,onViewportChange:F,itemRefCallback:M,selectedItem:U,onItemLeave:B,itemTextRefCallback:X,focusSelectedItem:q,selectedItemText:ge,position:i,isPositioned:le,searchRef:ne,children:f.jsx(Du,{as:rN,allowPinchZoom:!0,children:f.jsx(Mu,{asChild:!0,trapped:O.open,onMountAutoFocus:ee=>{ee.preventDefault()},onUnmountAutoFocus:Re(s,ee=>{O.trigger?.focus({preventScroll:!0}),ee.preventDefault()}),children:f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ee=>ee.preventDefault(),onDismiss:()=>O.onOpenChange(!1),children:f.jsx(K,{role:"listbox",id:O.contentId,"data-state":O.open?"open":"closed",dir:O.dir,onContextMenu:ee=>ee.preventDefault(),...R,...se,onPlaced:()=>ue(!0),ref:V,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:Re(R.onKeyDown,ee=>{const ve=ee.ctrlKey||ee.altKey||ee.metaKey;if(ee.key==="Tab"&&ee.preventDefault(),!ve&&ee.key.length===1&&k(ee.key),["ArrowUp","ArrowDown","Home","End"].includes(ee.key)){let Ne=Q().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(ee.key)&&(Ne=Ne.slice().reverse()),["ArrowUp","ArrowDown"].includes(ee.key)){const Ie=ee.target,Fe=Ne.indexOf(Ie);Ne=Ne.slice(Fe+1)}setTimeout(()=>N(Ne)),ee.preventDefault()}})})})})})})});S1.displayName=nN;var aN="SelectItemAlignedPosition",_1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:i,...s}=e,l=Ka(Ha,r),u=Ya(Ha,r),[d,m]=w.useState(null),[p,y]=w.useState(null),v=nt(n,y),b=Bu(r),x=w.useRef(!1),S=w.useRef(!0),{viewport:C,selectedItem:E,selectedItemText:R,focusSelectedItem:O}=u,T=w.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&p&&C&&E&&R){const V=l.trigger.getBoundingClientRect(),U=p.getBoundingClientRect(),pe=l.valueNode.getBoundingClientRect(),ge=R.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ge.left-U.left,Fe=pe.left-Ie,ft=V.left-Fe,Qe=V.width+ft,vn=Math.max(Qe,U.width),un=window.innerWidth-hr,Kt=ex(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.left=Kt+"px"}else{const Ie=U.right-ge.right,Fe=window.innerWidth-pe.right-Ie,ft=window.innerWidth-V.right-Fe,Qe=V.width+ft,vn=Math.max(Qe,U.width),un=window.innerWidth-hr,Kt=ex(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.right=Kt+"px"}const fe=b(),Q=window.innerHeight-hr*2,le=C.scrollHeight,ue=window.getComputedStyle(p),xe=parseInt(ue.borderTopWidth,10),N=parseInt(ue.paddingTop,10),q=parseInt(ue.borderBottomWidth,10),ae=parseInt(ue.paddingBottom,10),te=xe+N+le+ae+q,ne=Math.min(E.offsetHeight*5,te),k=window.getComputedStyle(C),M=parseInt(k.paddingTop,10),B=parseInt(k.paddingBottom,10),X=V.top+V.height/2-hr,K=Q-X,se=E.offsetHeight/2,ee=E.offsetTop+se,ve=xe+N+ee,ye=te-ve;if(ve<=X){const Ie=fe.length>0&&E===fe[fe.length-1].ref.current;d.style.bottom="0px";const Fe=p.clientHeight-C.offsetTop-C.offsetHeight,ft=Math.max(K,se+(Ie?B:0)+Fe+q),Qe=ve+ft;d.style.height=Qe+"px"}else{const Ie=fe.length>0&&E===fe[0].ref.current;d.style.top="0px";const ft=Math.max(X,xe+C.offsetTop+(Ie?M:0)+se)+ye;d.style.height=ft+"px",C.scrollTop=ve-X+C.offsetTop}d.style.margin=`${hr}px 0`,d.style.minHeight=ne+"px",d.style.maxHeight=Q+"px",i?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,p,C,E,R,l.dir,i]);Gt(()=>T(),[T]);const[z,I]=w.useState();Gt(()=>{p&&I(window.getComputedStyle(p).zIndex)},[p]);const F=w.useCallback(V=>{V&&S.current===!0&&(T(),O?.(),S.current=!1)},[T,O]);return f.jsx(oN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:F,children:f.jsx("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:z},children:f.jsx($e.div,{...s,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});_1.displayName=aN;var iN="SelectPopperPosition",Cm=w.forwardRef((e,n)=>{const{__scopeSelect:r,align:i="start",collisionPadding:s=hr,...l}=e,u=qu(r);return f.jsx(Ap,{...u,...l,ref:n,align:i,collisionPadding:s,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)"}})});Cm.displayName=iN;var[oN,Pp]=zi(Ha,{}),Em="SelectViewport",C1=w.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:i,...s}=e,l=Ya(Em,r),u=Pp(Em,r),d=nt(n,l.onViewportChange),m=w.useRef(0);return f.jsxs(f.Fragment,{children:[f.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:i}),f.jsx(Hu.Slot,{scope:r,children:f.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Re(s.onScroll,p=>{const y=p.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(m.current-y.scrollTop);if(x>0){const S=window.innerHeight-hr*2,C=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),R=Math.max(C,E);if(R0?z:0,v.style.justifyContent="flex-end")}}}m.current=y.scrollTop})})})]})});C1.displayName=Em;var E1="SelectGroup",[sN,lN]=zi(E1),cN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=hn();return f.jsx(sN,{scope:r,id:s,children:f.jsx($e.div,{role:"group","aria-labelledby":s,...i,ref:n})})});cN.displayName=E1;var R1="SelectLabel",uN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=lN(R1,r);return f.jsx($e.div,{id:s.id,...i,ref:n})});uN.displayName=R1;var bu="SelectItem",[dN,j1]=zi(bu),T1=w.forwardRef((e,n)=>{const{__scopeSelect:r,value:i,disabled:s=!1,textValue:l,...u}=e,d=Ka(bu,r),m=Ya(bu,r),p=d.value===i,[y,v]=w.useState(l??""),[b,x]=w.useState(!1),S=rr(T=>m.itemRefCallback?.(T,i,s)),C=nt(n,S),E=hn(),R=w.useRef("touch"),O=()=>{s||(d.onValueChange(i),d.onOpenChange(!1))};return f.jsx(dN,{scope:r,value:i,disabled:s,textId:E,isSelected:p,onItemTextChange:w.useCallback(T=>{v(z=>z||(T?.textContent??"").trim())},[]),children:f.jsx(Hu.ItemSlot,{scope:r,value:i,disabled:s,textValue:y,children:f.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":p&&b,"data-state":p?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...u,ref:C,onFocus:Re(u.onFocus,()=>x(!0)),onBlur:Re(u.onBlur,()=>x(!1)),onClick:Re(u.onClick,()=>{R.current!=="mouse"&&O()}),onPointerUp:Re(u.onPointerUp,()=>{R.current==="mouse"&&O()}),onPointerDown:Re(u.onPointerDown,T=>{R.current=T.pointerType}),onPointerMove:Re(u.onPointerMove,T=>{R.current=T.pointerType,s?m.onItemLeave?.():R.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Re(u.onPointerLeave,T=>{T.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:Re(u.onKeyDown,T=>{s||T.target!==T.currentTarget||m.searchRef?.current!==""&&T.key===" "||(ZM.includes(T.key)&&O(),T.key===" "&&T.preventDefault())})})})})});T1.displayName=bu;var Zs="SelectItemText",O1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,...l}=e,u=Ka(Zs,r),d=Ya(Zs,r),m=j1(Zs,r),p=XM(Zs,r),[y,v]=w.useState(null),b=rr(O=>d.itemTextRefCallback?.(O,m.value,m.disabled)),x=nt(n,v,m.onItemTextChange,b),S=y?.textContent,C=w.useMemo(()=>f.jsx("option",{value:m.value,disabled:m.disabled,children:S},m.value),[m.disabled,m.value,S]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=p;return Gt(()=>(E(C),()=>R(C)),[E,R,C]),f.jsxs(f.Fragment,{children:[f.jsx($e.span,{id:m.textId,...l,ref:x}),m.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!Gu(u.value)?Mi.createPortal(l.children,u.valueNode):null]})});O1.displayName=Zs;var A1="SelectItemIndicator",M1=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return j1(A1,r).isSelected?f.jsx($e.span,{"aria-hidden":!0,...i,ref:n}):null});M1.displayName=A1;var Rm="SelectScrollUpButton",N1=w.forwardRef((e,n)=>{const r=Ya(Rm,e.__scopeSelect),i=Pp(Rm,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollTop>0;l(p)};const m=r.viewport;return d(),m.addEventListener("scroll",d),()=>m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(z1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop-m.offsetHeight)}}):null});N1.displayName=Rm;var jm="SelectScrollDownButton",D1=w.forwardRef((e,n)=>{const r=Ya(jm,e.__scopeSelect),i=Pp(jm,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollHeight-m.clientHeight,y=Math.ceil(m.scrollTop)m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(z1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop+m.offsetHeight)}}):null});D1.displayName=jm;var z1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:i,...s}=e,l=Ya("SelectScrollButton",r),u=w.useRef(null),d=Bu(r),m=w.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return w.useEffect(()=>()=>m(),[m]),Gt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),f.jsx($e.div,{"aria-hidden":!0,...s,ref:n,style:{flexShrink:0,...s.style},onPointerDown:Re(s.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:Re(s.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:Re(s.onPointerLeave,()=>{m()})})}),fN="SelectSeparator",hN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return f.jsx($e.div,{"aria-hidden":!0,...i,ref:n})});hN.displayName=fN;var k1="SelectArrow",mN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=qu(r);return Ya(k1,r).position==="popper"?f.jsx(Mp,{...s,...i,ref:n}):null});mN.displayName=k1;var L1="SelectBubbleInput",$1=w.forwardRef(({__scopeSelect:e,...n},r)=>{const i=Ka(L1,e),{value:s,onValueChange:l,required:u,disabled:d,name:m,autoComplete:p,form:y}=i,{nativeOptions:v,nativeSelectKey:b}=i,x=w.useRef(null),S=nt(r,x),C=s??"",E=YT(C),R=Array.from(v).some(O=>(O.props.value??"")==="");return w.useEffect(()=>{const O=x.current;if(!O)return;const T=window.HTMLSelectElement.prototype,I=Object.getOwnPropertyDescriptor(T,"value").set;if(E!==C&&I){const F=new Event("change",{bubbles:!0});I.call(O,C),O.dispatchEvent(F)}},[E,C]),f.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:m,autoComplete:p,disabled:d,form:y,onChange:O=>l(O.target.value),...n,style:{...$w,...n.style},ref:S,defaultValue:C,children:[Gu(s)&&!R?f.jsx("option",{value:""}):null,Array.from(v)]},b)});$1.displayName=L1;function pN(e){return typeof e=="function"}function Gu(e){return e===""||e===void 0}function I1(e){const n=rr(e),r=w.useRef(""),i=w.useRef(0),s=w.useCallback(u=>{const d=r.current+u;n(d),(function m(p){r.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>m(""),1e3))})(d)},[n]),l=w.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return w.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,s,l]}function P1(e,n,r){const s=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=gN(e,Math.max(l,0));s.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.textValue.toLowerCase().startsWith(s.toLowerCase()));return m!==r?m:void 0}function gN(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var vN="Separator",tx="horizontal",yN=["horizontal","vertical"],F1=w.forwardRef((e,n)=>{const{decorative:r,orientation:i=tx,...s}=e,l=bN(i)?i:tx,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return f.jsx($e.div,{"data-orientation":l,...d,...s,ref:n})});F1.displayName=vN;function bN(e){return yN.includes(e)}var xN=F1,[Zu]=Ga("Tooltip",[Zo]),Ku=Zo(),V1="TooltipProvider",wN=700,Tm="tooltip.open",[SN,Fp]=Zu(V1),U1=e=>{const{__scopeTooltip:n,delayDuration:r=wN,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:l}=e,u=w.useRef(!0),d=w.useRef(!1),m=w.useRef(0);return w.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),f.jsx(SN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:w.useCallback(()=>{i<=0||(window.clearTimeout(m.current),u.current=!1)},[i]),onClose:w.useCallback(()=>{i<=0||(window.clearTimeout(m.current),m.current=window.setTimeout(()=>u.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:w.useCallback(p=>{d.current=p},[]),disableHoverableContent:s,children:l})};U1.displayName=V1;var ol="Tooltip",[_N,bl]=Zu(ol),H1=e=>{const{__scopeTooltip:n,children:r,open:i,defaultOpen:s,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,m=Fp(ol,e.__scopeTooltip),p=Ku(n),[y,v]=w.useState(null),b=hn(),x=w.useRef(0),S=u??m.disableHoverableContent,C=d??m.delayDuration,E=w.useRef(!1),[R,O]=Vo({prop:i,defaultProp:s??!1,onChange:V=>{V?(m.onOpen(),document.dispatchEvent(new CustomEvent(Tm))):m.onClose(),l?.(V)},caller:ol}),T=w.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),z=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,O(!0)},[O]),I=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,O(!1)},[O]),F=w.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,O(!0),x.current=0},C)},[C,O]);return w.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),f.jsx(Tp,{...p,children:f.jsx(_N,{scope:n,contentId:b,open:R,stateAttribute:T,trigger:y,onTriggerChange:v,onTriggerEnter:w.useCallback(()=>{m.isOpenDelayedRef.current?F():z()},[m.isOpenDelayedRef,F,z]),onTriggerLeave:w.useCallback(()=>{S?I():(window.clearTimeout(x.current),x.current=0)},[I,S]),onOpen:z,onClose:I,disableHoverableContent:S,children:r})})};H1.displayName=ol;var Om="TooltipTrigger",B1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=bl(Om,r),l=Fp(Om,r),u=Ku(r),d=w.useRef(null),m=nt(n,d,s.onTriggerChange),p=w.useRef(!1),y=w.useRef(!1),v=w.useCallback(()=>p.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(Op,{asChild:!0,...u,children:f.jsx($e.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:m,onPointerMove:Re(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(s.onTriggerEnter(),y.current=!0)}),onPointerLeave:Re(e.onPointerLeave,()=>{s.onTriggerLeave(),y.current=!1}),onPointerDown:Re(e.onPointerDown,()=>{s.open&&s.onClose(),p.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:Re(e.onFocus,()=>{p.current||s.onOpen()}),onBlur:Re(e.onBlur,s.onClose),onClick:Re(e.onClick,s.onClose)})})});B1.displayName=Om;var Vp="TooltipPortal",[CN,EN]=Zu(Vp,{forceMount:void 0}),q1=e=>{const{__scopeTooltip:n,forceMount:r,children:i,container:s}=e,l=bl(Vp,n);return f.jsx(CN,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:i})})})};q1.displayName=Vp;var Ho="TooltipContent",G1=w.forwardRef((e,n)=>{const r=EN(Ho,e.__scopeTooltip),{forceMount:i=r.forceMount,side:s="top",...l}=e,u=bl(Ho,e.__scopeTooltip);return f.jsx(yr,{present:i||u.open,children:u.disableHoverableContent?f.jsx(Z1,{side:s,...l,ref:n}):f.jsx(RN,{side:s,...l,ref:n})})}),RN=w.forwardRef((e,n)=>{const r=bl(Ho,e.__scopeTooltip),i=Fp(Ho,e.__scopeTooltip),s=w.useRef(null),l=nt(n,s),[u,d]=w.useState(null),{trigger:m,onClose:p}=r,y=s.current,{onPointerInTransitChange:v}=i,b=w.useCallback(()=>{d(null),v(!1)},[v]),x=w.useCallback((S,C)=>{const E=S.currentTarget,R={x:S.clientX,y:S.clientY},O=AN(R,E.getBoundingClientRect()),T=MN(R,O),z=NN(C.getBoundingClientRect()),I=zN([...T,...z]);d(I),v(!0)},[v]);return w.useEffect(()=>()=>b(),[b]),w.useEffect(()=>{if(m&&y){const S=E=>x(E,y),C=E=>x(E,m);return m.addEventListener("pointerleave",S),y.addEventListener("pointerleave",C),()=>{m.removeEventListener("pointerleave",S),y.removeEventListener("pointerleave",C)}}},[m,y,x,b]),w.useEffect(()=>{if(u){const S=C=>{const E=C.target,R={x:C.clientX,y:C.clientY},O=m?.contains(E)||y?.contains(E),T=!DN(R,u);O?b():T&&(b(),p())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[m,y,u,p,b]),f.jsx(Z1,{...e,ref:l})}),[jN,TN]=Zu(ol,{isInside:!1}),ON=gj("TooltipContent"),Z1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":s,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,m=bl(Ho,r),p=Ku(r),{onClose:y}=m;return w.useEffect(()=>(document.addEventListener(Tm,y),()=>document.removeEventListener(Tm,y)),[y]),w.useEffect(()=>{if(m.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(m.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[m.trigger,y]),f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(Ap,{"data-state":m.stateAttribute,...p,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(ON,{children:i}),f.jsx(jN,{scope:r,isInside:!0,children:f.jsx(jj,{id:m.contentId,role:"tooltip",children:s||i})})]})})});G1.displayName=Ho;var K1="TooltipArrow",Y1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=Ku(r);return TN(K1,r).isInside?null:f.jsx(Mp,{...s,...i,ref:n})});Y1.displayName=K1;function AN(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),s=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,i,s,l)){case l:return"left";case s:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function MN(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function NN(e){const{top:n,right:r,bottom:i,left:s}=e;return[{x:s,y:n},{x:r,y:n},{x:r,y:i},{x:s,y:i}]}function DN(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(s=!s)}return s}function zN(e){const n=e.slice();return n.sort((r,i)=>r.xi.x?1:r.yi.y?1:0),kN(n)}function kN(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))n.pop();else break}n.push(s)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const s=e[i];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))r.pop();else break}r.push(s)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var LN=U1,$N=H1,IN=B1,PN=q1,FN=G1,VN=Y1;function Q1(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let i=0;i({classGroupId:e,validator:n}),J1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),xu="-",nx=[],BN="arbitrary..",qN=e=>{const n=ZN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return GN(u);const d=u.split(xu),m=d[0]===""&&d.length>1?1:0;return W1(d,m,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const m=i[u],p=r[u];return m?p?UN(p,m):m:p||nx}return r[u]||nx}}},W1=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const s=e[n],l=r.nextPart.get(s);if(l){const p=W1(e,n+1,l);if(p)return p}const u=r.validators;if(u===null)return;const d=n===0?e.join(xu):e.slice(n).join(xu),m=u.length;for(let p=0;pe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),i=n.slice(0,r);return i?BN+i:void 0})(),ZN=e=>{const{theme:n,classGroups:r}=e;return KN(r,n)},KN=(e,n)=>{const r=J1();for(const i in e){const s=e[i];Up(s,r,i,n)}return r},Up=(e,n,r,i)=>{const s=e.length;for(let l=0;l{if(typeof e=="string"){QN(e,n,r);return}if(typeof e=="function"){XN(e,n,r,i);return}JN(e,n,r,i)},QN=(e,n,r)=>{const i=e===""?n:e_(n,e);i.classGroupId=r},XN=(e,n,r,i)=>{if(WN(e)){Up(e(i),n,r,i);return}n.validators===null&&(n.validators=[]),n.validators.push(HN(r,e))},JN=(e,n,r,i)=>{const s=Object.entries(e),l=s.length;for(let u=0;u{let r=e;const i=n.split(xu),s=i.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,eD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),i=Object.create(null);const s=(l,u)=>{r[l]=u,n++,n>e&&(n=0,i=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=i[l])!==void 0)return s(l,u),u},set(l,u){l in r?r[l]=u:s(l,u)}}},Am="!",rx=":",tD=[],ax=(e,n,r,i,s)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:i,isExternal:s}),nD=e=>{const{prefix:n,experimentalParseClassName:r}=e;let i=s=>{const l=[];let u=0,d=0,m=0,p;const y=s.length;for(let C=0;Cm?p-m:void 0;return ax(l,x,b,S)};if(n){const s=n+rx,l=i;i=u=>u.startsWith(s)?l(u.slice(s.length)):ax(tD,!1,u,void 0,!0)}if(r){const s=i;i=l=>r({className:l,parseClassName:s})}return i},rD=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,i)=>{n.set(r,1e6+i)}),r=>{const i=[];let s=[];for(let l=0;l0&&(s.sort(),i.push(...s),s=[]),i.push(u)):s.push(u)}return s.length>0&&(s.sort(),i.push(...s)),i}},aD=e=>({cache:eD(e.cacheSize),parseClassName:nD(e),sortModifiers:rD(e),postfixLookupClassGroupIds:iD(e),...qN(e)}),iD=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let i=0;i{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],m=e.trim().split(oD);let p="";for(let y=m.length-1;y>=0;y-=1){const v=m[y],{isExternal:b,modifiers:x,hasImportantModifier:S,baseClassName:C,maybePostfixModifierPosition:E}=r(v);if(b){p=v+(p.length>0?" "+p:p);continue}let R=!!E,O;if(R){const V=C.substring(0,E);O=i(V);const U=O&&u[O]?i(C):void 0;U&&U!==O&&(O=U,R=!1)}else O=i(C);if(!O){if(!R){p=v+(p.length>0?" "+p:p);continue}if(O=i(C),!O){p=v+(p.length>0?" "+p:p);continue}R=!1}const T=x.length===0?"":x.length===1?x[0]:l(x).join(":"),z=S?T+Am:T,I=z+O;if(d.indexOf(I)>-1)continue;d.push(I);const F=s(O,R);for(let V=0;V0?" "+p:p)}return p},lD=(...e)=>{let n=0,r,i,s="";for(;n{if(typeof e=="string")return e;let n,r="";for(let i=0;i{let r,i,s,l;const u=m=>{const p=n.reduce((y,v)=>v(y),e());return r=aD(p),i=r.cache.get,s=r.cache.set,l=d,d(m)},d=m=>{const p=i(m);if(p)return p;const y=sD(m,r);return s(m,y),y};return l=u,(...m)=>l(lD(...m))},uD=[],Ut=e=>{const n=r=>r[e]||uD;return n.isThemeGetter=!0,n},n_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,r_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,hD=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,mD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,pD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,gD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ma=e=>dD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Cr=e=>!!e&&Number.isInteger(Number(e)),Hh=e=>e.endsWith("%")&&He(e.slice(0,-1)),Wr=e=>fD.test(e),a_=()=>!0,vD=e=>hD.test(e)&&!mD.test(e),Hp=()=>!1,yD=e=>pD.test(e),bD=e=>gD.test(e),xD=e=>!_e(e)&&!Ce(e),wD=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),SD=e=>Qa(e,s_,Hp),_e=e=>n_.test(e),yi=e=>Qa(e,l_,vD),ix=e=>Qa(e,AD,He),_D=e=>Qa(e,u_,a_),CD=e=>Qa(e,c_,Hp),ox=e=>Qa(e,i_,Hp),ED=e=>Qa(e,o_,bD),Gc=e=>Qa(e,d_,yD),Ce=e=>r_.test(e),Vs=e=>ki(e,l_),RD=e=>ki(e,c_),sx=e=>ki(e,i_),jD=e=>ki(e,s_),TD=e=>ki(e,o_),Zc=e=>ki(e,d_,!0),OD=e=>ki(e,u_,!0),Qa=(e,n,r)=>{const i=n_.exec(e);return i?i[1]?n(i[1]):r(i[2]):!1},ki=(e,n,r=!1)=>{const i=r_.exec(e);return i?i[1]?n(i[1]):r:!1},i_=e=>e==="position"||e==="percentage",o_=e=>e==="image"||e==="url",s_=e=>e==="length"||e==="size"||e==="bg-size",l_=e=>e==="length",AD=e=>e==="number",c_=e=>e==="family-name",u_=e=>e==="number"||e==="weight",d_=e=>e==="shadow",MD=()=>{const e=Ut("color"),n=Ut("font"),r=Ut("text"),i=Ut("font-weight"),s=Ut("tracking"),l=Ut("leading"),u=Ut("breakpoint"),d=Ut("container"),m=Ut("spacing"),p=Ut("radius"),y=Ut("shadow"),v=Ut("inset-shadow"),b=Ut("text-shadow"),x=Ut("drop-shadow"),S=Ut("blur"),C=Ut("perspective"),E=Ut("aspect"),R=Ut("ease"),O=Ut("animate"),T=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...z(),Ce,_e],F=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],U=()=>[Ce,_e,m],pe=()=>[Ma,"full","auto",...U()],ge=()=>[Cr,"none","subgrid",Ce,_e],fe=()=>["auto",{span:["full",Cr,Ce,_e]},Cr,Ce,_e],Q=()=>[Cr,"auto",Ce,_e],le=()=>["auto","min","max","fr",Ce,_e],ue=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],xe=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...U()],q=()=>[Ma,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...U()],ae=()=>[Ma,"screen","full","dvw","lvw","svw","min","max","fit",...U()],te=()=>[Ma,"screen","full","lh","dvh","lvh","svh","min","max","fit",...U()],ne=()=>[e,Ce,_e],k=()=>[...z(),sx,ox,{position:[Ce,_e]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],B=()=>["auto","cover","contain",jD,SD,{size:[Ce,_e]}],X=()=>[Hh,Vs,yi],K=()=>["","none","full",p,Ce,_e],se=()=>["",He,Vs,yi],ee=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[He,Hh,sx,ox],Ne=()=>["","none",S,Ce,_e],Ie=()=>["none",He,Ce,_e],Fe=()=>["none",He,Ce,_e],ft=()=>[He,Ce,_e],Qe=()=>[Ma,"full",...U()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wr],breakpoint:[Wr],color:[a_],container:[Wr],"drop-shadow":[Wr],ease:["in","out","in-out"],font:[xD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wr],shadow:[Wr],spacing:["px",He],text:[Wr],"text-shadow":[Wr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ma,_e,Ce,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,_e]}],"container-named":[wD],columns:[{columns:[He,_e,Ce,d]}],"break-after":[{"break-after":T()}],"break-before":[{"break-before":T()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:pe()}],"inset-x":[{"inset-x":pe()}],"inset-y":[{"inset-y":pe()}],start:[{"inset-s":pe(),start:pe()}],end:[{"inset-e":pe(),end:pe()}],"inset-bs":[{"inset-bs":pe()}],"inset-be":[{"inset-be":pe()}],top:[{top:pe()}],right:[{right:pe()}],bottom:[{bottom:pe()}],left:[{left:pe()}],visibility:["visible","invisible","collapse"],z:[{z:[Cr,"auto",Ce,_e]}],basis:[{basis:[Ma,"full","auto",d,...U()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Ma,"auto","initial","none",_e]}],grow:[{grow:["",He,Ce,_e]}],shrink:[{shrink:["",He,Ce,_e]}],order:[{order:[Cr,"first","last","none",Ce,_e]}],"grid-cols":[{"grid-cols":ge()}],"col-start-end":[{col:fe()}],"col-start":[{"col-start":Q()}],"col-end":[{"col-end":Q()}],"grid-rows":[{"grid-rows":ge()}],"row-start-end":[{row:fe()}],"row-start":[{"row-start":Q()}],"row-end":[{"row-end":Q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":le()}],"auto-rows":[{"auto-rows":le()}],gap:[{gap:U()}],"gap-x":[{"gap-x":U()}],"gap-y":[{"gap-y":U()}],"justify-content":[{justify:[...ue(),"normal"]}],"justify-items":[{"justify-items":[...xe(),"normal"]}],"justify-self":[{"justify-self":["auto",...xe()]}],"align-content":[{content:["normal",...ue()]}],"align-items":[{items:[...xe(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...xe(),{baseline:["","last"]}]}],"place-content":[{"place-content":ue()}],"place-items":[{"place-items":[...xe(),"baseline"]}],"place-self":[{"place-self":["auto",...xe()]}],p:[{p:U()}],px:[{px:U()}],py:[{py:U()}],ps:[{ps:U()}],pe:[{pe:U()}],pbs:[{pbs:U()}],pbe:[{pbe:U()}],pt:[{pt:U()}],pr:[{pr:U()}],pb:[{pb:U()}],pl:[{pl:U()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":U()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":U()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],"inline-size":[{inline:["auto",...ae()]}],"min-inline-size":[{"min-inline":["auto",...ae()]}],"max-inline-size":[{"max-inline":["none",...ae()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[d,"screen",...q()]}],"min-w":[{"min-w":[d,"screen","none",...q()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",r,Vs,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,OD,_D]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hh,_e]}],"font-family":[{font:[RD,CD,n]}],"font-features":[{"font-features":[_e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ce,_e]}],"line-clamp":[{"line-clamp":[He,"none",Ce,ix]}],leading:[{leading:[l,...U()]}],"list-image":[{"list-image":["none",Ce,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ce,yi]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[He,"auto",Ce,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"tab-size":[{tab:[Cr,Ce,_e]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:k()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:B()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Cr,Ce,_e],radial:["",Ce,_e],conic:[Cr,Ce,_e]},TD,ED]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-bs":[{"border-bs":se()}],"border-w-be":[{"border-be":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-bs":[{"border-bs":ne()}],"border-color-be":[{"border-be":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ce,_e]}],"outline-w":[{outline:["",He,Vs,yi]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",y,Zc,Gc]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",v,Zc,Gc]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[He,yi]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",b,Zc,Gc]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[He,Ce,_e]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ce,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":z()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:k()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:B()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,_e]}],filter:[{filter:["","none",Ce,_e]}],blur:[{blur:Ne()}],brightness:[{brightness:[He,Ce,_e]}],contrast:[{contrast:[He,Ce,_e]}],"drop-shadow":[{"drop-shadow":["","none",x,Zc,Gc]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",He,Ce,_e]}],"hue-rotate":[{"hue-rotate":[He,Ce,_e]}],invert:[{invert:["",He,Ce,_e]}],saturate:[{saturate:[He,Ce,_e]}],sepia:[{sepia:["",He,Ce,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,_e]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ce,_e]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ce,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ce,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ce,_e]}],"backdrop-invert":[{"backdrop-invert":["",He,Ce,_e]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ce,_e]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ce,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ce,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":U()}],"border-spacing-x":[{"border-spacing-x":U()}],"border-spacing-y":[{"border-spacing-y":U()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ce,_e]}],ease:[{ease:["linear","initial",R,Ce,_e]}],delay:[{delay:[He,Ce,_e]}],animate:[{animate:["none",O,Ce,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,Ce,_e]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Fe()}],"scale-x":[{"scale-x":Fe()}],"scale-y":[{"scale-y":Fe()}],"scale-z":[{"scale-z":Fe()}],"scale-3d":["scale-3d"],skew:[{skew:ft()}],"skew-x":[{"skew-x":ft()}],"skew-y":[{"skew-y":ft()}],transform:[{transform:[Ce,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Cr,Ce,_e]}],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ne()}],"scrollbar-track-color":[{"scrollbar-track":ne()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mbs":[{"scroll-mbs":U()}],"scroll-mbe":[{"scroll-mbe":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pbs":[{"scroll-pbs":U()}],"scroll-pbe":[{"scroll-pbe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,_e]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[He,Vs,yi,ix]}],stroke:[{stroke:["none",...ne()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ND=cD(MD);function Xe(...e){return ND(X1(e))}function DD({delayDuration:e=0,...n}){return f.jsx(LN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function zD({...e}){return f.jsx($N,{"data-slot":"tooltip",...e})}function kD({...e}){return f.jsx(IN,{"data-slot":"tooltip-trigger",...e})}function LD({className:e,sideOffset:n=0,children:r,...i}){return f.jsx(PN,{children:f.jsxs(FN,{"data-slot":"tooltip-content",sideOffset:n,className:Xe("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...i,children:[r,f.jsx(VN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Mm=new Set;function $D(e){return Mm.add(e),()=>Mm.delete(e)}function ID(){for(const e of Mm)e()}const f_=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();const PD=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const FD=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,i)=>i?i.toUpperCase():r.toLowerCase());const lx=e=>{const n=FD(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Bh={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const VD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},UD=w.createContext({}),HD=()=>w.useContext(UD),BD=w.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:s="",children:l,iconNode:u,...d},m)=>{const{size:p=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=HD()??{},S=i??v?Number(r??y)*24/Number(n??p):r??y;return w.createElement("svg",{ref:m,...Bh,width:n??p??Bh.width,height:n??p??Bh.height,stroke:e??b,strokeWidth:S,className:f_("lucide",x,s),...!l&&!VD(d)&&{"aria-hidden":"true"},...d},[...u.map(([C,E])=>w.createElement(C,E)),...Array.isArray(l)?l:[l]])});const Ae=(e,n)=>{const r=w.forwardRef(({className:i,...s},l)=>w.createElement(BD,{ref:l,iconNode:n,className:f_(`lucide-${PD(lx(e))}`,`lucide-${e}`,i),...s}));return r.displayName=lx(e),r};const qD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],GD=Ae("beaker",qD);const ZD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],KD=Ae("book-open",ZD);const YD=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],QD=Ae("briefcase",YD);const XD=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],JD=Ae("bug",XD);const WD=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],ez=Ae("calendar",WD);const tz=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],h_=Ae("check",tz);const nz=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Bp=Ae("chevron-down",nz);const rz=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],az=Ae("chevron-right",rz);const iz=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],oz=Ae("chevron-up",iz);const sz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],lz=Ae("circle-check",sz);const cz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],m_=Ae("clock",cz);const uz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],dz=Ae("code",uz);const fz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],hz=Ae("compass",fz);const mz=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],pz=Ae("copy",mz);const gz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],vz=Ae("credit-card",gz);const yz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],bz=Ae("database",yz);const xz=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],wz=Ae("download",xz);const Sz=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],_z=Ae("ellipsis",Sz);const Cz=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],p_=Ae("file-text",Cz);const Ez=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Rz=Ae("flag",Ez);const jz=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],qp=Ae("folder",jz);const Tz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],Oz=Ae("gauge",Tz);const Az=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],Mz=Ae("gavel",Az);const Nz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],g_=Ae("globe",Nz);const Dz=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],zz=Ae("graduation-cap",Dz);const kz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Lz=Ae("heart",kz);const $z=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Iz=Ae("history",$z);const Pz=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Fz=Ae("image",Pz);const Vz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Uz=Ae("info",Vz);const Hz=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Bz=Ae("layout-dashboard",Hz);const qz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Gz=Ae("lightbulb",qz);const Zz=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Kz=Ae("link",Zz);const Yz=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Qz=Ae("loader-circle",Yz);const Xz=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],v_=Ae("lock",Xz);const Jz=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Wz=Ae("log-out",Jz);const ek=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],tk=Ae("megaphone",ek);const nk=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],rk=Ae("menu",nk);const ak=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],ik=Ae("music",ak);const ok=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],sk=Ae("octagon-x",ok);const lk=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],ck=Ae("package",lk);const uk=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],dk=Ae("pen-line",uk);const fk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],hk=Ae("plus",fk);const mk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],pk=Ae("rocket",mk);const gk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],y_=Ae("search",gk);const vk=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],yk=Ae("settings",vk);const bk=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],xk=Ae("share-2",bk);const wk=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],b_=Ae("shield",wk);const Sk=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],x_=Ae("square-terminal",Sk);const _k=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Ck=Ae("star",_k);const Ek=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Rk=Ae("trash-2",Ek);const jk=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],w_=Ae("triangle-alert",jk);const Tk=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Ok=Ae("upload",Tk);const Ak=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],S_=Ae("users",Ak);const Mk=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Nk=Ae("wrench",Mk);const Dk=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],__=Ae("x",Dk);function zk(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Yu(),e?document.getElementById("sidebar")?.querySelector(kk)?.focus():document.getElementById("menu-btn")?.focus()}const kk='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function pr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Yu(),e&&window.innerWidth<=iu&&document.getElementById("menu-btn")?.focus()}const iu=900;function Yu(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=iu&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const i=document.getElementById("main");i&&(n&&window.innerWidth<=iu?i.setAttribute("inert",""):i.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=iu)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Yu),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&pr()}));const Lk={alert:w_,card:vz,check:h_,chev:az,chevd:Bp,clock:m_,copy:pz,doc:p_,dots:_z,download:wz,folder:qp,dashboard:Bz,gear:yk,globe:g_,hist:Iz,link:Kz,lock:v_,menu:rk,plus:hk,power:Wz,search:y_,share:xk,shield:b_,terminal:x_,trash:Rk,upload:Ok,users:S_,x:__};function dt({name:e}){const n=Lk[e];return n?f.jsx(n,{className:"ico","aria-hidden":"true"}):null}const Nm={folder:qp,"book-open":KD,"file-text":p_,"pen-line":dk,users:S_,briefcase:QD,megaphone:tk,rocket:pk,lightbulb:Gz,flag:Rz,star:Ck,heart:Lz,code:dz,"square-terminal":x_,bug:JD,wrench:Nk,database:bz,package:ck,beaker:GD,gauge:Oz,shield:b_,lock:v_,gavel:Mz,globe:g_,compass:hz,calendar:ez,clock:m_,"graduation-cap":zz,image:Fz,music:ik};function $o({name:e,className:n}){const r=e??"",i=Object.hasOwn(Nm,r)?Nm[r]:qp;return f.jsx(i,{className:n,"aria-hidden":"true"})}function $k({size:e=22}){return f.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[f.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),f.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),f.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function wu(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return f.jsx("div",{className:n,children:e.children})}function Ik(e){e&&Yu()}function sl(e){return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:"sb-backdrop",onClick:pr}),f.jsxs("aside",{id:"sidebar",ref:Ik,children:[e.vault,e.projectsNav,e.tree??f.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),f.jsxs("main",{id:"main",children:[e.topbar,f.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Qu(e){const{name:n,onHome:r,showSignout:i,search:s}=e;return f.jsxs("header",{id:"vault",children:[f.jsx("span",{id:"vault-badge",children:f.jsx($k,{size:22})}),f.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:l=>{r&&(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),r())},children:n}),f.jsxs("div",{className:"vault-actions",children:[s&&f.jsxs(zD,{delayDuration:150,children:[f.jsx(kD,{asChild:!0,children:f.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{ID(),pr()},children:f.jsx(dt,{name:"search"})})}),f.jsxs(LD,{className:"tipcard",sideOffset:6,children:["Search ",f.jsx("kbd",{children:"⌘K"})]})]}),i&&f.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:f.jsx(dt,{name:"power"})})]})]})}function ll(e){return f.jsxs("header",{id:"topbar",children:[f.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:zk,children:f.jsx(dt,{name:"menu"})}),f.jsx("span",{id:"crumb",children:e.crumb}),f.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function Pk(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const Fk=e=>{switch(e){case"success":return Hk;case"info":return qk;case"warning":return Bk;case"error":return Gk;default:return null}},Vk=Array(12).fill(0),Uk=({visible:e,className:n})=>he.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},he.createElement("div",{className:"sonner-spinner"},Vk.map((r,i)=>he.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),Hk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Bk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),qk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Gk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Zk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},he.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),he.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Kk=()=>{const[e,n]=he.useState(document.hidden);return he.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Dm=1;class Yk{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:i,...s}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Dm++,u=this.toasts.find(m=>m.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(m=>m.id===l?(this.publish({...m,...n,id:l,title:i}),{...m,...n,id:l,dismissible:d,title:i}):m):this.addToast({title:i,...s,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const s=Promise.resolve(n instanceof Function?n():n);let l=i!==void 0,u;const d=s.then(async p=>{if(u=["resolve",p],he.isValidElement(p))l=!1,this.create({id:i,type:"default",message:p});else if(Xk(p)&&!p.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${p.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${p.status}`):r.description,S=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...S})}else if(p instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(p):r.error,b=typeof r.description=="function"?await r.description(p):r.description,S=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...S})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(p):r.success,b=typeof r.description=="function"?await r.description(p):r.description,S=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"success",description:b,...S})}}).catch(async p=>{if(u=["reject",p],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(p):r.error,v=typeof r.description=="function"?await r.description(p):r.description,x=typeof y=="object"&&!he.isValidElement(y)?y:{message:y};this.create({id:i,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(i),i=void 0),r.finally==null||r.finally.call(r)}),m=()=>new Promise((p,y)=>d.then(()=>u[0]==="reject"?y(u[1]):p(u[1])).catch(y));return typeof i!="string"&&typeof i!="number"?{unwrap:m}:Object.assign(i,{unwrap:m})},this.custom=(n,r)=>{const i=r?.id||Dm++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const An=new Yk,Qk=(e,n)=>{const r=n?.id||Dm++;return An.addToast({title:e,...n,id:r}),r},Xk=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Jk=Qk,Wk=()=>An.toasts,e3=()=>An.getActiveToasts(),cx=Object.assign(Jk,{success:An.success,info:An.info,warning:An.warning,error:An.error,custom:An.custom,message:An.message,promise:An.promise,dismiss:An.dismiss,loading:An.loading},{getHistory:Wk,getToasts:e3});Pk("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Kc(e){return e.label!==void 0}const t3=3,n3="24px",r3="16px",ux=4e3,a3=356,i3=14,o3=45,s3=200;function Er(...e){return e.filter(Boolean).join(" ")}function l3(e){const[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}const c3=e=>{var n,r,i,s,l,u,d,m,p;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:S,visibleToasts:C,heights:E,index:R,toasts:O,expanded:T,removeToast:z,defaultRichColors:I,closeButton:F,style:V,cancelButtonStyle:U,actionButtonStyle:pe,className:ge="",descriptionClassName:fe="",duration:Q,position:le,gap:ue,expandByDefault:xe,classNames:N,icons:q,closeButtonAriaLabel:ae="Close toast"}=e,[te,ne]=he.useState(null),[k,M]=he.useState(null),[B,X]=he.useState(!1),[K,se]=he.useState(!1),[ee,ve]=he.useState(!1),[ye,Ne]=he.useState(!1),[Ie,Fe]=he.useState(!1),[ft,Qe]=he.useState(0),[vn,un]=he.useState(0),Kt=he.useRef(v.duration||Q||ux),ir=he.useRef(null),Dt=he.useRef(null),or=R===0,Dr=R+1<=C,Tt=v.type,Un=v.dismissible!==!1,wt=v.className||"",oa=v.descriptionClassName||"",yn=he.useMemo(()=>E.findIndex(Me=>Me.toastId===v.id)||0,[E,v.id]),zr=he.useMemo(()=>{var Me;return(Me=v.closeButton)!=null?Me:F},[v.closeButton,F]),sr=he.useMemo(()=>v.duration||Q||ux,[v.duration,Q]),Yt=he.useRef(0),bn=he.useRef(0),A=he.useRef(0),D=he.useRef(null),[$,J]=le.split("-"),ce=he.useMemo(()=>E.reduce((Me,ht,yt)=>yt>=yn?Me:Me+ht.height,0),[E,yn]),me=Kk(),be=v.invert||y,we=Tt==="loading";bn.current=he.useMemo(()=>yn*ue+ce,[yn,ce]),he.useEffect(()=>{Kt.current=sr},[sr]),he.useEffect(()=>{X(!0)},[]),he.useEffect(()=>{const Me=Dt.current;if(Me){const ht=Me.getBoundingClientRect().height;return un(ht),S(yt=>[{toastId:v.id,height:ht,position:v.position},...yt]),()=>S(yt=>yt.filter(Ht=>Ht.toastId!==v.id))}},[S,v.id]),he.useLayoutEffect(()=>{if(!B)return;const Me=Dt.current,ht=Me.style.height;Me.style.height="auto";const yt=Me.getBoundingClientRect().height;Me.style.height=ht,un(yt),S(Ht=>Ht.find(_t=>_t.toastId===v.id)?Ht.map(_t=>_t.toastId===v.id?{..._t,height:yt}:_t):[{toastId:v.id,height:yt,position:v.position},...Ht])},[B,v.title,v.description,S,v.id,v.jsx,v.action,v.cancel]);const je=he.useCallback(()=>{se(!0),Qe(bn.current),S(Me=>Me.filter(ht=>ht.toastId!==v.id)),setTimeout(()=>{z(v)},s3)},[v,z,S,bn]);he.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Me;return T||x||me?(()=>{if(A.current{v.onAutoClose==null||v.onAutoClose.call(v,v),je()},Kt.current)),()=>clearTimeout(Me)},[T,x,v,Tt,me,je]),he.useEffect(()=>{v.delete&&(je(),v.onDismiss==null||v.onDismiss.call(v,v))},[je,v.delete]);function et(){var Me;if(q?.loading){var ht;return he.createElement("div",{className:Er(N?.loader,v==null||(ht=v.classNames)==null?void 0:ht.loader,"sonner-loader"),"data-visible":Tt==="loading"},q.loading)}return he.createElement(Uk,{className:Er(N?.loader,v==null||(Me=v.classNames)==null?void 0:Me.loader),visible:Tt==="loading"})}const St=v.icon||q?.[Tt]||Fk(Tt);var Qt,zt;return he.createElement("li",{tabIndex:0,ref:Dt,className:Er(ge,wt,N?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,N?.default,N?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Qt=v.richColors)!=null?Qt:I,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":B,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":K,"data-visible":Dr,"data-y-position":$,"data-x-position":J,"data-index":R,"data-front":or,"data-swiping":ee,"data-dismissible":Un,"data-type":Tt,"data-invert":be,"data-swipe-out":ye,"data-swipe-direction":k,"data-expanded":!!(T||xe&&B),"data-testid":v.testId,style:{"--index":R,"--toasts-before":R,"--z-index":O.length-R,"--offset":`${K?ft:bn.current}px`,"--initial-height":xe?"auto":`${vn}px`,...V,...v.style},onDragEnd:()=>{ve(!1),ne(null),D.current=null},onPointerDown:Me=>{Me.button!==2&&(we||!Un||(ir.current=new Date,Qe(bn.current),Me.target.setPointerCapture(Me.pointerId),Me.target.tagName!=="BUTTON"&&(ve(!0),D.current={x:Me.clientX,y:Me.clientY})))},onPointerUp:()=>{var Me,ht,yt;if(ye||!Un)return;D.current=null;const Ht=Number(((Me=Dt.current)==null?void 0:Me.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),lr=Number(((ht=Dt.current)==null?void 0:ht.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),_t=new Date().getTime()-((yt=ir.current)==null?void 0:yt.getTime()),xn=te==="x"?Ht:lr,Wa=Math.abs(xn)/_t;if(Math.abs(xn)>=o3||Wa>.11){Qe(bn.current),v.onDismiss==null||v.onDismiss.call(v,v),M(te==="x"?Ht>0?"right":"left":lr>0?"down":"up"),je(),Ne(!0);return}else{var wn,Sn;(wn=Dt.current)==null||wn.style.setProperty("--swipe-amount-x","0px"),(Sn=Dt.current)==null||Sn.style.setProperty("--swipe-amount-y","0px")}Fe(!1),ve(!1),ne(null)},onPointerMove:Me=>{var ht,yt,Ht;if(!D.current||!Un||((ht=window.getSelection())==null?void 0:ht.toString().length)>0)return;const _t=Me.clientY-D.current.y,xn=Me.clientX-D.current.x;var Wa;const wn=(Wa=e.swipeDirections)!=null?Wa:l3(le);!te&&(Math.abs(xn)>1||Math.abs(_t)>1)&&ne(Math.abs(xn)>Math.abs(_t)?"x":"y");let Sn={x:0,y:0};const $i=cr=>1/(1.5+Math.abs(cr)/20);if(te==="y"){if(wn.includes("top")||wn.includes("bottom"))if(wn.includes("top")&&_t<0||wn.includes("bottom")&&_t>0)Sn.y=_t;else{const cr=_t*$i(_t);Sn.y=Math.abs(cr)0)Sn.x=xn;else{const cr=xn*$i(xn);Sn.x=Math.abs(cr)0||Math.abs(Sn.y)>0)&&Fe(!0),(yt=Dt.current)==null||yt.style.setProperty("--swipe-amount-x",`${Sn.x}px`),(Ht=Dt.current)==null||Ht.style.setProperty("--swipe-amount-y",`${Sn.y}px`)}},zr&&!v.jsx&&Tt!=="loading"?he.createElement("button",{"aria-label":ae,"data-disabled":we,"data-close-button":!0,onClick:we||!Un?()=>{}:()=>{je(),v.onDismiss==null||v.onDismiss.call(v,v)},className:Er(N?.closeButton,v==null||(i=v.classNames)==null?void 0:i.closeButton)},(zt=q?.close)!=null?zt:Zk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(q?.[Tt]!==null||v.icon)?he.createElement("div",{"data-icon":"",className:Er(N?.icon,v==null||(s=v.classNames)==null?void 0:s.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||et():null,v.type!=="loading"?St:null):null,he.createElement("div",{"data-content":"",className:Er(N?.content,v==null||(l=v.classNames)==null?void 0:l.content)},he.createElement("div",{"data-title":"",className:Er(N?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?he.createElement("div",{"data-description":"",className:Er(fe,oa,N?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),he.isValidElement(v.cancel)?v.cancel:v.cancel&&Kc(v.cancel)?he.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||U,onClick:Me=>{Kc(v.cancel)&&Un&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Me),je())},className:Er(N?.cancelButton,v==null||(m=v.classNames)==null?void 0:m.cancelButton)},v.cancel.label):null,he.isValidElement(v.action)?v.action:v.action&&Kc(v.action)?he.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||pe,onClick:Me=>{Kc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Me),!Me.defaultPrevented&&je())},className:Er(N?.actionButton,v==null||(p=v.classNames)==null?void 0:p.actionButton)},v.action.label):null)};function dx(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function u3(e,n){const r={};return[e,n].forEach((i,s)=>{const l=s===1,u=l?"--mobile-offset":"--offset",d=l?r3:n3;function m(p){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof p=="number"?`${p}px`:p})}typeof i=="number"||typeof i=="string"?m(i):typeof i=="object"?["top","right","bottom","left"].forEach(p=>{i[p]===void 0?r[`${u}-${p}`]=d:r[`${u}-${p}`]=typeof i[p]=="number"?`${i[p]}px`:i[p]}):m(d)}),r}const d3=he.forwardRef(function(n,r){const{id:i,invert:s,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:m,className:p,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:S,style:C,visibleToasts:E=t3,toastOptions:R,dir:O=dx(),gap:T=i3,icons:z,containerAriaLabel:I="Notifications"}=n,[F,V]=he.useState([]),U=he.useMemo(()=>i?F.filter(B=>B.toasterId===i):F.filter(B=>!B.toasterId),[F,i]),pe=he.useMemo(()=>Array.from(new Set([l].concat(U.filter(B=>B.position).map(B=>B.position)))),[U,l]),[ge,fe]=he.useState([]),[Q,le]=he.useState(!1),[ue,xe]=he.useState(!1),[N,q]=he.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ae=he.useRef(null),te=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),ne=he.useRef(null),k=he.useRef(!1),M=he.useCallback(B=>{V(X=>{var K;return(K=X.find(se=>se.id===B.id))!=null&&K.delete||An.dismiss(B.id),X.filter(({id:se})=>se!==B.id)})},[]);return he.useEffect(()=>An.subscribe(B=>{if(B.dismiss){requestAnimationFrame(()=>{V(X=>X.map(K=>K.id===B.id?{...K,delete:!0}:K))});return}setTimeout(()=>{mj.flushSync(()=>{V(X=>{const K=X.findIndex(se=>se.id===B.id);return K!==-1?[...X.slice(0,K),{...X[K],...B},...X.slice(K+1)]:[B,...X]})})})}),[F]),he.useEffect(()=>{if(b!=="system"){q(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?q("dark"):q("light")),typeof window>"u")return;const B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:X})=>{q(X?"dark":"light")})}catch{B.addListener(({matches:K})=>{try{q(K?"dark":"light")}catch(se){console.error(se)}})}},[b]),he.useEffect(()=>{F.length<=1&&le(!1)},[F]),he.useEffect(()=>{const B=X=>{var K;if(u.every(ve=>X[ve]||X.code===ve)){var ee;le(!0),(ee=ae.current)==null||ee.focus()}X.code==="Escape"&&(document.activeElement===ae.current||(K=ae.current)!=null&&K.contains(document.activeElement))&&le(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[u]),he.useEffect(()=>{if(ae.current)return()=>{ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null,k.current=!1)}},[ae.current]),he.createElement("section",{ref:r,"aria-label":`${I} ${te}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},pe.map((B,X)=>{var K;const[se,ee]=B.split("-");return U.length?he.createElement("ol",{key:B,dir:O==="auto"?dx():O,tabIndex:-1,ref:ae,className:p,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":se,"data-x-position":ee,style:{"--front-toast-height":`${((K=ge[0])==null?void 0:K.height)||0}px`,"--width":`${a3}px`,"--gap":`${T}px`,...C,...u3(y,v)},onBlur:ve=>{k.current&&!ve.currentTarget.contains(ve.relatedTarget)&&(k.current=!1,ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null))},onFocus:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||k.current||(k.current=!0,ne.current=ve.relatedTarget)},onMouseEnter:()=>le(!0),onMouseMove:()=>le(!0),onMouseLeave:()=>{ue||le(!1)},onDragEnd:()=>le(!1),onPointerDown:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||xe(!0)},onPointerUp:()=>xe(!1)},U.filter(ve=>!ve.position&&X===0||ve.position===B).map((ve,ye)=>{var Ne,Ie;return he.createElement(c3,{key:ve.id,icons:z,index:ye,toast:ve,defaultRichColors:x,duration:(Ne=R?.duration)!=null?Ne:S,className:R?.className,descriptionClassName:R?.descriptionClassName,invert:s,visibleToasts:E,closeButton:(Ie=R?.closeButton)!=null?Ie:m,interacting:ue,position:B,style:R?.style,unstyled:R?.unstyled,classNames:R?.classNames,cancelButtonStyle:R?.cancelButtonStyle,actionButtonStyle:R?.actionButtonStyle,closeButtonAriaLabel:R?.closeButtonAriaLabel,removeToast:M,toasts:U.filter(Fe=>Fe.position==ve.position),heights:ge.filter(Fe=>Fe.position==ve.position),setHeights:fe,expandByDefault:d,gap:T,expanded:Q,swipeDirections:n.swipeDirections})})):null}))}),f3=({...e})=>f.jsx(d3,{theme:"dark",className:"toaster group",icons:{success:f.jsx(lz,{className:"size-4"}),info:f.jsx(Uz,{className:"size-4"}),warning:f.jsx(w_,{className:"size-4"}),error:f.jsx(sk,{className:"size-4"}),loading:f.jsx(Qz,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?cx.error(e,{duration:1/0,closeButton:!0}):cx(e)}function h3(){return f.jsx(f3,{position:"bottom-center"})}const fx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,hx=X1,m3=(e,n)=>r=>{var i;if(n?.variants==null)return hx(e,r?.class,r?.className);const{variants:s,defaultVariants:l}=n,u=Object.keys(s).map(p=>{const y=r?.[p],v=l?.[p];if(y===null)return null;const b=fx(y)||fx(v);return s[p][b]}),d=r&&Object.entries(r).reduce((p,y)=>{let[v,b]=y;return b===void 0||(p[v]=b),p},{}),m=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((p,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(S=>{let[C,E]=S;return Array.isArray(E)?E.includes({...l,...d}[C]):{...l,...d}[C]===E})?[...p,v,b]:p},[]);return hx(e,u,m,r?.class,r?.className)},p3=m3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:i=!1,...s}){const l=i?pj:"button";return f.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Xe(p3({variant:n,size:r,className:e})),...s})}function Xu({...e}){return f.jsx(hp,{"data-slot":"dialog",...e})}function g3({...e}){return f.jsx(pp,{"data-slot":"dialog-portal",...e})}function v3({className:e,...n}){return f.jsx(gp,{"data-slot":"dialog-overlay",className:Xe("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Ju({className:e,children:n,showCloseButton:r=!0,...i}){return f.jsxs(g3,{"data-slot":"dialog-portal",children:[f.jsx(v3,{}),f.jsxs(vp,{"data-slot":"dialog-content",className:Xe("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...i,children:[n,r&&f.jsxs(rS,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[f.jsx(__,{}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function xl({className:e,...n}){return f.jsx(eS,{"data-slot":"dialog-title",className:Xe("text-lg leading-none font-semibold",e),...n})}let C_=null,ou=[];function wl(e){C_=e,ou.forEach(n=>n())}function E_(e,n,r="",i="OK",s={}){return new Promise(l=>wl({kind:"prompt",title:e,label:n,value:r,okLabel:i,...s,resolve:l}))}function Sl(e,n,r="Confirm",i=!1){return new Promise(s=>wl({kind:"confirm",title:e,message:n,confirmLabel:r,danger:i,resolve:s}))}function y3(){const e=w.useSyncExternalStore(r=>(ou.push(r),()=>{ou=ou.filter(i=>i!==r)}),()=>C_);if(!e)return null;const n=()=>{wl(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return f.jsx(Xu,{open:!0,onOpenChange:r=>!r&&n(),children:f.jsx(Ju,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?f.jsx(b3,{m:e}):f.jsx(x3,{m:e})})})}function b3({m:e}){const n=w.useRef(null),r=p=>{wl(null),e.resolve(p)},[i,s]=w.useState(""),[l,u]=w.useState(e.value),d=e.match===void 0||l.trim()===e.match,m=()=>{const p=l;if(d){if(!p.trim()){s("Give it a name."),n.current.focus();return}r(p)}};return f.jsxs(f.Fragment,{children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:p=>p.currentTarget.select(),"aria-invalid":!!i,"aria-describedby":i?"modal-input-err":void 0,onChange:p=>{u(p.currentTarget.value),i&&s("")},onKeyDown:p=>p.key==="Enter"&&m()}),i&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:i}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:m,disabled:!d,children:e.okLabel})]})]})}function x3({m:e}){const n=r=>{wl(null),e.resolve(r)};return f.jsxs(f.Fragment,{children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("p",{className:"modal-msg",children:e.message}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function w3(e){return Zt({queryKey:["projects"],queryFn:()=>ln("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function S3(e){return Zt({queryKey:["orgs"],queryFn:()=>ln("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function _3(e){return Zt({queryKey:["permissions",e],queryFn:()=>ln(`/api/p/${e}/permissions`),enabled:!!e})}function R_(e,n=!0){return Zt({queryKey:["shares",e],queryFn:()=>ln(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function j_(e){return Zt({queryKey:["admin","pending"],queryFn:()=>ln("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function T_(){const e=Ai();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function O_(e){return e.split("/").map(encodeURIComponent).join("/")}function C3(e){try{return decodeURIComponent(e)}catch{return e}}function E3(e){return e.split("/").map(C3).join("/")}const R3=new Set(["dashboard","history","install","settings"]),mx={insights:"dashboard"};function j3(e){return Object.hasOwn(mx,e)?mx[e]:void 0}const Gp=["q","user","since","until"];function Zp(e){return!!e&&Gp.some(n=>!!e[n])}function A_(e){const n=new URLSearchParams;for(const i of Gp)e?.[i]&&n.set(i,e[i]);const r=n.toString();return r?"?"+r:""}function M_(e,n){const r=e.indexOf("?"),i=r===-1?null:new URLSearchParams(e.slice(r)),s=i?.get("v")||"",l=i?.get("connect")||"",u=T3(r===-1?e:e.slice(0,r),n);s&&(u.version=s),l&&(u.connect=l);const d={};for(const m of Gp){const p=i?.get(m);p&&(d[m]=p)}return Zp(d)&&(u.filters=d),u}function px(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?E3(r):"",e}function T3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return px({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const i=r.indexOf("/");if(i===-1)return{project:r,path:""};const s=px({project:r.slice(0,i),path:""},r.slice(i+1)),l=s.path.indexOf("/"),u=l===-1?s.path:s.path.slice(0,l),d=j3(u);return(R3.has(u)||d)&&(s.view=d||u,d&&(s.legacyView=!0),s.viewTarget=l===-1?"":s.path.slice(l+1).replace(/\/+$/,""),s.path=""),s}function Wu(e,n,r){const i=O_(e),s=r?"?v="+r:"";return n?"/"+n+(i?"/"+i:"")+s:"/"+i+s}function Wn(e,n,r,i){let s=(n?"/"+n:"")+"/"+e;return r&&(s+="/"+O_(r.replace(/\/+$/,""))),s+(e==="history"?A_(i):"")}let Kp="POP";const zm=new Set;function N_(){for(const e of zm)e()}window.addEventListener("popstate",()=>{Kp="POP",N_()});function rn(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Kp=n?.replace?"REPLACE":"PUSH",N_())}function Yp(){return w.useSyncExternalStore(e=>(zm.add(e),()=>{zm.delete(e)}),()=>location.pathname+location.search)}function O3(){return Kp}function cl(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),rn(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function su({to:e}){return w.useEffect(()=>{rn(e,{replace:!0})},[e]),null}function D_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Da(e,n){return typeof e=="function"?e(n):e}function Vn(e,n){return r=>{n.setState(i=>({...i,[e]:Da(r,i[e])}))}}function ed(e){return e instanceof Function}function A3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function M3(e,n){const r=[],i=s=>{s.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&i(u)})};return i(e),r}function ze(e,n,r){let i=[],s;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==i.length||d.some((y,v)=>i[v]!==y)))return s;i=d;let p;if(r.key&&r.debug&&(p=Date.now()),s=n(...d),r==null||r.onChange==null||r.onChange(s),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-p)*100)/100,b=v/16,x=(S,C)=>{for(S=String(S);S.length{var s;return(s=e?.debugAll)!=null?s:e[n]},key:!1,onChange:i}}function N3(e,n,r,i){const s=()=>{var u;return(u=l.getValue())!=null?u:e.options.renderFallbackValue},l={id:`${n.id}_${r.id}`,row:n,column:r,getValue:()=>n.getValue(i),renderValue:s,getContext:ze(()=>[e,r,n,l],(u,d,m,p)=>({table:u,column:d,row:m,cell:p,getValue:p.getValue,renderValue:p.renderValue}),ke(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(l,r,n,e)},{}),l}function D3(e,n,r,i){var s,l;const d={...e._getDefaultColumnDef(),...n},m=d.accessorKey;let p=(s=(l=d.id)!=null?l:m?typeof String.prototype.replaceAll=="function"?m.replaceAll(".","_"):m.replace(/\./g,"_"):void 0)!=null?s:typeof d.header=="string"?d.header:void 0,y;if(d.accessorFn?y=d.accessorFn:m&&(m.includes(".")?y=b=>{let x=b;for(const C of m.split(".")){var S;x=(S=x)==null?void 0:S[C]}return x}:y=b=>b[d.accessorKey]),!p)throw new Error;let v={id:`${String(p)}`,accessorFn:y,parent:i,depth:r,columnDef:d,columns:[],getFlatColumns:ze(()=>[!0],()=>{var b;return[v,...(b=v.columns)==null?void 0:b.flatMap(x=>x.getFlatColumns())]},ke(e.options,"debugColumns")),getLeafColumns:ze(()=>[e._getOrderColumnsFn()],b=>{var x;if((x=v.columns)!=null&&x.length){let S=v.columns.flatMap(C=>C.getLeafColumns());return b(S)}return[v]},ke(e.options,"debugColumns"))};for(const b of e._features)b.createColumn==null||b.createColumn(v,e);return v}const fn="debugHeaders";function gx(e,n,r){var i;let l={id:(i=r.id)!=null?i:n.id,column:n,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],d=m=>{m.subHeaders&&m.subHeaders.length&&m.subHeaders.map(d),u.push(m)};return d(l),u},getContext:()=>({table:e,header:l,column:n})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(l,e)}),l}const z3={createTable:e=>{e.getHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>{var l,u;const d=(l=i?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?l:[],m=(u=s?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?u:[],p=r.filter(v=>!(i!=null&&i.includes(v.id))&&!(s!=null&&s.includes(v.id)));return Yc(n,[...d,...p,...m],e)},ke(e.options,fn)),e.getCenterHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>(r=r.filter(l=>!(i!=null&&i.includes(l.id))&&!(s!=null&&s.includes(l.id))),Yc(n,r,e,"center")),ke(e.options,fn)),e.getLeftHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Yc(n,l,e,"left")},ke(e.options,fn)),e.getRightHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Yc(n,l,e,"right")},ke(e.options,fn)),e.getFooterGroups=ze(()=>[e.getHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getLeftFooterGroups=ze(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getCenterFooterGroups=ze(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getRightFooterGroups=ze(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getFlatHeaders=ze(()=>[e.getHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getLeftFlatHeaders=ze(()=>[e.getLeftHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getCenterFlatHeaders=ze(()=>[e.getCenterHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getRightFlatHeaders=ze(()=>[e.getRightHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getCenterLeafHeaders=ze(()=>[e.getCenterFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getLeftLeafHeaders=ze(()=>[e.getLeftFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getRightLeafHeaders=ze(()=>[e.getRightFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getLeafHeaders=ze(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,r,i)=>{var s,l,u,d,m,p;return[...(s=(l=n[0])==null?void 0:l.headers)!=null?s:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[],...(m=(p=i[0])==null?void 0:p.headers)!=null?m:[]].map(y=>y.getLeafHeaders()).flat()},ke(e.options,fn))}};function Yc(e,n,r,i){var s,l;let u=0;const d=function(b,x){x===void 0&&(x=1),u=Math.max(u,x),b.filter(S=>S.getIsVisible()).forEach(S=>{var C;(C=S.columns)!=null&&C.length&&d(S.columns,x+1)},0)};d(e);let m=[];const p=(b,x)=>{const S={depth:x,id:[i,`${x}`].filter(Boolean).join("_"),headers:[]},C=[];b.forEach(E=>{const R=[...C].reverse()[0],O=E.column.depth===S.depth;let T,z=!1;if(O&&E.column.parent?T=E.column.parent:(T=E.column,z=!0),R&&R?.column===T)R.subHeaders.push(E);else{const I=gx(r,T,{id:[i,x,T.id,E?.id].filter(Boolean).join("_"),isPlaceholder:z,placeholderId:z?`${C.filter(F=>F.column===T).length}`:void 0,depth:x,index:C.length});I.subHeaders.push(E),C.push(I)}S.headers.push(E),E.headerGroup=S}),m.push(S),x>0&&p(C,x-1)},y=n.map((b,x)=>gx(r,b,{depth:u,index:x}));p(y,u-1),m.reverse();const v=b=>b.filter(S=>S.column.getIsVisible()).map(S=>{let C=0,E=0,R=[0];S.subHeaders&&S.subHeaders.length?(R=[],v(S.subHeaders).forEach(T=>{let{colSpan:z,rowSpan:I}=T;C+=z,R.push(I)})):C=1;const O=Math.min(...R);return E=E+O,S.colSpan=C,S.rowSpan=E,{colSpan:C,rowSpan:E}});return v((s=(l=m[0])==null?void 0:l.headers)!=null?s:[]),m}const k3=(e,n,r,i,s,l,u)=>{let d={id:n,index:i,original:r,depth:s,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:m=>{if(d._valuesCache.hasOwnProperty(m))return d._valuesCache[m];const p=e.getColumn(m);if(p!=null&&p.accessorFn)return d._valuesCache[m]=p.accessorFn(d.original,i),d._valuesCache[m]},getUniqueValues:m=>{if(d._uniqueValuesCache.hasOwnProperty(m))return d._uniqueValuesCache[m];const p=e.getColumn(m);if(p!=null&&p.accessorFn)return p.columnDef.getUniqueValues?(d._uniqueValuesCache[m]=p.columnDef.getUniqueValues(d.original,i),d._uniqueValuesCache[m]):(d._uniqueValuesCache[m]=[d.getValue(m)],d._uniqueValuesCache[m])},renderValue:m=>{var p;return(p=d.getValue(m))!=null?p:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>M3(d.subRows,m=>m.subRows),getParentRow:()=>d.parentId?e.getRow(d.parentId,!0):void 0,getParentRows:()=>{let m=[],p=d;for(;;){const y=p.getParentRow();if(!y)break;m.push(y),p=y}return m.reverse()},getAllCells:ze(()=>[e.getAllLeafColumns()],m=>m.map(p=>N3(e,d,p,p.id)),ke(e.options,"debugRows")),_getAllCellsByColumnId:ze(()=>[d.getAllCells()],m=>m.reduce((p,y)=>(p[y.column.id]=y,p),{}),ke(e.options,"debugRows"))};for(let m=0;m{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},z_=(e,n,r)=>{var i,s;const l=r==null||(i=r.toString())==null?void 0:i.toLowerCase();return!!(!((s=e.getValue(n))==null||(s=s.toString())==null||(s=s.toLowerCase())==null)&&s.includes(l))};z_.autoRemove=e=>vr(e);const k_=(e,n,r)=>{var i;return!!(!((i=e.getValue(n))==null||(i=i.toString())==null)&&i.includes(r))};k_.autoRemove=e=>vr(e);const L_=(e,n,r)=>{var i;return((i=e.getValue(n))==null||(i=i.toString())==null?void 0:i.toLowerCase())===r?.toLowerCase()};L_.autoRemove=e=>vr(e);const $_=(e,n,r)=>{var i;return(i=e.getValue(n))==null?void 0:i.includes(r)};$_.autoRemove=e=>vr(e);const I_=(e,n,r)=>!r.some(i=>{var s;return!((s=e.getValue(n))!=null&&s.includes(i))});I_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const P_=(e,n,r)=>r.some(i=>{var s;return(s=e.getValue(n))==null?void 0:s.includes(i)});P_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const F_=(e,n,r)=>e.getValue(n)===r;F_.autoRemove=e=>vr(e);const V_=(e,n,r)=>e.getValue(n)==r;V_.autoRemove=e=>vr(e);const Qp=(e,n,r)=>{let[i,s]=r;const l=e.getValue(n);return l>=i&&l<=s};Qp.resolveFilterValue=e=>{let[n,r]=e,i=typeof n!="number"?parseFloat(n):n,s=typeof r!="number"?parseFloat(r):r,l=n===null||Number.isNaN(i)?-1/0:i,u=r===null||Number.isNaN(s)?1/0:s;if(l>u){const d=l;l=u,u=d}return[l,u]};Qp.autoRemove=e=>vr(e)||vr(e[0])&&vr(e[1]);const ea={includesString:z_,includesStringSensitive:k_,equalsString:L_,arrIncludes:$_,arrIncludesAll:I_,arrIncludesSome:P_,equals:F_,weakEquals:V_,inNumberRange:Qp};function vr(e){return e==null||e===""}const $3={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Vn("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);return typeof i=="string"?ea.includesString:typeof i=="number"?ea.inNumberRange:typeof i=="boolean"||i!==null&&typeof i=="object"?ea.equals:Array.isArray(i)?ea.arrIncludes:ea.weakEquals},e.getFilterFn=()=>{var r,i;return ed(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(r=(i=n.options.filterFns)==null?void 0:i[e.columnDef.filterFn])!=null?r:ea[e.columnDef.filterFn]},e.getCanFilter=()=>{var r,i,s;return((r=e.columnDef.enableColumnFilter)!=null?r:!0)&&((i=n.options.enableColumnFilters)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var r;return(r=n.getState().columnFilters)==null||(r=r.find(i=>i.id===e.id))==null?void 0:r.value},e.getFilterIndex=()=>{var r,i;return(r=(i=n.getState().columnFilters)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.setFilterValue=r=>{n.setColumnFilters(i=>{const s=e.getFilterFn(),l=i?.find(y=>y.id===e.id),u=Da(r,l?l.value:void 0);if(vx(s,u,e)){var d;return(d=i?.filter(y=>y.id!==e.id))!=null?d:[]}const m={id:e.id,value:u};if(l){var p;return(p=i?.map(y=>y.id===e.id?m:y))!=null?p:[]}return i!=null&&i.length?[...i,m]:[m]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const r=e.getAllLeafColumns(),i=s=>{var l;return(l=Da(n,s))==null?void 0:l.filter(u=>{const d=r.find(m=>m.id===u.id);if(d){const m=d.getFilterFn();if(vx(m,u.value,d))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(i)},e.resetColumnFilters=n=>{var r,i;e.setColumnFilters(n?[]:(r=(i=e.initialState)==null?void 0:i.columnFilters)!=null?r:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function vx(e,n,r){return(e&&e.autoRemove?e.autoRemove(n,r):!1)||typeof n>"u"||typeof n=="string"&&!n}const I3=(e,n,r)=>r.reduce((i,s)=>{const l=s.getValue(e);return i+(typeof l=="number"?l:0)},0),P3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i>l||i===void 0&&l>=l)&&(i=l)}),i},F3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i=l)&&(i=l)}),i},V3=(e,n,r)=>{let i,s;return r.forEach(l=>{const u=l.getValue(e);u!=null&&(i===void 0?u>=u&&(i=s=u):(i>u&&(i=u),s{let r=0,i=0;if(n.forEach(s=>{let l=s.getValue(e);l!=null&&(l=+l)>=l&&(++r,i+=l)}),r)return i/r},H3=(e,n)=>{if(!n.length)return;const r=n.map(l=>l.getValue(e));if(!A3(r))return;if(r.length===1)return r[0];const i=Math.floor(r.length/2),s=r.sort((l,u)=>l-u);return r.length%2!==0?s[i]:(s[i-1]+s[i])/2},B3=(e,n)=>Array.from(new Set(n.map(r=>r.getValue(e))).values()),q3=(e,n)=>new Set(n.map(r=>r.getValue(e))).size,G3=(e,n)=>n.length,qh={sum:I3,min:P3,max:F3,extent:V3,mean:U3,median:H3,unique:B3,uniqueCount:q3,count:G3},Z3={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,r;return(n=(r=e.getValue())==null||r.toString==null?void 0:r.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Vn("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(r=>r!=null&&r.includes(e.id)?r.filter(i=>i!==e.id):[...r??[],e.id])},e.getCanGroup=()=>{var r,i;return((r=e.columnDef.enableGrouping)!=null?r:!0)&&((i=n.options.enableGrouping)!=null?i:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.includes(e.id)},e.getGroupedIndex=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const r=e.getCanGroup();return()=>{r&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);if(typeof i=="number")return qh.sum;if(Object.prototype.toString.call(i)==="[object Date]")return qh.extent},e.getAggregationFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(r=(i=n.options.aggregationFns)==null?void 0:i[e.columnDef.aggregationFn])!=null?r:qh[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var r,i;e.setGrouping(n?[]:(r=(i=e.initialState)==null?void 0:i.grouping)!=null?r:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=r=>{if(e._groupingValuesCache.hasOwnProperty(r))return e._groupingValuesCache[r];const i=n.getColumn(r);return i!=null&&i.columnDef.getGroupingValue?(e._groupingValuesCache[r]=i.columnDef.getGroupingValue(e.original),e._groupingValuesCache[r]):e.getValue(r)},e._groupingValuesCache={}},createCell:(e,n,r,i)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===r.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var s;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((s=r.subRows)!=null&&s.length)}}};function K3(e,n,r){if(!(n!=null&&n.length)||!r)return e;const i=e.filter(l=>!n.includes(l.id));return r==="remove"?i:[...n.map(l=>e.find(u=>u.id===l)).filter(Boolean),...i]}const Y3={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Vn("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=ze(r=>[Xs(n,r)],r=>r.findIndex(i=>i.id===e.id),ke(n.options,"debugColumns")),e.getIsFirstColumn=r=>{var i;return((i=Xs(n,r)[0])==null?void 0:i.id)===e.id},e.getIsLastColumn=r=>{var i;const s=Xs(n,r);return((i=s[s.length-1])==null?void 0:i.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var r;e.setColumnOrder(n?[]:(r=e.initialState.columnOrder)!=null?r:[])},e._getOrderColumnsFn=ze(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,r,i)=>s=>{let l=[];if(!(n!=null&&n.length))l=s;else{const u=[...n],d=[...s];for(;d.length&&u.length;){const m=u.shift(),p=d.findIndex(y=>y.id===m);p>-1&&l.push(d.splice(p,1)[0])}l=[...l,...d]}return K3(l,r,i)},ke(e.options,"debugTable"))}},Gh=()=>({left:[],right:[]}),Q3={getInitialState:e=>({columnPinning:Gh(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Vn("columnPinning",e)}),createColumn:(e,n)=>{e.pin=r=>{const i=e.getLeafColumns().map(s=>s.id).filter(Boolean);n.setColumnPinning(s=>{var l,u;if(r==="right"){var d,m;return{left:((d=s?.left)!=null?d:[]).filter(v=>!(i!=null&&i.includes(v))),right:[...((m=s?.right)!=null?m:[]).filter(v=>!(i!=null&&i.includes(v))),...i]}}if(r==="left"){var p,y;return{left:[...((p=s?.left)!=null?p:[]).filter(v=>!(i!=null&&i.includes(v))),...i],right:((y=s?.right)!=null?y:[]).filter(v=>!(i!=null&&i.includes(v)))}}return{left:((l=s?.left)!=null?l:[]).filter(v=>!(i!=null&&i.includes(v))),right:((u=s?.right)!=null?u:[]).filter(v=>!(i!=null&&i.includes(v)))}})},e.getCanPin=()=>e.getLeafColumns().some(i=>{var s,l,u;return((s=i.columnDef.enablePinning)!=null?s:!0)&&((l=(u=n.options.enableColumnPinning)!=null?u:n.options.enablePinning)!=null?l:!0)}),e.getIsPinned=()=>{const r=e.getLeafColumns().map(d=>d.id),{left:i,right:s}=n.getState().columnPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"left":u?"right":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();return s?(r=(i=n.getState().columnPinning)==null||(i=i[s])==null?void 0:i.indexOf(e.id))!=null?r:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(r,i,s)=>{const l=[...i??[],...s??[]];return r.filter(u=>!l.includes(u.column.id))},ke(n.options,"debugRows")),e.getLeftVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"left"})),ke(n.options,"debugRows")),e.getRightVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"right"})),ke(n.options,"debugRows"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var r,i;return e.setColumnPinning(n?Gh():(r=(i=e.initialState)==null?void 0:i.columnPinning)!=null?r:Gh())},e.getIsSomeColumnsPinned=n=>{var r;const i=e.getState().columnPinning;if(!n){var s,l;return!!((s=i.left)!=null&&s.length||(l=i.right)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e.getLeftLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getRightLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getCenterLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i)=>{const s=[...r??[],...i??[]];return n.filter(l=>!s.includes(l.id))},ke(e.options,"debugColumns"))}};function X3(e){return e||(typeof document<"u"?document:null)}const Qc={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Zh=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),J3={getDefaultColumnDef:()=>Qc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Zh(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Vn("columnSizing",e),onColumnSizingInfoChange:Vn("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var r,i,s;const l=n.getState().columnSizing[e.id];return Math.min(Math.max((r=e.columnDef.minSize)!=null?r:Qc.minSize,(i=l??e.columnDef.size)!=null?i:Qc.size),(s=e.columnDef.maxSize)!=null?s:Qc.maxSize)},e.getStart=ze(r=>[r,Xs(n,r),n.getState().columnSizing],(r,i)=>i.slice(0,e.getIndex(r)).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.getAfter=ze(r=>[r,Xs(n,r),n.getState().columnSizing],(r,i)=>i.slice(e.getIndex(r)+1).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.resetSize=()=>{n.setColumnSizing(r=>{let{[e.id]:i,...s}=r;return s})},e.getCanResize=()=>{var r,i;return((r=e.columnDef.enableResizing)!=null?r:!0)&&((i=n.options.enableColumnResizing)!=null?i:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let r=0;const i=s=>{if(s.subHeaders.length)s.subHeaders.forEach(i);else{var l;r+=(l=s.column.getSize())!=null?l:0}};return i(e),r},e.getStart=()=>{if(e.index>0){const r=e.headerGroup.headers[e.index-1];return r.getStart()+r.getSize()}return 0},e.getResizeHandler=r=>{const i=n.getColumn(e.column.id),s=i?.getCanResize();return l=>{if(!i||!s||(l.persist==null||l.persist(),Kh(l)&&l.touches&&l.touches.length>1))return;const u=e.getSize(),d=e?e.getLeafHeaders().map(R=>[R.column.id,R.column.getSize()]):[[i.id,i.getSize()]],m=Kh(l)?Math.round(l.touches[0].clientX):l.clientX,p={},y=(R,O)=>{typeof O=="number"&&(n.setColumnSizingInfo(T=>{var z,I;const F=n.options.columnResizeDirection==="rtl"?-1:1,V=(O-((z=T?.startOffset)!=null?z:0))*F,U=Math.max(V/((I=T?.startSize)!=null?I:0),-.999999);return T.columnSizingStart.forEach(pe=>{let[ge,fe]=pe;p[ge]=Math.round(Math.max(fe+fe*U,0)*100)/100}),{...T,deltaOffset:V,deltaPercentage:U}}),(n.options.columnResizeMode==="onChange"||R==="end")&&n.setColumnSizing(T=>({...T,...p})))},v=R=>y("move",R),b=R=>{y("end",R),n.setColumnSizingInfo(O=>({...O,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},x=X3(r),S={moveHandler:R=>v(R.clientX),upHandler:R=>{x?.removeEventListener("mousemove",S.moveHandler),x?.removeEventListener("mouseup",S.upHandler),b(R.clientX)}},C={moveHandler:R=>(R.cancelable&&(R.preventDefault(),R.stopPropagation()),v(R.touches[0].clientX),!1),upHandler:R=>{var O;x?.removeEventListener("touchmove",C.moveHandler),x?.removeEventListener("touchend",C.upHandler),R.cancelable&&(R.preventDefault(),R.stopPropagation()),b((O=R.touches[0])==null?void 0:O.clientX)}},E=W3()?{passive:!1}:!1;Kh(l)?(x?.addEventListener("touchmove",C.moveHandler,E),x?.addEventListener("touchend",C.upHandler,E)):(x?.addEventListener("mousemove",S.moveHandler,E),x?.addEventListener("mouseup",S.upHandler,E)),n.setColumnSizingInfo(R=>({...R,startOffset:m,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:d,isResizingColumn:i.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var r;e.setColumnSizing(n?{}:(r=e.initialState.columnSizing)!=null?r:{})},e.resetHeaderSizeInfo=n=>{var r;e.setColumnSizingInfo(n?Zh():(r=e.initialState.columnSizingInfo)!=null?r:Zh())},e.getTotalSize=()=>{var n,r;return(n=(r=e.getHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,r;return(n=(r=e.getLeftHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,r;return(n=(r=e.getCenterHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,r;return(n=(r=e.getRightHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0}}};let Xc=null;function W3(){if(typeof Xc=="boolean")return Xc;let e=!1;try{const n={get passive(){return e=!0,!1}},r=()=>{};window.addEventListener("test",r,n),window.removeEventListener("test",r)}catch{e=!1}return Xc=e,Xc}function Kh(e){return e.type==="touchstart"}const e4={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Vn("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=r=>{e.getCanHide()&&n.setColumnVisibility(i=>({...i,[e.id]:r??!e.getIsVisible()}))},e.getIsVisible=()=>{var r,i;const s=e.columns;return(r=s.length?s.some(l=>l.getIsVisible()):(i=n.getState().columnVisibility)==null?void 0:i[e.id])!=null?r:!0},e.getCanHide=()=>{var r,i;return((r=e.columnDef.enableHiding)!=null?r:!0)&&((i=n.options.enableHiding)!=null?i:!0)},e.getToggleVisibilityHandler=()=>r=>{e.toggleVisibility==null||e.toggleVisibility(r.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=ze(()=>[e.getAllCells(),n.getState().columnVisibility],r=>r.filter(i=>i.column.getIsVisible()),ke(n.options,"debugRows")),e.getVisibleCells=ze(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(r,i,s)=>[...r,...i,...s],ke(n.options,"debugRows"))},createTable:e=>{const n=(r,i)=>ze(()=>[i(),i().filter(s=>s.getIsVisible()).map(s=>s.id).join("_")],s=>s.filter(l=>l.getIsVisible==null?void 0:l.getIsVisible()),ke(e.options,"debugColumns"));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=r=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(r),e.resetColumnVisibility=r=>{var i;e.setColumnVisibility(r?{}:(i=e.initialState.columnVisibility)!=null?i:{})},e.toggleAllColumnsVisible=r=>{var i;r=(i=r)!=null?i:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((s,l)=>({...s,[l.id]:r||!(l.getCanHide!=null&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(r=>!(r.getIsVisible!=null&&r.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(r=>r.getIsVisible==null?void 0:r.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>r=>{var i;e.toggleAllColumnsVisible((i=r.target)==null?void 0:i.checked)}}};function Xs(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const t4={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},n4={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Vn("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var r;const i=(r=e.getCoreRowModel().flatRows[0])==null||(r=r._getAllCellsByColumnId()[n.id])==null?void 0:r.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var r,i,s,l;return((r=e.columnDef.enableGlobalFilter)!=null?r:!0)&&((i=n.options.enableGlobalFilter)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&((l=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?l:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ea.includesString,e.getGlobalFilterFn=()=>{var n,r;const{globalFilterFn:i}=e.options;return ed(i)?i:i==="auto"?e.getGlobalAutoFilterFn():(n=(r=e.options.filterFns)==null?void 0:r[i])!=null?n:ea[i]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},r4={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Vn("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,r=!1;e._autoResetExpanded=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetExpanded)!=null?i:!e.options.manualExpanding){if(r)return;r=!0,e._queue(()=>{e.resetExpanded(),r=!1})}},e.setExpanded=i=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(i),e.toggleAllRowsExpanded=i=>{i??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=i=>{var s,l;e.setExpanded(i?{}:(s=(l=e.initialState)==null?void 0:l.expanded)!=null?s:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(i=>i.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>i=>{i.persist==null||i.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const i=e.getState().expanded;return i===!0||Object.values(i).some(Boolean)},e.getIsAllRowsExpanded=()=>{const i=e.getState().expanded;return typeof i=="boolean"?i===!0:!(!Object.keys(i).length||e.getRowModel().flatRows.some(s=>!s.getIsExpanded()))},e.getExpandedDepth=()=>{let i=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(l=>{const u=l.split(".");i=Math.max(i,u.length)}),i},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=r=>{n.setExpanded(i=>{var s;const l=i===!0?!0:!!(i!=null&&i[e.id]);let u={};if(i===!0?Object.keys(n.getRowModel().rowsById).forEach(d=>{u[d]=!0}):u=i,r=(s=r)!=null?s:!l,!l&&r)return{...u,[e.id]:!0};if(l&&!r){const{[e.id]:d,...m}=u;return m}return i})},e.getIsExpanded=()=>{var r;const i=n.getState().expanded;return!!((r=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?r:i===!0||i?.[e.id])},e.getCanExpand=()=>{var r,i,s;return(r=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?r:((i=n.options.enableExpanding)!=null?i:!0)&&!!((s=e.subRows)!=null&&s.length)},e.getIsAllParentsExpanded=()=>{let r=!0,i=e;for(;r&&i.parentId;)i=n.getRow(i.parentId,!0),r=i.getIsExpanded();return r},e.getToggleExpandedHandler=()=>{const r=e.getCanExpand();return()=>{r&&e.toggleExpanded()}}}},km=0,Lm=10,Yh=()=>({pageIndex:km,pageSize:Lm}),a4={getInitialState:e=>({...e,pagination:{...Yh(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Vn("pagination",e)}),createTable:e=>{let n=!1,r=!1;e._autoResetPageIndex=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetPageIndex)!=null?i:!e.options.manualPagination){if(r)return;r=!0,e._queue(()=>{e.resetPageIndex(),r=!1})}},e.setPagination=i=>{const s=l=>Da(i,l);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(s)},e.resetPagination=i=>{var s;e.setPagination(i?Yh():(s=e.initialState.pagination)!=null?s:Yh())},e.setPageIndex=i=>{e.setPagination(s=>{let l=Da(i,s.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return l=Math.max(0,Math.min(l,u)),{...s,pageIndex:l}})},e.resetPageIndex=i=>{var s,l;e.setPageIndex(i?km:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageIndex)!=null?s:km)},e.resetPageSize=i=>{var s,l;e.setPageSize(i?Lm:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageSize)!=null?s:Lm)},e.setPageSize=i=>{e.setPagination(s=>{const l=Math.max(1,Da(i,s.pageSize)),u=s.pageSize*s.pageIndex,d=Math.floor(u/l);return{...s,pageIndex:d,pageSize:l}})},e.setPageCount=i=>e.setPagination(s=>{var l;let u=Da(i,(l=e.options.pageCount)!=null?l:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...s,pageCount:u}}),e.getPageOptions=ze(()=>[e.getPageCount()],i=>{let s=[];return i&&i>0&&(s=[...new Array(i)].fill(null).map((l,u)=>u)),s},ke(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:i}=e.getState().pagination,s=e.getPageCount();return s===-1?!0:s===0?!1:ie.setPageIndex(i=>i-1),e.nextPage=()=>e.setPageIndex(i=>i+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var i;return(i=e.options.pageCount)!=null?i:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var i;return(i=e.options.rowCount)!=null?i:e.getPrePaginationRowModel().rows.length}}},Qh=()=>({top:[],bottom:[]}),i4={getInitialState:e=>({rowPinning:Qh(),...e}),getDefaultOptions:e=>({onRowPinningChange:Vn("rowPinning",e)}),createRow:(e,n)=>{e.pin=(r,i,s)=>{const l=i?e.getLeafRows().map(m=>{let{id:p}=m;return p}):[],u=s?e.getParentRows().map(m=>{let{id:p}=m;return p}):[],d=new Set([...u,e.id,...l]);n.setRowPinning(m=>{var p,y;if(r==="bottom"){var v,b;return{top:((v=m?.top)!=null?v:[]).filter(C=>!(d!=null&&d.has(C))),bottom:[...((b=m?.bottom)!=null?b:[]).filter(C=>!(d!=null&&d.has(C))),...Array.from(d)]}}if(r==="top"){var x,S;return{top:[...((x=m?.top)!=null?x:[]).filter(C=>!(d!=null&&d.has(C))),...Array.from(d)],bottom:((S=m?.bottom)!=null?S:[]).filter(C=>!(d!=null&&d.has(C)))}}return{top:((p=m?.top)!=null?p:[]).filter(C=>!(d!=null&&d.has(C))),bottom:((y=m?.bottom)!=null?y:[]).filter(C=>!(d!=null&&d.has(C)))}})},e.getCanPin=()=>{var r;const{enableRowPinning:i,enablePinning:s}=n.options;return typeof i=="function"?i(e):(r=i??s)!=null?r:!0},e.getIsPinned=()=>{const r=[e.id],{top:i,bottom:s}=n.getState().rowPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();if(!s)return-1;const l=(r=s==="top"?n.getTopRows():n.getBottomRows())==null?void 0:r.map(u=>{let{id:d}=u;return d});return(i=l?.indexOf(e.id))!=null?i:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var r,i;return e.setRowPinning(n?Qh():(r=(i=e.initialState)==null?void 0:i.rowPinning)!=null?r:Qh())},e.getIsSomeRowsPinned=n=>{var r;const i=e.getState().rowPinning;if(!n){var s,l;return!!((s=i.top)!=null&&s.length||(l=i.bottom)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e._getPinnedRows=(n,r,i)=>{var s;return((s=e.options.keepPinnedRows)==null||s?(r??[]).map(u=>{const d=e.getRow(u,!0);return d.getIsAllParentsExpanded()?d:null}):(r??[]).map(u=>n.find(d=>d.id===u))).filter(Boolean).map(u=>({...u,position:i}))},e.getTopRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,r)=>e._getPinnedRows(n,r,"top"),ke(e.options,"debugRows")),e.getBottomRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,r)=>e._getPinnedRows(n,r,"bottom"),ke(e.options,"debugRows")),e.getCenterRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,r,i)=>{const s=new Set([...r??[],...i??[]]);return n.filter(l=>!s.has(l.id))},ke(e.options,"debugRows"))}},o4={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Vn("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var r;return e.setRowSelection(n?{}:(r=e.initialState.rowSelection)!=null?r:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(r=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const i={...r},s=e.getPreGroupedRowModel().flatRows;return n?s.forEach(l=>{l.getCanSelect()&&(i[l.id]=!0)}):s.forEach(l=>{delete i[l.id]}),i})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(r=>{const i=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),s={...r};return e.getRowModel().rows.forEach(l=>{$m(s,l.id,i,!0,e)}),s}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getFilteredSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getGroupedSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:r}=e.getState();let i=!!(n.length&&Object.keys(r).length);return i&&n.some(s=>s.getCanSelect()&&!r[s.id])&&(i=!1),i},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(s=>s.getCanSelect()),{rowSelection:r}=e.getState();let i=!!n.length;return i&&n.some(s=>!r[s.id])&&(i=!1),i},e.getIsSomeRowsSelected=()=>{var n;const r=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return r>0&&r{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(r=>r.getCanSelect()).some(r=>r.getIsSelected()||r.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(r,i)=>{const s=e.getIsSelected();n.setRowSelection(l=>{var u;if(r=typeof r<"u"?r:!s,e.getCanSelect()&&s===r)return l;const d={...l};return $m(d,e.id,r,(u=i?.selectChildren)!=null?u:!0,n),d})},e.getIsSelected=()=>{const{rowSelection:r}=n.getState();return Xp(e,r)},e.getIsSomeSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="all"},e.getCanSelect=()=>{var r;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(r=n.options.enableRowSelection)!=null?r:!0},e.getCanSelectSubRows=()=>{var r;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(r=n.options.enableSubRowSelection)!=null?r:!0},e.getCanMultiSelect=()=>{var r;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(r=n.options.enableMultiRowSelection)!=null?r:!0},e.getToggleSelectedHandler=()=>{const r=e.getCanSelect();return i=>{var s;r&&e.toggleSelected((s=i.target)==null?void 0:s.checked)}}}},$m=(e,n,r,i,s)=>{var l;const u=s.getRow(n,!0);r?(u.getCanMultiSelect()||Object.keys(e).forEach(d=>delete e[d]),u.getCanSelect()&&(e[n]=!0)):delete e[n],i&&(l=u.subRows)!=null&&l.length&&u.getCanSelectSubRows()&&u.subRows.forEach(d=>$m(e,d.id,r,i,s))};function Xh(e,n){const r=e.getState().rowSelection,i=[],s={},l=function(u,d){return u.map(m=>{var p;const y=Xp(m,r);if(y&&(i.push(m),s[m.id]=m),(p=m.subRows)!=null&&p.length&&(m={...m,subRows:l(m.subRows)}),y)return m}).filter(Boolean)};return{rows:l(n.rows),flatRows:i,rowsById:s}}function Xp(e,n){var r;return(r=n[e.id])!=null?r:!1}function Im(e,n,r){var i;if(!((i=e.subRows)!=null&&i.length))return!1;let s=!0,l=!1;return e.subRows.forEach(u=>{if(!(l&&!s)&&(u.getCanSelect()&&(Xp(u,n)?l=!0:s=!1),u.subRows&&u.subRows.length)){const d=Im(u,n);d==="all"?l=!0:(d==="some"&&(l=!0),s=!1)}}),s?"all":l?"some":!1}const Pm=/([0-9]+)/gm,s4=(e,n,r)=>U_(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),l4=(e,n,r)=>U_(Ba(e.getValue(r)),Ba(n.getValue(r))),c4=(e,n,r)=>Jp(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),u4=(e,n,r)=>Jp(Ba(e.getValue(r)),Ba(n.getValue(r))),d4=(e,n,r)=>{const i=e.getValue(r),s=n.getValue(r);return i>s?1:iJp(e.getValue(r),n.getValue(r));function Jp(e,n){return e===n?0:e>n?1:-1}function Ba(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function U_(e,n){const r=e.split(Pm).filter(Boolean),i=n.split(Pm).filter(Boolean);for(;r.length&&i.length;){const s=r.shift(),l=i.shift(),u=parseInt(s,10),d=parseInt(l,10),m=[u,d].sort();if(isNaN(m[0])){if(s>l)return 1;if(l>s)return-1;continue}if(isNaN(m[1]))return isNaN(u)?-1:1;if(u>d)return 1;if(d>u)return-1}return r.length-i.length}const Us={alphanumeric:s4,alphanumericCaseSensitive:l4,text:c4,textCaseSensitive:u4,datetime:d4,basic:f4},h4={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Vn("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const r=n.getFilteredRowModel().flatRows.slice(10);let i=!1;for(const s of r){const l=s?.getValue(e.id);if(Object.prototype.toString.call(l)==="[object Date]")return Us.datetime;if(typeof l=="string"&&(i=!0,l.split(Pm).length>1))return Us.alphanumeric}return i?Us.text:Us.basic},e.getAutoSortDir=()=>{const r=n.getFilteredRowModel().flatRows[0];return typeof r?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(r=(i=n.options.sortingFns)==null?void 0:i[e.columnDef.sortingFn])!=null?r:Us[e.columnDef.sortingFn]},e.toggleSorting=(r,i)=>{const s=e.getNextSortingOrder(),l=typeof r<"u"&&r!==null;n.setSorting(u=>{const d=u?.find(x=>x.id===e.id),m=u?.findIndex(x=>x.id===e.id);let p=[],y,v=l?r:s==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&i?d?y="toggle":y="add":u!=null&&u.length&&m!==u.length-1?y="replace":d?y="toggle":y="replace",y==="toggle"&&(l||s||(y="remove")),y==="add"){var b;p=[...u,{id:e.id,desc:v}],p.splice(0,p.length-((b=n.options.maxMultiSortColCount)!=null?b:Number.MAX_SAFE_INTEGER))}else y==="toggle"?p=u.map(x=>x.id===e.id?{...x,desc:v}:x):y==="remove"?p=u.filter(x=>x.id!==e.id):p=[{id:e.id,desc:v}];return p})},e.getFirstSortDir=()=>{var r,i;return((r=(i=e.columnDef.sortDescFirst)!=null?i:n.options.sortDescFirst)!=null?r:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=r=>{var i,s;const l=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==l&&((i=n.options.enableSortingRemoval)==null||i)&&(!(r&&(s=n.options.enableMultiRemove)!=null)||s)?!1:u==="desc"?"asc":"desc":l},e.getCanSort=()=>{var r,i;return((r=e.columnDef.enableSorting)!=null?r:!0)&&((i=n.options.enableSorting)!=null?i:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var r,i;return(r=(i=e.columnDef.enableMultiSort)!=null?i:n.options.enableMultiSort)!=null?r:!!e.accessorFn},e.getIsSorted=()=>{var r;const i=(r=n.getState().sorting)==null?void 0:r.find(s=>s.id===e.id);return i?i.desc?"desc":"asc":!1},e.getSortIndex=()=>{var r,i;return(r=(i=n.getState().sorting)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.clearSorting=()=>{n.setSorting(r=>r!=null&&r.length?r.filter(i=>i.id!==e.id):[])},e.getToggleSortingHandler=()=>{const r=e.getCanSort();return i=>{r&&(i.persist==null||i.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(i):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var r,i;e.setSorting(n?[]:(r=(i=e.initialState)==null?void 0:i.sorting)!=null?r:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},m4=[z3,e4,Y3,Q3,L3,$3,t4,n4,h4,Z3,r4,a4,i4,o4,J3];function p4(e){var n,r;const i=[...m4,...(n=e._features)!=null?n:[]];let s={_features:i};const l=s._features.reduce((b,x)=>Object.assign(b,x.getDefaultOptions==null?void 0:x.getDefaultOptions(s)),{}),u=b=>s.options.mergeOptions?s.options.mergeOptions(l,b):{...l,...b};let m={...{},...(r=e.initialState)!=null?r:{}};s._features.forEach(b=>{var x;m=(x=b.getInitialState==null?void 0:b.getInitialState(m))!=null?x:m});const p=[];let y=!1;const v={_features:i,options:{...l,...e},initialState:m,_queue:b=>{p.push(b),y||(y=!0,Promise.resolve().then(()=>{for(;p.length;)p.shift()();y=!1}).catch(x=>setTimeout(()=>{throw x})))},reset:()=>{s.setState(s.initialState)},setOptions:b=>{const x=Da(b,s.options);s.options=u(x)},getState:()=>s.options.state,setState:b=>{s.options.onStateChange==null||s.options.onStateChange(b)},_getRowId:(b,x,S)=>{var C;return(C=s.options.getRowId==null?void 0:s.options.getRowId(b,x,S))!=null?C:`${S?[S.id,x].join("."):x}`},getCoreRowModel:()=>(s._getCoreRowModel||(s._getCoreRowModel=s.options.getCoreRowModel(s)),s._getCoreRowModel()),getRowModel:()=>s.getPaginationRowModel(),getRow:(b,x)=>{let S=(x?s.getPrePaginationRowModel():s.getRowModel()).rowsById[b];if(!S&&(S=s.getCoreRowModel().rowsById[b],!S))throw new Error;return S},_getDefaultColumnDef:ze(()=>[s.options.defaultColumn],b=>{var x;return b=(x=b)!=null?x:{},{header:S=>{const C=S.header.column.columnDef;return C.accessorKey?C.accessorKey:C.accessorFn?C.id:null},cell:S=>{var C,E;return(C=(E=S.renderValue())==null||E.toString==null?void 0:E.toString())!=null?C:null},...s._features.reduce((S,C)=>Object.assign(S,C.getDefaultColumnDef==null?void 0:C.getDefaultColumnDef()),{}),...b}},ke(e,"debugColumns")),_getColumnDefs:()=>s.options.columns,getAllColumns:ze(()=>[s._getColumnDefs()],b=>{const x=function(S,C,E){return E===void 0&&(E=0),S.map(R=>{const O=D3(s,R,E,C),T=R;return O.columns=T.columns?x(T.columns,O,E+1):[],O})};return x(b)},ke(e,"debugColumns")),getAllFlatColumns:ze(()=>[s.getAllColumns()],b=>b.flatMap(x=>x.getFlatColumns()),ke(e,"debugColumns")),_getAllFlatColumnsById:ze(()=>[s.getAllFlatColumns()],b=>b.reduce((x,S)=>(x[S.id]=S,x),{}),ke(e,"debugColumns")),getAllLeafColumns:ze(()=>[s.getAllColumns(),s._getOrderColumnsFn()],(b,x)=>{let S=b.flatMap(C=>C.getLeafColumns());return x(S)},ke(e,"debugColumns")),getColumn:b=>s._getAllFlatColumnsById()[b]};Object.assign(s,v);for(let b=0;bze(()=>[e.options.data],n=>{const r={rows:[],flatRows:[],rowsById:{}},i=function(s,l,u){l===void 0&&(l=0);const d=[];for(let p=0;pe._autoResetPageIndex()))}function B_(){return e=>ze(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,r)=>{if(!r.rows.length||!(n!=null&&n.length))return r;const i=e.getState().sorting,s=[],l=i.filter(m=>{var p;return(p=e.getColumn(m.id))==null?void 0:p.getCanSort()}),u={};l.forEach(m=>{const p=e.getColumn(m.id);p&&(u[m.id]={sortUndefined:p.columnDef.sortUndefined,invertSorting:p.columnDef.invertSorting,sortingFn:p.getSortingFn()})});const d=m=>{const p=m.map(y=>({...y}));return p.sort((y,v)=>{for(let x=0;x{var v;s.push(y),(v=y.subRows)!=null&&v.length&&(y.subRows=d(y.subRows))}),p};return{rows:d(r.rows),flatRows:s,rowsById:r.rowsById}},ke(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function Fm(e,n){return e?g4(e)?w.createElement(e,n):e:null}function g4(e){return v4(e)||typeof e=="function"||y4(e)}function v4(e){return typeof e=="function"&&(()=>{const n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function y4(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function q_(e){const n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=w.useState(()=>({current:p4(n)})),[i,s]=w.useState(()=>r.current.initialState);return r.current.setOptions(l=>({...l,...e,state:{...i,...e.state},onStateChange:u=>{s(u),e.onStateChange==null||e.onStateChange(u)}})),r.current}var _l=e=>e.type==="checkbox",za=e=>e instanceof Date,an=e=>e==null;const Wp=e=>typeof e=="object";var jt=e=>!an(e)&&!Array.isArray(e)&&Wp(e)&&!za(e),b4=e=>jt(e)&&e.target?_l(e.target)?e.target.checked:e.target.value:e,x4=(e,n)=>n.split(".").some((r,i,s)=>!isNaN(Number(r))&&e.has(s.slice(0,i).join("."))),G_=e=>{const n=e.constructor&&e.constructor.prototype;return jt(n)&&n.hasOwnProperty("isPrototypeOf")},td=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Mt(e){if(e instanceof Date)return new Date(e);const n=typeof FileList<"u"&&e instanceof FileList;if(td&&(e instanceof Blob||n))return e;const r=Array.isArray(e);if(!r&&!(jt(e)&&G_(e)))return e;const i=r?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(i[s]=Mt(e[s]));return i}const jo={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},gr={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},mr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Z_="root",eg=["__proto__","constructor","prototype"],w4=/^\w*$/;var Cl=e=>w4.test(e),gt=e=>e===void 0;const S4=/[.[\]'"]/;var nd=e=>e.split(S4).filter(Boolean),Se=(e,n,r)=>{if(!n||!jt(e))return r;const i=Cl(n)?[n]:nd(n);if(i.some(l=>eg.includes(l)))return r;const s=i.reduce((l,u)=>an(l)?void 0:l[u],e);return gt(s)||s===e?gt(e[n])?r:e[n]:s},Rr=e=>typeof e=="boolean",er=e=>typeof e=="function",lt=(e,n,r)=>{let i=-1;const s=Cl(n)?[n]:nd(n),l=s.length,u=l-1;for(;++i{const s={};for(const l in e)Object.defineProperty(s,l,{get:()=>{const u=l;return n._proxyFormState[u]!==gr.all&&(n._proxyFormState[u]=!i||gr.all),e[u]}});return s};const E4=td?he.useLayoutEffect:he.useEffect;var sn=e=>typeof e=="string",R4=(e,n,r,i,s)=>sn(e)?(i&&n.watch.add(e),Se(r,e,s)):Array.isArray(e)?e.map(l=>(i&&n.watch.add(l),Se(r,l))):(i&&(n.watchAll=!0),r),Vm=e=>an(e)||!Wp(e);const yx=(e,n)=>n.length===0&&!Array.isArray(e)&&!G_(e);function jr(e,n,r=new WeakMap){if(e===n)return!0;if(Vm(e)||Vm(n))return Object.is(e,n);if(za(e)&&za(n))return Object.is(e.getTime(),n.getTime());const i=Object.keys(e),s=Object.keys(n);if(i.length!==s.length)return!1;if(yx(e,i)||yx(n,s))return Object.is(e,n);if(!i.length&&Array.isArray(e)!==Array.isArray(n))return!1;const l=r.get(e);if(l&&l.has(n))return!0;if(l)l.add(n);else{const u=new WeakSet;u.add(n),r.set(e,u)}for(const u of i){const d=e[u];if(!(u in n))return!1;if(u!=="ref"){const m=n[u];if(za(d)&&za(m)||(jt(d)||Array.isArray(d))&&(jt(m)||Array.isArray(m))?!jr(d,m,r):!Object.is(d,m))return!1}}return!0}var Jc=e=>({isOnSubmit:!e||e===gr.onSubmit,isOnBlur:e===gr.onBlur,isOnChange:e===gr.onChange,isOnAll:e===gr.all,isOnTouch:e===gr.onTouched}),Jh=(e,n,r)=>{if(r)return!1;if(n.watchAll||n.watch.has(e))return!0;for(const i of n.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const Js=(e,n,r,i)=>{for(const s of r||Object.keys(e)){const l=Se(e,s);if(l){const{_f:u,...d}=l;if(u){if(u.refs&&u.refs[0]&&n(u.refs[0],s)&&!i)return!0;if(u.ref&&n(u.ref,u.name)&&!i)return!0;if(Js(d,n))break}else if(jt(d)&&Js(d,n))break}}};var bx=(e,n,r)=>{const i=Se(e,r),s=Array.isArray(i)?i:[];return lt(s,Z_,n[r]),lt(e,r,s),e},nn=e=>jt(e)&&!Object.keys(e).length,tg=e=>e.type==="file",Su=e=>{if(!td)return!1;const n=e?e.ownerDocument:0;return e instanceof(n&&n.defaultView?n.defaultView.HTMLElement:HTMLElement)},ng=e=>e.type==="radio",_u=e=>e instanceof RegExp,rg=(e,n,r,i,s)=>n?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:s||!0}}:{};const xx={value:!1,isValid:!1},wx={value:!0,isValid:!0};var K_=e=>{if(Array.isArray(e)){if(e.length>1){const n=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:n,isValid:!!n.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!gt(e[0].attributes.value)?gt(e[0].value)||e[0].value===""?wx:{value:e[0].value,isValid:!0}:wx:xx}return xx};const Sx={isValid:!1,value:null};var Y_=e=>Array.isArray(e)?e.reduce((n,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:n,Sx):Sx;function _x(e,n,r="validate"){if(sn(e)||Array.isArray(e)&&e.every(sn)||Rr(e)&&!e)return{type:r,message:sn(e)?e:"",ref:n}}var To=e=>jt(e)&&!_u(e)?e:{value:e,message:""},Cx=async(e,n,r,i,s,l)=>{const{ref:u,refs:d,required:m,maxLength:p,minLength:y,min:v,max:b,pattern:x,validate:S,name:C,valueAsNumber:E,mount:R}=e._f,O=Se(r,C);if(!R||n.has(C))return{};const T=d?d[0]:u,z=Q=>{if(s&&T.reportValidity){const le=Rr(Q)?"":Q||"";d?d.forEach(ue=>ue.setCustomValidity(le)):T.setCustomValidity(le),T.reportValidity()}},I={},F=ng(u),V=_l(u),U=F||V,pe=(E||tg(u))&>(u.value)&>(O)||Su(u)&&u.value===""||O===""||Array.isArray(O)&&!O.length,ge=rg.bind(null,C,i,I),fe=(Q,le,ue,xe=mr.maxLength,N=mr.minLength)=>{const q=Q?le:ue;I[C]={type:Q?xe:N,message:q,ref:u,...ge(Q?xe:N,q)}};if(l?!Array.isArray(O)||!O.length:m&&(!U&&(pe||an(O))||Rr(O)&&!O||V&&!K_(d).isValid||F&&!Y_(d).isValid)){const{value:Q,message:le}=sn(m)?{value:!!m,message:m}:To(m);if(Q&&(I[C]={type:mr.required,message:le,ref:T,...ge(mr.required,le)},!i))return z(le),I}if(!pe&&(!an(v)||!an(b))){let Q,le;const ue=To(b),xe=To(v);if(!an(O)&&!isNaN(O)){const N=u.valueAsNumber||O&&+O;an(ue.value)||(Q=N>ue.value),an(xe.value)||(le=Nnew Date(new Date().toDateString()+" "+ne),ae=u.type=="time",te=u.type=="week";sn(ue.value)&&O&&(Q=ae?q(O)>q(ue.value):te?O>ue.value:N>new Date(ue.value)),sn(xe.value)&&O&&(le=ae?q(O)+Q.value,xe=!an(le.value)&&O.length<+le.value;if((ue||xe)&&(fe(ue,Q.message,le.message),!i))return z(I[C].message),I}if(x&&!pe&&sn(O)){const{value:Q,message:le}=To(x);if(_u(Q)&&!O.match(Q)&&(I[C]={type:mr.pattern,message:le,ref:u,...ge(mr.pattern,le)},!i))return z(le),I}if(S){if(er(S)){const Q=await S(O,r),le=_x(Q,T);if(le&&(I[C]={...le,...ge(mr.validate,le.message)},!i))return z(le.message),I}else if(jt(S)){let Q={};for(const le in S){if(!nn(Q)&&!i)break;const ue=_x(await S[le](O,r),T,le);ue&&(Q={...ue,...ge(le,ue.message)},z(ue.message),i&&(I[C]=Q))}if(!nn(Q)&&(I[C]={ref:T,...Q},!i))return I}}return z(!0),I},lu=e=>Array.isArray(e)?e:[e],Q_=e=>Array.isArray(e)?e.filter(Boolean):[];function j4(e,n){const r=n.slice(0,-1).length;let i=0;for(;ieg.includes(String(u))))return e;const i=r.length===1?e:j4(e,r),s=r.length-1,l=r[s];return i&&delete i[l],s!==0&&(jt(i)&&nn(i)||Array.isArray(i)&&T4(i))&&Nt(e,r.slice(0,-1)),e}const X_=e=>{const n={};for(const r of Object.keys(e))if(Wp(e[r])&&e[r]!==null&&!za(e[r])){const i=X_(e[r]);for(const s of Object.keys(i))n[`${r}.${s}`]=i[s]}else n[r]=e[r];return n},O4=he.createContext(null);O4.displayName="HookFormContext";var Ex=()=>{let e=[];return{get observers(){return e},next:s=>{for(const l of e)l.next&&l.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(l=>l!==s)}}),unsubscribe:()=>{e=[]}}};function J_(e,n){const r={};for(const i in e)if(e.hasOwnProperty(i)){const s=e[i],l=n[i];if(s&&jt(s)&&l){const u=J_(s,l);jt(u)&&(r[i]=u)}else e[i]&&(r[i]=l)}return r}var W_=e=>e.type==="select-multiple",A4=e=>ng(e)||_l(e),Wh=e=>Su(e)&&e.isConnected,M4=e=>{for(const n in e)if(er(e[n]))return!0;return!1};function eC(e){return Array.isArray(e)||jt(e)&&!M4(e)}function tC(e){return!!(e&&"_f"in e)}function nC(e){return Array.isArray(e)?!e.some(n=>!gt(n)):!Object.keys(e).length}function Um(e,n){Array.isArray(e)?e[n]=void 0:delete e[n]}function Hm(e,n={},r){for(const i in e){const s=e[i],l=r&&r[i];eC(s)&&(!Array.isArray(s)||!tC(l))?(n[i]=Array.isArray(s)?[]:{},Hm(s,n[i],l),nC(n[i])&&Um(n,i)):gt(s)||(n[i]=!0)}return n}function bi(e,n,r,i){r||(r=Hm(n,{},i));for(const s in e){const l=e[s],u=i&&i[s];eC(l)&&(!Array.isArray(l)||!tC(u))?(gt(n)||Vm(r[s])?r[s]=Hm(l,Array.isArray(l)?[]:{},u):bi(l,an(n)?{}:n[s],r[s],u),nC(r[s])&&Um(r,s)):jr(l,n[s])?Um(r,s):r[s]=!0}return r}var rC=(e,{valueAsNumber:n,valueAsDate:r,setValueAs:i})=>gt(e)?e:n?e===""?NaN:e&&+e:r&&sn(e)?new Date(e):i?i(e):e;function Rx(e){const n=e.ref;return tg(n)?n.files:ng(n)?Y_(e.refs).value:W_(n)?[...n.selectedOptions].map(({value:r})=>r):_l(n)?K_(e.refs).value:rC(gt(n.value)?e.ref.value:n.value,e)}var N4=(e,n,r,i)=>{const s={};for(const l of e){const u=Se(n,l);u&<(s,l,u._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:i}},Hs=e=>gt(e)?e:_u(e)?e.source:jt(e)?_u(e.value)?e.value.source:e.value:e;const jx="AsyncFunction";var D4=e=>{if(!e||!e.validate)return!1;if(er(e.validate))return e.validate.constructor.name===jx;if(jt(e.validate)){for(const n in e.validate)if(e.validate[n].constructor.name===jx)return!0}return!1},z4=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Tx(e,n,r){const i=Se(e,r);if(i||Cl(r))return{error:i,name:r};const s=r.split(".");for(;s.length;){const l=s.join("."),u=Se(n,l),d=Se(e,l);if(u&&!Array.isArray(u)&&r!==l)return{name:r};if(d&&d.type)return{name:l,error:d};if(d&&d.root&&d.root.type)return{name:`${l}.root`,error:d.root};s.pop()}return{name:r}}var k4=(e,n,r,i)=>{r(e);const{name:s,...l}=e,u=Object.keys(l);return!u.length||i&&u.length>=Object.keys(n).length||u.find(d=>n[d]===(!i||gr.all))},L4=(e,n,r)=>!e||!n||e===n||lu(e).some(i=>i&&(r?i===n||i.startsWith(n+"."):i.startsWith(n)||n.startsWith(i))),$4=(e,n,r,i,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(n||e):(r?i.isOnBlur:s.isOnBlur)?!e:(r?i.isOnChange:s.isOnChange)?e:!0,I4=(e,n)=>!Q_(Se(e,n)).length&&Nt(e,n);const P4={mode:gr.onSubmit,reValidateMode:gr.onChange,shouldFocusError:!0},em="form",aC={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function F4(e={}){let n={...P4,...e},r={...Mt(aC),isLoading:er(n.defaultValues),errors:n.errors||{},disabled:n.disabled||!1},i={},s=jt(n.defaultValues)||jt(n.values)?Mt(n.defaultValues||n.values)||{}:{},l=n.shouldUnregister?{}:Mt(s),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const m={},p={};let y=0,v=Jc(n.mode),b=Jc(n.reValidateMode);const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},S={...x};let C={...S};const E={array:Ex(),state:Ex()};let R=0;const O=n.criteriaMode===gr.all,T=(A,D)=>$=>{clearTimeout(p[A]),p[A]=setTimeout(D,$)},z=async A=>{if(!u.keepIsValid&&!n.disabled&&(S.isValid||C.isValid||A)){const D=++R;let $;n.resolver?($=nn((await ue()).errors),D===R&&I()):$=await q({fields:i,onlyCheckValid:!0,eventType:jo.VALID}),D===R&&$!==r.isValid&&E.state.next({isValid:$})}},I=(A,D)=>{!n.disabled&&(S.isValidating||S.validatingFields||C.isValidating||C.validatingFields)&&((A||Array.from(d.mount)).forEach($=>{$&&(D?lt(r.validatingFields,$,D):Nt(r.validatingFields,$))}),E.state.next({validatingFields:r.validatingFields,isValidating:!nn(r.validatingFields)}))},F=()=>{r.dirtyFields=bi(s,l,void 0,i)},V=(A,D=[],$,J,ce=!0,me=!0)=>{if(J&&$&&!n.disabled){if(u.action=!0,me&&Array.isArray(Se(i,A))){const be=$(Se(i,A),J.argA,J.argB);ce&<(i,A,be)}if(me&&Array.isArray(Se(r.errors,A))){const be=$(Se(r.errors,A),J.argA,J.argB);ce&<(r.errors,A,be),I4(r.errors,A)}if((S.touchedFields||C.touchedFields)&&me&&Array.isArray(Se(r.touchedFields,A))){const be=$(Se(r.touchedFields,A),J.argA,J.argB);ce&<(r.touchedFields,A,be)}(S.dirtyFields||C.dirtyFields)&&F(),E.state.next({name:A,isDirty:te(A,D),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else lt(l,A,D)},U=(A,D)=>{lt(r.errors,A,D),r.errors={...r.errors},E.state.next({errors:r.errors})},pe=A=>{r.errors=A,E.state.next({errors:r.errors,isValid:!1})},ge=A=>{const D=Cl(A)?[A]:nd(A);let $=l,J=s;for(let ce=0;ce{const ce=Se(i,A);if(ce){if(ge(A))return;const me=gt(Se(l,A)),be=Se(l,A,gt($)?Se(s,A):$);gt(be)||J&&J.defaultChecked||D?lt(l,A,D?be:Rx(ce._f)):M(A,be),u.mount&&!u.action&&(z(),me&&r.isDirty&&(S.isDirty||C.isDirty)&&(te()||(r.isDirty=!1,E.state.next({...r}))),e.shouldUnregister&&me&&!gt(Se(l,A))&&Jh(A,d)&&(u.watch=!0))}},Q=(A,D,$,J,ce)=>{let me=!1,be=!1;const we={name:A};if(!n.disabled||J===!0){if(!$||J){const je=jr(Se(s,A),D);(S.isDirty||C.isDirty)&&(be=r.isDirty,r.isDirty=we.isDirty=!je||te(),me=be!==we.isDirty),be=!!Se(r.dirtyFields,A),je!==r.isDirty?r.dirtyFields=bi(s,l,void 0,i):je?Nt(r.dirtyFields,A):lt(r.dirtyFields,A,!0),we.dirtyFields=r.dirtyFields,me=me||(S.dirtyFields||C.dirtyFields)&&be!==!je}if($){const je=Se(r.touchedFields,A);je||(lt(r.touchedFields,A,$),we.touchedFields=r.touchedFields,me=me||(S.touchedFields||C.touchedFields)&&je!==$)}me&&ce&&E.state.next(we)}return me?we:{}},le=(A,D,$,J)=>{const ce=Se(r.errors,A),me=(S.isValid||C.isValid)&&Rr(D)&&r.isValid!==D;if(n.delayError&&$?(m[A]=T(A,()=>U(A,$)),m[A](n.delayError)):(clearTimeout(p[A]),delete m[A],$?lt(r.errors,A,$):Nt(r.errors,A),r.errors={...r.errors}),($?!jr(ce,$):ce)||!nn(J)||me){const be={...J,...me&&Rr(D)?{isValid:D}:{},errors:r.errors,name:A};r={...r,...be},E.state.next(be)}},ue=async A=>(I(A,!0),await n.resolver(l,n.context,N4(A||d.mount,i,n.criteriaMode,n.shouldUseNativeValidation))),xe=async A=>{const{errors:D}=await ue(A);if(I(A),A){for(const $ of A){const J=Se(D,$);J?d.array.has($)&&jt(J)&&!Object.keys(J).some(ce=>!Number.isNaN(Number(ce)))?bx(r.errors,{[$]:J},$):lt(r.errors,$,J):Nt(r.errors,$)}r.errors={...r.errors}}else r.errors=D;return D},N=async({name:A,eventType:D})=>{if(e.validate){const $=await e.validate({formValues:l,formState:r,name:A,eventType:D});if(jt($))for(const J in $){const ce=$[J];ce&&ft(`${em}.${J}`,{message:sn(ce.message)?ce.message:"",type:ce.type||mr.validate})}else sn($)||!$?ft(em,{message:$||"",type:mr.validate}):Fe(em);return $}return!0},q=async({fields:A,onlyCheckValid:D,name:$,eventType:J,context:ce={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(ce.runRootValidation=!0,!await N({name:$,eventType:J})&&(ce.valid=!1,D)))return ce.valid;for(const me in A){const be=A[me];if(be){const{_f:we,...je}=be;if(we){const et=d.array.has(we.name),St=be._f&&D4(be._f),Qt=S.validatingFields||S.isValidating||C.validatingFields||C.isValidating;St&&Qt&&I([we.name],!0);const zt=await Cx(be,d.disabled,l,O,n.shouldUseNativeValidation&&!D,et);if(St&&Qt&&I([we.name]),zt[we.name]&&(ce.valid=!1,D)||(!D&&(Se(zt,we.name)?et?bx(r.errors,zt,we.name):lt(r.errors,we.name,zt[we.name]):Nt(r.errors,we.name)),e.shouldUseNativeValidation&&zt[we.name]))break}!nn(je)&&await q({context:ce,onlyCheckValid:D,fields:je,name:me,eventType:J})}}return ce.valid},ae=()=>{for(const A of d.unMount){const D=Se(i,A);D&&(D._f.refs?D._f.refs.every($=>!Wh($)):!Wh(D._f.ref))&&Kt(A)}d.unMount=new Set},te=(A,D)=>(A&&D&<(l,A,D),!jr(u.mount?l:s,s)),ne=(A,D,$)=>R4(A,d,{...u.mount?l:gt(D)?s:sn(A)?{[A]:D}:D},$,D),k=A=>Q_(Se(u.mount?l:s,A,n.shouldUnregister?Se(s,A,[]):[])),M=(A,D,$={},J=!1,ce=!1)=>{const me=Se(i,A);let be=D;if(me){const we=me._f;we&&(!we.disabled&<(l,A,rC(D,we)),be=Su(we.ref)&&an(D)?"":D,W_(we.ref)?[...we.ref.options].forEach(je=>je.selected=be.includes(je.value)):we.refs?_l(we.ref)?we.refs.forEach(je=>{(!je.defaultChecked||!je.disabled)&&(Array.isArray(be)?je.checked=!!be.find(et=>et===je.value):je.checked=be===je.value||!!be)}):we.refs.forEach(je=>je.checked=je.value===be):tg(we.ref)?we.ref.value="":(we.ref.value=be,!we.ref.type&&!ce&&E.state.next({name:A,values:J?l:Mt(l)})))}($.shouldDirty||$.shouldTouch)&&Q(A,be,$.shouldTouch,$.shouldDirty,!ce),$.shouldValidate&&ye(A,{delayError:$.delayError})},B=(A,D,$,J=!1,ce=!1)=>{for(const me in D){if(!D.hasOwnProperty(me))return;const be=D[me],we=A+"."+me,je=Se(i,we);(d.array.has(A)||jt(be)||je&&!je._f)&&!za(be)?B(we,be,$,J,ce):M(we,be,$,J,ce)}},X=(A,D,$,J,ce=!1)=>{const me=Se(i,A),be=d.array.has(A),we=J?D:Mt(D),je=Se(l,A),et=jr(je,we);if(et||lt(l,A,we),be)E.array.next({name:A,values:J?l:Mt(l)}),(S.isDirty||S.dirtyFields||C.isDirty||C.dirtyFields)&&$.shouldDirty&&(F(),ce||E.state.next({name:A,dirtyFields:r.dirtyFields,isDirty:te(A,we)}));else{const St=Array.isArray(we)&&!we.length||nn(we);!me||me._f||an(we)||St?M(A,we,$,J,ce):B(A,we,$,J,ce)}if(!et&&!ce){const St=Jh(A,d),Qt=J?l:Mt(l);E.state.next({...St&&r,name:u.mount||St?A:void 0,values:Qt})}},K=(A,D,$={})=>X(A,D,$,!1),se=(A,D={})=>{const $=er(A)?A(l):A;if(!jr(l,$)){l={...l,...$};const J=X_($);for(const ce of d.mount)ce in J&&X(ce,J[ce],D,!0,!0);E.state.next({...r,name:void 0,type:void 0,...y?{values:l}:{}}),D.shouldValidate&&z()}},ee=async A=>{u.mount=!0;const D=A.target;let $=D.name,J=!0;const ce=Se(i,$),me=be=>{J=Number.isNaN(be)||za(be)&&isNaN(be.getTime())||jr(be,Se(l,$,be))};if(ce){let be,we;const je=D.type?Rx(ce._f):b4(A),et=A.type===jo.BLUR||A.type===jo.FOCUS_OUT,St=!z4(ce._f)&&!e.validate&&!n.resolver&&!Se(r.errors,$)&&!ce._f.deps,Qt=St||$4(et,Se(r.touchedFields,$),r.isSubmitted,b,v),zt=Jh($,d,et);if(lt(l,$,je),et){if(!D||!D.readOnly){ce._f.onBlur&&ce._f.onBlur(A);const yt=m[$];yt&&yt(0)}}else ce._f.onChange&&ce._f.onChange(A);const Me=Q($,je,et),ht=!nn(Me)||zt;if(!et&&E.state.next({name:$,type:A.type,...y?{values:Mt(l)}:{}}),Qt)return(!St||!r.isValid)&&(S.isValid||C.isValid)&&(n.mode==="onBlur"?et&&z():et||z()),ht&&E.state.next({name:$,...zt?{}:Me});if(!n.resolver&&e.validate&&await N({name:$,eventType:A.type}),!et&&zt&&E.state.next({...r}),n.resolver){const{errors:yt}=await ue([$]);if(I([$]),me(je),!J){!nn(Me)&&E.state.next(Me);return}const Ht=Tx(r.errors,i,$),lr=Tx(yt,i,Ht.name||$);be=lr.error,$=lr.name,we=nn(yt)}else I([$],!0),be=(await Cx(ce,d.disabled,l,O,n.shouldUseNativeValidation))[$],I([$]),me(je),J&&(be?we=!1:(S.isValid||C.isValid)&&(we=await q({fields:i,onlyCheckValid:!0,name:$,eventType:A.type})));J&&(ce._f.deps&&(!Array.isArray(ce._f.deps)||ce._f.deps.length>0)&&ye(ce._f.deps),le($,we,be,Me))}},ve=(A,D)=>{if(Se(r.errors,D)&&A.focus)return A.focus(),1},ye=async(A,D={})=>{let $,J;const ce=lu(A);if(n.resolver){const me=await xe(gt(A)?A:ce);$=nn(me),J=A?!ce.some(be=>Se(me,be)):$}else A?(J=(await Promise.all(ce.map(async me=>{const be=Se(i,me);return await q({fields:be&&be._f?{[me]:be}:be,eventType:jo.TRIGGER})}))).every(Boolean),!(!J&&!r.isValid)&&z()):J=$=await q({fields:i,name:A,eventType:jo.TRIGGER});if(D.delayError&&n.delayError&&sn(A)){const me=Se(r.errors,A);me?(Nt(r.errors,A),m[A]=T(A,()=>U(A,me)),m[A](n.delayError)):(clearTimeout(p[A]),delete m[A])}return E.state.next({...!sn(A)||(S.isValid||C.isValid)&&$!==r.isValid?{}:{name:A},...n.resolver||!A?{isValid:$}:{},errors:r.errors}),D.shouldFocus&&!J&&Js(i,ve,A?ce:d.mount),J},Ne=(A,D)=>{let $={...u.mount?l:s};return D&&($=J_(D.dirtyFields?r.dirtyFields:r.touchedFields,$)),gt(A)?$:sn(A)?Se($,A):A.map(J=>Se($,J))},Ie=(A,D)=>({invalid:!!Se((D||r).errors,A),isDirty:!!Se((D||r).dirtyFields,A),error:Se((D||r).errors,A),isValidating:!!Se(r.validatingFields,A),isTouched:!!Se((D||r).touchedFields,A)}),Fe=A=>{const D=A?lu(A):void 0;D?.forEach($=>Nt(r.errors,$)),D?D.forEach($=>{E.state.next({name:$,errors:r.errors})}):E.state.next({errors:{}})},ft=(A,D,$)=>{const J=(Se(i,A,{_f:{}})._f||{}).ref,ce=Se(r.errors,A)||{},{ref:me,message:be,type:we,...je}=ce;lt(r.errors,A,{...je,...D,ref:J}),E.state.next({name:A,errors:r.errors,isValid:!1}),$&&$.shouldFocus&&J&&J.focus&&J.focus()},Qe=(A,D)=>{if(er(A)){y++;const{unsubscribe:$}=E.state.subscribe({next:ce=>"values"in ce&&A(ce.values||ne(void 0,D),ce)});let J=!1;return{unsubscribe:()=>{J||(J=!0,y--,$())}}}return ne(A,D,!0)},vn=A=>{var D;const $=!!(!((D=A.formState)===null||D===void 0)&&D.values);$&&y++;const{unsubscribe:J}=E.state.subscribe({next:me=>{if(L4(A.name,me.name,A.exact)&&k4(me,A.formState||S,zr,A.reRenderRoot)){const be={...l};A.callback({values:be,...r,...me,defaultValues:s})}}});if(!$)return J;let ce=!1;return()=>{ce||(ce=!0,y--,J())}},un=A=>(u.mount=!0,C={...C,...A.formState},vn({...A,formState:{...x,...A.formState}})),Kt=(A,D={})=>{for(const $ of A?lu(A):d.mount)d.mount.delete($),d.array.delete($),D.keepValue||(Nt(i,$),Nt(l,$)),!D.keepError&&Nt(r.errors,$),!D.keepDirty&&Nt(r.dirtyFields,$),!D.keepTouched&&Nt(r.touchedFields,$),!D.keepIsValidating&&Nt(r.validatingFields,$),!n.shouldUnregister&&!D.keepDefaultValue&&Nt(s,$);E.state.next({values:Mt(l)}),E.state.next({...r,...D.keepDirty?{isDirty:te()}:{}}),!D.keepIsValid&&z()},ir=({disabled:A,name:D})=>{if(Rr(A)&&u.mount||A||d.disabled.has(D)){const ce=d.disabled.has(D)!==!!A;A?d.disabled.add(D):d.disabled.delete(D),ce&&u.mount&&!u.action&&z()}},Dt=(A,D={})=>{let $=Se(i,A);const J=Rr(D.disabled)||Rr(n.disabled),ce=!d.registerName.has(A)&&$&&$._f&&!$._f.mount;return lt(i,A,{...$||{},_f:{...$&&$._f?$._f:{ref:{name:A}},name:A,mount:!0,...D}}),d.mount.add(A),$&&!ce?ir({disabled:Rr(D.disabled)?D.disabled:n.disabled,name:A}):fe(A,!0,D.value),{...J?{disabled:D.disabled||n.disabled}:{},...n.progressive?{required:!!D.required,min:Hs(D.min),max:Hs(D.max),minLength:Hs(D.minLength),maxLength:Hs(D.maxLength),pattern:Hs(D.pattern)}:{},name:A,onChange:ee,onBlur:ee,ref:me=>{if(me){d.registerName.add(A),Dt(A,D),d.registerName.delete(A),$=Se(i,A);const be=gt(me.value)&&me.querySelectorAll&&me.querySelectorAll("input,select,textarea")[0]||me,we=A4(be),je=$._f.refs||[];if(we?je.find(et=>et===be):be===$._f.ref)return;lt(i,A,{_f:{...$._f,...we?{refs:[...je.filter(Wh),be,...Array.isArray(Se(s,A))?[{}]:[]],ref:{type:be.type,name:A}}:{ref:be}}}),fe(A,!1,void 0,be)}else $=Se(i,A,{}),$._f&&($._f.mount=!1),(n.shouldUnregister||D.shouldUnregister)&&!(x4(d.array,A)&&u.action)&&d.unMount.add(A)}}},or=()=>n.shouldFocusError&&!n.shouldUseNativeValidation&&Js(i,ve,d.mount),Dr=A=>{Rr(A)&&(E.state.next({disabled:A}),Js(i,(D,$)=>{const J=Se(i,$);J&&(D.disabled=J._f.disabled||A,Array.isArray(J._f.refs)&&J._f.refs.forEach(ce=>{ce.disabled=J._f.disabled||A}))},0,!1))},Tt=(A,D)=>async $=>{let J;$&&($.preventDefault&&$.preventDefault(),$.persist&&$.persist());let ce=Mt(l);if(E.state.next({isSubmitting:!0}),n.resolver){const{errors:me,values:be}=await ue();I(),r.errors=me,ce=Mt(be)}else await q({fields:i,eventType:jo.SUBMIT});if(d.disabled.size)for(const me of d.disabled)Nt(ce,me);if(Nt(r.errors,Z_),nn(r.errors)){E.state.next({errors:{}});try{await A(ce,$)}catch(me){J=me}}else D&&await D({...r.errors},$),or(),setTimeout(or);if(E.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:nn(r.errors)&&!J,submitCount:r.submitCount+1,errors:r.errors}),J)throw J},Un=(A,D={})=>{Se(i,A)&&(gt(D.defaultValue)?K(A,Mt(Se(s,A))):(K(A,D.defaultValue),lt(s,A,Mt(D.defaultValue))),D.keepTouched||Nt(r.touchedFields,A),D.keepDirty||(Nt(r.dirtyFields,A),r.isDirty=D.defaultValue?te(A,Mt(Se(s,A))):te()),D.keepError||(Nt(r.errors,A),S.isValid&&z()),E.state.next({...r}))},wt=(A,D={})=>{const $=A?Mt(A):s,J=Mt($),ce=nn(A),me=J,be=i;if(D.keepDefaultValues||(s=$),!D.keepValues){if(D.keepDirtyValues){const we=new Set([...d.mount,...Object.keys(bi(s,l,void 0,be))]);for(const je of Array.from(we)){const et=Se(r.dirtyFields,je),St=Se(l,je),Qt=Se(me,je);et&&!gt(St)?lt(me,je,St):!et&&!gt(Qt)&&K(je,Qt)}}else{if(td&>(A))for(const we of d.mount){const je=Se(i,we);if(je&&je._f){const et=Array.isArray(je._f.refs)?je._f.refs[0]:je._f.ref;if(Su(et)){const St=et.closest("form");if(St){St.reset();break}}}}if(D.keepFieldsRef)for(const we of d.mount)K(we,Se(me,we));else i={}}if(n.shouldUnregister){if(l=D.keepDefaultValues?Mt(s):{},D.keepFieldsRef)for(const we of d.mount)lt(l,we,Se(me,we))}else l=Mt(me);E.array.next({values:{...me}}),E.state.next({name:void 0,type:void 0,values:{...me}})}d={mount:D.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!S.isValid||!!D.keepIsValid||!!D.keepDirtyValues||!n.shouldUnregister&&!nn(me),u.watch=!!n.shouldUnregister,u.keepIsValid=!!D.keepIsValid,u.action=!1,D.keepErrors||(r.errors={}),E.state.next({submitCount:D.keepSubmitCount?r.submitCount:0,isDirty:ce?!1:D.keepDirty?r.isDirty:D.keepValues?te():!!(D.keepDefaultValues&&!jr(A,s)),isSubmitted:D.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:ce?{}:D.keepDirtyValues?D.keepDefaultValues&&l?bi(s,l,void 0,be):r.dirtyFields:D.keepDefaultValues&&A?bi(s,A,void 0,be):D.keepDirty?r.dirtyFields:{},touchedFields:D.keepTouched?r.touchedFields:{},errors:D.keepErrors?r.errors:{},isSubmitSuccessful:D.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},oa=(A,D)=>wt(er(A)?A(l):A,{...n.resetOptions,...D}),yn=(A,D={})=>{const $=Se(i,A),J=$&&$._f;if(J){const ce=J.refs?J.refs[0]:J.ref;ce.focus&&setTimeout(()=>{ce.focus(),D.shouldSelect&&er(ce.select)&&ce.select()})}},zr=A=>{const{name:D,type:$,values:J,...ce}=A;r={...r,...ce}},bn={control:{register:Dt,unregister:Kt,getFieldState:Ie,handleSubmit:Tt,setError:ft,_subscribe:vn,_runSchema:ue,_updateIsValidating:I,_focusError:or,_getWatch:ne,_getDirty:te,_setValid:z,_setFieldArray:V,_setDisabledField:ir,_setErrors:pe,_getFieldArray:k,_reset:wt,_resetDefaultValues:()=>er(n.defaultValues)&&n.defaultValues().then(A=>{oa(A,n.resetOptions),E.state.next({isLoading:!1})}),_removeUnmounted:ae,_disableForm:Dr,_subjects:E,_proxyFormState:S,get _fields(){return i},get _formValues(){return l},get _state(){return u},set _state(A){u=A},get _defaultValues(){return s},get _names(){return d},set _names(A){d=A},get _formState(){return r},get _options(){return n},set _options(A){n={...n,...A},v=Jc(n.mode),b=Jc(n.reValidateMode)}},subscribe:un,trigger:ye,register:Dt,handleSubmit:Tt,watch:Qe,setValue:K,setValues:se,getValues:Ne,reset:oa,resetField:Un,resetDefaultValues:(A,D={})=>{if(s=Mt(A),!D.keepDirty){const $=bi(s,l,void 0,i);r.dirtyFields=$,r.isDirty=!nn($)}D.keepIsValid||z(),E.state.next({...r,defaultValues:s})},clearErrors:Fe,unregister:Kt,setError:ft,setFocus:yn,getFieldState:Ie};return{...bn,formControl:bn}}function ag(e={}){const n=he.useRef(void 0),r=he.useRef(void 0),i=he.useRef(e.formControl),[s,l]=he.useState(()=>({...Mt(aC),isLoading:er(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:er(e.defaultValues)?void 0:e.defaultValues}));if(!n.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)n.current={...e.formControl,formState:s},e.defaultValues&&!er(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...m}=F4(e);n.current={...m,formState:s}}const u=n.current.control;return u._options=e,E4(()=>{const d=u._subscribe({formState:u._proxyFormState,callback:()=>l({...u._formState,defaultValues:u._defaultValues}),reRenderRoot:!0});return l(m=>({...m,isReady:!0})),u._formState.isReady=!0,d},[u]),he.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),he.useEffect(()=>{e.mode&&(u._options.mode=e.mode),e.reValidateMode&&(u._options.reValidateMode=e.reValidateMode)},[u,e.mode,e.reValidateMode]),he.useEffect(()=>{e.errors&&(u._setErrors(e.errors),u._focusError())},[u,e.errors]),he.useEffect(()=>{e.shouldUnregister&&u._subjects.state.next({values:u._getWatch()})},[u,e.shouldUnregister]),he.useEffect(()=>{if(u._proxyFormState.isDirty){const d=u._getDirty();d!==s.isDirty&&u._subjects.state.next({isDirty:d})}},[u,s.isDirty]),he.useEffect(()=>{var d;e.values&&!jr(e.values,r.current)?(u._reset(e.values,{keepFieldsRef:!0,...u._options.resetOptions}),!((d=u._options.resetOptions)===null||d===void 0)&&d.keepIsValid||u._setValid(),r.current=e.values,l(m=>({...m}))):u._resetDefaultValues()},[u,e.values]),he.useEffect(()=>{u._state.mount||(u._setValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),n.current.formState=he.useMemo(()=>C4(s,u),[u,s]),n.current}const Ox=(e,n,r)=>{if(e&&"reportValidity"in e){const i=Se(r,n);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},Bm=(e,n)=>{for(const r in n.fields){const i=n.fields[r];i&&i.ref&&"reportValidity"in i.ref?Ox(i.ref,r,e):i&&i.refs&&i.refs.forEach(s=>Ox(s,r,e))}},Ax=(e,n)=>{n.shouldUseNativeValidation&&Bm(e,n);const r={};for(const i in e){const s=Se(n.fields,i),l=Object.assign(e[i]||{},{ref:s&&s.ref});if(V4(n.names||Object.keys(e),i)){const u=Object.assign({},Se(r,i));lt(u,"root",l),lt(r,i,u)}else lt(r,i,l)}return r},V4=(e,n)=>{const r=Mx(n).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>Mx(i).match(`^${r}\\.\\d+`))};function Mx(e){return e.replace(/[\[\]]/g,"")}var Nx;function de(e,n,r){function i(d,m){if(d._zod||Object.defineProperty(d,"_zod",{value:{def:m,constr:u,traits:new Set},enumerable:!1}),d._zod.traits.has(e))return;d._zod.traits.add(e),n(d,m);const p=u.prototype,y=Object.keys(p);for(let v=0;vr?.Parent&&d instanceof r.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}class Io extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class iC extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}(Nx=globalThis).__zod_globalConfig??(Nx.__zod_globalConfig={});const ig=globalThis.__zod_globalConfig;function ji(e){return ig}function oC(e){const n=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,s])=>n.indexOf(+i)===-1).map(([i,s])=>s)}function qm(e,n){return typeof n=="bigint"?n.toString():n}function og(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function sg(e){return e==null}function lg(e){const n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}const Dx=Symbol("evaluating");function ct(e,n,r){let i;Object.defineProperty(e,n,{get(){if(i!==Dx)return i===void 0&&(i=Dx,i=r()),i},set(s){Object.defineProperty(e,n,{value:s})},configurable:!0})}function Li(e,n,r){Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Xa(...e){const n={};for(const r of e){const i=Object.getOwnPropertyDescriptors(r);Object.assign(n,i)}return Object.defineProperties({},n)}function zx(e){return JSON.stringify(e)}function U4(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const sC="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Cu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const H4=og(()=>{if(ig.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ul(e){if(Cu(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const r=n.prototype;return!(Cu(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function lC(e){return ul(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const B4=new Set(["string","number","symbol"]);function rd(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ja(e,n,r){const i=new e._zod.constr(n??e._zod.def);return(!n||r?.parent)&&(i._zod.parent=e),i}function Le(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function q4(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}function G4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=r.shape[d])}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function Z4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={...e._zod.def.shape};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&delete u[d]}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function K4(e,n){if(!ul(n))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const l=e._zod.def.shape;for(const u in n)if(Object.getOwnPropertyDescriptor(l,u)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const s=Xa(e._zod.def,{get shape(){const l={...e._zod.def.shape,...n};return Li(this,"shape",l),l}});return Ja(e,s)}function Y4(e,n){if(!ul(n))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n};return Li(this,"shape",i),i}});return Ja(e,r)}function Q4(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n._zod.def.shape};return Li(this,"shape",i),i},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return Ja(e,r)}function X4(e,n,r){const s=n._zod.def.checks;if(s&&s.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const u=Xa(n._zod.def,{get shape(){const d=n._zod.def.shape,m={...d};if(r)for(const p in r){if(!(p in d))throw new Error(`Unrecognized key: "${p}"`);r[p]&&(m[p]=e?new e({type:"optional",innerType:d[p]}):d[p])}else for(const p in d)m[p]=e?new e({type:"optional",innerType:d[p]}):d[p];return Li(this,"shape",m),m},checks:[]});return Ja(n,u)}function J4(e,n,r){const i=Xa(n._zod.def,{get shape(){const s=n._zod.def.shape,l={...s};if(r)for(const u in r){if(!(u in l))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=new e({type:"nonoptional",innerType:s[u]}))}else for(const u in s)l[u]=new e({type:"nonoptional",innerType:s[u]});return Li(this,"shape",l),l}});return Ja(n,i)}function Do(e,n=0){if(e.aborted===!0)return!0;for(let r=n;r{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function Wc(e){return typeof e=="string"?e:e?.message}function Ti(e,n,r){const i=e.message?e.message:Wc(e.inst?._zod.def?.error?.(e))??Wc(n?.error?.(e))??Wc(r.customError?.(e))??Wc(r.localeError?.(e))??"Invalid input",{inst:s,continue:l,input:u,...d}=e;return d.path??(d.path=[]),d.message=i,n?.reportInput&&(d.input=u),d}function cg(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function dl(...e){const[n,r,i]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:i}:{...n}}const uC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,qm,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ug=de("$ZodError",uC),ad=de("$ZodError",uC,{Parent:Error});function e5(e,n=r=>r.message){const r={},i=[];for(const s of e.issues)s.path.length>0?(r[s.path[0]]=r[s.path[0]]||[],r[s.path[0]].push(n(s))):i.push(n(s));return{formErrors:i,fieldErrors:r}}function t5(e,n=r=>r.message){const r={_errors:[]},i=(s,l=[])=>{for(const u of s.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(d=>i({issues:d},[...l,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...l,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...l,...u.path]);else{const d=[...l,...u.path];if(d.length===0)r._errors.push(n(u));else{let m=r,p=0;for(;p(n,r,i,s)=>{const l=i?{...i,async:!1}:{async:!1},u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise)throw new Io;if(u.issues.length){const d=new(s?.Err??e)(u.issues.map(m=>Ti(m,l,ji())));throw sC(d,s?.callee),d}return u.value},n5=id(ad),od=e=>async(n,r,i,s)=>{const l=i?{...i,async:!0}:{async:!0};let u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise&&(u=await u),u.issues.length){const d=new(s?.Err??e)(u.issues.map(m=>Ti(m,l,ji())));throw sC(d,s?.callee),d}return u.value},r5=od(ad),sd=e=>(n,r,i)=>{const s=i?{...i,async:!1}:{async:!1},l=n._zod.run({value:r,issues:[]},s);if(l instanceof Promise)throw new Io;return l.issues.length?{success:!1,error:new(e??ug)(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},a5=sd(ad),ld=e=>async(n,r,i)=>{const s=i?{...i,async:!0}:{async:!0};let l=n._zod.run({value:r,issues:[]},s);return l instanceof Promise&&(l=await l),l.issues.length?{success:!1,error:new e(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},i5=ld(ad),o5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return id(e)(n,r,s)},s5=e=>(n,r,i)=>id(e)(n,r,i),l5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return od(e)(n,r,s)},c5=e=>async(n,r,i)=>od(e)(n,r,i),u5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return sd(e)(n,r,s)},d5=e=>(n,r,i)=>sd(e)(n,r,i),f5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return ld(e)(n,r,s)},h5=e=>async(n,r,i)=>ld(e)(n,r,i),m5=/^[cC][0-9a-z]{6,}$/,p5=/^[0-9a-z]+$/,g5=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,v5=/^[0-9a-vA-V]{20}$/,y5=/^[A-Za-z0-9]{27}$/,b5=/^[a-zA-Z0-9_-]{21}$/,x5=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,w5=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,kx=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,S5=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function C5(){return new RegExp(_5,"u")}const E5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,R5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,j5=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,T5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,O5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,dC=/^[A-Za-z0-9_-]*$/,A5=/^https?$/,M5=/^\+[1-9]\d{6,14}$/,fC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",N5=new RegExp(`^${fC}$`);function hC(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function D5(e){return new RegExp(`^${hC(e)}$`)}function z5(e){const n=hC({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const i=`${n}(?:${r.join("|")})`;return new RegExp(`^${fC}T(?:${i})$`)}const k5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},L5=/^(?:true|false)$/i,$5=/^[^A-Z]*$/,I5=/^[^a-z]*$/,Nr=de("$ZodCheck",(e,n)=>{var r;e._zod??(e._zod={}),e._zod.def=n,(r=e._zod).onattach??(r.onattach=[])}),P5=de("$ZodCheckMaxLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum{const s=i.value;if(s.length<=n.maximum)return;const u=cg(s);i.issues.push({origin:u,code:"too_big",maximum:n.maximum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),F5=de("$ZodCheckMinLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>s&&(i._zod.bag.minimum=n.minimum)}),e._zod.check=i=>{const s=i.value;if(s.length>=n.minimum)return;const u=cg(s);i.issues.push({origin:u,code:"too_small",minimum:n.minimum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),V5=de("$ZodCheckLengthEquals",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag;s.minimum=n.length,s.maximum=n.length,s.length=n.length}),e._zod.check=i=>{const s=i.value,l=s.length;if(l===n.length)return;const u=cg(s),d=l>n.length;i.issues.push({origin:u,...d?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!n.abort})}}),cd=de("$ZodCheckStringFormat",(e,n)=>{var r,i;Nr.init(e,n),e._zod.onattach.push(s=>{const l=s._zod.bag;l.format=n.format,n.pattern&&(l.patterns??(l.patterns=new Set),l.patterns.add(n.pattern))}),n.pattern?(r=e._zod).check??(r.check=s=>{n.pattern.lastIndex=0,!n.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:n.format,input:s.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(i=e._zod).check??(i.check=()=>{})}),U5=de("$ZodCheckRegex",(e,n)=>{cd.init(e,n),e._zod.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),H5=de("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=$5),cd.init(e,n)}),B5=de("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=I5),cd.init(e,n)}),q5=de("$ZodCheckIncludes",(e,n)=>{Nr.init(e,n);const r=rd(n.includes),i=new RegExp(typeof n.position=="number"?`^.{${n.position}}${r}`:r);n.pattern=i,e._zod.onattach.push(s=>{const l=s._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(i)}),e._zod.check=s=>{s.value.includes(n.includes,n.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:s.value,inst:e,continue:!n.abort})}}),G5=de("$ZodCheckStartsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`^${rd(n.prefix)}.*`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.startsWith(n.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:i.value,inst:e,continue:!n.abort})}}),Z5=de("$ZodCheckEndsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`.*${rd(n.suffix)}$`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.endsWith(n.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:i.value,inst:e,continue:!n.abort})}}),K5=de("$ZodCheckOverwrite",(e,n)=>{Nr.init(e,n),e._zod.check=r=>{r.value=n.tx(r.value)}});class Y5{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const i=n.split(` @@ -117,4 +117,4 @@ to set up BearDrive project `+e.id+" on "+r+i+e.name+'").',l=`brew install runbe bdrive login `+r+` bdrive init --project `+e.id;return f.jsxs("div",{className:"guide",children:[f.jsxs("h1",{className:"in-title gd-head",children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(e.name)},children:f.jsx($o,{name:e.icon})}),e.name]}),e.description&&f.jsx("p",{className:"in-desc",children:e.description}),f.jsxs("div",{className:"gd-body",children:[f.jsx("p",{className:"gd-desc",children:n?"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder you already have:":"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files:"}),n&&f.jsx("p",{className:"gd-note",children:"Your files stay exactly where they are. Connecting a folder never moves, renames or overwrites anything in it — it uploads what is there and keeps it in sync."}),f.jsx(Xm,{code:s}),f.jsx("p",{className:"gd-desc",children:"The agent installs the CLI, signs this machine in, and registers the sync hooks — asking before anything it changes."}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"What exactly happens"}),f.jsxs("ul",{className:"gd-desc gd-list",children:[f.jsx("li",{children:"Sign-in uses a device code you approve in this browser — the folder itself never holds credentials."}),f.jsx("li",{children:"Sync hooks pull the latest before every agent turn, push edits seconds after they happen, and stamp each change with the session that made it; agent reads feed Insights. They register once per machine in your agent's own config, so every session is covered and nothing is written into the synced folder."}),f.jsx("li",{children:"Codex hooks are off by default: set [features] codex_hooks = true in ~/.codex/config.toml."})]})]}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"Or run it yourself"}),f.jsx("p",{className:"gd-desc",children:"Same result, in the folder you want the files. One command: init signs this device in, registers the sync hooks and starts syncing."}),f.jsx(Xm,{code:l}),f.jsx("p",{className:"gd-desc",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/install/",target:"_blank",rel:"noreferrer",children:"Full manual setup guide →"})})]})]})]})}function Xm({code:e}){const[n,r]=w.useState("Copy");return f.jsxs("pre",{className:"gd-code",children:[f.jsx("code",{children:e}),f.jsx("button",{className:"gd-copy",onClick:async()=>{r(await Bo(e)?"Copied":"Copy failed"),setTimeout(()=>r("Copy"),1400)},children:n})]})}function K$({onNew:e,canCreate:n}){return f.jsxs("div",{className:"onboard",children:[f.jsx("h1",{children:"Welcome to BearDrive"}),f.jsx("p",{children:"You're signed in, but you're not part of any project yet."}),n&&f.jsxs("div",{className:"ob-card ob-start",children:[f.jsx("h3",{children:"Start a project"}),f.jsx("p",{children:"Name it and pick what it starts from — a structure, or nothing at all. Then connect a folder on any machine and it stays in sync."}),f.jsx(vt,{variant:"primary",id:"ob-new",onClick:e,children:"New project"})]}),f.jsxs("div",{className:"ob-card ob-agent",children:[f.jsx("h3",{children:n?"Or let your agent do it":"Connect a new drive to your project"}),f.jsx("p",{children:"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files. It creates the project and starts syncing:"}),f.jsx(Xm,{code:"Follow "+PC+` to set up a new BearDrive project on `+window.location.origin+". Ask me which folder to sync."}),f.jsx("p",{className:"ob-alt",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/setup-by-hand/",target:"_blank",rel:"noreferrer",children:"Or start a project manually →"})})]})]})}const VC="__existing__";function Y$({templates:e,onCreate:n,onClose:r}){const[i,s]=w.useState(""),[l,u]=w.useState(""),[d,m]=w.useState(""),[p,y]=w.useState(!1),v=async()=>{if(!p){if(!i.trim()){m("Give it a name.");return}y(!0);try{await n(i.trim(),l)}finally{y(!1)}}},b=[...e.map(x=>({value:x.name,title:x.title,blurb:x.blurb,rule:!1})),{value:VC,title:"I already have a folder",blurb:"nothing is seeded — connect it and your files stay as they are",rule:!0},{value:"",title:"Empty project",blurb:"just the folder",rule:!1}];return f.jsx(Xu,{open:!0,onOpenChange:x=>!x&&r(),children:f.jsxs(Ju,{className:"modal",showCloseButton:!1,children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:"New project"})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:"Name"}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",id:"modal-input",autoFocus:!0,value:i,"aria-invalid":!!d,"aria-describedby":d?"modal-input-err":void 0,onChange:x=>{s(x.currentTarget.value),d&&m("")},onKeyDown:x=>x.key==="Enter"&&v()}),d&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:d}),b.length>1&&f.jsxs("fieldset",{className:"start-points",children:[f.jsx("legend",{className:"modal-label",children:"Starting point"}),b.map((x,S)=>f.jsxs("label",{className:"start-point"+(l===x.value?" on":"")+(x.rule?" sp-rule":""),children:[f.jsx("input",{type:"radio",name:"template",value:x.value,checked:l===x.value,onChange:()=>u(x.value)}),f.jsxs("span",{className:"sp-text",children:[f.jsxs("span",{className:"sp-title",children:[x.title,S===0&&f.jsx("span",{className:"sp-rec",children:"Recommended"})]}),f.jsx("span",{className:"sp-blurb",children:x.blurb})]})]},x.value))]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:r,children:"Cancel"}),f.jsx(vt,{variant:"primary",onClick:v,disabled:p,children:"Create"})]})]})})}function ow(e,n,r){if(!e)return null;if(!r)return e[n]||null;const i={human:0,agent:0,share:0};for(const[s,l]of Object.entries(e))s.startsWith(n+"/")&&(i.human+=l.human||0,i.agent+=l.agent||0,i.share+=l.share||0);return i.human||i.agent||i.share?i:null}function ka(e){return(e.human||0)+(e.agent||0)+(e.share||0)}function Ys(e){const n=ka(e);if(!n)return"";const r=n+(n===1?" read":" reads");if(!e.agent&&!e.share)return r;const i=[];return e.human&&i.push(e.human+" human"),e.agent&&i.push(e.agent+" agent"),e.share&&i.push(e.share+" shared"),r+" ("+i.join(", ")+")"}function Q$(e){const n=ka(e);return n?n<3?1:n<10?2:n<30?3:4:0}function X$(e){const n=ka(e);return n?{agent:(e.agent||0)/n,human:(e.human||0)/n,share:(e.share||0)/n}:{agent:0,human:0,share:0}}function J$(e,n){return e?Object.keys(e).filter(r=>!n.has(r)).sort():[]}const W$=7;function eI(e){if(!e.length)return null;let n=e[0],r=e[0];for(const i of e)ir&&(r=i);return{min:n,max:r}}const tI=(e,n)=>n-el.reads-s.reads).slice(0,rI)){const s=i.path.split("/").pop();let l=i.cx+i.r+4,u="start";l+s.length*aI>n.right&&(l=i.cx-i.r-4,u="end");const d=p=>r.every(y=>Math.abs(y.y-p)>=rm);let m=i.cy;for(;m<=n.bottom&&!d(m);)m+=rm;if(m>n.bottom)for(m=i.cy;m>=n.top&&!d(m);)m-=rm;r.push({path:i.path,name:s,x:l,y:Math.min(n.bottom,Math.max(n.top,m)),anchor:u})}return r}function oI(e,n=!0){const r=Zt({queryKey:["tree",e],queryFn:()=>ln(e+"tree"),enabled:n,refetchInterval:15e3}),i=w.useMemo(()=>{const s=[],l=new Map,u=d=>{for(const m of d.children||[])m.dir?(l.set(m.path,m),u(m)):s.push(m)};return r.data&&u(r.data),{flatFiles:s,dirIndex:l}},[r.data]);return{tree:r.data,...i,loaded:!!r.data}}function sI(e,n){return Zt({queryKey:["heat",e],queryFn:()=>ln(e+"heat?days=30"),enabled:n,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function lI(e,n,r){return Zt({queryKey:["history",e,"prefix",n,20],queryFn:()=>ln(e+"history?prefix="+encodeURIComponent(n)+"&n=20"),enabled:r,staleTime:15e3}).data?.entries??null}function cI(e,n,r){const i=new Array(e);return new Proxy(i,{get(s,l,u){if(typeof l=="string"){const d=l.charCodeAt(0);if(d>=48&&d<=57){const m=+l;if(Number.isInteger(m)&&m>=0&&mi[y]!==p))&&(i=d,s=n(...d),r?.onChange&&!(l&&r.skipInitialOnChange)&&r.onChange(s),l=!1),s}return u.updateDeps=d=>{i=d},u}function sw(e,n){if(e===void 0)throw new Error("Unexpected undefined");return e}const uI=(e,n)=>Math.abs(e-n)<1.01,dI=(e,n,r)=>{let i;return function(...s){e.clearTimeout(i),i=e.setTimeout(()=>n.apply(this,s),r)}};let Bs;const am=()=>{if(Bs!==void 0)return Bs;if(typeof navigator>"u")return Bs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Bs=!0;const e=navigator.maxTouchPoints;return Bs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},lw=e=>{const{offsetWidth:n,offsetHeight:r}=e;return{width:n,height:r}},fI=e=>e,hI=e=>{const n=Math.max(e.startIndex-e.overscan,0),i=Math.min(e.endIndex+e.overscan,e.count-1)-n+1,s=new Array(i);for(let l=0;l{const r=e.scrollElement;if(!r)return;const i=e.targetWindow;if(!i)return;const s=u=>{const{width:d,height:m}=u;n({width:Math.round(d),height:Math.round(m)})};if(s(lw(r)),!i.ResizeObserver)return()=>{};const l=new i.ResizeObserver(u=>{const d=()=>{const m=u[0];if(m?.borderBoxSize){const p=m.borderBoxSize[0];if(p){s({width:p.inlineSize,height:p.blockSize});return}}s(lw(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return l.observe(r,{box:"border-box"}),()=>{l.unobserve(r)}},Tu={passive:!0},pI=typeof window>"u"?!0:"onscrollend"in window,gI=(e,n,r)=>{const i=e.scrollElement;if(!i)return;const s=e.targetWindow;if(!s)return;const l=e.options.useScrollendEvent&&pI;let u=0;const d=l?null:dI(s,()=>n(u,!1),e.options.isScrollingResetDelay),m=v=>()=>{u=r(i),d?.(),n(u,v)},p=m(!0),y=m(!1);return i.addEventListener("scroll",p,Tu),l&&i.addEventListener("scrollend",y,Tu),()=>{i.removeEventListener("scroll",p),l&&i.removeEventListener("scrollend",y)}},vI=(e,n)=>gI(e,n,r=>{const{horizontal:i,isRtl:s}=e.options;return i?r.scrollLeft*(s&&-1||1):r.scrollTop}),yI=(e,n,r)=>{if(r.options.useCachedMeasurements){const i=r.indexFromElement(e),s=r.options.getItemKey(i);return r.itemSizeCache.get(s)??r.options.estimateSize(i)}if(n?.borderBoxSize){const i=n.borderBoxSize[0];if(i)return Math.round(i[r.options.horizontal?"inlineSize":"blockSize"])}if(!n){const i=r.indexFromElement(e),s=r.options.getItemKey(i),l=r.itemSizeCache.get(s);if(l!==void 0)return l}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},bI=(e,{adjustments:n=0,behavior:r},i)=>{var s,l;(l=(s=i.scrollElement)==null?void 0:s.scrollTo)==null||l.call(s,{[i.options.horizontal?"left":"top"]:e+n,behavior:r})},xI=bI;class wI{constructor(n){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var r,i,s;return((s=(i=(r=this.targetWindow)==null?void 0:r.performance)==null?void 0:i.now)==null?void 0:s.call(i))??Date.now()},this.observer=(()=>{let r=null;const i=()=>r||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:r=new this.targetWindow.ResizeObserver(s=>{s.forEach(l=>{const u=()=>{const d=l.target,m=this.indexFromElement(d);if(!d.isConnected){this.observer.unobserve(d);for(const[p,y]of this.elementsCache)if(y===d){this.elementsCache.delete(p);break}return}this.shouldMeasureDuringScroll(m)&&this.resizeItem(m,this.options.measureElement(d,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()})}));return{disconnect:()=>{var s;(s=i())==null||s.disconnect(),r=null},observe:s=>{var l;return(l=i())==null?void 0:l.observe(s,{box:"border-box"})},unobserve:s=>{var l;return(l=i())==null?void 0:l.unobserve(s)}}})(),this.range=null,this.setOptions=r=>{var i,s;const l={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:fI,rangeExtractor:hI,onChange:()=>{},measureElement:yI,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const b in r){const x=r[b];x!==void 0&&(l[b]=x)}const u=this.options;let d=null,m=null,p=!1;if(u!==void 0&&u.enabled&&l.enabled&&l.anchorTo==="end"&&this.scrollElement!==null){const b=u.count,x=l.count,S=this.getMeasurements(),C=b>0?((i=S[0])==null?void 0:i.key)??u.getItemKey(0):null,E=b>0?((s=S[b-1])==null?void 0:s.key)??u.getItemKey(b-1):null;if(x!==b||b>0&&x>0&&(l.getItemKey(0)!==C||l.getItemKey(x-1)!==E)){p=!0;const T=b>0?this.getVirtualItemForOffset(this.getScrollOffset())??S[0]:null;T&&(d=[T.key,this.getScrollOffset()-T.start]);const z=l.followOnAppend===!0?"auto":l.followOnAppend||null;z&&x>b&&this.isAtEnd(u.scrollEndThreshold)&&(b===0||l.getItemKey(x-1)!==E)&&(m=z)}}this.options=l,p&&(this.pendingMin=0,this.itemSizeCacheVersion++);let y=!1,v=0;if(d&&this.scrollOffset!==null){const[b,x]=d,S=this.getMeasurements(),{count:C,getItemKey:E}=this.options;let R=0;for(;R{var i,s;(s=(i=this.options).onChange)==null||s.call(i,this,r)},this.maybeNotify=Oo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),r=>{this.notify(r)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(r=>r()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i){this.maybeNotify();return}if(this.scrollElement=i,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((r=this.scrollElement)==null?void 0:r.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,u)=>{if(u&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const d=this.getScrollOffset();this.scrollDirection=u?d===l?this.scrollDirection:d{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},d=()=>{this._iosTouching=!1,!(!am()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",u,Tu),l.addEventListener("touchend",d,Tu),this.unsubs.push(()=>{l.removeEventListener("touchstart",u),l.removeEventListener("touchend",d),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[l,u,d,m]=s;l!==null&&!d&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?m!==0&&(this._iosDeferredAdjustment+=m):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),d&&this.scrollToEnd({behavior:d})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const r=this.getScrollOffset(),i=this.getMaxScrollOffset();if(r<0||r>i)return;const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(r,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Oo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(r,i,s,l,u,d,m,p)=>(this.prevLanes!==void 0&&this.prevLanes!==d&&(this.lanesChangedFlag=!0),this.prevLanes=d,this.pendingMin=null,{count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:m,gap:p}),{key:!1}),this.getMeasurements=Oo(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:m,gap:p},y)=>{const v=this.itemSizeCache;if(!u)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>r)for(const R of this.laneAssignments.keys())R>=r&&this.laneAssignments.delete(R);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(R=>{this.itemSizeCache.set(R.key,R.size)}));const b=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===r&&(this.lanesSettling=!1),d===1){const R=r*2;let O=this._flatMeasurements;if(!O||O.length0&&I.set(O.subarray(0,b*2)),O=I,this._flatMeasurements=O}let T;if(b===0)T=i+s;else{const I=b-1;T=O[I*2]+O[I*2+1]+p}for(let I=b;I1){z=T;const ge=S[z],fe=ge!==void 0?x[ge]:void 0;I=fe?fe.end+p:i+s}else if(E===d){let ge=0,fe=C[0],Q=S[0];for(let le=1;lethis.options.debug}),this.calculateRange=Oo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(r,i,s,l)=>r.length===0||i===0?(this.range=null,null):(this.range=_I(r,i,s,l,l===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Oo(()=>{let r=null,i=null;const s=this.calculateRange();return s&&(r=s.startIndex,i=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,r,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,r,i]},(r,i,s,l,u)=>l===null||u===null?[]:r({startIndex:l,endIndex:u,overscan:i,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=r=>{const i=this.options.indexAttribute,s=r.getAttribute(i);return s?parseInt(s,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=r=>{var i;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const s=this.scrollState.index??((i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:i.index);if(s!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),u=Math.max(0,s-l),d=Math.min(this.options.count-1,s+l);return r>=u&&r<=d}return!0},this.measureElement=r=>{if(!r){this.elementsCache.forEach((u,d)=>{u.isConnected||(this.observer.unobserve(u),this.elementsCache.delete(d))});return}const i=this.indexFromElement(r),s=this.options.getItemKey(i),l=this.elementsCache.get(s);l!==r&&(l&&this.observer.unobserve(l),this.observer.observe(r),this.elementsCache.set(s,r)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(r,void 0,this))},this.resizeItem=(r,i)=>{var s,l;if(r<0||r>=this.options.count)return;let u,d,m;const p=this._flatMeasurements;if(this.options.lanes===1&&p!==null)m=this.options.getItemKey(r),d=p[r*2],u=p[r*2+1];else{const b=this.measurementsCache[r];if(!b)return;m=b.key,d=b.start,u=b.size}const y=this.itemSizeCache.get(m)??u,v=i-y;if(v!==0){const b=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=b?this.getTotalSize():0,S=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[r]??{index:r,key:m,start:d,size:u,end:d+u,lane:0},v,this):d[this.getVirtualIndexes(),this.getMeasurements()],(r,i)=>{const s=[];for(let l=0,u=r.length;lthis.options.debug}),this.getVirtualItemForOffset=r=>{const i=this.getMeasurements();if(i.length===0)return;const s=this._flatMeasurements,l=this.options.lanes===1&&s!=null,u=UC(0,i.length-1,l?d=>s[d*2]:d=>sw(i[d]).start,r);return sw(i[u])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const r=this.scrollElement.document.documentElement;return this.options.horizontal?r.scrollWidth-this.scrollElement.innerWidth:r.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(r=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=r,this.getOffsetForAlignment=(r,i,s=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),u=this.getScrollOffset();i==="auto"&&(i=r>=u+l?"end":"start"),i==="center"?r+=(s-l)/2:i==="end"&&(r-=l);const d=this.getMaxScrollOffset();return Math.max(Math.min(d,r),0)},this.getOffsetForIndex=(r,i="auto")=>{r=Math.max(0,Math.min(r,this.options.count-1));const s=this.getSize(),l=this.getScrollOffset(),u=this.measurementsCache[r];if(!u)return;if(i==="auto")if(u.end>=l+s-this.options.scrollPaddingEnd)i="end";else if(u.start<=l+this.options.scrollPaddingStart)i="start";else return[l,i];if(i==="end"&&r===this.options.count-1)return[this.getMaxScrollOffset(),i];const d=i==="end"?u.end+this.options.scrollPaddingEnd:u.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(d,i,u.size),i]},this.scrollToOffset=(r,{align:i="start",behavior:s="auto"}={})=>{const l=this.getOffsetForAlignment(r,i),u=this.now();this.scrollState={index:null,align:i,behavior:s,startedAt:u,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(r,{align:i="auto",behavior:s="auto"}={})=>{r=Math.max(0,Math.min(r,this.options.count-1));const l=this.getOffsetForIndex(r,i);if(!l)return;const[u,d]=l,m=this.now();this.scrollState={index:r,align:d,behavior:s,startedAt:m,lastTargetOffset:u,stableFrames:0},this._scrollToOffset(u,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(r,{behavior:i="auto"}={})=>{const s=this.getScrollOffset()+r,l=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:l,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:r="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:r});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:r})},this.getTotalSize=()=>{var r;const i=this.getMeasurements();let s;if(i.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){const l=i.length-1,u=this._flatMeasurements;u!=null?s=u[l*2]+u[l*2+1]:s=((r=i[l])==null?void 0:r.end)??0}else{const l=Array(this.options.lanes).fill(null);let u=i.length-1;for(;u>=0&&l.some(d=>d===null);){const d=i[u];l[d.lane]===null&&(l[d.lane]=d.end),u--}s=Math.max(...l.filter(d=>d!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const r=[];if(this.itemSizeCache.size===0)return r;const i=this.getMeasurements();for(const s of i)s&&this.itemSizeCache.has(s.key)&&r.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return r},this._scrollToOffset=(r,{adjustments:i,behavior:s})=>{this._intendedScrollOffset=r+(i??0),this.options.scrollToFn(r,{behavior:s,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(n)}applyScrollAdjustment(n,r){n!==0&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=n:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:r}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const i=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=i?i[0]:this.scrollState.lastTargetOffset,l=1,u=s!==this.scrollState.lastTargetOffset;if(!u&&uI(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,u){const d=this.getSize()||600,m=Math.abs(s-this.getScrollOffset()),p=this.scrollState.behavior==="smooth"&&m>d;this.scrollState.lastTargetOffset=s,p||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:p?"smooth":"auto"})}this.scheduleScrollReconcile()}}const UC=(e,n,r,i)=>{for(;e<=n;){const s=(e+n)/2|0,l=r(s);if(li)n=s-1;else return s}return e>0?e-1:0};function SI(e,n,r){let i=0;for(;i<=n;){const s=(i+n)/2|0,l=e[s*2];if(lr)n=s-1;else return s}return i>0?i-1:0}function _I(e,n,r,i,s){const l=e.length-1;if(e.length<=i)return{startIndex:0,endIndex:l};if(i===1&&s!==null){const p=SI(s,l,r);let y=p;const v=r+n;for(;ye[p].start,r),m=d;if(i===1)for(;m1){const p=Array(i).fill(0);for(;mv=0&&y.some(v=>v>=r);){const v=e[d];y[v.lane]=v.start,d--}d=Math.max(0,d-d%i),m=Math.min(l,m+(i-1-m%i))}return{startIndex:d,endIndex:m}}const im=typeof document<"u"?w.useLayoutEffect:w.useEffect;function CI({useFlushSync:e=!0,directDomUpdates:n=!1,directDomUpdatesMode:r="transform",...i}){const s=w.useReducer(p=>p+1,0)[1],l=w.useRef({enabled:n,mode:r,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});l.current.enabled=n,l.current.mode=r;const u=p=>{const y=l.current;if(!y.enabled||!y.container)return;const v=p.getTotalSize();if(v!==y.lastSize){y.lastSize=v;const R=p.options.horizontal?"width":"height";y.container.style[R]=`${v}px`}const b=!!p.options.horizontal,x=y.mode==="transform",S=b?"left":"top",C=p.options.scrollMargin,E=p.getVirtualItems();for(const R of E){const O=R.start-C,T=p.elementsCache.get(R.key);T&&y.lastPositions.get(T)!==O&&(y.lastPositions.set(T,O),x?T.style.transform=b?`translate3d(${O}px, 0, 0)`:`translate3d(0, ${O}px, 0)`:T.style[S]=`${O}px`)}},d={...i,onChange:(p,y)=>{var v;const b=l.current;let x=!0;if(b.enabled){u(p);const S=p.range,C=b.prevRange;x=!C||C.isScrolling!==p.isScrolling||C.startIndex!==S?.startIndex||C.endIndex!==S?.endIndex,x&&(b.prevRange=S?{startIndex:S.startIndex,endIndex:S.endIndex,isScrolling:p.isScrolling}:null)}x&&(e&&y?Mi.flushSync(s):s()),(v=i.onChange)==null||v.call(i,p,y)}},[m]=w.useState(()=>{const p=new wI(d);return Object.assign(p,{containerRef:y=>{const v=l.current;if(v.container=y,v.lastSize=null,y&&v.enabled){const b=p.getTotalSize();v.lastSize=b;const x=p.options.horizontal?"width":"height";y.style[x]=`${b}px`}}})});return m.setOptions(d),im(()=>m._didMount(),[]),im(()=>m._willUpdate()),im(()=>{u(m)}),m}function EI(e){return CI({observeElementRect:mI,observeElementOffset:vI,scrollToFn:xI,...e})}function RI(e,n){const r=[],i=(s,l)=>{for(const u of s)r.push({node:u,depth:l}),u.dir&&n.has(u.path)&&i(u.children||[],l+1)};return i(e?.children||[],0),r}function jI(e){const{root:n,expanded:r,onToggle:i,currentPath:s,listingShowing:l,onOpen:u}=e,d=w.useRef(null),m=w.useMemo(()=>RI(n,r),[n,r]),p=EI({count:m.length,getScrollElement:()=>d.current,estimateSize:()=>window.matchMedia("(max-width: 768px)").matches?44:28,overscan:12,getItemKey:y=>m[y].node.path});return w.useEffect(()=>{if(!s)return;const y=m.findIndex(v=>v.node.path===s);y>=0&&p.scrollToIndex(y,{align:"auto"})},[s,m]),f.jsx("nav",{id:"tree","aria-label":"Files",ref:d,children:f.jsx("div",{style:{height:p.getTotalSize(),position:"relative"},children:p.getVirtualItems().map(y=>{const{node:v,depth:b}=m[y.index],x=v.dir?r.has(v.path):!1,S=()=>{if(v.dir&&s===v.path&&l){i(v.path);return}u(v.path),v.dir||pr()};return f.jsxs("div",{className:"row "+(v.dir?"dir":"file")+(s===v.path?" active":"")+(v.dir&&!x?" collapsed":""),"data-path":v.path,tabIndex:0,role:"button",title:v.name,"aria-expanded":v.dir?x:void 0,style:{position:"absolute",top:0,left:0,right:0,transform:`translateY(${y.start}px)`,paddingLeft:8+b*13},onClick:S,onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),S())},children:[Array.from({length:b},(C,E)=>f.jsx("span",{className:"tguide",style:{left:8+E*13+5},"aria-hidden":"true"},E)),f.jsx("span",{className:"chev",onClick:C=>{v.dir&&(C.stopPropagation(),i(v.path))},children:f.jsx(dt,{name:"chevd"})}),f.jsx("span",{className:"ticon",children:f.jsx(dt,{name:v.dir?"folder":"doc"})}),f.jsx("span",{className:"label",children:v.name})]},y.key)})})})}function TI(e){const n=e.split("/"),r=[];let i="";for(let s=0;s{i=i?i+"/"+s:s;const u=i,d=l===r.length-1;return f.jsxs("span",{children:[l>0&&f.jsx("span",{className:"crumb-sep",children:"/"}),d?f.jsx("span",{children:s}):f.jsx("span",{className:"crumb-seg",title:u,onClick:()=>n(u),children:s})]},u)})})}function cw(e){if(e==="")return[];const n=e.split(` -`);return n[n.length-1]===""&&n.pop(),n}const AI=4e6;function MI(e,n){let r=0;for(;rs.push({op:"-",line:l[v],an:r+v+1}),y=v=>s.push({op:"+",line:u[v],bn:r+v+1});if(d*m>AI){for(let v=0;v=0;S--)for(let C=m-1;C>=0;C--)v[S][C]=l[S]===u[C]?v[S+1][C+1]+1:Math.max(v[S+1][C],v[S][C+1]);let b=0,x=0;for(;b=v[b][x+1]?p(b++):y(x++);for(;bi.op==="+").length,del:r.filter(i=>i.op==="-").length}}const HC=1<<20,DI=8192;function zI(e){if(e.byteLength>HC)return{kind:"too-large",size:e.byteLength};if(e.subarray(0,DI).includes(0))return{kind:"binary"};try{return{kind:"text",text:new TextDecoder("utf-8",{fatal:!0}).decode(e)}}catch{return{kind:"binary"}}}function Jm(e,n,r,i){let s=e+"blob?sha="+encodeURIComponent(n);return r&&(s+="&name="+encodeURIComponent(r)),i&&(s+="&download=1"),s}async function kI(e){const n=await fj(e),r=Number(n.headers.get("Content-Length"));return r>HC?{kind:"too-large",size:r}:zI(new Uint8Array(await n.arrayBuffer()))}function BC(e,n,r,i){return Zt({queryKey:n,queryFn:()=>kI(e),enabled:r,...i?{staleTime:1/0,gcTime:1/0}:{},retry:!1})}function uw(e,n,r){return BC(n?Jm(e,n):"",["blob",e,n],!!n,!0)}function LI(e){return e.slice(e.lastIndexOf("/")+1)}function $I({apiBase:e,path:n,prev:r,cur:i}){const s=LI(n);return f.jsxs("span",{className:"dv-dl",children:[f.jsx("a",{href:Jm(e,r,s,!0),children:"download previous"}),f.jsx("a",{href:Jm(e,i,s,!0),children:"download this version"})]})}function II({apiBase:e,path:n,prev:r,cur:i}){const s=uw(e,r),l=uw(e,i),u=s.data?.kind==="text"&&l.data?.kind==="text",d=w.useMemo(()=>s.data?.kind==="text"&&l.data?.kind==="text"?NI(s.data.text,l.data.text):null,[s.data,l.data]);if(s.error||l.error)return f.jsx("div",{className:"dv dv-msg",children:"Could not load one of the versions."});if(!s.data||!l.data)return f.jsx("div",{className:"dv dv-msg",children:"Loading changes…"});if(!u){const v=s.data.kind==="too-large"||l.data.kind==="too-large";return f.jsxs("div",{className:"dv dv-msg",children:[v?"Too large to diff — download to compare.":"Binary file — no diff available.",f.jsx($I,{apiBase:e,path:n,prev:r,cur:i})]})}const{lines:m,add:p,del:y}=d;return f.jsxs("div",{className:"dv",children:[f.jsxs("div",{className:"dv-head",children:[f.jsxs("span",{className:"dv-stat",children:[f.jsxs("span",{className:"dv-add",children:["+",p]})," ",f.jsxs("span",{className:"dv-del",children:["−",y]})]}),p===0&&y===0&&f.jsx("span",{className:"dv-same",children:"No line changes"})]}),f.jsx("div",{className:"dv-body",children:m.map((v,b)=>f.jsxs("div",{className:"dv-line dv-"+(v.op==="="?"ctx":v.op==="+"?"ins":"rm"),children:[f.jsx("span",{className:"dv-n",children:v.an??""}),f.jsx("span",{className:"dv-n",children:v.bn??""}),f.jsx("span",{className:"dv-mark",children:v.op==="="?" ":v.op}),f.jsx("span",{className:"dv-text",children:v.line||" "})]},b))})]})}const PI={add:"added",edit:"edited",delete:"deleted"};function qC({text:e}){return f.jsx(f.Fragment,{children:e.split(/(https?:\/\/\S+)/).map((n,r)=>/^https?:\/\//.test(n)?f.jsx("a",{href:n,target:"_blank",rel:"noopener",children:n},r):n)})}function pg({entry:e,apiBase:n,onOpen:r,diff:i,restore:s,remove:l,restoreSha:u,inRun:d}){const[m,p]=w.useState(!1),[y,v]=w.useState(!1),b=e.kind==="put"?"edit":e.kind,x=dd(e),S=[e.device.name||e.device.id,e.device.os].filter(Boolean).join(" · "),C=b!=="delete",E=!!i&&b!=="delete"&&!!e.blob,R=!!d&&b==="add",O=!!s&&!!u&&!R,T=!!l&&R,z=!!s?.busy&&s.busy===e.path+u,I=!!l?.busy&&l.busy===e.path,F=C&&!!e.blob,V=e.path.split("/").pop()||e.path,U=new Date(e.time).toLocaleString(),pe=n+"blob?sha="+e.blob+"&name="+encodeURIComponent(V)+"&download=1",ge=()=>v(!y),fe=Q=>{Q.target.tagName!=="A"&&C&&r(e.path,e.blob)};return f.jsxs("div",{className:"hentry "+b+(C?" clickable":""),tabIndex:C?0:void 0,role:C?"button":void 0,onClick:fe,onKeyDown:Q=>{C&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),r(e.path,e.blob))},children:[f.jsxs("div",{className:"hline",children:[f.jsx("span",{className:"hkind",children:PI[b]||b}),f.jsx("span",{className:"hpath",children:e.path}),f.jsx("span",{className:"htime",children:U})]}),f.jsxs("div",{className:"hmeta",children:[f.jsx("span",{className:"hwho",children:x}),f.jsx("span",{className:"hdev",children:S}),f.jsx("span",{className:"hsize",children:e.size?mg(e.size):""}),O&&f.jsxs("button",{type:"button",className:"hrestore-btn",disabled:z,title:"Put this version of "+e.path+" back as a new change",onClick:Q=>{Q.stopPropagation(),s.onRestore(e.path,u)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"hist"}),z?"restoring…":"restore"]}),T&&f.jsxs("button",{type:"button",className:"hremove-btn",disabled:I,title:"Remove "+e.path+" — this run created it",onClick:Q=>{Q.stopPropagation(),l.onRemove(e.path)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"trash"}),I?"removing…":"undo — remove file"]})]}),e.note&&!d&&f.jsx("div",{className:"hnote"+(m?" open":""),tabIndex:0,role:"button",title:m?"Collapse note":"Show full note","aria-expanded":m,onClick:Q=>{Q.stopPropagation(),Q.target.tagName!=="A"&&p(!m)},onKeyDown:Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),p(!m))},children:f.jsx(qC,{text:e.note})}),(E||F)&&f.jsxs("div",{className:"hactions",children:[E&&(i.prev?f.jsxs("button",{type:"button",className:"hdiff-btn"+(y?" open":""),"aria-expanded":y,onClick:Q=>{Q.stopPropagation(),ge()},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:y?"chevd":"chev"}),y?"hide changes":"show changes"]}):f.jsx("div",{className:"hdiff-none",children:"First version — nothing to compare against"})),F&&f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"hver-btn","aria-label":`Open ${V} as of ${U}`,onClick:Q=>{Q.stopPropagation(),r(e.path,e.blob)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"clock"}),"Open this version"]}),f.jsxs("a",{className:"hver-btn",download:!0,href:pe,"aria-label":`Download ${V} as of ${U}`,onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>{Q.stopPropagation(),Q.key===" "&&(Q.preventDefault(),Q.currentTarget.click())},children:[f.jsx(dt,{name:"download"}),"Download"]})]})]}),E&&i.prev&&y&&f.jsx("div",{onClick:Q=>Q.stopPropagation(),children:f.jsx(II,{apiBase:i.apiBase,path:e.path,prev:i.prev,cur:e.blob})})]})}function FI(e){const{node:n,heatMap:r,onOpen:i}=e,s=(n.children||[]).slice().sort((p,y)=>Number(y.dir||!1)-Number(p.dir||!1)||p.name.localeCompare(y.name)),l=s.filter(p=>p.dir).length,u=s.length-l,d=[];l&&d.push(l+(l===1?" folder":" folders")),u&&d.push(u+(u===1?" file":" files"));const m=ow(r,n.path,!0);return m&&d.push(Ys(m)+" in 30 days"),f.jsxs("div",{className:"dirlist",children:[f.jsxs("h1",{className:"dl-title",children:[f.jsx("span",{className:"dl-title-icon",children:f.jsx(dt,{name:"folder"})}),f.jsx("span",{children:n.name})]}),f.jsx("p",{className:"dl-sub",children:d.join(" · ")||"Empty folder"}),s.length===0?f.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):f.jsx("div",{className:"dl-items",children:s.map(p=>{let y="";if(p.dir){const b=(p.children||[]).length;y=b+(b===1?" item":" items")}else y=[p.size?mg(p.size):"",p.time?new Date(p.time).toLocaleDateString():""].filter(Boolean).join(" · ");const v=ow(r,p.path,!!p.dir);return v&&(y=Ys(v)+(y?" · "+y:"")),f.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:p.path,onClick:()=>i(p.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i(p.path))},children:[f.jsx("span",{className:"ticon",children:f.jsx(dt,{name:p.dir?"folder":"doc"})}),f.jsx("span",{className:"dl-name",children:p.name}),v&&f.jsx("span",{className:"heatdot lvl"+Q$(v),role:"img","aria-label":Ys(v)+" in 30 days",title:Ys(v)+" in 30 days"}),f.jsx("span",{className:"dl-meta",children:y})]},p.path)})}),e.hub&&f.jsx(VI,{apiBase:e.apiBase,prefix:n.path+"/",onOpen:i,onFullHistory:()=>e.onFullHistory(n.path+"/"),onRendered:e.onRendered})]})}function VI(e){const n=lI(e.apiBase,e.prefix,!0),{onRendered:r}=e;return w.useEffect(()=>{n&&n.length&&r&&r()},[n,r]),!n||n.length===0?null:f.jsxs("div",{className:"dl-history",children:[f.jsx("h3",{className:"dl-h3",children:"Recent changes"}),f.jsx("div",{className:"history dl-hlist",children:n.map((i,s)=>f.jsx(pg,{entry:i,apiBase:e.apiBase,onOpen:e.onOpen},s))}),f.jsx("button",{className:"ai-btn dl-more",onClick:e.onFullHistory,children:"Full history"})]})}function UI(e){const{apiBase:n,path:r,version:i,onMeta:s}=e,l=i?n+"blob?sha="+i+"&name="+encodeURIComponent(r):n+"file?path="+encodeURIComponent(r);return w.useEffect(()=>()=>s(""),[r,s]),g$.test(r)?f.jsx(qI,{...e}):jC.test(r)?f.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):TC.test(r)?f.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):v$.test(r)?f.jsx(KI,{src:l,alt:r,version:i,onRendered:e.onRendered}):y$.test(r)?f.jsx(YI,{...e,fileURL:l}):f.jsx(HI,{...e,fileURL:l})}function HI(e){const{apiBase:n,path:r,version:i,fileURL:s,onRendered:l}=e,{data:u,error:d}=BC(s,["text",s],!0,!!i);return w.useEffect(()=>{u&&l?.()},[u,l]),d?f.jsx(fd,{version:i,err:d}):u?u.kind==="text"?f.jsx("pre",{className:"plain",children:u.text},r):f.jsx(BI,{apiBase:n,path:r,version:i,fileURL:s,children:u.kind==="too-large"?`Too large to preview (${mg(u.size)}).`:"No preview for this file type."}):null}function BI(e){const{apiBase:n,path:r,version:i,fileURL:s}=e;return f.jsxs("div",{className:"filecard",children:[f.jsx("div",{className:"name",children:r.split("/").pop()}),f.jsx("p",{children:e.children}),f.jsx("a",{className:"btn",download:!0,href:i?s+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function qI(e){const{apiBase:n,path:r,version:i,heatMap:s,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:m}=e,{data:p,error:y}=Zt({queryKey:["render",n,r,i||""],queryFn:()=>ln(n+"render?path="+encodeURIComponent(r)+(i?"&sha="+i:"")),retry:i?!1:void 0}),v=w.useMemo(()=>p?ZI(p.html,r,n):"",[p,r,n]);return w.useEffect(()=>{if(!p)return;const b=[];(p.user_name||p.user||p.author)&&b.push(dd(p)+(p.device?" on "+p.device:"")),p.time&&b.push(new Date(p.time).toLocaleString());const x=i?null:s&&s[p.path];x&&ka(x)&&b.push(Ys(x)+" / 30d"),d(b.join(" · ")),m?.()},[p,i,s,d,m]),y?f.jsx(fd,{version:i,err:y}):p?f.jsx("div",{dangerouslySetInnerHTML:{__html:v},onClick:b=>GI(b,r,l,u)}):null}function GI(e,n,r,i){const s=e.target.closest("a");if(!s||!e.currentTarget.contains(s))return;const l=s.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),QI(decodeURIComponent(l.slice(5)),r,i)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),i(OC(u,decodeURIComponent(l))))}function ZI(e,n,r){const i=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",s=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^\s*data:image\/svg/i.test(d)?u.removeAttribute("src"):/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",s(OC(i,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^\s*data:/i.test(d)?u.removeAttribute("href"):/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function KI(e){const[n,r]=w.useState(!1);return n?f.jsx(fd,{version:e.version,err:new Error("could not be loaded")}):f.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function fd({version:e,err:n}){return f.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function YI(e){const{path:n,version:r,fileURL:i,onRendered:s}=e,{data:l,error:u}=Zt({queryKey:["text",i],queryFn:async()=>{const d=await fetch(i);if(!d.ok)throw new Error(await d.text());return d.text()},retry:r?!1:void 0});return w.useEffect(()=>{l!=null&&s?.()},[l,s]),u?f.jsx(fd,{version:r,err:u}):l==null?null:f.jsx("pre",{className:"plain",children:l},n)}function QI(e,n,r){const i=e.toLowerCase(),s=n.find(l=>l.path.toLowerCase()===i||l.path.toLowerCase()===i+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===i||u===i+".md"});s&&r(s.path)}const XI=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function JI({url:e,copied:n,onClose:r}){const i=e.split("/s/")[1],[s,l]=w.useState(""),[u,d]=w.useState(),[m,p]=w.useState(!1),y=w.useRef(null);async function v(b){const x=s;l(b),p(!0);try{const S=await tr("PATCH","/api/shares/"+i,{expires_in:b});d(S.expires)}catch(S){Ke(S.message,!0),l(x)}finally{p(!1)}}return f.jsx(Xu,{open:!0,onOpenChange:b=>!b&&r(),children:f.jsxs(Ju,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:"Public link"})}),f.jsxs("p",{children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),f.jsx("div",{className:"modal-url",children:e}),f.jsxs("div",{className:"modal-expiry",children:[f.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),f.jsx("select",{id:"share-expiry",value:s,disabled:m,onChange:b=>v(b.target.value),children:XI.map(b=>f.jsx("option",{value:b.value,children:b.label},b.value))}),f.jsx("span",{className:"modal-expiry-note",children:NC(u)})]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{ref:y,variant:"primary",onClick:()=>Bo(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),f.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function WI({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:f.jsxs("div",{className:"share-banner",role:"status",children:[f.jsxs("div",{className:"sb-head",children:[f.jsx(dt,{name:"share"}),f.jsx("b",{children:"Publicly shared"}),f.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),f.jsxs("p",{className:"sb-note",children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it."]}),e.map(i=>f.jsxs("div",{className:"sb-link",children:[f.jsx("span",{className:"sb-url mono",title:i.url,children:i.url}),f.jsx("span",{className:"sb-meta",children:DC(i,!1)}),f.jsxs("span",{className:"sb-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>Bo(i.url).then(s=>Ke(s?"Copied.":"Select and copy the link.")),children:"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(i.url,"_blank"),children:"Open"}),n&&f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${i.path}`,onClick:()=>kC(i,r),children:"Revoke"})]})]},i.token))]})}var dw=1,eP=.9,tP=.8,nP=.17,om=.1,sm=.999,rP=.9999,aP=.99,iP=/[\\\/_+.#"@\[\(\{&]/,oP=/[\\\/_+.#"@\[\(\{&]/g,sP=/[\s-]/,GC=/[\s-]/g;function Wm(e,n,r,i,s,l,u){if(l===n.length)return s===e.length?dw:aP;var d=`${s},${l}`;if(u[d]!==void 0)return u[d];for(var m=i.charAt(l),p=r.indexOf(m,s),y=0,v,b,x,S;p>=0;)v=Wm(e,n,r,i,p+1,l+1,u),v>y&&(p===s?v*=dw:iP.test(e.charAt(p-1))?(v*=tP,x=e.slice(s,p-1).match(oP),x&&s>0&&(v*=Math.pow(sm,x.length))):sP.test(e.charAt(p-1))?(v*=eP,S=e.slice(s,p-1).match(GC),S&&s>0&&(v*=Math.pow(sm,S.length))):(v*=nP,s>0&&(v*=Math.pow(sm,p-s))),e.charAt(p)!==n.charAt(l)&&(v*=rP)),(vv&&(v=b*om)),v>y&&(y=v),p=r.indexOf(m,p+1);return u[d]=y,y}function fw(e){return e.toLowerCase().replace(GC," ")}function lP(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Wm(e,n,fw(e),fw(n),0,0,{})}var qs='[cmdk-group=""]',lm='[cmdk-group-items=""]',cP='[cmdk-group-heading=""]',ZC='[cmdk-item=""]',hw=`${ZC}:not([aria-disabled="true"])`,ep="cmdk-item-select",Ao="data-value",uP=(e,n,r)=>lP(e,n,r),KC=w.createContext(void 0),El=()=>w.useContext(KC),YC=w.createContext(void 0),gg=()=>w.useContext(YC),QC=w.createContext(void 0),XC=w.forwardRef((e,n)=>{let r=Mo(()=>{var M,B;return{search:"",value:(B=(M=e.value)!=null?M:e.defaultValue)!=null?B:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Mo(()=>new Set),s=Mo(()=>new Map),l=Mo(()=>new Map),u=Mo(()=>new Set),d=JC(e),{label:m,children:p,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:S,disablePointerSelection:C=!1,vimBindings:E=!0,...R}=e,O=hn(),T=hn(),z=hn(),I=w.useRef(null),F=wP();Oi(()=>{if(y!==void 0){let M=y.trim();r.current.value=M,V.emit()}},[y]),Oi(()=>{F(6,le)},[]);let V=w.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,B,X)=>{var K,se,ee,ve;if(!Object.is(r.current[M],B)){if(r.current[M]=B,M==="search")Q(),ge(),F(1,fe);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ye=document.getElementById(z);ye?ye.focus():(K=document.getElementById(O))==null||K.focus()}if(F(7,()=>{var ye;r.current.selectedItemId=(ye=ue())==null?void 0:ye.id,V.emit()}),X||F(5,le),((se=d.current)==null?void 0:se.value)!==void 0){let ye=B??"";(ve=(ee=d.current).onValueChange)==null||ve.call(ee,ye);return}}V.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),U=w.useMemo(()=>({value:(M,B,X)=>{var K;B!==((K=l.current.get(M))==null?void 0:K.value)&&(l.current.set(M,{value:B,keywords:X}),r.current.filtered.items.set(M,pe(B,X)),F(2,()=>{ge(),V.emit()}))},item:(M,B)=>(i.current.add(M),B&&(s.current.has(B)?s.current.get(B).add(M):s.current.set(B,new Set([M]))),F(3,()=>{Q(),ge(),r.current.value||fe(),V.emit()}),()=>{l.current.delete(M),i.current.delete(M),r.current.filtered.items.delete(M);let X=ue();F(4,()=>{Q(),X?.getAttribute("id")===M&&fe(),V.emit()})}),group:M=>(s.current.has(M)||s.current.set(M,new Set),()=>{l.current.delete(M),s.current.delete(M)}),filter:()=>d.current.shouldFilter,label:m||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:O,inputId:z,labelId:T,listInnerRef:I}),[]);function pe(M,B){var X,K;let se=(K=(X=d.current)==null?void 0:X.filter)!=null?K:uP;return M?se(M,r.current.search,B):0}function ge(){if(!r.current.search||d.current.shouldFilter===!1)return;let M=r.current.filtered.items,B=[];r.current.filtered.groups.forEach(K=>{let se=s.current.get(K),ee=0;se.forEach(ve=>{let ye=M.get(ve);ee=Math.max(ye,ee)}),B.push([K,ee])});let X=I.current;xe().sort((K,se)=>{var ee,ve;let ye=K.getAttribute("id"),Ne=se.getAttribute("id");return((ee=M.get(Ne))!=null?ee:0)-((ve=M.get(ye))!=null?ve:0)}).forEach(K=>{let se=K.closest(lm);se?se.appendChild(K.parentElement===se?K:K.closest(`${lm} > *`)):X.appendChild(K.parentElement===X?K:K.closest(`${lm} > *`))}),B.sort((K,se)=>se[1]-K[1]).forEach(K=>{var se;let ee=(se=I.current)==null?void 0:se.querySelector(`${qs}[${Ao}="${encodeURIComponent(K[0])}"]`);ee?.parentElement.appendChild(ee)})}function fe(){let M=xe().find(X=>X.getAttribute("aria-disabled")!=="true"),B=M?.getAttribute(Ao);V.setState("value",B||void 0)}function Q(){var M,B,X,K;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let se=0;for(let ee of i.current){let ve=(B=(M=l.current.get(ee))==null?void 0:M.value)!=null?B:"",ye=(K=(X=l.current.get(ee))==null?void 0:X.keywords)!=null?K:[],Ne=pe(ve,ye);r.current.filtered.items.set(ee,Ne),Ne>0&&se++}for(let[ee,ve]of s.current)for(let ye of ve)if(r.current.filtered.items.get(ye)>0){r.current.filtered.groups.add(ee);break}r.current.filtered.count=se}function le(){var M,B,X;let K=ue();K&&(((M=K.parentElement)==null?void 0:M.firstChild)===K&&((X=(B=K.closest(qs))==null?void 0:B.querySelector(cP))==null||X.scrollIntoView({block:"nearest"})),K.scrollIntoView({block:"nearest"}))}function ue(){var M;return(M=I.current)==null?void 0:M.querySelector(`${ZC}[aria-selected="true"]`)}function xe(){var M;return Array.from(((M=I.current)==null?void 0:M.querySelectorAll(hw))||[])}function N(M){let B=xe()[M];B&&V.setState("value",B.getAttribute(Ao))}function q(M){var B;let X=ue(),K=xe(),se=K.findIndex(ve=>ve===X),ee=K[se+M];(B=d.current)!=null&&B.loop&&(ee=se+M<0?K[K.length-1]:se+M===K.length?K[0]:K[se+M]),ee&&V.setState("value",ee.getAttribute(Ao))}function ae(M){let B=ue(),X=B?.closest(qs),K;for(;X&&!K;)X=M>0?bP(X,qs):xP(X,qs),K=X?.querySelector(hw);K?V.setState("value",K.getAttribute(Ao)):q(M)}let te=()=>N(xe().length-1),ne=M=>{M.preventDefault(),M.metaKey?te():M.altKey?ae(1):q(1)},k=M=>{M.preventDefault(),M.metaKey?N(0):M.altKey?ae(-1):q(-1)};return w.createElement($e.div,{ref:n,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:M=>{var B;(B=R.onKeyDown)==null||B.call(R,M);let X=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||X))switch(M.key){case"n":case"j":{E&&M.ctrlKey&&ne(M);break}case"ArrowDown":{ne(M);break}case"p":case"k":{E&&M.ctrlKey&&k(M);break}case"ArrowUp":{k(M);break}case"Home":{M.preventDefault(),N(0);break}case"End":{M.preventDefault(),te();break}case"Enter":{M.preventDefault();let K=ue();if(K){let se=new Event(ep);K.dispatchEvent(se)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:_P},m),md(e,M=>w.createElement(YC.Provider,{value:V},w.createElement(KC.Provider,{value:U},M))))}),dP=w.forwardRef((e,n)=>{var r,i;let s=hn(),l=w.useRef(null),u=w.useContext(QC),d=El(),m=JC(e),p=(i=(r=m.current)==null?void 0:r.forceMount)!=null?i:u?.forceMount;Oi(()=>{if(!p)return d.item(s,u?.id)},[p]);let y=WC(s,l,[e.value,e.children,l],e.keywords),v=gg(),b=qa(F=>F.value&&F.value===y.current),x=qa(F=>p||d.filter()===!1?!0:F.search?F.filtered.items.get(s)>0:!0);w.useEffect(()=>{let F=l.current;if(!(!F||e.disabled))return F.addEventListener(ep,S),()=>F.removeEventListener(ep,S)},[x,e.onSelect,e.disabled]);function S(){var F,V;C(),(V=(F=m.current).onSelect)==null||V.call(F,y.current)}function C(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:R,onSelect:O,forceMount:T,keywords:z,...I}=e;return w.createElement($e.div,{ref:Fo(l,n),...I,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:C,onClick:E?void 0:S},e.children)}),fP=w.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:s,...l}=e,u=hn(),d=w.useRef(null),m=w.useRef(null),p=hn(),y=El(),v=qa(x=>s||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Oi(()=>y.group(u),[]),WC(u,d,[e.value,e.heading,m]);let b=w.useMemo(()=>({id:u,forceMount:s}),[s]);return w.createElement($e.div,{ref:Fo(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&w.createElement("div",{ref:m,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),md(e,x=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},w.createElement(QC.Provider,{value:b},x))))}),hP=w.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,s=w.useRef(null),l=qa(u=>!u.search);return!r&&!l?null:w.createElement($e.div,{ref:Fo(s,n),...i,"cmdk-separator":"",role:"separator"})}),mP=w.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,s=e.value!=null,l=gg(),u=qa(p=>p.search),d=qa(p=>p.selectedItemId),m=El();return w.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),w.createElement($e.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":m.listId,"aria-labelledby":m.labelId,"aria-activedescendant":d,id:m.inputId,type:"text",value:s?e.value:u,onChange:p=>{s||l.setState("search",p.target.value),r?.(p.target.value)}})}),pP=w.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...s}=e,l=w.useRef(null),u=w.useRef(null),d=qa(p=>p.selectedItemId),m=El();return w.useEffect(()=>{if(u.current&&l.current){let p=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=p.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(p),()=>{cancelAnimationFrame(v),b.unobserve(p)}}},[]),w.createElement($e.div,{ref:Fo(l,n),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:m.listId},md(e,p=>w.createElement("div",{ref:Fo(u,m.listInnerRef),"cmdk-list-sizer":""},p)))}),gP=w.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:s,contentClassName:l,container:u,...d}=e;return w.createElement(hp,{open:r,onOpenChange:i},w.createElement(pp,{container:u},w.createElement(gp,{"cmdk-overlay":"",className:s}),w.createElement(vp,{"aria-label":e.label,"cmdk-dialog":"",className:l},w.createElement(XC,{ref:n,...d}))))}),vP=w.forwardRef((e,n)=>qa(r=>r.filtered.count===0)?w.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),yP=w.forwardRef((e,n)=>{let{progress:r,children:i,label:s="Loading...",...l}=e;return w.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},md(e,u=>w.createElement("div",{"aria-hidden":!0},u)))}),hd=Object.assign(XC,{List:pP,Item:dP,Input:mP,Group:fP,Separator:hP,Dialog:gP,Empty:vP,Loading:yP});function bP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function xP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function JC(e){let n=w.useRef(e);return Oi(()=>{n.current=e}),n}var Oi=typeof window>"u"?w.useEffect:w.useLayoutEffect;function Mo(e){let n=w.useRef();return n.current===void 0&&(n.current=e()),n}function qa(e){let n=gg(),r=()=>e(n.snapshot());return w.useSyncExternalStore(n.subscribe,r,r)}function WC(e,n,r,i=[]){let s=w.useRef(),l=El();return Oi(()=>{var u;let d=(()=>{var p;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(p=y.current.textContent)==null?void 0:p.trim():s.current}})(),m=i.map(p=>p.trim());l.value(e,d,m),(u=n.current)==null||u.setAttribute(Ao,d),s.current=d}),s}var wP=()=>{let[e,n]=w.useState(),r=Mo(()=>new Map);return Oi(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,s)=>{r.current.set(i,s),n({})}};function SP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function md({asChild:e,children:n},r){return e&&w.isValidElement(n)?w.cloneElement(SP(n),{ref:n.ref},r(n.props.children)):r(n)}var _P={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function CP({className:e,...n}){return f.jsx(hd,{"data-slot":"command",className:Xe("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function EP({className:e,...n}){return f.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[f.jsx(y_,{className:"size-4 shrink-0 opacity-50"}),f.jsx(hd.Input,{"data-slot":"command-input",className:Xe("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function RP({className:e,...n}){return f.jsx(hd.List,{"data-slot":"command-list",className:Xe("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function jP({className:e,...n}){return f.jsx(hd.Item,{"data-slot":"command-item",className:Xe("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function mw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),i=n.toLowerCase();let s=0,l=0,u=0;const d=[];for(let m=0;m3&&i.endsWith("ies")?s=i.slice(0,-3)+"y":i.length>3&&i.endsWith("es")?s=i.slice(0,-2):i.length>2&&i.endsWith("s")&&(s=i.slice(0,-1)),s?mw(s,n):null}function OP({text:e,hits:n}){const r=[];let i=0;return n.forEach((s,l)=>{s>i&&r.push(e.slice(i,s)),r.push(f.jsx("b",{children:e[s]},l)),i=s+1}),r.push(e.slice(i)),f.jsx("span",{className:"plabel",children:r})}function AP({open:e,onClose:n,candidates:r}){const[i,s]=w.useState(""),l=w.useMemo(()=>{if(!e)return[];const d=[];for(const m of r()){const p=TP(i,m.label);p&&d.push({...m,score:p.score,hits:p.hits})}return d.sort((m,p)=>p.score-m.score),d.slice(0,40)},[e,i,r]);w.useEffect(()=>{e&&s("")},[e]);const u=d=>{n(),d.run()};return f.jsx(Xu,{open:e,onOpenChange:d=>!d&&n(),children:f.jsxs(Ju,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[f.jsx(xl,{className:"sr-only",children:"Search and quick actions"}),f.jsxs(CP,{shouldFilter:!1,loop:!0,children:[f.jsxs("div",{id:"palette-inputwrap",children:[f.jsx(dt,{name:"search"}),f.jsx(EP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:i,onValueChange:s})]}),f.jsx(RP,{children:l.length===0?f.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>f.jsxs(jP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[f.jsx("span",{className:"picon",children:f.jsx(dt,{name:d.icon})}),f.jsx(OP,{text:d.label,hits:d.hits}),f.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),f.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Qs=3,No=30;function MP(e,n){return Zt({queryKey:["heatDevices",e],queryFn:()=>ln(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}function pw(e){const[n,r]=w.useState("all"),{flatFiles:i,heatMap:s,devices:l,scope:u}=e,d=S=>!u||S===u||S.startsWith(u+"/"),m=u?i.filter(S=>d(S.path)):i;if(!e.loading&&!m.length)return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsxs("div",{className:"dl-empty in-blank",children:[f.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),f.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&f.jsx("a",{className:"pbtn",...cl(e.installHref),children:"Set up a device →"})]})]});const p=l&&u?l.map(S=>{const C=Object.create(null);for(const[E,R]of Object.entries(S.folders||{}))d(E)&&(C[E]=R);return{...S,folders:C}}).filter(S=>Object.keys(S.folders).length>0):l,y=Date.now(),v=m.map(S=>{const C=s&&s[S.path]||{},E=S.time?Math.max(0,(y-new Date(S.time).getTime())/864e5):0,R=n==="all"?ka(C):C[n]||0;return{path:S.path,reads:R,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ka(C),days:E,danger:R>=Qs&&E>=No}}),b=J$(s,new Set(i.map(S=>S.path))).filter(d).map(S=>{const C=s[S];return{path:S,reads:n==="all"?ka(C):C[n]||0,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ka(C),days:0,danger:!1,orphan:!0}}).filter(S=>S.reads>0),x=b.length>0?f.jsxs("p",{className:"in-legend in-orphan-note",children:[tp(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),f.jsx("div",{className:"in-lens",children:["all","human","agent"].map(S=>f.jsx("button",{className:"in-lens-btn"+(S===n?" active":""),onClick:()=>r(S),children:S==="all"?"All reads":S==="human"?"Human reads":"Agent reads"},S))}),f.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),f.jsx(NP,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,f.jsxs("h3",{className:"dl-h3 in-h3-row",children:["Reads × freshness",f.jsx("span",{className:"in-cap",children:"dot size = agent share of reads"})]}),f.jsx(zP,{pts:v,onOpenFile:e.onOpenFile}),x,f.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),f.jsx(kP,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),p&&p.length>0&&f.jsxs(f.Fragment,{children:[f.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),f.jsx(LP,{devices:p})]})]})}function eE(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),i=Math.min(n.length-2,Math.floor(r)),s=r-i,l=n[i].map((u,d)=>Math.round(u+(n[i+1][d]-u)*s));return`rgb(${l[0]},${l[1]},${l[2]})`}function gw(e,n,r,i,s){const l=e.reduce((p,y)=>p+y.value,0);if(!l||i<=0||s<=0)return[];const u=e.slice().sort((p,y)=>y.value-p.value).map(p=>({it:p,a:p.value/l*i*s})),d=(p,y)=>{const b=p.reduce((S,C)=>S+C.a,0)/y;let x=0;for(const S of p){const C=S.a/b;x=Math.max(x,C/b,b/C)}return x},m=[];for(;u.length;){const p=i>=s,y=p?s:i,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((S,C)=>S+C.a,0)/y;let x=0;for(const S of v){const C=S.a/b;p?m.push({item:S.it,x:n,y:r+x,w:b,h:C}):m.push({item:S.it,x:n+x,y:r,w:C,h:b}),x+=C}p?(n+=b,i-=b):(r+=b,s-=b)}return m}const cm=15;function vw(e,n,r){const i=Math.floor((r-8)/6),s=`${e} · ${n}`;return s.length<=i?{label:s,fit:i}:{label:e.length>i?e.slice(0,Math.max(1,i-1))+"…":e,fit:i}}const tp=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function NP({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:i}){const u=new Map;for(const m of e){const p=m.path.includes("/")?m.path.split("/")[0]:"/";let y=u.get(p);y||u.set(p,y={name:p,files:[],value:0,reads:0}),y.files.push(m),y.value+=m.reads+1,y.reads+=m.reads}const d=[];for(const m of gw([...u.values()],0,0,720,480)){const p=m.item,y=p.name==="/"?"":p.name,v=p.name==="/"?"(root)":p.name;if(d.push(f.jsx("rect",{x:m.x+1,y:m.y+1,width:Math.max(0,m.w-2),height:Math.max(0,m.h-2),rx:3,className:"in-tm-group","data-dir":y,children:f.jsx("title",{children:`${p.name==="/"?"(root)":p.name+"/"} — ${tp(p.reads,"read")}/30d · ${tp(p.files.length,"file")}`})},"g"+p.name)),m.w>46&&m.h>cm+10){const{label:x}=vw(v,p.reads,m.w);d.push(f.jsx("text",{x:m.x+5,y:m.y+12,className:"in-tm-glabel","data-dir":y,children:x},"gl"+p.name))}const b=gw(p.files.map(x=>({...x,name:x.path.split("/").pop(),value:x.reads+1})),m.x+2,m.y+cm,Math.max(0,m.w-4),Math.max(0,m.h-cm-2));for(const x of b)if(d.push(f.jsx("rect",{x:x.x+.6,y:x.y+.6,width:Math.max(.4,x.w-1.2),height:Math.max(.4,x.h-1.2),rx:1.5,fill:eE(x.item.days),className:"in-tm-cell","data-path":x.item.path,children:f.jsx("title",{children:`${x.item.path} — ${x.item.reads} read${x.item.reads===1?"":"s"}/30d · changed ${Math.round(x.item.days)}d ago`})},x.item.path)),x.w>54&&x.h>16){const{label:S,fit:C}=vw((x.item.danger?"⚠ ":"")+x.item.name,x.item.reads,x.w);C>=5&&d.push(f.jsx("text",{x:x.x+4.5,y:x.y+12.5,className:"in-tm-label","data-path":x.item.path,children:S},"l"+x.item.path))}}return f.jsxs(f.Fragment,{children:[f.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:m=>{const p=m.target.closest("[data-path], [data-dir]");if(!p)return;const y=p.getAttribute("data-path");if(y)return n(y);const v=p.getAttribute("data-dir");v&&i(v)&&r(v)},children:d}),f.jsx(DP,{pts:e})]})}function DP({pts:e}){const n=eI(e.map(i=>i.days));if(!n)return null;const r=nI(n.min,n.max);return f.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",f.jsx("span",{className:"in-sw in-sw-age",style:{background:`linear-gradient(to right, ${[0,60,150,300].map(eE).join(", ")})`}}),"300d+",f.jsx("span",{className:"in-tm-range",children:tI(n.min,n.max)?`all files here: ${r} old — colour carries no signal in this range`:`observed: ${r} old`})]})}function zP({pts:e,onOpenFile:n}){const s={l:44,r:16,t:20,b:34},l=Math.max(No*2,...e.map(S=>S.days)),u=Math.max(Qs*2,...e.map(S=>S.reads)),d=S=>Math.log10(S+1)/Math.log10(l+1),m=S=>Math.log10(S+1)/Math.log10(u+1),p=S=>3+4*S,y=p(1),v=S=>s.l+y+d(S)*(720-s.l-s.r-2*y),b=S=>360-s.b-y-m(S)*(360-s.t-s.b-2*y),x=iI(e.filter(S=>S.danger).map(S=>({path:S.path,reads:S.reads,cx:v(S.days),cy:b(S.reads),r:p(S.total?(S.agent||0)/S.total:0)})),{right:720-s.r,top:s.t+8,bottom:360-s.b-4});return f.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[f.jsx("rect",{x:v(No),y:s.t,width:720-s.r-v(No),height:b(Qs)-s.t,className:"in-danger-zone"}),f.jsx("line",{x1:v(No),y1:s.t,x2:v(No),y2:360-s.b,className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:b(Qs),x2:720-s.r,y2:b(Qs),className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:360-s.b,x2:720-s.r,y2:360-s.b,className:"in-axis"}),f.jsx("line",{x1:s.l,y1:s.t,x2:s.l,y2:360-s.b,className:"in-axis"}),f.jsx("text",{x:(s.l+720-s.r)/2,y:352,className:"in-label",children:"days since last change →"}),f.jsx("text",{x:12,y:(s.t+360-s.b)/2,className:"in-label",transform:`rotate(-90 12 ${(s.t+360-s.b)/2})`,children:"reads / 30d →"}),f.jsx("text",{x:720-s.r-6,y:s.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),f.jsx("text",{x:s.l+6,y:s.t+14,className:"in-quad",children:"hot + fresh"}),f.jsx("text",{x:720-s.r-6,y:360-s.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),f.jsx("text",{x:s.l+6,y:360-s.b-8,className:"in-quad",children:"cold + fresh"}),e.map(S=>{const C=S.total?(S.agent||0)/S.total:0;return f.jsx("circle",{cx:Number(v(S.days).toFixed(1)),cy:Number(b(S.reads).toFixed(1)),r:Number(p(C).toFixed(1)),className:"in-pt"+(S.danger?" danger":S.reads?"":" cold"),onClick:()=>n(S.path),children:f.jsx("title",{children:`${S.path} — ${S.reads} read${S.reads===1?"":"s"} / 30d · changed ${Math.round(S.days)}d ago`})},S.path)}),x.map(S=>f.jsx("text",{x:Number(S.x.toFixed(1)),y:Number(S.y.toFixed(1)),textAnchor:S.anchor,className:"in-pt-label",children:S.name},S.path))]})}function kP({pts:e,lens:n,onOpenFile:r,onOpenHistory:i}){const s=e.filter(d=>d.reads>0).sort((d,m)=>m.reads-d.reads||m.days-d.days).slice(0,20);if(!s.length)return f.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=s[0].reads,u=s.some(d=>d.share>0);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"in-hotpath",children:s.map(d=>{const m=n==="agent"?{agent:1,human:0,share:0}:n==="human"?{agent:0,human:1,share:0}:X$(d),p=d.reads/l*100,y=()=>d.orphan?i(d.path):r(d.path);return f.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[f.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&f.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),f.jsxs("span",{className:"in-hp-bar",children:[f.jsx("span",{className:"in-hp-agent",style:{width:(p*m.agent).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-human",style:{width:(p*m.human).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-share",style:{width:(p*m.share).toFixed(1)+"%"}})]}),f.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),f.jsxs("p",{className:"in-legend",children:[f.jsx("span",{className:"in-sw agent"})," agent reads ",f.jsx("span",{className:"in-sw human"})," human reads",u&&f.jsxs(f.Fragment,{children:[" ",f.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function LP({devices:e}){const n=new Map;for(const b of e)for(const[x,S]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+S);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),i=e.slice(0,12),s=140,l=6,u=Math.min(76,Math.max(34,(720-s-8)/r.length)),d=26,m=720,p=l+i.length*d+58,y=Math.max(1,...i.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],S=[245,166,35],C=x.map((E,R)=>Math.round(E+(S[R]-E)*b));return`rgb(${C[0]},${C[1]},${C[2]})`};return f.jsxs("svg",{viewBox:`0 0 ${m} ${p}`,className:"in-chart in-matrix",children:[i.map((b,x)=>{let S=b.name||b.id||"";return S.length>20&&(S=S.slice(0,19)+"…"),f.jsxs("g",{children:[f.jsx("text",{x:s-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:S}),r.map((C,E)=>{const R=(b.folders||{})[C]||0;return f.jsx("rect",{x:s+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(R/y)),children:f.jsx("title",{children:`${b.name||b.id} × ${C||"(root)"}: ${R} read${R===1?"":"s"}/30d`})},C)})]},b.id||x)}),r.map((b,x)=>{const S=s+x*u+(u-4)/2,C=l+i.length*d+14;return f.jsx("text",{x:S,y:C,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${S} ${C})`,children:b||"(root)"},b)})]})}function tE(e){return new Set(e.entries.map(n=>n.path)).size}function $P(e){const n=l=>l.note+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note,entries:[l],idx:[u]})});const i=[],s=new Set;return e.forEach((l,u)=>{const d=l.note?r.get(n(l)):void 0;if(!d||tE(d)<2){i.push({i:u});return}s.has(d)||(s.add(d),i.push({run:d,i:u}))}),i}function IP(e){const{filters:n,authors:r,onChange:i}=e,s=(y,v)=>i({...n,[y]:v||void 0}),[l,u]=w.useState(n?.q??""),d=w.useRef(!1);w.useEffect(()=>{d.current||u(n?.q??"")},[n?.q]),w.useEffect(()=>{if(!d.current)return;const y=setTimeout(()=>{d.current=!1,l!==(n?.q??"")&&s("q",l)},250);return()=>clearTimeout(y)},[l]);const m=n?.user&&!r.includes(n.user)?[n.user,...r]:r,p=Zp(n);return f.jsxs("div",{className:"hfilters",children:[f.jsxs("label",{className:"hf-search",children:[f.jsx(dt,{name:"search"}),f.jsx(uu,{type:"search",value:l,placeholder:"path contains…","aria-label":"Filter by path",onChange:y=>{d.current=!0,u(y.target.value)}})]}),f.jsxs("select",{className:"hf-user",value:n?.user??"","aria-label":"Filter by author",onChange:y=>s("user",y.target.value),children:[f.jsx("option",{value:"",children:"Anyone"}),m.map(y=>f.jsx("option",{value:y,children:y},y))]}),f.jsxs("span",{className:"hf-dates",children:[f.jsx("span",{className:"hf-lbl",children:"UTC"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.since??"","aria-label":"From date (UTC)",onChange:y=>s("since",y.target.value)}),f.jsx("span",{className:"hf-dash",children:"–"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.until??"","aria-label":"To date (UTC)",onChange:y=>s("until",y.target.value)})]}),p&&f.jsx("button",{type:"button",className:"hf-clear",onClick:()=>i({}),children:"Clear"})]})}function PP(e){const n=new Set;for(const r of e)r.user&&n.add(r.user);return[...n].sort()}function FP(e){const{apiBase:n,target:r,isFolder:i,onMeta:s,onRendered:l,restore:u,remove:d,filters:m}=e,p=r?i(r)?{prefix:r+"/"}:{path:r}:{prefix:""},y=("path"in p&&p.path!==void 0?"path="+encodeURIComponent(p.path):"prefix="+encodeURIComponent(p.prefix??""))+A_(m).replace("?","&"),{data:v,error:b,fetchNextPage:x,hasNextPage:S,isFetchingNextPage:C}=lj({queryKey:["history",n,y],queryFn:({pageParam:F})=>ln(n+"history?"+y+"&n=100"+(F?"&cursor="+encodeURIComponent(F):"")),initialPageParam:"",getNextPageParam:F=>F.next_cursor,staleTime:15e3}),E=w.useRef(new Set);w.useEffect(()=>{b&&s("History unavailable: "+b.message)},[b,s]),w.useEffect(()=>{v&&l?.()},[v,l]);const R=v?v.pages.flatMap(F=>F.entries||[]):[];for(const F of PP(R))E.current.add(F);const O=e.onFilters&&f.jsx(IP,{filters:m,authors:[...E.current].sort(),onChange:e.onFilters});if(!v)return O?f.jsx("div",{className:"history",children:O}):null;const T=F=>{for(let V=F+1;V{const V=R[F].kind==="delete"?T(F):R[F].blob;return V&&V===z.get(R[F].path)?void 0:V};return f.jsxs("div",{className:"history",children:[O,R.length===0&&(Zp(m)?f.jsxs("div",{className:"empty",children:["No changes match these filters.",f.jsx("br",{}),f.jsx("button",{type:"button",className:"btn hf-clear-empty",onClick:()=>e.onFilters?.({}),children:"Clear filters"})]}):f.jsx("div",{className:"empty",children:"No history yet."})),$P(R).map((F,V)=>F.run?f.jsx(VP,{run:F.run,onOpen:e.onOpen,apiBase:n,prevBlob:T,restoreSha:I,restore:u,remove:d},"g"+V):f.jsx(pg,{entry:R[F.i],apiBase:n,onOpen:e.onOpen,diff:{apiBase:n,prev:T(F.i)},restore:u,restoreSha:I(F.i)},"r"+F.i)),S&&f.jsx("button",{type:"button",className:"btn hmore",onClick:()=>x(),disabled:C,children:C?"Loading…":"Load more"})]})}function VP({run:e,onOpen:n,apiBase:r,prevBlob:i,restoreSha:s,restore:l,remove:u}){const[d,m]=w.useState(!0),p=e.entries[0],y=dd(p),v=[p.device.name||p.device.id,p.device.os].filter(Boolean).join(" · "),b=e.entries.map(C=>new Date(C.time).getTime()),x=UP(Math.min(...b),Math.max(...b)),S=tE(e);return f.jsxs("div",{className:"hrun"+(d?" open":""),children:[f.jsxs("div",{className:"hrun-head",children:[f.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":d,title:d?"Collapse this run":"Expand this run",onClick:()=>m(!d),children:f.jsx(dt,{name:d?"chevd":"chev"})}),f.jsx("span",{className:"hrun-note",children:f.jsx(qC,{text:e.note})}),f.jsxs("span",{className:"hrun-meta",children:[S," file",S===1?"":"s"," · ",y,v?" · "+v:""]}),f.jsx("span",{className:"hrun-time",children:x})]}),d&&f.jsx("div",{className:"hrun-body",children:e.entries.map((C,E)=>f.jsx(pg,{entry:C,apiBase:r,onOpen:n,diff:{apiBase:r,prev:i(e.idx[E])},restore:l,remove:u,restoreSha:s(e.idx[E]),inRun:!0},E))})]})}function UP(e,n){const r=new Date(e),i=new Date(n),s=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==i.toDateString())return r.toLocaleString()+" – "+i.toLocaleString();const l=i.toLocaleDateString();return e===n?l+" "+s(i):l+" "+s(r)+" – "+s(i)}function HP(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function BP(e){const{apiBase:n,path:r,version:i}=e,s="path="+encodeURIComponent(r),{data:l}=Zt({queryKey:["history",n,s,200],queryFn:()=>ln(n+"history?"+s+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===i),d=u?dd(u):"",m=u?.time?new Date(u.time).toLocaleString():"",p=n+"blob?sha="+i+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(dt,{name:"clock"})}),f.jsxs("div",{className:"vb-text",children:[f.jsx("b",{children:[m&&"Version from "+m,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),f.jsx("span",{children:"This is not the current file."})]}),f.jsxs("div",{className:"vb-actions",children:[f.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),f.jsx("a",{className:"ai-btn",download:!0,href:p,children:"Download this version"})]})]})}function nE(e){const{config:n,apiBase:r,route:i,hub:s,project:l}=e,u=Yp(),d=Ai(),{tree:m,flatFiles:p,dirIndex:y,loaded:v}=oI(r,!s||!!l),b=sI(r,s&&!!l&&!!n.reads?.enabled),x=s&&!!l&&!i.path&&!i.view,S=i.view==="dashboard"||x,C=MP(r,S);w.useEffect(()=>{S&&d.invalidateQueries({queryKey:["heat",r]})},[S,r,d]);const E=i.path,R=i.view?void 0:i.version,O=E||(i.view==="dashboard"||i.view==="history")&&i.viewTarget||"",T=!!E&&y.has(E),z=!!E&&v&&!T&&p.some(D=>D.path===E),I=!!E&&v&&!T&&!z,F=T&&!i.view,[V,U]=w.useState(()=>new Set),pe=w.useRef(!0);w.useEffect(()=>{if(!m||!pe.current)return;pe.current=!1;const D=(m.children||[]).filter($=>$.dir);D.length===1&&U($=>new Set($).add(D[0].path))},[m]),w.useEffect(()=>{!O||!v||U(D=>{const $=new Set(D);for(const J of TI(O))$.add(J);return y.has(O)&&$.add(O),$})},[O,v,y]);const ge=w.useCallback(D=>{U($=>{const J=new Set($);return J.has(D)?J.delete(D):J.add(D),J})},[]),fe=w.useRef(null),Q=w.useRef(new Map),le=w.useRef({key:"",want:0,attempts:0});w.useEffect(()=>{le.current={key:u,want:O3()==="POP"?Q.current.get(u)??0:0,attempts:0}},[u]);const ue=w.useCallback(()=>{const D=fe.current,$=le.current;!D||$.key!==u||$.attempts>=3||($.attempts++,D.scrollTo({top:$.want,behavior:"instant"}))},[u]),xe=w.useCallback(()=>{fe.current&&Q.current.set(u,fe.current.scrollTop)},[u]),N=w.useCallback((D,$)=>{rn(Wu(D,l?.id,$)),pr()},[l?.id]),q=w.useCallback(D=>rn(Wn("history",l?.id,D)),[l?.id]),[ae,te]=w.useState(""),[ne,k]=w.useState(null),[M,B]=w.useState(!1),[X,K]=w.useState(!1);w.useEffect(()=>$D(()=>K(!0)),[]);const se=w.useRef(null),ee=e.panel??null,ve=!ee&&s&&!!l&&z&&wi(l.perm,"write"),{data:ye}=R_(l?.id,s&&!!l),Ne=w.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Ie=z?(ye||[]).filter(D=>D.path===E):[],Fe=!ee&&s&&!!l,ft=!ee&&z,Qe=!ee&&(z||s&&!!l&&T),vn=R?r+"blob?sha="+R+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),un=w.useCallback(async()=>{try{const D=await fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:E})});if(!D.ok)throw new Error(await D.text());const $=await D.json();Dw("share_created");const J=await Bo($.url);k({url:$.url,copied:J}),Ne()}catch(D){Ke("Share failed: "+D.message,!0)}},[r,E,Ne]),[Kt,ir]=w.useState(""),Dt=s&&!!l&&wi(l?.perm,"write"),or=w.useCallback(async(D,$)=>{ir(D+$);try{await Si(r+"restore",{path:D,sha:$}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,D]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+D+" — it syncs to every device like any other change.")}catch(J){Ke("Restore failed: "+J.message,!0)}finally{ir("")}},[r,d]),[Dr,Tt]=w.useState(""),Un=w.useCallback(async D=>{if(await Sl("Remove "+D+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){Tt(D);try{await Si(r+"remove",{path:D}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,D]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+D+" — it syncs to every device like any other change.")}catch($){Ke("Remove failed: "+$.message,!0)}finally{Tt("")}}},[r,d]),wt=w.useCallback(()=>{if(!E)return q("");q(T?E+"/":E)},[E,T,q]);w.useEffect(()=>{const D=$=>{($.metaKey||$.ctrlKey)&&$.key.toLowerCase()==="k"&&($.preventDefault(),K(J=>!J))};return window.addEventListener("keydown",D),()=>window.removeEventListener("keydown",D)},[]);const oa=w.useCallback(()=>{const D=[],$=(J,ce,me,be)=>D.push({icon:J,label:ce,kind:me,run:be});if(s&&l){const J=l.id,ce=me=>()=>{e.onClosePanel?.(),rn(me)};$("folder","Go to project root","action",ce("/"+J)),$("dashboard","Dashboard","action",ce(Wn("dashboard",J))),$("terminal","Installation","action",ce(Wn("install",J))),$("gear","Settings","action",ce(Wn("settings",J)))}if(s&&l&&E&&(z&&$("share","Share: "+E,"action",un),$("hist","History: "+E,"action",wt),z&&$("download","Download: "+E,"action",()=>se.current?.click())),s&&l&&$("hist","History: whole project","action",()=>q("")),s)for(const J of e.projects||[])(!l||J.id!==l.id)&&$("folder","Switch to project: "+J.name,"project",()=>rn("/"+J.id));n.auth?.enabled&&$("power","Sign out","action",()=>window.location.href="/auth/logout");for(const J of y.keys())$("folder",J,"folder",()=>N(J));for(const J of p)$("doc",J.path,"file",()=>N(J.path));return D},[s,l,E,z,n.auth?.enabled,y,p,e.projects,e.onClosePanel,un,wt,q,N]);w.useEffect(()=>{if(!M)return;const D=()=>B(!1);return document.addEventListener("click",D),()=>document.removeEventListener("click",D)},[M]);const yn=w.useCallback(D=>y.has(D),[y]);let zr="app",sr,Yt;ee?Yt=ee.body:i.view==="dashboard"?Yt=f.jsx(pw,{flatFiles:p,heatMap:b,devices:C,scope:i.viewTarget||"",loading:!v,installHref:l?Wn("install",l.id):void 0,onOpenFile:N,onOpenFolder:N,onOpenHistory:q,isFolder:yn}):i.view==="history"?Yt=f.jsx(FP,{apiBase:r,target:i.viewTarget||"",isFolder:yn,onOpen:N,onMeta:te,onRendered:ue,restore:Dt?{onRestore:or,busy:Kt}:void 0,remove:Dt?{onRemove:Un,busy:Dr}:void 0,filters:i.filters,onFilters:D=>rn(Wn("history",l?.id,i.viewTarget||"",D))}):E?v?I?Yt=f.jsxs("div",{className:"notfound",children:[f.jsx("h1",{children:"Couldn't find that"}),f.jsxs("p",{children:[f.jsx("code",{children:E})," isn't in this project right now."]}),f.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),f.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):T?Yt=f.jsx(FI,{node:y.get(E),heatMap:b,hub:s&&!!l,apiBase:r,onOpen:N,onFullHistory:q,onRendered:ue}):(zr=jC.test(E)||TC.test(E)?"wide":"read",sr="markdown",Yt=f.jsxs(f.Fragment,{children:[R&&f.jsx(BP,{apiBase:r,path:E,version:R,onViewCurrent:()=>N(E)}),f.jsx(UI,{apiBase:r,path:E,version:R,heatMap:b,flatFiles:p,onOpenFile:N,onMeta:te,onRendered:ue})]})):Yt=f.jsx("div",{className:"empty",children:"Loading…"}):x?Yt=f.jsxs(f.Fragment,{children:[f.jsx(FC,{project:l,existing:i.connect==="existing"}),f.jsx("div",{className:"home-insights",children:f.jsx(pw,{flatFiles:p,heatMap:b,devices:C,loading:!v,onOpenFile:N,onOpenFolder:N,onOpenHistory:q,isFolder:yn})})]}):Yt=f.jsx("div",{className:"empty",children:"Select a file to read it."});const bn=ee?ee.crumb:E?f.jsx(OI,{path:E,onOpenFolder:N}):i.view==="dashboard"?"Dashboard — "+(i.viewTarget||l?.name||""):i.view==="history"?"History — "+HP(i.viewTarget||"",yn):x?l.name:null,A=f.jsx(ll,{crumb:bn,meta:ae,actions:f.jsxs(f.Fragment,{children:[ve&&f.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:un,children:f.jsx(dt,{name:"share"})}),Fe&&!E&&!i.view&&f.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:wt,children:[f.jsx(dt,{name:"hist"})," ",f.jsx("span",{className:"lbl",children:"History"})]}),ft&&f.jsx("a",{id:"download",hidden:!0,download:!0,href:vn,ref:se,children:"Download"}),Qe&&f.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:D=>{D.stopPropagation(),B(!M)},children:f.jsx(dt,{name:"dots"})}),M&&f.jsxs("div",{id:"more-menu",role:"menu",children:[Fe&&f.jsx("button",{className:"more-item",onClick:wt,children:"History"}),ft&&f.jsx("button",{className:"more-item",onClick:()=>se.current?.click(),children:"Download"}),s&&!!l&&f.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),rn(Wn("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return f.jsxs(f.Fragment,{children:[f.jsx(sl,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:f.jsx(jI,{root:m,expanded:V,onToggle:ge,currentPath:O,listingShowing:F,onOpen:N}),topbar:A,contentRef:fe,onContentScroll:xe,children:f.jsxs(wu,{width:zr,className:sr,children:[!ee&&z&&f.jsx(WI,{shares:Ie,canRevoke:!!l&&wi(l.perm,"write"),onChanged:Ne}),Yt]})}),ne&&f.jsx(JI,{url:ne.url,copied:ne.copied,onClose:()=>{k(null),Ne()}}),f.jsx(AP,{open:X,onClose:()=>K(!1),candidates:oa})]})}function qP({config:e}){const n=Yp(),r=T_(),[i,s]=w.useState(null),[l,u]=w.useState(null);w.useEffect(()=>u(null),[n]);const d=w.useMemo(()=>{const ue=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return ue?ue[1]:null},[n]),{data:m}=w3(!d),{data:p}=S3(!d),y=!!e.auth.admin,{data:v}=j_(y),b=w.useMemo(()=>M_(n,"hub"),[n]),[x,S]=w.useState(!1),C=e.upload.enabled,E=async(ue,xe)=>{const N=xe===VC;try{const q=await Si("/api/projects",{name:ue,template:N?"":xe});S(!1),await r(),rn("/"+q.project.id+(N?"?connect=existing":"")),Ke(`Created “${q.project.name}”.`)}catch(q){Ke("Could not create the project: "+q.message,!0)}},R=w.useRef(!1);w.useEffect(()=>{R.current||d||!m||m.length>0||!C||(R.current=!0,S(!0))},[m,C,d]);const O=x?f.jsx(Y$,{templates:e.templates??[],onCreate:E,onClose:()=>S(!1)}):null,T=w.useMemo(()=>m&&(m.find(ue=>ue.id===b.project)||i&&m.find(ue=>ue.org===i)||m.find(ue=>ue.id===b$())||m[0])||null,[m,b.project,i]);if(w.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive",T&&x$(T.id)},[T,e]),d)return f.jsx(GP,{token:d,onDone:async ue=>{s(ue),await r(),rn("/",{replace:!0})}});const z=e.brand||"BearDrive",I=T&&p?.find(ue=>ue.id===T.org)||null,F=f.jsx(Qu,{name:z,onHome:()=>rn("/"),search:!!T}),V=e.me?f.jsx(F$,{me:e.me,org:I,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),pr()}}:void 0}):void 0;if(!m||!p)return f.jsx(sl,{vault:F,topbar:f.jsx(ll,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return f.jsxs(sl,{vault:F,projectsNav:f.jsx(aw,{projects:m,onNew:()=>S(!0)}),orgBar:V,topbar:f.jsx(ll,{}),children:[f.jsx(wu,{children:f.jsx(K$,{onNew:()=>S(!0),canCreate:C})}),O]});const U=l?.kind==="hub"?{crumb:"Signup & access",body:f.jsx(A$,{})}:null,pe=b.org?p.find(ue=>ue.id===b.org):null,fe=b.org&&!pe?{crumb:"Organization",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Organization not found"}),f.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...cl("/"+T.id),children:["Back to ",T.name]})})]})}:pe?{crumb:"Organization",body:f.jsx(j$,{org:pe,projects:m,myEmail:e.me?.email||""})}:null,Q=b.billing?{crumb:"Billing",body:e.billing?f.jsx(V$,{url:e.billing.url}):f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"No billing on this hub"}),f.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,le=b.view==="settings"?{crumb:"Project settings",body:f.jsx(B$,{project:T,org:I,onDeleted:async()=>{await r(),rn("/")}})}:b.view==="install"?{crumb:"Installation",body:f.jsx(FC,{project:T,existing:b.connect==="existing"})}:null;return!b.org&&!b.billing&&b.project!==T.id?f.jsx(su,{to:"/"+T.id}):b.legacyView&&b.view?f.jsx(su,{to:Wn(b.view,T.id,b.viewTarget)}):b.trailingSlash&&b.path?f.jsx(su,{to:Wu(b.path,T.id,b.version)}):f.jsxs(f.Fragment,{children:[f.jsx(nE,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:m,sidebar:{vault:F,projectsNav:f.jsx(aw,{projects:m,currentId:T.id,onNew:()=>S(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),rn(Wn("dashboard",T.id)),pr()},onInstall:()=>{u(null),rn(Wn("install",T.id)),pr()},onHistory:()=>{u(null),rn(Wn("history",T.id)),pr()},onSettings:()=>{u(null),rn(Wn("settings",T.id)),pr()}}}),orgBar:V},panel:U||fe||Q||le,onClosePanel:()=>u(null)},T.id),O]})}function GP({token:e,onDone:n}){return w.useEffect(()=>{let r=!1;return Si("/api/invites/"+e).then(i=>{r||(Ke(`Welcome — you joined the “${i.org.name}” team. Opening its projects…`),n(i.org.id))}).catch(i=>{r||String(i.message).includes("signing in")||(Ke("Could not accept the invite: "+i.message,!0),n(null))}),()=>{r=!0}},[e]),f.jsx(sl,{vault:f.jsx(Qu,{name:"BearDrive"}),topbar:f.jsx(ll,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Joining…"})})})}function ZP({config:e}){const n=Yp(),r=e.volume||"BearDrive";w.useEffect(()=>{document.title=e.brand||r},[e,r]);const i=w.useMemo(()=>M_(n,"volume"),[n]);return i.trailingSlash&&i.path?f.jsx(su,{to:Wu(i.path)}):f.jsx(nE,{config:e,apiBase:"/api/",route:i,hub:!1,sidebar:{vault:f.jsx(Qu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function KP(){const{data:e}=hj();return f.jsxs(DD,{delayDuration:150,children:[e?e.mode==="hub"?f.jsx(qP,{config:e}):f.jsx(ZP,{config:e}):f.jsx(sl,{vault:f.jsx(Qu,{name:"…",showSignout:!1}),topbar:f.jsx(ll,{}),children:f.jsx("div",{className:"empty",children:"Loading…"})}),f.jsx(h3,{}),f.jsx(y3,{})]})}class YP extends w.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){console.error("BearDrive: unhandled render error",n,r.componentStack)}render(){return this.state.error?f.jsxs("div",{className:"mx-auto max-w-lg p-8 text-sm",children:[f.jsx("h1",{className:"mb-2 text-lg font-semibold",children:"This page didn’t load"}),f.jsx("p",{className:"mb-4 opacity-80",children:"Something went wrong rendering this view. The rest of BearDrive is fine."}),f.jsx("p",{className:"mb-4",children:f.jsx("a",{className:"underline",href:"/",children:"Go to the project list"})}),f.jsx("pre",{className:"overflow-x-auto rounded bg-black/5 p-3 text-xs dark:bg-white/10",children:String(this.state.error)})]}):this.props.children}}const QP=new Q2({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});_2.createRoot(document.getElementById("root")).render(f.jsx(w.StrictMode,{children:f.jsx(YP,{children:f.jsx(X2,{client:QP,children:f.jsx(KP,{})})})})); +`);return n[n.length-1]===""&&n.pop(),n}const AI=4e6;function MI(e,n){let r=0;for(;rs.push({op:"-",line:l[v],an:r+v+1}),y=v=>s.push({op:"+",line:u[v],bn:r+v+1});if(d*m>AI){for(let v=0;v=0;S--)for(let C=m-1;C>=0;C--)v[S][C]=l[S]===u[C]?v[S+1][C+1]+1:Math.max(v[S+1][C],v[S][C+1]);let b=0,x=0;for(;b=v[b][x+1]?p(b++):y(x++);for(;bi.op==="+").length,del:r.filter(i=>i.op==="-").length}}const HC=1<<20,DI=8192;function zI(e){if(e.byteLength>HC)return{kind:"too-large",size:e.byteLength};if(e.subarray(0,DI).includes(0))return{kind:"binary"};try{return{kind:"text",text:new TextDecoder("utf-8",{fatal:!0}).decode(e)}}catch{return{kind:"binary"}}}function Jm(e,n,r,i){let s=e+"blob?sha="+encodeURIComponent(n);return r&&(s+="&name="+encodeURIComponent(r)),i&&(s+="&download=1"),s}async function kI(e){const n=await fj(e),r=Number(n.headers.get("Content-Length"));return r>HC?{kind:"too-large",size:r}:zI(new Uint8Array(await n.arrayBuffer()))}function BC(e,n,r,i){return Zt({queryKey:n,queryFn:()=>kI(e),enabled:r,...i?{staleTime:1/0,gcTime:1/0}:{},retry:!1})}function uw(e,n,r){return BC(n?Jm(e,n):"",["blob",e,n],!!n,!0)}function LI(e){return e.slice(e.lastIndexOf("/")+1)}function $I({apiBase:e,path:n,prev:r,cur:i}){const s=LI(n);return f.jsxs("span",{className:"dv-dl",children:[f.jsx("a",{href:Jm(e,r,s,!0),children:"download previous"}),f.jsx("a",{href:Jm(e,i,s,!0),children:"download this version"})]})}function II({apiBase:e,path:n,prev:r,cur:i}){const s=uw(e,r),l=uw(e,i),u=s.data?.kind==="text"&&l.data?.kind==="text",d=w.useMemo(()=>s.data?.kind==="text"&&l.data?.kind==="text"?NI(s.data.text,l.data.text):null,[s.data,l.data]);if(s.error||l.error)return f.jsx("div",{className:"dv dv-msg",children:"Could not load one of the versions."});if(!s.data||!l.data)return f.jsx("div",{className:"dv dv-msg",children:"Loading changes…"});if(!u){const v=s.data.kind==="too-large"||l.data.kind==="too-large";return f.jsxs("div",{className:"dv dv-msg",children:[v?"Too large to diff — download to compare.":"Binary file — no diff available.",f.jsx($I,{apiBase:e,path:n,prev:r,cur:i})]})}const{lines:m,add:p,del:y}=d;return f.jsxs("div",{className:"dv",children:[f.jsxs("div",{className:"dv-head",children:[f.jsxs("span",{className:"dv-stat",children:[f.jsxs("span",{className:"dv-add",children:["+",p]})," ",f.jsxs("span",{className:"dv-del",children:["−",y]})]}),p===0&&y===0&&f.jsx("span",{className:"dv-same",children:"No line changes"})]}),f.jsx("div",{className:"dv-body",children:m.map((v,b)=>f.jsxs("div",{className:"dv-line dv-"+(v.op==="="?"ctx":v.op==="+"?"ins":"rm"),children:[f.jsx("span",{className:"dv-n",children:v.an??""}),f.jsx("span",{className:"dv-n",children:v.bn??""}),f.jsx("span",{className:"dv-mark",children:v.op==="="?" ":v.op}),f.jsx("span",{className:"dv-text",children:v.line||" "})]},b))})]})}const PI={add:"added",edit:"edited",delete:"deleted"};function qC({text:e}){return f.jsx(f.Fragment,{children:e.split(/(https?:\/\/\S+)/).map((n,r)=>/^https?:\/\//.test(n)?f.jsx("a",{href:n,target:"_blank",rel:"noopener",children:n},r):n)})}function pg({entry:e,apiBase:n,onOpen:r,diff:i,restore:s,remove:l,restoreSha:u,inRun:d}){const[m,p]=w.useState(!1),[y,v]=w.useState(!1),b=e.kind==="put"?"edit":e.kind,x=dd(e),S=[e.device.name||e.device.id,e.device.os].filter(Boolean).join(" · "),C=b!=="delete",E=!!i&&b!=="delete"&&!!e.blob,R=!!d&&b==="add",O=!!s&&!!u&&!R,T=!!l&&R,z=!!s?.busy&&s.busy===e.path+u,I=!!l?.busy&&l.busy===e.path,F=C&&!!e.blob,V=e.path.split("/").pop()||e.path,U=new Date(e.time).toLocaleString(),pe=n+"blob?sha="+e.blob+"&name="+encodeURIComponent(V)+"&download=1",ge=()=>v(!y),fe=Q=>{Q.target.tagName!=="A"&&C&&r(e.path,e.blob)};return f.jsxs("div",{className:"hentry "+b+(C?" clickable":""),tabIndex:C?0:void 0,role:C?"button":void 0,onClick:fe,onKeyDown:Q=>{C&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),r(e.path,e.blob))},children:[f.jsxs("div",{className:"hline",children:[f.jsx("span",{className:"hkind",children:PI[b]||b}),f.jsx("span",{className:"hpath",children:e.path}),f.jsx("span",{className:"htime",children:U})]}),f.jsxs("div",{className:"hmeta",children:[f.jsx("span",{className:"hwho",children:x}),f.jsx("span",{className:"hdev",children:S}),f.jsx("span",{className:"hsize",children:e.size?mg(e.size):""}),O&&f.jsxs("button",{type:"button",className:"hrestore-btn",disabled:z,title:"Put this version of "+e.path+" back as a new change",onClick:Q=>{Q.stopPropagation(),s.onRestore(e.path,u)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"hist"}),z?"restoring…":"restore"]}),T&&f.jsxs("button",{type:"button",className:"hremove-btn",disabled:I,title:"Remove "+e.path+" — this run created it",onClick:Q=>{Q.stopPropagation(),l.onRemove(e.path)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"trash"}),I?"removing…":"undo — remove file"]})]}),e.note&&!d&&f.jsx("div",{className:"hnote"+(m?" open":""),tabIndex:0,role:"button",title:m?"Collapse note":"Show full note","aria-expanded":m,onClick:Q=>{Q.stopPropagation(),Q.target.tagName!=="A"&&p(!m)},onKeyDown:Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),p(!m))},children:f.jsx(qC,{text:e.note})}),(E||F)&&f.jsxs("div",{className:"hactions",children:[E&&(i.prev?f.jsxs("button",{type:"button",className:"hdiff-btn"+(y?" open":""),"aria-expanded":y,onClick:Q=>{Q.stopPropagation(),ge()},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:y?"chevd":"chev"}),y?"hide changes":"show changes"]}):f.jsx("div",{className:"hdiff-none",children:"First version — nothing to compare against"})),F&&f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"hver-btn","aria-label":`Open ${V} as of ${U}`,onClick:Q=>{Q.stopPropagation(),r(e.path,e.blob)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"clock"}),"Open this version"]}),f.jsxs("a",{className:"hver-btn",download:!0,href:pe,"aria-label":`Download ${V} as of ${U}`,onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>{Q.stopPropagation(),Q.key===" "&&(Q.preventDefault(),Q.currentTarget.click())},children:[f.jsx(dt,{name:"download"}),"Download"]})]})]}),E&&i.prev&&y&&f.jsx("div",{onClick:Q=>Q.stopPropagation(),children:f.jsx(II,{apiBase:i.apiBase,path:e.path,prev:i.prev,cur:e.blob})})]})}function FI(e){const{node:n,heatMap:r,onOpen:i}=e,s=(n.children||[]).slice().sort((p,y)=>Number(y.dir||!1)-Number(p.dir||!1)||p.name.localeCompare(y.name)),l=s.filter(p=>p.dir).length,u=s.length-l,d=[];l&&d.push(l+(l===1?" folder":" folders")),u&&d.push(u+(u===1?" file":" files"));const m=ow(r,n.path,!0);return m&&d.push(Ys(m)+" in 30 days"),f.jsxs("div",{className:"dirlist",children:[f.jsxs("h1",{className:"dl-title",children:[f.jsx("span",{className:"dl-title-icon",children:f.jsx(dt,{name:"folder"})}),f.jsx("span",{children:n.name})]}),f.jsx("p",{className:"dl-sub",children:d.join(" · ")||"Empty folder"}),s.length===0?f.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):f.jsx("div",{className:"dl-items",children:s.map(p=>{let y="";if(p.dir){const b=(p.children||[]).length;y=b+(b===1?" item":" items")}else y=[p.size?mg(p.size):"",p.time?new Date(p.time).toLocaleDateString():""].filter(Boolean).join(" · ");const v=ow(r,p.path,!!p.dir);return v&&(y=Ys(v)+(y?" · "+y:"")),f.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:p.path,onClick:()=>i(p.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i(p.path))},children:[f.jsx("span",{className:"ticon",children:f.jsx(dt,{name:p.dir?"folder":"doc"})}),f.jsx("span",{className:"dl-name",children:p.name}),v&&f.jsx("span",{className:"heatdot lvl"+Q$(v),role:"img","aria-label":Ys(v)+" in 30 days",title:Ys(v)+" in 30 days"}),f.jsx("span",{className:"dl-meta",children:y})]},p.path)})}),e.hub&&f.jsx(VI,{apiBase:e.apiBase,prefix:n.path+"/",onOpen:i,onFullHistory:()=>e.onFullHistory(n.path+"/"),onRendered:e.onRendered})]})}function VI(e){const n=lI(e.apiBase,e.prefix,!0),{onRendered:r}=e;return w.useEffect(()=>{n&&n.length&&r&&r()},[n,r]),!n||n.length===0?null:f.jsxs("div",{className:"dl-history",children:[f.jsx("h3",{className:"dl-h3",children:"Recent changes"}),f.jsx("div",{className:"history dl-hlist",children:n.map((i,s)=>f.jsx(pg,{entry:i,apiBase:e.apiBase,onOpen:e.onOpen},s))}),f.jsx("button",{className:"ai-btn dl-more",onClick:e.onFullHistory,children:"Full history"})]})}function UI(e){const{apiBase:n,path:r,version:i,onMeta:s}=e,l=i?n+"blob?sha="+i+"&name="+encodeURIComponent(r):n+"file?path="+encodeURIComponent(r);return w.useEffect(()=>()=>s(""),[r,s]),g$.test(r)?f.jsx(qI,{...e}):jC.test(r)?f.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):TC.test(r)?f.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):v$.test(r)?f.jsx(KI,{src:l,alt:r,version:i,onRendered:e.onRendered}):y$.test(r)?f.jsx(YI,{...e,fileURL:l}):f.jsx(HI,{...e,fileURL:l})}function HI(e){const{apiBase:n,path:r,version:i,fileURL:s,onRendered:l}=e,{data:u,error:d}=BC(s,["text",s],!0,!!i);return w.useEffect(()=>{u&&l?.()},[u,l]),d?f.jsx(fd,{version:i,err:d}):u?u.kind==="text"?f.jsx("pre",{className:"plain",children:u.text},r):f.jsx(BI,{apiBase:n,path:r,version:i,fileURL:s,children:u.kind==="too-large"?`Too large to preview (${mg(u.size)}).`:"No preview for this file type."}):null}function BI(e){const{apiBase:n,path:r,version:i,fileURL:s}=e;return f.jsxs("div",{className:"filecard",children:[f.jsx("div",{className:"name",children:r.split("/").pop()}),f.jsx("p",{children:e.children}),f.jsx("a",{className:"btn",download:!0,href:i?s+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function qI(e){const{apiBase:n,path:r,version:i,heatMap:s,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:m}=e,{data:p,error:y}=Zt({queryKey:["render",n,r,i||""],queryFn:()=>ln(n+"render?path="+encodeURIComponent(r)+(i?"&sha="+i:"")),retry:i?!1:void 0}),v=w.useMemo(()=>p?ZI(p.html,r,n):"",[p,r,n]);return w.useEffect(()=>{if(!p)return;const b=[];(p.user_name||p.user||p.author)&&b.push(dd(p)+(p.device?" on "+p.device:"")),p.time&&b.push(new Date(p.time).toLocaleString());const x=i?null:s&&s[p.path];x&&ka(x)&&b.push(Ys(x)+" / 30d"),d(b.join(" · ")),m?.()},[p,i,s,d,m]),y?f.jsx(fd,{version:i,err:y}):p?f.jsx("div",{dangerouslySetInnerHTML:{__html:v},onClick:b=>GI(b,r,l,u)}):null}function GI(e,n,r,i){const s=e.target.closest("a");if(!s||!e.currentTarget.contains(s))return;const l=s.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),QI(decodeURIComponent(l.slice(5)),r,i)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),i(OC(u,decodeURIComponent(l))))}function ZI(e,n,r){const i=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",s=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^\s*data:image\/svg/i.test(d)?u.removeAttribute("src"):/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",s(OC(i,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^\s*data:/i.test(d)?u.removeAttribute("href"):/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function KI(e){const[n,r]=w.useState(!1);return n?f.jsx(fd,{version:e.version,err:new Error("could not be loaded")}):f.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function fd({version:e,err:n}){return f.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function YI(e){const{path:n,version:r,fileURL:i,onRendered:s}=e,{data:l,error:u}=Zt({queryKey:["text",i],queryFn:async()=>{const d=await fetch(i);if(!d.ok)throw new Error(await d.text());return d.text()},retry:r?!1:void 0});return w.useEffect(()=>{l!=null&&s?.()},[l,s]),u?f.jsx(fd,{version:r,err:u}):l==null?null:f.jsx("pre",{className:"plain",children:l},n)}function QI(e,n,r){const i=e.toLowerCase(),s=n.find(l=>l.path.toLowerCase()===i||l.path.toLowerCase()===i+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===i||u===i+".md"});s&&r(s.path)}const XI=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function JI({url:e,copied:n,onClose:r}){const i=e.split("/s/")[1],[s,l]=w.useState(""),[u,d]=w.useState(),[m,p]=w.useState(!1),y=w.useRef(null);async function v(b){const x=s;l(b),p(!0);try{const S=await tr("PATCH","/api/shares/"+i,{expires_in:b});d(S.expires)}catch(S){Ke(S.message,!0),l(x)}finally{p(!1)}}return f.jsx(Xu,{open:!0,onOpenChange:b=>!b&&r(),children:f.jsxs(Ju,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:"Public link"})}),f.jsxs("p",{children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),f.jsx("div",{className:"modal-url",children:e}),f.jsxs("div",{className:"modal-expiry",children:[f.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),f.jsx("select",{id:"share-expiry",value:s,disabled:m,onChange:b=>v(b.target.value),children:XI.map(b=>f.jsx("option",{value:b.value,children:b.label},b.value))}),f.jsx("span",{className:"modal-expiry-note",children:NC(u)})]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{ref:y,variant:"primary",onClick:()=>Bo(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),f.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function WI({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:f.jsxs("div",{className:"share-banner",role:"status",children:[f.jsxs("div",{className:"sb-head",children:[f.jsx(dt,{name:"share"}),f.jsx("b",{children:"Publicly shared"}),f.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),f.jsxs("p",{className:"sb-note",children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it."]}),e.map(i=>f.jsxs("div",{className:"sb-link",children:[f.jsx("span",{className:"sb-url mono",title:i.url,children:i.url}),f.jsx("span",{className:"sb-meta",children:DC(i,!1)}),f.jsxs("span",{className:"sb-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>Bo(i.url).then(s=>Ke(s?"Copied.":"Select and copy the link.")),children:"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(i.url,"_blank"),children:"Open"}),n&&f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${i.path}`,onClick:()=>kC(i,r),children:"Revoke"})]})]},i.token))]})}var dw=1,eP=.9,tP=.8,nP=.17,om=.1,sm=.999,rP=.9999,aP=.99,iP=/[\\\/_+.#"@\[\(\{&]/,oP=/[\\\/_+.#"@\[\(\{&]/g,sP=/[\s-]/,GC=/[\s-]/g;function Wm(e,n,r,i,s,l,u){if(l===n.length)return s===e.length?dw:aP;var d=`${s},${l}`;if(u[d]!==void 0)return u[d];for(var m=i.charAt(l),p=r.indexOf(m,s),y=0,v,b,x,S;p>=0;)v=Wm(e,n,r,i,p+1,l+1,u),v>y&&(p===s?v*=dw:iP.test(e.charAt(p-1))?(v*=tP,x=e.slice(s,p-1).match(oP),x&&s>0&&(v*=Math.pow(sm,x.length))):sP.test(e.charAt(p-1))?(v*=eP,S=e.slice(s,p-1).match(GC),S&&s>0&&(v*=Math.pow(sm,S.length))):(v*=nP,s>0&&(v*=Math.pow(sm,p-s))),e.charAt(p)!==n.charAt(l)&&(v*=rP)),(vv&&(v=b*om)),v>y&&(y=v),p=r.indexOf(m,p+1);return u[d]=y,y}function fw(e){return e.toLowerCase().replace(GC," ")}function lP(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Wm(e,n,fw(e),fw(n),0,0,{})}var qs='[cmdk-group=""]',lm='[cmdk-group-items=""]',cP='[cmdk-group-heading=""]',ZC='[cmdk-item=""]',hw=`${ZC}:not([aria-disabled="true"])`,ep="cmdk-item-select",Ao="data-value",uP=(e,n,r)=>lP(e,n,r),KC=w.createContext(void 0),El=()=>w.useContext(KC),YC=w.createContext(void 0),gg=()=>w.useContext(YC),QC=w.createContext(void 0),XC=w.forwardRef((e,n)=>{let r=Mo(()=>{var M,B;return{search:"",value:(B=(M=e.value)!=null?M:e.defaultValue)!=null?B:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Mo(()=>new Set),s=Mo(()=>new Map),l=Mo(()=>new Map),u=Mo(()=>new Set),d=JC(e),{label:m,children:p,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:S,disablePointerSelection:C=!1,vimBindings:E=!0,...R}=e,O=hn(),T=hn(),z=hn(),I=w.useRef(null),F=wP();Oi(()=>{if(y!==void 0){let M=y.trim();r.current.value=M,V.emit()}},[y]),Oi(()=>{F(6,le)},[]);let V=w.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,B,X)=>{var K,se,ee,ve;if(!Object.is(r.current[M],B)){if(r.current[M]=B,M==="search")Q(),ge(),F(1,fe);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ye=document.getElementById(z);ye?ye.focus():(K=document.getElementById(O))==null||K.focus()}if(F(7,()=>{var ye;r.current.selectedItemId=(ye=ue())==null?void 0:ye.id,V.emit()}),X||F(5,le),((se=d.current)==null?void 0:se.value)!==void 0){let ye=B??"";(ve=(ee=d.current).onValueChange)==null||ve.call(ee,ye);return}}V.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),U=w.useMemo(()=>({value:(M,B,X)=>{var K;B!==((K=l.current.get(M))==null?void 0:K.value)&&(l.current.set(M,{value:B,keywords:X}),r.current.filtered.items.set(M,pe(B,X)),F(2,()=>{ge(),V.emit()}))},item:(M,B)=>(i.current.add(M),B&&(s.current.has(B)?s.current.get(B).add(M):s.current.set(B,new Set([M]))),F(3,()=>{Q(),ge(),r.current.value||fe(),V.emit()}),()=>{l.current.delete(M),i.current.delete(M),r.current.filtered.items.delete(M);let X=ue();F(4,()=>{Q(),X?.getAttribute("id")===M&&fe(),V.emit()})}),group:M=>(s.current.has(M)||s.current.set(M,new Set),()=>{l.current.delete(M),s.current.delete(M)}),filter:()=>d.current.shouldFilter,label:m||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:O,inputId:z,labelId:T,listInnerRef:I}),[]);function pe(M,B){var X,K;let se=(K=(X=d.current)==null?void 0:X.filter)!=null?K:uP;return M?se(M,r.current.search,B):0}function ge(){if(!r.current.search||d.current.shouldFilter===!1)return;let M=r.current.filtered.items,B=[];r.current.filtered.groups.forEach(K=>{let se=s.current.get(K),ee=0;se.forEach(ve=>{let ye=M.get(ve);ee=Math.max(ye,ee)}),B.push([K,ee])});let X=I.current;xe().sort((K,se)=>{var ee,ve;let ye=K.getAttribute("id"),Ne=se.getAttribute("id");return((ee=M.get(Ne))!=null?ee:0)-((ve=M.get(ye))!=null?ve:0)}).forEach(K=>{let se=K.closest(lm);se?se.appendChild(K.parentElement===se?K:K.closest(`${lm} > *`)):X.appendChild(K.parentElement===X?K:K.closest(`${lm} > *`))}),B.sort((K,se)=>se[1]-K[1]).forEach(K=>{var se;let ee=(se=I.current)==null?void 0:se.querySelector(`${qs}[${Ao}="${encodeURIComponent(K[0])}"]`);ee?.parentElement.appendChild(ee)})}function fe(){let M=xe().find(X=>X.getAttribute("aria-disabled")!=="true"),B=M?.getAttribute(Ao);V.setState("value",B||void 0)}function Q(){var M,B,X,K;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let se=0;for(let ee of i.current){let ve=(B=(M=l.current.get(ee))==null?void 0:M.value)!=null?B:"",ye=(K=(X=l.current.get(ee))==null?void 0:X.keywords)!=null?K:[],Ne=pe(ve,ye);r.current.filtered.items.set(ee,Ne),Ne>0&&se++}for(let[ee,ve]of s.current)for(let ye of ve)if(r.current.filtered.items.get(ye)>0){r.current.filtered.groups.add(ee);break}r.current.filtered.count=se}function le(){var M,B,X;let K=ue();K&&(((M=K.parentElement)==null?void 0:M.firstChild)===K&&((X=(B=K.closest(qs))==null?void 0:B.querySelector(cP))==null||X.scrollIntoView({block:"nearest"})),K.scrollIntoView({block:"nearest"}))}function ue(){var M;return(M=I.current)==null?void 0:M.querySelector(`${ZC}[aria-selected="true"]`)}function xe(){var M;return Array.from(((M=I.current)==null?void 0:M.querySelectorAll(hw))||[])}function N(M){let B=xe()[M];B&&V.setState("value",B.getAttribute(Ao))}function q(M){var B;let X=ue(),K=xe(),se=K.findIndex(ve=>ve===X),ee=K[se+M];(B=d.current)!=null&&B.loop&&(ee=se+M<0?K[K.length-1]:se+M===K.length?K[0]:K[se+M]),ee&&V.setState("value",ee.getAttribute(Ao))}function ae(M){let B=ue(),X=B?.closest(qs),K;for(;X&&!K;)X=M>0?bP(X,qs):xP(X,qs),K=X?.querySelector(hw);K?V.setState("value",K.getAttribute(Ao)):q(M)}let te=()=>N(xe().length-1),ne=M=>{M.preventDefault(),M.metaKey?te():M.altKey?ae(1):q(1)},k=M=>{M.preventDefault(),M.metaKey?N(0):M.altKey?ae(-1):q(-1)};return w.createElement($e.div,{ref:n,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:M=>{var B;(B=R.onKeyDown)==null||B.call(R,M);let X=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||X))switch(M.key){case"n":case"j":{E&&M.ctrlKey&&ne(M);break}case"ArrowDown":{ne(M);break}case"p":case"k":{E&&M.ctrlKey&&k(M);break}case"ArrowUp":{k(M);break}case"Home":{M.preventDefault(),N(0);break}case"End":{M.preventDefault(),te();break}case"Enter":{M.preventDefault();let K=ue();if(K){let se=new Event(ep);K.dispatchEvent(se)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:_P},m),md(e,M=>w.createElement(YC.Provider,{value:V},w.createElement(KC.Provider,{value:U},M))))}),dP=w.forwardRef((e,n)=>{var r,i;let s=hn(),l=w.useRef(null),u=w.useContext(QC),d=El(),m=JC(e),p=(i=(r=m.current)==null?void 0:r.forceMount)!=null?i:u?.forceMount;Oi(()=>{if(!p)return d.item(s,u?.id)},[p]);let y=WC(s,l,[e.value,e.children,l],e.keywords),v=gg(),b=qa(F=>F.value&&F.value===y.current),x=qa(F=>p||d.filter()===!1?!0:F.search?F.filtered.items.get(s)>0:!0);w.useEffect(()=>{let F=l.current;if(!(!F||e.disabled))return F.addEventListener(ep,S),()=>F.removeEventListener(ep,S)},[x,e.onSelect,e.disabled]);function S(){var F,V;C(),(V=(F=m.current).onSelect)==null||V.call(F,y.current)}function C(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:R,onSelect:O,forceMount:T,keywords:z,...I}=e;return w.createElement($e.div,{ref:Fo(l,n),...I,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:C,onClick:E?void 0:S},e.children)}),fP=w.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:s,...l}=e,u=hn(),d=w.useRef(null),m=w.useRef(null),p=hn(),y=El(),v=qa(x=>s||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Oi(()=>y.group(u),[]),WC(u,d,[e.value,e.heading,m]);let b=w.useMemo(()=>({id:u,forceMount:s}),[s]);return w.createElement($e.div,{ref:Fo(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&w.createElement("div",{ref:m,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),md(e,x=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},w.createElement(QC.Provider,{value:b},x))))}),hP=w.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,s=w.useRef(null),l=qa(u=>!u.search);return!r&&!l?null:w.createElement($e.div,{ref:Fo(s,n),...i,"cmdk-separator":"",role:"separator"})}),mP=w.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,s=e.value!=null,l=gg(),u=qa(p=>p.search),d=qa(p=>p.selectedItemId),m=El();return w.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),w.createElement($e.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":m.listId,"aria-labelledby":m.labelId,"aria-activedescendant":d,id:m.inputId,type:"text",value:s?e.value:u,onChange:p=>{s||l.setState("search",p.target.value),r?.(p.target.value)}})}),pP=w.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...s}=e,l=w.useRef(null),u=w.useRef(null),d=qa(p=>p.selectedItemId),m=El();return w.useEffect(()=>{if(u.current&&l.current){let p=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=p.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(p),()=>{cancelAnimationFrame(v),b.unobserve(p)}}},[]),w.createElement($e.div,{ref:Fo(l,n),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:m.listId},md(e,p=>w.createElement("div",{ref:Fo(u,m.listInnerRef),"cmdk-list-sizer":""},p)))}),gP=w.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:s,contentClassName:l,container:u,...d}=e;return w.createElement(hp,{open:r,onOpenChange:i},w.createElement(pp,{container:u},w.createElement(gp,{"cmdk-overlay":"",className:s}),w.createElement(vp,{"aria-label":e.label,"cmdk-dialog":"",className:l},w.createElement(XC,{ref:n,...d}))))}),vP=w.forwardRef((e,n)=>qa(r=>r.filtered.count===0)?w.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),yP=w.forwardRef((e,n)=>{let{progress:r,children:i,label:s="Loading...",...l}=e;return w.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},md(e,u=>w.createElement("div",{"aria-hidden":!0},u)))}),hd=Object.assign(XC,{List:pP,Item:dP,Input:mP,Group:fP,Separator:hP,Dialog:gP,Empty:vP,Loading:yP});function bP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function xP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function JC(e){let n=w.useRef(e);return Oi(()=>{n.current=e}),n}var Oi=typeof window>"u"?w.useEffect:w.useLayoutEffect;function Mo(e){let n=w.useRef();return n.current===void 0&&(n.current=e()),n}function qa(e){let n=gg(),r=()=>e(n.snapshot());return w.useSyncExternalStore(n.subscribe,r,r)}function WC(e,n,r,i=[]){let s=w.useRef(),l=El();return Oi(()=>{var u;let d=(()=>{var p;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(p=y.current.textContent)==null?void 0:p.trim():s.current}})(),m=i.map(p=>p.trim());l.value(e,d,m),(u=n.current)==null||u.setAttribute(Ao,d),s.current=d}),s}var wP=()=>{let[e,n]=w.useState(),r=Mo(()=>new Map);return Oi(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,s)=>{r.current.set(i,s),n({})}};function SP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function md({asChild:e,children:n},r){return e&&w.isValidElement(n)?w.cloneElement(SP(n),{ref:n.ref},r(n.props.children)):r(n)}var _P={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function CP({className:e,...n}){return f.jsx(hd,{"data-slot":"command",className:Xe("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function EP({className:e,...n}){return f.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[f.jsx(y_,{className:"size-4 shrink-0 opacity-50"}),f.jsx(hd.Input,{"data-slot":"command-input",className:Xe("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function RP({className:e,...n}){return f.jsx(hd.List,{"data-slot":"command-list",className:Xe("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function jP({className:e,...n}){return f.jsx(hd.Item,{"data-slot":"command-item",className:Xe("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function mw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),i=n.toLowerCase();let s=0,l=0,u=0;const d=[];for(let m=0;m3&&i.endsWith("ies")?s=i.slice(0,-3)+"y":i.length>3&&i.endsWith("es")?s=i.slice(0,-2):i.length>2&&i.endsWith("s")&&(s=i.slice(0,-1)),s?mw(s,n):null}function OP({text:e,hits:n}){const r=[];let i=0;return n.forEach((s,l)=>{s>i&&r.push(e.slice(i,s)),r.push(f.jsx("b",{children:e[s]},l)),i=s+1}),r.push(e.slice(i)),f.jsx("span",{className:"plabel",children:r})}function AP({open:e,onClose:n,candidates:r}){const[i,s]=w.useState(""),l=w.useMemo(()=>{if(!e)return[];const d=[];for(const m of r()){const p=TP(i,m.label);p&&d.push({...m,score:p.score,hits:p.hits})}return d.sort((m,p)=>p.score-m.score),d.slice(0,40)},[e,i,r]);w.useEffect(()=>{e&&s("")},[e]);const u=d=>{n(),d.run()};return f.jsx(Xu,{open:e,onOpenChange:d=>!d&&n(),children:f.jsxs(Ju,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[f.jsx(xl,{className:"sr-only",children:"Search and quick actions"}),f.jsxs(CP,{shouldFilter:!1,loop:!0,children:[f.jsxs("div",{id:"palette-inputwrap",children:[f.jsx(dt,{name:"search"}),f.jsx(EP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:i,onValueChange:s})]}),f.jsx(RP,{children:l.length===0?f.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>f.jsxs(jP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[f.jsx("span",{className:"picon",children:f.jsx(dt,{name:d.icon})}),f.jsx(OP,{text:d.label,hits:d.hits}),f.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),f.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Qs=3,No=30;function MP(e,n){return Zt({queryKey:["heatDevices",e],queryFn:()=>ln(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}const NP=["all","human","agent","share"],DP={all:"All reads",human:"Human reads",agent:"Agent reads",share:"Shared reads"},zP={agent:{agent:1,human:0,share:0},human:{agent:0,human:1,share:0},share:{agent:0,human:0,share:1}};function pw(e){const[n,r]=w.useState("all"),{flatFiles:i,heatMap:s,devices:l,scope:u}=e,d=S=>!u||S===u||S.startsWith(u+"/"),m=u?i.filter(S=>d(S.path)):i;if(!e.loading&&!m.length)return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsxs("div",{className:"dl-empty in-blank",children:[f.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),f.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&f.jsx("a",{className:"pbtn",...cl(e.installHref),children:"Set up a device →"})]})]});const p=l&&u?l.map(S=>{const C=Object.create(null);for(const[E,R]of Object.entries(S.folders||{}))d(E)&&(C[E]=R);return{...S,folders:C}}).filter(S=>Object.keys(S.folders).length>0):l,y=Date.now(),v=m.map(S=>{const C=s&&s[S.path]||{},E=S.time?Math.max(0,(y-new Date(S.time).getTime())/864e5):0,R=n==="all"?ka(C):C[n]||0;return{path:S.path,reads:R,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ka(C),days:E,danger:R>=Qs&&E>=No}}),b=J$(s,new Set(i.map(S=>S.path))).filter(d).map(S=>{const C=s[S];return{path:S,reads:n==="all"?ka(C):C[n]||0,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ka(C),days:0,danger:!1,orphan:!0}}).filter(S=>S.reads>0),x=b.length>0?f.jsxs("p",{className:"in-legend in-orphan-note",children:[tp(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),f.jsx("div",{className:"in-lens",children:NP.map(S=>f.jsx("button",{className:"in-lens-btn"+(S===n?" active":""),onClick:()=>r(S),children:DP[S]},S))}),f.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),f.jsx(kP,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,f.jsxs("h3",{className:"dl-h3 in-h3-row",children:["Reads × freshness",f.jsx("span",{className:"in-cap",children:"dot size = agent share of reads"})]}),f.jsx($P,{pts:v,onOpenFile:e.onOpenFile}),x,f.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),f.jsx(IP,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),p&&p.length>0&&f.jsxs(f.Fragment,{children:[f.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),f.jsx(PP,{devices:p})]})]})}function eE(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),i=Math.min(n.length-2,Math.floor(r)),s=r-i,l=n[i].map((u,d)=>Math.round(u+(n[i+1][d]-u)*s));return`rgb(${l[0]},${l[1]},${l[2]})`}function gw(e,n,r,i,s){const l=e.reduce((p,y)=>p+y.value,0);if(!l||i<=0||s<=0)return[];const u=e.slice().sort((p,y)=>y.value-p.value).map(p=>({it:p,a:p.value/l*i*s})),d=(p,y)=>{const b=p.reduce((S,C)=>S+C.a,0)/y;let x=0;for(const S of p){const C=S.a/b;x=Math.max(x,C/b,b/C)}return x},m=[];for(;u.length;){const p=i>=s,y=p?s:i,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((S,C)=>S+C.a,0)/y;let x=0;for(const S of v){const C=S.a/b;p?m.push({item:S.it,x:n,y:r+x,w:b,h:C}):m.push({item:S.it,x:n+x,y:r,w:C,h:b}),x+=C}p?(n+=b,i-=b):(r+=b,s-=b)}return m}const cm=15;function vw(e,n,r){const i=Math.floor((r-8)/6),s=`${e} · ${n}`;return s.length<=i?{label:s,fit:i}:{label:e.length>i?e.slice(0,Math.max(1,i-1))+"…":e,fit:i}}const tp=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function kP({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:i}){const u=new Map;for(const m of e){const p=m.path.includes("/")?m.path.split("/")[0]:"/";let y=u.get(p);y||u.set(p,y={name:p,files:[],value:0,reads:0}),y.files.push(m),y.value+=m.reads+1,y.reads+=m.reads}const d=[];for(const m of gw([...u.values()],0,0,720,480)){const p=m.item,y=p.name==="/"?"":p.name,v=p.name==="/"?"(root)":p.name;if(d.push(f.jsx("rect",{x:m.x+1,y:m.y+1,width:Math.max(0,m.w-2),height:Math.max(0,m.h-2),rx:3,className:"in-tm-group","data-dir":y,children:f.jsx("title",{children:`${p.name==="/"?"(root)":p.name+"/"} — ${tp(p.reads,"read")}/30d · ${tp(p.files.length,"file")}`})},"g"+p.name)),m.w>46&&m.h>cm+10){const{label:x}=vw(v,p.reads,m.w);d.push(f.jsx("text",{x:m.x+5,y:m.y+12,className:"in-tm-glabel","data-dir":y,children:x},"gl"+p.name))}const b=gw(p.files.map(x=>({...x,name:x.path.split("/").pop(),value:x.reads+1})),m.x+2,m.y+cm,Math.max(0,m.w-4),Math.max(0,m.h-cm-2));for(const x of b)if(d.push(f.jsx("rect",{x:x.x+.6,y:x.y+.6,width:Math.max(.4,x.w-1.2),height:Math.max(.4,x.h-1.2),rx:1.5,fill:eE(x.item.days),className:"in-tm-cell","data-path":x.item.path,children:f.jsx("title",{children:`${x.item.path} — ${x.item.reads} read${x.item.reads===1?"":"s"}/30d · changed ${Math.round(x.item.days)}d ago`})},x.item.path)),x.w>54&&x.h>16){const{label:S,fit:C}=vw((x.item.danger?"⚠ ":"")+x.item.name,x.item.reads,x.w);C>=5&&d.push(f.jsx("text",{x:x.x+4.5,y:x.y+12.5,className:"in-tm-label","data-path":x.item.path,children:S},"l"+x.item.path))}}return f.jsxs(f.Fragment,{children:[f.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:m=>{const p=m.target.closest("[data-path], [data-dir]");if(!p)return;const y=p.getAttribute("data-path");if(y)return n(y);const v=p.getAttribute("data-dir");v&&i(v)&&r(v)},children:d}),f.jsx(LP,{pts:e})]})}function LP({pts:e}){const n=eI(e.map(i=>i.days));if(!n)return null;const r=nI(n.min,n.max);return f.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",f.jsx("span",{className:"in-sw in-sw-age",style:{background:`linear-gradient(to right, ${[0,60,150,300].map(eE).join(", ")})`}}),"300d+",f.jsx("span",{className:"in-tm-range",children:tI(n.min,n.max)?`all files here: ${r} old — colour carries no signal in this range`:`observed: ${r} old`})]})}function $P({pts:e,onOpenFile:n}){const s={l:44,r:16,t:20,b:34},l=Math.max(No*2,...e.map(S=>S.days)),u=Math.max(Qs*2,...e.map(S=>S.reads)),d=S=>Math.log10(S+1)/Math.log10(l+1),m=S=>Math.log10(S+1)/Math.log10(u+1),p=S=>3+4*S,y=p(1),v=S=>s.l+y+d(S)*(720-s.l-s.r-2*y),b=S=>360-s.b-y-m(S)*(360-s.t-s.b-2*y),x=iI(e.filter(S=>S.danger).map(S=>({path:S.path,reads:S.reads,cx:v(S.days),cy:b(S.reads),r:p(S.total?(S.agent||0)/S.total:0)})),{right:720-s.r,top:s.t+8,bottom:360-s.b-4});return f.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[f.jsx("rect",{x:v(No),y:s.t,width:720-s.r-v(No),height:b(Qs)-s.t,className:"in-danger-zone"}),f.jsx("line",{x1:v(No),y1:s.t,x2:v(No),y2:360-s.b,className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:b(Qs),x2:720-s.r,y2:b(Qs),className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:360-s.b,x2:720-s.r,y2:360-s.b,className:"in-axis"}),f.jsx("line",{x1:s.l,y1:s.t,x2:s.l,y2:360-s.b,className:"in-axis"}),f.jsx("text",{x:(s.l+720-s.r)/2,y:352,className:"in-label",children:"days since last change →"}),f.jsx("text",{x:12,y:(s.t+360-s.b)/2,className:"in-label",transform:`rotate(-90 12 ${(s.t+360-s.b)/2})`,children:"reads / 30d →"}),f.jsx("text",{x:720-s.r-6,y:s.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),f.jsx("text",{x:s.l+6,y:s.t+14,className:"in-quad",children:"hot + fresh"}),f.jsx("text",{x:720-s.r-6,y:360-s.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),f.jsx("text",{x:s.l+6,y:360-s.b-8,className:"in-quad",children:"cold + fresh"}),e.map(S=>{const C=S.total?(S.agent||0)/S.total:0;return f.jsx("circle",{cx:Number(v(S.days).toFixed(1)),cy:Number(b(S.reads).toFixed(1)),r:Number(p(C).toFixed(1)),className:"in-pt"+(S.danger?" danger":S.reads?"":" cold"),onClick:()=>n(S.path),children:f.jsx("title",{children:`${S.path} — ${S.reads} read${S.reads===1?"":"s"} / 30d · changed ${Math.round(S.days)}d ago`})},S.path)}),x.map(S=>f.jsx("text",{x:Number(S.x.toFixed(1)),y:Number(S.y.toFixed(1)),textAnchor:S.anchor,className:"in-pt-label",children:S.name},S.path))]})}function IP({pts:e,lens:n,onOpenFile:r,onOpenHistory:i}){const s=e.filter(d=>d.reads>0).sort((d,m)=>m.reads-d.reads||m.days-d.days).slice(0,20);if(!s.length)return f.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=s[0].reads,u=s.some(d=>d.share>0);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"in-hotpath",children:s.map(d=>{const m=zP[n]??X$(d),p=d.reads/l*100,y=()=>d.orphan?i(d.path):r(d.path);return f.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[f.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&f.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),f.jsxs("span",{className:"in-hp-bar",children:[f.jsx("span",{className:"in-hp-agent",style:{width:(p*m.agent).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-human",style:{width:(p*m.human).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-share",style:{width:(p*m.share).toFixed(1)+"%"}})]}),f.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),f.jsxs("p",{className:"in-legend",children:[f.jsx("span",{className:"in-sw agent"})," agent reads ",f.jsx("span",{className:"in-sw human"})," human reads",u&&f.jsxs(f.Fragment,{children:[" ",f.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function PP({devices:e}){const n=new Map;for(const b of e)for(const[x,S]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+S);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),i=e.slice(0,12),s=140,l=6,u=Math.min(76,Math.max(34,(720-s-8)/r.length)),d=26,m=720,p=l+i.length*d+58,y=Math.max(1,...i.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],S=[245,166,35],C=x.map((E,R)=>Math.round(E+(S[R]-E)*b));return`rgb(${C[0]},${C[1]},${C[2]})`};return f.jsxs("svg",{viewBox:`0 0 ${m} ${p}`,className:"in-chart in-matrix",children:[i.map((b,x)=>{let S=b.name||b.id||"";return S.length>20&&(S=S.slice(0,19)+"…"),f.jsxs("g",{children:[f.jsx("text",{x:s-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:S}),r.map((C,E)=>{const R=(b.folders||{})[C]||0;return f.jsx("rect",{x:s+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(R/y)),children:f.jsx("title",{children:`${b.name||b.id} × ${C||"(root)"}: ${R} read${R===1?"":"s"}/30d`})},C)})]},b.id||x)}),r.map((b,x)=>{const S=s+x*u+(u-4)/2,C=l+i.length*d+14;return f.jsx("text",{x:S,y:C,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${S} ${C})`,children:b||"(root)"},b)})]})}function tE(e){return new Set(e.entries.map(n=>n.path)).size}function FP(e){const n=l=>l.note+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note,entries:[l],idx:[u]})});const i=[],s=new Set;return e.forEach((l,u)=>{const d=l.note?r.get(n(l)):void 0;if(!d||tE(d)<2){i.push({i:u});return}s.has(d)||(s.add(d),i.push({run:d,i:u}))}),i}function VP(e){const{filters:n,authors:r,onChange:i}=e,s=(y,v)=>i({...n,[y]:v||void 0}),[l,u]=w.useState(n?.q??""),d=w.useRef(!1);w.useEffect(()=>{d.current||u(n?.q??"")},[n?.q]),w.useEffect(()=>{if(!d.current)return;const y=setTimeout(()=>{d.current=!1,l!==(n?.q??"")&&s("q",l)},250);return()=>clearTimeout(y)},[l]);const m=n?.user&&!r.includes(n.user)?[n.user,...r]:r,p=Zp(n);return f.jsxs("div",{className:"hfilters",children:[f.jsxs("label",{className:"hf-search",children:[f.jsx(dt,{name:"search"}),f.jsx(uu,{type:"search",value:l,placeholder:"path contains…","aria-label":"Filter by path",onChange:y=>{d.current=!0,u(y.target.value)}})]}),f.jsxs("select",{className:"hf-user",value:n?.user??"","aria-label":"Filter by author",onChange:y=>s("user",y.target.value),children:[f.jsx("option",{value:"",children:"Anyone"}),m.map(y=>f.jsx("option",{value:y,children:y},y))]}),f.jsxs("span",{className:"hf-dates",children:[f.jsx("span",{className:"hf-lbl",children:"UTC"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.since??"","aria-label":"From date (UTC)",onChange:y=>s("since",y.target.value)}),f.jsx("span",{className:"hf-dash",children:"–"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.until??"","aria-label":"To date (UTC)",onChange:y=>s("until",y.target.value)})]}),p&&f.jsx("button",{type:"button",className:"hf-clear",onClick:()=>i({}),children:"Clear"})]})}function UP(e){const n=new Set;for(const r of e)r.user&&n.add(r.user);return[...n].sort()}function HP(e){const{apiBase:n,target:r,isFolder:i,onMeta:s,onRendered:l,restore:u,remove:d,filters:m}=e,p=r?i(r)?{prefix:r+"/"}:{path:r}:{prefix:""},y=("path"in p&&p.path!==void 0?"path="+encodeURIComponent(p.path):"prefix="+encodeURIComponent(p.prefix??""))+A_(m).replace("?","&"),{data:v,error:b,fetchNextPage:x,hasNextPage:S,isFetchingNextPage:C}=lj({queryKey:["history",n,y],queryFn:({pageParam:F})=>ln(n+"history?"+y+"&n=100"+(F?"&cursor="+encodeURIComponent(F):"")),initialPageParam:"",getNextPageParam:F=>F.next_cursor,staleTime:15e3}),E=w.useRef(new Set);w.useEffect(()=>{b&&s("History unavailable: "+b.message)},[b,s]),w.useEffect(()=>{v&&l?.()},[v,l]);const R=v?v.pages.flatMap(F=>F.entries||[]):[];for(const F of UP(R))E.current.add(F);const O=e.onFilters&&f.jsx(VP,{filters:m,authors:[...E.current].sort(),onChange:e.onFilters});if(!v)return O?f.jsx("div",{className:"history",children:O}):null;const T=F=>{for(let V=F+1;V{const V=R[F].kind==="delete"?T(F):R[F].blob;return V&&V===z.get(R[F].path)?void 0:V};return f.jsxs("div",{className:"history",children:[O,R.length===0&&(Zp(m)?f.jsxs("div",{className:"empty",children:["No changes match these filters.",f.jsx("br",{}),f.jsx("button",{type:"button",className:"btn hf-clear-empty",onClick:()=>e.onFilters?.({}),children:"Clear filters"})]}):f.jsx("div",{className:"empty",children:"No history yet."})),FP(R).map((F,V)=>F.run?f.jsx(BP,{run:F.run,onOpen:e.onOpen,apiBase:n,prevBlob:T,restoreSha:I,restore:u,remove:d},"g"+V):f.jsx(pg,{entry:R[F.i],apiBase:n,onOpen:e.onOpen,diff:{apiBase:n,prev:T(F.i)},restore:u,restoreSha:I(F.i)},"r"+F.i)),S&&f.jsx("button",{type:"button",className:"btn hmore",onClick:()=>x(),disabled:C,children:C?"Loading…":"Load more"})]})}function BP({run:e,onOpen:n,apiBase:r,prevBlob:i,restoreSha:s,restore:l,remove:u}){const[d,m]=w.useState(!0),p=e.entries[0],y=dd(p),v=[p.device.name||p.device.id,p.device.os].filter(Boolean).join(" · "),b=e.entries.map(C=>new Date(C.time).getTime()),x=qP(Math.min(...b),Math.max(...b)),S=tE(e);return f.jsxs("div",{className:"hrun"+(d?" open":""),children:[f.jsxs("div",{className:"hrun-head",children:[f.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":d,title:d?"Collapse this run":"Expand this run",onClick:()=>m(!d),children:f.jsx(dt,{name:d?"chevd":"chev"})}),f.jsx("span",{className:"hrun-note",children:f.jsx(qC,{text:e.note})}),f.jsxs("span",{className:"hrun-meta",children:[S," file",S===1?"":"s"," · ",y,v?" · "+v:""]}),f.jsx("span",{className:"hrun-time",children:x})]}),d&&f.jsx("div",{className:"hrun-body",children:e.entries.map((C,E)=>f.jsx(pg,{entry:C,apiBase:r,onOpen:n,diff:{apiBase:r,prev:i(e.idx[E])},restore:l,remove:u,restoreSha:s(e.idx[E]),inRun:!0},E))})]})}function qP(e,n){const r=new Date(e),i=new Date(n),s=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==i.toDateString())return r.toLocaleString()+" – "+i.toLocaleString();const l=i.toLocaleDateString();return e===n?l+" "+s(i):l+" "+s(r)+" – "+s(i)}function GP(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function ZP(e){const{apiBase:n,path:r,version:i}=e,s="path="+encodeURIComponent(r),{data:l}=Zt({queryKey:["history",n,s,200],queryFn:()=>ln(n+"history?"+s+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===i),d=u?dd(u):"",m=u?.time?new Date(u.time).toLocaleString():"",p=n+"blob?sha="+i+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(dt,{name:"clock"})}),f.jsxs("div",{className:"vb-text",children:[f.jsx("b",{children:[m&&"Version from "+m,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),f.jsx("span",{children:"This is not the current file."})]}),f.jsxs("div",{className:"vb-actions",children:[f.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),f.jsx("a",{className:"ai-btn",download:!0,href:p,children:"Download this version"})]})]})}function nE(e){const{config:n,apiBase:r,route:i,hub:s,project:l}=e,u=Yp(),d=Ai(),{tree:m,flatFiles:p,dirIndex:y,loaded:v}=oI(r,!s||!!l),b=sI(r,s&&!!l&&!!n.reads?.enabled),x=s&&!!l&&!i.path&&!i.view,S=i.view==="dashboard"||x,C=MP(r,S);w.useEffect(()=>{S&&d.invalidateQueries({queryKey:["heat",r]})},[S,r,d]);const E=i.path,R=i.view?void 0:i.version,O=E||(i.view==="dashboard"||i.view==="history")&&i.viewTarget||"",T=!!E&&y.has(E),z=!!E&&v&&!T&&p.some(D=>D.path===E),I=!!E&&v&&!T&&!z,F=T&&!i.view,[V,U]=w.useState(()=>new Set),pe=w.useRef(!0);w.useEffect(()=>{if(!m||!pe.current)return;pe.current=!1;const D=(m.children||[]).filter($=>$.dir);D.length===1&&U($=>new Set($).add(D[0].path))},[m]),w.useEffect(()=>{!O||!v||U(D=>{const $=new Set(D);for(const J of TI(O))$.add(J);return y.has(O)&&$.add(O),$})},[O,v,y]);const ge=w.useCallback(D=>{U($=>{const J=new Set($);return J.has(D)?J.delete(D):J.add(D),J})},[]),fe=w.useRef(null),Q=w.useRef(new Map),le=w.useRef({key:"",want:0,attempts:0});w.useEffect(()=>{le.current={key:u,want:O3()==="POP"?Q.current.get(u)??0:0,attempts:0}},[u]);const ue=w.useCallback(()=>{const D=fe.current,$=le.current;!D||$.key!==u||$.attempts>=3||($.attempts++,D.scrollTo({top:$.want,behavior:"instant"}))},[u]),xe=w.useCallback(()=>{fe.current&&Q.current.set(u,fe.current.scrollTop)},[u]),N=w.useCallback((D,$)=>{rn(Wu(D,l?.id,$)),pr()},[l?.id]),q=w.useCallback(D=>rn(Wn("history",l?.id,D)),[l?.id]),[ae,te]=w.useState(""),[ne,k]=w.useState(null),[M,B]=w.useState(!1),[X,K]=w.useState(!1);w.useEffect(()=>$D(()=>K(!0)),[]);const se=w.useRef(null),ee=e.panel??null,ve=!ee&&s&&!!l&&z&&wi(l.perm,"write"),{data:ye}=R_(l?.id,s&&!!l),Ne=w.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Ie=z?(ye||[]).filter(D=>D.path===E):[],Fe=!ee&&s&&!!l,ft=!ee&&z,Qe=!ee&&(z||s&&!!l&&T),vn=R?r+"blob?sha="+R+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),un=w.useCallback(async()=>{try{const D=await fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:E})});if(!D.ok)throw new Error(await D.text());const $=await D.json();Dw("share_created");const J=await Bo($.url);k({url:$.url,copied:J}),Ne()}catch(D){Ke("Share failed: "+D.message,!0)}},[r,E,Ne]),[Kt,ir]=w.useState(""),Dt=s&&!!l&&wi(l?.perm,"write"),or=w.useCallback(async(D,$)=>{ir(D+$);try{await Si(r+"restore",{path:D,sha:$}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,D]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+D+" — it syncs to every device like any other change.")}catch(J){Ke("Restore failed: "+J.message,!0)}finally{ir("")}},[r,d]),[Dr,Tt]=w.useState(""),Un=w.useCallback(async D=>{if(await Sl("Remove "+D+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){Tt(D);try{await Si(r+"remove",{path:D}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,D]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+D+" — it syncs to every device like any other change.")}catch($){Ke("Remove failed: "+$.message,!0)}finally{Tt("")}}},[r,d]),wt=w.useCallback(()=>{if(!E)return q("");q(T?E+"/":E)},[E,T,q]);w.useEffect(()=>{const D=$=>{($.metaKey||$.ctrlKey)&&$.key.toLowerCase()==="k"&&($.preventDefault(),K(J=>!J))};return window.addEventListener("keydown",D),()=>window.removeEventListener("keydown",D)},[]);const oa=w.useCallback(()=>{const D=[],$=(J,ce,me,be)=>D.push({icon:J,label:ce,kind:me,run:be});if(s&&l){const J=l.id,ce=me=>()=>{e.onClosePanel?.(),rn(me)};$("folder","Go to project root","action",ce("/"+J)),$("dashboard","Dashboard","action",ce(Wn("dashboard",J))),$("terminal","Installation","action",ce(Wn("install",J))),$("gear","Settings","action",ce(Wn("settings",J)))}if(s&&l&&E&&(z&&$("share","Share: "+E,"action",un),$("hist","History: "+E,"action",wt),z&&$("download","Download: "+E,"action",()=>se.current?.click())),s&&l&&$("hist","History: whole project","action",()=>q("")),s)for(const J of e.projects||[])(!l||J.id!==l.id)&&$("folder","Switch to project: "+J.name,"project",()=>rn("/"+J.id));n.auth?.enabled&&$("power","Sign out","action",()=>window.location.href="/auth/logout");for(const J of y.keys())$("folder",J,"folder",()=>N(J));for(const J of p)$("doc",J.path,"file",()=>N(J.path));return D},[s,l,E,z,n.auth?.enabled,y,p,e.projects,e.onClosePanel,un,wt,q,N]);w.useEffect(()=>{if(!M)return;const D=()=>B(!1);return document.addEventListener("click",D),()=>document.removeEventListener("click",D)},[M]);const yn=w.useCallback(D=>y.has(D),[y]);let zr="app",sr,Yt;ee?Yt=ee.body:i.view==="dashboard"?Yt=f.jsx(pw,{flatFiles:p,heatMap:b,devices:C,scope:i.viewTarget||"",loading:!v,installHref:l?Wn("install",l.id):void 0,onOpenFile:N,onOpenFolder:N,onOpenHistory:q,isFolder:yn}):i.view==="history"?Yt=f.jsx(HP,{apiBase:r,target:i.viewTarget||"",isFolder:yn,onOpen:N,onMeta:te,onRendered:ue,restore:Dt?{onRestore:or,busy:Kt}:void 0,remove:Dt?{onRemove:Un,busy:Dr}:void 0,filters:i.filters,onFilters:D=>rn(Wn("history",l?.id,i.viewTarget||"",D))}):E?v?I?Yt=f.jsxs("div",{className:"notfound",children:[f.jsx("h1",{children:"Couldn't find that"}),f.jsxs("p",{children:[f.jsx("code",{children:E})," isn't in this project right now."]}),f.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),f.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):T?Yt=f.jsx(FI,{node:y.get(E),heatMap:b,hub:s&&!!l,apiBase:r,onOpen:N,onFullHistory:q,onRendered:ue}):(zr=jC.test(E)||TC.test(E)?"wide":"read",sr="markdown",Yt=f.jsxs(f.Fragment,{children:[R&&f.jsx(ZP,{apiBase:r,path:E,version:R,onViewCurrent:()=>N(E)}),f.jsx(UI,{apiBase:r,path:E,version:R,heatMap:b,flatFiles:p,onOpenFile:N,onMeta:te,onRendered:ue})]})):Yt=f.jsx("div",{className:"empty",children:"Loading…"}):x?Yt=f.jsxs(f.Fragment,{children:[f.jsx(FC,{project:l,existing:i.connect==="existing"}),f.jsx("div",{className:"home-insights",children:f.jsx(pw,{flatFiles:p,heatMap:b,devices:C,loading:!v,onOpenFile:N,onOpenFolder:N,onOpenHistory:q,isFolder:yn})})]}):Yt=f.jsx("div",{className:"empty",children:"Select a file to read it."});const bn=ee?ee.crumb:E?f.jsx(OI,{path:E,onOpenFolder:N}):i.view==="dashboard"?"Dashboard — "+(i.viewTarget||l?.name||""):i.view==="history"?"History — "+GP(i.viewTarget||"",yn):x?l.name:null,A=f.jsx(ll,{crumb:bn,meta:ae,actions:f.jsxs(f.Fragment,{children:[ve&&f.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:un,children:f.jsx(dt,{name:"share"})}),Fe&&!E&&!i.view&&f.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:wt,children:[f.jsx(dt,{name:"hist"})," ",f.jsx("span",{className:"lbl",children:"History"})]}),ft&&f.jsx("a",{id:"download",hidden:!0,download:!0,href:vn,ref:se,children:"Download"}),Qe&&f.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:D=>{D.stopPropagation(),B(!M)},children:f.jsx(dt,{name:"dots"})}),M&&f.jsxs("div",{id:"more-menu",role:"menu",children:[Fe&&f.jsx("button",{className:"more-item",onClick:wt,children:"History"}),ft&&f.jsx("button",{className:"more-item",onClick:()=>se.current?.click(),children:"Download"}),s&&!!l&&f.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),rn(Wn("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return f.jsxs(f.Fragment,{children:[f.jsx(sl,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:f.jsx(jI,{root:m,expanded:V,onToggle:ge,currentPath:O,listingShowing:F,onOpen:N}),topbar:A,contentRef:fe,onContentScroll:xe,children:f.jsxs(wu,{width:zr,className:sr,children:[!ee&&z&&f.jsx(WI,{shares:Ie,canRevoke:!!l&&wi(l.perm,"write"),onChanged:Ne}),Yt]})}),ne&&f.jsx(JI,{url:ne.url,copied:ne.copied,onClose:()=>{k(null),Ne()}}),f.jsx(AP,{open:X,onClose:()=>K(!1),candidates:oa})]})}function KP({config:e}){const n=Yp(),r=T_(),[i,s]=w.useState(null),[l,u]=w.useState(null);w.useEffect(()=>u(null),[n]);const d=w.useMemo(()=>{const ue=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return ue?ue[1]:null},[n]),{data:m}=w3(!d),{data:p}=S3(!d),y=!!e.auth.admin,{data:v}=j_(y),b=w.useMemo(()=>M_(n,"hub"),[n]),[x,S]=w.useState(!1),C=e.upload.enabled,E=async(ue,xe)=>{const N=xe===VC;try{const q=await Si("/api/projects",{name:ue,template:N?"":xe});S(!1),await r(),rn("/"+q.project.id+(N?"?connect=existing":"")),Ke(`Created “${q.project.name}”.`)}catch(q){Ke("Could not create the project: "+q.message,!0)}},R=w.useRef(!1);w.useEffect(()=>{R.current||d||!m||m.length>0||!C||(R.current=!0,S(!0))},[m,C,d]);const O=x?f.jsx(Y$,{templates:e.templates??[],onCreate:E,onClose:()=>S(!1)}):null,T=w.useMemo(()=>m&&(m.find(ue=>ue.id===b.project)||i&&m.find(ue=>ue.org===i)||m.find(ue=>ue.id===b$())||m[0])||null,[m,b.project,i]);if(w.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive",T&&x$(T.id)},[T,e]),d)return f.jsx(YP,{token:d,onDone:async ue=>{s(ue),await r(),rn("/",{replace:!0})}});const z=e.brand||"BearDrive",I=T&&p?.find(ue=>ue.id===T.org)||null,F=f.jsx(Qu,{name:z,onHome:()=>rn("/"),search:!!T}),V=e.me?f.jsx(F$,{me:e.me,org:I,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),pr()}}:void 0}):void 0;if(!m||!p)return f.jsx(sl,{vault:F,topbar:f.jsx(ll,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return f.jsxs(sl,{vault:F,projectsNav:f.jsx(aw,{projects:m,onNew:()=>S(!0)}),orgBar:V,topbar:f.jsx(ll,{}),children:[f.jsx(wu,{children:f.jsx(K$,{onNew:()=>S(!0),canCreate:C})}),O]});const U=l?.kind==="hub"?{crumb:"Signup & access",body:f.jsx(A$,{})}:null,pe=b.org?p.find(ue=>ue.id===b.org):null,fe=b.org&&!pe?{crumb:"Organization",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Organization not found"}),f.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...cl("/"+T.id),children:["Back to ",T.name]})})]})}:pe?{crumb:"Organization",body:f.jsx(j$,{org:pe,projects:m,myEmail:e.me?.email||""})}:null,Q=b.billing?{crumb:"Billing",body:e.billing?f.jsx(V$,{url:e.billing.url}):f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"No billing on this hub"}),f.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,le=b.view==="settings"?{crumb:"Project settings",body:f.jsx(B$,{project:T,org:I,onDeleted:async()=>{await r(),rn("/")}})}:b.view==="install"?{crumb:"Installation",body:f.jsx(FC,{project:T,existing:b.connect==="existing"})}:null;return!b.org&&!b.billing&&b.project!==T.id?f.jsx(su,{to:"/"+T.id}):b.legacyView&&b.view?f.jsx(su,{to:Wn(b.view,T.id,b.viewTarget)}):b.trailingSlash&&b.path?f.jsx(su,{to:Wu(b.path,T.id,b.version)}):f.jsxs(f.Fragment,{children:[f.jsx(nE,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:m,sidebar:{vault:F,projectsNav:f.jsx(aw,{projects:m,currentId:T.id,onNew:()=>S(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),rn(Wn("dashboard",T.id)),pr()},onInstall:()=>{u(null),rn(Wn("install",T.id)),pr()},onHistory:()=>{u(null),rn(Wn("history",T.id)),pr()},onSettings:()=>{u(null),rn(Wn("settings",T.id)),pr()}}}),orgBar:V},panel:U||fe||Q||le,onClosePanel:()=>u(null)},T.id),O]})}function YP({token:e,onDone:n}){return w.useEffect(()=>{let r=!1;return Si("/api/invites/"+e).then(i=>{r||(Ke(`Welcome — you joined the “${i.org.name}” team. Opening its projects…`),n(i.org.id))}).catch(i=>{r||String(i.message).includes("signing in")||(Ke("Could not accept the invite: "+i.message,!0),n(null))}),()=>{r=!0}},[e]),f.jsx(sl,{vault:f.jsx(Qu,{name:"BearDrive"}),topbar:f.jsx(ll,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Joining…"})})})}function QP({config:e}){const n=Yp(),r=e.volume||"BearDrive";w.useEffect(()=>{document.title=e.brand||r},[e,r]);const i=w.useMemo(()=>M_(n,"volume"),[n]);return i.trailingSlash&&i.path?f.jsx(su,{to:Wu(i.path)}):f.jsx(nE,{config:e,apiBase:"/api/",route:i,hub:!1,sidebar:{vault:f.jsx(Qu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function XP(){const{data:e}=hj();return f.jsxs(DD,{delayDuration:150,children:[e?e.mode==="hub"?f.jsx(KP,{config:e}):f.jsx(QP,{config:e}):f.jsx(sl,{vault:f.jsx(Qu,{name:"…",showSignout:!1}),topbar:f.jsx(ll,{}),children:f.jsx("div",{className:"empty",children:"Loading…"})}),f.jsx(h3,{}),f.jsx(y3,{})]})}class JP extends w.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){console.error("BearDrive: unhandled render error",n,r.componentStack)}render(){return this.state.error?f.jsxs("div",{className:"mx-auto max-w-lg p-8 text-sm",children:[f.jsx("h1",{className:"mb-2 text-lg font-semibold",children:"This page didn’t load"}),f.jsx("p",{className:"mb-4 opacity-80",children:"Something went wrong rendering this view. The rest of BearDrive is fine."}),f.jsx("p",{className:"mb-4",children:f.jsx("a",{className:"underline",href:"/",children:"Go to the project list"})}),f.jsx("pre",{className:"overflow-x-auto rounded bg-black/5 p-3 text-xs dark:bg-white/10",children:String(this.state.error)})]}):this.props.children}}const WP=new Q2({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});_2.createRoot(document.getElementById("root")).render(f.jsx(w.StrictMode,{children:f.jsx(JP,{children:f.jsx(X2,{client:WP,children:f.jsx(XP,{})})})})); diff --git a/internal/webapp/static/assets/index-CyrB689H.css b/internal/webapp/static/assets/index-CyrB689H.css new file mode 100644 index 0000000..6784620 --- /dev/null +++ b/internal/webapp/static/assets/index-CyrB689H.css @@ -0,0 +1 @@ +@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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-card:#15171b;--color-card-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#f5a623;--radius-ctl:7px}}@layer base,components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;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)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,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-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);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(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.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(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-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(--color-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-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-destructive\/20:focus-visible{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#f5a62380}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.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\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.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-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}.dark\:bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_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}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@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-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";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:"";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:"";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:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{color-scheme:dark;--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px;--page-read: 768px;--page-app: 768px;--page-wide: 1200px;--hero-top: clamp(32px, 8vh, 88px)}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-COnnvJff.woff2) format("woff2")}@font-face{font-family:Logo Fallback;src:local("Helvetica Neue"),local("Arial"),local("Segoe UI"),local("Roboto");size-adjust:73%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}:focus-visible{outline-color:var(--accent)}.admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{flex:none;display:grid;place-items:center;color:var(--accent)}#vault-name{font-family:"Jersey 10","Logo Fallback",var(--ui);font-size:18px;font-weight:400;font-synthesis:none;letter-spacing:.01em;line-height:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}.proj-mark svg{width:11px;height:11px}.proj-menu [data-slot=select-item]{display:flex;align-items:center;gap:8px}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}.tguide{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}#tree .row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree .row:hover{background:var(--hover);color:var(--text)}#tree .row.active{background:var(--glow);color:var(--accent-bright)}#tree .row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree .row:hover .ticon,#tree .row:hover .chev{color:var(--text-faint)}#tree .row.active .ticon,#tree .row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree .row.collapsed .chev{transform:rotate(-90deg)}.field-err{color:var(--del);font-size:12px;margin:6px 2px 0}.modal,#palette{translate:none}.admin-card-table{padding:0}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table th:last-child,.admin-table td:last-child{width:186px;text-align:right}.admin-table tr:last-child td{border-bottom:none}.admin-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:0;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.admin-table td{padding:0;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.admin-table tr.admin-item{display:table-row}.admin-table tr.admin-item td{padding:8px 10px}.admin-card-table{overflow-x:auto}.shares-table .admin-table th:last-child,.shares-table .admin-table td:last-child{width:110px}.share-banner{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-ctl);background:var(--surface)}.share-banner .sb-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.share-banner .sb-head .ico,.share-banner .sb-head svg{width:15px;height:15px;flex:none;color:var(--accent)}.share-banner .sb-count{color:var(--text-faint);font-size:12px}.share-banner .sb-note{margin:6px 0 10px;font-size:12.5px;line-height:1.55;color:var(--text-faint);max-width:64ch}.share-banner .sb-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.share-banner .sb-link+.sb-link{margin-top:8px}.share-banner .sb-url{flex:1 1 260px;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-banner .sb-meta{font-size:11.5px;color:var(--text-faint)}.share-banner .sb-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}#project-select{flex:1;min-width:0;height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;outline:none}#project-select>span:last-of-type{overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#project-select svg{color:var(--text-ghost)}.proj-menu{z-index:80;min-width:var(--radix-select-trigger-width, 200px);border:1px solid var(--border-2);border-radius:9px;padding:4px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059}.proj-menu [role=option]{font-size:12.5px;color:var(--text-dim);border-radius:6px;outline:none}.proj-menu [role=option][data-highlighted]{background:var(--hover);color:var(--text)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}.gh-star{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:2px;border-radius:7px;color:var(--text-faint);font-size:11px;text-decoration:none}.gh-star:hover{background:var(--hover);color:var(--text)}.gh-star .gh-mark{width:12px;height:12px;flex:none}.gh-star .ext{margin-left:auto;font-size:9px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{min-width:var(--radix-dropdown-menu-trigger-width, 220px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:80;outline:none}#account-menu [role=menuitem]{outline:none}#account-menu [role=menuitem][data-highlighted]{background:var(--hover);color:var(--text)}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu .plan-chip{margin-left:auto;color:var(--accent);border-color:var(--border-2)}#account-menu #signout{color:var(--del)}#account-menu #signout:hover{color:var(--del);background:var(--hover)}#billing-view .plan-chip{color:var(--accent)}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.plan-grid{grid-template-columns:1fr}}.usage-bar{background:var(--surface);border:1px solid var(--border);border-radius:4px;height:6px;overflow:hidden}.usage-bar>div{background:var(--accent);height:100%}.plan-price{font-size:20px;font-weight:700;margin:0 0 10px}.plan-price small{font-size:12px;color:var(--text-dim);font-weight:500}.muted-note{color:var(--text-dim);font-size:13px}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth}.page{width:100%;max-width:var(--page-app);margin-inline:auto;min-width:0}.page.read{max-width:var(--page-read)}.page.wide{max-width:var(--page-wide)}.empty{color:var(--text-faint);text-align:center;margin-top:var(--hero-top)}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-faint)}.onboard{max-width:560px;margin:var(--hero-top) auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-card.ob-start{border-color:var(--border-2);box-shadow:inset 2px 0 0 var(--accent)}.ob-card.ob-start .pbtn{margin-top:2px}.ob-alt{margin:12px 0 0}.ob-alt a{color:var(--text-faint);font-size:12.5px;font-weight:600;text-decoration:none}.ob-alt a:hover{color:var(--text)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}[data-slot=input],[data-slot=textarea]{font:inherit;color:var(--text)}[data-slot=input][aria-invalid=true]:focus-visible,[data-slot=textarea][aria-invalid=true]:focus-visible{border-color:var(--del)}[data-slot=card],[data-slot=dropdown-menu-content]{border-color:var(--border)}.project-settings{display:flex;flex-direction:column;gap:14px}.project-settings>h2{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.ps-form{display:flex;flex-direction:column;gap:18px}.ps-field{display:flex;flex-direction:column;gap:7px}.ps-field label{font-size:12.5px;color:var(--text-dim)}.ps-opt{color:var(--text-ghost);font-weight:400}.ps-icon-row{display:flex;align-items:center;gap:10px}.ps-icon-row .proj-mark{width:26px;height:26px;border-radius:7px}.ps-icon-row .proj-mark svg{width:15px;height:15px}.ps-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ps-meta .field-err{flex:0 1 auto;margin:0}.ps-count{font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ps-actions{display:flex;justify-content:flex-end}.ps-icon-grid{display:grid;grid-template-columns:repeat(6,30px);gap:4px;padding:8px}.ps-icon-cell{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer}.ps-icon-cell svg{width:16px;height:16px}.ps-icon-cell:hover{background:var(--hover);color:var(--text)}.ps-icon-cell.active{border-color:var(--accent);color:var(--accent-bright)}.ps-danger [data-slot=card-title]{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#d2695e;font-weight:600}.ps-chip{margin-left:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.ps-people h4{font-size:12.5px;font-weight:600;color:var(--text-dim);margin:0}.ps-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-dim);margin:0 0 10px}.ps-people select{height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}.ps-people select:disabled{opacity:.6;cursor:default}.ps-note{color:var(--text-faint);font-size:12.5px;margin:0 0 12px;max-width:56ch;line-height:1.55}.ps-people-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}.ps-danger p{color:var(--text-dim);font-size:13px;margin:0 0 14px;max-width:52ch;line-height:1.55}.ps-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:13px}.ps-facts dt{color:var(--text-faint)}.ps-facts dd{margin:0;color:var(--text-dim)}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;margin:30px 0 10px}.admin-lbl{flex:1 1 100%;margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--text-dim)}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:-2px 0 16px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-list.admin-card-table{overflow-x:auto;overflow-y:hidden}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.modal-actions .ai-btn{height:32px}.empty a{color:var(--accent);text-decoration:none;display:inline-block;padding:6px 10px}.empty a:hover{text-decoration:underline}.empty h3{margin:0 0 8px;font-size:16px;color:var(--text)}.ai-copy{text-align:left;background:none;border:0;padding:6px 0;cursor:pointer}.ai-copy:hover{color:var(--text)}a.ai-main{color:var(--text-dim);text-decoration:none;padding:6px 0}a.ai-main:hover{color:var(--accent)}.th-sort{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 10px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--text-dim)}.proj-trigger>[data-slot=select-value]{display:block;flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-cell{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;justify-items:start}.admin-table td .role-static{text-align:left}.role-chip-row{margin:-6px 0 12px}.role-chip{margin-left:0;padding:2px 8px;border:1px solid var(--border-2);border-radius:99px;vertical-align:middle}.ext{margin-left:4px;color:var(--text-faint);font-size:11px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:var(--hover)}.field-err{flex:1 1 100%;margin:6px 0 0}.admin-row{flex-wrap:wrap}.admin-row input[aria-invalid=true]{border-color:var(--del)}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.admin-item>.ai-main{flex:1 1 55%;min-width:22ch}.admin-item>.ai-tag{flex:0 0 auto;min-width:0;max-width:45%}@media(max-width:1000px){.admin-item{flex-wrap:wrap}.admin-item>.ai-tag{flex:1 1 100%;max-width:100%}}.admin-table td .ai-main{min-width:0}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-del{color:var(--del);border-color:#f26d6d47}.ai-del:hover{background:#f26d6d1f;border-color:var(--del);color:#ff8b8b}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{margin-top:2px;flex:none}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-name,#crumb,.hpath,.hnote,.hrun-note,.hdev,.ai-main{unicode-bidi:isolate-override;direction:ltr}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}#account-btn.active{background:var(--glow)}#account-btn.active .acct b{color:var(--accent-bright)}.gd-body{margin-top:18px}.gd-desc{margin:2px 0 8px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-list{margin:4px 0 8px;padding-left:18px;display:grid;gap:6px}.gd-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:6px 0 10px;padding:10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text)}.gd-code>code{display:block;min-width:0;overflow-x:auto;white-space:pre}.gd-copy{align-self:start;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-manual{margin:10px 0 0}.gd-manual>summary{display:inline-block;font-size:12.5px;font-weight:600;color:var(--text-faint);cursor:pointer;padding:4px 0}.gd-manual>summary:before{content:"▸ ";color:var(--text-ghost)}.gd-manual[open]>summary:before{content:"▾ "}.gd-manual>summary:hover{color:var(--text)}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.gd-head{display:flex;align-items:center;gap:9px}.gd-head .proj-mark{width:22px;height:22px;border-radius:6px}.gd-head .proj-mark svg{width:13px;height:13px}.in-desc{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0 0 10px;max-width:62ch}.in-blank{display:grid;justify-items:center;gap:10px;padding:40px 18px;margin-top:14px;max-width:760px}.in-blank p{margin:0;max-width:52ch;line-height:1.55}.in-blank p:first-child{color:var(--text);font-size:14.5px;font-weight:600}.in-blank .pbtn{margin-top:6px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;max-width:760px;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-pt-label{fill:var(--text-faint);font-size:11px;pointer-events:none}.in-h3-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;max-width:760px}.in-cap{font-size:11.5px;color:var(--text-faint);font-weight:400;text-transform:none;letter-spacing:0}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-share{background:#b478e8}.in-hp-gone{flex:none;font-size:11.5px;color:var(--text-ghost);white-space:nowrap}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-sw.share{background:#b478e8}.in-sw-age{width:84px;margin:0 5px}.in-tm-range{margin-left:14px;color:var(--text-ghost)}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.hfilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.hf-search{position:relative;display:flex;align-items:center;flex:1 1 200px;min-width:160px}.hf-search .ico{position:absolute;left:9px;width:14px;height:14px;color:var(--text-ghost);pointer-events:none}.hf-search input{height:30px;padding-left:29px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-search input::-webkit-search-cancel-button{filter:invert(.6)}.hf-user{height:30px;max-width:190px;padding:0 8px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.hf-dates{display:flex;align-items:center;gap:6px}.hf-lbl{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-ghost)}.hf-date{width:140px;height:30px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-date::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.hf-dash{color:var(--text-ghost)}.hf-clear{height:30px;padding:0 10px;border:none;border-radius:var(--r-ctl);background:none;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer}.hf-clear:hover{color:var(--text);background:var(--hover)}.hf-clear-empty{margin-top:12px}.hentry{padding:11px 12px;border-bottom:1px solid var(--border);--hindent: 72px}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{flex:none;width:62px;white-space:nowrap;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:2px 6px;border-radius:4px;color:var(--add);background:#4cc38a1f}.hentry.edit .hkind{color:var(--accent-bright);background:var(--glow)}.hentry.delete .hkind{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmore{display:flex;margin:14px auto}.hmore:disabled{opacity:.6;cursor:default}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"›";display:inline-block;margin-right:5px;color:var(--text-ghost);transition:transform .12s}.hnote.open:before{transform:rotate(90deg)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}.hrun{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin:10px 0;overflow:hidden}.hrun-head{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;color:var(--text);font-size:12.5px}.hrun-toggle{display:flex;flex:none;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-faint);cursor:pointer}.hrun-toggle:hover{color:var(--text);background:var(--hover)}.hrun-toggle .ico{width:13px;height:13px}.hrun-note{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}.hrun-note a{color:var(--accent-bright);text-decoration:none}.hrun-note a:hover{text-decoration:underline}.hrun-meta{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrun-time{margin-left:auto;flex:none;color:var(--text-faint);font-variant-numeric:tabular-nums}.hrun-body{border-top:1px solid var(--border)}.hrun-body .hentry:last-child{border-bottom:none}.hrestore-btn,.hremove-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px 2px 5px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer}.hrestore-btn:hover{color:var(--accent-bright);border-color:var(--border-2);background:var(--hover)}.hremove-btn:hover{color:var(--del);border-color:#f26d6d61;background:var(--hover)}.hrestore-btn:disabled,.hremove-btn:disabled{opacity:.5;cursor:default}.hrestore-btn .ico,.hremove-btn .ico{width:12px;height:12px}.hactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0 23px}.hdiff-btn,.hver-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.hdiff-btn:hover,.hver-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--hover)}.hdiff-btn .ico,.hver-btn .ico{width:12px;height:12px}.hdiff-none{flex-basis:100%;font-size:12px;color:var(--text-ghost)}.dv{margin:8px 0 2px 23px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.dv-msg{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;font-size:12px;color:var(--text-faint)}.dv-dl{display:flex;gap:12px}.dv-msg a{color:var(--accent-bright);text-decoration:none}.dv-msg a:hover{text-decoration:underline}.dv-head{display:flex;align-items:center;gap:10px;padding:5px 11px;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.dv-add{color:var(--add);font-weight:600}.dv-del{color:var(--del);font-weight:600}.dv-same{color:var(--text-ghost)}.dv-body{overflow-x:auto;padding:4px 0}.dv-line{display:flex;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre}.dv-n{flex:none;width:34px;padding-right:8px;text-align:right;color:var(--text-ghost);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.dv-mark{flex:none;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.dv-text{padding-right:12px}.dv-ins{background:#4cc38a1a;color:var(--add)}.dv-rm{background:#f26d6d1a;color:#ff8b8b}.dv-ctx{color:var(--text-dim)}#palette{position:fixed;top:12vh;left:50%;transform:translate(-50%);z-index:151;display:block;width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden;outline:none;padding:0}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap [data-slot=command-input-wrapper]{flex:1;display:flex;border-bottom:0;padding:0;height:auto}#palette-inputwrap [data-slot=command-input-wrapper]>svg:not(.ico){display:none}#palette input,#palette input:focus{flex:1;width:100%;border:none;background:transparent;box-shadow:none;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette input::placeholder{color:var(--text-ghost)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette [cmdk-list]{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette [cmdk-item]{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette [cmdk-item][data-selected=true]{background:var(--glow)}#palette [cmdk-item][data-selected=true] .picon{color:var(--accent)}#palette [cmdk-item][data-selected=true] .plabel,#palette [cmdk-item][data-selected=true] .plabel b{color:var(--accent-bright)}#palette [cmdk-item] .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette [cmdk-item] .picon .ico{width:15px;height:15px}#palette [cmdk-item] .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette [cmdk-item] .plabel b{color:var(--accent-bright);font-weight:600}#palette [cmdk-item] .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette [cmdk-list] .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}[data-slot=dialog-overlay]{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:150}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:151;display:block;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,calc(100vw - 40px));box-shadow:0 24px 70px -18px #000c;outline:none}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-expiry{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:12.5px;color:var(--text-dim)}.modal-expiry select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.modal-expiry select:disabled{opacity:.6;cursor:default}.modal-expiry-note{margin-left:auto;color:var(--text-dim)}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}.start-points{border:0;margin:0 0 18px;padding:0}.start-points legend{padding:0}.start-point{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;margin-bottom:6px}.start-point:hover{background:var(--hover)}.start-point.on{border-color:var(--accent);background:var(--hover)}.start-point input{accent-color:var(--accent);margin:2px 0 0;flex:none}.sp-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-title{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:8px}.sp-rec{font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px;line-height:15px}.sp-blurb{font-size:12px;color:var(--text-dim);overflow-wrap:anywhere}.start-point.sp-rule{margin-top:16px}.modal{max-height:calc(100vh - 32px);overflow-y:auto}.gd-note{margin:-4px 0 16px;font-size:13px;color:var(--text-dim);border-left:2px solid var(--accent);padding-left:11px;line-height:1.55}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn,#search-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#meta{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree .row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select,.hf-search input,.hf-user,.hf-date,.hf-clear{height:44px}.hf-dates{flex:1 1 100%}.hf-date{flex:1;width:auto;min-width:0}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table td{display:block;width:auto}.admin-table tr.admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-table tr.admin-item td{padding:0;border-bottom:none}.admin-table tr.admin-item td:first-child{flex:1 1 100%;width:auto}.admin-table tr.admin-item td:last-child{width:auto;text-align:left}[data-slot=dropdown-menu-item]{min-height:44px}#projects{flex:0 1 auto;max-height:none}.admin-row{flex-wrap:wrap}.admin-row input{flex:1 1 100%;min-height:44px}.admin-row button{flex:0 0 auto;align-self:flex-start;min-height:44px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.admin-table td{white-space:normal}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{white-space:normal;overflow-wrap:anywhere}.admin-item .ai-tag{flex:1 1 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ai-copy{min-height:44px;display:block;padding:12px 0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}a.ai-main{min-height:44px;display:flex;align-items:center}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button{height:auto;min-height:44px}.modal-expiry select{height:44px}.pbtn,#palette [cmdk-item]{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-row{flex-wrap:wrap;row-gap:2px}.dl-meta{flex:1 1 100%;padding-left:27px}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.hentry{--hindent: 0px}.modal-actions .ai-del{flex:0 0 100%;justify-content:center;text-align:center}}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown .admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin input[aria-invalid=true]:focus-visible{outline-color:var(--del)}[role=dialog] input[aria-invalid=true]{border-color:var(--del)}[role=dialog] input[aria-invalid=true]:focus-visible{outline-color:var(--del)}button:disabled,.btn:disabled{cursor:default}input[type=checkbox]{accent-color:var(--accent)}.htmlview,.pdfview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}.vbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:11px 14px;border:1px solid var(--accent-dim);border-radius:var(--r-card);background:var(--glow)}.vbanner .vb-icon{flex:none;display:flex;color:var(--accent-bright)}.vbanner .vb-text{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.45}.vbanner .vb-text b{color:var(--accent-bright);font-weight:600}.vbanner .vb-text span{color:var(--text-dim)}.vbanner .vb-actions{flex:none;display:flex;gap:8px}.vbanner .vb-actions .ai-btn{display:inline-flex;align-items:center;text-decoration:none}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere}.filecard{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} diff --git a/internal/webapp/static/assets/index-DKdbhP6i.css b/internal/webapp/static/assets/index-DKdbhP6i.css deleted file mode 100644 index fde0b20..0000000 --- a/internal/webapp/static/assets/index-DKdbhP6i.css +++ /dev/null @@ -1 +0,0 @@ -@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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-card:#15171b;--color-card-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#f5a623;--radius-ctl:7px}}@layer base,components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;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)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,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-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);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(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.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(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-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(--color-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-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-destructive\/20:focus-visible{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#f5a62380}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.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\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.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-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}.dark\:bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_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}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@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-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";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:"";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:"";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:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{color-scheme:dark;--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px;--page-read: 768px;--page-app: 768px;--page-wide: 1200px;--hero-top: clamp(32px, 8vh, 88px)}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-COnnvJff.woff2) format("woff2")}@font-face{font-family:Logo Fallback;src:local("Helvetica Neue"),local("Arial"),local("Segoe UI"),local("Roboto");size-adjust:73%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}:focus-visible{outline-color:var(--accent)}.admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{flex:none;display:grid;place-items:center;color:var(--accent)}#vault-name{font-family:"Jersey 10","Logo Fallback",var(--ui);font-size:18px;font-weight:400;font-synthesis:none;letter-spacing:.01em;line-height:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}.proj-mark svg{width:11px;height:11px}.proj-menu [data-slot=select-item]{display:flex;align-items:center;gap:8px}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}.tguide{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}#tree .row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree .row:hover{background:var(--hover);color:var(--text)}#tree .row.active{background:var(--glow);color:var(--accent-bright)}#tree .row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree .row:hover .ticon,#tree .row:hover .chev{color:var(--text-faint)}#tree .row.active .ticon,#tree .row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree .row.collapsed .chev{transform:rotate(-90deg)}.field-err{color:var(--del);font-size:12px;margin:6px 2px 0}.modal,#palette{translate:none}.admin-card-table{padding:0}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table th:last-child,.admin-table td:last-child{width:186px;text-align:right}.admin-table tr:last-child td{border-bottom:none}.admin-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:0;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.admin-table td{padding:0;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.admin-table tr.admin-item{display:table-row}.admin-table tr.admin-item td{padding:8px 10px}.admin-card-table{overflow-x:auto}.shares-table .admin-table th:last-child,.shares-table .admin-table td:last-child{width:110px}.share-banner{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-ctl);background:var(--surface)}.share-banner .sb-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.share-banner .sb-head .ico,.share-banner .sb-head svg{width:15px;height:15px;flex:none;color:var(--accent)}.share-banner .sb-count{color:var(--text-faint);font-size:12px}.share-banner .sb-note{margin:6px 0 10px;font-size:12.5px;line-height:1.55;color:var(--text-faint);max-width:64ch}.share-banner .sb-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.share-banner .sb-link+.sb-link{margin-top:8px}.share-banner .sb-url{flex:1 1 260px;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-banner .sb-meta{font-size:11.5px;color:var(--text-faint)}.share-banner .sb-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}#project-select{flex:1;min-width:0;height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;outline:none}#project-select>span:last-of-type{overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#project-select svg{color:var(--text-ghost)}.proj-menu{z-index:80;min-width:var(--radix-select-trigger-width, 200px);border:1px solid var(--border-2);border-radius:9px;padding:4px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059}.proj-menu [role=option]{font-size:12.5px;color:var(--text-dim);border-radius:6px;outline:none}.proj-menu [role=option][data-highlighted]{background:var(--hover);color:var(--text)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}.gh-star{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:2px;border-radius:7px;color:var(--text-faint);font-size:11px;text-decoration:none}.gh-star:hover{background:var(--hover);color:var(--text)}.gh-star .gh-mark{width:12px;height:12px;flex:none}.gh-star .ext{margin-left:auto;font-size:9px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{min-width:var(--radix-dropdown-menu-trigger-width, 220px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:80;outline:none}#account-menu [role=menuitem]{outline:none}#account-menu [role=menuitem][data-highlighted]{background:var(--hover);color:var(--text)}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu .plan-chip{margin-left:auto;color:var(--accent);border-color:var(--border-2)}#account-menu #signout{color:var(--del)}#account-menu #signout:hover{color:var(--del);background:var(--hover)}#billing-view .plan-chip{color:var(--accent)}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.plan-grid{grid-template-columns:1fr}}.usage-bar{background:var(--surface);border:1px solid var(--border);border-radius:4px;height:6px;overflow:hidden}.usage-bar>div{background:var(--accent);height:100%}.plan-price{font-size:20px;font-weight:700;margin:0 0 10px}.plan-price small{font-size:12px;color:var(--text-dim);font-weight:500}.muted-note{color:var(--text-dim);font-size:13px}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth}.page{width:100%;max-width:var(--page-app);margin-inline:auto;min-width:0}.page.read{max-width:var(--page-read)}.page.wide{max-width:var(--page-wide)}.empty{color:var(--text-faint);text-align:center;margin-top:var(--hero-top)}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-faint)}.onboard{max-width:560px;margin:var(--hero-top) auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-card.ob-start{border-color:var(--border-2);box-shadow:inset 2px 0 0 var(--accent)}.ob-card.ob-start .pbtn{margin-top:2px}.ob-alt{margin:12px 0 0}.ob-alt a{color:var(--text-faint);font-size:12.5px;font-weight:600;text-decoration:none}.ob-alt a:hover{color:var(--text)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}[data-slot=input],[data-slot=textarea]{font:inherit;color:var(--text)}[data-slot=input][aria-invalid=true]:focus-visible,[data-slot=textarea][aria-invalid=true]:focus-visible{border-color:var(--del)}[data-slot=card],[data-slot=dropdown-menu-content]{border-color:var(--border)}.project-settings{display:flex;flex-direction:column;gap:14px}.project-settings>h2{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.ps-form{display:flex;flex-direction:column;gap:18px}.ps-field{display:flex;flex-direction:column;gap:7px}.ps-field label{font-size:12.5px;color:var(--text-dim)}.ps-opt{color:var(--text-ghost);font-weight:400}.ps-icon-row{display:flex;align-items:center;gap:10px}.ps-icon-row .proj-mark{width:26px;height:26px;border-radius:7px}.ps-icon-row .proj-mark svg{width:15px;height:15px}.ps-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ps-meta .field-err{flex:0 1 auto;margin:0}.ps-count{font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ps-actions{display:flex;justify-content:flex-end}.ps-icon-grid{display:grid;grid-template-columns:repeat(6,30px);gap:4px;padding:8px}.ps-icon-cell{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer}.ps-icon-cell svg{width:16px;height:16px}.ps-icon-cell:hover{background:var(--hover);color:var(--text)}.ps-icon-cell.active{border-color:var(--accent);color:var(--accent-bright)}.ps-danger [data-slot=card-title]{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#d2695e;font-weight:600}.ps-chip{margin-left:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.ps-people h4{font-size:12.5px;font-weight:600;color:var(--text-dim);margin:0}.ps-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-dim);margin:0 0 10px}.ps-people select{height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}.ps-people select:disabled{opacity:.6;cursor:default}.ps-note{color:var(--text-faint);font-size:12.5px;margin:0 0 12px;max-width:56ch;line-height:1.55}.ps-people-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}.ps-danger p{color:var(--text-dim);font-size:13px;margin:0 0 14px;max-width:52ch;line-height:1.55}.ps-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:13px}.ps-facts dt{color:var(--text-faint)}.ps-facts dd{margin:0;color:var(--text-dim)}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;margin:30px 0 10px}.admin-lbl{flex:1 1 100%;margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--text-dim)}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:-2px 0 16px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-list.admin-card-table{overflow-x:auto;overflow-y:hidden}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.modal-actions .ai-btn{height:32px}.empty a{color:var(--accent);text-decoration:none;display:inline-block;padding:6px 10px}.empty a:hover{text-decoration:underline}.empty h3{margin:0 0 8px;font-size:16px;color:var(--text)}.ai-copy{text-align:left;background:none;border:0;padding:6px 0;cursor:pointer}.ai-copy:hover{color:var(--text)}a.ai-main{color:var(--text-dim);text-decoration:none;padding:6px 0}a.ai-main:hover{color:var(--accent)}.th-sort{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 10px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--text-dim)}.proj-trigger>[data-slot=select-value]{display:block;flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-cell{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;justify-items:start}.admin-table td .role-static{text-align:left}.role-chip-row{margin:-6px 0 12px}.role-chip{margin-left:0;padding:2px 8px;border:1px solid var(--border-2);border-radius:99px;vertical-align:middle}.ext{margin-left:4px;color:var(--text-faint);font-size:11px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:var(--hover)}.field-err{flex:1 1 100%;margin:6px 0 0}.admin-row{flex-wrap:wrap}.admin-row input[aria-invalid=true]{border-color:var(--del)}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.admin-item>.ai-main{flex:1 1 55%;min-width:22ch}.admin-item>.ai-tag{flex:0 0 auto;min-width:0;max-width:45%}@media(max-width:1000px){.admin-item{flex-wrap:wrap}.admin-item>.ai-tag{flex:1 1 100%;max-width:100%}}.admin-table td .ai-main{min-width:0}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-del{color:var(--del);border-color:#f26d6d47}.ai-del:hover{background:#f26d6d1f;border-color:var(--del);color:#ff8b8b}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{margin-top:2px;flex:none}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-name,#crumb,.hpath,.hnote,.hrun-note,.hdev,.ai-main{unicode-bidi:isolate-override;direction:ltr}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}#account-btn.active{background:var(--glow)}#account-btn.active .acct b{color:var(--accent-bright)}.gd-body{margin-top:18px}.gd-desc{margin:2px 0 8px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-list{margin:4px 0 8px;padding-left:18px;display:grid;gap:6px}.gd-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:6px 0 10px;padding:10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text)}.gd-code>code{display:block;min-width:0;overflow-x:auto;white-space:pre}.gd-copy{align-self:start;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-manual{margin:10px 0 0}.gd-manual>summary{display:inline-block;font-size:12.5px;font-weight:600;color:var(--text-faint);cursor:pointer;padding:4px 0}.gd-manual>summary:before{content:"▸ ";color:var(--text-ghost)}.gd-manual[open]>summary:before{content:"▾ "}.gd-manual>summary:hover{color:var(--text)}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.gd-head{display:flex;align-items:center;gap:9px}.gd-head .proj-mark{width:22px;height:22px;border-radius:6px}.gd-head .proj-mark svg{width:13px;height:13px}.in-desc{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0 0 10px;max-width:62ch}.in-blank{display:grid;justify-items:center;gap:10px;padding:40px 18px;margin-top:14px;max-width:760px}.in-blank p{margin:0;max-width:52ch;line-height:1.55}.in-blank p:first-child{color:var(--text);font-size:14.5px;font-weight:600}.in-blank .pbtn{margin-top:6px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;max-width:760px;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-pt-label{fill:var(--text-faint);font-size:11px;pointer-events:none}.in-h3-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;max-width:760px}.in-cap{font-size:11.5px;color:var(--text-faint);font-weight:400;text-transform:none;letter-spacing:0}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-share{background:#b478e8}.in-hp-gone{flex:none;font-size:11.5px;color:var(--text-ghost);white-space:nowrap}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-sw.share{background:#b478e8}.in-sw-age{width:84px;margin:0 5px}.in-tm-range{margin-left:14px;color:var(--text-ghost)}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.hfilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.hf-search{position:relative;display:flex;align-items:center;flex:1 1 200px;min-width:160px}.hf-search .ico{position:absolute;left:9px;width:14px;height:14px;color:var(--text-ghost);pointer-events:none}.hf-search input{height:30px;padding-left:29px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-search input::-webkit-search-cancel-button{filter:invert(.6)}.hf-user{height:30px;max-width:190px;padding:0 8px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.hf-dates{display:flex;align-items:center;gap:6px}.hf-lbl{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-ghost)}.hf-date{width:140px;height:30px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-date::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.hf-dash{color:var(--text-ghost)}.hf-clear{height:30px;padding:0 10px;border:none;border-radius:var(--r-ctl);background:none;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer}.hf-clear:hover{color:var(--text);background:var(--hover)}.hf-clear-empty{margin-top:12px}.hentry{padding:11px 12px;border-bottom:1px solid var(--border);--hindent: 72px}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{flex:none;width:62px;white-space:nowrap;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:2px 6px;border-radius:4px;color:var(--add);background:#4cc38a1f}.hentry.edit .hkind{color:var(--accent-bright);background:var(--glow)}.hentry.delete .hkind{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmore{display:flex;margin:14px auto}.hmore:disabled{opacity:.6;cursor:default}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"›";display:inline-block;margin-right:5px;color:var(--text-ghost);transition:transform .12s}.hnote.open:before{transform:rotate(90deg)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}.hrun{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin:10px 0;overflow:hidden}.hrun-head{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;color:var(--text);font-size:12.5px}.hrun-toggle{display:flex;flex:none;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-faint);cursor:pointer}.hrun-toggle:hover{color:var(--text);background:var(--hover)}.hrun-toggle .ico{width:13px;height:13px}.hrun-note{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}.hrun-note a{color:var(--accent-bright);text-decoration:none}.hrun-note a:hover{text-decoration:underline}.hrun-meta{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrun-time{margin-left:auto;flex:none;color:var(--text-faint);font-variant-numeric:tabular-nums}.hrun-body{border-top:1px solid var(--border)}.hrun-body .hentry:last-child{border-bottom:none}.hrestore-btn,.hremove-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px 2px 5px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer}.hrestore-btn:hover{color:var(--accent-bright);border-color:var(--border-2);background:var(--hover)}.hremove-btn:hover{color:var(--del);border-color:#f26d6d61;background:var(--hover)}.hrestore-btn:disabled,.hremove-btn:disabled{opacity:.5;cursor:default}.hrestore-btn .ico,.hremove-btn .ico{width:12px;height:12px}.hactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0 23px}.hdiff-btn,.hver-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.hdiff-btn:hover,.hver-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--hover)}.hdiff-btn .ico,.hver-btn .ico{width:12px;height:12px}.hdiff-none{flex-basis:100%;font-size:12px;color:var(--text-ghost)}.dv{margin:8px 0 2px 23px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.dv-msg{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;font-size:12px;color:var(--text-faint)}.dv-dl{display:flex;gap:12px}.dv-msg a{color:var(--accent-bright);text-decoration:none}.dv-msg a:hover{text-decoration:underline}.dv-head{display:flex;align-items:center;gap:10px;padding:5px 11px;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.dv-add{color:var(--add);font-weight:600}.dv-del{color:var(--del);font-weight:600}.dv-same{color:var(--text-ghost)}.dv-body{overflow-x:auto;padding:4px 0}.dv-line{display:flex;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre}.dv-n{flex:none;width:34px;padding-right:8px;text-align:right;color:var(--text-ghost);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.dv-mark{flex:none;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.dv-text{padding-right:12px}.dv-ins{background:#4cc38a1a;color:var(--add)}.dv-rm{background:#f26d6d1a;color:#ff8b8b}.dv-ctx{color:var(--text-dim)}#palette{position:fixed;top:12vh;left:50%;transform:translate(-50%);z-index:151;display:block;width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden;outline:none;padding:0}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap [data-slot=command-input-wrapper]{flex:1;display:flex;border-bottom:0;padding:0;height:auto}#palette-inputwrap [data-slot=command-input-wrapper]>svg:not(.ico){display:none}#palette input,#palette input:focus{flex:1;width:100%;border:none;background:transparent;box-shadow:none;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette input::placeholder{color:var(--text-ghost)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette [cmdk-list]{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette [cmdk-item]{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette [cmdk-item][data-selected=true]{background:var(--glow)}#palette [cmdk-item][data-selected=true] .picon{color:var(--accent)}#palette [cmdk-item][data-selected=true] .plabel,#palette [cmdk-item][data-selected=true] .plabel b{color:var(--accent-bright)}#palette [cmdk-item] .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette [cmdk-item] .picon .ico{width:15px;height:15px}#palette [cmdk-item] .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette [cmdk-item] .plabel b{color:var(--accent-bright);font-weight:600}#palette [cmdk-item] .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette [cmdk-list] .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}[data-slot=dialog-overlay]{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:150}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:151;display:block;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,calc(100vw - 40px));box-shadow:0 24px 70px -18px #000c;outline:none}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-expiry{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:12.5px;color:var(--text-dim)}.modal-expiry select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.modal-expiry select:disabled{opacity:.6;cursor:default}.modal-expiry-note{margin-left:auto;color:var(--text-dim)}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}.start-points{border:0;margin:0 0 18px;padding:0}.start-points legend{padding:0}.start-point{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;margin-bottom:6px}.start-point:hover{background:var(--hover)}.start-point.on{border-color:var(--accent);background:var(--hover)}.start-point input{accent-color:var(--accent);margin:2px 0 0;flex:none}.sp-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-title{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:8px}.sp-rec{font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px;line-height:15px}.sp-blurb{font-size:12px;color:var(--text-dim);overflow-wrap:anywhere}.start-point.sp-rule{margin-top:16px}.modal{max-height:calc(100vh - 32px);overflow-y:auto}.gd-note{margin:-4px 0 16px;font-size:13px;color:var(--text-dim);border-left:2px solid var(--accent);padding-left:11px;line-height:1.55}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn,#search-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#meta{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree .row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select,.hf-search input,.hf-user,.hf-date,.hf-clear{height:44px}.hf-dates{flex:1 1 100%}.hf-date{flex:1;width:auto;min-width:0}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table td{display:block;width:auto}.admin-table tr.admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-table tr.admin-item td{padding:0;border-bottom:none}.admin-table tr.admin-item td:first-child{flex:1 1 100%;width:auto}.admin-table tr.admin-item td:last-child{width:auto;text-align:left}[data-slot=dropdown-menu-item]{min-height:44px}#projects{flex:0 1 auto;max-height:none}.admin-row{flex-wrap:wrap}.admin-row input{flex:1 1 100%;min-height:44px}.admin-row button{flex:0 0 auto;align-self:flex-start;min-height:44px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.admin-table td{white-space:normal}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{white-space:normal;overflow-wrap:anywhere}.admin-item .ai-tag{flex:1 1 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ai-copy{min-height:44px;display:block;padding:12px 0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}a.ai-main{min-height:44px;display:flex;align-items:center}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button{height:auto;min-height:44px}.modal-expiry select{height:44px}.pbtn,#palette [cmdk-item]{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-row{flex-wrap:wrap;row-gap:2px}.dl-meta{flex:1 1 100%;padding-left:27px}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.hentry{--hindent: 0px}.modal-actions .ai-del{flex:0 0 100%;justify-content:center;text-align:center}}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown .admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin input[aria-invalid=true]:focus-visible{outline-color:var(--del)}[role=dialog] input[aria-invalid=true]{border-color:var(--del)}[role=dialog] input[aria-invalid=true]:focus-visible{outline-color:var(--del)}button:disabled,.btn:disabled{cursor:default}input[type=checkbox]{accent-color:var(--accent)}.htmlview,.pdfview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}.vbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:11px 14px;border:1px solid var(--accent-dim);border-radius:var(--r-card);background:var(--glow)}.vbanner .vb-icon{flex:none;display:flex;color:var(--accent-bright)}.vbanner .vb-text{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.45}.vbanner .vb-text b{color:var(--accent-bright);font-weight:600}.vbanner .vb-text span{color:var(--text-dim)}.vbanner .vb-actions{flex:none;display:flex;gap:8px}.vbanner .vb-actions .ai-btn{display:inline-flex;align-items:center;text-decoration:none}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere}.filecard{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} diff --git a/internal/webapp/static/index.html b/internal/webapp/static/index.html index 2d1976b..4699d04 100644 --- a/internal/webapp/static/index.html +++ b/internal/webapp/static/index.html @@ -5,8 +5,8 @@ BearDrive - - + +