From 60aa70c82e57ec0311189dd5420c8f5ec207a2cf Mon Sep 17 00:00:00 2001 From: Hasan Demirkiran
ce<=0)){var ue,q;const ce=(((ue=d.flip)==null?void 0:ue.index)||0)+1,ee=B[ce];if(ee&&(!(S==="alignment"?D!==Ft(ee):!1)||ne.every(L=>Ft(L.placement)===D?L.overflows[0]>0:!0)))return{data:{index:ce,overflows:ne},reset:{placement:ee}};let ie=(q=ne.filter(se=>se.overflows[0]<=0).sort((se,L)=>se.overflows[1]-L.overflows[1])[0])==null?void 0:q.placement;if(!ie)switch(k){case"bestFit":{var he;const se=(he=ne.filter(L=>{if(G){const Y=Ft(L.placement);return Y===D||Y==="y"}return!0}).map(L=>[L.placement,L.overflows.filter(Y=>Y>0).reduce((Y,V)=>Y+V,0)]).sort((L,Y)=>L[1]-Y[1])[0])==null?void 0:he[0];se&&(ie=se);break}case"initialPlacement":ie=m;break}if(c!==ie)return{reset:{placement:ie}}}return{}}}};function Bf(n,i){return{top:n.top-i.height,right:n.right-i.width,bottom:n.bottom-i.height,left:n.left-i.width}}function Vf(n){return m0.some(i=>n[i]>=0)}const b0=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(i){const{rects:l,platform:a}=i,{strategy:c="referenceHidden",...d}=tn(n,i);switch(c){case"referenceHidden":{const f=await a.detectOverflow(i,{...d,elementContext:"reference"}),m=Bf(f,l.reference);return{data:{referenceHiddenOffsets:m,referenceHidden:Vf(m)}}}case"escaped":{const f=await a.detectOverflow(i,{...d,altBoundary:!0}),m=Bf(f,l.floating);return{data:{escapedOffsets:m,escaped:Vf(m)}}}default:return{}}}}},xm=new Set(["left","top"]);async function R0(n,i){const{placement:l,platform:a,elements:c}=n,d=await(a.isRTL==null?void 0:a.isRTL(c.floating)),f=nn(l),m=Tr(l),v=Ft(l)==="y",x=xm.has(f)?-1:1,y=d&&v?-1:1,S=tn(i,n);let{mainAxis:_,crossAxis:k,alignmentAxis:b}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:S.mainAxis||0,crossAxis:S.crossAxis||0,alignmentAxis:S.alignmentAxis};return m&&typeof b=="number"&&(k=m==="end"?b*-1:b),v?{x:k*y,y:_*x}:{x:_*x,y:k*y}}const j0=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(i){var l,a;const{x:c,y:d,placement:f,middlewareData:m}=i,v=await R0(i,n);return f===((l=m.offset)==null?void 0:l.placement)&&(a=m.arrow)!=null&&a.alignmentOffset?{}:{x:c+v.x,y:d+v.y,data:{...v,placement:f}}}}},T0=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(i){const{x:l,y:a,placement:c,platform:d}=i,{mainAxis:f=!0,crossAxis:m=!1,limiter:v={fn:A=>{let{x:D,y:$}=A;return{x:D,y:$}}},...x}=tn(n,i),y={x:l,y:a},S=await d.detectOverflow(i,x),_=Ft(nn(c)),k=nu(_);let b=y[k],E=y[_];if(f){const A=k==="y"?"top":"left",D=k==="y"?"bottom":"right",$=b+S[A],M=b-S[D];b=$a($,b,M)}if(m){const A=_==="y"?"top":"left",D=_==="y"?"bottom":"right",$=E+S[A],M=E-S[D];E=$a($,E,M)}const j=v.fn({...i,[k]:b,[_]:E});return{...j,data:{x:j.x-l,y:j.y-a,enabled:{[k]:f,[_]:m}}}}}},O0=function(n){return n===void 0&&(n={}),{options:n,fn(i){const{x:l,y:a,placement:c,rects:d,middlewareData:f}=i,{offset:m=0,mainAxis:v=!0,crossAxis:x=!0}=tn(n,i),y={x:l,y:a},S=Ft(c),_=nu(S);let k=y[_],b=y[S];const E=tn(m,i),j=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(v){const $=_==="y"?"height":"width",M=d.reference[_]-d.floating[$]+j.mainAxis,U=d.reference[_]+d.reference[$]-j.mainAxis;kU&&(k=U)}if(x){var A,D;const $=_==="y"?"width":"height",M=xm.has(nn(c)),U=d.reference[S]-d.floating[$]+(M&&((A=f.offset)==null?void 0:A[S])||0)+(M?0:j.crossAxis),G=d.reference[S]+d.reference[$]+(M?0:((D=f.offset)==null?void 0:D[S])||0)-(M?j.crossAxis:0);bG&&(b=G)}return{[_]:k,[S]:b}}}},A0=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(i){var l,a;const{placement:c,rects:d,platform:f,elements:m}=i,{apply:v=()=>{},...x}=tn(n,i),y=await f.detectOverflow(i,x),S=nn(c),_=Tr(c),k=Ft(c)==="y",{width:b,height:E}=d.floating;let j,A;S==="top"||S==="bottom"?(j=S,A=_===(await(f.isRTL==null?void 0:f.isRTL(m.floating))?"start":"end")?"left":"right"):(A=S,j=_==="end"?"top":"bottom");const D=E-y.top-y.bottom,$=b-y.left-y.right,M=Pn(E-y[j],D),U=Pn(b-y[A],$),G=!i.middlewareData.shift;let B=M,le=U;if((l=i.middlewareData.shift)!=null&&l.enabled.x&&(le=$),(a=i.middlewareData.shift)!=null&&a.enabled.y&&(B=D),G&&!_){const ne=ft(y.left,0),ue=ft(y.right,0),q=ft(y.top,0),he=ft(y.bottom,0);k?le=b-2*(ne!==0||ue!==0?ne+ue:ft(y.left,y.right)):B=E-2*(q!==0||he!==0?q+he:ft(y.top,y.bottom))}await v({...i,availableWidth:le,availableHeight:B});const te=await f.getDimensions(m.floating);return b!==te.width||E!==te.height?{reset:{rects:!0}}:{}}}};function dl(){return typeof window<"u"}function Or(n){return wm(n)?(n.nodeName||"").toLowerCase():"#document"}function mt(n){var i;return(n==null||(i=n.ownerDocument)==null?void 0:i.defaultView)||window}function Ut(n){var i;return(i=(wm(n)?n.ownerDocument:n.document)||window.document)==null?void 0:i.documentElement}function wm(n){return dl()?n instanceof Node||n instanceof mt(n).Node:!1}function Rt(n){return dl()?n instanceof Element||n instanceof mt(n).Element:!1}function rn(n){return dl()?n instanceof HTMLElement||n instanceof mt(n).HTMLElement:!1}function Gf(n){return!dl()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof mt(n).ShadowRoot}function Po(n){const{overflow:i,overflowX:l,overflowY:a,display:c}=jt(n);return/auto|scroll|overlay|hidden|clip/.test(i+a+l)&&c!=="inline"&&c!=="contents"}function D0(n){return/^(table|td|th)$/.test(Or(n))}function fl(n){try{if(n.matches(":popover-open"))return!0}catch{}try{return n.matches(":modal")}catch{return!1}}const L0=/transform|translate|scale|rotate|perspective|filter/,M0=/paint|layout|strict|content/,Hn=n=>!!n&&n!=="none";let Ta;function iu(n){const i=Rt(n)?jt(n):n;return Hn(i.transform)||Hn(i.translate)||Hn(i.scale)||Hn(i.rotate)||Hn(i.perspective)||!lu()&&(Hn(i.backdropFilter)||Hn(i.filter))||L0.test(i.willChange||"")||M0.test(i.contain||"")}function I0(n){let i=bn(n);for(;rn(i)&&!Nr(i);){if(iu(i))return i;if(fl(i))return null;i=bn(i)}return null}function lu(){return Ta==null&&(Ta=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ta}function Nr(n){return/^(html|body|#document)$/.test(Or(n))}function jt(n){return mt(n).getComputedStyle(n)}function pl(n){return Rt(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function bn(n){if(Or(n)==="html")return n;const i=n.assignedSlot||n.parentNode||Gf(n)&&n.host||Ut(n);return Gf(i)?i.host:i}function Sm(n){const i=bn(n);return Nr(i)?n.ownerDocument?n.ownerDocument.body:n.body:rn(i)&&Po(i)?i:Sm(i)}function ko(n,i,l){var a;i===void 0&&(i=[]),l===void 0&&(l=!0);const c=Sm(n),d=c===((a=n.ownerDocument)==null?void 0:a.body),f=mt(c);if(d){const m=Ha(f);return i.concat(f,f.visualViewport||[],Po(c)?c:[],m&&l?ko(m):[])}else return i.concat(c,ko(c,[],l))}function Ha(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function _m(n){const i=jt(n);let l=parseFloat(i.width)||0,a=parseFloat(i.height)||0;const c=rn(n),d=c?n.offsetWidth:l,f=c?n.offsetHeight:a,m=Ji(l)!==d||Ji(a)!==f;return m&&(l=d,a=f),{width:l,height:a,$:m}}function su(n){return Rt(n)?n:n.contextElement}function Er(n){const i=su(n);if(!rn(i))return $t(1);const l=i.getBoundingClientRect(),{width:a,height:c,$:d}=_m(i);let f=(d?Ji(l.width):l.width)/a,m=(d?Ji(l.height):l.height)/c;return(!f||!Number.isFinite(f))&&(f=1),(!m||!Number.isFinite(m))&&(m=1),{x:f,y:m}}const z0=$t(0);function Cm(n){const i=mt(n);return!lu()||!i.visualViewport?z0:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function F0(n,i,l){return i===void 0&&(i=!1),!l||i&&l!==mt(n)?!1:i}function Gn(n,i,l,a){i===void 0&&(i=!1),l===void 0&&(l=!1);const c=n.getBoundingClientRect(),d=su(n);let f=$t(1);i&&(a?Rt(a)&&(f=Er(a)):f=Er(n));const m=F0(d,l,a)?Cm(d):$t(0);let v=(c.left+m.x)/f.x,x=(c.top+m.y)/f.y,y=c.width/f.x,S=c.height/f.y;if(d){const _=mt(d),k=a&&Rt(a)?mt(a):a;let b=_,E=Ha(b);for(;E&&a&&k!==b;){const j=Er(E),A=E.getBoundingClientRect(),D=jt(E),$=A.left+(E.clientLeft+parseFloat(D.paddingLeft))*j.x,M=A.top+(E.clientTop+parseFloat(D.paddingTop))*j.y;v*=j.x,x*=j.y,y*=j.x,S*=j.y,v+=$,x+=M,b=mt(E),E=Ha(b)}}return el({width:y,height:S,x:v,y:x})}function ml(n,i){const l=pl(n).scrollLeft;return i?i.left+l:Gn(Ut(n)).left+l}function Em(n,i){const l=n.getBoundingClientRect(),a=l.left+i.scrollLeft-ml(n,l),c=l.top+i.scrollTop;return{x:a,y:c}}function $0(n){let{elements:i,rect:l,offsetParent:a,strategy:c}=n;const d=c==="fixed",f=Ut(a),m=i?fl(i.floating):!1;if(a===f||m&&d)return l;let v={scrollLeft:0,scrollTop:0},x=$t(1);const y=$t(0),S=rn(a);if((S||!S&&!d)&&((Or(a)!=="body"||Po(f))&&(v=pl(a)),S)){const k=Gn(a);x=Er(a),y.x=k.x+a.clientLeft,y.y=k.y+a.clientTop}const _=f&&!S&&!d?Em(f,v):$t(0);return{width:l.width*x.x,height:l.height*x.y,x:l.x*x.x-v.scrollLeft*x.x+y.x+_.x,y:l.y*x.y-v.scrollTop*x.y+y.y+_.y}}function W0(n){return Array.from(n.getClientRects())}function H0(n){const i=Ut(n),l=pl(n),a=n.ownerDocument.body,c=ft(i.scrollWidth,i.clientWidth,a.scrollWidth,a.clientWidth),d=ft(i.scrollHeight,i.clientHeight,a.scrollHeight,a.clientHeight);let f=-l.scrollLeft+ml(n);const m=-l.scrollTop;return jt(a).direction==="rtl"&&(f+=ft(i.clientWidth,a.clientWidth)-c),{width:c,height:d,x:f,y:m}}const Yf=25;function U0(n,i){const l=mt(n),a=Ut(n),c=l.visualViewport;let d=a.clientWidth,f=a.clientHeight,m=0,v=0;if(c){d=c.width,f=c.height;const y=lu();(!y||y&&i==="fixed")&&(m=c.offsetLeft,v=c.offsetTop)}const x=ml(a);if(x<=0){const y=a.ownerDocument,S=y.body,_=getComputedStyle(S),k=y.compatMode==="CSS1Compat"&&parseFloat(_.marginLeft)+parseFloat(_.marginRight)||0,b=Math.abs(a.clientWidth-S.clientWidth-k);b<=Yf&&(d-=b)}else x<=Yf&&(d+=x);return{width:d,height:f,x:m,y:v}}function B0(n,i){const l=Gn(n,!0,i==="fixed"),a=l.top+n.clientTop,c=l.left+n.clientLeft,d=rn(n)?Er(n):$t(1),f=n.clientWidth*d.x,m=n.clientHeight*d.y,v=c*d.x,x=a*d.y;return{width:f,height:m,x:v,y:x}}function Qf(n,i,l){let a;if(i==="viewport")a=U0(n,l);else if(i==="document")a=H0(Ut(n));else if(Rt(i))a=B0(i,l);else{const c=Cm(n);a={x:i.x-c.x,y:i.y-c.y,width:i.width,height:i.height}}return el(a)}function km(n,i){const l=bn(n);return l===i||!Rt(l)||Nr(l)?!1:jt(l).position==="fixed"||km(l,i)}function V0(n,i){const l=i.get(n);if(l)return l;let a=ko(n,[],!1).filter(m=>Rt(m)&&Or(m)!=="body"),c=null;const d=jt(n).position==="fixed";let f=d?bn(n):n;for(;Rt(f)&&!Nr(f);){const m=jt(f),v=iu(f);!v&&m.position==="fixed"&&(c=null),(d?!v&&!c:!v&&m.position==="static"&&!!c&&(c.position==="absolute"||c.position==="fixed")||Po(f)&&!v&&km(n,f))?a=a.filter(y=>y!==f):c=m,f=bn(f)}return i.set(n,a),a}function G0(n){let{element:i,boundary:l,rootBoundary:a,strategy:c}=n;const f=[...l==="clippingAncestors"?fl(i)?[]:V0(i,this._c):[].concat(l),a],m=Qf(i,f[0],c);let v=m.top,x=m.right,y=m.bottom,S=m.left;for(let _=1;_ {f(!1,1e-7)},1e3)}B===1&&!Pm(x,n.getBoundingClientRect())&&f(),M=!1}try{l=new IntersectionObserver(U,{...$,root:c.ownerDocument})}catch{l=new IntersectionObserver(U,$)}l.observe(n)}return f(!0),d}function q0(n,i,l,a){a===void 0&&(a={});const{ancestorScroll:c=!0,ancestorResize:d=!0,elementResize:f=typeof ResizeObserver=="function",layoutShift:m=typeof IntersectionObserver=="function",animationFrame:v=!1}=a,x=su(n),y=c||d?[...x?ko(x):[],...i?ko(i):[]]:[];y.forEach(A=>{c&&A.addEventListener("scroll",l,{passive:!0}),d&&A.addEventListener("resize",l)});const S=x&&m?J0(x,l):null;let _=-1,k=null;f&&(k=new ResizeObserver(A=>{let[D]=A;D&&D.target===x&&k&&i&&(k.unobserve(i),cancelAnimationFrame(_),_=requestAnimationFrame(()=>{var $;($=k)==null||$.observe(i)})),l()}),x&&!v&&k.observe(x),i&&k.observe(i));let b,E=v?Gn(n):null;v&&j();function j(){const A=Gn(n);E&&!Pm(E,A)&&l(),E=A,b=requestAnimationFrame(j)}return l(),()=>{var A;y.forEach(D=>{c&&D.removeEventListener("scroll",l),d&&D.removeEventListener("resize",l)}),S?.(),(A=k)==null||A.disconnect(),k=null,v&&cancelAnimationFrame(b)}}const ew=j0,tw=T0,nw=P0,rw=A0,ow=b0,Kf=N0,iw=O0,lw=(n,i,l)=>{const a=new Map,c={platform:Z0,...l},d={...c.platform,_c:a};return k0(n,i,{...c,platform:d})};var sw=typeof document<"u",aw=function(){},Qi=sw?g.useLayoutEffect:aw;function tl(n,i){if(n===i)return!0;if(typeof n!=typeof i)return!1;if(typeof n=="function"&&n.toString()===i.toString())return!0;let l,a,c;if(n&&i&&typeof n=="object"){if(Array.isArray(n)){if(l=n.length,l!==i.length)return!1;for(a=l;a--!==0;)if(!tl(n[a],i[a]))return!1;return!0}if(c=Object.keys(n),l=c.length,l!==Object.keys(i).length)return!1;for(a=l;a--!==0;)if(!{}.hasOwnProperty.call(i,c[a]))return!1;for(a=l;a--!==0;){const d=c[a];if(!(d==="_owner"&&n.$$typeof)&&!tl(n[d],i[d]))return!1}return!0}return n!==n&&i!==i}function bm(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function Zf(n,i){const l=bm(n);return Math.round(i*l)/l}function Aa(n){const i=g.useRef(n);return Qi(()=>{i.current=n}),i}function uw(n){n===void 0&&(n={});const{placement:i="bottom",strategy:l="absolute",middleware:a=[],platform:c,elements:{reference:d,floating:f}={},transform:m=!0,whileElementsMounted:v,open:x}=n,[y,S]=g.useState({x:0,y:0,strategy:l,placement:i,middlewareData:{},isPositioned:!1}),[_,k]=g.useState(a);tl(_,a)||k(a);const[b,E]=g.useState(null),[j,A]=g.useState(null),D=g.useCallback(L=>{L!==G.current&&(G.current=L,E(L))},[]),$=g.useCallback(L=>{L!==B.current&&(B.current=L,A(L))},[]),M=d||b,U=f||j,G=g.useRef(null),B=g.useRef(null),le=g.useRef(y),te=v!=null,ne=Aa(v),ue=Aa(c),q=Aa(x),he=g.useCallback(()=>{if(!G.current||!B.current)return;const L={placement:i,strategy:l,middleware:_};ue.current&&(L.platform=ue.current),lw(G.current,B.current,L).then(Y=>{const V={...Y,isPositioned:q.current!==!1};ce.current&&!tl(le.current,V)&&(le.current=V,Ya.flushSync(()=>{S(V)}))})},[_,i,l,ue,q]);Qi(()=>{x===!1&&le.current.isPositioned&&(le.current.isPositioned=!1,S(L=>({...L,isPositioned:!1})))},[x]);const ce=g.useRef(!1);Qi(()=>(ce.current=!0,()=>{ce.current=!1}),[]),Qi(()=>{if(M&&(G.current=M),U&&(B.current=U),M&&U){if(ne.current)return ne.current(M,U,he);he()}},[M,U,he,ne,te]);const ee=g.useMemo(()=>({reference:G,floating:B,setReference:D,setFloating:$}),[D,$]),ie=g.useMemo(()=>({reference:M,floating:U}),[M,U]),se=g.useMemo(()=>{const L={position:l,left:0,top:0};if(!ie.floating)return L;const Y=Zf(ie.floating,y.x),V=Zf(ie.floating,y.y);return m?{...L,transform:"translate("+Y+"px, "+V+"px)",...bm(ie.floating)>=1.5&&{willChange:"transform"}}:{position:l,left:Y,top:V}},[l,m,ie.floating,y.x,y.y]);return g.useMemo(()=>({...y,update:he,refs:ee,elements:ie,floatingStyles:se}),[y,he,ee,ie,se])}const cw=n=>{function i(l){return{}.hasOwnProperty.call(l,"current")}return{name:"arrow",options:n,fn(l){const{element:a,padding:c}=typeof n=="function"?n(l):n;return a&&i(a)?a.current!=null?Kf({element:a.current,padding:c}).fn(l):{}:a?Kf({element:a,padding:c}).fn(l):{}}}},dw=(n,i)=>{const l=ew(n);return{name:l.name,fn:l.fn,options:[n,i]}},fw=(n,i)=>{const l=tw(n);return{name:l.name,fn:l.fn,options:[n,i]}},pw=(n,i)=>({fn:iw(n).fn,options:[n,i]}),mw=(n,i)=>{const l=nw(n);return{name:l.name,fn:l.fn,options:[n,i]}},hw=(n,i)=>{const l=rw(n);return{name:l.name,fn:l.fn,options:[n,i]}},gw=(n,i)=>{const l=ow(n);return{name:l.name,fn:l.fn,options:[n,i]}},vw=(n,i)=>{const l=cw(n);return{name:l.name,fn:l.fn,options:[n,i]}};var yw="Arrow",Rm=g.forwardRef((n,i)=>{const{children:l,width:a=10,height:c=5,...d}=n;return h.jsx(De.svg,{...d,ref:i,width:a,height:c,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:n.asChild?l:h.jsx("polygon",{points:"0,0 30,0 15,10"})})});Rm.displayName=yw;var xw=Rm;function ww(n){const[i,l]=g.useState(void 0);return Wt(()=>{if(n){l({width:n.offsetWidth,height:n.offsetHeight});const a=new ResizeObserver(c=>{if(!Array.isArray(c)||!c.length)return;const d=c[0];let f,m;if("borderBoxSize"in d){const v=d.borderBoxSize,x=Array.isArray(v)?v[0]:v;f=x.inlineSize,m=x.blockSize}else f=n.offsetWidth,m=n.offsetHeight;l({width:f,height:m})});return a.observe(n,{box:"border-box"}),()=>a.unobserve(n)}else l(void 0)},[n]),i}var au="Popper",[jm,hl]=Rr(au),[Sw,Tm]=jm(au),Om=n=>{const{__scopePopper:i,children:l}=n,[a,c]=g.useState(null);return h.jsx(Sw,{scope:i,anchor:a,onAnchorChange:c,children:l})};Om.displayName=au;var Am="PopperAnchor",Dm=g.forwardRef((n,i)=>{const{__scopePopper:l,virtualRef:a,...c}=n,d=Tm(Am,l),f=g.useRef(null),m=We(i,f),v=g.useRef(null);return g.useEffect(()=>{const x=v.current;v.current=a?.current||f.current,x!==v.current&&d.onAnchorChange(v.current)}),a?null:h.jsx(De.div,{...c,ref:m})});Dm.displayName=Am;var uu="PopperContent",[_w,Cw]=jm(uu),Lm=g.forwardRef((n,i)=>{const{__scopePopper:l,side:a="bottom",sideOffset:c=0,align:d="center",alignOffset:f=0,arrowPadding:m=0,avoidCollisions:v=!0,collisionBoundary:x=[],collisionPadding:y=0,sticky:S="partial",hideWhenDetached:_=!1,updatePositionStrategy:k="optimized",onPlaced:b,...E}=n,j=Tm(uu,l),[A,D]=g.useState(null),$=We(i,Se=>D(Se)),[M,U]=g.useState(null),G=ww(M),B=G?.width??0,le=G?.height??0,te=a+(d!=="center"?"-"+d:""),ne=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},ue=Array.isArray(x)?x:[x],q=ue.length>0,he={padding:ne,boundary:ue.filter(kw),altBoundary:q},{refs:ce,floatingStyles:ee,placement:ie,isPositioned:se,middlewareData:L}=uw({strategy:"fixed",placement:te,whileElementsMounted:(...Se)=>q0(...Se,{animationFrame:k==="always"}),elements:{reference:j.anchor},middleware:[dw({mainAxis:c+le,alignmentAxis:f}),v&&fw({mainAxis:!0,crossAxis:!1,limiter:S==="partial"?pw():void 0,...he}),v&&mw({...he}),hw({...he,apply:({elements:Se,rects:_e,availableWidth:Ne,availableHeight:Ze})=>{const{width:Yn,height:jo}=_e.reference,Bt=Se.floating.style;Bt.setProperty("--radix-popper-available-width",`${Ne}px`),Bt.setProperty("--radix-popper-available-height",`${Ze}px`),Bt.setProperty("--radix-popper-anchor-width",`${Yn}px`),Bt.setProperty("--radix-popper-anchor-height",`${jo}px`)}}),M&&vw({element:M,padding:m}),Nw({arrowWidth:B,arrowHeight:le}),_&&gw({strategy:"referenceHidden",...he})]}),[Y,V]=zm(ie),P=pt(b);Wt(()=>{se&&P?.()},[se,P]);const I=L.arrow?.x,de=L.arrow?.y,pe=L.arrow?.centerOffset!==0,[ye,xe]=g.useState();return Wt(()=>{A&&xe(window.getComputedStyle(A).zIndex)},[A]),h.jsx("div",{ref:ce.setFloating,"data-radix-popper-content-wrapper":"",style:{...ee,transform:se?ee.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ye,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(" "),...L.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:n.dir,children:h.jsx(_w,{scope:l,placedSide:Y,onArrowChange:U,arrowX:I,arrowY:de,shouldHideArrow:pe,children:h.jsx(De.div,{"data-side":Y,"data-align":V,...E,ref:$,style:{...E.style,animation:se?void 0:"none"}})})})});Lm.displayName=uu;var Mm="PopperArrow",Ew={top:"bottom",right:"left",bottom:"top",left:"right"},Im=g.forwardRef(function(i,l){const{__scopePopper:a,...c}=i,d=Cw(Mm,a),f=Ew[d.placedSide];return h.jsx("span",{ref:d.onArrowChange,style:{position:"absolute",left:d.arrowX,top:d.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[d.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[d.placedSide],visibility:d.shouldHideArrow?"hidden":void 0},children:h.jsx(xw,{...c,ref:l,style:{...c.style,display:"block"}})})});Im.displayName=Mm;function kw(n){return n!==null}var Nw=n=>({name:"transformOrigin",options:n,fn(i){const{placement:l,rects:a,middlewareData:c}=i,f=c.arrow?.centerOffset!==0,m=f?0:n.arrowWidth,v=f?0:n.arrowHeight,[x,y]=zm(l),S={start:"0%",center:"50%",end:"100%"}[y],_=(c.arrow?.x??0)+m/2,k=(c.arrow?.y??0)+v/2;let b="",E="";return x==="bottom"?(b=f?S:`${_}px`,E=`${-v}px`):x==="top"?(b=f?S:`${_}px`,E=`${a.floating.height+v}px`):x==="right"?(b=`${-v}px`,E=f?S:`${k}px`):x==="left"&&(b=`${a.floating.width+v}px`,E=f?S:`${k}px`),{data:{x:b,y:E}}}});function zm(n){const[i,l="center"]=n.split("-");return[i,l]}var Fm=Om,$m=Dm,Wm=Lm,Hm=Im,Pw=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),bw="VisuallyHidden",Um=g.forwardRef((n,i)=>h.jsx(De.span,{...n,ref:i,style:{...Pw,...n.style}}));Um.displayName=bw;var Rw=Um,[gl]=Rr("Tooltip",[hl]),vl=hl(),Bm="TooltipProvider",jw=700,Ua="tooltip.open",[Tw,cu]=gl(Bm),Vm=n=>{const{__scopeTooltip:i,delayDuration:l=jw,skipDelayDuration:a=300,disableHoverableContent:c=!1,children:d}=n,f=g.useRef(!0),m=g.useRef(!1),v=g.useRef(0);return g.useEffect(()=>{const x=v.current;return()=>window.clearTimeout(x)},[]),h.jsx(Tw,{scope:i,isOpenDelayedRef:f,delayDuration:l,onOpen:g.useCallback(()=>{window.clearTimeout(v.current),f.current=!1},[]),onClose:g.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>f.current=!0,a)},[a]),isPointerInTransitRef:m,onPointerInTransitChange:g.useCallback(x=>{m.current=x},[]),disableHoverableContent:c,children:d})};Vm.displayName=Bm;var No="Tooltip",[Ow,yl]=gl(No),Gm=n=>{const{__scopeTooltip:i,children:l,open:a,defaultOpen:c,onOpenChange:d,disableHoverableContent:f,delayDuration:m}=n,v=cu(No,n.__scopeTooltip),x=vl(i),[y,S]=g.useState(null),_=Eo(),k=g.useRef(0),b=f??v.disableHoverableContent,E=m??v.delayDuration,j=g.useRef(!1),[A,D]=sl({prop:a,defaultProp:c??!1,onChange:B=>{B?(v.onOpen(),document.dispatchEvent(new CustomEvent(Ua))):v.onClose(),d?.(B)},caller:No}),$=g.useMemo(()=>A?j.current?"delayed-open":"instant-open":"closed",[A]),M=g.useCallback(()=>{window.clearTimeout(k.current),k.current=0,j.current=!1,D(!0)},[D]),U=g.useCallback(()=>{window.clearTimeout(k.current),k.current=0,D(!1)},[D]),G=g.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>{j.current=!0,D(!0),k.current=0},E)},[E,D]);return g.useEffect(()=>()=>{k.current&&(window.clearTimeout(k.current),k.current=0)},[]),h.jsx(Fm,{...x,children:h.jsx(Ow,{scope:i,contentId:_,open:A,stateAttribute:$,trigger:y,onTriggerChange:S,onTriggerEnter:g.useCallback(()=>{v.isOpenDelayedRef.current?G():M()},[v.isOpenDelayedRef,G,M]),onTriggerLeave:g.useCallback(()=>{b?U():(window.clearTimeout(k.current),k.current=0)},[U,b]),onOpen:M,onClose:U,disableHoverableContent:b,children:l})})};Gm.displayName=No;var Ba="TooltipTrigger",Ym=g.forwardRef((n,i)=>{const{__scopeTooltip:l,...a}=n,c=yl(Ba,l),d=cu(Ba,l),f=vl(l),m=g.useRef(null),v=We(i,m,c.onTriggerChange),x=g.useRef(!1),y=g.useRef(!1),S=g.useCallback(()=>x.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",S),[S]),h.jsx($m,{asChild:!0,...f,children:h.jsx(De.button,{"aria-describedby":c.open?c.contentId:void 0,"data-state":c.stateAttribute,...a,ref:v,onPointerMove:Ee(n.onPointerMove,_=>{_.pointerType!=="touch"&&!y.current&&!d.isPointerInTransitRef.current&&(c.onTriggerEnter(),y.current=!0)}),onPointerLeave:Ee(n.onPointerLeave,()=>{c.onTriggerLeave(),y.current=!1}),onPointerDown:Ee(n.onPointerDown,()=>{c.open&&c.onClose(),x.current=!0,document.addEventListener("pointerup",S,{once:!0})}),onFocus:Ee(n.onFocus,()=>{x.current||c.onOpen()}),onBlur:Ee(n.onBlur,c.onClose),onClick:Ee(n.onClick,c.onClose)})})});Ym.displayName=Ba;var Aw="TooltipPortal",[sS,Dw]=gl(Aw,{forceMount:void 0}),Pr="TooltipContent",Qm=g.forwardRef((n,i)=>{const l=Dw(Pr,n.__scopeTooltip),{forceMount:a=l.forceMount,side:c="top",...d}=n,f=yl(Pr,n.__scopeTooltip);return h.jsx(Tt,{present:a||f.open,children:f.disableHoverableContent?h.jsx(Xm,{side:c,...d,ref:i}):h.jsx(Lw,{side:c,...d,ref:i})})}),Lw=g.forwardRef((n,i)=>{const l=yl(Pr,n.__scopeTooltip),a=cu(Pr,n.__scopeTooltip),c=g.useRef(null),d=We(i,c),[f,m]=g.useState(null),{trigger:v,onClose:x}=l,y=c.current,{onPointerInTransitChange:S}=a,_=g.useCallback(()=>{m(null),S(!1)},[S]),k=g.useCallback((b,E)=>{const j=b.currentTarget,A={x:b.clientX,y:b.clientY},D=$w(A,j.getBoundingClientRect()),$=Ww(A,D),M=Hw(E.getBoundingClientRect()),U=Bw([...$,...M]);m(U),S(!0)},[S]);return g.useEffect(()=>()=>_(),[_]),g.useEffect(()=>{if(v&&y){const b=j=>k(j,y),E=j=>k(j,v);return v.addEventListener("pointerleave",b),y.addEventListener("pointerleave",E),()=>{v.removeEventListener("pointerleave",b),y.removeEventListener("pointerleave",E)}}},[v,y,k,_]),g.useEffect(()=>{if(f){const b=E=>{const j=E.target,A={x:E.clientX,y:E.clientY},D=v?.contains(j)||y?.contains(j),$=!Uw(A,f);D?_():$&&(_(),x())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[v,y,f,x,_]),h.jsx(Xm,{...n,ref:d})}),[Mw,Iw]=gl(No,{isInside:!1}),zw=Iv("TooltipContent"),Xm=g.forwardRef((n,i)=>{const{__scopeTooltip:l,children:a,"aria-label":c,onEscapeKeyDown:d,onPointerDownOutside:f,...m}=n,v=yl(Pr,l),x=vl(l),{onClose:y}=v;return g.useEffect(()=>(document.addEventListener(Ua,y),()=>document.removeEventListener(Ua,y)),[y]),g.useEffect(()=>{if(v.trigger){const S=_=>{_.target?.contains(v.trigger)&&y()};return window.addEventListener("scroll",S,{capture:!0}),()=>window.removeEventListener("scroll",S,{capture:!0})}},[v.trigger,y]),h.jsx(al,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:S=>S.preventDefault(),onDismiss:y,children:h.jsxs(Wm,{"data-state":v.stateAttribute,...x,...m,ref:i,style:{...m.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:[h.jsx(zw,{children:a}),h.jsx(Mw,{scope:l,isInside:!0,children:h.jsx(Rw,{id:v.contentId,role:"tooltip",children:c||a})})]})})});Qm.displayName=Pr;var Km="TooltipArrow",Fw=g.forwardRef((n,i)=>{const{__scopeTooltip:l,...a}=n,c=vl(l);return Iw(Km,l).isInside?null:h.jsx(Hm,{...c,...a,ref:i})});Fw.displayName=Km;function $w(n,i){const l=Math.abs(i.top-n.y),a=Math.abs(i.bottom-n.y),c=Math.abs(i.right-n.x),d=Math.abs(i.left-n.x);switch(Math.min(l,a,c,d)){case d:return"left";case c:return"right";case l:return"top";case a:return"bottom";default:throw new Error("unreachable")}}function Ww(n,i,l=5){const a=[];switch(i){case"top":a.push({x:n.x-l,y:n.y+l},{x:n.x+l,y:n.y+l});break;case"bottom":a.push({x:n.x-l,y:n.y-l},{x:n.x+l,y:n.y-l});break;case"left":a.push({x:n.x+l,y:n.y-l},{x:n.x+l,y:n.y+l});break;case"right":a.push({x:n.x-l,y:n.y-l},{x:n.x-l,y:n.y+l});break}return a}function Hw(n){const{top:i,right:l,bottom:a,left:c}=n;return[{x:c,y:i},{x:l,y:i},{x:l,y:a},{x:c,y:a}]}function Uw(n,i){const{x:l,y:a}=n;let c=!1;for(let d=0,f=i.length-1;d a!=_>a&&l<(S-x)*(a-y)/(_-y)+x&&(c=!c)}return c}function Bw(n){const i=n.slice();return i.sort((l,a)=>l.x a.x?1:l.y a.y?1:0),Vw(i)}function Vw(n){if(n.length<=1)return n.slice();const i=[];for(let a=0;a =2;){const d=i[i.length-1],f=i[i.length-2];if((d.x-f.x)*(c.y-f.y)>=(d.y-f.y)*(c.x-f.x))i.pop();else break}i.push(c)}i.pop();const l=[];for(let a=n.length-1;a>=0;a--){const c=n[a];for(;l.length>=2;){const d=l[l.length-1],f=l[l.length-2];if((d.x-f.x)*(c.y-f.y)>=(d.y-f.y)*(c.x-f.x))l.pop();else break}l.push(c)}return l.pop(),i.length===1&&l.length===1&&i[0].x===l[0].x&&i[0].y===l[0].y?i:i.concat(l)}var Gw=Vm,Yw=Gm,Qw=Ym,Zm=Qm;const Xw=Gw,du=Yw,fu=Qw,xl=g.forwardRef(({className:n,sideOffset:i=4,...l},a)=>h.jsx(Zm,{ref:a,sideOffset:i,className:me("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 origin-[--radix-tooltip-content-transform-origin]",n),...l}));xl.displayName=Zm.displayName;var wl="Collapsible",[Kw]=Rr(wl),[Zw,pu]=Kw(wl),Jm=g.forwardRef((n,i)=>{const{__scopeCollapsible:l,open:a,defaultOpen:c,disabled:d,onOpenChange:f,...m}=n,[v,x]=sl({prop:a,defaultProp:c??!1,onChange:f,caller:wl});return h.jsx(Zw,{scope:l,disabled:d,contentId:Eo(),open:v,onOpenToggle:g.useCallback(()=>x(y=>!y),[x]),children:h.jsx(De.div,{"data-state":hu(v),"data-disabled":d?"":void 0,...m,ref:i})})});Jm.displayName=wl;var qm="CollapsibleTrigger",eh=g.forwardRef((n,i)=>{const{__scopeCollapsible:l,...a}=n,c=pu(qm,l);return h.jsx(De.button,{type:"button","aria-controls":c.contentId,"aria-expanded":c.open||!1,"data-state":hu(c.open),"data-disabled":c.disabled?"":void 0,disabled:c.disabled,...a,ref:i,onClick:Ee(n.onClick,c.onOpenToggle)})});eh.displayName=qm;var mu="CollapsibleContent",th=g.forwardRef((n,i)=>{const{forceMount:l,...a}=n,c=pu(mu,n.__scopeCollapsible);return h.jsx(Tt,{present:l||c.open,children:({present:d})=>h.jsx(Jw,{...a,ref:i,present:d})})});th.displayName=mu;var Jw=g.forwardRef((n,i)=>{const{__scopeCollapsible:l,present:a,children:c,...d}=n,f=pu(mu,l),[m,v]=g.useState(a),x=g.useRef(null),y=We(i,x),S=g.useRef(0),_=S.current,k=g.useRef(0),b=k.current,E=f.open||m,j=g.useRef(E),A=g.useRef(void 0);return g.useEffect(()=>{const D=requestAnimationFrame(()=>j.current=!1);return()=>cancelAnimationFrame(D)},[]),Wt(()=>{const D=x.current;if(D){A.current=A.current||{transitionDuration:D.style.transitionDuration,animationName:D.style.animationName},D.style.transitionDuration="0s",D.style.animationName="none";const $=D.getBoundingClientRect();S.current=$.height,k.current=$.width,j.current||(D.style.transitionDuration=A.current.transitionDuration,D.style.animationName=A.current.animationName),v(a)}},[f.open,a]),h.jsx(De.div,{"data-state":hu(f.open),"data-disabled":f.disabled?"":void 0,id:f.contentId,hidden:!E,...d,ref:y,style:{"--radix-collapsible-content-height":_?`${_}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...n.style},children:E&&c})});function hu(n){return n?"open":"closed"}var qw=Jm;const e1=qw,t1=eh,n1=th,r1=new Set(["production_mutation","credential_access_without_intent","destructive_operation_without_intent","direct_infra_api_with_credential","unknown_high_risk_command","no_policy_rule_matched"]),o1=new Set(["judge_allow","judge_deny","judge_fail_open"]),i1=new Set(["deterministic_deny","deterministic_allow"]);function l1(n){const i={deny:[],ask:[],allow:[]};for(const l of n)i[l.decision]?.push(l);return{counts:{all:n.length,deny:i.deny.length,ask:i.ask.length,allow:i.allow.length},groups:i}}function gu(n,i="—"){const l=n.risk_event??{};return l.command_summary||l.request_summary||l.path_class||l.type||i}function en(n){return n.replace(/_/g," ")}function s1(n,i){if(n===i)return!0;if(n.length!==i.length)return!1;for(let l=0;l i.toUpperCase()):"tool"}function rh(n){const i=n.risk_event?.decision_stage;return!!(i&&i1.has(i))||r1.has(n.reason_code??"")}function a1(n){return n.reason_code==="async_telemetry"?"Recorded after execution.":n.risk_event?.decision_stage==="judge_fail_open"?"Local judge was unavailable, so Guard allowed by fail-open policy.":n.reason||(n.reason_code?en(n.reason_code):"No explanation captured.")}function u1(n){const i=n.risk_event??{};return n.reason_code==="async_telemetry"?"Not a live gate. Recorded after execution for local session history.":i.decision_stage==="judge_allow"?"Deterministic policy allowed this action, then the local judge allowed it.":i.decision_stage==="judge_deny"?"Deterministic policy allowed this action, then the local judge denied it.":i.decision_stage==="judge_fail_open"?`Deterministic policy allowed this action, but the local judge failed${i.judge_failure_kind?` with ${en(i.judge_failure_kind)}`:""}.`:rh(n)?i.policy_rule_id?`Deterministic policy matched ${i.policy_rule_id} before calling the local judge.`:"Deterministic policy allowed this action.":i.type==="normal_tool_call"?"Routine coding-agent behavior. No deterministic policy rule matched.":`Normalized as ${i.type||"unknown"}.`}function oh(n){const i=n.risk_event?.decision_stage;return i&&o1.has(i)?"Local LLM judge":n.reason_code==="async_telemetry"?"Trace history":rh(n)?"Deterministic policy":"Guard policy"}function c1(n){return gu(n,"No command summary stored.")}function d1(n){if(!n)return"";const i=Date.parse(n);return Number.isNaN(i)?"":new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"medium"}).format(i)}function f1(n){return n==="deny"?"Would deny":n==="ask"?"Would ask":"Allow"}const bo={deny:{text:"text-destructive",bg:"bg-destructive",ring:"ring-destructive/10",border:"border-destructive/20"},ask:{text:"text-amber-700",bg:"bg-amber-500",ring:"ring-amber-500/10",border:"border-amber-300/40"},allow:{text:"text-brand",bg:"bg-brand",ring:"ring-brand/10",border:"border-border"}};function vu({kind:n,className:i}){const l=bo[n];return h.jsx("span",{className:me("h-2 w-2 shrink-0 rounded-full ring-4",l.bg,l.ring,i)})}function Jf({label:n,description:i,children:l}){return h.jsxs("section",{className:"mt-8 first:mt-0",children:[(n||i)&&h.jsxs("div",{className:"mb-3.5 flex items-baseline gap-3",children:[n&&h.jsx("h2",{className:"text-[15px] font-semibold tracking-tight",children:n}),i&&h.jsx("p",{className:"text-[12.5px] text-muted-foreground",children:i})]}),l]})}function qf({k:n,v:i}){return h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"text-muted-foreground",children:n}),h.jsx("span",{className:"font-mono",children:i})]})}function ct({children:n}){return h.jsx("dt",{className:"self-center text-[10.5px] font-medium uppercase tracking-wider text-muted-foreground",children:n})}function dt({children:n,className:i}){return h.jsx("dd",{className:me("text-foreground/90",i),children:n})}const p1={all:"All actions",deny:"Denied · this session",ask:"Needs ask · this session",allow:"Allowed · this session"},m1={deny:"Would deny",ask:"Needs ask",allow:"Allow"},h1={all:["deny","ask","allow"],deny:["deny"],ask:["ask"],allow:["allow"]};function g1({tab:n,groups:i,openId:l,onOpen:a,hasAny:c}){return h.jsxs("section",{className:"overflow-hidden rounded-xl border bg-card shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_1px_2px_rgba(0,0,0,0.04)]",children:[h.jsx("div",{className:"flex items-center justify-between gap-3 border-b px-5 py-3",children:h.jsxs("div",{className:"flex items-baseline gap-2.5",children:[h.jsx("h3",{className:"font-mono text-[10.5px] font-medium uppercase tracking-[0.22em] text-muted-foreground",children:p1[n]}),n!=="all"&&h.jsxs("span",{className:"text-[11px] text-muted-foreground/80",children:["Click ",h.jsx("span",{className:"text-foreground",children:"Total"})," to clear"]})]})}),c?h.jsx("div",{children:h1[n].map(d=>({kind:d,items:i[d]})).filter(({items:d})=>d.length>0).map(({kind:d,items:f},m)=>h.jsx(y1,{label:m1[d],kind:d,count:f.length,separated:m>0,children:f.map(v=>h.jsx(x1,{event:v,active:l===v.id,onClick:()=>a(v.id)},v.id))},d))}):h.jsx(v1,{})]})}function v1(){return h.jsxs("div",{className:"flex flex-col items-center gap-2 px-8 py-16 text-center text-muted-foreground",children:[h.jsx(Ov,{className:"h-5 w-5 text-muted-foreground/50"}),h.jsx("p",{className:"text-[13px]",children:"No actions captured yet."}),h.jsx("p",{className:"text-[12px] text-muted-foreground/70",children:"Start Claude Code to populate this view."})]})}function y1({label:n,kind:i,count:l,separated:a,children:c}){const[d,f]=g.useState(!0);return h.jsxs(e1,{open:d,onOpenChange:f,children:[h.jsxs(t1,{className:me("flex w-full items-center gap-2 border-b bg-muted/40 px-5 py-2 text-left text-[12px] font-medium text-muted-foreground transition-colors hover:bg-muted/40",a&&"border-t"),children:[h.jsx(up,{className:me("h-3 w-3 transition-transform",!d&&"-rotate-90")}),h.jsx(vu,{kind:i}),h.jsx("span",{className:"text-foreground",children:n}),h.jsx("span",{className:"tabular-nums text-[11px] text-muted-foreground",children:l})]}),h.jsx(n1,{className:"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down",children:h.jsx("div",{children:c})})]})}function x1({event:n,active:i,onClick:l}){const a=gu(n),c=n.risk_event?.signals?.[0]?.replace(/_/g," "),d=bo[n.decision];return h.jsxs("button",{onClick:l,className:me("group relative grid w-full grid-cols-[10px_minmax(0,1fr)_auto] items-center gap-4 border-b px-8 py-3 text-left transition-colors last:border-b-0","hover:bg-muted/40",i&&"bg-accent"),children:[i&&h.jsx("span",{className:"absolute inset-y-0 left-0 w-[2px] bg-brand"}),h.jsx(vu,{kind:n.decision}),h.jsxs("span",{className:"flex min-w-0 items-baseline gap-2.5",children:[h.jsx("span",{className:"text-[13px] font-medium text-foreground",children:nh(n.tool_name)}),h.jsx("span",{className:"truncate font-mono text-[12px] text-muted-foreground",children:a})]}),h.jsxs("span",{className:"flex items-center gap-3",children:[c&&h.jsxs(du,{children:[h.jsx(fu,{asChild:!0,children:h.jsx("span",{className:"hidden max-w-[180px] truncate text-[11px] text-muted-foreground md:inline",children:c})}),h.jsxs(xl,{side:"top",children:["Primary signal: ",c]})]}),h.jsx("span",{className:me("rounded-md border bg-background/60 px-1.5 py-0.5 font-mono text-[10.5px] font-medium",d.border,n.decision==="allow"?"text-muted-foreground":d.text),children:oh(n)}),h.jsx(up,{className:me("h-3 w-3 -rotate-90 text-muted-foreground/0 transition-all group-hover:text-muted-foreground/70",i&&"text-muted-foreground/70")})]})]})}const w1={},S1=w1,Sl=S1.VITE_KONTEXT_API??"";function Co(n){return n instanceof Error?n.message:String(n)}async function ep(n){return n.json()}async function _l(n){if(n.ok)return ep(n);const i=`${n.status} ${n.statusText}`.trim();if(!(n.headers.get("content-type")??"").includes("application/json"))throw new Error(i);let a;try{a=await ep(n)}catch(d){throw new Error(`API error response was not valid JSON: ${i}; ${Co(d)}`)}const c=Ro(a)&&typeof a.error=="string"?a.error:i;throw new Error(c)}function Ro(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function ve(n){return typeof n=="string"?n:void 0}function Da(n){return typeof n=="boolean"?n:void 0}function tp(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function La(n){if(!Array.isArray(n))return;const i=n.filter(l=>typeof l=="string");return i.length>0?i:void 0}function ih(n){switch(n){case"allow":case"ask":case"deny":return n;default:return}}function np(n){switch(n){case"relaxed":case"balanced":case"strict":return n;default:return}}function _1(n){if(Ro(n))return{type:ve(n.type),provider:ve(n.provider),provider_category:ve(n.provider_category),operation:ve(n.operation),operation_class:ve(n.operation_class),resource_class:ve(n.resource_class),environment:ve(n.environment),credential_observed:Da(n.credential_observed),credential_source:ve(n.credential_source),direct_api_call:Da(n.direct_api_call),explicit_user_intent:Da(n.explicit_user_intent),command_summary:ve(n.command_summary),request_summary:ve(n.request_summary),path_class:ve(n.path_class),decision:ih(n.decision),reason_code:ve(n.reason_code),decision_stage:ve(n.decision_stage),signals:La(n.signals),guard_id:ve(n.guard_id),confidence:tp(n.confidence),policy_version:ve(n.policy_version),policy_profile:ve(n.policy_profile),policy_rule_pack:ve(n.policy_rule_pack),policy_rule_id:ve(n.policy_rule_id),policy_rule_category:ve(n.policy_rule_category),policy_signals:La(n.policy_signals),judge_runtime:ve(n.judge_runtime),judge_model:ve(n.judge_model),judge_duration_ms:tp(n.judge_duration_ms),judge_failure_kind:ve(n.judge_failure_kind),judge_risk_level:ve(n.judge_risk_level),judge_categories:La(n.judge_categories)}}function C1(n){if(!(!Ro(n)||typeof n.session_id!="string"||typeof n.actions!="number"))return{session_id:n.session_id,actions:n.actions}}function E1(n){if(!Ro(n)||typeof n.id!="string")return;const i=ih(n.decision);if(i)return{id:n.id,session_id:ve(n.session_id),tool_name:ve(n.tool_name),decision:i,reason:ve(n.reason),reason_code:ve(n.reason_code),created_at:ve(n.created_at),risk_event:_1(n.risk_event)}}function lh(n){if(!Ro(n))throw new Error("invalid policy profile response");const i=np(n.profile);if(!i)throw new Error("invalid policy profile response");return{profile:i,recommended_profile:np(n.recommended_profile),version:ve(n.version),rule_pack:ve(n.rule_pack),rule_pack_version:ve(n.rule_pack_version),config_digest:ve(n.config_digest),activation_id:ve(n.activation_id),source:ve(n.source),status:ve(n.status),loaded_at:ve(n.loaded_at)}}function sh(n,i){if(n==null)return[];if(!Array.isArray(n))throw new Error("invalid API response");const l=[];for(const a of n){const c=i(a);if(!c)throw new Error("invalid API response");l.push(c)}return l}async function k1(){return sh(await fetch(`${Sl}/api/sessions`).then(_l),C1)}async function N1(n){return sh(await fetch(`${Sl}/api/sessions/${encodeURIComponent(n)}/events`).then(_l),E1)}async function P1(){return lh(await fetch(`${Sl}/api/policy/profile`).then(_l))}async function b1(n){const i=await fetch(`${Sl}/api/policy/profile`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:n})}).then(_l);return lh(i)}function R1({event:n}){const i=n.risk_event??{},l=bo[n.decision],a=d1(n.created_at),c=i.decision_stage==="judge_allow"?"allow":i.decision_stage==="judge_deny"?"deny":i.decision_stage==="judge_fail_open"?"fail open":"",d=T1(i.judge_duration_ms);return h.jsxs("div",{className:"flex h-full flex-col bg-background",children:[h.jsxs(gm,{className:"flex flex-row items-center gap-2 border-b bg-background px-6 py-3.5 pr-14 space-y-0",children:[h.jsx(vu,{kind:n.decision}),h.jsx(vm,{className:me("text-[13px] font-medium",l.text),children:f1(n.decision)}),h.jsx("span",{className:"ml-2 font-mono text-[10.5px] uppercase tracking-[0.2em] text-muted-foreground",children:nh(n.tool_name)})]}),h.jsx(ll,{className:"flex-1",children:h.jsxs("div",{className:"space-y-7 px-7 py-7",children:[h.jsx("div",{className:"space-y-3",children:h.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-[15px] font-medium leading-snug tracking-tight text-foreground",children:gu(n)})}),h.jsxs("dl",{className:"grid grid-cols-[120px_1fr] gap-y-3 text-[13px]",children:[h.jsx(ct,{children:"Operation"}),h.jsx(dt,{children:i.operation||i.operation_class||"unknown"}),h.jsx(ct,{children:"Source"}),h.jsx(dt,{children:oh(n)}),h.jsx(ct,{children:"Stage"}),h.jsx(dt,{children:i.decision_stage?en(i.decision_stage):"unknown"}),h.jsx(ct,{children:"Environment"}),h.jsx(dt,{children:h.jsx("span",{className:"font-mono text-[12.5px]",children:i.environment||"unknown"})}),a&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Timestamp"}),h.jsx(dt,{children:a})]}),i.policy_version&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Policy version"}),h.jsx(dt,{children:i.policy_version})]}),i.policy_profile&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Policy profile"}),h.jsx(dt,{children:en(i.policy_profile)})]}),i.policy_rule_pack&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Rule pack"}),h.jsx(dt,{children:i.policy_rule_pack})]}),i.policy_rule_id&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Policy rule"}),h.jsx(dt,{children:i.policy_rule_id})]}),i.policy_rule_category&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Rule category"}),h.jsx(dt,{children:en(i.policy_rule_category)})]}),c&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Judge result"}),h.jsx(dt,{children:c})]}),i.judge_risk_level&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Judge risk"}),h.jsx(dt,{children:en(i.judge_risk_level)})]}),d&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{children:"Judge latency"}),h.jsx(dt,{children:d})]})]}),h.jsx(_o,{title:"Reason",children:h.jsx("p",{className:"text-[13px] leading-relaxed text-foreground/80",children:a1(n)})}),h.jsx(_o,{title:"Analysis",children:h.jsx("p",{className:"text-[13px] leading-relaxed text-foreground/80",children:u1(n)})}),h.jsx(_o,{title:"Command",children:h.jsx("pre",{className:"overflow-x-auto rounded-md border bg-muted/40 px-3 py-2.5 font-mono text-[12px] leading-relaxed text-foreground/90",children:c1(n)})}),(i.signals??[]).length>0&&h.jsx(_o,{title:"Signals",children:h.jsx("div",{className:"flex flex-wrap gap-1.5",children:(i.signals??[]).map(f=>h.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-md border bg-card px-2 py-1 font-mono text-[11px] text-foreground/80 shadow-[inset_0_1px_0_rgba(255,255,255,0.7)]",children:[h.jsx("span",{className:me("h-1 w-1 rounded-full",l.bg)}),en(f)]},f))})}),(i.policy_signals??[]).length>0&&h.jsx(_o,{title:"Policy Signals",children:h.jsx("div",{className:"flex flex-wrap gap-1.5",children:(i.policy_signals??[]).map(f=>h.jsx(j1,{signal:f,toneClass:l.bg},f))})}),n.reason_code&&h.jsxs("div",{className:"border-t pt-4 font-mono text-[10.5px] uppercase tracking-[0.2em] text-muted-foreground",children:["decision code · ",h.jsx("span",{className:"text-foreground/70",children:n.reason_code})]})]})})]})}function j1({signal:n,toneClass:i}){return h.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-md border bg-card px-2 py-1 font-mono text-[11px] text-foreground/80 shadow-[inset_0_1px_0_rgba(255,255,255,0.7)]",children:[h.jsx("span",{className:me("h-1 w-1 rounded-full",i)}),en(n)]})}function T1(n){return typeof n!="number"||!Number.isFinite(n)||n<0?"":n<1e3?`${Math.round(n)} ms`:`${(n/1e3).toFixed(1)} s`}function _o({title:n,children:i}){return h.jsxs("div",{className:"space-y-2.5",children:[h.jsx("h3",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.22em] text-muted-foreground",children:n}),i]})}var Ma,Cl="HoverCard",[ah]=Rr(Cl,[hl]),El=hl(),[O1,yu]=ah(Cl),uh=n=>{const{__scopeHoverCard:i,children:l,open:a,defaultOpen:c,onOpenChange:d,openDelay:f=700,closeDelay:m=300}=n,v=El(i),x=g.useRef(0),y=g.useRef(0),S=g.useRef(!1),_=g.useRef(!1),[k,b]=sl({prop:a,defaultProp:c??!1,onChange:d,caller:Cl}),E=g.useCallback(()=>{clearTimeout(y.current),x.current=window.setTimeout(()=>b(!0),f)},[f,b]),j=g.useCallback(()=>{clearTimeout(x.current),!S.current&&!_.current&&(y.current=window.setTimeout(()=>b(!1),m))},[m,b]),A=g.useCallback(()=>b(!1),[b]);return g.useEffect(()=>()=>{clearTimeout(x.current),clearTimeout(y.current)},[]),h.jsx(O1,{scope:i,open:k,onOpenChange:b,onOpen:E,onClose:j,onDismiss:A,hasSelectionRef:S,isPointerDownOnContentRef:_,children:h.jsx(Fm,{...v,children:l})})};uh.displayName=Cl;var ch="HoverCardTrigger",dh=g.forwardRef((n,i)=>{const{__scopeHoverCard:l,...a}=n,c=yu(ch,l),d=El(l);return h.jsx($m,{asChild:!0,...d,children:h.jsx(De.a,{"data-state":c.open?"open":"closed",...a,ref:i,onPointerEnter:Ee(n.onPointerEnter,rl(c.onOpen)),onPointerLeave:Ee(n.onPointerLeave,rl(c.onClose)),onFocus:Ee(n.onFocus,c.onOpen),onBlur:Ee(n.onBlur,c.onClose),onTouchStart:Ee(n.onTouchStart,f=>f.preventDefault())})})});dh.displayName=ch;var A1="HoverCardPortal",[aS,D1]=ah(A1,{forceMount:void 0}),nl="HoverCardContent",fh=g.forwardRef((n,i)=>{const l=D1(nl,n.__scopeHoverCard),{forceMount:a=l.forceMount,...c}=n,d=yu(nl,n.__scopeHoverCard);return h.jsx(Tt,{present:a||d.open,children:h.jsx(L1,{"data-state":d.open?"open":"closed",...c,onPointerEnter:Ee(n.onPointerEnter,rl(d.onOpen)),onPointerLeave:Ee(n.onPointerLeave,rl(d.onClose)),ref:i})})});fh.displayName=nl;var L1=g.forwardRef((n,i)=>{const{__scopeHoverCard:l,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:f,...m}=n,v=yu(nl,l),x=El(l),y=g.useRef(null),S=We(i,y),[_,k]=g.useState(!1);return g.useEffect(()=>{if(_){const b=document.body;return Ma=b.style.userSelect||b.style.webkitUserSelect,b.style.userSelect="none",b.style.webkitUserSelect="none",()=>{b.style.userSelect=Ma,b.style.webkitUserSelect=Ma}}},[_]),g.useEffect(()=>{if(y.current){const b=()=>{k(!1),v.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(v.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",b),()=>{document.removeEventListener("pointerup",b),v.hasSelectionRef.current=!1,v.isPointerDownOnContentRef.current=!1}}},[v.isPointerDownOnContentRef,v.hasSelectionRef]),g.useEffect(()=>{y.current&&z1(y.current).forEach(E=>E.setAttribute("tabindex","-1"))}),h.jsx(al,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:f,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:Ee(d,b=>{b.preventDefault()}),onDismiss:v.onDismiss,children:h.jsx(Wm,{...x,...m,onPointerDown:Ee(m.onPointerDown,b=>{b.currentTarget.contains(b.target)&&k(!0),v.hasSelectionRef.current=!1,v.isPointerDownOnContentRef.current=!0}),ref:S,style:{...m.style,userSelect:_?"text":void 0,WebkitUserSelect:_?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),M1="HoverCardArrow",I1=g.forwardRef((n,i)=>{const{__scopeHoverCard:l,...a}=n,c=El(l);return h.jsx(Hm,{...c,...a,ref:i})});I1.displayName=M1;function rl(n){return i=>i.pointerType==="touch"?void 0:n()}function z1(n){const i=[],l=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;l.nextNode();)i.push(l.currentNode);return i}var F1=uh,$1=dh,ph=fh;const W1=F1,H1=$1,mh=g.forwardRef(({className:n,align:i="center",sideOffset:l=4,...a},c)=>h.jsx(ph,{ref:c,align:i,sideOffset:l,className:me("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",n),...a}));mh.displayName=ph.displayName;function Bn({className:n,...i}){return h.jsx("div",{className:me("animate-pulse rounded-md bg-muted",n),...i})}const Va=[{id:"relaxed",label:"Relaxed",lede:"Fewer blocks, more compatibility.",hint:"Use when iterating on agent behavior."},{id:"balanced",label:"Balanced",recommended:!0,lede:"Good protection with fewer false positives.",hint:"Best default for local development."},{id:"strict",label:"Strict",lede:"Maximum protection, more false positives.",hint:"Use when you can accept breakage."}];function U1(n){return Va.find(i=>i.id===n)?.label??"Balanced"}const B1={relaxed:1,balanced:2,strict:3};function V1({profile:n,pending:i,error:l,onActivate:a,onRetry:c}){const d=n?.profile??"balanced",f=!n&&!l;return h.jsxs("section",{className:"space-y-3.5",children:[h.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[h.jsxs("div",{className:"flex items-baseline gap-3",children:[h.jsx("h2",{className:"text-[15px] font-semibold tracking-tight",children:"Policy profile"}),n&&h.jsxs("span",{className:"font-mono text-[11px] text-muted-foreground",children:[U1(n.profile)," profile"]})]}),n&&h.jsx(G1,{profile:n})]}),h.jsx("div",{className:"grid grid-cols-1 gap-2.5 md:grid-cols-3",children:f?Va.map(m=>h.jsx(Y1,{},m.id)):Va.map(m=>h.jsx(Q1,{profile:m,active:m.id===d,pending:m.id===i,disabled:!n||!!i,onActivate:()=>a(m.id)},m.id))}),l&&h.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[12px] text-destructive",children:[h.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[h.jsx(cp,{className:"h-3.5 w-3.5 shrink-0"}),h.jsx("span",{children:l})]}),h.jsx("button",{type:"button",onClick:c,className:"shrink-0 font-mono text-[10.5px] uppercase tracking-[0.18em] text-destructive underline-offset-4 hover:underline",children:"Retry"})]})]})}function G1({profile:n}){return h.jsxs(W1,{openDelay:120,children:[h.jsx(H1,{asChild:!0,children:h.jsxs("button",{type:"button",className:"inline-flex items-center gap-1.5 font-mono text-[10.5px] uppercase tracking-[0.18em] text-muted-foreground transition-colors hover:text-foreground",children:[h.jsx(bv,{className:"h-3 w-3"}),n.version]})}),h.jsx(mh,{side:"left",align:"end",className:"w-[280px] text-[12.5px]",children:h.jsxs("div",{className:"space-y-1.5",children:[h.jsx(qf,{k:"Version",v:n.version??"—"}),h.jsx(qf,{k:"Rule pack",v:n.rule_pack??"—"})]})})]})}function Y1(){return h.jsxs("div",{className:"rounded-xl border bg-card p-4",children:[h.jsx(Bn,{className:"h-3 w-16"}),h.jsx(Bn,{className:"mt-3 h-7 w-24"}),h.jsx(Bn,{className:"mt-3 h-3 w-full"}),h.jsx(Bn,{className:"mt-1.5 h-3 w-3/4"})]})}function Q1({profile:n,active:i,pending:l,disabled:a,onActivate:c}){const d=B1[n.id];return h.jsxs("button",{type:"button",onClick:c,disabled:a,className:me("group relative flex flex-col overflow-hidden rounded-xl border text-left transition-shadow duration-200","disabled:pointer-events-none disabled:opacity-60",i?me("bg-brand-gradient border-brand-dark text-brand-foreground","shadow-[inset_0_1px_0_rgba(255,255,255,0.10),inset_0_0_0_1px_rgba(255,255,255,0.04),0_10px_30px_-8px_rgba(21,40,34,0.45)]","hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.14),inset_0_0_0_1px_rgba(255,255,255,0.06),0_18px_48px_-10px_rgba(21,40,34,0.55)]"):me("bg-card","shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_1px_2px_rgba(15,17,21,0.04)]","hover:border-foreground/15 hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_6px_18px_-6px_rgba(15,17,21,0.10)]")),children:[l&&h.jsx("span",{className:"absolute inset-x-0 bottom-0 h-px overflow-hidden",children:h.jsx("span",{className:me("block h-full w-1/3 animate-[shimmer_1.2s_linear_infinite]",i?"bg-white":"bg-foreground")})}),h.jsxs("div",{className:"flex items-center justify-between px-5 pt-4",children:[h.jsx(X1,{filled:d,active:i}),h.jsxs("div",{className:"flex items-center gap-2",children:[n.recommended&&!l&&h.jsx("span",{className:me("font-mono text-[9.5px] font-medium uppercase tracking-[0.18em]",i?"text-white/70":"text-muted-foreground"),children:"Recommended"}),l&&h.jsxs("span",{className:me("inline-flex items-center gap-1 font-mono text-[9.5px] uppercase tracking-[0.18em]",i?"text-white/70":"text-muted-foreground"),children:[h.jsx(jv,{className:"h-3 w-3 animate-spin"}),"Activating"]})]})]}),h.jsxs("div",{className:"px-5 pt-2.5",children:[h.jsx("div",{className:"text-[22px] font-semibold leading-tight tracking-tight",children:n.label}),h.jsx("p",{className:me("mt-1 text-[12.5px] leading-snug",i?"text-white/85":"text-foreground/80"),children:n.lede}),h.jsx("p",{className:me("mt-0.5 text-[11.5px] leading-snug",i?"text-white/55":"text-muted-foreground"),children:n.hint})]}),h.jsx("div",{className:me("mt-3 border-t px-5 py-2.5 font-mono text-[10px] uppercase tracking-[0.22em]",i?"border-white/15 text-white":"border-border text-muted-foreground/70"),children:i?"Active profile":"Tap to activate"})]})}function X1({filled:n,active:i}){return h.jsx("div",{className:"flex items-center gap-1","aria-hidden":"true",children:[1,2,3].map(l=>h.jsx("span",{className:me("h-1 w-2.5 rounded-full transition-colors",l<=n?i?"bg-white":"bg-foreground":i?"bg-white/25":"bg-muted-foreground/25")},l))})}const Un="session-local-guard-preview";new Date(Date.now()-120*1e3).toISOString();new Date(Date.now()-420*1e3).toISOString(),new Date(Date.now()-360*1e3).toISOString(),new Date(Date.now()-300*1e3).toISOString(),new Date(Date.now()-240*1e3).toISOString(),new Date(Date.now()-180*1e3).toISOString(),new Date(Date.now()-120*1e3).toISOString(),new Date(Date.now()-60*1e3).toISOString();function K1({session:n,loading:i}){return h.jsxs("header",{className:"flex items-center justify-between gap-4 border-b bg-background px-10 py-5",children:[h.jsx("div",{className:"flex min-w-0 items-center gap-3",children:i?h.jsx(Bn,{className:"h-6 w-60"}):h.jsxs(h.Fragment,{children:[h.jsxs("span",{className:"relative flex h-2 w-2 shrink-0",children:[h.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-brand opacity-50"}),h.jsx("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-brand"})]}),h.jsx("span",{className:"truncate font-mono text-[17px] font-medium tracking-tight text-foreground",children:n?.session_id??"-"})]})}),h.jsxs(du,{children:[h.jsx(fu,{asChild:!0,children:h.jsx("span",{className:"cursor-default text-[11px] uppercase tracking-[0.18em] text-muted-foreground",children:"Observe mode"})}),h.jsx(xl,{side:"bottom",children:"Recording decisions but not enforcing them."})]})]})}function Z1({sessions:n,counts:i,selectedID:l,onSelect:a}){return h.jsxs("aside",{className:"flex min-h-0 flex-col border-r",children:[h.jsx("div",{className:"px-5 pb-6 pt-7",children:h.jsx("div",{className:"text-[18px] font-semibold tracking-tight",children:"Kontext"})}),h.jsxs(ll,{className:"flex-1 px-2",children:[h.jsx(J1,{label:"This session",count:i.all,active:!0}),n.length>1&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"px-2.5 pb-1.5 pt-6 text-[10.5px] font-medium uppercase tracking-[0.18em] text-muted-foreground",children:"Recent"}),h.jsx("div",{className:"flex flex-col gap-0.5",children:n.slice(0,12).map(c=>h.jsxs("button",{type:"button",onClick:()=>a(c.session_id),className:me("flex items-center justify-between gap-2 rounded-md px-2.5 py-1.5 text-left text-[12.5px] transition-colors hover:bg-accent/60",c.session_id===l&&"bg-accent text-foreground"),children:[h.jsx("span",{className:"truncate font-mono text-muted-foreground",children:c.session_id}),h.jsx("span",{className:"shrink-0 tabular-nums text-[11px] text-muted-foreground",children:c.actions})]},c.session_id))})]})]})]})}function J1({label:n,count:i,active:l}){return h.jsxs("button",{type:"button",className:me("flex w-full items-center justify-between rounded-md px-2.5 py-1.5 text-left text-[13px] font-medium transition-colors",l?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/60 hover:text-foreground"),children:[h.jsx("span",{children:n}),h.jsx("span",{className:"font-mono text-[11px] text-muted-foreground",children:i})]})}const q1=[{id:"deny",label:"Would deny"},{id:"ask",label:"Needs ask"},{id:"allow",label:"Allowed"}],eS=[{kind:"deny",label:"Would deny"},{kind:"ask",label:"Ask"},{kind:"allow",label:"Allow"}];function tS({counts:n,active:i,onSelect:l,loading:a}){return h.jsxs("section",{className:"overflow-hidden rounded-xl border bg-card shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_1px_2px_rgba(0,0,0,0.04)]",children:[h.jsx(nS,{count:n.all,active:i==="all",loading:a,onClick:()=>l("all")}),h.jsx("div",{className:"grid divide-y md:grid-cols-3 md:divide-x md:divide-y-0",children:q1.map(c=>h.jsx(rS,{id:c.id,label:c.label,count:n[c.id],total:n.all,active:i===c.id,loading:a,onClick:()=>l(c.id)},c.id))}),h.jsx(oS,{counts:n})]})}function nS({count:n,active:i,loading:l,onClick:a}){return h.jsxs("button",{type:"button",onClick:a,"aria-label":"Show all decisions",className:me("flex w-full items-center gap-3 border-b bg-muted/10 px-6 py-3 text-left transition-colors","hover:bg-muted/30",i&&"bg-muted/40"),children:[l?h.jsx(Bn,{className:"h-7 w-10"}):h.jsx("span",{className:"font-mono text-[26px] font-semibold leading-none tabular-nums text-foreground",children:n}),h.jsx("div",{className:"min-w-0",children:h.jsx("span",{className:me("text-[13px] font-medium",i?"text-foreground":"text-muted-foreground"),children:"decisions captured"})})]})}function rS({id:n,label:i,count:l,total:a,active:c,loading:d,onClick:f}){const m=Math.round(l/Math.max(1,a)*100),v=l===0?"text-muted-foreground/40":bo[n].text;return h.jsxs("button",{type:"button",onClick:f,className:me("group relative flex items-baseline gap-4 px-6 py-5 text-left transition-colors","hover:bg-muted/30",c&&"bg-muted/40"),children:[d?h.jsx(Bn,{className:"h-9 w-12"}):h.jsx("span",{className:me("font-mono text-[36px] font-semibold leading-none tracking-tight tabular-nums",v),children:l}),h.jsxs("div",{className:"flex flex-col leading-tight",children:[h.jsx("span",{className:me("font-mono text-[10px] font-medium uppercase tracking-[0.22em]",c?"text-foreground":"text-muted-foreground"),children:i}),h.jsxs("span",{className:"mt-1 text-[11px] text-muted-foreground/70",children:[m,"% of session"]})]})]})}function oS({counts:n}){const i=eS.map(l=>({count:n[l.kind],color:bo[l.kind].bg,label:l.label})).filter(l=>l.count>0);return h.jsx("div",{className:"border-t bg-muted/20 px-6 py-3",children:h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("div",{className:"flex h-1.5 flex-1 gap-0.5 overflow-hidden rounded-full bg-muted/60",children:i.length===0?h.jsx("div",{className:"w-full bg-muted-foreground/15"}):i.map(l=>h.jsxs(du,{children:[h.jsx(fu,{asChild:!0,children:h.jsx("div",{className:me("transition-opacity hover:opacity-80",l.color),style:{flex:l.count},"aria-label":`${l.count} ${l.label}`})}),h.jsxs(xl,{side:"top",children:[l.count," ",l.label.toLowerCase()]})]},l.label))}),h.jsx("div",{className:"flex items-center gap-3 font-mono text-[10px] uppercase tracking-[0.18em] text-muted-foreground",children:i.length===0?h.jsx("span",{children:"No activity yet"}):i.map(l=>h.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[h.jsx("span",{className:me("h-1.5 w-1.5 rounded-full",l.color)}),l.label,h.jsx("span",{className:"tabular-nums text-foreground/70",children:l.count})]},l.label))})]})})}function iS(){const[n,i]=g.useState([]),[l,a]=g.useState(""),[c,d]=g.useState([]),[f,m]=g.useState("all"),[v,x]=g.useState(null),[y,S]=g.useState(""),[_,k]=g.useState(null),[b,E]=g.useState(null),[j,A]=g.useState(""),D=g.useRef("");g.useEffect(()=>{G(),le();const ee=setInterval(G,3e3);return()=>clearInterval(ee)},[]),g.useEffect(()=>{l&&B(l),D.current=l},[l]);function $(ee){D.current=ee,a(ee)}function M(ee){return i(ie=>s1(ie,ee)?ie:ee),S(""),ee}function U(ee){d(ee),S("")}function G(){k1().then(ee=>{const ie=M(ee),se=D.current,L=ie.some(Y=>Y.session_id===se)?se:ie[0]?.session_id;L?L!==se?$(L):B(L):(D.current="",a(""),d([]),x(null))}).catch(ee=>S(Co(ee)))}function B(ee){N1(ee).then(ie=>{D.current===ee&&U(ie)}).catch(ie=>S(Co(ie)))}function le(){P1().then(ee=>{k(ee),A("")}).catch(ee=>{A(`Couldn't load policy profile. ${Co(ee)}`)})}function te(ee){ee===_?.profile||b||(E(ee),A(""),b1(ee).then(k).catch(ie=>A(`Couldn't update policy profile. ${Co(ie)}`)).finally(()=>E(null)))}const{counts:ne,groups:ue}=g.useMemo(()=>l1(c),[c]),q=g.useMemo(()=>v?c.find(ee=>ee.id===v)??null:null,[v,c]),he=g.useMemo(()=>n.find(ee=>ee.session_id===l),[n,l]),ce=n.length===0&&!y;return h.jsx(Xw,{delayDuration:150,children:h.jsxs("div",{className:"grid h-screen grid-cols-[252px_1fr] bg-background text-foreground",children:[h.jsx(Z1,{sessions:n,counts:ne,selectedID:l,onSelect:$}),h.jsxs("main",{className:"flex min-h-0 flex-col overflow-hidden",children:[h.jsx(K1,{session:he,loading:ce}),h.jsx(ll,{className:"flex-1",children:h.jsxs("div",{className:"px-10 pb-10 pt-8",children:[h.jsx(V1,{profile:_,pending:b,error:j,onActivate:te,onRetry:le}),h.jsx(Jf,{label:"Activity",description:"What was decided this session.",children:h.jsx(tS,{counts:ne,active:f,onSelect:m,loading:ce})}),y&&h.jsxs("div",{className:"mt-4 flex items-center gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[12px] text-destructive",children:[h.jsx(cp,{className:"h-3.5 w-3.5 shrink-0"}),h.jsx("span",{children:y})]}),h.jsx(Jf,{label:"Log",description:"Tool calls in chronological order.",children:h.jsx(g1,{tab:f,groups:ue,openId:v,onOpen:x,hasAny:c.length>0})})]})})]}),h.jsx(c0,{open:!!q,onOpenChange:ee=>!ee&&x(null),children:h.jsx(hm,{side:"right",className:"w-[540px] max-w-[92vw] p-0 sm:max-w-[540px]",children:q&&h.jsx(R1,{event:q})})})]})})}const rp=document.getElementById("root");rp&&xv.createRoot(rp).render(h.jsx(ip.StrictMode,{children:h.jsx(iS,{})})); diff --git a/internal/guard/web/assets/dist/assets/index-DBoOM-Il.js b/internal/guard/web/assets/dist/assets/index-DBoOM-Il.js deleted file mode 100644 index c269a5d..0000000 --- a/internal/guard/web/assets/dist/assets/index-DBoOM-Il.js +++ /dev/null @@ -1,52 +0,0 @@ -function uv(r,l){for(var i=0;i a[c]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))a(c);new MutationObserver(c=>{for(const d of c)if(d.type==="childList")for(const m of d.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&a(m)}).observe(document,{childList:!0,subtree:!0});function i(c){const d={};return c.integrity&&(d.integrity=c.integrity),c.referrerPolicy&&(d.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?d.credentials="include":c.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function a(c){if(c.ep)return;c.ep=!0;const d=i(c);fetch(c.href,d)}})();function np(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var ga={exports:{}},vo={},va={exports:{}},he={};var df;function cv(){if(df)return he;df=1;var r=Symbol.for("react.element"),l=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),m=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),S=Symbol.iterator;function C(P){return P===null||typeof P!="object"?null:(P=S&&P[S]||P["@@iterator"],typeof P=="function"?P:null)}var k={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,_={};function T(P,I,de){this.props=P,this.context=I,this.refs=_,this.updater=de||k}T.prototype.isReactComponent={},T.prototype.setState=function(P,I){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,I,"setState")},T.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function A(){}A.prototype=T.prototype;function L(P,I,de){this.props=P,this.context=I,this.refs=_,this.updater=de||k}var $=L.prototype=new A;$.constructor=L,b($,T.prototype),$.isPureReactComponent=!0;var M=Array.isArray,U=Object.prototype.hasOwnProperty,G={current:null},B={key:!0,ref:!0,__self:!0,__source:!0};function ie(P,I,de){var pe,ve={},ye=null,Se=null;if(I!=null)for(pe in I.ref!==void 0&&(Se=I.ref),I.key!==void 0&&(ye=""+I.key),I)U.call(I,pe)&&!B.hasOwnProperty(pe)&&(ve[pe]=I[pe]);var Ce=arguments.length-2;if(Ce===1)ve.children=de;else if(1 >>1,I=D[P];if(0 >>1;P c(ve,V))yec(Se,ve)?(D[P]=Se,D[ye]=V,P=ye):(D[P]=ve,D[pe]=V,P=pe);else if(yec(Se,V))D[P]=Se,D[ye]=V,P=ye;else break e}}return Y}function c(D,Y){var V=D.sortIndex-Y.sortIndex;return V!==0?V:D.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var d=performance;r.unstable_now=function(){return d.now()}}else{var m=Date,p=m.now();r.unstable_now=function(){return m.now()-p}}var v=[],x=[],y=1,S=null,C=3,k=!1,b=!1,_=!1,T=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function $(D){for(var Y=i(x);Y!==null;){if(Y.callback===null)a(x);else if(Y.startTime<=D)a(x),Y.sortIndex=Y.expirationTime,l(v,Y);else break;Y=i(x)}}function M(D){if(_=!1,$(D),!b)if(i(v)!==null)b=!0,le(U);else{var Y=i(x);Y!==null&&se(M,Y.startTime-D)}}function U(D,Y){b=!1,_&&(_=!1,A(ie),ie=-1),k=!0;var V=C;try{for($(Y),S=i(v);S!==null&&(!(S.expirationTime>Y)||D&&!ue());){var P=S.callback;if(typeof P=="function"){S.callback=null,C=S.priorityLevel;var I=P(S.expirationTime<=Y);Y=r.unstable_now(),typeof I=="function"?S.callback=I:S===i(v)&&a(v),$(Y)}else a(v);S=i(v)}if(S!==null)var de=!0;else{var pe=i(x);pe!==null&&se(M,pe.startTime-Y),de=!1}return de}finally{S=null,C=V,k=!1}}var G=!1,B=null,ie=-1,te=5,ne=-1;function ue(){return!(r.unstable_now()-ne D||125 P?(D.sortIndex=V,l(x,D),i(v)===null&&D===i(x)&&(_?(A(ie),ie=-1):_=!0,se(M,V-P))):(D.sortIndex=I,l(v,D),b||k||(b=!0,le(U))),D},r.unstable_shouldYield=ue,r.unstable_wrapCallback=function(D){var Y=C;return function(){var V=C;C=Y;try{return D.apply(this,arguments)}finally{C=V}}}})(wa)),wa}var gf;function mv(){return gf||(gf=1,xa.exports=pv()),xa.exports}var vf;function hv(){if(vf)return lt;vf=1;var r=Ba(),l=mv();function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n "u"||typeof window.document>"u"||typeof window.document.createElement>"u"),v=Object.prototype.hasOwnProperty,x=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,y={},S={};function C(e){return v.call(S,e)?!0:v.call(y,e)?!1:x.test(e)?S[e]=!0:(y[e]=!0,!1)}function k(e,t,n,o){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function b(e,t,n,o){if(t===null||typeof t>"u"||k(e,t,n,o))return!0;if(o)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function _(e,t,n,o,s,u,f){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=s,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=u,this.removeEmptyString=f}var T={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){T[e]=new _(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];T[t]=new _(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){T[e]=new _(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){T[e]=new _(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){T[e]=new _(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){T[e]=new _(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){T[e]=new _(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){T[e]=new _(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){T[e]=new _(e,5,!1,e.toLowerCase(),null,!1,!1)});var A=/[\-:]([a-z])/g;function L(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(A,L);T[t]=new _(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(A,L);T[t]=new _(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(A,L);T[t]=new _(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){T[e]=new _(e,1,!1,e.toLowerCase(),null,!1,!1)}),T.xlinkHref=new _("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){T[e]=new _(e,1,!1,e.toLowerCase(),null,!0,!0)});function $(e,t,n,o){var s=T.hasOwnProperty(t)?T[t]:null;(s!==null?s.type!==0:o||!(2 w||s[f]!==u[w]){var E=` -`+s[f].replace(" at new "," at ");return e.displayName&&E.includes(" ")&&(E=E.replace(" ",e.displayName)),E}while(1<=f&&0<=w);break}}}finally{de=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?I(e):""}function ve(e){switch(e.tag){case 5:return I(e.type);case 16:return I("Lazy");case 13:return I("Suspense");case 19:return I("SuspenseList");case 0:case 2:case 15:return e=pe(e.type,!1),e;case 11:return e=pe(e.type.render,!1),e;case 1:return e=pe(e.type,!0),e;default:return""}}function ye(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case B:return"Fragment";case G:return"Portal";case te:return"Profiler";case ie:return"StrictMode";case me:return"Suspense";case ce:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ue:return(e.displayName||"Context")+".Consumer";case ne:return(e._context.displayName||"Context")+".Provider";case J:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ee:return t=e.displayName||null,t!==null?t:ye(e.type)||"Memo";case le:t=e._payload,e=e._init;try{return ye(e(t))}catch{}}return null}function Se(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ye(t);case 8:return t===ie?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ce(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ne(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ze(e){var t=Ne(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,u=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(f){o=""+f,u.call(this,f)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return o},setValue:function(f){o=""+f},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Un(e){e._valueTracker||(e._valueTracker=Ze(e))}function Po(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),o="";return e&&(o=Ne(e)?e.checked?"true":"false":e.value),e=o,e!==n?(t.setValue(e),!0):!1}function Ht(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ei(e,t){var n=t.checked;return V({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vu(e,t){var n=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;n=Ce(t.value!=null?t.value:n),e._wrapperState={initialChecked:o,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function yu(e,t){t=t.checked,t!=null&&$(e,"checked",t,!1)}function _i(e,t){yu(e,t);var n=Ce(t.value),o=t.type;if(n!=null)o==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ki(e,t.type,n):t.hasOwnProperty("defaultValue")&&ki(e,t.type,Ce(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ki(e,t,n){(t!=="number"||Ht(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var jr=Array.isArray;function Bn(e,t,n,o){if(e=e.options,t){t={};for(var s=0;s "+t.valueOf().toString()+"",t=bo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Or(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ar={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ph=["Webkit","ms","Moz","O"];Object.keys(Ar).forEach(function(e){ph.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ar[t]=Ar[e]})});function ku(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ar.hasOwnProperty(e)&&Ar[e]?(""+t).trim():t+"px"}function Nu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var o=n.indexOf("--")===0,s=ku(n,t[n],o);n==="float"&&(n="cssFloat"),o?e.setProperty(n,s):e[n]=s}}var mh=V({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function bi(e,t){if(t){if(mh[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(i(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(i(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(t.style!=null&&typeof t.style!="object")throw Error(i(62))}}function Ri(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ti=null;function ji(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Oi=null,Vn=null,Gn=null;function Pu(e){if(e=to(e)){if(typeof Oi!="function")throw Error(i(280));var t=e.stateNode;t&&(t=Zo(t),Oi(e.stateNode,e.type,t))}}function bu(e){Vn?Gn?Gn.push(e):Gn=[e]:Vn=e}function Ru(){if(Vn){var e=Vn,t=Gn;if(Gn=Vn=null,Pu(e),t)for(e=0;e >>=0,e===0?32:31-(kh(e)/Nh|0)|0}var Ao=64,Lo=4194304;function Ir(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Do(e,t){var n=e.pendingLanes;if(n===0)return 0;var o=0,s=e.suspendedLanes,u=e.pingedLanes,f=n&268435455;if(f!==0){var w=f&~s;w!==0?o=Ir(w):(u&=f,u!==0&&(o=Ir(u)))}else f=n&~s,f!==0?o=Ir(f):u!==0&&(o=Ir(u));if(o===0)return 0;if(t!==0&&t!==o&&(t&s)===0&&(s=o&-o,u=t&-t,s>=u||s===16&&(u&4194240)!==0))return t;if((o&4)!==0&&(o|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=o;0 n;n++)t.push(e);return t}function zr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-wt(t),e[t]=n}function Th(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0 =Gr),rc=" ",oc=!1;function lc(e,t){switch(e){case"keyup":return og.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ic(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Xn=!1;function ig(e,t){switch(e){case"compositionend":return ic(t);case"keypress":return t.which!==32?null:(oc=!0,rc);case"textInput":return e=t.data,e===rc&&oc?null:e;default:return null}}function sg(e,t){if(Xn)return e==="compositionend"||!Ki&&lc(e,t)?(e=Zu(),$o=Bi=ln=null,Xn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1 =t)return{node:n,offset:t-e};e=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pc(n)}}function hc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?hc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function gc(){for(var e=window,t=Ht();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ht(e.document)}return t}function Ji(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function gg(e){var t=gc(),n=e.focusedElem,o=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&hc(n.ownerDocument.documentElement,n)){if(o!==null&&Ji(n)){if(t=o.start,e=o.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=n.textContent.length,u=Math.min(o.start,s);o=o.end===void 0?u:Math.min(o.end,s),!e.extend&&u>o&&(s=o,o=u,u=s),s=mc(n,u);var f=mc(n,o);s&&f&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==f.node||e.focusOffset!==f.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),u>o?(e.addRange(t),e.extend(f.node,f.offset)):(t.setEnd(f.node,f.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n =document.documentMode,Kn=null,es=null,Kr=null,ts=!1;function vc(e,t,n){var o=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ts||Kn==null||Kn!==Ht(o)||(o=Kn,"selectionStart"in o&&Ji(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Kr&&Xr(Kr,o)||(Kr=o,o=Qo(es,"onSelect"),0 tr||(e.current=ps[tr],ps[tr]=null,tr--)}function Pe(e,t){tr++,ps[tr]=e.current,e.current=t}var cn={},Ye=un(cn),et=un(!1),bn=cn;function nr(e,t){var n=e.type.contextTypes;if(!n)return cn;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var s={},u;for(u in n)s[u]=t[u];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function tt(e){return e=e.childContextTypes,e!=null}function qo(){Re(et),Re(Ye)}function Oc(e,t,n){if(Ye.current!==cn)throw Error(i(168));Pe(Ye,t),Pe(et,n)}function Ac(e,t,n){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return n;o=o.getChildContext();for(var s in o)if(!(s in t))throw Error(i(108,Se(e)||"Unknown",s));return V({},n,o)}function Jo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cn,bn=Ye.current,Pe(Ye,e),Pe(et,et.current),!0}function Lc(e,t,n){var o=e.stateNode;if(!o)throw Error(i(169));n?(e=Ac(e,t,bn),o.__reactInternalMemoizedMergedChildContext=e,Re(et),Re(Ye),Pe(Ye,e)):Re(et),Pe(et,n)}var Bt=null,el=!1,ms=!1;function Dc(e){Bt===null?Bt=[e]:Bt.push(e)}function bg(e){el=!0,Dc(e)}function dn(){if(!ms&&Bt!==null){ms=!0;var e=0,t=ke;try{var n=Bt;for(ke=1;e >=f,s-=f,Vt=1<<32-wt(t)+s|n< ae?(Be=oe,oe=null):Be=oe.sibling;var Ee=z(R,oe,j[ae],H);if(Ee===null){oe===null&&(oe=Be);break}e&&oe&&Ee.alternate===null&&t(R,oe),N=u(Ee,N,ae),re===null?q=Ee:re.sibling=Ee,re=Ee,oe=Be}if(ae===j.length)return n(R,oe),je&&Tn(R,ae),q;if(oe===null){for(;aeae?(Be=oe,oe=null):Be=oe.sibling;var wn=z(R,oe,Ee.value,H);if(wn===null){oe===null&&(oe=Be);break}e&&oe&&wn.alternate===null&&t(R,oe),N=u(wn,N,ae),re===null?q=wn:re.sibling=wn,re=wn,oe=Be}if(Ee.done)return n(R,oe),je&&Tn(R,ae),q;if(oe===null){for(;!Ee.done;ae++,Ee=j.next())Ee=W(R,Ee.value,H),Ee!==null&&(N=u(Ee,N,ae),re===null?q=Ee:re.sibling=Ee,re=Ee);return je&&Tn(R,ae),q}for(oe=o(R,oe);!Ee.done;ae++,Ee=j.next())Ee=Q(oe,R,ae,Ee.value,H),Ee!==null&&(e&&Ee.alternate!==null&&oe.delete(Ee.key===null?ae:Ee.key),N=u(Ee,N,ae),re===null?q=Ee:re.sibling=Ee,re=Ee);return e&&oe.forEach(function(av){return t(R,av)}),je&&Tn(R,ae),q}function Ie(R,N,j,H){if(typeof j=="object"&&j!==null&&j.type===B&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case U:e:{for(var q=j.key,re=N;re!==null;){if(re.key===q){if(q=j.type,q===B){if(re.tag===7){n(R,re.sibling),N=s(re,j.props.children),N.return=R,R=N;break e}}else if(re.elementType===q||typeof q=="object"&&q!==null&&q.$$typeof===le&&Wc(q)===re.type){n(R,re.sibling),N=s(re,j.props),N.ref=no(R,re,j),N.return=R,R=N;break e}n(R,re);break}else t(R,re);re=re.sibling}j.type===B?(N=zn(j.props.children,R.mode,H,j.key),N.return=R,R=N):(H=bl(j.type,j.key,j.props,null,R.mode,H),H.ref=no(R,N,j),H.return=R,R=H)}return f(R);case G:e:{for(re=j.key;N!==null;){if(N.key===re)if(N.tag===4&&N.stateNode.containerInfo===j.containerInfo&&N.stateNode.implementation===j.implementation){n(R,N.sibling),N=s(N,j.children||[]),N.return=R,R=N;break e}else{n(R,N);break}else t(R,N);N=N.sibling}N=da(j,R.mode,H),N.return=R,R=N}return f(R);case le:return re=j._init,Ie(R,N,re(j._payload),H)}if(jr(j))return K(R,N,j,H);if(Y(j))return Z(R,N,j,H);ol(R,j)}return typeof j=="string"&&j!==""||typeof j=="number"?(j=""+j,N!==null&&N.tag===6?(n(R,N.sibling),N=s(N,j),N.return=R,R=N):(n(R,N),N=ca(j,R.mode,H),N.return=R,R=N),f(R)):n(R,N)}return Ie}var ir=Hc(!0),Uc=Hc(!1),ll=un(null),il=null,sr=null,ws=null;function Ss(){ws=sr=il=null}function Cs(e){var t=ll.current;Re(ll),e._currentValue=t}function Es(e,t,n){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===n)break;e=e.return}}function ar(e,t){il=e,ws=sr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(nt=!0),e.firstContext=null)}function ht(e){var t=e._currentValue;if(ws!==e)if(e={context:e,memoizedValue:t,next:null},sr===null){if(il===null)throw Error(i(308));sr=e,il.dependencies={lanes:0,firstContext:e}}else sr=sr.next=e;return t}var jn=null;function _s(e){jn===null?jn=[e]:jn.push(e)}function Bc(e,t,n,o){var s=t.interleaved;return s===null?(n.next=n,_s(t)):(n.next=s.next,s.next=n),t.interleaved=n,Yt(e,o)}function Yt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var fn=!1;function ks(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Vc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function pn(e,t,n){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(xe&2)!==0){var s=o.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),o.pending=t,Yt(e,n)}return s=o.interleaved,s===null?(t.next=t,_s(o)):(t.next=s.next,s.next=t),o.interleaved=t,Yt(e,n)}function sl(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,n|=o,t.lanes=n,Fi(e,n)}}function Gc(e,t){var n=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,n===o)){var s=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var f={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};u===null?s=u=f:u=u.next=f,n=n.next}while(n!==null);u===null?s=u=t:u=u.next=t}else s=u=t;n={baseState:o.baseState,firstBaseUpdate:s,lastBaseUpdate:u,shared:o.shared,effects:o.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function al(e,t,n,o){var s=e.updateQueue;fn=!1;var u=s.firstBaseUpdate,f=s.lastBaseUpdate,w=s.shared.pending;if(w!==null){s.shared.pending=null;var E=w,O=E.next;E.next=null,f===null?u=O:f.next=O,f=E;var F=e.alternate;F!==null&&(F=F.updateQueue,w=F.lastBaseUpdate,w!==f&&(w===null?F.firstBaseUpdate=O:w.next=O,F.lastBaseUpdate=E))}if(u!==null){var W=s.baseState;f=0,F=O=E=null,w=u;do{var z=w.lane,Q=w.eventTime;if((o&z)===z){F!==null&&(F=F.next={eventTime:Q,lane:0,tag:w.tag,payload:w.payload,callback:w.callback,next:null});e:{var K=e,Z=w;switch(z=t,Q=n,Z.tag){case 1:if(K=Z.payload,typeof K=="function"){W=K.call(Q,W,z);break e}W=K;break e;case 3:K.flags=K.flags&-65537|128;case 0:if(K=Z.payload,z=typeof K=="function"?K.call(Q,W,z):K,z==null)break e;W=V({},W,z);break e;case 2:fn=!0}}w.callback!==null&&w.lane!==0&&(e.flags|=64,z=s.effects,z===null?s.effects=[w]:z.push(w))}else Q={eventTime:Q,lane:z,tag:w.tag,payload:w.payload,callback:w.callback,next:null},F===null?(O=F=Q,E=W):F=F.next=Q,f|=z;if(w=w.next,w===null){if(w=s.shared.pending,w===null)break;z=w,w=z.next,z.next=null,s.lastBaseUpdate=z,s.shared.pending=null}}while(!0);if(F===null&&(E=W),s.baseState=E,s.firstBaseUpdate=O,s.lastBaseUpdate=F,t=s.shared.interleaved,t!==null){s=t;do f|=s.lane,s=s.next;while(s!==t)}else u===null&&(s.shared.lanes=0);Ln|=f,e.lanes=f,e.memoizedState=W}}function Yc(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t n?n:4,e(!0);var o=Ts.transition;Ts.transition={};try{e(!1),t()}finally{ke=n,Ts.transition=o}}function fd(){return gt().memoizedState}function Og(e,t,n){var o=vn(e);if(n={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null},pd(e))md(t,n);else if(n=Bc(e,t,n,o),n!==null){var s=Je();Nt(n,e,o,s),hd(n,t,o)}}function Ag(e,t,n){var o=vn(e),s={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null};if(pd(e))md(t,s);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var f=t.lastRenderedState,w=u(f,n);if(s.hasEagerState=!0,s.eagerState=w,St(w,f)){var E=t.interleaved;E===null?(s.next=s,_s(t)):(s.next=E.next,E.next=s),t.interleaved=s;return}}catch{}n=Bc(e,t,s,o),n!==null&&(s=Je(),Nt(n,e,o,s),hd(n,t,o))}}function pd(e){var t=e.alternate;return e===Ae||t!==null&&t===Ae}function md(e,t){io=dl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function hd(e,t,n){if((n&4194240)!==0){var o=t.lanes;o&=e.pendingLanes,n|=o,t.lanes=n,Fi(e,n)}}var ml={readContext:ht,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useInsertionEffect:Qe,useLayoutEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useMutableSource:Qe,useSyncExternalStore:Qe,useId:Qe,unstable_isNewReconciler:!1},Lg={readContext:ht,useCallback:function(e,t){return Lt().memoizedState=[e,t===void 0?null:t],e},useContext:ht,useEffect:od,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,fl(4194308,4,sd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return fl(4194308,4,e,t)},useInsertionEffect:function(e,t){return fl(4,2,e,t)},useMemo:function(e,t){var n=Lt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var o=Lt();return t=n!==void 0?n(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=Og.bind(null,Ae,e),[o.memoizedState,e]},useRef:function(e){var t=Lt();return e={current:e},t.memoizedState=e},useState:nd,useDebugValue:Is,useDeferredValue:function(e){return Lt().memoizedState=e},useTransition:function(){var e=nd(!1),t=e[0];return e=jg.bind(null,e[1]),Lt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var o=Ae,s=Lt();if(je){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Ue===null)throw Error(i(349));(An&30)!==0||Zc(o,t,n)}s.memoizedState=n;var u={value:n,getSnapshot:t};return s.queue=u,od(Jc.bind(null,o,u,e),[e]),o.flags|=2048,uo(9,qc.bind(null,o,u,n,t),void 0,null),n},useId:function(){var e=Lt(),t=Ue.identifierPrefix;if(je){var n=Gt,o=Vt;n=(o&~(1<<32-wt(o)-1)).toString(32)+n,t=":"+t+"R"+n,n=so++,0 <\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=f.createElement(n,{is:o.is}):(e=f.createElement(n),n==="select"&&(f=e,o.multiple?f.multiple=!0:o.size&&(f.size=o.size))):e=f.createElementNS(e,n),e[Ot]=t,e[eo]=o,Dd(e,t,!1,!1),t.stateNode=e;e:{switch(f=Ri(n,o),n){case"dialog":be("cancel",e),be("close",e),s=o;break;case"iframe":case"object":case"embed":be("load",e),s=o;break;case"video":case"audio":for(s=0;s pr&&(t.flags|=128,o=!0,co(u,!1),t.lanes=4194304)}else{if(!o)if(e=ul(f),e!==null){if(t.flags|=128,o=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),co(u,!0),u.tail===null&&u.tailMode==="hidden"&&!f.alternate&&!je)return Xe(t),null}else 2*Me()-u.renderingStartTime>pr&&n!==1073741824&&(t.flags|=128,o=!0,co(u,!1),t.lanes=4194304);u.isBackwards?(f.sibling=t.child,t.child=f):(n=u.last,n!==null?n.sibling=f:t.child=f,u.last=f)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Me(),t.sibling=null,n=Oe.current,Pe(Oe,o?n&1|2:n&1),t):(Xe(t),null);case 22:case 23:return sa(),o=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(t.flags|=8192),o&&(t.mode&1)!==0?(ut&1073741824)!==0&&(Xe(t),t.subtreeFlags&6&&(t.flags|=8192)):Xe(t),null;case 24:return null;case 25:return null}throw Error(i(156,t.tag))}function Hg(e,t){switch(gs(t),t.tag){case 1:return tt(t.type)&&qo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ur(),Re(et),Re(Ye),Rs(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Ps(t),null;case 13:if(Re(Oe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));lr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Re(Oe),null;case 4:return ur(),null;case 10:return Cs(t.type._context),null;case 22:case 23:return sa(),null;case 24:return null;default:return null}}var yl=!1,Ke=!1,Ug=typeof WeakSet=="function"?WeakSet:Set,X=null;function dr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(o){De(e,t,o)}else n.current=null}function Xs(e,t,n){try{n()}catch(o){De(e,t,o)}}var zd=!1;function Bg(e,t){if(ss=zo,e=gc(),Ji(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var o=n.getSelection&&n.getSelection();if(o&&o.rangeCount!==0){n=o.anchorNode;var s=o.anchorOffset,u=o.focusNode;o=o.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var f=0,w=-1,E=-1,O=0,F=0,W=e,z=null;t:for(;;){for(var Q;W!==n||s!==0&&W.nodeType!==3||(w=f+s),W!==u||o!==0&&W.nodeType!==3||(E=f+o),W.nodeType===3&&(f+=W.nodeValue.length),(Q=W.firstChild)!==null;)z=W,W=Q;for(;;){if(W===e)break t;if(z===n&&++O===s&&(w=f),z===u&&++F===o&&(E=f),(Q=W.nextSibling)!==null)break;W=z,z=W.parentNode}W=Q}n=w===-1||E===-1?null:{start:w,end:E}}else n=null}n=n||{start:0,end:0}}else n=null;for(as={focusedElem:e,selectionRange:n},zo=!1,X=t;X!==null;)if(t=X,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,X=e;else for(;X!==null;){t=X;try{var K=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(K!==null){var Z=K.memoizedProps,Ie=K.memoizedState,R=t.stateNode,N=R.getSnapshotBeforeUpdate(t.elementType===t.type?Z:Et(t.type,Z),Ie);R.__reactInternalSnapshotBeforeUpdate=N}break;case 3:var j=t.stateNode.containerInfo;j.nodeType===1?j.textContent="":j.nodeType===9&&j.documentElement&&j.removeChild(j.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(H){De(t,t.return,H)}if(e=t.sibling,e!==null){e.return=t.return,X=e;break}X=t.return}return K=zd,zd=!1,K}function fo(e,t,n){var o=t.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var s=o=o.next;do{if((s.tag&e)===e){var u=s.destroy;s.destroy=void 0,u!==void 0&&Xs(t,n,u)}s=s.next}while(s!==o)}}function xl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var o=n.create;n.destroy=o()}n=n.next}while(n!==t)}}function Ks(e){var t=e.ref;if(t!==null){var n=e.stateNode;e.tag,e=n,typeof t=="function"?t(e):t.current=e}}function Fd(e){var t=e.alternate;t!==null&&(e.alternate=null,Fd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ot],delete t[eo],delete t[fs],delete t[Ng],delete t[Pg])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $d(e){return e.tag===5||e.tag===3||e.tag===4}function Wd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$d(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Zs(e,t,n){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ko));else if(o!==4&&(e=e.child,e!==null))for(Zs(e,t,n),e=e.sibling;e!==null;)Zs(e,t,n),e=e.sibling}function qs(e,t,n){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(qs(e,t,n),e=e.sibling;e!==null;)qs(e,t,n),e=e.sibling}var Ve=null,_t=!1;function mn(e,t,n){for(n=n.child;n!==null;)Hd(e,t,n),n=n.sibling}function Hd(e,t,n){if(jt&&typeof jt.onCommitFiberUnmount=="function")try{jt.onCommitFiberUnmount(Oo,n)}catch{}switch(n.tag){case 5:Ke||dr(n,t);case 6:var o=Ve,s=_t;Ve=null,mn(e,t,n),Ve=o,_t=s,Ve!==null&&(_t?(e=Ve,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ve.removeChild(n.stateNode));break;case 18:Ve!==null&&(_t?(e=Ve,n=n.stateNode,e.nodeType===8?ds(e.parentNode,n):e.nodeType===1&&ds(e,n),Ur(e)):ds(Ve,n.stateNode));break;case 4:o=Ve,s=_t,Ve=n.stateNode.containerInfo,_t=!0,mn(e,t,n),Ve=o,_t=s;break;case 0:case 11:case 14:case 15:if(!Ke&&(o=n.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){s=o=o.next;do{var u=s,f=u.destroy;u=u.tag,f!==void 0&&((u&2)!==0||(u&4)!==0)&&Xs(n,t,f),s=s.next}while(s!==o)}mn(e,t,n);break;case 1:if(!Ke&&(dr(n,t),o=n.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=n.memoizedProps,o.state=n.memoizedState,o.componentWillUnmount()}catch(w){De(n,t,w)}mn(e,t,n);break;case 21:mn(e,t,n);break;case 22:n.mode&1?(Ke=(o=Ke)||n.memoizedState!==null,mn(e,t,n),Ke=o):mn(e,t,n);break;default:mn(e,t,n)}}function Ud(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ug),t.forEach(function(o){var s=Jg.bind(null,e,o);n.has(o)||(n.add(o),o.then(s,s))})}}function kt(e,t){var n=t.deletions;if(n!==null)for(var o=0;o s&&(s=f),o&=~u}if(o=s,o=Me()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Gg(o/1960))-o,10 e?16:e,gn===null)var o=!1;else{if(e=gn,gn=null,_l=0,(xe&6)!==0)throw Error(i(331));var s=xe;for(xe|=4,X=e.current;X!==null;){var u=X,f=u.child;if((X.flags&16)!==0){var w=u.deletions;if(w!==null){for(var E=0;E Me()-ta?Mn(e,0):ea|=n),ot(e,t)}function nf(e,t){t===0&&((e.mode&1)===0?t=1:(t=Lo,Lo<<=1,(Lo&130023424)===0&&(Lo=4194304)));var n=Je();e=Yt(e,t),e!==null&&(zr(e,t,n),ot(e,n))}function qg(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),nf(e,n)}function Jg(e,t){var n=0;switch(e.tag){case 13:var o=e.stateNode,s=e.memoizedState;s!==null&&(n=s.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(i(314))}o!==null&&o.delete(t),nf(e,n)}var rf;rf=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||et.current)nt=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return nt=!1,$g(e,t,n);nt=(e.flags&131072)!==0}else nt=!1,je&&(t.flags&1048576)!==0&&Mc(t,nl,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;vl(e,t),e=t.pendingProps;var s=nr(t,Ye.current);ar(t,n),s=Os(null,t,o,e,s,n);var u=As();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,tt(o)?(u=!0,Jo(t)):u=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,ks(t),s.updater=hl,t.stateNode=s,s._reactInternals=t,Fs(t,o,e,n),t=Us(null,t,o,!0,u,n)):(t.tag=0,je&&u&&hs(t),qe(null,t,s,n),t=t.child),t;case 16:o=t.elementType;e:{switch(vl(e,t),e=t.pendingProps,s=o._init,o=s(o._payload),t.type=o,s=t.tag=tv(o),e=Et(o,e),s){case 0:t=Hs(null,t,o,e,n);break e;case 1:t=Rd(null,t,o,e,n);break e;case 11:t=_d(null,t,o,e,n);break e;case 14:t=kd(null,t,o,Et(o.type,e),n);break e}throw Error(i(306,o,""))}return t;case 0:return o=t.type,s=t.pendingProps,s=t.elementType===o?s:Et(o,s),Hs(e,t,o,s,n);case 1:return o=t.type,s=t.pendingProps,s=t.elementType===o?s:Et(o,s),Rd(e,t,o,s,n);case 3:e:{if(Td(t),e===null)throw Error(i(387));o=t.pendingProps,u=t.memoizedState,s=u.element,Vc(e,t),al(t,o,null,n);var f=t.memoizedState;if(o=f.element,u.isDehydrated)if(u={element:o,isDehydrated:!1,cache:f.cache,pendingSuspenseBoundaries:f.pendingSuspenseBoundaries,transitions:f.transitions},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){s=cr(Error(i(423)),t),t=jd(e,t,o,n,s);break e}else if(o!==s){s=cr(Error(i(424)),t),t=jd(e,t,o,n,s);break e}else for(at=an(t.stateNode.containerInfo.firstChild),st=t,je=!0,Ct=null,n=Uc(t,null,o,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(lr(),o===s){t=Xt(e,t,n);break e}qe(e,t,o,n)}t=t.child}return t;case 5:return Qc(t),e===null&&ys(t),o=t.type,s=t.pendingProps,u=e!==null?e.memoizedProps:null,f=s.children,us(o,s)?f=null:u!==null&&us(o,u)&&(t.flags|=32),bd(e,t),qe(e,t,f,n),t.child;case 6:return e===null&&ys(t),null;case 13:return Od(e,t,n);case 4:return Ns(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=ir(t,null,o,n):qe(e,t,o,n),t.child;case 11:return o=t.type,s=t.pendingProps,s=t.elementType===o?s:Et(o,s),_d(e,t,o,s,n);case 7:return qe(e,t,t.pendingProps,n),t.child;case 8:return qe(e,t,t.pendingProps.children,n),t.child;case 12:return qe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(o=t.type._context,s=t.pendingProps,u=t.memoizedProps,f=s.value,Pe(ll,o._currentValue),o._currentValue=f,u!==null)if(St(u.value,f)){if(u.children===s.children&&!et.current){t=Xt(e,t,n);break e}}else for(u=t.child,u!==null&&(u.return=t);u!==null;){var w=u.dependencies;if(w!==null){f=u.child;for(var E=w.firstContext;E!==null;){if(E.context===o){if(u.tag===1){E=Qt(-1,n&-n),E.tag=2;var O=u.updateQueue;if(O!==null){O=O.shared;var F=O.pending;F===null?E.next=E:(E.next=F.next,F.next=E),O.pending=E}}u.lanes|=n,E=u.alternate,E!==null&&(E.lanes|=n),Es(u.return,n,t),w.lanes|=n;break}E=E.next}}else if(u.tag===10)f=u.type===t.type?null:u.child;else if(u.tag===18){if(f=u.return,f===null)throw Error(i(341));f.lanes|=n,w=f.alternate,w!==null&&(w.lanes|=n),Es(f,n,t),f=u.sibling}else f=u.child;if(f!==null)f.return=u;else for(f=u;f!==null;){if(f===t){f=null;break}if(u=f.sibling,u!==null){u.return=f.return,f=u;break}f=f.return}u=f}qe(e,t,s.children,n),t=t.child}return t;case 9:return s=t.type,o=t.pendingProps.children,ar(t,n),s=ht(s),o=o(s),t.flags|=1,qe(e,t,o,n),t.child;case 14:return o=t.type,s=Et(o,t.pendingProps),s=Et(o.type,s),kd(e,t,o,s,n);case 15:return Nd(e,t,t.type,t.pendingProps,n);case 17:return o=t.type,s=t.pendingProps,s=t.elementType===o?s:Et(o,s),vl(e,t),t.tag=1,tt(o)?(e=!0,Jo(t)):e=!1,ar(t,n),vd(t,o,s),Fs(t,o,s,n),Us(null,t,o,!0,e,n);case 19:return Ld(e,t,n);case 22:return Pd(e,t,n)}throw Error(i(156,t.tag))};function of(e,t){return Iu(e,t)}function ev(e,t,n,o){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function yt(e,t,n,o){return new ev(e,t,n,o)}function ua(e){return e=e.prototype,!(!e||!e.isReactComponent)}function tv(e){if(typeof e=="function")return ua(e)?1:0;if(e!=null){if(e=e.$$typeof,e===J)return 11;if(e===ee)return 14}return 2}function xn(e,t){var n=e.alternate;return n===null?(n=yt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function bl(e,t,n,o,s,u){var f=2;if(o=e,typeof e=="function")ua(e)&&(f=1);else if(typeof e=="string")f=5;else e:switch(e){case B:return zn(n.children,s,u,t);case ie:f=8,s|=8;break;case te:return e=yt(12,n,t,s|2),e.elementType=te,e.lanes=u,e;case me:return e=yt(13,n,t,s),e.elementType=me,e.lanes=u,e;case ce:return e=yt(19,n,t,s),e.elementType=ce,e.lanes=u,e;case se:return Rl(n,s,u,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ne:f=10;break e;case ue:f=9;break e;case J:f=11;break e;case ee:f=14;break e;case le:f=16,o=null;break e}throw Error(i(130,e==null?e:typeof e,""))}return t=yt(f,n,t,s),t.elementType=e,t.type=o,t.lanes=u,t}function zn(e,t,n,o){return e=yt(7,e,o,t),e.lanes=n,e}function Rl(e,t,n,o){return e=yt(22,e,o,t),e.elementType=se,e.lanes=n,e.stateNode={isHidden:!1},e}function ca(e,t,n){return e=yt(6,e,null,t),e.lanes=n,e}function da(e,t,n){return t=yt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function nv(e,t,n,o,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zi(0),this.expirationTimes=zi(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zi(0),this.identifierPrefix=o,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function fa(e,t,n,o,s,u,f,w,E){return e=new nv(e,t,n,w,E),t===1?(t=1,u===!0&&(t|=8)):t=0,u=yt(3,null,null,t),e.current=u,u.stateNode=e,u.memoizedState={element:o,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ks(u),e}function rv(e,t,n){var o=3 "u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(l){console.error(l)}}return r(),ya.exports=hv(),ya.exports}var xf;function gv(){if(xf)return Ml;xf=1;var r=lp();return Ml.createRoot=r.createRoot,Ml.hydrateRoot=r.hydrateRoot,Ml}var vv=gv();const yv=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),xv=r=>r.replace(/^([A-Z])|[\s-_]+(\w)/g,(l,i,a)=>a?a.toUpperCase():i.toLowerCase()),wf=r=>{const l=xv(r);return l.charAt(0).toUpperCase()+l.slice(1)},ip=(...r)=>r.filter((l,i,a)=>!!l&&l.trim()!==""&&a.indexOf(l)===i).join(" ").trim(),wv=r=>{for(const l in r)if(l.startsWith("aria-")||l==="role"||l==="title")return!0};var Sv={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 Cv=g.forwardRef(({color:r="currentColor",size:l=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:c="",children:d,iconNode:m,...p},v)=>g.createElement("svg",{ref:v,...Sv,width:l,height:l,stroke:r,strokeWidth:a?Number(i)*24/Number(l):i,className:ip("lucide",c),...!d&&!wv(p)&&{"aria-hidden":"true"},...p},[...m.map(([x,y])=>g.createElement(x,y)),...Array.isArray(d)?d:[d]]));const Nr=(r,l)=>{const i=g.forwardRef(({className:a,...c},d)=>g.createElement(Cv,{ref:d,iconNode:l,className:ip(`lucide-${yv(wf(r))}`,`lucide-${r}`,a),...c}));return i.displayName=wf(r),i};const Ev=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],sp=Nr("chevron-down",Ev);const _v=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],ap=Nr("circle-alert",_v);const kv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Nv=Nr("info",kv);const Pv=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],bv=Nr("loader-circle",Pv);const Rv=[["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"}]],Tv=Nr("shield",Rv);const jv=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ov=Nr("x",jv);var Va=lp();const Av=np(Va);function Sf(r,l){if(typeof r=="function")return r(l);r!=null&&(r.current=l)}function up(...r){return l=>{let i=!1;const a=r.map(c=>{const d=Sf(c,l);return!i&&typeof d=="function"&&(i=!0),d});if(i)return()=>{for(let c=0;c {const{children:d,...m}=a,p=g.Children.toArray(d),v=p.find(Mv);if(v){const x=v.props.children,y=p.map(S=>S===v?g.Children.count(x)>1?g.Children.only(null):g.isValidElement(x)?x.props.children:null:S);return h.jsx(l,{...m,ref:c,children:g.isValidElement(x)?g.cloneElement(x,void 0,y):null})}return h.jsx(l,{...m,ref:c,children:d})});return i.displayName=`${r}.Slot`,i}function Lv(r){const l=g.forwardRef((i,a)=>{const{children:c,...d}=i;if(g.isValidElement(c)){const m=zv(c),p=Iv(d,c.props);return c.type!==g.Fragment&&(p.ref=a?up(a,m):m),g.cloneElement(c,p)}return g.Children.count(c)>1?g.Children.only(null):null});return l.displayName=`${r}.SlotClone`,l}var dp=Symbol("radix.slottable");function Dv(r){const l=({children:i})=>h.jsx(h.Fragment,{children:i});return l.displayName=`${r}.Slottable`,l.__radixId=dp,l}function Mv(r){return g.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===dp}function Iv(r,l){const i={...l};for(const a in l){const c=r[a],d=l[a];/^on[A-Z]/.test(a)?c&&d?i[a]=(...p)=>{const v=d(...p);return c(...p),v}:c&&(i[a]=c):a==="style"?i[a]={...c,...d}:a==="className"&&(i[a]=[c,d].filter(Boolean).join(" "))}return{...r,...i}}function zv(r){let l=Object.getOwnPropertyDescriptor(r.props,"ref")?.get,i=l&&"isReactWarning"in l&&l.isReactWarning;return i?r.ref:(l=Object.getOwnPropertyDescriptor(r,"ref")?.get,i=l&&"isReactWarning"in l&&l.isReactWarning,i?r.props.ref:r.props.ref||r.ref)}var Fv=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Le=Fv.reduce((r,l)=>{const i=cp(`Primitive.${l}`),a=g.forwardRef((c,d)=>{const{asChild:m,...p}=c,v=m?i:l;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),h.jsx(v,{...p,ref:d})});return a.displayName=`Primitive.${l}`,{...r,[l]:a}},{});function $v(r,l){r&&Va.flushSync(()=>r.dispatchEvent(l))}var Ft=globalThis?.document?g.useLayoutEffect:()=>{};function Wv(r,l){return g.useReducer((i,a)=>l[i][a]??i,r)}var Rt=r=>{const{present:l,children:i}=r,a=Hv(l),c=typeof i=="function"?i({present:a.isPresent}):g.Children.only(i),d=We(a.ref,Uv(c));return typeof i=="function"||a.isPresent?g.cloneElement(c,{ref:d}):null};Rt.displayName="Presence";function Hv(r){const[l,i]=g.useState(),a=g.useRef(null),c=g.useRef(r),d=g.useRef("none"),m=r?"mounted":"unmounted",[p,v]=Wv(m,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return g.useEffect(()=>{const x=Il(a.current);d.current=p==="mounted"?x:"none"},[p]),Ft(()=>{const x=a.current,y=c.current;if(y!==r){const C=d.current,k=Il(x);r?v("MOUNT"):k==="none"||x?.display==="none"?v("UNMOUNT"):v(y&&C!==k?"ANIMATION_OUT":"UNMOUNT"),c.current=r}},[r,v]),Ft(()=>{if(l){let x;const y=l.ownerDocument.defaultView??window,S=k=>{const _=Il(a.current).includes(CSS.escape(k.animationName));if(k.target===l&&_&&(v("ANIMATION_END"),!c.current)){const T=l.style.animationFillMode;l.style.animationFillMode="forwards",x=y.setTimeout(()=>{l.style.animationFillMode==="forwards"&&(l.style.animationFillMode=T)})}},C=k=>{k.target===l&&(d.current=Il(a.current))};return l.addEventListener("animationstart",C),l.addEventListener("animationcancel",S),l.addEventListener("animationend",S),()=>{y.clearTimeout(x),l.removeEventListener("animationstart",C),l.removeEventListener("animationcancel",S),l.removeEventListener("animationend",S)}}else v("ANIMATION_END")},[l,v]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:g.useCallback(x=>{a.current=x?getComputedStyle(x):null,i(x)},[])}}function Il(r){return r?.animationName||"none"}function Uv(r){let l=Object.getOwnPropertyDescriptor(r.props,"ref")?.get,i=l&&"isReactWarning"in l&&l.isReactWarning;return i?r.ref:(l=Object.getOwnPropertyDescriptor(r,"ref")?.get,i=l&&"isReactWarning"in l&&l.isReactWarning,i?r.props.ref:r.props.ref||r.ref)}function Bv(r,l){const i=g.createContext(l),a=d=>{const{children:m,...p}=d,v=g.useMemo(()=>p,Object.values(p));return h.jsx(i.Provider,{value:v,children:m})};a.displayName=r+"Provider";function c(d){const m=g.useContext(i);if(m)return m;if(l!==void 0)return l;throw new Error(`\`${d}\` must be used within \`${r}\``)}return[a,c]}function Pr(r,l=[]){let i=[];function a(d,m){const p=g.createContext(m),v=i.length;i=[...i,m];const x=S=>{const{scope:C,children:k,...b}=S,_=C?.[r]?.[v]||p,T=g.useMemo(()=>b,Object.values(b));return h.jsx(_.Provider,{value:T,children:k})};x.displayName=d+"Provider";function y(S,C){const k=C?.[r]?.[v]||p,b=g.useContext(k);if(b)return b;if(m!==void 0)return m;throw new Error(`\`${S}\` must be used within \`${d}\``)}return[x,y]}const c=()=>{const d=i.map(m=>g.createContext(m));return function(p){const v=p?.[r]||d;return g.useMemo(()=>({[`__scope${r}`]:{...p,[r]:v}}),[p,v])}};return c.scopeName=r,[a,Vv(c,...l)]}function Vv(...r){const l=r[0];if(r.length===1)return l;const i=()=>{const a=r.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(d){const m=a.reduce((p,{useScope:v,scopeName:x})=>{const S=v(d)[`__scope${x}`];return{...p,...S}},{});return g.useMemo(()=>({[`__scope${l.scopeName}`]:m}),[m])}};return i.scopeName=l.scopeName,i}function dt(r){const l=g.useRef(r);return g.useEffect(()=>{l.current=r}),g.useMemo(()=>(...i)=>l.current?.(...i),[])}var Gv=g.createContext(void 0);function Yv(r){const l=g.useContext(Gv);return r||l||"ltr"}function Qv(r,[l,i]){return Math.min(i,Math.max(l,r))}function _e(r,l,{checkForDefaultPrevented:i=!0}={}){return function(c){if(r?.(c),i===!1||!c.defaultPrevented)return l?.(c)}}function Xv(r,l){return g.useReducer((i,a)=>l[i][a]??i,r)}var Ga="ScrollArea",[fp]=Pr(Ga),[Kv,xt]=fp(Ga),pp=g.forwardRef((r,l)=>{const{__scopeScrollArea:i,type:a="hover",dir:c,scrollHideDelay:d=600,...m}=r,[p,v]=g.useState(null),[x,y]=g.useState(null),[S,C]=g.useState(null),[k,b]=g.useState(null),[_,T]=g.useState(null),[A,L]=g.useState(0),[$,M]=g.useState(0),[U,G]=g.useState(!1),[B,ie]=g.useState(!1),te=We(l,ue=>v(ue)),ne=Yv(c);return h.jsx(Kv,{scope:i,type:a,dir:ne,scrollHideDelay:d,scrollArea:p,viewport:x,onViewportChange:y,content:S,onContentChange:C,scrollbarX:k,onScrollbarXChange:b,scrollbarXEnabled:U,onScrollbarXEnabledChange:G,scrollbarY:_,onScrollbarYChange:T,scrollbarYEnabled:B,onScrollbarYEnabledChange:ie,onCornerWidthChange:L,onCornerHeightChange:M,children:h.jsx(Le.div,{dir:ne,...m,ref:te,style:{position:"relative","--radix-scroll-area-corner-width":A+"px","--radix-scroll-area-corner-height":$+"px",...r.style}})})});pp.displayName=Ga;var mp="ScrollAreaViewport",hp=g.forwardRef((r,l)=>{const{__scopeScrollArea:i,children:a,nonce:c,...d}=r,m=xt(mp,i),p=g.useRef(null),v=We(l,p,m.onViewportChange);return h.jsxs(h.Fragment,{children:[h.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:c}),h.jsx(Le.div,{"data-radix-scroll-area-viewport":"",...d,ref:v,style:{overflowX:m.scrollbarXEnabled?"scroll":"hidden",overflowY:m.scrollbarYEnabled?"scroll":"hidden",...r.style},children:h.jsx("div",{ref:m.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});hp.displayName=mp;var $t="ScrollAreaScrollbar",Ya=g.forwardRef((r,l)=>{const{forceMount:i,...a}=r,c=xt($t,r.__scopeScrollArea),{onScrollbarXEnabledChange:d,onScrollbarYEnabledChange:m}=c,p=r.orientation==="horizontal";return g.useEffect(()=>(p?d(!0):m(!0),()=>{p?d(!1):m(!1)}),[p,d,m]),c.type==="hover"?h.jsx(Zv,{...a,ref:l,forceMount:i}):c.type==="scroll"?h.jsx(qv,{...a,ref:l,forceMount:i}):c.type==="auto"?h.jsx(gp,{...a,ref:l,forceMount:i}):c.type==="always"?h.jsx(Qa,{...a,ref:l}):null});Ya.displayName=$t;var Zv=g.forwardRef((r,l)=>{const{forceMount:i,...a}=r,c=xt($t,r.__scopeScrollArea),[d,m]=g.useState(!1);return g.useEffect(()=>{const p=c.scrollArea;let v=0;if(p){const x=()=>{window.clearTimeout(v),m(!0)},y=()=>{v=window.setTimeout(()=>m(!1),c.scrollHideDelay)};return p.addEventListener("pointerenter",x),p.addEventListener("pointerleave",y),()=>{window.clearTimeout(v),p.removeEventListener("pointerenter",x),p.removeEventListener("pointerleave",y)}}},[c.scrollArea,c.scrollHideDelay]),h.jsx(Rt,{present:i||d,children:h.jsx(gp,{"data-state":d?"visible":"hidden",...a,ref:l})})}),qv=g.forwardRef((r,l)=>{const{forceMount:i,...a}=r,c=xt($t,r.__scopeScrollArea),d=r.orientation==="horizontal",m=ri(()=>v("SCROLL_END"),100),[p,v]=Xv("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return g.useEffect(()=>{if(p==="idle"){const x=window.setTimeout(()=>v("HIDE"),c.scrollHideDelay);return()=>window.clearTimeout(x)}},[p,c.scrollHideDelay,v]),g.useEffect(()=>{const x=c.viewport,y=d?"scrollLeft":"scrollTop";if(x){let S=x[y];const C=()=>{const k=x[y];S!==k&&(v("SCROLL"),m()),S=k};return x.addEventListener("scroll",C),()=>x.removeEventListener("scroll",C)}},[c.viewport,d,v,m]),h.jsx(Rt,{present:i||p!=="hidden",children:h.jsx(Qa,{"data-state":p==="hidden"?"hidden":"visible",...a,ref:l,onPointerEnter:_e(r.onPointerEnter,()=>v("POINTER_ENTER")),onPointerLeave:_e(r.onPointerLeave,()=>v("POINTER_LEAVE"))})})}),gp=g.forwardRef((r,l)=>{const i=xt($t,r.__scopeScrollArea),{forceMount:a,...c}=r,[d,m]=g.useState(!1),p=r.orientation==="horizontal",v=ri(()=>{if(i.viewport){const x=i.viewport.offsetWidth {const{orientation:i="vertical",...a}=r,c=xt($t,r.__scopeScrollArea),d=g.useRef(null),m=g.useRef(0),[p,v]=g.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),x=Sp(p.viewport,p.content),y={...a,sizes:p,onSizesChange:v,hasThumb:x>0&&x<1,onThumbChange:C=>d.current=C,onThumbPointerUp:()=>m.current=0,onThumbPointerDown:C=>m.current=C};function S(C,k){return oy(C,m.current,p,k)}return i==="horizontal"?h.jsx(Jv,{...y,ref:l,onThumbPositionChange:()=>{if(c.viewport&&d.current){const C=c.viewport.scrollLeft,k=Cf(C,p,c.dir);d.current.style.transform=`translate3d(${k}px, 0, 0)`}},onWheelScroll:C=>{c.viewport&&(c.viewport.scrollLeft=C)},onDragScroll:C=>{c.viewport&&(c.viewport.scrollLeft=S(C,c.dir))}}):i==="vertical"?h.jsx(ey,{...y,ref:l,onThumbPositionChange:()=>{if(c.viewport&&d.current){const C=c.viewport.scrollTop,k=Cf(C,p);d.current.style.transform=`translate3d(0, ${k}px, 0)`}},onWheelScroll:C=>{c.viewport&&(c.viewport.scrollTop=C)},onDragScroll:C=>{c.viewport&&(c.viewport.scrollTop=S(C))}}):null}),Jv=g.forwardRef((r,l)=>{const{sizes:i,onSizesChange:a,...c}=r,d=xt($t,r.__scopeScrollArea),[m,p]=g.useState(),v=g.useRef(null),x=We(l,v,d.onScrollbarXChange);return g.useEffect(()=>{v.current&&p(getComputedStyle(v.current))},[v]),h.jsx(yp,{"data-orientation":"horizontal",...c,ref:x,sizes:i,style:{bottom:0,left:d.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:d.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ni(i)+"px",...r.style},onThumbPointerDown:y=>r.onThumbPointerDown(y.x),onDragScroll:y=>r.onDragScroll(y.x),onWheelScroll:(y,S)=>{if(d.viewport){const C=d.viewport.scrollLeft+y.deltaX;r.onWheelScroll(C),Ep(C,S)&&y.preventDefault()}},onResize:()=>{v.current&&d.viewport&&m&&a({content:d.viewport.scrollWidth,viewport:d.viewport.offsetWidth,scrollbar:{size:v.current.clientWidth,paddingStart:Yl(m.paddingLeft),paddingEnd:Yl(m.paddingRight)}})}})}),ey=g.forwardRef((r,l)=>{const{sizes:i,onSizesChange:a,...c}=r,d=xt($t,r.__scopeScrollArea),[m,p]=g.useState(),v=g.useRef(null),x=We(l,v,d.onScrollbarYChange);return g.useEffect(()=>{v.current&&p(getComputedStyle(v.current))},[v]),h.jsx(yp,{"data-orientation":"vertical",...c,ref:x,sizes:i,style:{top:0,right:d.dir==="ltr"?0:void 0,left:d.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ni(i)+"px",...r.style},onThumbPointerDown:y=>r.onThumbPointerDown(y.y),onDragScroll:y=>r.onDragScroll(y.y),onWheelScroll:(y,S)=>{if(d.viewport){const C=d.viewport.scrollTop+y.deltaY;r.onWheelScroll(C),Ep(C,S)&&y.preventDefault()}},onResize:()=>{v.current&&d.viewport&&m&&a({content:d.viewport.scrollHeight,viewport:d.viewport.offsetHeight,scrollbar:{size:v.current.clientHeight,paddingStart:Yl(m.paddingTop),paddingEnd:Yl(m.paddingBottom)}})}})}),[ty,vp]=fp($t),yp=g.forwardRef((r,l)=>{const{__scopeScrollArea:i,sizes:a,hasThumb:c,onThumbChange:d,onThumbPointerUp:m,onThumbPointerDown:p,onThumbPositionChange:v,onDragScroll:x,onWheelScroll:y,onResize:S,...C}=r,k=xt($t,i),[b,_]=g.useState(null),T=We(l,te=>_(te)),A=g.useRef(null),L=g.useRef(""),$=k.viewport,M=a.content-a.viewport,U=dt(y),G=dt(v),B=ri(S,10);function ie(te){if(A.current){const ne=te.clientX-A.current.left,ue=te.clientY-A.current.top;x({x:ne,y:ue})}}return g.useEffect(()=>{const te=ne=>{const ue=ne.target;b?.contains(ue)&&U(ne,M)};return document.addEventListener("wheel",te,{passive:!1}),()=>document.removeEventListener("wheel",te,{passive:!1})},[$,b,M,U]),g.useEffect(G,[a,G]),Er(b,B),Er(k.content,B),h.jsx(ty,{scope:i,scrollbar:b,hasThumb:c,onThumbChange:dt(d),onThumbPointerUp:dt(m),onThumbPositionChange:G,onThumbPointerDown:dt(p),children:h.jsx(Le.div,{...C,ref:T,style:{position:"absolute",...C.style},onPointerDown:_e(r.onPointerDown,te=>{te.button===0&&(te.target.setPointerCapture(te.pointerId),A.current=b.getBoundingClientRect(),L.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",k.viewport&&(k.viewport.style.scrollBehavior="auto"),ie(te))}),onPointerMove:_e(r.onPointerMove,ie),onPointerUp:_e(r.onPointerUp,te=>{const ne=te.target;ne.hasPointerCapture(te.pointerId)&&ne.releasePointerCapture(te.pointerId),document.body.style.webkitUserSelect=L.current,k.viewport&&(k.viewport.style.scrollBehavior=""),A.current=null})})})}),Gl="ScrollAreaThumb",xp=g.forwardRef((r,l)=>{const{forceMount:i,...a}=r,c=vp(Gl,r.__scopeScrollArea);return h.jsx(Rt,{present:i||c.hasThumb,children:h.jsx(ny,{ref:l,...a})})}),ny=g.forwardRef((r,l)=>{const{__scopeScrollArea:i,style:a,...c}=r,d=xt(Gl,i),m=vp(Gl,i),{onThumbPositionChange:p}=m,v=We(l,S=>m.onThumbChange(S)),x=g.useRef(void 0),y=ri(()=>{x.current&&(x.current(),x.current=void 0)},100);return g.useEffect(()=>{const S=d.viewport;if(S){const C=()=>{if(y(),!x.current){const k=ly(S,p);x.current=k,p()}};return p(),S.addEventListener("scroll",C),()=>S.removeEventListener("scroll",C)}},[d.viewport,y,p]),h.jsx(Le.div,{"data-state":m.hasThumb?"visible":"hidden",...c,ref:v,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:_e(r.onPointerDownCapture,S=>{const k=S.target.getBoundingClientRect(),b=S.clientX-k.left,_=S.clientY-k.top;m.onThumbPointerDown({x:b,y:_})}),onPointerUp:_e(r.onPointerUp,m.onThumbPointerUp)})});xp.displayName=Gl;var Xa="ScrollAreaCorner",wp=g.forwardRef((r,l)=>{const i=xt(Xa,r.__scopeScrollArea),a=!!(i.scrollbarX&&i.scrollbarY);return i.type!=="scroll"&&a?h.jsx(ry,{...r,ref:l}):null});wp.displayName=Xa;var ry=g.forwardRef((r,l)=>{const{__scopeScrollArea:i,...a}=r,c=xt(Xa,i),[d,m]=g.useState(0),[p,v]=g.useState(0),x=!!(d&&p);return Er(c.scrollbarX,()=>{const y=c.scrollbarX?.offsetHeight||0;c.onCornerHeightChange(y),v(y)}),Er(c.scrollbarY,()=>{const y=c.scrollbarY?.offsetWidth||0;c.onCornerWidthChange(y),m(y)}),x?h.jsx(Le.div,{...a,ref:l,style:{width:d,height:p,position:"absolute",right:c.dir==="ltr"?0:void 0,left:c.dir==="rtl"?0:void 0,bottom:0,...r.style}}):null});function Yl(r){return r?parseInt(r,10):0}function Sp(r,l){const i=r/l;return isNaN(i)?0:i}function ni(r){const l=Sp(r.viewport,r.content),i=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,a=(r.scrollbar.size-i)*l;return Math.max(a,18)}function oy(r,l,i,a="ltr"){const c=ni(i),d=c/2,m=l||d,p=c-m,v=i.scrollbar.paddingStart+m,x=i.scrollbar.size-i.scrollbar.paddingEnd-p,y=i.content-i.viewport,S=a==="ltr"?[0,y]:[y*-1,0];return Cp([v,x],S)(r)}function Cf(r,l,i="ltr"){const a=ni(l),c=l.scrollbar.paddingStart+l.scrollbar.paddingEnd,d=l.scrollbar.size-c,m=l.content-l.viewport,p=d-a,v=i==="ltr"?[0,m]:[m*-1,0],x=Qv(r,v);return Cp([0,m],[0,p])(x)}function Cp(r,l){return i=>{if(r[0]===r[1]||l[0]===l[1])return l[0];const a=(l[1]-l[0])/(r[1]-r[0]);return l[0]+a*(i-r[0])}}function Ep(r,l){return r>0&&r {})=>{let i={left:r.scrollLeft,top:r.scrollTop},a=0;return(function c(){const d={left:r.scrollLeft,top:r.scrollTop},m=i.left!==d.left,p=i.top!==d.top;(m||p)&&l(),i=d,a=window.requestAnimationFrame(c)})(),()=>window.cancelAnimationFrame(a)};function ri(r,l){const i=dt(r),a=g.useRef(0);return g.useEffect(()=>()=>window.clearTimeout(a.current),[]),g.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(i,l)},[i,l])}function Er(r,l){const i=dt(l);Ft(()=>{let a=0;if(r){const c=new ResizeObserver(()=>{cancelAnimationFrame(a),a=window.requestAnimationFrame(i)});return c.observe(r),()=>{window.cancelAnimationFrame(a),c.unobserve(r)}}},[r,i])}var _p=pp,iy=hp,sy=wp;function kp(r){var l,i,a="";if(typeof r=="string"||typeof r=="number")a+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(l=0;l {const l=cy(r),{conflictingClassGroups:i,conflictingClassGroupModifiers:a}=r;return{getClassGroupId:m=>{const p=m.split(Ka);return p[0]===""&&p.length!==1&&p.shift(),Pp(p,l)||uy(m)},getConflictingClassGroupIds:(m,p)=>{const v=i[m]||[];return p&&a[m]?[...v,...a[m]]:v}}},Pp=(r,l)=>{if(r.length===0)return l.classGroupId;const i=r[0],a=l.nextPart.get(i),c=a?Pp(r.slice(1),a):void 0;if(c)return c;if(l.validators.length===0)return;const d=r.join(Ka);return l.validators.find(({validator:m})=>m(d))?.classGroupId},Ef=/^\[(.+)\]$/,uy=r=>{if(Ef.test(r)){const l=Ef.exec(r)[1],i=l?.substring(0,l.indexOf(":"));if(i)return"arbitrary.."+i}},cy=r=>{const{theme:l,prefix:i}=r,a={nextPart:new Map,validators:[]};return fy(Object.entries(r.classGroups),i).forEach(([d,m])=>{Da(m,a,d,l)}),a},Da=(r,l,i,a)=>{r.forEach(c=>{if(typeof c=="string"){const d=c===""?l:_f(l,c);d.classGroupId=i;return}if(typeof c=="function"){if(dy(c)){Da(c(a),l,i,a);return}l.validators.push({validator:c,classGroupId:i});return}Object.entries(c).forEach(([d,m])=>{Da(m,_f(l,d),i,a)})})},_f=(r,l)=>{let i=r;return l.split(Ka).forEach(a=>{i.nextPart.has(a)||i.nextPart.set(a,{nextPart:new Map,validators:[]}),i=i.nextPart.get(a)}),i},dy=r=>r.isThemeGetter,fy=(r,l)=>l?r.map(([i,a])=>{const c=a.map(d=>typeof d=="string"?l+d:typeof d=="object"?Object.fromEntries(Object.entries(d).map(([m,p])=>[l+m,p])):d);return[i,c]}):r,py=r=>{if(r<1)return{get:()=>{},set:()=>{}};let l=0,i=new Map,a=new Map;const c=(d,m)=>{i.set(d,m),l++,l>r&&(l=0,a=i,i=new Map)};return{get(d){let m=i.get(d);if(m!==void 0)return m;if((m=a.get(d))!==void 0)return c(d,m),m},set(d,m){i.has(d)?i.set(d,m):c(d,m)}}},bp="!",my=r=>{const{separator:l,experimentalParseClassName:i}=r,a=l.length===1,c=l[0],d=l.length,m=p=>{const v=[];let x=0,y=0,S;for(let T=0;T y?S-y:void 0;return{modifiers:v,hasImportantModifier:k,baseClassName:b,maybePostfixModifierPosition:_}};return i?p=>i({className:p,parseClassName:m}):m},hy=r=>{if(r.length<=1)return r;const l=[];let i=[];return r.forEach(a=>{a[0]==="["?(l.push(...i.sort(),a),i=[]):i.push(a)}),l.push(...i.sort()),l},gy=r=>({cache:py(r.cacheSize),parseClassName:my(r),...ay(r)}),vy=/\s+/,yy=(r,l)=>{const{parseClassName:i,getClassGroupId:a,getConflictingClassGroupIds:c}=l,d=[],m=r.trim().split(vy);let p="";for(let v=m.length-1;v>=0;v-=1){const x=m[v],{modifiers:y,hasImportantModifier:S,baseClassName:C,maybePostfixModifierPosition:k}=i(x);let b=!!k,_=a(b?C.substring(0,k):C);if(!_){if(!b){p=x+(p.length>0?" "+p:p);continue}if(_=a(C),!_){p=x+(p.length>0?" "+p:p);continue}b=!1}const T=hy(y).join(":"),A=S?T+bp:T,L=A+_;if(d.includes(L))continue;d.push(L);const $=c(_,b);for(let M=0;M<$.length;++M){const U=$[M];d.push(A+U)}p=x+(p.length>0?" "+p:p)}return p};function xy(){let r=0,l,i,a="";for(;r {if(typeof r=="string")return r;let l,i="";for(let a=0;a S(y),r());return i=gy(x),a=i.cache.get,c=i.cache.set,d=p,p(v)}function p(v){const x=a(v);if(x)return x;const y=yy(v,i);return c(v,y),y}return function(){return d(xy.apply(null,arguments))}}const Te=r=>{const l=i=>i[r]||[];return l.isThemeGetter=!0,l},Tp=/^\[(?:([a-z-]+):)?(.+)\]$/i,Sy=/^\d+\/\d+$/,Cy=new Set(["px","full","screen"]),Ey=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,_y=/\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$/,ky=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ny=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Py=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Zt=r=>wr(r)||Cy.has(r)||Sy.test(r),Sn=r=>br(r,"length",Dy),wr=r=>!!r&&!Number.isNaN(Number(r)),Sa=r=>br(r,"number",wr),yo=r=>!!r&&Number.isInteger(Number(r)),by=r=>r.endsWith("%")&&wr(r.slice(0,-1)),fe=r=>Tp.test(r),Cn=r=>Ey.test(r),Ry=new Set(["length","size","percentage"]),Ty=r=>br(r,Ry,jp),jy=r=>br(r,"position",jp),Oy=new Set(["image","url"]),Ay=r=>br(r,Oy,Iy),Ly=r=>br(r,"",My),xo=()=>!0,br=(r,l,i)=>{const a=Tp.exec(r);return a?a[1]?typeof l=="string"?a[1]===l:l.has(a[1]):i(a[2]):!1},Dy=r=>_y.test(r)&&!ky.test(r),jp=()=>!1,My=r=>Ny.test(r),Iy=r=>Py.test(r),zy=()=>{const r=Te("colors"),l=Te("spacing"),i=Te("blur"),a=Te("brightness"),c=Te("borderColor"),d=Te("borderRadius"),m=Te("borderSpacing"),p=Te("borderWidth"),v=Te("contrast"),x=Te("grayscale"),y=Te("hueRotate"),S=Te("invert"),C=Te("gap"),k=Te("gradientColorStops"),b=Te("gradientColorStopPositions"),_=Te("inset"),T=Te("margin"),A=Te("opacity"),L=Te("padding"),$=Te("saturate"),M=Te("scale"),U=Te("sepia"),G=Te("skew"),B=Te("space"),ie=Te("translate"),te=()=>["auto","contain","none"],ne=()=>["auto","hidden","clip","visible","scroll"],ue=()=>["auto",fe,l],J=()=>[fe,l],me=()=>["",Zt,Sn],ce=()=>["auto",wr,fe],ee=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],le=()=>["solid","dashed","dotted","double","none"],se=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],D=()=>["start","end","center","between","around","evenly","stretch"],Y=()=>["","0",fe],V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>[wr,fe];return{cacheSize:500,separator:":",theme:{colors:[xo],spacing:[Zt,Sn],blur:["none","",Cn,fe],brightness:P(),borderColor:[r],borderRadius:["none","","full",Cn,fe],borderSpacing:J(),borderWidth:me(),contrast:P(),grayscale:Y(),hueRotate:P(),invert:Y(),gap:J(),gradientColorStops:[r],gradientColorStopPositions:[by,Sn],inset:ue(),margin:ue(),opacity:P(),padding:J(),saturate:P(),scale:P(),sepia:Y(),skew:P(),space:J(),translate:J()},classGroups:{aspect:[{aspect:["auto","square","video",fe]}],container:["container"],columns:[{columns:[Cn]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"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"],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:[...ee(),fe]}],overflow:[{overflow:ne()}],"overflow-x":[{"overflow-x":ne()}],"overflow-y":[{"overflow-y":ne()}],overscroll:[{overscroll:te()}],"overscroll-x":[{"overscroll-x":te()}],"overscroll-y":[{"overscroll-y":te()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[_]}],"inset-x":[{"inset-x":[_]}],"inset-y":[{"inset-y":[_]}],start:[{start:[_]}],end:[{end:[_]}],top:[{top:[_]}],right:[{right:[_]}],bottom:[{bottom:[_]}],left:[{left:[_]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",yo,fe]}],basis:[{basis:ue()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",fe]}],grow:[{grow:Y()}],shrink:[{shrink:Y()}],order:[{order:["first","last","none",yo,fe]}],"grid-cols":[{"grid-cols":[xo]}],"col-start-end":[{col:["auto",{span:["full",yo,fe]},fe]}],"col-start":[{"col-start":ce()}],"col-end":[{"col-end":ce()}],"grid-rows":[{"grid-rows":[xo]}],"row-start-end":[{row:["auto",{span:[yo,fe]},fe]}],"row-start":[{"row-start":ce()}],"row-end":[{"row-end":ce()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",fe]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",fe]}],gap:[{gap:[C]}],"gap-x":[{"gap-x":[C]}],"gap-y":[{"gap-y":[C]}],"justify-content":[{justify:["normal",...D()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...D(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...D(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[L]}],px:[{px:[L]}],py:[{py:[L]}],ps:[{ps:[L]}],pe:[{pe:[L]}],pt:[{pt:[L]}],pr:[{pr:[L]}],pb:[{pb:[L]}],pl:[{pl:[L]}],m:[{m:[T]}],mx:[{mx:[T]}],my:[{my:[T]}],ms:[{ms:[T]}],me:[{me:[T]}],mt:[{mt:[T]}],mr:[{mr:[T]}],mb:[{mb:[T]}],ml:[{ml:[T]}],"space-x":[{"space-x":[B]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[B]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",fe,l]}],"min-w":[{"min-w":[fe,l,"min","max","fit"]}],"max-w":[{"max-w":[fe,l,"none","full","min","max","fit","prose",{screen:[Cn]},Cn]}],h:[{h:[fe,l,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[fe,l,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[fe,l,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[fe,l,"auto","min","max","fit"]}],"font-size":[{text:["base",Cn,Sn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Sa]}],"font-family":[{font:[xo]}],"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:["tighter","tight","normal","wide","wider","widest",fe]}],"line-clamp":[{"line-clamp":["none",wr,Sa]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Zt,fe]}],"list-image":[{"list-image":["none",fe]}],"list-style-type":[{list:["none","disc","decimal",fe]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[r]}],"placeholder-opacity":[{"placeholder-opacity":[A]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[r]}],"text-opacity":[{"text-opacity":[A]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...le(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Zt,Sn]}],"underline-offset":[{"underline-offset":["auto",Zt,fe]}],"text-decoration-color":[{decoration:[r]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:J()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",fe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[A]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ee(),jy]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Ty]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Ay]}],"bg-color":[{bg:[r]}],"gradient-from-pos":[{from:[b]}],"gradient-via-pos":[{via:[b]}],"gradient-to-pos":[{to:[b]}],"gradient-from":[{from:[k]}],"gradient-via":[{via:[k]}],"gradient-to":[{to:[k]}],rounded:[{rounded:[d]}],"rounded-s":[{"rounded-s":[d]}],"rounded-e":[{"rounded-e":[d]}],"rounded-t":[{"rounded-t":[d]}],"rounded-r":[{"rounded-r":[d]}],"rounded-b":[{"rounded-b":[d]}],"rounded-l":[{"rounded-l":[d]}],"rounded-ss":[{"rounded-ss":[d]}],"rounded-se":[{"rounded-se":[d]}],"rounded-ee":[{"rounded-ee":[d]}],"rounded-es":[{"rounded-es":[d]}],"rounded-tl":[{"rounded-tl":[d]}],"rounded-tr":[{"rounded-tr":[d]}],"rounded-br":[{"rounded-br":[d]}],"rounded-bl":[{"rounded-bl":[d]}],"border-w":[{border:[p]}],"border-w-x":[{"border-x":[p]}],"border-w-y":[{"border-y":[p]}],"border-w-s":[{"border-s":[p]}],"border-w-e":[{"border-e":[p]}],"border-w-t":[{"border-t":[p]}],"border-w-r":[{"border-r":[p]}],"border-w-b":[{"border-b":[p]}],"border-w-l":[{"border-l":[p]}],"border-opacity":[{"border-opacity":[A]}],"border-style":[{border:[...le(),"hidden"]}],"divide-x":[{"divide-x":[p]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[p]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[A]}],"divide-style":[{divide:le()}],"border-color":[{border:[c]}],"border-color-x":[{"border-x":[c]}],"border-color-y":[{"border-y":[c]}],"border-color-s":[{"border-s":[c]}],"border-color-e":[{"border-e":[c]}],"border-color-t":[{"border-t":[c]}],"border-color-r":[{"border-r":[c]}],"border-color-b":[{"border-b":[c]}],"border-color-l":[{"border-l":[c]}],"divide-color":[{divide:[c]}],"outline-style":[{outline:["",...le()]}],"outline-offset":[{"outline-offset":[Zt,fe]}],"outline-w":[{outline:[Zt,Sn]}],"outline-color":[{outline:[r]}],"ring-w":[{ring:me()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[r]}],"ring-opacity":[{"ring-opacity":[A]}],"ring-offset-w":[{"ring-offset":[Zt,Sn]}],"ring-offset-color":[{"ring-offset":[r]}],shadow:[{shadow:["","inner","none",Cn,Ly]}],"shadow-color":[{shadow:[xo]}],opacity:[{opacity:[A]}],"mix-blend":[{"mix-blend":[...se(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":se()}],filter:[{filter:["","none"]}],blur:[{blur:[i]}],brightness:[{brightness:[a]}],contrast:[{contrast:[v]}],"drop-shadow":[{"drop-shadow":["","none",Cn,fe]}],grayscale:[{grayscale:[x]}],"hue-rotate":[{"hue-rotate":[y]}],invert:[{invert:[S]}],saturate:[{saturate:[$]}],sepia:[{sepia:[U]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[i]}],"backdrop-brightness":[{"backdrop-brightness":[a]}],"backdrop-contrast":[{"backdrop-contrast":[v]}],"backdrop-grayscale":[{"backdrop-grayscale":[x]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[y]}],"backdrop-invert":[{"backdrop-invert":[S]}],"backdrop-opacity":[{"backdrop-opacity":[A]}],"backdrop-saturate":[{"backdrop-saturate":[$]}],"backdrop-sepia":[{"backdrop-sepia":[U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[m]}],"border-spacing-x":[{"border-spacing-x":[m]}],"border-spacing-y":[{"border-spacing-y":[m]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",fe]}],duration:[{duration:P()}],ease:[{ease:["linear","in","out","in-out",fe]}],delay:[{delay:P()}],animate:[{animate:["none","spin","ping","pulse","bounce",fe]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[M]}],"scale-x":[{"scale-x":[M]}],"scale-y":[{"scale-y":[M]}],rotate:[{rotate:[yo,fe]}],"translate-x":[{"translate-x":[ie]}],"translate-y":[{"translate-y":[ie]}],"skew-x":[{"skew-x":[G]}],"skew-y":[{"skew-y":[G]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",fe]}],accent:[{accent:["auto",r]}],appearance:[{appearance:["none","auto"]}],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",fe]}],"caret-color":[{caret:[r]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":J()}],"scroll-mx":[{"scroll-mx":J()}],"scroll-my":[{"scroll-my":J()}],"scroll-ms":[{"scroll-ms":J()}],"scroll-me":[{"scroll-me":J()}],"scroll-mt":[{"scroll-mt":J()}],"scroll-mr":[{"scroll-mr":J()}],"scroll-mb":[{"scroll-mb":J()}],"scroll-ml":[{"scroll-ml":J()}],"scroll-p":[{"scroll-p":J()}],"scroll-px":[{"scroll-px":J()}],"scroll-py":[{"scroll-py":J()}],"scroll-ps":[{"scroll-ps":J()}],"scroll-pe":[{"scroll-pe":J()}],"scroll-pt":[{"scroll-pt":J()}],"scroll-pr":[{"scroll-pr":J()}],"scroll-pb":[{"scroll-pb":J()}],"scroll-pl":[{"scroll-pl":J()}],"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",fe]}],fill:[{fill:[r,"none"]}],"stroke-w":[{stroke:[Zt,Sn,Sa]}],stroke:[{stroke:[r,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}},Fy=wy(zy);function ge(...r){return Fy(Np(r))}const oi=g.forwardRef(({className:r,children:l,...i},a)=>h.jsxs(_p,{ref:a,className:ge("relative overflow-hidden",r),...i,children:[h.jsx(iy,{className:"h-full w-full rounded-[inherit]",children:l}),h.jsx(Op,{}),h.jsx(sy,{})]}));oi.displayName=_p.displayName;const Op=g.forwardRef(({className:r,orientation:l="vertical",...i},a)=>h.jsx(Ya,{ref:a,orientation:l,className:ge("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",r),...i,children:h.jsx(xp,{className:"relative flex-1 rounded-full bg-border"})}));Op.displayName=Ya.displayName;var $y=op[" useId ".trim().toString()]||(()=>{}),Wy=0;function So(r){const[l,i]=g.useState($y());return Ft(()=>{i(a=>a??String(Wy++))},[r]),r||(l?`radix-${l}`:"")}var Hy=op[" useInsertionEffect ".trim().toString()]||Ft;function li({prop:r,defaultProp:l,onChange:i=()=>{},caller:a}){const[c,d,m]=Uy({defaultProp:l,onChange:i}),p=r!==void 0,v=p?r:c;{const y=g.useRef(r!==void 0);g.useEffect(()=>{const S=y.current;S!==p&&console.warn(`${a} is changing from ${S?"controlled":"uncontrolled"} to ${p?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=p},[p,a])}const x=g.useCallback(y=>{if(p){const S=By(y)?y(r):y;S!==r&&m.current?.(S)}else d(y)},[p,r,d,m]);return[v,x]}function Uy({defaultProp:r,onChange:l}){const[i,a]=g.useState(r),c=g.useRef(i),d=g.useRef(l);return Hy(()=>{d.current=l},[l]),g.useEffect(()=>{c.current!==i&&(d.current?.(i),c.current=i)},[i,c]),[i,a,d]}function By(r){return typeof r=="function"}function Vy(r,l=globalThis?.document){const i=dt(r);g.useEffect(()=>{const a=c=>{c.key==="Escape"&&i(c)};return l.addEventListener("keydown",a,{capture:!0}),()=>l.removeEventListener("keydown",a,{capture:!0})},[i,l])}var Gy="DismissableLayer",Ma="dismissableLayer.update",Yy="dismissableLayer.pointerDownOutside",Qy="dismissableLayer.focusOutside",kf,Ap=g.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),ii=g.forwardRef((r,l)=>{const{disableOutsidePointerEvents:i=!1,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:m,onDismiss:p,...v}=r,x=g.useContext(Ap),[y,S]=g.useState(null),C=y?.ownerDocument??globalThis?.document,[,k]=g.useState({}),b=We(l,B=>S(B)),_=Array.from(x.layers),[T]=[...x.layersWithOutsidePointerEventsDisabled].slice(-1),A=_.indexOf(T),L=y?_.indexOf(y):-1,$=x.layersWithOutsidePointerEventsDisabled.size>0,M=L>=A,U=Zy(B=>{const ie=B.target,te=[...x.branches].some(ne=>ne.contains(ie));!M||te||(c?.(B),m?.(B),B.defaultPrevented||p?.())},C),G=qy(B=>{const ie=B.target;[...x.branches].some(ne=>ne.contains(ie))||(d?.(B),m?.(B),B.defaultPrevented||p?.())},C);return Vy(B=>{L===x.layers.size-1&&(a?.(B),!B.defaultPrevented&&p&&(B.preventDefault(),p()))},C),g.useEffect(()=>{if(y)return i&&(x.layersWithOutsidePointerEventsDisabled.size===0&&(kf=C.body.style.pointerEvents,C.body.style.pointerEvents="none"),x.layersWithOutsidePointerEventsDisabled.add(y)),x.layers.add(y),Nf(),()=>{i&&x.layersWithOutsidePointerEventsDisabled.size===1&&(C.body.style.pointerEvents=kf)}},[y,C,i,x]),g.useEffect(()=>()=>{y&&(x.layers.delete(y),x.layersWithOutsidePointerEventsDisabled.delete(y),Nf())},[y,x]),g.useEffect(()=>{const B=()=>k({});return document.addEventListener(Ma,B),()=>document.removeEventListener(Ma,B)},[]),h.jsx(Le.div,{...v,ref:b,style:{pointerEvents:$?M?"auto":"none":void 0,...r.style},onFocusCapture:_e(r.onFocusCapture,G.onFocusCapture),onBlurCapture:_e(r.onBlurCapture,G.onBlurCapture),onPointerDownCapture:_e(r.onPointerDownCapture,U.onPointerDownCapture)})});ii.displayName=Gy;var Xy="DismissableLayerBranch",Ky=g.forwardRef((r,l)=>{const i=g.useContext(Ap),a=g.useRef(null),c=We(l,a);return g.useEffect(()=>{const d=a.current;if(d)return i.branches.add(d),()=>{i.branches.delete(d)}},[i.branches]),h.jsx(Le.div,{...r,ref:c})});Ky.displayName=Xy;function Zy(r,l=globalThis?.document){const i=dt(r),a=g.useRef(!1),c=g.useRef(()=>{});return g.useEffect(()=>{const d=p=>{if(p.target&&!a.current){let v=function(){Lp(Yy,i,x,{discrete:!0})};const x={originalEvent:p};p.pointerType==="touch"?(l.removeEventListener("click",c.current),c.current=v,l.addEventListener("click",c.current,{once:!0})):v()}else l.removeEventListener("click",c.current);a.current=!1},m=window.setTimeout(()=>{l.addEventListener("pointerdown",d)},0);return()=>{window.clearTimeout(m),l.removeEventListener("pointerdown",d),l.removeEventListener("click",c.current)}},[l,i]),{onPointerDownCapture:()=>a.current=!0}}function qy(r,l=globalThis?.document){const i=dt(r),a=g.useRef(!1);return g.useEffect(()=>{const c=d=>{d.target&&!a.current&&Lp(Qy,i,{originalEvent:d},{discrete:!1})};return l.addEventListener("focusin",c),()=>l.removeEventListener("focusin",c)},[l,i]),{onFocusCapture:()=>a.current=!0,onBlurCapture:()=>a.current=!1}}function Nf(){const r=new CustomEvent(Ma);document.dispatchEvent(r)}function Lp(r,l,i,{discrete:a}){const c=i.originalEvent.target,d=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:i});l&&c.addEventListener(r,l,{once:!0}),a?$v(c,d):c.dispatchEvent(d)}var Ca="focusScope.autoFocusOnMount",Ea="focusScope.autoFocusOnUnmount",Pf={bubbles:!1,cancelable:!0},Jy="FocusScope",Dp=g.forwardRef((r,l)=>{const{loop:i=!1,trapped:a=!1,onMountAutoFocus:c,onUnmountAutoFocus:d,...m}=r,[p,v]=g.useState(null),x=dt(c),y=dt(d),S=g.useRef(null),C=We(l,_=>v(_)),k=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(a){let _=function($){if(k.paused||!p)return;const M=$.target;p.contains(M)?S.current=M:En(S.current,{select:!0})},T=function($){if(k.paused||!p)return;const M=$.relatedTarget;M!==null&&(p.contains(M)||En(S.current,{select:!0}))},A=function($){if(document.activeElement===document.body)for(const U of $)U.removedNodes.length>0&&En(p)};document.addEventListener("focusin",_),document.addEventListener("focusout",T);const L=new MutationObserver(A);return p&&L.observe(p,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",_),document.removeEventListener("focusout",T),L.disconnect()}}},[a,p,k.paused]),g.useEffect(()=>{if(p){Rf.add(k);const _=document.activeElement;if(!p.contains(_)){const A=new CustomEvent(Ca,Pf);p.addEventListener(Ca,x),p.dispatchEvent(A),A.defaultPrevented||(ex(lx(Mp(p)),{select:!0}),document.activeElement===_&&En(p))}return()=>{p.removeEventListener(Ca,x),setTimeout(()=>{const A=new CustomEvent(Ea,Pf);p.addEventListener(Ea,y),p.dispatchEvent(A),A.defaultPrevented||En(_??document.body,{select:!0}),p.removeEventListener(Ea,y),Rf.remove(k)},0)}}},[p,x,y,k]);const b=g.useCallback(_=>{if(!i&&!a||k.paused)return;const T=_.key==="Tab"&&!_.altKey&&!_.ctrlKey&&!_.metaKey,A=document.activeElement;if(T&&A){const L=_.currentTarget,[$,M]=tx(L);$&&M?!_.shiftKey&&A===M?(_.preventDefault(),i&&En($,{select:!0})):_.shiftKey&&A===$&&(_.preventDefault(),i&&En(M,{select:!0})):A===L&&_.preventDefault()}},[i,a,k.paused]);return h.jsx(Le.div,{tabIndex:-1,...m,ref:C,onKeyDown:b})});Dp.displayName=Jy;function ex(r,{select:l=!1}={}){const i=document.activeElement;for(const a of r)if(En(a,{select:l}),document.activeElement!==i)return}function tx(r){const l=Mp(r),i=bf(l,r),a=bf(l.reverse(),r);return[i,a]}function Mp(r){const l=[],i=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const c=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||c?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;i.nextNode();)l.push(i.currentNode);return l}function bf(r,l){for(const i of r)if(!nx(i,{upTo:l}))return i}function nx(r,{upTo:l}){if(getComputedStyle(r).visibility==="hidden")return!0;for(;r;){if(l!==void 0&&r===l)return!1;if(getComputedStyle(r).display==="none")return!0;r=r.parentElement}return!1}function rx(r){return r instanceof HTMLInputElement&&"select"in r}function En(r,{select:l=!1}={}){if(r&&r.focus){const i=document.activeElement;r.focus({preventScroll:!0}),r!==i&&rx(r)&&l&&r.select()}}var Rf=ox();function ox(){let r=[];return{add(l){const i=r[0];l!==i&&i?.pause(),r=Tf(r,l),r.unshift(l)},remove(l){r=Tf(r,l),r[0]?.resume()}}}function Tf(r,l){const i=[...r],a=i.indexOf(l);return a!==-1&&i.splice(a,1),i}function lx(r){return r.filter(l=>l.tagName!=="A")}var ix="Portal",Ip=g.forwardRef((r,l)=>{const{container:i,...a}=r,[c,d]=g.useState(!1);Ft(()=>d(!0),[]);const m=i||c&&globalThis?.document?.body;return m?Av.createPortal(h.jsx(Le.div,{...a,ref:l}),m):null});Ip.displayName=ix;var _a=0;function sx(){g.useEffect(()=>{const r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",r[0]??jf()),document.body.insertAdjacentElement("beforeend",r[1]??jf()),_a++,()=>{_a===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(l=>l.remove()),_a--}},[])}function jf(){const r=document.createElement("span");return r.setAttribute("data-radix-focus-guard",""),r.tabIndex=0,r.style.outline="none",r.style.opacity="0",r.style.position="fixed",r.style.pointerEvents="none",r}var Mt=function(){return Mt=Object.assign||function(l){for(var i,a=1,c=arguments.length;a "u")return _x;var l=kx(r),i=document.documentElement.clientWidth,a=window.innerWidth;return{left:l[0],top:l[1],right:l[2],gap:Math.max(0,a-i+l[2]-l[0])}},Px=Wp(),Sr="data-scroll-locked",bx=function(r,l,i,a){var c=r.left,d=r.top,m=r.right,p=r.gap;return i===void 0&&(i="margin"),` - .`.concat(ux,` { - overflow: hidden `).concat(a,`; - padding-right: `).concat(p,"px ").concat(a,`; - } - body[`).concat(Sr,`] { - overflow: hidden `).concat(a,`; - overscroll-behavior: contain; - `).concat([l&&"position: relative ".concat(a,";"),i==="margin"&&` - padding-left: `.concat(c,`px; - padding-top: `).concat(d,`px; - padding-right: `).concat(m,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(p,"px ").concat(a,`; - `),i==="padding"&&"padding-right: ".concat(p,"px ").concat(a,";")].filter(Boolean).join(""),` - } - - .`).concat(Ul,` { - right: `).concat(p,"px ").concat(a,`; - } - - .`).concat(Bl,` { - margin-right: `).concat(p,"px ").concat(a,`; - } - - .`).concat(Ul," .").concat(Ul,` { - right: 0 `).concat(a,`; - } - - .`).concat(Bl," .").concat(Bl,` { - margin-right: 0 `).concat(a,`; - } - - body[`).concat(Sr,`] { - `).concat(cx,": ").concat(p,`px; - } -`)},Af=function(){var r=parseInt(document.body.getAttribute(Sr)||"0",10);return isFinite(r)?r:0},Rx=function(){g.useEffect(function(){return document.body.setAttribute(Sr,(Af()+1).toString()),function(){var r=Af()-1;r<=0?document.body.removeAttribute(Sr):document.body.setAttribute(Sr,r.toString())}},[])},Tx=function(r){var l=r.noRelative,i=r.noImportant,a=r.gapMode,c=a===void 0?"margin":a;Rx();var d=g.useMemo(function(){return Nx(c)},[c]);return g.createElement(Px,{styles:bx(d,!l,c,i?"":"!important")})},Ia=!1;if(typeof window<"u")try{var zl=Object.defineProperty({},"passive",{get:function(){return Ia=!0,!0}});window.addEventListener("test",zl,zl),window.removeEventListener("test",zl,zl)}catch{Ia=!1}var hr=Ia?{passive:!1}:!1,jx=function(r){return r.tagName==="TEXTAREA"},Hp=function(r,l){if(!(r instanceof Element))return!1;var i=window.getComputedStyle(r);return i[l]!=="hidden"&&!(i.overflowY===i.overflowX&&!jx(r)&&i[l]==="visible")},Ox=function(r){return Hp(r,"overflowY")},Ax=function(r){return Hp(r,"overflowX")},Lf=function(r,l){var i=l.ownerDocument,a=l;do{typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&(a=a.host);var c=Up(r,a);if(c){var d=Bp(r,a),m=d[1],p=d[2];if(m>p)return!0}a=a.parentNode}while(a&&a!==i.body);return!1},Lx=function(r){var l=r.scrollTop,i=r.scrollHeight,a=r.clientHeight;return[l,i,a]},Dx=function(r){var l=r.scrollLeft,i=r.scrollWidth,a=r.clientWidth;return[l,i,a]},Up=function(r,l){return r==="v"?Ox(l):Ax(l)},Bp=function(r,l){return r==="v"?Lx(l):Dx(l)},Mx=function(r,l){return r==="h"&&l==="rtl"?-1:1},Ix=function(r,l,i,a,c){var d=Mx(r,window.getComputedStyle(l).direction),m=d*a,p=i.target,v=l.contains(p),x=!1,y=m>0,S=0,C=0;do{if(!p)break;var k=Bp(r,p),b=k[0],_=k[1],T=k[2],A=_-T-d*b;(b||A)&&Up(r,p)&&(S+=A,C+=b);var L=p.parentNode;p=L&&L.nodeType===Node.DOCUMENT_FRAGMENT_NODE?L.host:L}while(!v&&p!==document.body||v&&(l.contains(p)||l===p));return(y&&Math.abs(S)<1||!y&&Math.abs(C)<1)&&(x=!0),x},Fl=function(r){return"changedTouches"in r?[r.changedTouches[0].clientX,r.changedTouches[0].clientY]:[0,0]},Df=function(r){return[r.deltaX,r.deltaY]},Mf=function(r){return r&&"current"in r?r.current:r},zx=function(r,l){return r[0]===l[0]&&r[1]===l[1]},Fx=function(r){return` - .block-interactivity-`.concat(r,` {pointer-events: none;} - .allow-interactivity-`).concat(r,` {pointer-events: all;} -`)},$x=0,gr=[];function Wx(r){var l=g.useRef([]),i=g.useRef([0,0]),a=g.useRef(),c=g.useState($x++)[0],d=g.useState(Wp)[0],m=g.useRef(r);g.useEffect(function(){m.current=r},[r]),g.useEffect(function(){if(r.inert){document.body.classList.add("block-interactivity-".concat(c));var _=ax([r.lockRef.current],(r.shards||[]).map(Mf),!0).filter(Boolean);return _.forEach(function(T){return T.classList.add("allow-interactivity-".concat(c))}),function(){document.body.classList.remove("block-interactivity-".concat(c)),_.forEach(function(T){return T.classList.remove("allow-interactivity-".concat(c))})}}},[r.inert,r.lockRef.current,r.shards]);var p=g.useCallback(function(_,T){if("touches"in _&&_.touches.length===2||_.type==="wheel"&&_.ctrlKey)return!m.current.allowPinchZoom;var A=Fl(_),L=i.current,$="deltaX"in _?_.deltaX:L[0]-A[0],M="deltaY"in _?_.deltaY:L[1]-A[1],U,G=_.target,B=Math.abs($)>Math.abs(M)?"h":"v";if("touches"in _&&B==="h"&&G.type==="range")return!1;var ie=window.getSelection(),te=ie&&ie.anchorNode,ne=te?te===G||te.contains(G):!1;if(ne)return!1;var ue=Lf(B,G);if(!ue)return!0;if(ue?U=B:(U=B==="v"?"h":"v",ue=Lf(B,G)),!ue)return!1;if(!a.current&&"changedTouches"in _&&($||M)&&(a.current=U),!U)return!0;var J=a.current||U;return Ix(J,T,_,J==="h"?$:M)},[]),v=g.useCallback(function(_){var T=_;if(!(!gr.length||gr[gr.length-1]!==d)){var A="deltaY"in T?Df(T):Fl(T),L=l.current.filter(function(U){return U.name===T.type&&(U.target===T.target||T.target===U.shadowParent)&&zx(U.delta,A)})[0];if(L&&L.should){T.cancelable&&T.preventDefault();return}if(!L){var $=(m.current.shards||[]).map(Mf).filter(Boolean).filter(function(U){return U.contains(T.target)}),M=$.length>0?p(T,$[0]):!m.current.noIsolation;M&&T.cancelable&&T.preventDefault()}}},[]),x=g.useCallback(function(_,T,A,L){var $={name:_,delta:T,target:A,should:L,shadowParent:Hx(A)};l.current.push($),setTimeout(function(){l.current=l.current.filter(function(M){return M!==$})},1)},[]),y=g.useCallback(function(_){i.current=Fl(_),a.current=void 0},[]),S=g.useCallback(function(_){x(_.type,Df(_),_.target,p(_,r.lockRef.current))},[]),C=g.useCallback(function(_){x(_.type,Fl(_),_.target,p(_,r.lockRef.current))},[]);g.useEffect(function(){return gr.push(d),r.setCallbacks({onScrollCapture:S,onWheelCapture:S,onTouchMoveCapture:C}),document.addEventListener("wheel",v,hr),document.addEventListener("touchmove",v,hr),document.addEventListener("touchstart",y,hr),function(){gr=gr.filter(function(_){return _!==d}),document.removeEventListener("wheel",v,hr),document.removeEventListener("touchmove",v,hr),document.removeEventListener("touchstart",y,hr)}},[]);var k=r.removeScrollBar,b=r.inert;return g.createElement(g.Fragment,null,b?g.createElement(d,{styles:Fx(c)}):null,k?g.createElement(Tx,{noRelative:r.noRelative,gapMode:r.gapMode}):null)}function Hx(r){for(var l=null;r!==null;)r instanceof ShadowRoot&&(l=r.host,r=r.host),r=r.parentNode;return l}const Ux=vx($p,Wx);var Vp=g.forwardRef(function(r,l){return g.createElement(si,Mt({},r,{ref:l,sideCar:Ux}))});Vp.classNames=si.classNames;var Bx=function(r){if(typeof document>"u")return null;var l=Array.isArray(r)?r[0]:r;return l.ownerDocument.body},vr=new WeakMap,$l=new WeakMap,Wl={},ba=0,Gp=function(r){return r&&(r.host||Gp(r.parentNode))},Vx=function(r,l){return l.map(function(i){if(r.contains(i))return i;var a=Gp(i);return a&&r.contains(a)?a:(console.error("aria-hidden",i,"in not contained inside",r,". Doing nothing"),null)}).filter(function(i){return!!i})},Gx=function(r,l,i,a){var c=Vx(l,Array.isArray(r)?r:[r]);Wl[i]||(Wl[i]=new WeakMap);var d=Wl[i],m=[],p=new Set,v=new Set(c),x=function(S){!S||p.has(S)||(p.add(S),x(S.parentNode))};c.forEach(x);var y=function(S){!S||v.has(S)||Array.prototype.forEach.call(S.children,function(C){if(p.has(C))y(C);else try{var k=C.getAttribute(a),b=k!==null&&k!=="false",_=(vr.get(C)||0)+1,T=(d.get(C)||0)+1;vr.set(C,_),d.set(C,T),m.push(C),_===1&&b&&$l.set(C,!0),T===1&&C.setAttribute(i,"true"),b||C.setAttribute(a,"true")}catch(A){console.error("aria-hidden: cannot operate on ",C,A)}})};return y(l),p.clear(),ba++,function(){m.forEach(function(S){var C=vr.get(S)-1,k=d.get(S)-1;vr.set(S,C),d.set(S,k),C||($l.has(S)||S.removeAttribute(a),$l.delete(S)),k||S.removeAttribute(i)}),ba--,ba||(vr=new WeakMap,vr=new WeakMap,$l=new WeakMap,Wl={})}},Yx=function(r,l,i){i===void 0&&(i="data-aria-hidden");var a=Array.from(Array.isArray(r)?r:[r]),c=Bx(r);return c?(a.push.apply(a,Array.from(c.querySelectorAll("[aria-live], script"))),Gx(a,c,i,"aria-hidden")):function(){return null}},ai="Dialog",[Yp]=Pr(ai),[Qx,Tt]=Yp(ai),Qp=r=>{const{__scopeDialog:l,children:i,open:a,defaultOpen:c,onOpenChange:d,modal:m=!0}=r,p=g.useRef(null),v=g.useRef(null),[x,y]=li({prop:a,defaultProp:c??!1,onChange:d,caller:ai});return h.jsx(Qx,{scope:l,triggerRef:p,contentRef:v,contentId:So(),titleId:So(),descriptionId:So(),open:x,onOpenChange:y,onOpenToggle:g.useCallback(()=>y(S=>!S),[y]),modal:m,children:i})};Qp.displayName=ai;var Xp="DialogTrigger",Xx=g.forwardRef((r,l)=>{const{__scopeDialog:i,...a}=r,c=Tt(Xp,i),d=We(l,c.triggerRef);return h.jsx(Le.button,{type:"button","aria-haspopup":"dialog","aria-expanded":c.open,"aria-controls":c.contentId,"data-state":Ja(c.open),...a,ref:d,onClick:_e(r.onClick,c.onOpenToggle)})});Xx.displayName=Xp;var Za="DialogPortal",[Kx,Kp]=Yp(Za,{forceMount:void 0}),Zp=r=>{const{__scopeDialog:l,forceMount:i,children:a,container:c}=r,d=Tt(Za,l);return h.jsx(Kx,{scope:l,forceMount:i,children:g.Children.map(a,m=>h.jsx(Rt,{present:i||d.open,children:h.jsx(Ip,{asChild:!0,container:c,children:m})}))})};Zp.displayName=Za;var Ql="DialogOverlay",qp=g.forwardRef((r,l)=>{const i=Kp(Ql,r.__scopeDialog),{forceMount:a=i.forceMount,...c}=r,d=Tt(Ql,r.__scopeDialog);return d.modal?h.jsx(Rt,{present:a||d.open,children:h.jsx(qx,{...c,ref:l})}):null});qp.displayName=Ql;var Zx=cp("DialogOverlay.RemoveScroll"),qx=g.forwardRef((r,l)=>{const{__scopeDialog:i,...a}=r,c=Tt(Ql,i);return h.jsx(Vp,{as:Zx,allowPinchZoom:!0,shards:[c.contentRef],children:h.jsx(Le.div,{"data-state":Ja(c.open),...a,ref:l,style:{pointerEvents:"auto",...a.style}})})}),Wn="DialogContent",Jp=g.forwardRef((r,l)=>{const i=Kp(Wn,r.__scopeDialog),{forceMount:a=i.forceMount,...c}=r,d=Tt(Wn,r.__scopeDialog);return h.jsx(Rt,{present:a||d.open,children:d.modal?h.jsx(Jx,{...c,ref:l}):h.jsx(e0,{...c,ref:l})})});Jp.displayName=Wn;var Jx=g.forwardRef((r,l)=>{const i=Tt(Wn,r.__scopeDialog),a=g.useRef(null),c=We(l,i.contentRef,a);return g.useEffect(()=>{const d=a.current;if(d)return Yx(d)},[]),h.jsx(em,{...r,ref:c,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_e(r.onCloseAutoFocus,d=>{d.preventDefault(),i.triggerRef.current?.focus()}),onPointerDownOutside:_e(r.onPointerDownOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0;(m.button===2||p)&&d.preventDefault()}),onFocusOutside:_e(r.onFocusOutside,d=>d.preventDefault())})}),e0=g.forwardRef((r,l)=>{const i=Tt(Wn,r.__scopeDialog),a=g.useRef(!1),c=g.useRef(!1);return h.jsx(em,{...r,ref:l,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:d=>{r.onCloseAutoFocus?.(d),d.defaultPrevented||(a.current||i.triggerRef.current?.focus(),d.preventDefault()),a.current=!1,c.current=!1},onInteractOutside:d=>{r.onInteractOutside?.(d),d.defaultPrevented||(a.current=!0,d.detail.originalEvent.type==="pointerdown"&&(c.current=!0));const m=d.target;i.triggerRef.current?.contains(m)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&c.current&&d.preventDefault()}})}),em=g.forwardRef((r,l)=>{const{__scopeDialog:i,trapFocus:a,onOpenAutoFocus:c,onCloseAutoFocus:d,...m}=r,p=Tt(Wn,i),v=g.useRef(null),x=We(l,v);return sx(),h.jsxs(h.Fragment,{children:[h.jsx(Dp,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:c,onUnmountAutoFocus:d,children:h.jsx(ii,{role:"dialog",id:p.contentId,"aria-describedby":p.descriptionId,"aria-labelledby":p.titleId,"data-state":Ja(p.open),...m,ref:x,onDismiss:()=>p.onOpenChange(!1)})}),h.jsxs(h.Fragment,{children:[h.jsx(t0,{titleId:p.titleId}),h.jsx(r0,{contentRef:v,descriptionId:p.descriptionId})]})]})}),qa="DialogTitle",tm=g.forwardRef((r,l)=>{const{__scopeDialog:i,...a}=r,c=Tt(qa,i);return h.jsx(Le.h2,{id:c.titleId,...a,ref:l})});tm.displayName=qa;var nm="DialogDescription",rm=g.forwardRef((r,l)=>{const{__scopeDialog:i,...a}=r,c=Tt(nm,i);return h.jsx(Le.p,{id:c.descriptionId,...a,ref:l})});rm.displayName=nm;var om="DialogClose",lm=g.forwardRef((r,l)=>{const{__scopeDialog:i,...a}=r,c=Tt(om,i);return h.jsx(Le.button,{type:"button",...a,ref:l,onClick:_e(r.onClick,()=>c.onOpenChange(!1))})});lm.displayName=om;function Ja(r){return r?"open":"closed"}var im="DialogTitleWarning",[nS,sm]=Bv(im,{contentName:Wn,titleName:qa,docsSlug:"dialog"}),t0=({titleId:r})=>{const l=sm(im),i=`\`${l.contentName}\` requires a \`${l.titleName}\` for the component to be accessible for screen reader users. - -If you want to hide the \`${l.titleName}\`, you can wrap it with our VisuallyHidden component. - -For more information, see https://radix-ui.com/primitives/docs/components/${l.docsSlug}`;return g.useEffect(()=>{r&&(document.getElementById(r)||console.error(i))},[i,r]),null},n0="DialogDescriptionWarning",r0=({contentRef:r,descriptionId:l})=>{const a=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${sm(n0).contentName}}.`;return g.useEffect(()=>{const c=r.current?.getAttribute("aria-describedby");l&&c&&(document.getElementById(l)||console.warn(a))},[a,r,l]),null},o0=Qp,l0=Zp,am=qp,um=Jp,cm=tm,dm=rm,i0=lm;const If=r=>typeof r=="boolean"?`${r}`:r===0?"0":r,zf=Np,s0=(r,l)=>i=>{var a;if(l?.variants==null)return zf(r,i?.class,i?.className);const{variants:c,defaultVariants:d}=l,m=Object.keys(c).map(x=>{const y=i?.[x],S=d?.[x];if(y===null)return null;const C=If(y)||If(S);return c[x][C]}),p=i&&Object.entries(i).reduce((x,y)=>{let[S,C]=y;return C===void 0||(x[S]=C),x},{}),v=l==null||(a=l.compoundVariants)===null||a===void 0?void 0:a.reduce((x,y)=>{let{class:S,className:C,...k}=y;return Object.entries(k).every(b=>{let[_,T]=b;return Array.isArray(T)?T.includes({...d,...p}[_]):{...d,...p}[_]===T})?[...x,S,C]:x},[]);return zf(r,m,v,i?.class,i?.className)},a0=o0,u0=l0,fm=g.forwardRef(({className:r,...l},i)=>h.jsx(am,{className:ge("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",r),...l,ref:i}));fm.displayName=am.displayName;const c0=s0("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),pm=g.forwardRef(({side:r="right",className:l,children:i,...a},c)=>h.jsxs(u0,{children:[h.jsx(fm,{}),h.jsxs(um,{ref:c,className:ge(c0({side:r}),l),...a,children:[i,h.jsxs(i0,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[h.jsx(Ov,{className:"h-4 w-4"}),h.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));pm.displayName=um.displayName;const mm=({className:r,...l})=>h.jsx("div",{className:ge("flex flex-col space-y-2 text-center sm:text-left",r),...l});mm.displayName="SheetHeader";const hm=g.forwardRef(({className:r,...l},i)=>h.jsx(cm,{ref:i,className:ge("text-lg font-semibold text-foreground",r),...l}));hm.displayName=cm.displayName;const d0=g.forwardRef(({className:r,...l},i)=>h.jsx(dm,{ref:i,className:ge("text-sm text-muted-foreground",r),...l}));d0.displayName=dm.displayName;const f0=["top","right","bottom","left"],_n=Math.min,ct=Math.max,Xl=Math.round,Hl=Math.floor,zt=r=>({x:r,y:r}),p0={left:"right",right:"left",bottom:"top",top:"bottom"};function za(r,l,i){return ct(r,_n(l,i))}function qt(r,l){return typeof r=="function"?r(l):r}function Jt(r){return r.split("-")[0]}function Rr(r){return r.split("-")[1]}function eu(r){return r==="x"?"y":"x"}function tu(r){return r==="y"?"height":"width"}function It(r){const l=r[0];return l==="t"||l==="b"?"y":"x"}function nu(r){return eu(It(r))}function m0(r,l,i){i===void 0&&(i=!1);const a=Rr(r),c=nu(r),d=tu(c);let m=c==="x"?a===(i?"end":"start")?"right":"left":a==="start"?"bottom":"top";return l.reference[d]>l.floating[d]&&(m=Kl(m)),[m,Kl(m)]}function h0(r){const l=Kl(r);return[Fa(r),l,Fa(l)]}function Fa(r){return r.includes("start")?r.replace("start","end"):r.replace("end","start")}const Ff=["left","right"],$f=["right","left"],g0=["top","bottom"],v0=["bottom","top"];function y0(r,l,i){switch(r){case"top":case"bottom":return i?l?$f:Ff:l?Ff:$f;case"left":case"right":return l?g0:v0;default:return[]}}function x0(r,l,i,a){const c=Rr(r);let d=y0(Jt(r),i==="start",a);return c&&(d=d.map(m=>m+"-"+c),l&&(d=d.concat(d.map(Fa)))),d}function Kl(r){const l=Jt(r);return p0[l]+r.slice(l.length)}function w0(r){return{top:0,right:0,bottom:0,left:0,...r}}function gm(r){return typeof r!="number"?w0(r):{top:r,right:r,bottom:r,left:r}}function Zl(r){const{x:l,y:i,width:a,height:c}=r;return{width:a,height:c,top:i,left:l,right:l+a,bottom:i+c,x:l,y:i}}function Wf(r,l,i){let{reference:a,floating:c}=r;const d=It(l),m=nu(l),p=tu(m),v=Jt(l),x=d==="y",y=a.x+a.width/2-c.width/2,S=a.y+a.height/2-c.height/2,C=a[p]/2-c[p]/2;let k;switch(v){case"top":k={x:y,y:a.y-c.height};break;case"bottom":k={x:y,y:a.y+a.height};break;case"right":k={x:a.x+a.width,y:S};break;case"left":k={x:a.x-c.width,y:S};break;default:k={x:a.x,y:a.y}}switch(Rr(l)){case"start":k[m]-=C*(i&&x?-1:1);break;case"end":k[m]+=C*(i&&x?-1:1);break}return k}async function S0(r,l){var i;l===void 0&&(l={});const{x:a,y:c,platform:d,rects:m,elements:p,strategy:v}=r,{boundary:x="clippingAncestors",rootBoundary:y="viewport",elementContext:S="floating",altBoundary:C=!1,padding:k=0}=qt(l,r),b=gm(k),T=p[C?S==="floating"?"reference":"floating":S],A=Zl(await d.getClippingRect({element:(i=await(d.isElement==null?void 0:d.isElement(T)))==null||i?T:T.contextElement||await(d.getDocumentElement==null?void 0:d.getDocumentElement(p.floating)),boundary:x,rootBoundary:y,strategy:v})),L=S==="floating"?{x:a,y:c,width:m.floating.width,height:m.floating.height}:m.reference,$=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p.floating)),M=await(d.isElement==null?void 0:d.isElement($))?await(d.getScale==null?void 0:d.getScale($))||{x:1,y:1}:{x:1,y:1},U=Zl(d.convertOffsetParentRelativeRectToViewportRelativeRect?await d.convertOffsetParentRelativeRectToViewportRelativeRect({elements:p,rect:L,offsetParent:$,strategy:v}):L);return{top:(A.top-U.top+b.top)/M.y,bottom:(U.bottom-A.bottom+b.bottom)/M.y,left:(A.left-U.left+b.left)/M.x,right:(U.right-A.right+b.right)/M.x}}const C0=50,E0=async(r,l,i)=>{const{placement:a="bottom",strategy:c="absolute",middleware:d=[],platform:m}=i,p=m.detectOverflow?m:{...m,detectOverflow:S0},v=await(m.isRTL==null?void 0:m.isRTL(l));let x=await m.getElementRects({reference:r,floating:l,strategy:c}),{x:y,y:S}=Wf(x,a,v),C=a,k=0;const b={};for(let _=0;_ ({name:"arrow",options:r,async fn(l){const{x:i,y:a,placement:c,rects:d,platform:m,elements:p,middlewareData:v}=l,{element:x,padding:y=0}=qt(r,l)||{};if(x==null)return{};const S=gm(y),C={x:i,y:a},k=nu(c),b=tu(k),_=await m.getDimensions(x),T=k==="y",A=T?"top":"left",L=T?"bottom":"right",$=T?"clientHeight":"clientWidth",M=d.reference[b]+d.reference[k]-C[k]-d.floating[b],U=C[k]-d.reference[k],G=await(m.getOffsetParent==null?void 0:m.getOffsetParent(x));let B=G?G[$]:0;(!B||!await(m.isElement==null?void 0:m.isElement(G)))&&(B=p.floating[$]||d.floating[b]);const ie=M/2-U/2,te=B/2-_[b]/2-1,ne=_n(S[A],te),ue=_n(S[L],te),J=ne,me=B-_[b]-ue,ce=B/2-_[b]/2+ie,ee=za(J,ce,me),le=!v.arrow&&Rr(c)!=null&&ce!==ee&&d.reference[b]/2-(ce ce<=0)){var ue,J;const ce=(((ue=d.flip)==null?void 0:ue.index)||0)+1,ee=B[ce];if(ee&&(!(S==="alignment"?L!==It(ee):!1)||ne.every(D=>It(D.placement)===L?D.overflows[0]>0:!0)))return{data:{index:ce,overflows:ne},reset:{placement:ee}};let le=(J=ne.filter(se=>se.overflows[0]<=0).sort((se,D)=>se.overflows[1]-D.overflows[1])[0])==null?void 0:J.placement;if(!le)switch(k){case"bestFit":{var me;const se=(me=ne.filter(D=>{if(G){const Y=It(D.placement);return Y===L||Y==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(Y=>Y>0).reduce((Y,V)=>Y+V,0)]).sort((D,Y)=>D[1]-Y[1])[0])==null?void 0:me[0];se&&(le=se);break}case"initialPlacement":le=p;break}if(c!==le)return{reset:{placement:le}}}return{}}}};function Hf(r,l){return{top:r.top-l.height,right:r.right-l.width,bottom:r.bottom-l.height,left:r.left-l.width}}function Uf(r){return f0.some(l=>r[l]>=0)}const N0=function(r){return r===void 0&&(r={}),{name:"hide",options:r,async fn(l){const{rects:i,platform:a}=l,{strategy:c="referenceHidden",...d}=qt(r,l);switch(c){case"referenceHidden":{const m=await a.detectOverflow(l,{...d,elementContext:"reference"}),p=Hf(m,i.reference);return{data:{referenceHiddenOffsets:p,referenceHidden:Uf(p)}}}case"escaped":{const m=await a.detectOverflow(l,{...d,altBoundary:!0}),p=Hf(m,i.floating);return{data:{escapedOffsets:p,escaped:Uf(p)}}}default:return{}}}}},vm=new Set(["left","top"]);async function P0(r,l){const{placement:i,platform:a,elements:c}=r,d=await(a.isRTL==null?void 0:a.isRTL(c.floating)),m=Jt(i),p=Rr(i),v=It(i)==="y",x=vm.has(m)?-1:1,y=d&&v?-1:1,S=qt(l,r);let{mainAxis:C,crossAxis:k,alignmentAxis:b}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:S.mainAxis||0,crossAxis:S.crossAxis||0,alignmentAxis:S.alignmentAxis};return p&&typeof b=="number"&&(k=p==="end"?b*-1:b),v?{x:k*y,y:C*x}:{x:C*x,y:k*y}}const b0=function(r){return r===void 0&&(r=0),{name:"offset",options:r,async fn(l){var i,a;const{x:c,y:d,placement:m,middlewareData:p}=l,v=await P0(l,r);return m===((i=p.offset)==null?void 0:i.placement)&&(a=p.arrow)!=null&&a.alignmentOffset?{}:{x:c+v.x,y:d+v.y,data:{...v,placement:m}}}}},R0=function(r){return r===void 0&&(r={}),{name:"shift",options:r,async fn(l){const{x:i,y:a,placement:c,platform:d}=l,{mainAxis:m=!0,crossAxis:p=!1,limiter:v={fn:A=>{let{x:L,y:$}=A;return{x:L,y:$}}},...x}=qt(r,l),y={x:i,y:a},S=await d.detectOverflow(l,x),C=It(Jt(c)),k=eu(C);let b=y[k],_=y[C];if(m){const A=k==="y"?"top":"left",L=k==="y"?"bottom":"right",$=b+S[A],M=b-S[L];b=za($,b,M)}if(p){const A=C==="y"?"top":"left",L=C==="y"?"bottom":"right",$=_+S[A],M=_-S[L];_=za($,_,M)}const T=v.fn({...l,[k]:b,[C]:_});return{...T,data:{x:T.x-i,y:T.y-a,enabled:{[k]:m,[C]:p}}}}}},T0=function(r){return r===void 0&&(r={}),{options:r,fn(l){const{x:i,y:a,placement:c,rects:d,middlewareData:m}=l,{offset:p=0,mainAxis:v=!0,crossAxis:x=!0}=qt(r,l),y={x:i,y:a},S=It(c),C=eu(S);let k=y[C],b=y[S];const _=qt(p,l),T=typeof _=="number"?{mainAxis:_,crossAxis:0}:{mainAxis:0,crossAxis:0,..._};if(v){const $=C==="y"?"height":"width",M=d.reference[C]-d.floating[$]+T.mainAxis,U=d.reference[C]+d.reference[$]-T.mainAxis;k U&&(k=U)}if(x){var A,L;const $=C==="y"?"width":"height",M=vm.has(Jt(c)),U=d.reference[S]-d.floating[$]+(M&&((A=m.offset)==null?void 0:A[S])||0)+(M?0:T.crossAxis),G=d.reference[S]+d.reference[$]+(M?0:((L=m.offset)==null?void 0:L[S])||0)-(M?T.crossAxis:0);bG&&(b=G)}return{[C]:k,[S]:b}}}},j0=function(r){return r===void 0&&(r={}),{name:"size",options:r,async fn(l){var i,a;const{placement:c,rects:d,platform:m,elements:p}=l,{apply:v=()=>{},...x}=qt(r,l),y=await m.detectOverflow(l,x),S=Jt(c),C=Rr(c),k=It(c)==="y",{width:b,height:_}=d.floating;let T,A;S==="top"||S==="bottom"?(T=S,A=C===(await(m.isRTL==null?void 0:m.isRTL(p.floating))?"start":"end")?"left":"right"):(A=S,T=C==="end"?"top":"bottom");const L=_-y.top-y.bottom,$=b-y.left-y.right,M=_n(_-y[T],L),U=_n(b-y[A],$),G=!l.middlewareData.shift;let B=M,ie=U;if((i=l.middlewareData.shift)!=null&&i.enabled.x&&(ie=$),(a=l.middlewareData.shift)!=null&&a.enabled.y&&(B=L),G&&!C){const ne=ct(y.left,0),ue=ct(y.right,0),J=ct(y.top,0),me=ct(y.bottom,0);k?ie=b-2*(ne!==0||ue!==0?ne+ue:ct(y.left,y.right)):B=_-2*(J!==0||me!==0?J+me:ct(y.top,y.bottom))}await v({...l,availableWidth:ie,availableHeight:B});const te=await m.getDimensions(p.floating);return b!==te.width||_!==te.height?{reset:{rects:!0}}:{}}}};function ui(){return typeof window<"u"}function Tr(r){return ym(r)?(r.nodeName||"").toLowerCase():"#document"}function ft(r){var l;return(r==null||(l=r.ownerDocument)==null?void 0:l.defaultView)||window}function Wt(r){var l;return(l=(ym(r)?r.ownerDocument:r.document)||window.document)==null?void 0:l.documentElement}function ym(r){return ui()?r instanceof Node||r instanceof ft(r).Node:!1}function Pt(r){return ui()?r instanceof Element||r instanceof ft(r).Element:!1}function en(r){return ui()?r instanceof HTMLElement||r instanceof ft(r).HTMLElement:!1}function Bf(r){return!ui()||typeof ShadowRoot>"u"?!1:r instanceof ShadowRoot||r instanceof ft(r).ShadowRoot}function _o(r){const{overflow:l,overflowX:i,overflowY:a,display:c}=bt(r);return/auto|scroll|overlay|hidden|clip/.test(l+a+i)&&c!=="inline"&&c!=="contents"}function O0(r){return/^(table|td|th)$/.test(Tr(r))}function ci(r){try{if(r.matches(":popover-open"))return!0}catch{}try{return r.matches(":modal")}catch{return!1}}const A0=/transform|translate|scale|rotate|perspective|filter/,L0=/paint|layout|strict|content/,Fn=r=>!!r&&r!=="none";let Ra;function ru(r){const l=Pt(r)?bt(r):r;return Fn(l.transform)||Fn(l.translate)||Fn(l.scale)||Fn(l.rotate)||Fn(l.perspective)||!ou()&&(Fn(l.backdropFilter)||Fn(l.filter))||A0.test(l.willChange||"")||L0.test(l.contain||"")}function D0(r){let l=kn(r);for(;en(l)&&!_r(l);){if(ru(l))return l;if(ci(l))return null;l=kn(l)}return null}function ou(){return Ra==null&&(Ra=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ra}function _r(r){return/^(html|body|#document)$/.test(Tr(r))}function bt(r){return ft(r).getComputedStyle(r)}function di(r){return Pt(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:{scrollLeft:r.scrollX,scrollTop:r.scrollY}}function kn(r){if(Tr(r)==="html")return r;const l=r.assignedSlot||r.parentNode||Bf(r)&&r.host||Wt(r);return Bf(l)?l.host:l}function xm(r){const l=kn(r);return _r(l)?r.ownerDocument?r.ownerDocument.body:r.body:en(l)&&_o(l)?l:xm(l)}function Co(r,l,i){var a;l===void 0&&(l=[]),i===void 0&&(i=!0);const c=xm(r),d=c===((a=r.ownerDocument)==null?void 0:a.body),m=ft(c);if(d){const p=$a(m);return l.concat(m,m.visualViewport||[],_o(c)?c:[],p&&i?Co(p):[])}else return l.concat(c,Co(c,[],i))}function $a(r){return r.parent&&Object.getPrototypeOf(r.parent)?r.frameElement:null}function wm(r){const l=bt(r);let i=parseFloat(l.width)||0,a=parseFloat(l.height)||0;const c=en(r),d=c?r.offsetWidth:i,m=c?r.offsetHeight:a,p=Xl(i)!==d||Xl(a)!==m;return p&&(i=d,a=m),{width:i,height:a,$:p}}function lu(r){return Pt(r)?r:r.contextElement}function Cr(r){const l=lu(r);if(!en(l))return zt(1);const i=l.getBoundingClientRect(),{width:a,height:c,$:d}=wm(l);let m=(d?Xl(i.width):i.width)/a,p=(d?Xl(i.height):i.height)/c;return(!m||!Number.isFinite(m))&&(m=1),(!p||!Number.isFinite(p))&&(p=1),{x:m,y:p}}const M0=zt(0);function Sm(r){const l=ft(r);return!ou()||!l.visualViewport?M0:{x:l.visualViewport.offsetLeft,y:l.visualViewport.offsetTop}}function I0(r,l,i){return l===void 0&&(l=!1),!i||l&&i!==ft(r)?!1:l}function Hn(r,l,i,a){l===void 0&&(l=!1),i===void 0&&(i=!1);const c=r.getBoundingClientRect(),d=lu(r);let m=zt(1);l&&(a?Pt(a)&&(m=Cr(a)):m=Cr(r));const p=I0(d,i,a)?Sm(d):zt(0);let v=(c.left+p.x)/m.x,x=(c.top+p.y)/m.y,y=c.width/m.x,S=c.height/m.y;if(d){const C=ft(d),k=a&&Pt(a)?ft(a):a;let b=C,_=$a(b);for(;_&&a&&k!==b;){const T=Cr(_),A=_.getBoundingClientRect(),L=bt(_),$=A.left+(_.clientLeft+parseFloat(L.paddingLeft))*T.x,M=A.top+(_.clientTop+parseFloat(L.paddingTop))*T.y;v*=T.x,x*=T.y,y*=T.x,S*=T.y,v+=$,x+=M,b=ft(_),_=$a(b)}}return Zl({width:y,height:S,x:v,y:x})}function fi(r,l){const i=di(r).scrollLeft;return l?l.left+i:Hn(Wt(r)).left+i}function Cm(r,l){const i=r.getBoundingClientRect(),a=i.left+l.scrollLeft-fi(r,i),c=i.top+l.scrollTop;return{x:a,y:c}}function z0(r){let{elements:l,rect:i,offsetParent:a,strategy:c}=r;const d=c==="fixed",m=Wt(a),p=l?ci(l.floating):!1;if(a===m||p&&d)return i;let v={scrollLeft:0,scrollTop:0},x=zt(1);const y=zt(0),S=en(a);if((S||!S&&!d)&&((Tr(a)!=="body"||_o(m))&&(v=di(a)),S)){const k=Hn(a);x=Cr(a),y.x=k.x+a.clientLeft,y.y=k.y+a.clientTop}const C=m&&!S&&!d?Cm(m,v):zt(0);return{width:i.width*x.x,height:i.height*x.y,x:i.x*x.x-v.scrollLeft*x.x+y.x+C.x,y:i.y*x.y-v.scrollTop*x.y+y.y+C.y}}function F0(r){return Array.from(r.getClientRects())}function $0(r){const l=Wt(r),i=di(r),a=r.ownerDocument.body,c=ct(l.scrollWidth,l.clientWidth,a.scrollWidth,a.clientWidth),d=ct(l.scrollHeight,l.clientHeight,a.scrollHeight,a.clientHeight);let m=-i.scrollLeft+fi(r);const p=-i.scrollTop;return bt(a).direction==="rtl"&&(m+=ct(l.clientWidth,a.clientWidth)-c),{width:c,height:d,x:m,y:p}}const Vf=25;function W0(r,l){const i=ft(r),a=Wt(r),c=i.visualViewport;let d=a.clientWidth,m=a.clientHeight,p=0,v=0;if(c){d=c.width,m=c.height;const y=ou();(!y||y&&l==="fixed")&&(p=c.offsetLeft,v=c.offsetTop)}const x=fi(a);if(x<=0){const y=a.ownerDocument,S=y.body,C=getComputedStyle(S),k=y.compatMode==="CSS1Compat"&&parseFloat(C.marginLeft)+parseFloat(C.marginRight)||0,b=Math.abs(a.clientWidth-S.clientWidth-k);b<=Vf&&(d-=b)}else x<=Vf&&(d+=x);return{width:d,height:m,x:p,y:v}}function H0(r,l){const i=Hn(r,!0,l==="fixed"),a=i.top+r.clientTop,c=i.left+r.clientLeft,d=en(r)?Cr(r):zt(1),m=r.clientWidth*d.x,p=r.clientHeight*d.y,v=c*d.x,x=a*d.y;return{width:m,height:p,x:v,y:x}}function Gf(r,l,i){let a;if(l==="viewport")a=W0(r,i);else if(l==="document")a=$0(Wt(r));else if(Pt(l))a=H0(l,i);else{const c=Sm(r);a={x:l.x-c.x,y:l.y-c.y,width:l.width,height:l.height}}return Zl(a)}function Em(r,l){const i=kn(r);return i===l||!Pt(i)||_r(i)?!1:bt(i).position==="fixed"||Em(i,l)}function U0(r,l){const i=l.get(r);if(i)return i;let a=Co(r,[],!1).filter(p=>Pt(p)&&Tr(p)!=="body"),c=null;const d=bt(r).position==="fixed";let m=d?kn(r):r;for(;Pt(m)&&!_r(m);){const p=bt(m),v=ru(m);!v&&p.position==="fixed"&&(c=null),(d?!v&&!c:!v&&p.position==="static"&&!!c&&(c.position==="absolute"||c.position==="fixed")||_o(m)&&!v&&Em(r,m))?a=a.filter(y=>y!==m):c=p,m=kn(m)}return l.set(r,a),a}function B0(r){let{element:l,boundary:i,rootBoundary:a,strategy:c}=r;const m=[...i==="clippingAncestors"?ci(l)?[]:U0(l,this._c):[].concat(i),a],p=Gf(l,m[0],c);let v=p.top,x=p.right,y=p.bottom,S=p.left;for(let C=1;C {m(!1,1e-7)},1e3)}B===1&&!km(x,r.getBoundingClientRect())&&m(),M=!1}try{i=new IntersectionObserver(U,{...$,root:c.ownerDocument})}catch{i=new IntersectionObserver(U,$)}i.observe(r)}return m(!0),d}function Z0(r,l,i,a){a===void 0&&(a={});const{ancestorScroll:c=!0,ancestorResize:d=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:p=typeof IntersectionObserver=="function",animationFrame:v=!1}=a,x=lu(r),y=c||d?[...x?Co(x):[],...l?Co(l):[]]:[];y.forEach(A=>{c&&A.addEventListener("scroll",i,{passive:!0}),d&&A.addEventListener("resize",i)});const S=x&&p?K0(x,i):null;let C=-1,k=null;m&&(k=new ResizeObserver(A=>{let[L]=A;L&&L.target===x&&k&&l&&(k.unobserve(l),cancelAnimationFrame(C),C=requestAnimationFrame(()=>{var $;($=k)==null||$.observe(l)})),i()}),x&&!v&&k.observe(x),l&&k.observe(l));let b,_=v?Hn(r):null;v&&T();function T(){const A=Hn(r);_&&!km(_,A)&&i(),_=A,b=requestAnimationFrame(T)}return i(),()=>{var A;y.forEach(L=>{c&&L.removeEventListener("scroll",i),d&&L.removeEventListener("resize",i)}),S?.(),(A=k)==null||A.disconnect(),k=null,v&&cancelAnimationFrame(b)}}const q0=b0,J0=R0,ew=k0,tw=j0,nw=N0,Qf=_0,rw=T0,ow=(r,l,i)=>{const a=new Map,c={platform:X0,...i},d={...c.platform,_c:a};return E0(r,l,{...c,platform:d})};var lw=typeof document<"u",iw=function(){},Vl=lw?g.useLayoutEffect:iw;function ql(r,l){if(r===l)return!0;if(typeof r!=typeof l)return!1;if(typeof r=="function"&&r.toString()===l.toString())return!0;let i,a,c;if(r&&l&&typeof r=="object"){if(Array.isArray(r)){if(i=r.length,i!==l.length)return!1;for(a=i;a--!==0;)if(!ql(r[a],l[a]))return!1;return!0}if(c=Object.keys(r),i=c.length,i!==Object.keys(l).length)return!1;for(a=i;a--!==0;)if(!{}.hasOwnProperty.call(l,c[a]))return!1;for(a=i;a--!==0;){const d=c[a];if(!(d==="_owner"&&r.$$typeof)&&!ql(r[d],l[d]))return!1}return!0}return r!==r&&l!==l}function Nm(r){return typeof window>"u"?1:(r.ownerDocument.defaultView||window).devicePixelRatio||1}function Xf(r,l){const i=Nm(r);return Math.round(l*i)/i}function ja(r){const l=g.useRef(r);return Vl(()=>{l.current=r}),l}function sw(r){r===void 0&&(r={});const{placement:l="bottom",strategy:i="absolute",middleware:a=[],platform:c,elements:{reference:d,floating:m}={},transform:p=!0,whileElementsMounted:v,open:x}=r,[y,S]=g.useState({x:0,y:0,strategy:i,placement:l,middlewareData:{},isPositioned:!1}),[C,k]=g.useState(a);ql(C,a)||k(a);const[b,_]=g.useState(null),[T,A]=g.useState(null),L=g.useCallback(D=>{D!==G.current&&(G.current=D,_(D))},[]),$=g.useCallback(D=>{D!==B.current&&(B.current=D,A(D))},[]),M=d||b,U=m||T,G=g.useRef(null),B=g.useRef(null),ie=g.useRef(y),te=v!=null,ne=ja(v),ue=ja(c),J=ja(x),me=g.useCallback(()=>{if(!G.current||!B.current)return;const D={placement:l,strategy:i,middleware:C};ue.current&&(D.platform=ue.current),ow(G.current,B.current,D).then(Y=>{const V={...Y,isPositioned:J.current!==!1};ce.current&&!ql(ie.current,V)&&(ie.current=V,Va.flushSync(()=>{S(V)}))})},[C,l,i,ue,J]);Vl(()=>{x===!1&&ie.current.isPositioned&&(ie.current.isPositioned=!1,S(D=>({...D,isPositioned:!1})))},[x]);const ce=g.useRef(!1);Vl(()=>(ce.current=!0,()=>{ce.current=!1}),[]),Vl(()=>{if(M&&(G.current=M),U&&(B.current=U),M&&U){if(ne.current)return ne.current(M,U,me);me()}},[M,U,me,ne,te]);const ee=g.useMemo(()=>({reference:G,floating:B,setReference:L,setFloating:$}),[L,$]),le=g.useMemo(()=>({reference:M,floating:U}),[M,U]),se=g.useMemo(()=>{const D={position:i,left:0,top:0};if(!le.floating)return D;const Y=Xf(le.floating,y.x),V=Xf(le.floating,y.y);return p?{...D,transform:"translate("+Y+"px, "+V+"px)",...Nm(le.floating)>=1.5&&{willChange:"transform"}}:{position:i,left:Y,top:V}},[i,p,le.floating,y.x,y.y]);return g.useMemo(()=>({...y,update:me,refs:ee,elements:le,floatingStyles:se}),[y,me,ee,le,se])}const aw=r=>{function l(i){return{}.hasOwnProperty.call(i,"current")}return{name:"arrow",options:r,fn(i){const{element:a,padding:c}=typeof r=="function"?r(i):r;return a&&l(a)?a.current!=null?Qf({element:a.current,padding:c}).fn(i):{}:a?Qf({element:a,padding:c}).fn(i):{}}}},uw=(r,l)=>{const i=q0(r);return{name:i.name,fn:i.fn,options:[r,l]}},cw=(r,l)=>{const i=J0(r);return{name:i.name,fn:i.fn,options:[r,l]}},dw=(r,l)=>({fn:rw(r).fn,options:[r,l]}),fw=(r,l)=>{const i=ew(r);return{name:i.name,fn:i.fn,options:[r,l]}},pw=(r,l)=>{const i=tw(r);return{name:i.name,fn:i.fn,options:[r,l]}},mw=(r,l)=>{const i=nw(r);return{name:i.name,fn:i.fn,options:[r,l]}},hw=(r,l)=>{const i=aw(r);return{name:i.name,fn:i.fn,options:[r,l]}};var gw="Arrow",Pm=g.forwardRef((r,l)=>{const{children:i,width:a=10,height:c=5,...d}=r;return h.jsx(Le.svg,{...d,ref:l,width:a,height:c,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:r.asChild?i:h.jsx("polygon",{points:"0,0 30,0 15,10"})})});Pm.displayName=gw;var vw=Pm;function yw(r){const[l,i]=g.useState(void 0);return Ft(()=>{if(r){i({width:r.offsetWidth,height:r.offsetHeight});const a=new ResizeObserver(c=>{if(!Array.isArray(c)||!c.length)return;const d=c[0];let m,p;if("borderBoxSize"in d){const v=d.borderBoxSize,x=Array.isArray(v)?v[0]:v;m=x.inlineSize,p=x.blockSize}else m=r.offsetWidth,p=r.offsetHeight;i({width:m,height:p})});return a.observe(r,{box:"border-box"}),()=>a.unobserve(r)}else i(void 0)},[r]),l}var iu="Popper",[bm,pi]=Pr(iu),[xw,Rm]=bm(iu),Tm=r=>{const{__scopePopper:l,children:i}=r,[a,c]=g.useState(null);return h.jsx(xw,{scope:l,anchor:a,onAnchorChange:c,children:i})};Tm.displayName=iu;var jm="PopperAnchor",Om=g.forwardRef((r,l)=>{const{__scopePopper:i,virtualRef:a,...c}=r,d=Rm(jm,i),m=g.useRef(null),p=We(l,m),v=g.useRef(null);return g.useEffect(()=>{const x=v.current;v.current=a?.current||m.current,x!==v.current&&d.onAnchorChange(v.current)}),a?null:h.jsx(Le.div,{...c,ref:p})});Om.displayName=jm;var su="PopperContent",[ww,Sw]=bm(su),Am=g.forwardRef((r,l)=>{const{__scopePopper:i,side:a="bottom",sideOffset:c=0,align:d="center",alignOffset:m=0,arrowPadding:p=0,avoidCollisions:v=!0,collisionBoundary:x=[],collisionPadding:y=0,sticky:S="partial",hideWhenDetached:C=!1,updatePositionStrategy:k="optimized",onPlaced:b,..._}=r,T=Rm(su,i),[A,L]=g.useState(null),$=We(l,Se=>L(Se)),[M,U]=g.useState(null),G=yw(M),B=G?.width??0,ie=G?.height??0,te=a+(d!=="center"?"-"+d:""),ne=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},ue=Array.isArray(x)?x:[x],J=ue.length>0,me={padding:ne,boundary:ue.filter(Ew),altBoundary:J},{refs:ce,floatingStyles:ee,placement:le,isPositioned:se,middlewareData:D}=sw({strategy:"fixed",placement:te,whileElementsMounted:(...Se)=>Z0(...Se,{animationFrame:k==="always"}),elements:{reference:T.anchor},middleware:[uw({mainAxis:c+ie,alignmentAxis:m}),v&&cw({mainAxis:!0,crossAxis:!1,limiter:S==="partial"?dw():void 0,...me}),v&&fw({...me}),pw({...me,apply:({elements:Se,rects:Ce,availableWidth:Ne,availableHeight:Ze})=>{const{width:Un,height:Po}=Ce.reference,Ht=Se.floating.style;Ht.setProperty("--radix-popper-available-width",`${Ne}px`),Ht.setProperty("--radix-popper-available-height",`${Ze}px`),Ht.setProperty("--radix-popper-anchor-width",`${Un}px`),Ht.setProperty("--radix-popper-anchor-height",`${Po}px`)}}),M&&hw({element:M,padding:p}),_w({arrowWidth:B,arrowHeight:ie}),C&&mw({strategy:"referenceHidden",...me})]}),[Y,V]=Mm(le),P=dt(b);Ft(()=>{se&&P?.()},[se,P]);const I=D.arrow?.x,de=D.arrow?.y,pe=D.arrow?.centerOffset!==0,[ve,ye]=g.useState();return Ft(()=>{A&&ye(window.getComputedStyle(A).zIndex)},[A]),h.jsx("div",{ref:ce.setFloating,"data-radix-popper-content-wrapper":"",style:{...ee,transform:se?ee.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ve,"--radix-popper-transform-origin":[D.transformOrigin?.x,D.transformOrigin?.y].join(" "),...D.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:r.dir,children:h.jsx(ww,{scope:i,placedSide:Y,onArrowChange:U,arrowX:I,arrowY:de,shouldHideArrow:pe,children:h.jsx(Le.div,{"data-side":Y,"data-align":V,..._,ref:$,style:{..._.style,animation:se?void 0:"none"}})})})});Am.displayName=su;var Lm="PopperArrow",Cw={top:"bottom",right:"left",bottom:"top",left:"right"},Dm=g.forwardRef(function(l,i){const{__scopePopper:a,...c}=l,d=Sw(Lm,a),m=Cw[d.placedSide];return h.jsx("span",{ref:d.onArrowChange,style:{position:"absolute",left:d.arrowX,top:d.arrowY,[m]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[d.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[d.placedSide],visibility:d.shouldHideArrow?"hidden":void 0},children:h.jsx(vw,{...c,ref:i,style:{...c.style,display:"block"}})})});Dm.displayName=Lm;function Ew(r){return r!==null}var _w=r=>({name:"transformOrigin",options:r,fn(l){const{placement:i,rects:a,middlewareData:c}=l,m=c.arrow?.centerOffset!==0,p=m?0:r.arrowWidth,v=m?0:r.arrowHeight,[x,y]=Mm(i),S={start:"0%",center:"50%",end:"100%"}[y],C=(c.arrow?.x??0)+p/2,k=(c.arrow?.y??0)+v/2;let b="",_="";return x==="bottom"?(b=m?S:`${C}px`,_=`${-v}px`):x==="top"?(b=m?S:`${C}px`,_=`${a.floating.height+v}px`):x==="right"?(b=`${-v}px`,_=m?S:`${k}px`):x==="left"&&(b=`${a.floating.width+v}px`,_=m?S:`${k}px`),{data:{x:b,y:_}}}});function Mm(r){const[l,i="center"]=r.split("-");return[l,i]}var Im=Tm,zm=Om,Fm=Am,$m=Dm,kw=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Nw="VisuallyHidden",Wm=g.forwardRef((r,l)=>h.jsx(Le.span,{...r,ref:l,style:{...kw,...r.style}}));Wm.displayName=Nw;var Pw=Wm,[mi]=Pr("Tooltip",[pi]),hi=pi(),Hm="TooltipProvider",bw=700,Wa="tooltip.open",[Rw,au]=mi(Hm),Um=r=>{const{__scopeTooltip:l,delayDuration:i=bw,skipDelayDuration:a=300,disableHoverableContent:c=!1,children:d}=r,m=g.useRef(!0),p=g.useRef(!1),v=g.useRef(0);return g.useEffect(()=>{const x=v.current;return()=>window.clearTimeout(x)},[]),h.jsx(Rw,{scope:l,isOpenDelayedRef:m,delayDuration:i,onOpen:g.useCallback(()=>{window.clearTimeout(v.current),m.current=!1},[]),onClose:g.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>m.current=!0,a)},[a]),isPointerInTransitRef:p,onPointerInTransitChange:g.useCallback(x=>{p.current=x},[]),disableHoverableContent:c,children:d})};Um.displayName=Hm;var Eo="Tooltip",[Tw,gi]=mi(Eo),Bm=r=>{const{__scopeTooltip:l,children:i,open:a,defaultOpen:c,onOpenChange:d,disableHoverableContent:m,delayDuration:p}=r,v=au(Eo,r.__scopeTooltip),x=hi(l),[y,S]=g.useState(null),C=So(),k=g.useRef(0),b=m??v.disableHoverableContent,_=p??v.delayDuration,T=g.useRef(!1),[A,L]=li({prop:a,defaultProp:c??!1,onChange:B=>{B?(v.onOpen(),document.dispatchEvent(new CustomEvent(Wa))):v.onClose(),d?.(B)},caller:Eo}),$=g.useMemo(()=>A?T.current?"delayed-open":"instant-open":"closed",[A]),M=g.useCallback(()=>{window.clearTimeout(k.current),k.current=0,T.current=!1,L(!0)},[L]),U=g.useCallback(()=>{window.clearTimeout(k.current),k.current=0,L(!1)},[L]),G=g.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>{T.current=!0,L(!0),k.current=0},_)},[_,L]);return g.useEffect(()=>()=>{k.current&&(window.clearTimeout(k.current),k.current=0)},[]),h.jsx(Im,{...x,children:h.jsx(Tw,{scope:l,contentId:C,open:A,stateAttribute:$,trigger:y,onTriggerChange:S,onTriggerEnter:g.useCallback(()=>{v.isOpenDelayedRef.current?G():M()},[v.isOpenDelayedRef,G,M]),onTriggerLeave:g.useCallback(()=>{b?U():(window.clearTimeout(k.current),k.current=0)},[U,b]),onOpen:M,onClose:U,disableHoverableContent:b,children:i})})};Bm.displayName=Eo;var Ha="TooltipTrigger",Vm=g.forwardRef((r,l)=>{const{__scopeTooltip:i,...a}=r,c=gi(Ha,i),d=au(Ha,i),m=hi(i),p=g.useRef(null),v=We(l,p,c.onTriggerChange),x=g.useRef(!1),y=g.useRef(!1),S=g.useCallback(()=>x.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",S),[S]),h.jsx(zm,{asChild:!0,...m,children:h.jsx(Le.button,{"aria-describedby":c.open?c.contentId:void 0,"data-state":c.stateAttribute,...a,ref:v,onPointerMove:_e(r.onPointerMove,C=>{C.pointerType!=="touch"&&!y.current&&!d.isPointerInTransitRef.current&&(c.onTriggerEnter(),y.current=!0)}),onPointerLeave:_e(r.onPointerLeave,()=>{c.onTriggerLeave(),y.current=!1}),onPointerDown:_e(r.onPointerDown,()=>{c.open&&c.onClose(),x.current=!0,document.addEventListener("pointerup",S,{once:!0})}),onFocus:_e(r.onFocus,()=>{x.current||c.onOpen()}),onBlur:_e(r.onBlur,c.onClose),onClick:_e(r.onClick,c.onClose)})})});Vm.displayName=Ha;var jw="TooltipPortal",[rS,Ow]=mi(jw,{forceMount:void 0}),kr="TooltipContent",Gm=g.forwardRef((r,l)=>{const i=Ow(kr,r.__scopeTooltip),{forceMount:a=i.forceMount,side:c="top",...d}=r,m=gi(kr,r.__scopeTooltip);return h.jsx(Rt,{present:a||m.open,children:m.disableHoverableContent?h.jsx(Ym,{side:c,...d,ref:l}):h.jsx(Aw,{side:c,...d,ref:l})})}),Aw=g.forwardRef((r,l)=>{const i=gi(kr,r.__scopeTooltip),a=au(kr,r.__scopeTooltip),c=g.useRef(null),d=We(l,c),[m,p]=g.useState(null),{trigger:v,onClose:x}=i,y=c.current,{onPointerInTransitChange:S}=a,C=g.useCallback(()=>{p(null),S(!1)},[S]),k=g.useCallback((b,_)=>{const T=b.currentTarget,A={x:b.clientX,y:b.clientY},L=zw(A,T.getBoundingClientRect()),$=Fw(A,L),M=$w(_.getBoundingClientRect()),U=Hw([...$,...M]);p(U),S(!0)},[S]);return g.useEffect(()=>()=>C(),[C]),g.useEffect(()=>{if(v&&y){const b=T=>k(T,y),_=T=>k(T,v);return v.addEventListener("pointerleave",b),y.addEventListener("pointerleave",_),()=>{v.removeEventListener("pointerleave",b),y.removeEventListener("pointerleave",_)}}},[v,y,k,C]),g.useEffect(()=>{if(m){const b=_=>{const T=_.target,A={x:_.clientX,y:_.clientY},L=v?.contains(T)||y?.contains(T),$=!Ww(A,m);L?C():$&&(C(),x())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[v,y,m,x,C]),h.jsx(Ym,{...r,ref:d})}),[Lw,Dw]=mi(Eo,{isInside:!1}),Mw=Dv("TooltipContent"),Ym=g.forwardRef((r,l)=>{const{__scopeTooltip:i,children:a,"aria-label":c,onEscapeKeyDown:d,onPointerDownOutside:m,...p}=r,v=gi(kr,i),x=hi(i),{onClose:y}=v;return g.useEffect(()=>(document.addEventListener(Wa,y),()=>document.removeEventListener(Wa,y)),[y]),g.useEffect(()=>{if(v.trigger){const S=C=>{C.target?.contains(v.trigger)&&y()};return window.addEventListener("scroll",S,{capture:!0}),()=>window.removeEventListener("scroll",S,{capture:!0})}},[v.trigger,y]),h.jsx(ii,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:m,onFocusOutside:S=>S.preventDefault(),onDismiss:y,children:h.jsxs(Fm,{"data-state":v.stateAttribute,...x,...p,ref:l,style:{...p.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:[h.jsx(Mw,{children:a}),h.jsx(Lw,{scope:i,isInside:!0,children:h.jsx(Pw,{id:v.contentId,role:"tooltip",children:c||a})})]})})});Gm.displayName=kr;var Qm="TooltipArrow",Iw=g.forwardRef((r,l)=>{const{__scopeTooltip:i,...a}=r,c=hi(i);return Dw(Qm,i).isInside?null:h.jsx($m,{...c,...a,ref:l})});Iw.displayName=Qm;function zw(r,l){const i=Math.abs(l.top-r.y),a=Math.abs(l.bottom-r.y),c=Math.abs(l.right-r.x),d=Math.abs(l.left-r.x);switch(Math.min(i,a,c,d)){case d:return"left";case c:return"right";case i:return"top";case a:return"bottom";default:throw new Error("unreachable")}}function Fw(r,l,i=5){const a=[];switch(l){case"top":a.push({x:r.x-i,y:r.y+i},{x:r.x+i,y:r.y+i});break;case"bottom":a.push({x:r.x-i,y:r.y-i},{x:r.x+i,y:r.y-i});break;case"left":a.push({x:r.x+i,y:r.y-i},{x:r.x+i,y:r.y+i});break;case"right":a.push({x:r.x-i,y:r.y-i},{x:r.x-i,y:r.y+i});break}return a}function $w(r){const{top:l,right:i,bottom:a,left:c}=r;return[{x:c,y:l},{x:i,y:l},{x:i,y:a},{x:c,y:a}]}function Ww(r,l){const{x:i,y:a}=r;let c=!1;for(let d=0,m=l.length-1;d a!=C>a&&i<(S-x)*(a-y)/(C-y)+x&&(c=!c)}return c}function Hw(r){const l=r.slice();return l.sort((i,a)=>i.x a.x?1:i.y a.y?1:0),Uw(l)}function Uw(r){if(r.length<=1)return r.slice();const l=[];for(let a=0;a =2;){const d=l[l.length-1],m=l[l.length-2];if((d.x-m.x)*(c.y-m.y)>=(d.y-m.y)*(c.x-m.x))l.pop();else break}l.push(c)}l.pop();const i=[];for(let a=r.length-1;a>=0;a--){const c=r[a];for(;i.length>=2;){const d=i[i.length-1],m=i[i.length-2];if((d.x-m.x)*(c.y-m.y)>=(d.y-m.y)*(c.x-m.x))i.pop();else break}i.push(c)}return i.pop(),l.length===1&&i.length===1&&l[0].x===i[0].x&&l[0].y===i[0].y?l:l.concat(i)}var Bw=Um,Vw=Bm,Gw=Vm,Xm=Gm;const Yw=Bw,uu=Vw,cu=Gw,vi=g.forwardRef(({className:r,sideOffset:l=4,...i},a)=>h.jsx(Xm,{ref:a,sideOffset:l,className:ge("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 origin-[--radix-tooltip-content-transform-origin]",r),...i}));vi.displayName=Xm.displayName;var yi="Collapsible",[Qw]=Pr(yi),[Xw,du]=Qw(yi),Km=g.forwardRef((r,l)=>{const{__scopeCollapsible:i,open:a,defaultOpen:c,disabled:d,onOpenChange:m,...p}=r,[v,x]=li({prop:a,defaultProp:c??!1,onChange:m,caller:yi});return h.jsx(Xw,{scope:i,disabled:d,contentId:So(),open:v,onOpenToggle:g.useCallback(()=>x(y=>!y),[x]),children:h.jsx(Le.div,{"data-state":pu(v),"data-disabled":d?"":void 0,...p,ref:l})})});Km.displayName=yi;var Zm="CollapsibleTrigger",qm=g.forwardRef((r,l)=>{const{__scopeCollapsible:i,...a}=r,c=du(Zm,i);return h.jsx(Le.button,{type:"button","aria-controls":c.contentId,"aria-expanded":c.open||!1,"data-state":pu(c.open),"data-disabled":c.disabled?"":void 0,disabled:c.disabled,...a,ref:l,onClick:_e(r.onClick,c.onOpenToggle)})});qm.displayName=Zm;var fu="CollapsibleContent",Jm=g.forwardRef((r,l)=>{const{forceMount:i,...a}=r,c=du(fu,r.__scopeCollapsible);return h.jsx(Rt,{present:i||c.open,children:({present:d})=>h.jsx(Kw,{...a,ref:l,present:d})})});Jm.displayName=fu;var Kw=g.forwardRef((r,l)=>{const{__scopeCollapsible:i,present:a,children:c,...d}=r,m=du(fu,i),[p,v]=g.useState(a),x=g.useRef(null),y=We(l,x),S=g.useRef(0),C=S.current,k=g.useRef(0),b=k.current,_=m.open||p,T=g.useRef(_),A=g.useRef(void 0);return g.useEffect(()=>{const L=requestAnimationFrame(()=>T.current=!1);return()=>cancelAnimationFrame(L)},[]),Ft(()=>{const L=x.current;if(L){A.current=A.current||{transitionDuration:L.style.transitionDuration,animationName:L.style.animationName},L.style.transitionDuration="0s",L.style.animationName="none";const $=L.getBoundingClientRect();S.current=$.height,k.current=$.width,T.current||(L.style.transitionDuration=A.current.transitionDuration,L.style.animationName=A.current.animationName),v(a)}},[m.open,a]),h.jsx(Le.div,{"data-state":pu(m.open),"data-disabled":m.disabled?"":void 0,id:m.contentId,hidden:!_,...d,ref:y,style:{"--radix-collapsible-content-height":C?`${C}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...r.style},children:_&&c})});function pu(r){return r?"open":"closed"}var Zw=Km;const qw=Zw,Jw=qm,e1=Jm,t1=new Set(["production_mutation","credential_access_without_intent","destructive_operation_without_intent","direct_infra_api_with_credential","unknown_high_risk_command","no_policy_rule_matched"]),n1=new Set(["judge_allow","judge_deny","judge_fail_open"]),r1=new Set(["deterministic_deny","deterministic_allow"]);function o1(r){const l={deny:[],ask:[],allow:[]};for(const i of r)l[i.decision]?.push(i);return{counts:{all:r.length,deny:l.deny.length,ask:l.ask.length,allow:l.allow.length},groups:l}}function mu(r,l="—"){const i=r.risk_event??{};return i.command_summary||i.request_summary||i.path_class||i.type||l}function Jl(r){return r.replace(/_/g," ")}function l1(r,l){if(r===l)return!0;if(r.length!==l.length)return!1;for(let i=0;i l.toUpperCase()):"tool"}function th(r){const l=r.risk_event?.decision_stage;return!!(l&&r1.has(l))||t1.has(r.reason_code??"")}function i1(r){return r.reason_code==="async_telemetry"?"Recorded after execution.":r.risk_event?.decision_stage==="judge_fail_open"?"Local judge was unavailable, so Guard allowed by fail-open policy.":r.reason||r.reason_code||"No explanation captured."}function s1(r){const l=r.risk_event??{};return r.reason_code==="async_telemetry"?"Not a live gate. Recorded after execution for local session history.":l.decision_stage==="judge_allow"?`Deterministic policy allowed this action, then the local judge allowed it${l.judge_model?` using ${l.judge_model}`:""}.`:l.decision_stage==="judge_deny"?`Deterministic policy allowed this action, then the local judge denied it${l.judge_model?` using ${l.judge_model}`:""}.`:l.decision_stage==="judge_fail_open"?`Deterministic policy allowed this action, but the local judge failed${l.judge_failure_kind?` with ${Jl(l.judge_failure_kind)}`:""}.`:th(r)?l.policy_rule_id?`Deterministic policy matched ${l.policy_rule_id} before calling the local judge.`:"Deterministic policy allowed this action.":l.type==="normal_tool_call"?"Routine coding-agent behavior. No deterministic policy rule matched.":`Normalized as ${l.type||"unknown"}.`}function nh(r){const l=r.risk_event?.decision_stage;return l&&n1.has(l)?"Local LLM judge":r.reason_code==="async_telemetry"?"Trace history":th(r)?"Deterministic policy":"Guard policy"}function a1(r){return mu(r,"No command summary stored.")}function u1(r){return r==="deny"?"Would deny":r==="ask"?"Would ask":"Allow"}const ko={deny:{text:"text-destructive",bg:"bg-destructive",ring:"ring-destructive/10",border:"border-destructive/20"},ask:{text:"text-amber-700",bg:"bg-amber-500",ring:"ring-amber-500/10",border:"border-amber-300/40"},allow:{text:"text-brand",bg:"bg-brand",ring:"ring-brand/10",border:"border-border"}};function hu({kind:r,className:l}){const i=ko[r];return h.jsx("span",{className:ge("h-2 w-2 shrink-0 rounded-full ring-4",i.bg,i.ring,l)})}function Kf({label:r,description:l,children:i}){return h.jsxs("section",{className:"mt-8 first:mt-0",children:[(r||l)&&h.jsxs("div",{className:"mb-3.5 flex items-baseline gap-3",children:[r&&h.jsx("h2",{className:"text-[15px] font-semibold tracking-tight",children:r}),l&&h.jsx("p",{className:"text-[12.5px] text-muted-foreground",children:l})]}),i]})}function Zf({k:r,v:l}){return h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"text-muted-foreground",children:r}),h.jsx("span",{className:"font-mono",children:l})]})}function yr({children:r}){return h.jsx("dt",{className:"self-center text-[10.5px] font-medium uppercase tracking-wider text-muted-foreground",children:r})}function xr({children:r,className:l}){return h.jsx("dd",{className:ge("text-foreground/90",l),children:r})}const c1={all:"All actions",deny:"Denied · this session",ask:"Needs ask · this session",allow:"Allowed · this session"},d1={deny:"Would deny",ask:"Needs ask",allow:"Allow"},f1={all:["deny","ask","allow"],deny:["deny"],ask:["ask"],allow:["allow"]};function p1({tab:r,groups:l,openId:i,onOpen:a,hasAny:c}){return h.jsxs("section",{className:"overflow-hidden rounded-xl border bg-card shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_1px_2px_rgba(0,0,0,0.04)]",children:[h.jsx("div",{className:"flex items-center justify-between gap-3 border-b px-5 py-3",children:h.jsxs("div",{className:"flex items-baseline gap-2.5",children:[h.jsx("h3",{className:"font-mono text-[10.5px] font-medium uppercase tracking-[0.22em] text-muted-foreground",children:c1[r]}),r!=="all"&&h.jsxs("span",{className:"text-[11px] text-muted-foreground/80",children:["Click ",h.jsx("span",{className:"text-foreground",children:"Total"})," to clear"]})]})}),c?h.jsx("div",{children:f1[r].map(d=>({kind:d,items:l[d]})).filter(({items:d})=>d.length>0).map(({kind:d,items:m},p)=>h.jsx(h1,{label:d1[d],kind:d,count:m.length,separated:p>0,children:m.map(v=>h.jsx(g1,{event:v,active:i===v.id,onClick:()=>a(v.id)},v.id))},d))}):h.jsx(m1,{})]})}function m1(){return h.jsxs("div",{className:"flex flex-col items-center gap-2 px-8 py-16 text-center text-muted-foreground",children:[h.jsx(Tv,{className:"h-5 w-5 text-muted-foreground/50"}),h.jsx("p",{className:"text-[13px]",children:"No actions captured yet."}),h.jsx("p",{className:"text-[12px] text-muted-foreground/70",children:"Start Claude Code to populate this view."})]})}function h1({label:r,kind:l,count:i,separated:a,children:c}){const[d,m]=g.useState(!0);return h.jsxs(qw,{open:d,onOpenChange:m,children:[h.jsxs(Jw,{className:ge("flex w-full items-center gap-2 border-b bg-muted/40 px-5 py-2 text-left text-[12px] font-medium text-muted-foreground transition-colors hover:bg-muted/40",a&&"border-t"),children:[h.jsx(sp,{className:ge("h-3 w-3 transition-transform",!d&&"-rotate-90")}),h.jsx(hu,{kind:l}),h.jsx("span",{className:"text-foreground",children:r}),h.jsx("span",{className:"tabular-nums text-[11px] text-muted-foreground",children:i})]}),h.jsx(e1,{className:"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down",children:h.jsx("div",{children:c})})]})}function g1({event:r,active:l,onClick:i}){const a=mu(r),c=r.risk_event?.signals?.[0]?.replace(/_/g," "),d=ko[r.decision];return h.jsxs("button",{onClick:i,className:ge("group relative grid w-full grid-cols-[10px_minmax(0,1fr)_auto] items-center gap-4 border-b px-8 py-3 text-left transition-colors last:border-b-0","hover:bg-muted/40",l&&"bg-accent"),children:[l&&h.jsx("span",{className:"absolute inset-y-0 left-0 w-[2px] bg-brand"}),h.jsx(hu,{kind:r.decision}),h.jsxs("span",{className:"flex min-w-0 items-baseline gap-2.5",children:[h.jsx("span",{className:"text-[13px] font-medium text-foreground",children:eh(r.tool_name)}),h.jsx("span",{className:"truncate font-mono text-[12px] text-muted-foreground",children:a})]}),h.jsxs("span",{className:"flex items-center gap-3",children:[c&&h.jsxs(uu,{children:[h.jsx(cu,{asChild:!0,children:h.jsx("span",{className:"hidden max-w-[180px] truncate text-[11px] text-muted-foreground md:inline",children:c})}),h.jsxs(vi,{side:"top",children:["Primary signal: ",c]})]}),h.jsx("span",{className:ge("rounded-md border bg-background/60 px-1.5 py-0.5 font-mono text-[10.5px] font-medium",d.border,r.decision==="allow"?"text-muted-foreground":d.text),children:nh(r)}),h.jsx(sp,{className:ge("h-3 w-3 -rotate-90 text-muted-foreground/0 transition-all group-hover:text-muted-foreground/70",l&&"text-muted-foreground/70")})]})]})}const v1={},y1=v1,xi=y1.VITE_KONTEXT_API??"";function wo(r){return r instanceof Error?r.message:String(r)}async function qf(r){return r.json()}async function wi(r){if(r.ok)return qf(r);const l=`${r.status} ${r.statusText}`.trim();if(!(r.headers.get("content-type")??"").includes("application/json"))throw new Error(l);let a;try{a=await qf(r)}catch(d){throw new Error(`API error response was not valid JSON: ${l}; ${wo(d)}`)}const c=No(a)&&typeof a.error=="string"?a.error:l;throw new Error(c)}function No(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}function we(r){return typeof r=="string"?r:void 0}function Oa(r){return typeof r=="boolean"?r:void 0}function x1(r){return typeof r=="number"&&Number.isFinite(r)?r:void 0}function Jf(r){if(!Array.isArray(r))return;const l=r.filter(i=>typeof i=="string");return l.length>0?l:void 0}function rh(r){switch(r){case"allow":case"ask":case"deny":return r;default:return}}function ep(r){switch(r){case"relaxed":case"balanced":case"strict":return r;default:return}}function w1(r){if(No(r))return{type:we(r.type),provider:we(r.provider),provider_category:we(r.provider_category),operation:we(r.operation),operation_class:we(r.operation_class),resource_class:we(r.resource_class),environment:we(r.environment),credential_observed:Oa(r.credential_observed),credential_source:we(r.credential_source),direct_api_call:Oa(r.direct_api_call),explicit_user_intent:Oa(r.explicit_user_intent),command_summary:we(r.command_summary),request_summary:we(r.request_summary),path_class:we(r.path_class),decision:rh(r.decision),reason_code:we(r.reason_code),decision_stage:we(r.decision_stage),signals:Jf(r.signals),guard_id:we(r.guard_id),confidence:x1(r.confidence),policy_profile:we(r.policy_profile),policy_rule_id:we(r.policy_rule_id),policy_rule_category:we(r.policy_rule_category),judge_runtime:we(r.judge_runtime),judge_model:we(r.judge_model),judge_failure_kind:we(r.judge_failure_kind),judge_risk_level:we(r.judge_risk_level),judge_categories:Jf(r.judge_categories)}}function S1(r){if(!(!No(r)||typeof r.session_id!="string"||typeof r.actions!="number"))return{session_id:r.session_id,actions:r.actions}}function C1(r){if(!No(r)||typeof r.id!="string")return;const l=rh(r.decision);if(l)return{id:r.id,session_id:we(r.session_id),tool_name:we(r.tool_name),decision:l,reason:we(r.reason),reason_code:we(r.reason_code),risk_event:w1(r.risk_event)}}function oh(r){if(!No(r))throw new Error("invalid policy profile response");const l=ep(r.profile);if(!l)throw new Error("invalid policy profile response");return{profile:l,recommended_profile:ep(r.recommended_profile),version:we(r.version),rule_pack:we(r.rule_pack),rule_pack_version:we(r.rule_pack_version),config_digest:we(r.config_digest),activation_id:we(r.activation_id),source:we(r.source),status:we(r.status),loaded_at:we(r.loaded_at)}}function lh(r,l){if(r==null)return[];if(!Array.isArray(r))throw new Error("invalid API response");const i=[];for(const a of r){const c=l(a);if(!c)throw new Error("invalid API response");i.push(c)}return i}async function E1(){return lh(await fetch(`${xi}/api/sessions`).then(wi),S1)}async function _1(r){return lh(await fetch(`${xi}/api/sessions/${encodeURIComponent(r)}/events`).then(wi),C1)}async function k1(){return oh(await fetch(`${xi}/api/policy/profile`).then(wi))}async function N1(r){const l=await fetch(`${xi}/api/policy/profile`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:r})}).then(wi);return oh(l)}function P1({event:r}){const l=r.risk_event??{},i=ko[r.decision];return h.jsxs("div",{className:"flex h-full flex-col bg-background",children:[h.jsxs(mm,{className:"flex flex-row items-center gap-2 border-b bg-background px-6 py-3.5 pr-14 space-y-0",children:[h.jsx(hu,{kind:r.decision}),h.jsx(hm,{className:ge("text-[13px] font-medium",i.text),children:u1(r.decision)}),h.jsx("span",{className:"ml-2 font-mono text-[10.5px] uppercase tracking-[0.2em] text-muted-foreground",children:eh(r.tool_name)})]}),h.jsx(oi,{className:"flex-1",children:h.jsxs("div",{className:"space-y-7 px-7 py-7",children:[h.jsxs("div",{className:"space-y-3",children:[h.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-[15px] font-medium leading-snug tracking-tight text-foreground",children:mu(r)}),h.jsx("p",{className:"text-[13.5px] leading-relaxed text-foreground/75",children:i1(r)})]}),h.jsxs("dl",{className:"grid grid-cols-[120px_1fr] gap-y-3 text-[13px]",children:[h.jsx(yr,{children:"Operation"}),h.jsx(xr,{children:l.operation||l.operation_class||"unknown"}),h.jsx(yr,{children:"Source"}),h.jsx(xr,{children:nh(r)}),h.jsx(yr,{children:"Stage"}),h.jsx(xr,{children:l.decision_stage?Jl(l.decision_stage):"unknown"}),h.jsx(yr,{children:"Environment"}),h.jsx(xr,{children:h.jsx("span",{className:"font-mono text-[12.5px]",children:l.environment||"unknown"})}),l.judge_model&&h.jsxs(h.Fragment,{children:[h.jsx(yr,{children:"Judge"}),h.jsx(xr,{children:l.judge_model})]}),l.policy_rule_id&&h.jsxs(h.Fragment,{children:[h.jsx(yr,{children:"Policy rule"}),h.jsx(xr,{children:l.policy_rule_id})]})]}),h.jsx(Aa,{title:"Analysis",children:h.jsx("p",{className:"text-[13px] leading-relaxed text-foreground/80",children:s1(r)})}),h.jsx(Aa,{title:"Command",children:h.jsx("pre",{className:"overflow-x-auto rounded-md border bg-muted/40 px-3 py-2.5 font-mono text-[12px] leading-relaxed text-foreground/90",children:a1(r)})}),(l.signals??[]).length>0&&h.jsx(Aa,{title:"Signals",children:h.jsx("div",{className:"flex flex-wrap gap-1.5",children:(l.signals??[]).map(a=>h.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-md border bg-card px-2 py-1 font-mono text-[11px] text-foreground/80 shadow-[inset_0_1px_0_rgba(255,255,255,0.7)]",children:[h.jsx("span",{className:ge("h-1 w-1 rounded-full",i.bg)}),Jl(a)]},a))})}),r.reason_code&&h.jsxs("div",{className:"border-t pt-4 font-mono text-[10.5px] uppercase tracking-[0.2em] text-muted-foreground",children:["reason · ",h.jsx("span",{className:"text-foreground/70",children:r.reason_code})]})]})})]})}function Aa({title:r,children:l}){return h.jsxs("div",{className:"space-y-2.5",children:[h.jsx("h3",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.22em] text-muted-foreground",children:r}),l]})}var La,Si="HoverCard",[ih]=Pr(Si,[pi]),Ci=pi(),[b1,gu]=ih(Si),sh=r=>{const{__scopeHoverCard:l,children:i,open:a,defaultOpen:c,onOpenChange:d,openDelay:m=700,closeDelay:p=300}=r,v=Ci(l),x=g.useRef(0),y=g.useRef(0),S=g.useRef(!1),C=g.useRef(!1),[k,b]=li({prop:a,defaultProp:c??!1,onChange:d,caller:Si}),_=g.useCallback(()=>{clearTimeout(y.current),x.current=window.setTimeout(()=>b(!0),m)},[m,b]),T=g.useCallback(()=>{clearTimeout(x.current),!S.current&&!C.current&&(y.current=window.setTimeout(()=>b(!1),p))},[p,b]),A=g.useCallback(()=>b(!1),[b]);return g.useEffect(()=>()=>{clearTimeout(x.current),clearTimeout(y.current)},[]),h.jsx(b1,{scope:l,open:k,onOpenChange:b,onOpen:_,onClose:T,onDismiss:A,hasSelectionRef:S,isPointerDownOnContentRef:C,children:h.jsx(Im,{...v,children:i})})};sh.displayName=Si;var ah="HoverCardTrigger",uh=g.forwardRef((r,l)=>{const{__scopeHoverCard:i,...a}=r,c=gu(ah,i),d=Ci(i);return h.jsx(zm,{asChild:!0,...d,children:h.jsx(Le.a,{"data-state":c.open?"open":"closed",...a,ref:l,onPointerEnter:_e(r.onPointerEnter,ti(c.onOpen)),onPointerLeave:_e(r.onPointerLeave,ti(c.onClose)),onFocus:_e(r.onFocus,c.onOpen),onBlur:_e(r.onBlur,c.onClose),onTouchStart:_e(r.onTouchStart,m=>m.preventDefault())})})});uh.displayName=ah;var R1="HoverCardPortal",[oS,T1]=ih(R1,{forceMount:void 0}),ei="HoverCardContent",ch=g.forwardRef((r,l)=>{const i=T1(ei,r.__scopeHoverCard),{forceMount:a=i.forceMount,...c}=r,d=gu(ei,r.__scopeHoverCard);return h.jsx(Rt,{present:a||d.open,children:h.jsx(j1,{"data-state":d.open?"open":"closed",...c,onPointerEnter:_e(r.onPointerEnter,ti(d.onOpen)),onPointerLeave:_e(r.onPointerLeave,ti(d.onClose)),ref:l})})});ch.displayName=ei;var j1=g.forwardRef((r,l)=>{const{__scopeHoverCard:i,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:m,...p}=r,v=gu(ei,i),x=Ci(i),y=g.useRef(null),S=We(l,y),[C,k]=g.useState(!1);return g.useEffect(()=>{if(C){const b=document.body;return La=b.style.userSelect||b.style.webkitUserSelect,b.style.userSelect="none",b.style.webkitUserSelect="none",()=>{b.style.userSelect=La,b.style.webkitUserSelect=La}}},[C]),g.useEffect(()=>{if(y.current){const b=()=>{k(!1),v.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(v.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",b),()=>{document.removeEventListener("pointerup",b),v.hasSelectionRef.current=!1,v.isPointerDownOnContentRef.current=!1}}},[v.isPointerDownOnContentRef,v.hasSelectionRef]),g.useEffect(()=>{y.current&&L1(y.current).forEach(_=>_.setAttribute("tabindex","-1"))}),h.jsx(ii,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:m,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:_e(d,b=>{b.preventDefault()}),onDismiss:v.onDismiss,children:h.jsx(Fm,{...x,...p,onPointerDown:_e(p.onPointerDown,b=>{b.currentTarget.contains(b.target)&&k(!0),v.hasSelectionRef.current=!1,v.isPointerDownOnContentRef.current=!0}),ref:S,style:{...p.style,userSelect:C?"text":void 0,WebkitUserSelect:C?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),O1="HoverCardArrow",A1=g.forwardRef((r,l)=>{const{__scopeHoverCard:i,...a}=r,c=Ci(i);return h.jsx($m,{...c,...a,ref:l})});A1.displayName=O1;function ti(r){return l=>l.pointerType==="touch"?void 0:r()}function L1(r){const l=[],i=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;i.nextNode();)l.push(i.currentNode);return l}var D1=sh,M1=uh,dh=ch;const I1=D1,z1=M1,fh=g.forwardRef(({className:r,align:l="center",sideOffset:i=4,...a},c)=>h.jsx(dh,{ref:c,align:l,sideOffset:i,className:ge("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",r),...a}));fh.displayName=dh.displayName;function $n({className:r,...l}){return h.jsx("div",{className:ge("animate-pulse rounded-md bg-muted",r),...l})}const Ua=[{id:"relaxed",label:"Relaxed",lede:"Fewer blocks, more compatibility.",hint:"Use when iterating on agent behavior."},{id:"balanced",label:"Balanced",recommended:!0,lede:"Good protection with fewer false positives.",hint:"Best default for local development."},{id:"strict",label:"Strict",lede:"Maximum protection, more false positives.",hint:"Use when you can accept breakage."}];function F1(r){return Ua.find(l=>l.id===r)?.label??"Balanced"}const $1={relaxed:1,balanced:2,strict:3};function W1({profile:r,pending:l,error:i,onActivate:a,onRetry:c}){const d=r?.profile??"balanced",m=!r&&!i;return h.jsxs("section",{className:"space-y-3.5",children:[h.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[h.jsxs("div",{className:"flex items-baseline gap-3",children:[h.jsx("h2",{className:"text-[15px] font-semibold tracking-tight",children:"Policy profile"}),r&&h.jsxs("span",{className:"font-mono text-[11px] text-muted-foreground",children:[F1(r.profile)," profile"]})]}),r&&h.jsx(H1,{profile:r})]}),h.jsx("div",{className:"grid grid-cols-1 gap-2.5 md:grid-cols-3",children:m?Ua.map(p=>h.jsx(U1,{},p.id)):Ua.map(p=>h.jsx(B1,{profile:p,active:p.id===d,pending:p.id===l,disabled:!r||!!l,onActivate:()=>a(p.id)},p.id))}),i&&h.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[12px] text-destructive",children:[h.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[h.jsx(ap,{className:"h-3.5 w-3.5 shrink-0"}),h.jsx("span",{children:i})]}),h.jsx("button",{type:"button",onClick:c,className:"shrink-0 font-mono text-[10.5px] uppercase tracking-[0.18em] text-destructive underline-offset-4 hover:underline",children:"Retry"})]})]})}function H1({profile:r}){return h.jsxs(I1,{openDelay:120,children:[h.jsx(z1,{asChild:!0,children:h.jsxs("button",{type:"button",className:"inline-flex items-center gap-1.5 font-mono text-[10.5px] uppercase tracking-[0.18em] text-muted-foreground transition-colors hover:text-foreground",children:[h.jsx(Nv,{className:"h-3 w-3"}),r.version]})}),h.jsx(fh,{side:"left",align:"end",className:"w-[280px] text-[12.5px]",children:h.jsxs("div",{className:"space-y-1.5",children:[h.jsx(Zf,{k:"Version",v:r.version??"—"}),h.jsx(Zf,{k:"Rule pack",v:r.rule_pack??"—"})]})})]})}function U1(){return h.jsxs("div",{className:"rounded-xl border bg-card p-4",children:[h.jsx($n,{className:"h-3 w-16"}),h.jsx($n,{className:"mt-3 h-7 w-24"}),h.jsx($n,{className:"mt-3 h-3 w-full"}),h.jsx($n,{className:"mt-1.5 h-3 w-3/4"})]})}function B1({profile:r,active:l,pending:i,disabled:a,onActivate:c}){const d=$1[r.id];return h.jsxs("button",{type:"button",onClick:c,disabled:a,className:ge("group relative flex flex-col overflow-hidden rounded-xl border text-left transition-shadow duration-200","disabled:pointer-events-none disabled:opacity-60",l?ge("bg-brand-gradient border-brand-dark text-brand-foreground","shadow-[inset_0_1px_0_rgba(255,255,255,0.10),inset_0_0_0_1px_rgba(255,255,255,0.04),0_10px_30px_-8px_rgba(21,40,34,0.45)]","hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.14),inset_0_0_0_1px_rgba(255,255,255,0.06),0_18px_48px_-10px_rgba(21,40,34,0.55)]"):ge("bg-card","shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_1px_2px_rgba(15,17,21,0.04)]","hover:border-foreground/15 hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_6px_18px_-6px_rgba(15,17,21,0.10)]")),children:[i&&h.jsx("span",{className:"absolute inset-x-0 bottom-0 h-px overflow-hidden",children:h.jsx("span",{className:ge("block h-full w-1/3 animate-[shimmer_1.2s_linear_infinite]",l?"bg-white":"bg-foreground")})}),h.jsxs("div",{className:"flex items-center justify-between px-5 pt-4",children:[h.jsx(V1,{filled:d,active:l}),h.jsxs("div",{className:"flex items-center gap-2",children:[r.recommended&&!i&&h.jsx("span",{className:ge("font-mono text-[9.5px] font-medium uppercase tracking-[0.18em]",l?"text-white/70":"text-muted-foreground"),children:"Recommended"}),i&&h.jsxs("span",{className:ge("inline-flex items-center gap-1 font-mono text-[9.5px] uppercase tracking-[0.18em]",l?"text-white/70":"text-muted-foreground"),children:[h.jsx(bv,{className:"h-3 w-3 animate-spin"}),"Activating"]})]})]}),h.jsxs("div",{className:"px-5 pt-2.5",children:[h.jsx("div",{className:"text-[22px] font-semibold leading-tight tracking-tight",children:r.label}),h.jsx("p",{className:ge("mt-1 text-[12.5px] leading-snug",l?"text-white/85":"text-foreground/80"),children:r.lede}),h.jsx("p",{className:ge("mt-0.5 text-[11.5px] leading-snug",l?"text-white/55":"text-muted-foreground"),children:r.hint})]}),h.jsx("div",{className:ge("mt-3 border-t px-5 py-2.5 font-mono text-[10px] uppercase tracking-[0.22em]",l?"border-white/15 text-white":"border-border text-muted-foreground/70"),children:l?"Active profile":"Tap to activate"})]})}function V1({filled:r,active:l}){return h.jsx("div",{className:"flex items-center gap-1","aria-hidden":"true",children:[1,2,3].map(i=>h.jsx("span",{className:ge("h-1 w-2.5 rounded-full transition-colors",i<=r?l?"bg-white":"bg-foreground":l?"bg-white/25":"bg-muted-foreground/25")},i))})}new Date(Date.now()-120*1e3).toISOString();function G1({session:r,loading:l}){return h.jsxs("header",{className:"flex items-center justify-between gap-4 border-b bg-background px-10 py-5",children:[h.jsx("div",{className:"flex min-w-0 items-center gap-3",children:l?h.jsx($n,{className:"h-6 w-60"}):h.jsxs(h.Fragment,{children:[h.jsxs("span",{className:"relative flex h-2 w-2 shrink-0",children:[h.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-brand opacity-50"}),h.jsx("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-brand"})]}),h.jsx("span",{className:"truncate font-mono text-[17px] font-medium tracking-tight text-foreground",children:r?.session_id??"-"})]})}),h.jsxs(uu,{children:[h.jsx(cu,{asChild:!0,children:h.jsx("span",{className:"cursor-default text-[11px] uppercase tracking-[0.18em] text-muted-foreground",children:"Observe mode"})}),h.jsx(vi,{side:"bottom",children:"Recording decisions but not enforcing them."})]})]})}function Y1({sessions:r,counts:l,selectedID:i,onSelect:a}){return h.jsxs("aside",{className:"flex min-h-0 flex-col border-r",children:[h.jsx("div",{className:"px-5 pb-6 pt-7",children:h.jsx("div",{className:"text-[18px] font-semibold tracking-tight",children:"Kontext"})}),h.jsxs(oi,{className:"flex-1 px-2",children:[h.jsx(Q1,{label:"This session",count:l.all,active:!0}),r.length>1&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"px-2.5 pb-1.5 pt-6 text-[10.5px] font-medium uppercase tracking-[0.18em] text-muted-foreground",children:"Recent"}),h.jsx("div",{className:"flex flex-col gap-0.5",children:r.slice(0,12).map(c=>h.jsxs("button",{type:"button",onClick:()=>a(c.session_id),className:ge("flex items-center justify-between gap-2 rounded-md px-2.5 py-1.5 text-left text-[12.5px] transition-colors hover:bg-accent/60",c.session_id===i&&"bg-accent text-foreground"),children:[h.jsx("span",{className:"truncate font-mono text-muted-foreground",children:c.session_id}),h.jsx("span",{className:"shrink-0 tabular-nums text-[11px] text-muted-foreground",children:c.actions})]},c.session_id))})]})]})]})}function Q1({label:r,count:l,active:i}){return h.jsxs("button",{type:"button",className:ge("flex w-full items-center justify-between rounded-md px-2.5 py-1.5 text-left text-[13px] font-medium transition-colors",i?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/60 hover:text-foreground"),children:[h.jsx("span",{children:r}),h.jsx("span",{className:"font-mono text-[11px] text-muted-foreground",children:l})]})}const X1=[{id:"deny",label:"Would deny"},{id:"ask",label:"Needs ask"},{id:"allow",label:"Allowed"}],K1=[{kind:"deny",label:"Would deny"},{kind:"ask",label:"Ask"},{kind:"allow",label:"Allow"}];function Z1({counts:r,active:l,onSelect:i,loading:a}){return h.jsxs("section",{className:"overflow-hidden rounded-xl border bg-card shadow-[inset_0_1px_0_rgba(255,255,255,0.8),0_1px_2px_rgba(0,0,0,0.04)]",children:[h.jsx(q1,{count:r.all,active:l==="all",loading:a,onClick:()=>i("all")}),h.jsx("div",{className:"grid divide-y md:grid-cols-3 md:divide-x md:divide-y-0",children:X1.map(c=>h.jsx(J1,{id:c.id,label:c.label,count:r[c.id],total:r.all,active:l===c.id,loading:a,onClick:()=>i(c.id)},c.id))}),h.jsx(eS,{counts:r})]})}function q1({count:r,active:l,loading:i,onClick:a}){return h.jsxs("button",{type:"button",onClick:a,"aria-label":"Show all decisions",className:ge("flex w-full items-center gap-3 border-b bg-muted/10 px-6 py-3 text-left transition-colors","hover:bg-muted/30",l&&"bg-muted/40"),children:[i?h.jsx($n,{className:"h-7 w-10"}):h.jsx("span",{className:"font-mono text-[26px] font-semibold leading-none tabular-nums text-foreground",children:r}),h.jsx("div",{className:"min-w-0",children:h.jsx("span",{className:ge("text-[13px] font-medium",l?"text-foreground":"text-muted-foreground"),children:"decisions captured"})})]})}function J1({id:r,label:l,count:i,total:a,active:c,loading:d,onClick:m}){const p=Math.round(i/Math.max(1,a)*100),v=i===0?"text-muted-foreground/40":ko[r].text;return h.jsxs("button",{type:"button",onClick:m,className:ge("group relative flex items-baseline gap-4 px-6 py-5 text-left transition-colors","hover:bg-muted/30",c&&"bg-muted/40"),children:[d?h.jsx($n,{className:"h-9 w-12"}):h.jsx("span",{className:ge("font-mono text-[36px] font-semibold leading-none tracking-tight tabular-nums",v),children:i}),h.jsxs("div",{className:"flex flex-col leading-tight",children:[h.jsx("span",{className:ge("font-mono text-[10px] font-medium uppercase tracking-[0.22em]",c?"text-foreground":"text-muted-foreground"),children:l}),h.jsxs("span",{className:"mt-1 text-[11px] text-muted-foreground/70",children:[p,"% of session"]})]})]})}function eS({counts:r}){const l=K1.map(i=>({count:r[i.kind],color:ko[i.kind].bg,label:i.label})).filter(i=>i.count>0);return h.jsx("div",{className:"border-t bg-muted/20 px-6 py-3",children:h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("div",{className:"flex h-1.5 flex-1 gap-0.5 overflow-hidden rounded-full bg-muted/60",children:l.length===0?h.jsx("div",{className:"w-full bg-muted-foreground/15"}):l.map(i=>h.jsxs(uu,{children:[h.jsx(cu,{asChild:!0,children:h.jsx("div",{className:ge("transition-opacity hover:opacity-80",i.color),style:{flex:i.count},"aria-label":`${i.count} ${i.label}`})}),h.jsxs(vi,{side:"top",children:[i.count," ",i.label.toLowerCase()]})]},i.label))}),h.jsx("div",{className:"flex items-center gap-3 font-mono text-[10px] uppercase tracking-[0.18em] text-muted-foreground",children:l.length===0?h.jsx("span",{children:"No activity yet"}):l.map(i=>h.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[h.jsx("span",{className:ge("h-1.5 w-1.5 rounded-full",i.color)}),i.label,h.jsx("span",{className:"tabular-nums text-foreground/70",children:i.count})]},i.label))})]})})}function tS(){const[r,l]=g.useState([]),[i,a]=g.useState(""),[c,d]=g.useState([]),[m,p]=g.useState("all"),[v,x]=g.useState(null),[y,S]=g.useState(""),[C,k]=g.useState(null),[b,_]=g.useState(null),[T,A]=g.useState(""),L=g.useRef("");g.useEffect(()=>{G(),ie();const ee=setInterval(G,3e3);return()=>clearInterval(ee)},[]),g.useEffect(()=>{i&&B(i),L.current=i},[i]);function $(ee){L.current=ee,a(ee)}function M(ee){return l(le=>l1(le,ee)?le:ee),S(""),ee}function U(ee){d(ee),S("")}function G(){E1().then(ee=>{const le=M(ee),se=L.current,D=le.some(Y=>Y.session_id===se)?se:le[0]?.session_id;D?D!==se?$(D):B(D):(L.current="",a(""),d([]),x(null))}).catch(ee=>S(wo(ee)))}function B(ee){_1(ee).then(le=>{L.current===ee&&U(le)}).catch(le=>S(wo(le)))}function ie(){k1().then(ee=>{k(ee),A("")}).catch(ee=>{A(`Couldn't load policy profile. ${wo(ee)}`)})}function te(ee){ee===C?.profile||b||(_(ee),A(""),N1(ee).then(k).catch(le=>A(`Couldn't update policy profile. ${wo(le)}`)).finally(()=>_(null)))}const{counts:ne,groups:ue}=g.useMemo(()=>o1(c),[c]),J=g.useMemo(()=>v?c.find(ee=>ee.id===v)??null:null,[v,c]),me=g.useMemo(()=>r.find(ee=>ee.session_id===i),[r,i]),ce=r.length===0&&!y;return h.jsx(Yw,{delayDuration:150,children:h.jsxs("div",{className:"grid h-screen grid-cols-[252px_1fr] bg-background text-foreground",children:[h.jsx(Y1,{sessions:r,counts:ne,selectedID:i,onSelect:$}),h.jsxs("main",{className:"flex min-h-0 flex-col overflow-hidden",children:[h.jsx(G1,{session:me,loading:ce}),h.jsx(oi,{className:"flex-1",children:h.jsxs("div",{className:"px-10 pb-10 pt-8",children:[h.jsx(W1,{profile:C,pending:b,error:T,onActivate:te,onRetry:ie}),h.jsx(Kf,{label:"Activity",description:"What was decided this session.",children:h.jsx(Z1,{counts:ne,active:m,onSelect:p,loading:ce})}),y&&h.jsxs("div",{className:"mt-4 flex items-center gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[12px] text-destructive",children:[h.jsx(ap,{className:"h-3.5 w-3.5 shrink-0"}),h.jsx("span",{children:y})]}),h.jsx(Kf,{label:"Log",description:"Tool calls in chronological order.",children:h.jsx(p1,{tab:m,groups:ue,openId:v,onOpen:x,hasAny:c.length>0})})]})})]}),h.jsx(a0,{open:!!J,onOpenChange:ee=>!ee&&x(null),children:h.jsx(pm,{side:"right",className:"w-[540px] max-w-[92vw] p-0 sm:max-w-[540px]",children:J&&h.jsx(P1,{event:J})})})]})})}const tp=document.getElementById("root");tp&&vv.createRoot(tp).render(h.jsx(rp.StrictMode,{children:h.jsx(tS,{})})); diff --git a/internal/guard/web/assets/dist/assets/index-CleXL0pS.css b/internal/guard/web/assets/dist/assets/index-DUTwVgWJ.css similarity index 57% rename from internal/guard/web/assets/dist/assets/index-CleXL0pS.css rename to internal/guard/web/assets/dist/assets/index-DUTwVgWJ.css index e5aa7ac..0035f7b 100644 --- a/internal/guard/web/assets/dist/assets/index-CleXL0pS.css +++ b/internal/guard/web/assets/dist/assets/index-DUTwVgWJ.css @@ -1 +1 @@ -@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2) format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-400-normal-Ce5q_31Z.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-400-normal-BPBWmzPh.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-Cgks_Qgx.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CxNRRMGd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-LC9RFr9I.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-CoULgQGM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-cyrillic-500-normal-CJBLNVQT.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-500-normal-mNhfPmgl.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-ext-500-normal-CQcGuCNt.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-500-normal-diTenJ8L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-D3o2eNa9.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-DOxI7kZ4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius: .625rem;--radius-sm: .375rem;--radius-lg: .875rem;--background: 40 11% 97%;--foreground: 24 10% 10%;--card: 0 0% 100%;--card-foreground: 24 10% 10%;--popover: 0 0% 100%;--popover-foreground: 24 10% 10%;--primary: 24 10% 10%;--primary-foreground: 40 11% 97%;--secondary: 40 8% 93%;--secondary-foreground: 24 10% 10%;--muted: 40 8% 93%;--muted-foreground: 30 6% 44%;--accent: 40 8% 91%;--accent-foreground: 24 10% 10%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 36 8% 89%;--input: 36 8% 89%;--ring: 161 48% 12%;--brand: 161 48% 12%;--brand-foreground: 0 0% 100%;--brand-light: 161 33% 94%;--brand-dark: 161 53% 9%}*{border-color:hsl(var(--border))}html,body,#root{height:100%}body{background-color:hsl(var(--background));font-family:Geist Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}.bg-brand-gradient{background:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.1),transparent 55%),linear-gradient(135deg,#102d24,#1c4035,#244c3f)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-3\.5{margin-bottom:.875rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-60{width:15rem}.w-64{width:16rem}.w-\[280px\]{width:280px}.w-\[2px\]{width:2px}.w-\[540px\]{width:540px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[8rem\]{min-width:8rem}.max-w-\[180px\]{max-width:180px}.max-w-\[92vw\]{max-width:92vw}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}.animate-\[shimmer_1\.2s_linear_infinite\]{animation:shimmer 1.2s linear infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[10px_minmax\(0\,1fr\)_auto\]{grid-template-columns:10px minmax(0,1fr) auto}.grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.grid-cols-\[252px_1fr\]{grid-template-columns:252px 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-y-3{row-gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-300\/40{border-color:#fcd34d66}.border-border{border-color:hsl(var(--border))}.border-brand-dark{--tw-border-opacity: 1;border-color:hsl(var(--brand-dark) / var(--tw-border-opacity, 1))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-white\/15{border-color:#ffffff26}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-brand{--tw-bg-opacity: 1;background-color:hsl(var(--brand) / var(--tw-bg-opacity, 1))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/15{background-color:hsl(var(--muted-foreground) / .15)}.bg-muted-foreground\/25{background-color:hsl(var(--muted-foreground) / .25)}.bg-muted\/10{background-color:hsl(var(--muted) / .1)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-popover{background-color:hsl(var(--popover))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/25{background-color:#ffffff40}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-6{padding-bottom:1.5rem}.pl-8{padding-left:2rem}.pr-14{padding-right:3.5rem}.pr-2{padding-right:.5rem}.pt-2\.5{padding-top:.625rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Geist Mono,ui-monospace,monospace}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[36px\]{font-size:36px}.text-\[9\.5px\]{font-size:9.5px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-brand{--tw-text-opacity: 1;color:hsl(var(--brand) / var(--tw-text-opacity, 1))}.text-brand-foreground{--tw-text-opacity: 1;color:hsl(var(--brand-foreground) / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/75{color:hsl(var(--foreground) / .75)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/0{color:hsl(var(--muted-foreground) / 0)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/55{color:#ffffff8c}.text-white\/70{color:#ffffffb3}.text-white\/85{color:#ffffffd9}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.10\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.04\)\,0_10px_30px_-8px_rgba\(21\,40\,34\,0\.45\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.04),0 10px 30px -8px rgba(21,40,34,.45);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), inset 0 0 0 1px var(--tw-shadow-color), 0 10px 30px -8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.7\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.7);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.8\)\,0_1px_2px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(0,0,0,.04);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.8\)\,0_1px_2px_rgba\(15\,17\,21\,0\.04\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(15,17,21,.04);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-amber-500\/10{--tw-ring-color: rgb(245 158 11 / .1)}.ring-brand\/10{--tw-ring-color: hsl(var(--brand) / .1)}.ring-destructive\/10{--tw-ring-color: hsl(var(--destructive) / .1)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@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))}}@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))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.first\:mt-0:first-child{margin-top:0}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:border-foreground\/15:hover{border-color:hsl(var(--foreground) / .15)}.hover\:bg-accent\/60:hover{background-color:hsl(var(--accent) / .6)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.14\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.06\)\,0_18px_48px_-10px_rgba\(21\,40\,34\,0\.55\)\]:hover{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.06),0 18px 48px -10px rgba(21,40,34,.55);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), inset 0 0 0 1px var(--tw-shadow-color), 0 18px 48px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.8\)\,0_6px_18px_-6px_rgba\(15\,17\,21\,0\.10\)\]:hover{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 6px 18px -6px rgba(15,17,21,.1);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 6px 18px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}@keyframes collapsible-up{0%{height:var(--radix-collapsible-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-collapsible-up[data-state=closed]{animation:collapsible-up .2s ease-out}@keyframes collapsible-down{0%{height:0}to{height:var(--radix-collapsible-content-height)}}.data-\[state\=open\]\:animate-collapsible-down[data-state=open]{animation:collapsible-down .2s ease-out}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@media(min-width:640px){.sm\:max-w-\[540px\]{max-width:540px}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:inline{display:inline}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0} +@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2) format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-400-normal-Ce5q_31Z.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-400-normal-BPBWmzPh.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-Cgks_Qgx.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CxNRRMGd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-LC9RFr9I.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-CoULgQGM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-cyrillic-500-normal-CJBLNVQT.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-500-normal-mNhfPmgl.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-ext-500-normal-CQcGuCNt.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-500-normal-diTenJ8L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-D3o2eNa9.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-DOxI7kZ4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius: .625rem;--radius-sm: .375rem;--radius-lg: .875rem;--background: 40 11% 97%;--foreground: 24 10% 10%;--card: 0 0% 100%;--card-foreground: 24 10% 10%;--popover: 0 0% 100%;--popover-foreground: 24 10% 10%;--primary: 24 10% 10%;--primary-foreground: 40 11% 97%;--secondary: 40 8% 93%;--secondary-foreground: 24 10% 10%;--muted: 40 8% 93%;--muted-foreground: 30 6% 44%;--accent: 40 8% 91%;--accent-foreground: 24 10% 10%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 36 8% 89%;--input: 36 8% 89%;--ring: 161 48% 12%;--brand: 161 48% 12%;--brand-foreground: 0 0% 100%;--brand-light: 161 33% 94%;--brand-dark: 161 53% 9%}*{border-color:hsl(var(--border))}html,body,#root{height:100%}body{background-color:hsl(var(--background));font-family:Geist Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}.bg-brand-gradient{background:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.1),transparent 55%),linear-gradient(135deg,#102d24,#1c4035,#244c3f)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-3\.5{margin-bottom:.875rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-60{width:15rem}.w-64{width:16rem}.w-\[280px\]{width:280px}.w-\[2px\]{width:2px}.w-\[540px\]{width:540px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[8rem\]{min-width:8rem}.max-w-\[180px\]{max-width:180px}.max-w-\[92vw\]{max-width:92vw}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}.animate-\[shimmer_1\.2s_linear_infinite\]{animation:shimmer 1.2s linear infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[10px_minmax\(0\,1fr\)_auto\]{grid-template-columns:10px minmax(0,1fr) auto}.grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.grid-cols-\[252px_1fr\]{grid-template-columns:252px 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-y-3{row-gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-300\/40{border-color:#fcd34d66}.border-border{border-color:hsl(var(--border))}.border-brand-dark{--tw-border-opacity: 1;border-color:hsl(var(--brand-dark) / var(--tw-border-opacity, 1))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-white\/15{border-color:#ffffff26}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-brand{--tw-bg-opacity: 1;background-color:hsl(var(--brand) / var(--tw-bg-opacity, 1))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/15{background-color:hsl(var(--muted-foreground) / .15)}.bg-muted-foreground\/25{background-color:hsl(var(--muted-foreground) / .25)}.bg-muted\/10{background-color:hsl(var(--muted) / .1)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-popover{background-color:hsl(var(--popover))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/25{background-color:#ffffff40}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-6{padding-bottom:1.5rem}.pl-8{padding-left:2rem}.pr-14{padding-right:3.5rem}.pr-2{padding-right:.5rem}.pt-2\.5{padding-top:.625rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Geist Mono,ui-monospace,monospace}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[36px\]{font-size:36px}.text-\[9\.5px\]{font-size:9.5px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-brand{--tw-text-opacity: 1;color:hsl(var(--brand) / var(--tw-text-opacity, 1))}.text-brand-foreground{--tw-text-opacity: 1;color:hsl(var(--brand-foreground) / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/0{color:hsl(var(--muted-foreground) / 0)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/55{color:#ffffff8c}.text-white\/70{color:#ffffffb3}.text-white\/85{color:#ffffffd9}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.10\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.04\)\,0_10px_30px_-8px_rgba\(21\,40\,34\,0\.45\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.04),0 10px 30px -8px rgba(21,40,34,.45);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), inset 0 0 0 1px var(--tw-shadow-color), 0 10px 30px -8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.7\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.7);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.8\)\,0_1px_2px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(0,0,0,.04);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.8\)\,0_1px_2px_rgba\(15\,17\,21\,0\.04\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(15,17,21,.04);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-amber-500\/10{--tw-ring-color: rgb(245 158 11 / .1)}.ring-brand\/10{--tw-ring-color: hsl(var(--brand) / .1)}.ring-destructive\/10{--tw-ring-color: hsl(var(--destructive) / .1)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@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))}}@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))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.first\:mt-0:first-child{margin-top:0}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:border-foreground\/15:hover{border-color:hsl(var(--foreground) / .15)}.hover\:bg-accent\/60:hover{background-color:hsl(var(--accent) / .6)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.14\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.06\)\,0_18px_48px_-10px_rgba\(21\,40\,34\,0\.55\)\]:hover{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.06),0 18px 48px -10px rgba(21,40,34,.55);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), inset 0 0 0 1px var(--tw-shadow-color), 0 18px 48px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.8\)\,0_6px_18px_-6px_rgba\(15\,17\,21\,0\.10\)\]:hover{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 6px 18px -6px rgba(15,17,21,.1);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 6px 18px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}@keyframes collapsible-up{0%{height:var(--radix-collapsible-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-collapsible-up[data-state=closed]{animation:collapsible-up .2s ease-out}@keyframes collapsible-down{0%{height:0}to{height:var(--radix-collapsible-content-height)}}.data-\[state\=open\]\:animate-collapsible-down[data-state=open]{animation:collapsible-down .2s ease-out}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@media(min-width:640px){.sm\:max-w-\[540px\]{max-width:540px}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:inline{display:inline}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0} diff --git a/internal/guard/web/assets/dist/index.html b/internal/guard/web/assets/dist/index.html index fd8a30c..ee85c75 100644 --- a/internal/guard/web/assets/dist/index.html +++ b/internal/guard/web/assets/dist/index.html @@ -4,8 +4,8 @@ Kontext Guard - - + + diff --git a/web/guard-dashboard/src/dashboard/Inspector.tsx b/web/guard-dashboard/src/dashboard/Inspector.tsx index 56f931f..ad23c2e 100644 --- a/web/guard-dashboard/src/dashboard/Inspector.tsx +++ b/web/guard-dashboard/src/dashboard/Inspector.tsx @@ -3,6 +3,7 @@ import { SheetHeader, SheetTitle } from "@/components/ui/sheet"; import { cn } from "@/lib/utils"; import { actionSummary, + dateTime, decisionLabel, decisionSource, decisionTone, @@ -18,6 +19,16 @@ import type { Event } from "./types"; export function Inspector({ event }: { event: Event }) { const r = event.risk_event ?? {}; const tone = decisionTone[event.decision]; + const timestamp = dateTime(event.created_at); + const judgeResult = + r.decision_stage === "judge_allow" + ? "allow" + : r.decision_stage === "judge_deny" + ? "deny" + : r.decision_stage === "judge_fail_open" + ? "fail open" + : ""; + const judgeLatency = formatDurationMs(r.judge_duration_ms); return (@@ -37,9 +48,6 @@ export function Inspector({ event }: { event: Event }) {{summaryOf(event)}-- {humanReason(event)} -
@@ -53,10 +61,28 @@ export function Inspector({ event }: { event: Event }) {
+- {r.environment || "unknown"}
- {r.judge_model && ( + {timestamp && ( + <> +- Timestamp
+- {timestamp}
+ > + )} + {r.policy_version && ( + <> +- Policy version
+- {r.policy_version}
+ > + )} + {r.policy_profile && ( + <> +- Policy profile
+- {humanize(r.policy_profile)}
+ > + )} + {r.policy_rule_pack && ( <> -- Judge
-- {r.judge_model}
+- Rule pack
+- {r.policy_rule_pack}
> )} {r.policy_rule_id && ( @@ -65,8 +91,36 @@ export function Inspector({ event }: { event: Event }) {- {r.policy_rule_id}
> )} + {r.policy_rule_category && ( + <> +- Rule category
+- {humanize(r.policy_rule_category)}
+ > + )} + {judgeResult && ( + <> +- Judge result
+- {judgeResult}
+ > + )} + {r.judge_risk_level && ( + <> +- Judge risk
+- {humanize(r.judge_risk_level)}
+ > + )} + {judgeLatency && ( + <> +- Judge latency
+- {judgeLatency}
+ > + )}+ +{humanReason(event)}
+)} + {(r.policy_signals ?? []).length > 0 && ( + {technicalExplanation(event)} @@ -95,9 +149,19 @@ export function Inspector({ event }: { event: Event }) {
+ + )} + {event.reason_code && (+ {(r.policy_signals ?? []).map((s) => ( +++ ))} + - reason · {event.reason_code} + decision code · {event.reason_code})} @@ -106,6 +170,21 @@ export function Inspector({ event }: { event: Event }) { ); } +function SignalChip({ signal, toneClass }: { signal: string; toneClass: string }) { + return ( + + + {humanize(signal)} + + ); +} + +function formatDurationMs(value?: number): string { + if (typeof value !== "number" || !Number.isFinite(value) || value < 0) return ""; + if (value < 1000) return `${Math.round(value)} ms`; + return `${(value / 1000).toFixed(1)} s`; +} + function Section({ title, children }: { title: string; children: React.ReactNode }) { return (diff --git a/web/guard-dashboard/src/dashboard/api.ts b/web/guard-dashboard/src/dashboard/api.ts index e3c0b6e..4f651f8 100644 --- a/web/guard-dashboard/src/dashboard/api.ts +++ b/web/guard-dashboard/src/dashboard/api.ts @@ -95,11 +95,15 @@ function parseRiskEvent(value: unknown): RiskEvent | undefined { signals: stringList(value.signals), guard_id: optionalString(value.guard_id), confidence: optionalNumber(value.confidence), + policy_version: optionalString(value.policy_version), policy_profile: optionalString(value.policy_profile), + policy_rule_pack: optionalString(value.policy_rule_pack), policy_rule_id: optionalString(value.policy_rule_id), policy_rule_category: optionalString(value.policy_rule_category), + policy_signals: stringList(value.policy_signals), judge_runtime: optionalString(value.judge_runtime), judge_model: optionalString(value.judge_model), + judge_duration_ms: optionalNumber(value.judge_duration_ms), judge_failure_kind: optionalString(value.judge_failure_kind), judge_risk_level: optionalString(value.judge_risk_level), judge_categories: stringList(value.judge_categories), @@ -131,6 +135,7 @@ function parseEvent(value: unknown): Event | undefined { decision: parsedDecision, reason: optionalString(value.reason), reason_code: optionalString(value.reason_code), + created_at: optionalString(value.created_at), risk_event: parseRiskEvent(value.risk_event), }; } diff --git a/web/guard-dashboard/src/dashboard/helpers.ts b/web/guard-dashboard/src/dashboard/helpers.ts index b08bec9..7b6a949 100644 --- a/web/guard-dashboard/src/dashboard/helpers.ts +++ b/web/guard-dashboard/src/dashboard/helpers.ts @@ -62,7 +62,7 @@ export function humanReason(e: Event): string { if (e.risk_event?.decision_stage === "judge_fail_open") { return "Local judge was unavailable, so Guard allowed by fail-open policy."; } - return e.reason || e.reason_code || "No explanation captured."; + return e.reason || (e.reason_code ? humanize(e.reason_code) : "No explanation captured."); } export function technicalExplanation(e: Event): string { @@ -71,10 +71,10 @@ export function technicalExplanation(e: Event): string { return "Not a live gate. Recorded after execution for local session history."; } if (r.decision_stage === "judge_allow") { - return `Deterministic policy allowed this action, then the local judge allowed it${r.judge_model ? ` using ${r.judge_model}` : ""}.`; + return "Deterministic policy allowed this action, then the local judge allowed it."; } if (r.decision_stage === "judge_deny") { - return `Deterministic policy allowed this action, then the local judge denied it${r.judge_model ? ` using ${r.judge_model}` : ""}.`; + return "Deterministic policy allowed this action, then the local judge denied it."; } if (r.decision_stage === "judge_fail_open") { return `Deterministic policy allowed this action, but the local judge failed${r.judge_failure_kind ? ` with ${humanize(r.judge_failure_kind)}` : ""}.`; @@ -115,6 +115,16 @@ export function relativeTime(value?: string): string { return `${Math.floor(h / 24)}d ago`; } +export function dateTime(value?: string): string { + if (!value) return ""; + const ts = Date.parse(value); + if (Number.isNaN(ts)) return ""; + return new Intl.DateTimeFormat(undefined, { + dateStyle: "medium", + timeStyle: "medium", + }).format(ts); +} + export function decisionLabel(decision: Event["decision"]): string { if (decision === "deny") return "Would deny"; if (decision === "ask") return "Would ask"; diff --git a/web/guard-dashboard/src/dashboard/sample-data.ts b/web/guard-dashboard/src/dashboard/sample-data.ts index 12004b3..de82a9d 100644 --- a/web/guard-dashboard/src/dashboard/sample-data.ts +++ b/web/guard-dashboard/src/dashboard/sample-data.ts @@ -22,6 +22,7 @@ export const SAMPLE_EVENTS: Event[] = [ decision: "deny", reason_code: "production_mutation", reason: "Production mutation blocked by deterministic policy.", + created_at: new Date(Date.now() - 7 * 60 * 1000).toISOString(), risk_event: { type: "provider_operation", operation: "delete", @@ -31,7 +32,12 @@ export const SAMPLE_EVENTS: Event[] = [ signals: ["production", "mutation", "persistent_resource"], guard_id: "guard.production_mutation.v1", decision_stage: "deterministic_deny", + policy_version: "guard-policy-v1", + policy_profile: "balanced", + policy_rule_pack: "guard-default", policy_rule_id: "guard.production_mutation.v1", + policy_rule_category: "production_mutation", + policy_signals: ["production", "mutation"], }, }, { @@ -41,6 +47,7 @@ export const SAMPLE_EVENTS: Event[] = [ decision: "deny", reason_code: "credential_access_without_intent", reason: "Credential access blocked by deterministic policy.", + created_at: new Date(Date.now() - 6 * 60 * 1000).toISOString(), risk_event: { type: "credential_access", operation: "read", @@ -50,7 +57,12 @@ export const SAMPLE_EVENTS: Event[] = [ signals: ["credential_path", "credential_observed"], guard_id: "guard.credential_access.v1", decision_stage: "deterministic_deny", + policy_version: "guard-policy-v1", + policy_profile: "balanced", + policy_rule_pack: "guard-default", policy_rule_id: "guard.credential_access.v1", + policy_rule_category: "credential_access", + policy_signals: ["credential_file_path"], }, }, { @@ -60,6 +72,7 @@ export const SAMPLE_EVENTS: Event[] = [ decision: "deny", reason_code: "judge_deny", reason: "Local judge denied a risky staging admin mutation.", + created_at: new Date(Date.now() - 5 * 60 * 1000).toISOString(), risk_event: { type: "normal_tool_call", operation: "network_write", @@ -68,7 +81,10 @@ export const SAMPLE_EVENTS: Event[] = [ command_summary: "curl -X POST $PAYMENTS_ADMIN_URL/reindex", signals: ["network_call", "admin_endpoint"], decision_stage: "judge_deny", - judge_model: "Qwen/Qwen3-0.6B-GGUF", + policy_version: "guard-policy-v1", + policy_profile: "balanced", + policy_rule_pack: "guard-default", + judge_duration_ms: 284, judge_risk_level: "high", judge_categories: ["admin_mutation"], }, @@ -77,9 +93,10 @@ export const SAMPLE_EVENTS: Event[] = [ id: "evt-private-key-decrypt-001", session_id: SAMPLE_SESSION_ID, tool_name: "Bash", - decision: "ask", + decision: "deny", reason_code: "unknown_high_risk_command", - reason: "Unknown high-risk command needs review.", + reason: "Unknown high-risk command blocked by deterministic policy.", + created_at: new Date(Date.now() - 4 * 60 * 1000).toISOString(), risk_event: { type: "unknown", operation: "shell", @@ -89,7 +106,12 @@ export const SAMPLE_EVENTS: Event[] = [ signals: ["unknown_high_risk", "credential_observed"], guard_id: "guard.unknown_high_risk.v1", decision_stage: "deterministic_deny", + policy_version: "guard-policy-v1", + policy_profile: "balanced", + policy_rule_pack: "guard-default", policy_rule_id: "guard.unknown_high_risk.v1", + policy_rule_category: "unknown_high_risk", + policy_signals: ["unknown_high_risk", "credential_observed"], }, }, { @@ -99,6 +121,7 @@ export const SAMPLE_EVENTS: Event[] = [ decision: "allow", reason_code: "async_telemetry", reason: "Recorded after execution.", + created_at: new Date(Date.now() - 3 * 60 * 1000).toISOString(), risk_event: { type: "normal_tool_call", operation: "read", @@ -116,6 +139,7 @@ export const SAMPLE_EVENTS: Event[] = [ decision: "allow", reason_code: "async_telemetry", reason: "Recorded after execution.", + created_at: new Date(Date.now() - 2 * 60 * 1000).toISOString(), risk_event: { type: "normal_tool_call", operation: "write", @@ -134,6 +158,7 @@ export const SAMPLE_EVENTS: Event[] = [ decision: "allow", reason_code: "async_telemetry", reason: "Recorded after execution.", + created_at: new Date(Date.now() - 1 * 60 * 1000).toISOString(), risk_event: { type: "normal_tool_call", operation: "test", diff --git a/web/guard-dashboard/src/dashboard/types.ts b/web/guard-dashboard/src/dashboard/types.ts index b7ad89c..513974d 100644 --- a/web/guard-dashboard/src/dashboard/types.ts +++ b/web/guard-dashboard/src/dashboard/types.ts @@ -25,11 +25,15 @@ export type RiskEvent = { signals?: string[]; guard_id?: string; confidence?: number; + policy_version?: string; policy_profile?: string; + policy_rule_pack?: string; policy_rule_id?: string; policy_rule_category?: string; + policy_signals?: string[]; judge_runtime?: string; judge_model?: string; + judge_duration_ms?: number; judge_failure_kind?: string; judge_risk_level?: string; judge_categories?: string[]; @@ -42,6 +46,7 @@ export type Event = { decision: Decision; reason?: string; reason_code?: string; + created_at?: string; risk_event?: RiskEvent; };