@tasks-timeline/components 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.cjs
CHANGED
|
@@ -57,7 +57,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
57
57
|
`)},lW=function(){var e=parseInt(document.body.getAttribute(T2)||"0",10);return isFinite(e)?e:0},kne=function(){se.useEffect(function(){return document.body.setAttribute(T2,(lW()+1).toString()),function(){var e=lW()-1;e<=0?document.body.removeAttribute(T2):document.body.setAttribute(T2,e.toString())}},[])},bne=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?"margin":r;kne();var l=se.useMemo(function(){return gne(a)},[a]);return se.createElement(mne,{styles:vne(l,!t,a,n?"":"!important")})},KD=!1;if(typeof window<"u")try{var qR=Object.defineProperty({},"passive",{get:function(){return KD=!0,!0}});window.addEventListener("test",qR,qR),window.removeEventListener("test",qR,qR)}catch{KD=!1}var L2=KD?{passive:!1}:!1,xne=function(e){return e.tagName==="TEXTAREA"},cW=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!xne(e)&&n[t]==="visible")},wne=function(e){return cW(e,"overflowY")},Mne=function(e){return cW(e,"overflowX")},dW=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var a=uW(e,r);if(a){var l=hW(e,r),u=l[1],p=l[2];if(u>p)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Cne=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Sne=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},uW=function(e,t){return e==="v"?wne(t):Mne(t)},hW=function(e,t){return e==="v"?Cne(t):Sne(t)},Tne=function(e,t){return e==="h"&&t==="rtl"?-1:1},Lne=function(e,t,n,r,a){var l=Tne(e,window.getComputedStyle(t).direction),u=l*r,p=n.target,k=t.contains(p),w=!1,S=u>0,M=0,I=0;do{if(!p)break;var N=hW(e,p),D=N[0],O=N[1],V=N[2],W=O-V-l*D;(D||W)&&uW(e,p)&&(M+=W,I+=D);var J=p.parentNode;p=J&&J.nodeType===Node.DOCUMENT_FRAGMENT_NODE?J.host:J}while(!k&&p!==document.body||k&&(t.contains(p)||t===p));return(S&&Math.abs(M)<1||!S&&Math.abs(I)<1)&&(w=!0),w},$R=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},fW=function(e){return[e.deltaX,e.deltaY]},yW=function(e){return e&&"current"in e?e.current:e},Ine=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Ane=function(e){return`
|
|
58
58
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
59
59
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
60
|
-
`)},Ene=0,I2=[];function Pne(e){var t=se.useRef([]),n=se.useRef([0,0]),r=se.useRef(),a=se.useState(Ene++)[0],l=se.useState(sW)[0],u=se.useRef(e);se.useEffect(function(){u.current=e},[e]),se.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var O=Qe([e.lockRef.current],(e.shards||[]).map(yW),!0).filter(Boolean);return O.forEach(function(V){return V.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),O.forEach(function(V){return V.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var p=se.useCallback(function(O,V){if("touches"in O&&O.touches.length===2||O.type==="wheel"&&O.ctrlKey)return!u.current.allowPinchZoom;var W=$R(O),J=n.current,Z="deltaX"in O?O.deltaX:J[0]-W[0],te="deltaY"in O?O.deltaY:J[1]-W[1],K,oe=O.target,be=Math.abs(Z)>Math.abs(te)?"h":"v";if("touches"in O&&be==="h"&&oe.type==="range")return!1;var he=window.getSelection(),Le=he&&he.anchorNode,He=Le?Le===oe||Le.contains(oe):!1;if(He)return!1;var lt=dW(be,oe);if(!lt)return!0;if(lt?K=be:(K=be==="v"?"h":"v",lt=dW(be,oe)),!lt)return!1;if(!r.current&&"changedTouches"in O&&(Z||te)&&(r.current=K),!K)return!0;var gt=r.current||K;return Lne(gt,V,O,gt==="h"?Z:te)},[]),k=se.useCallback(function(O){var V=O;if(!(!I2.length||I2[I2.length-1]!==l)){var W="deltaY"in V?fW(V):$R(V),J=t.current.filter(function(K){return K.name===V.type&&(K.target===V.target||V.target===K.shadowParent)&&Ine(K.delta,W)})[0];if(J&&J.should){V.cancelable&&V.preventDefault();return}if(!J){var Z=(u.current.shards||[]).map(yW).filter(Boolean).filter(function(K){return K.contains(V.target)}),te=Z.length>0?p(V,Z[0]):!u.current.noIsolation;te&&V.cancelable&&V.preventDefault()}}},[]),w=se.useCallback(function(O,V,W,J){var Z={name:O,delta:V,target:W,should:J,shadowParent:Rne(W)};t.current.push(Z),setTimeout(function(){t.current=t.current.filter(function(te){return te!==Z})},1)},[]),S=se.useCallback(function(O){n.current=$R(O),r.current=void 0},[]),M=se.useCallback(function(O){w(O.type,fW(O),O.target,p(O,e.lockRef.current))},[]),I=se.useCallback(function(O){w(O.type,$R(O),O.target,p(O,e.lockRef.current))},[]);se.useEffect(function(){return I2.push(l),e.setCallbacks({onScrollCapture:M,onWheelCapture:M,onTouchMoveCapture:I}),document.addEventListener("wheel",k,L2),document.addEventListener("touchmove",k,L2),document.addEventListener("touchstart",S,L2),function(){I2=I2.filter(function(O){return O!==l}),document.removeEventListener("wheel",k,L2),document.removeEventListener("touchmove",k,L2),document.removeEventListener("touchstart",S,L2)}},[]);var N=e.removeScrollBar,D=e.inert;return se.createElement(se.Fragment,null,D?se.createElement(l,{styles:Ane(a)}):null,N?se.createElement(bne,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Rne(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Fne=sne(iW,Pne);var pW=se.forwardRef(function(e,t){return se.createElement(QR,Aa({},e,{ref:t,sideCar:Fne}))});pW.classNames=QR.classNames;var eF="Popover",[gW]=ID(eF,[Z_]),If=Z_(),[One,Nh]=gW(eF),mW=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:l,modal:u=!1}=e,p=If(t),k=se.useRef(null),[w,S]=se.useState(!1),[M,I]=nW({prop:r,defaultProp:a??!1,onChange:l,caller:eF});return b.jsx(Bte,{...p,children:b.jsx(One,{scope:t,contentId:b_(),triggerRef:k,open:M,onOpenChange:I,onOpenToggle:se.useCallback(()=>I(N=>!N),[I]),hasCustomAnchor:w,onCustomAnchorAdd:se.useCallback(()=>S(!0),[]),onCustomAnchorRemove:se.useCallback(()=>S(!1),[]),modal:u,children:n})})};mW.displayName=eF;var vW="PopoverAnchor",Dne=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=Nh(vW,n),l=If(n),{onCustomAnchorAdd:u,onCustomAnchorRemove:p}=a;return se.useEffect(()=>(u(),()=>p()),[u,p]),b.jsx(eW,{...l,...r,ref:t})});Dne.displayName=vW;var kW="PopoverTrigger",bW=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=Nh(kW,n),l=If(n),u=Vu(t,a.triggerRef),p=b.jsx(ac.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":TW(a.open),...r,ref:u,onClick:Bu(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?p:b.jsx(eW,{asChild:!0,...l,children:p})});bW.displayName=kW;var QD="PopoverPortal",[Nne,zne]=gW(QD,{forceMount:void 0}),xW=e=>{const{__scopePopover:t,forceMount:n,children:r,container:a}=e,l=Nh(QD,t);return b.jsx(Nne,{scope:t,forceMount:n,children:b.jsx(ZR,{present:n||l.open,children:b.jsx(tW,{asChild:!0,container:a,children:r})})})};xW.displayName=QD;var A2="PopoverContent",wW=se.forwardRef((e,t)=>{const n=zne(A2,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,l=Nh(A2,e.__scopePopover);return b.jsx(ZR,{present:r||l.open,children:l.modal?b.jsx(Bne,{...a,ref:t}):b.jsx(Vne,{...a,ref:t})})});wW.displayName=A2;var Hne=s_("PopoverContent.RemoveScroll"),Bne=se.forwardRef((e,t)=>{const n=Nh(A2,e.__scopePopover),r=se.useRef(null),a=Vu(t,r),l=se.useRef(!1);return se.useEffect(()=>{const u=r.current;if(u)return qte(u)},[]),b.jsx(pW,{as:Hne,allowPinchZoom:!0,children:b.jsx(MW,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Bu(e.onCloseAutoFocus,u=>{u.preventDefault(),l.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Bu(e.onPointerDownOutside,u=>{const p=u.detail.originalEvent,k=p.button===0&&p.ctrlKey===!0,w=p.button===2||k;l.current=w},{checkForDefaultPrevented:!1}),onFocusOutside:Bu(e.onFocusOutside,u=>u.preventDefault(),{checkForDefaultPrevented:!1})})})}),Vne=se.forwardRef((e,t)=>{const n=Nh(A2,e.__scopePopover),r=se.useRef(!1),a=se.useRef(!1);return b.jsx(MW,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(r.current||n.triggerRef.current?.focus(),l.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(r.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const u=l.target;n.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),MW=se.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:k,onFocusOutside:w,onInteractOutside:S,...M}=e,I=Nh(A2,n),N=If(n);return cee(),b.jsx(p_,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:l,children:b.jsx(d_,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:S,onEscapeKeyDown:p,onPointerDownOutside:k,onFocusOutside:w,onDismiss:()=>I.onOpenChange(!1),children:b.jsx(Vte,{"data-state":TW(I.open),role:"dialog",id:I.contentId,...N,...M,ref:t,style:{...M.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),CW="PopoverClose",SW=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=Nh(CW,n);return b.jsx(ac.button,{type:"button",...r,ref:t,onClick:Bu(e.onClick,()=>a.onOpenChange(!1))})});SW.displayName=CW;var Une="PopoverArrow",_ne=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=If(n);return b.jsx(Ute,{...a,...r,ref:t})});_ne.displayName=Une;function TW(e){return e?"open":"closed"}var Wne=mW,Yne=bW,Zne=xW,LW=wW,Gne=SW;const IW=fe.createContext({portalContainer:null}),AW=()=>fe.useContext(IW).portalContainer,zh=Wne,Hh=Yne,L0=Gne,Yu=se.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},a)=>{const l=AW();return b.jsx(Zne,{container:l,children:b.jsx(LW,{ref:a,align:t,sideOffset:n,"data-slot":"popover-content",className:Xe("z-50 w-72 rounded-lg border bg-popover p-4 text-popover-foreground shadow-lg 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-popover-content-transform-origin]",e),...r})})});Yu.displayName=LW.displayName;const EW=6048e5,jne=864e5,PW=Symbol.for("constructDateFrom");function pl(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&PW in e?e[PW](t):e instanceof Date?new e.constructor(t):new Date(t)}function Zi(e,t){return pl(t||e,e)}function RW(e,t,n){const r=Zi(e,n?.in);if(isNaN(t))return pl(e,NaN);if(!t)return r;const a=r.getDate(),l=pl(e,r.getTime());l.setMonth(r.getMonth()+t+1,0);const u=l.getDate();return a>=u?l:(r.setFullYear(l.getFullYear(),l.getMonth(),a),r)}let Xne={};function Af(){return Xne}function E2(e,t){const n=Af(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Zi(e,t?.in),l=a.getDay(),u=(l<r?7:0)+l-r;return a.setDate(a.getDate()-u),a.setHours(0,0,0,0),a}function tF(e,t){return E2(e,{...t,weekStartsOn:1})}function FW(e,t){const n=Zi(e,t?.in),r=n.getFullYear(),a=pl(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const l=tF(a),u=pl(n,0);u.setFullYear(r,0,4),u.setHours(0,0,0,0);const p=tF(u);return n.getTime()>=l.getTime()?r+1:n.getTime()>=p.getTime()?r:r-1}function OW(e){const t=Zi(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function nF(e,...t){const n=pl.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function rF(e,t){const n=Zi(e,t?.in);return n.setHours(0,0,0,0),n}function Jne(e,t,n){const[r,a]=nF(n?.in,e,t),l=rF(r),u=rF(a),p=+l-OW(l),k=+u-OW(u);return Math.round((p-k)/jne)}function Kne(e,t){const n=FW(e,t),r=pl(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),tF(r)}function Qne(e){return pl(e,Date.now())}function DW(e,t,n){const[r,a]=nF(n?.in,e,t);return+rF(r)==+rF(a)}function qne(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function $ne(e){return!(!qne(e)&&typeof e!="number"||isNaN(+Zi(e)))}function ere(e,t){const n=Zi(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function tre(e,t){const[n,r]=nF(e,t.start,t.end);return{start:n,end:r}}function nre(e,t){const{start:n,end:r}=tre(t?.in,e);let a=+n>+r;const l=a?+n:+r,u=a?r:n;u.setHours(0,0,0,0);let p=1;const k=[];for(;+u<=l;)k.push(pl(n,u)),u.setDate(u.getDate()+p),u.setHours(0,0,0,0);return a?k.reverse():k}function aF(e,t){const n=Zi(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function rre(e,t){const n=Zi(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function are(e,t){const n=Af(),r=n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Zi(e,t?.in),l=a.getDay(),u=(l<r?-7:0)+6-(l-r);return a.setDate(a.getDate()+u),a.setHours(23,59,59,999),a}const ore={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ire=(e,t,n)=>{let r;const a=ore[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function qD(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const sre={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},lre={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},cre={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},dre={date:qD({formats:sre,defaultWidth:"full"}),time:qD({formats:lre,defaultWidth:"full"}),dateTime:qD({formats:cre,defaultWidth:"full"})},ure={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},hre=(e,t,n,r)=>ure[e];function Ef(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const u=e.defaultFormattingWidth||e.defaultWidth,p=n?.width?String(n.width):u;a=e.formattingValues[p]||e.formattingValues[u]}else{const u=e.defaultWidth,p=n?.width?String(n.width):e.defaultWidth;a=e.values[p]||e.values[u]}const l=e.argumentCallback?e.argumentCallback(t):t;return a[l]}}const fre={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},yre={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},pre={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},gre={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},mre={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},vre={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},kre={ordinalNumber:(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:Ef({values:fre,defaultWidth:"wide"}),quarter:Ef({values:yre,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Ef({values:pre,defaultWidth:"wide"}),day:Ef({values:gre,defaultWidth:"wide"}),dayPeriod:Ef({values:mre,defaultWidth:"wide",formattingValues:vre,defaultFormattingWidth:"wide"})};function Pf(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],l=t.match(a);if(!l)return null;const u=l[0],p=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],k=Array.isArray(p)?xre(p,M=>M.test(u)):bre(p,M=>M.test(u));let w;w=e.valueCallback?e.valueCallback(k):k,w=n.valueCallback?n.valueCallback(w):w;const S=t.slice(u.length);return{value:w,rest:S}}}function bre(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function xre(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function wre(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],l=t.match(e.parsePattern);if(!l)return null;let u=e.valueCallback?e.valueCallback(l[0]):l[0];u=n.valueCallback?n.valueCallback(u):u;const p=t.slice(a.length);return{value:u,rest:p}}}const Mre=/^(\d+)(th|st|nd|rd)?/i,Cre=/\d+/i,Sre={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Tre={any:[/^b/i,/^(a|c)/i]},Lre={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ire={any:[/1/i,/2/i,/3/i,/4/i]},Are={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ere={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Pre={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Rre={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Fre={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ore={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Dre={ordinalNumber:wre({matchPattern:Mre,parsePattern:Cre,valueCallback:e=>parseInt(e,10)}),era:Pf({matchPatterns:Sre,defaultMatchWidth:"wide",parsePatterns:Tre,defaultParseWidth:"any"}),quarter:Pf({matchPatterns:Lre,defaultMatchWidth:"wide",parsePatterns:Ire,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Pf({matchPatterns:Are,defaultMatchWidth:"wide",parsePatterns:Ere,defaultParseWidth:"any"}),day:Pf({matchPatterns:Pre,defaultMatchWidth:"wide",parsePatterns:Rre,defaultParseWidth:"any"}),dayPeriod:Pf({matchPatterns:Fre,defaultMatchWidth:"any",parsePatterns:Ore,defaultParseWidth:"any"})},Nre={code:"en-US",formatDistance:ire,formatLong:dre,formatRelative:hre,localize:kre,match:Dre,options:{weekStartsOn:0,firstWeekContainsDate:1}};function zre(e,t){const n=Zi(e,t?.in);return Jne(n,rre(n))+1}function Hre(e,t){const n=Zi(e,t?.in),r=+tF(n)-+Kne(n);return Math.round(r/EW)+1}function NW(e,t){const n=Zi(e,t?.in),r=n.getFullYear(),a=Af(),l=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,u=pl(t?.in||e,0);u.setFullYear(r+1,0,l),u.setHours(0,0,0,0);const p=E2(u,t),k=pl(t?.in||e,0);k.setFullYear(r,0,l),k.setHours(0,0,0,0);const w=E2(k,t);return+n>=+p?r+1:+n>=+w?r:r-1}function Bre(e,t){const n=Af(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=NW(e,t),l=pl(t?.in||e,0);return l.setFullYear(a,0,r),l.setHours(0,0,0,0),E2(l,t)}function Vre(e,t){const n=Zi(e,t?.in),r=+E2(n,t)-+Bre(n,t);return Math.round(r/EW)+1}function Qn(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Bh={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Qn(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Qn(n+1,2)},d(e,t){return Qn(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Qn(e.getHours()%12||12,t.length)},H(e,t){return Qn(e.getHours(),t.length)},m(e,t){return Qn(e.getMinutes(),t.length)},s(e,t){return Qn(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return Qn(a,t.length)}},P2={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},zW={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return Bh.y(e,t)},Y:function(e,t,n,r){const a=NW(e,r),l=a>0?a:1-a;if(t==="YY"){const u=l%100;return Qn(u,2)}return t==="Yo"?n.ordinalNumber(l,{unit:"year"}):Qn(l,t.length)},R:function(e,t){const n=FW(e);return Qn(n,t.length)},u:function(e,t){const n=e.getFullYear();return Qn(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Qn(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Qn(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Bh.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Qn(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=Vre(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):Qn(a,t.length)},I:function(e,t,n){const r=Hre(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):Qn(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Bh.d(e,t)},D:function(e,t,n){const r=zre(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Qn(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),l=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(l);case"ee":return Qn(l,2);case"eo":return n.ordinalNumber(l,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),l=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(l);case"cc":return Qn(l,t.length);case"co":return n.ordinalNumber(l,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return Qn(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=P2.noon:r===0?a=P2.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=P2.evening:r>=12?a=P2.afternoon:r>=4?a=P2.morning:a=P2.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Bh.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Bh.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Qn(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):Qn(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Bh.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Bh.s(e,t)},S:function(e,t){return Bh.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return BW(r);case"XXXX":case"XX":return I0(r);default:return I0(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return BW(r);case"xxxx":case"xx":return I0(r);default:return I0(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+HW(r,":");default:return"GMT"+I0(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+HW(r,":");default:return"GMT"+I0(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return Qn(r,t.length)},T:function(e,t,n){return Qn(+e,t.length)}};function HW(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),l=r%60;return l===0?n+String(a):n+String(a)+t+Qn(l,2)}function BW(e,t){return e%60===0?(e>0?"-":"+")+Qn(Math.abs(e)/60,2):I0(e,t)}function I0(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Qn(Math.trunc(r/60),2),l=Qn(r%60,2);return n+a+t+l}const VW=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},UW=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ure={p:UW,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return VW(e,t);let l;switch(r){case"P":l=t.dateTime({width:"short"});break;case"PP":l=t.dateTime({width:"medium"});break;case"PPP":l=t.dateTime({width:"long"});break;default:l=t.dateTime({width:"full"});break}return l.replace("{{date}}",VW(r,t)).replace("{{time}}",UW(a,t))}},_re=/^D+$/,Wre=/^Y+$/,Yre=["D","DD","YY","YYYY"];function Zre(e){return _re.test(e)}function Gre(e){return Wre.test(e)}function jre(e,t,n){const r=Xre(e,t,n);if(console.warn(r),Yre.includes(e))throw new RangeError(r)}function Xre(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Jre=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Kre=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Qre=/^'([^]*?)'?$/,qre=/''/g,$re=/[a-zA-Z]/;function _W(e,t,n){const r=Af(),a=r.locale??Nre,l=r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,u=r.weekStartsOn??r.locale?.options?.weekStartsOn??0,p=Zi(e,n?.in);if(!$ne(p))throw new RangeError("Invalid time value");let k=t.match(Kre).map(S=>{const M=S[0];if(M==="p"||M==="P"){const I=Ure[M];return I(S,a.formatLong)}return S}).join("").match(Jre).map(S=>{if(S==="''")return{isToken:!1,value:"'"};const M=S[0];if(M==="'")return{isToken:!1,value:eae(S)};if(zW[M])return{isToken:!0,value:S};if(M.match($re))throw new RangeError("Format string contains an unescaped latin alphabet character `"+M+"`");return{isToken:!1,value:S}});a.localize.preprocessor&&(k=a.localize.preprocessor(p,k));const w={firstWeekContainsDate:l,weekStartsOn:u,locale:a};return k.map(S=>{if(!S.isToken)return S.value;const M=S.value;(Gre(M)||Zre(M))&&jre(M,t,String(e));const I=zW[M[0]];return I(p,M,a.localize,w)}).join("")}function eae(e){const t=e.match(Qre);return t?t[1].replace(qre,"'"):e}function tae(e,t,n){const[r,a]=nF(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function nae(e,t){return DW(pl(e,e),Qne(e))}function rae(e,t,n){return RW(e,-1,n)}var aae=Symbol.for("react.lazy"),oF=se[" use ".trim().toString()];function oae(e){return typeof e=="object"&&e!==null&&"then"in e}function WW(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===aae&&"_payload"in e&&oae(e._payload)}function iae(e){const t=lae(e),n=se.forwardRef((r,a)=>{let{children:l,...u}=r;WW(l)&&typeof oF=="function"&&(l=oF(l._payload));const p=se.Children.toArray(l),k=p.find(dae);if(k){const w=k.props.children,S=p.map(M=>M===k?se.Children.count(w)>1?se.Children.only(null):se.isValidElement(w)?w.props.children:null:M);return b.jsx(t,{...u,ref:a,children:se.isValidElement(w)?se.cloneElement(w,void 0,S):null})}return b.jsx(t,{...u,ref:a,children:l})});return n.displayName=`${e}.Slot`,n}var sae=iae("Slot");function lae(e){const t=se.forwardRef((n,r)=>{let{children:a,...l}=n;if(WW(a)&&typeof oF=="function"&&(a=oF(a._payload)),se.isValidElement(a)){const u=hae(a),p=uae(l,a.props);return a.type!==se.Fragment&&(p.ref=r?LD(r,u):u),se.cloneElement(a,p)}return se.Children.count(a)>1?se.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var cae=Symbol("radix.slottable");function dae(e){return se.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cae}function uae(e,t){const n={...t};for(const r in t){const a=e[r],l=t[r];/^on[A-Z]/.test(r)?a&&l?n[r]=(...p)=>{const k=l(...p);return a(...p),k}:a&&(n[r]=a):r==="style"?n[r]={...a,...l}:r==="className"&&(n[r]=[a,l].filter(Boolean).join(" "))}return{...e,...n}}function hae(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}const YW=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ZW=yU,fae=((e,t)=>n=>{var r;if(t?.variants==null)return ZW(e,n?.class,n?.className);const{variants:a,defaultVariants:l}=t,u=Object.keys(a).map(w=>{const S=n?.[w],M=l?.[w];if(S===null)return null;const I=YW(S)||YW(M);return a[w][I]}),p=n&&Object.entries(n).reduce((w,S)=>{let[M,I]=S;return I===void 0||(w[M]=I),w},{}),k=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((w,S)=>{let{class:M,className:I,...N}=S;return Object.entries(N).every(D=>{let[O,V]=D;return Array.isArray(V)?V.includes({...l,...p}[O]):{...l,...p}[O]===V})?[...w,M,I]:w},[]);return ZW(e,u,k,n?.class,n?.className)})("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Rf=se.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...a},l)=>{const u=r?sae:"button";return b.jsx(u,{className:Xe(fae({variant:t,size:n,className:e})),ref:l,...a})});Rf.displayName="Button";function GW({className:e,selected:t,onSelect:n,disabled:r}){const[a,l]=se.useState(()=>aF(t||new Date)),u=["Su","Mo","Tu","We","Th","Fr","Sa"],p=aF(a),k=ere(a),w=E2(p),S=are(k),M=nre({start:w,end:S}),I=()=>{l(rae(a))},N=()=>{l(RW(a,1))},D=O=>{r?.(O)||n?.(O)};return b.jsxs("div",{"data-slot":"calendar",className:Xe("bg-popover p-3 w-[280px] select-none",e),children:[b.jsxs("div",{className:"flex items-center justify-between mb-3",children:[b.jsx(Rf,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-accent rounded-full",onClick:I,type:"button",children:b.jsx(bf,{className:"h-4 w-4"})}),b.jsx("span",{className:"text-sm font-semibold text-foreground",children:_W(a,"MMMM yyyy")}),b.jsx(Rf,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-accent rounded-full",onClick:N,type:"button",children:b.jsx(xf,{className:"h-4 w-4"})})]}),b.jsx("div",{className:"grid grid-cols-7 mb-2",children:u.map(O=>b.jsx("div",{className:"h-8 flex items-center justify-center text-xs font-medium text-muted-foreground",children:O},O))}),b.jsx("div",{className:"grid grid-cols-7 gap-0.5",children:M.map((O,V)=>{const W=tae(O,a),J=t&&DW(O,t),Z=nae(O),te=r?.(O);return b.jsx("button",{type:"button",onClick:()=>D(O),disabled:te,className:Xe("h-8 w-8 mx-auto rounded-full text-sm font-normal transition-all duration-150","hover:bg-accent hover:text-accent-foreground","focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1","active:scale-95",!W&&"text-muted-foreground/40",Z&&!J&&"bg-accent text-accent-foreground font-semibold ring-1 ring-primary/30",J&&"bg-primary text-primary-foreground font-semibold shadow-sm hover:bg-primary/90 hover:text-primary-foreground",te&&"pointer-events-none opacity-30"),children:_W(O,"d")},V)})}),b.jsx("div",{className:"mt-3 pt-3 border-t border-border",children:b.jsx(Rf,{variant:"ghost",size:"sm",type:"button",className:"w-full text-xs font-medium text-muted-foreground hover:text-foreground",onClick:()=>{const O=new Date;l(aF(O)),n?.(O)},children:"Today"})})]})}const iF=({type:e,date:t,label:n,icon:r,className:a,prefix:l="",onUpdate:u,task:p})=>{const[k,w]=fe.useState(()=>{if(!t)return;const J=ht.fromISO(t);return J.isValid?J.toJSDate():void 0}),[S,M]=fe.useState(()=>{if(!t)return"00:00";const J=ht.fromISO(t);return J.isValid?J.toFormat("HH:mm"):"00:00"}),I=e==="startAt"||e==="createdAt"||e==="completedAt",N=e.endsWith("At")?e.slice(0,e.length-2).toUpperCase():"",D=J=>{w(J)},O=J=>{M(J.target.value)},V=()=>{let J="";if(k){let te=ht.fromJSDate(k);if(I&&S){const[K,oe]=S.split(":").map(Number);te=te.set({hour:K,minute:oe})}J=I?te.toISO()||"":te.toISODate()||""}u({...p,[e==="dueDate"?"dueAt":e]:J})},W={dueDate:"Change Due Date",startAt:"Change Start Date",createdAt:"Change Created Date",completedAt:"Change Completed Date"};return b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:a,title:W[e],children:[b.jsx(We,{name:r,size:10,className:"shrink-0"}),b.jsxs("span",{className:"font-mono truncate",children:[l,n]})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:4,className:"z-9999 outline-none w-auto p-0",children:b.jsxs(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},children:[b.jsx(GW,{mode:"single",selected:k,onSelect:D}),I&&b.jsxs("div",{className:"border-t border-border px-3 py-2",children:[b.jsx("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Time"}),b.jsx("input",{type:"time",value:S,onChange:O,className:Xe("w-full px-3 py-2 bg-background border border-input rounded-md text-sm","focus:ring-2 focus:ring-ring focus:border-ring outline-none")})]}),b.jsx("div",{className:"border-t border-border p-2",children:b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:V,className:Xe("w-full text-primary text-xs font-semibold py-2 rounded-md","hover:bg-accent transition-colors"),children:["Save ",N," date"]})})})]})})]})},yae=({tag:e,badgeClass:t,task:n,onUpdate:r})=>b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:Xe(t,"text-blue-600 bg-blue-50/80 border-blue-100/50 hover:bg-rose-50 hover:text-rose-600 hover:border-rose-100 transition-colors"),title:"Click to remove",children:[b.jsx(We,{name:"Tag",size:10,className:"shrink-0"}),b.jsx("span",{className:"truncate",children:e.name})]})}),b.jsx(Yu,{side:"top",align:"center",sideOffset:4,className:"z-9999 outline-none w-auto p-0",children:b.jsx(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"p-1",children:b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:()=>r({...n,tags:n.tags.filter(a=>a.id!==e.id)}),className:"flex items-center gap-1.5 text-xs text-rose-600! px-2 py-1 rounded hover:bg-rose-50",children:[b.jsx(We,{name:"Trash",size:12}),"Remove Tag"]})})})})]}),pae=({task:e,badgeClass:t,onUpdate:n})=>{const r=e.priority;let a="text-slate-600 bg-slate-100 border-slate-200";return r==="high"&&(a="text-rose-700 bg-rose-100 border-rose-200"),r==="medium"&&(a="text-amber-700 bg-amber-100 border-amber-200"),b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:Xe(t,a),title:"Change Priority",children:[b.jsx(We,{name:"Flag",size:10,strokeWidth:r==="high"?3:2}),b.jsx("span",{className:"capitalize",children:r})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:4,className:"z-9999 outline-none w-auto p-1",children:b.jsx(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"flex flex-col gap-1",children:["high","medium","low"].map(l=>b.jsx(L0,{asChild:!0,children:b.jsx("button",{onClick:()=>n({...e,priority:l}),children:b.jsxs("div",{className:Xe("flex items-center gap-2 px-2 py-1.5 text-xs rounded-md text-left transition-colors justify-start! hover:bg-slate-300",e.priority===l?"bg-rose-300 font-bold":"hover:opacity-80 text-slate-600"),children:[b.jsx(We,{name:"Flag",size:10,className:l==="high"?"text-rose-500":l==="medium"?"text-amber-500":"text-slate-400"}),b.jsx("span",{className:"capitalize",children:l})]})})},l))})})]})},gae=({task:e,onUpdate:t,availableCategories:n,badgeClass:r})=>{const[a,l]=fe.useState(e.category||""),u=n.filter(p=>p.toLowerCase().includes(a.toLowerCase())&&p!==a).slice(0,5)||[];return b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:Xe(r,"text-slate-600 bg-slate-100 border-slate-200"),title:"Change Category",children:[b.jsx(We,{name:"Folder",size:10}),b.jsx("span",{children:e.category||"No Category"})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:4,className:"z-9999 outline-none w-48 p-2",children:b.jsxs(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},children:[b.jsx("input",{autoFocus:!0,value:a,onChange:p=>l(p.target.value),onKeyDown:p=>{p.key==="Enter"&&t({...e,category:a})},className:"w-full text-xs border border-slate-200 rounded px-2 py-1 mb-2 focus:ring-2 focus:ring-blue-500/20 outline-none",placeholder:"Category name..."}),b.jsxs("div",{className:"flex flex-col gap-0.5",children:[u.map(p=>b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:()=>t({...e,category:p}),className:"text-left px-2 py-1.5 text-xs text-slate-600 hover:opacity-80 rounded flex items-center gap-2 justify-start!",children:[b.jsx(We,{name:"Folder",size:10,className:"opacity-50"}),p]})},p)),b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:()=>t({...e,category:a}),className:"text-center px-2 py-1.5 text-xs text-blue-600! hover:opacity-80 rounded font-medium mt-1",children:['Set to "',a,'"']})})]})]})})]})},jW=fe.createContext(void 0);function sF(){const e=fe.useContext(jW);if(!e)throw new Error("useTasksContext must be used within TasksProvider");return e}function mae({children:e,value:t}){return b.jsx(jW.Provider,{value:t,children:e})}const XW=fe.createContext(void 0);function R2(){const e=fe.useContext(XW);if(!e)throw new Error("useSettingsContext must be used within SettingsProvider");return e}function vae({children:e,value:t}){return b.jsx(XW.Provider,{value:t,children:e})}const lF=e=>e?ht.fromISO(e).isValid:!1,$D=({task:e,dateValidation:t})=>{const{onUpdateTask:n,onDeleteTask:r,onEditTask:a,availableCategories:l,onItemClick:u,renderTitle:p}=sF(),{settings:k}=R2(),[w,S]=fe.useState(!1),[M,I]=fe.useState(e.title),[N,D]=fe.useState(!1),O=fe.useRef(null),V=fe.useRef(null),W=e.status==="done",J=e.status==="cancelled",Z=Ph(),te=!W&&!J&&e.priority==="high"&&(e.status==="overdue"||e.status==="due"||e.dueAt&&e.dueAt<=Z),K={sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl"}[k.fontSize]||"text-sm",oe={sm:"mt-0.5",base:"mt-0.5",lg:"mt-1",xl:"mt-1.5"}[k.fontSize]||"mt-0.5",be={sm:"text-[10px]",base:"text-[11px]",lg:"text-xs",xl:"text-sm"}[k.fontSize]||"text-[11px]";fe.useEffect(()=>{w&&V.current&&V.current.focus()},[w]);const he=pe=>{const Ee=ht.now().toISO(),Oe={status:pe};(pe==="doing"||pe==="scheduled")&&!e.startAt&&e.status==="todo"&&(Oe.startAt=Ee||void 0),pe==="done"&&!e.completedAt&&(Oe.completedAt=Ee||void 0),pe==="cancelled"&&!e.cancelledAt&&(Oe.cancelledAt=Ee||void 0),n({...e,...Oe})},Le=()=>{M.trim()?n({...e,title:M}):I(e.title),S(!1)},He=pe=>{pe.key==="Enter"&&Le(),pe.key==="Escape"&&(I(e.title),S(!1))},lt=()=>{N?(r(e.id),O.current&&window.clearTimeout(O.current)):(D(!0),O.current=window.setTimeout(()=>{D(!1)},2e3))},gt=(pe,Ee)=>Ee==="done"||Ee==="cancelled"?"text-emerald-600 bg-emerald-50 border-emerald-200":pe?Ee==="overdue"||pe<Z?"text-rose-600 bg-rose-50 border-rose-200":pe===Z?"text-amber-600 bg-amber-50 border-amber-200":"text-emerald-600 bg-emerald-50 border-emerald-200":"text-slate-400",Fe=pe=>{switch(pe){case"done":return"bg-emerald-500";case"doing":return"bg-sky-500";case"scheduled":return"bg-blue-500";case"due":return"bg-amber-500";case"overdue":return"bg-rose-500";case"cancelled":return"bg-slate-300";case"unplanned":return"bg-purple-500";default:return"bg-slate-200"}},qe=pe=>{switch(pe){case"done":return"CheckCircle2";case"doing":return"PlayCircle";case"scheduled":return"Clock";case"due":return"AlertCircle";case"overdue":return"AlertTriangle";case"cancelled":return"XCircle";case"unplanned":return"Zap";default:return"Circle"}},ze=pe=>{switch(pe){case"done":return"text-emerald-500";case"doing":return"text-sky-500";case"scheduled":return"text-blue-500";case"due":return"text-amber-500";case"overdue":return"text-rose-500";case"cancelled":return"text-slate-300";case"unplanned":return"text-purple-500";default:return"text-slate-300 group-hover:text-slate-400"}},ie=(pe,Ee=16)=>b.jsx(We,{name:qe(pe),size:Ee,className:ze(pe),strokeWidth:pe==="done"?2.5:2}),ve=["todo","doing","scheduled","done","unplanned","due","overdue","cancelled"],Ce=e.dueAt?o_(e.dueAt):null,Tt=e.startAt?o_(e.startAt):null,ee=Ce||Tt,_="flex items-center gap-1 min-[400px]:gap-1.5 px-1.5 min-[400px]:px-2 h-4.5 min-[400px]:h-5 rounded-full border font-medium leading-none cursor-pointer hover:bg-slate-50 transition-colors select-none text-[length:inherit]";return b.jsxs(So,{initial:{opacity:0,y:5},animate:{opacity:1,y:0},exit:{opacity:0,height:0},className:Xe("group relative flex items-stretch gap-1 min-[400px]:gap-1.5 sm:gap-2 pb-1.5 pt-0.5 px-0.5 sm:px-1 transition-all rounded-lg",(W||J)&&"opacity-60",te?"bg-rose-50/60 border border-rose-100 shadow-sm shadow-rose-100/50 hover:bg-rose-100/50":"hover:bg-slate-50 border border-transparent"),children:[b.jsxs("div",{className:Xe("relative flex flex-col items-center shrink-0","w-4 min-[400px]:w-5 sm:w-6",oe),children:[b.jsx("div",{className:Xe("absolute -top-1 h-6.5 w-px left-1/2 -translate-x-1/2 group-first:hidden","bg-slate-200")}),b.jsx("div",{className:Xe("absolute top-5 -bottom-1 w-px left-1/2 -translate-x-1/2 group-last:hidden",Fe(e.status))}),b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsx("button",{className:Xe("relative z-10 w-6 h-6 flex items-center justify-center transition-transform active:scale-90 outline-none focus:ring-2 focus:ring-slate-200 rounded-full",te?"bg-rose-50 hover:bg-rose-100 shadow-sm":"bg-white hover:bg-slate-50"),title:`Change Status (Current: ${e.status})`,children:ie(e.status,18)})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:5,collisionPadding:10,className:"z-9999 outline-none w-44 p-1.5",children:b.jsx(So,{initial:{opacity:0,scale:.9,y:-5},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:-5},transition:{duration:.15},children:b.jsxs("div",{className:"flex flex-col gap-0.5",children:[ve.map(pe=>b.jsx(L0,{asChild:!0,children:b.jsx("button",{onClick:()=>he(pe),children:b.jsxs("div",{className:Xe("w-full flex items-center gap-2.5 px-3 py-2 text-xs font-medium font-mono rounded-lg transition-all hover:bg-slate-300 text-left outline-none","justify-start! text-left!",e.status===pe?"bg-slate-200/60 text-slate-900 font-semibold":"text-slate-600 hover:text-slate-900 hover:opacity-80 active:scale-[0.98]"),children:[b.jsx("div",{className:Xe("shrink-0",e.status===pe?"opacity-100":"opacity-70"),children:ie(pe,14)}),b.jsx("span",{className:"capitalize",children:pe})]})})},pe)),b.jsx("div",{className:"h-px bg-slate-100 my-1 mx-1"}),b.jsx(L0,{asChild:!0,children:b.jsx("button",{onClick:()=>a?.(e),children:b.jsxs("div",{className:"w-full flex items-center justify-start! gap-2 px-3 py-2 text-xs font-medium text-slate-600 hover:text-blue-600 hover:opacity-80 hover:bg-slate-300 transition-all text-left outline-none rounded-lg",children:[b.jsx(We,{name:"Pencil",size:14,className:"opacity-70"}),b.jsx("span",{children:"Edit Details"})]})})})]})})})]})]}),b.jsxs("div",{className:Xe("flex-1 min-w-0 pt-0.5",ee?"pr-12 sm:pr-16":"pr-6 sm:pr-8"),children:[b.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2 min-h-5.5 mb-0.5",children:[w?b.jsx("input",{ref:V,value:M,onChange:pe=>I(pe.target.value),onBlur:Le,onKeyDown:He,className:Xe("flex-1 min-w-0 bg-transparent border-b border-blue-400 focus:outline-none font-medium text-slate-800 pb-0.5",K)}):b.jsx(b.Fragment,{children:b.jsx(OR,{onClick:()=>S(!0),className:Xe("font-medium leading-tight text-slate-800 transition-all cursor-text text-left border-none bg-transparent p-0 appearance-none font-inherit truncate flex-1 min-w-0",K,W&&"line-through text-slate-500 decoration-slate-300",J&&"line-through text-slate-400 decoration-slate-300",te&&"text-rose-700 font-semibold"),children:p?p(e.title):e.title})}),!w&&b.jsx(OR,{whileHover:{scale:1.1},onClick:()=>S(!0),className:"opacity-0 group-hover:opacity-100 transition-opacity text-slate-300 hover:text-blue-500 p-1 shrink-0 bg-transparent border-none",children:b.jsx(We,{name:"Pencil",size:12})})]}),b.jsxs("div",{className:Xe("flex flex-wrap items-center gap-1 min-[400px]:gap-1.5 sm:gap-2 font-medium text-slate-500",be),onClick:pe=>{u&&pe.target===pe.currentTarget&&u?.(e)},children:[b.jsx(pae,{task:e,onUpdate:n,badgeClass:_}),t&&(t.hasInvalidDates?b.jsxs("div",{className:"flex items-center gap-1.5 px-2 h-5 rounded-full border font-medium leading-none text-rose-600 bg-rose-50 border-rose-200",title:"One or more dates have an invalid format",children:[b.jsx(We,{name:"AlertTriangle",size:10}),b.jsx("span",{className:"text-[10px]",children:"Invalid Date"})]}):t.hasMissingDates?b.jsxs("div",{className:"flex items-center gap-1.5 px-2 h-5 rounded-full border font-medium leading-none text-amber-600 bg-amber-50 border-amber-200",title:"This task has no dates set",children:[b.jsx(We,{name:"AlertCircle",size:10}),b.jsx("span",{className:"text-[10px]",children:"No Dates"})]}):null),e.category&&b.jsx(gae,{task:e,onUpdate:n,badgeClass:_,availableCategories:l}),!k.groupingStrategy.includes("createdAt")&&lF(e.createdAt)&&b.jsx(iF,{type:"createdAt",date:e.createdAt,label:PR(e.createdAt,k.useRelativeDates,k.dateFormat),task:e,onUpdate:n,icon:"Plus",className:Xe(_,"text-slate-500 bg-slate-50 border-slate-200","hidden min-[400px]:flex")}),lF(e.startAt)&&b.jsx(iF,{type:"startAt",date:e.startAt,label:PR(e.startAt,k.useRelativeDates,k.dateFormat),icon:"PlayCircle",task:e,onUpdate:n,className:Xe(_,"text-slate-500 bg-slate-50 border-slate-200")}),lF(e.dueAt)&&b.jsx(iF,{type:"dueDate",date:e.dueAt,label:`Due: ${PR(e.dueAt,k.useRelativeDates,k.dateFormat)}`,icon:"Calendar",task:e,onUpdate:n,className:Xe(_,gt(e.dueAt,e.status))}),lF(e.completedAt)&&b.jsx(iF,{type:"completedAt",date:e.completedAt,label:`Done: ${PR(e.completedAt,k.useRelativeDates,k.dateFormat)}`,icon:"CheckCircle2",task:e,onUpdate:n,className:Xe(_,"text-emerald-600 bg-emerald-50 border-emerald-200")}),e.isRecurring&&e.recurringInterval&&b.jsxs("div",{className:Xe(_,"text-slate-500 bg-slate-100 border-slate-200 cursor-default"),title:H$(e.recurringInterval),children:[b.jsx(We,{name:"Repeat",size:10}),b.jsx("span",{className:"capitalize",children:"Recurring"})]}),e.tags.map((pe,Ee)=>b.jsx(yae,{tag:pe,task:e,onUpdate:n,badgeClass:_},`${e.id}-tag-${Ee}`))]}),e.description&&b.jsxs("div",{className:"mt-1 flex items-start gap-1.5 text-slate-400",children:[b.jsx(We,{name:"FileText",size:10,className:"mt-0.5 shrink-0"}),b.jsx("p",{className:Xe("leading-relaxed line-clamp-2",be),children:e.description})]})]}),ee&&b.jsx("div",{className:"absolute right-8 top-3 text-[10px] font-mono font-bold text-slate-400 bg-slate-50 border border-slate-100 px-1.5 py-0.5 rounded-md",children:ee}),b.jsx(OR,{onClick:lt,className:Xe("absolute top-2 right-1 p-1.5 rounded-md transition-all",N?"bg-rose-100 text-rose-600 opacity-100":"text-slate-300 opacity-0 group-hover:opacity-100 hover:text-rose-500 hover:bg-slate-100"),whileHover:{scale:1.1},whileTap:{scale:.9},title:N?"Click again to confirm delete":"Delete task",children:b.jsx(We,{name:N?"Trash2":"Trash",size:14})})]})},eN=(e,t,n)=>{const[r,a]=fe.useState(!1),[l,u]=fe.useState(null),p=fe.useCallback(()=>{if(!e.enabled){wt.warn("Voice","Voice input is disabled in settings");return}let w=null;switch(e.activeProvider){case"browser":w=new Y$;break;case"openai":w=new Z$(e.providers.openai);break;case"gemini":w=new G$(e.providers.gemini);break;default:n(`Unknown voice provider: ${e.activeProvider}`);return}if(!w.isAvailable()){n(`${w.getName()} is not available in this browser.`),wt.error("Voice",`Provider ${w.getName()} is not available`);return}wt.info("Voice",`Starting ${w.getName()}...`,{language:e.language||navigator.language}),a(!0);const S=N=>{wt.info("Voice","Transcription received",{text:N.transcript,confidence:N.confidence}),a(!1),t(N.transcript)},M=N=>{wt.error("Voice","Voice input error",N),a(!1),n(N.message)},I=w.start(e.language,S,M);u(()=>I)},[e,t,n]),k=fe.useCallback(()=>{l&&(l(),u(null)),a(!1)},[l]);return{isListening:r,start:p,stop:k}},kae=52;function tN(e,t={}){const{rootMargin:n="500px 0px",enabled:r=!0}=t,[a,l]=fe.useState(!r),[u,p]=fe.useState(null),k=fe.useRef(null),w=fe.useRef(null),S=fe.useRef(null),M=e*kae,I=fe.useCallback(()=>{w.current&&p(w.current.offsetHeight)},[]);fe.useEffect(()=>{if(!r)return;const O=k.current;if(O)return S.current=new IntersectionObserver(([V])=>{const W=V.isIntersecting;W||I(),l(W)},{rootMargin:n}),S.current.observe(O),()=>{S.current?.disconnect()}},[r,n,I]);const N=fe.useCallback(O=>{k.current=O},[]),D=fe.useCallback(O=>{w.current=O},[]);return{containerRef:N,contentRef:D,isNearViewport:a,placeholderHeight:u??M}}var cF="Collapsible",[bae]=ID(cF),[xae,nN]=bae(cF),rN=se.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:a,disabled:l,onOpenChange:u,...p}=e,[k,w]=nW({prop:r,defaultProp:a??!1,onChange:u,caller:cF});return b.jsx(xae,{scope:n,disabled:l,contentId:b_(),open:k,onOpenToggle:se.useCallback(()=>w(S=>!S),[w]),children:b.jsx(ac.div,{"data-state":oN(k),"data-disabled":l?"":void 0,...p,ref:t})})});rN.displayName=cF;var JW="CollapsibleTrigger",KW=se.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,a=nN(JW,n);return b.jsx(ac.button,{type:"button","aria-controls":a.contentId,"aria-expanded":a.open||!1,"data-state":oN(a.open),"data-disabled":a.disabled?"":void 0,disabled:a.disabled,...r,ref:t,onClick:Bu(e.onClick,a.onOpenToggle)})});KW.displayName=JW;var aN="CollapsibleContent",QW=se.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=nN(aN,e.__scopeCollapsible);return b.jsx(ZR,{present:n||a.open,children:({present:l})=>b.jsx(wae,{...r,ref:t,present:l})})});QW.displayName=aN;var wae=se.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:a,...l}=e,u=nN(aN,n),[p,k]=se.useState(r),w=se.useRef(null),S=Vu(t,w),M=se.useRef(0),I=M.current,N=se.useRef(0),D=N.current,O=u.open||p,V=se.useRef(O),W=se.useRef(void 0);return se.useEffect(()=>{const J=requestAnimationFrame(()=>V.current=!1);return()=>cancelAnimationFrame(J)},[]),Uu(()=>{const J=w.current;if(J){W.current=W.current||{transitionDuration:J.style.transitionDuration,animationName:J.style.animationName},J.style.transitionDuration="0s",J.style.animationName="none";const Z=J.getBoundingClientRect();M.current=Z.height,N.current=Z.width,V.current||(J.style.transitionDuration=W.current.transitionDuration,J.style.animationName=W.current.animationName),k(r)}},[u.open,r]),b.jsx(ac.div,{"data-state":oN(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!O,...l,ref:S,style:{"--radix-collapsible-content-height":I?`${I}px`:void 0,"--radix-collapsible-content-width":D?`${D}px`:void 0,...e.style},children:O&&a})});function oN(e){return e?"open":"closed"}var qW=rN;const $W=Object.freeze(Object.defineProperty({__proto__:null,Collapsible:rN,CollapsibleContent:QW,CollapsibleTrigger:KW,Root:qW},Symbol.toStringTag,{value:"Module"})),iN=qW,{CollapsibleTrigger:sN}=$W,{CollapsibleContent:lN}=$W,cN=({group:e,lazy:t=!0})=>{const{containerRef:n,contentRef:r,isNearViewport:a,placeholderHeight:l}=tN(e.tasks.length,{enabled:t}),{onAddTask:u,onAICommand:p}=sF(),{settings:k,isAiMode:w,onVoiceError:S}=R2(),[M,I]=fe.useState(!0),[N,D]=fe.useState(!1),[O,V]=fe.useState(""),[W,J]=fe.useState(k.defaultCategory),[Z,te]=fe.useState(!1),K=fe.useRef(null);fe.useEffect(()=>{N&&J(k.defaultCategory)},[N,k.defaultCategory]);const{isListening:oe,start:be,stop:he}=eN(k.voiceConfig,ee=>V(_=>_?`${_} ${ee}`:ee),S),Le=ht.fromISO(e.date),He=Le.toFormat("ccc"),lt=Le.weekday>5,gt=lt?"text-rose-500 bg-rose-50 border-rose-100":"text-slate-600 bg-slate-50 border-slate-200",Fe=z$(e.date),qe=Fe==="Today"||Fe==="Tomorrow"||Fe==="Yesterday",ze=Le.toFormat(k.dateFormat);fe.useEffect(()=>{N&&K.current&&K.current.focus()},[N]);const ie=fe.useMemo(()=>e.tasks.reduce((ee,_)=>(_.status==="done"?ee.done++:_.status==="overdue"||_.status==="due"?ee.urgent++:["todo","scheduled","unplanned"].includes(_.status)&&ee.open++,ee),{done:0,urgent:0,open:0}),[e.tasks]),ve=async()=>{if(!O.trim()){D(!1);return}te(!0);try{if(k.aiConfig.enabled&&w){const ee=`Add task to ${e.date}: ${O} (Category: ${W})`;await p(ee)}else u({title:O,dueAt:e.date,category:W});V("")}catch(ee){console.error(ee)}finally{te(!1)}},Ce=ee=>{ee.key==="Enter"&&ve(),ee.key==="Escape"&&(D(!1),V(""))},Tt={sm:"mt-0.5",base:"mt-0.5",lg:"mt-1",xl:"mt-1.5"}[k.fontSize]||"mt-0.5";return b.jsx("div",{className:"mb-2 relative",children:b.jsxs(iN,{open:M,onOpenChange:I,children:[b.jsx(sN,{asChild:!0,children:b.jsxs("button",{className:"w-full flex items-center justify-between mb-1 sticky top-0 bg-paper/95 backdrop-blur-sm z-20 py-1.5 border-b border-dashed border-slate-200 group hover:border-slate-300 transition-colors text-left outline-none pl-2",children:[b.jsxs("div",{className:"flex items-center gap-3 sm:gap-4 overflow-hidden",children:[b.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[b.jsx(ao.div,{animate:{rotate:M?90:0},transition:{duration:.2},className:"text-slate-400",children:b.jsx(We,{name:"ChevronRight",size:14})}),b.jsxs("div",{className:"flex items-baseline gap-2",children:[qe&&b.jsx("span",{className:"text-xs font-bold text-blue-600 font-mono uppercase tracking-tight",children:Fe}),b.jsx("h3",{className:`text-sm font-bold text-slate-800 font-mono tracking-tight group-hover:text-blue-600 transition-colors ${qe?"opacity-60 font-normal":""}`,children:ze})]})]}),b.jsxs("div",{className:"flex items-center gap-2 shrink-0 opacity-80 group-hover:opacity-100 transition-opacity",children:[ie.urgent>0&&b.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded-full bg-rose-100/50 text-rose-600 border border-rose-200/50 shadow-sm shadow-rose-100",children:[b.jsx(We,{name:"AlertCircle",size:10,strokeWidth:2.5}),b.jsx("span",{className:"text-[10px] font-bold leading-none",children:ie.urgent})]}),ie.open>0&&b.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded-full bg-slate-100 text-slate-500 border border-slate-200 shadow-sm shadow-slate-100",children:[b.jsx(We,{name:"Circle",size:10,strokeWidth:2.5}),b.jsx("span",{className:"text-[10px] font-bold leading-none",children:ie.open})]}),ie.done>0&&b.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded-full bg-emerald-100/50 text-emerald-600 border border-emerald-200/50 shadow-sm shadow-emerald-100",children:[b.jsx(We,{name:"CheckCircle2",size:10,strokeWidth:2.5}),b.jsx("span",{className:"text-[10px] font-bold leading-none",children:ie.done})]})]})]}),b.jsxs("div",{className:`flex flex-col items-center justify-center w-8 h-8 rounded-lg border ${gt} shadow-sm shrink-0 ml-2`,children:[b.jsx("span",{className:"text-[10px] font-bold uppercase leading-none",children:He}),b.jsx("span",{className:"text-[10px] opacity-60 leading-none mt-0.5",children:e.tasks.length})]})]})}),b.jsx(ql,{initial:!1,children:M&&b.jsx(lN,{forceMount:!0,asChild:!0,children:b.jsx(ao.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:"easeInOut"},className:"overflow-hidden",children:b.jsxs("div",{ref:n,className:"space-y-0.5 relative pb-2",children:[a?b.jsx("div",{ref:r,children:e.tasks.map(ee=>b.jsx($D,{task:ee},ee.id))}):b.jsx("div",{style:{height:l},className:"bg-slate-50/30 rounded"}),b.jsxs("div",{className:"group relative flex items-stretch gap-2 py-1.5 px-1 transition-all rounded-lg",children:[b.jsxs("div",{className:Xe("relative flex flex-col items-center shrink-0 w-6",Tt),children:[e.tasks.length>0&&b.jsx("div",{className:"absolute -top-1 h-4 w-px left-1/2 -translate-x-1/2 bg-slate-200"}),b.jsx("button",{onClick:()=>D(!0),className:Xe("relative z-10 w-6 h-6 flex items-center justify-center rounded-full transition-all outline-none",N?w?"bg-purple-100 text-purple-600":"bg-blue-100 text-blue-600":"bg-white hover:bg-slate-100 text-slate-300 hover:text-blue-500"),children:Z?b.jsx("div",{className:"animate-spin",children:b.jsx(We,{name:"Loader2",size:12})}):b.jsx(We,{name:w?"Sparkles":"Plus",size:14})})]}),b.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:N?b.jsxs(ao.div,{initial:{opacity:0,x:-5},animate:{opacity:1,x:0},className:"flex items-center gap-2",children:[b.jsx("input",{ref:K,type:"text",value:O,onChange:ee=>V(ee.target.value),onKeyDown:Ce,onBlur:ee=>{(!ee.relatedTarget||!ee.relatedTarget.closest(".add-row-actions"))&&(O||D(!1))},placeholder:oe?"Listening...":w?"Describe task for this day...":"Type a new task...",className:Xe("flex-1 bg-transparent border-b focus:outline-none text-sm py-0.5 transition-colors",w?"border-purple-300 focus:border-purple-500 placeholder:text-purple-300 text-purple-900":"border-blue-300 focus:border-blue-500"),disabled:Z||oe}),b.jsxs("div",{className:"flex items-center gap-1 add-row-actions",children:[b.jsxs("div",{className:"relative group/cat",children:[b.jsx("input",{list:`cat-list-${e.date}`,className:"w-20 text-[10px] bg-slate-100 hover:bg-slate-200 border-none rounded px-1.5 py-0.5 text-slate-600 focus:bg-white focus:ring-1 focus:ring-blue-300 outline-none transition-all placeholder:text-slate-400 truncate",placeholder:"Category",value:W,onChange:ee=>J(ee.target.value),onFocus:()=>{},title:"Task Category"}),b.jsxs("datalist",{id:`cat-list-${e.date}`,children:[b.jsx("option",{value:"Work"}),b.jsx("option",{value:"Personal"}),b.jsx("option",{value:"Home"}),b.jsx("option",{value:"Health"}),b.jsx("option",{value:"Finance"}),b.jsx("option",{value:"Urgent"})]})]}),k.voiceConfig.enabled&&b.jsx("button",{onClick:oe?he:be,className:Xe("p-1 rounded hover:bg-slate-100 transition-colors",oe&&"text-rose-500 animate-pulse"),tabIndex:-1,title:oe?"Stop Recording":"Start Voice Input",children:b.jsx(We,{name:oe?"Square":"Mic",size:14})})]})]}):b.jsx("button",{onClick:()=>D(!0),className:"text-left text-sm text-slate-400 hover:text-blue-500 transition-colors h-5.5 flex items-end font-medium",children:"Add task..."})})]})]})})})})]})})},eY=({group:e})=>{const{settings:t}=R2(),[n,r]=fe.useState(!0),a=Math.round(e.completedTasks/e.totalTasks*100)||0;return b.jsx("div",{className:"mb-4",children:b.jsxs(iN,{open:n,onOpenChange:r,children:[b.jsx(sN,{asChild:!0,children:b.jsxs("button",{className:"w-full text-left mb-1.5 group outline-none",children:[b.jsxs("div",{className:"flex items-end justify-between mb-1",children:[b.jsxs("div",{className:"flex items-baseline gap-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(ao.div,{animate:{rotate:n?90:0},transition:{duration:.2},className:"text-slate-400",children:b.jsx(We,{name:"ChevronRight",size:20})}),b.jsx("h2",{className:"text-3xl font-black text-slate-800 tracking-tighter group-hover:text-blue-600 transition-colors",children:e.year})]}),b.jsxs("div",{className:"text-xs text-slate-400 font-mono hidden sm:inline-block",children:[b.jsx("span",{className:"text-rose-500 font-bold",children:e.totalTasks-e.completedTasks})," ","unfinished tasks in"," ",b.jsx("span",{className:"text-rose-500 font-bold",children:e.dayGroups.length})," ","active days."]})]}),b.jsx("div",{className:"flex items-center gap-2 pb-1",children:b.jsxs("span",{className:"text-[10px] text-slate-400 font-mono",children:[e.completedTasks," / ",e.totalTasks]})})]}),t.showProgressBar&&b.jsx("div",{className:"relative h-1.5 w-full bg-slate-100 rounded-full overflow-hidden",children:b.jsx(ao.div,{className:Xe("absolute top-0 left-0 h-full rounded-full",a===100?"bg-emerald-400":"bg-slate-800"),initial:{width:0},animate:{width:`${a}%`},transition:{duration:1,ease:"easeOut"}})})]})}),b.jsx(ql,{initial:!1,children:n&&b.jsx(lN,{forceMount:!0,asChild:!0,children:b.jsx(ao.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.4,ease:"easeInOut"},className:"overflow-hidden",children:e.dayGroups.map(l=>b.jsx(cN,{group:l},l.date))})})})]})})},tY=({tasks:e,lazy:t=!0})=>{const{containerRef:n,contentRef:r,isNearViewport:a,placeholderHeight:l}=tN(e.length,{enabled:t}),{settings:u}=R2(),[p,k]=fe.useState(!0);return b.jsx("div",{className:"mt-8 pt-4 border-t border-slate-100",children:b.jsxs(iN,{open:p,onOpenChange:k,children:[b.jsx(sN,{asChild:!0,children:b.jsxs("button",{className:"flex items-center gap-2 mb-4 pl-2 w-full group outline-none",children:[b.jsx(ao.div,{animate:{rotate:p?90:0},transition:{duration:.2},className:"text-slate-400",children:b.jsx(We,{name:"ChevronRight",size:14})}),b.jsx(We,{name:"Archive",size:14,className:"text-slate-400"}),b.jsx("h3",{className:"text-sm font-bold text-slate-500 uppercase tracking-wider group-hover:text-slate-700 transition-colors",children:"Backlog / Undated"}),b.jsx("span",{className:"text-xs bg-slate-100 text-slate-500 px-2 py-0.5 rounded-full font-mono",children:e.length})]})}),b.jsx(ql,{initial:!1,children:p&&b.jsx(lN,{forceMount:!0,asChild:!0,children:b.jsx(ao.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3},className:"overflow-hidden",children:b.jsx("div",{ref:n,className:"space-y-0.5",children:a?b.jsx("div",{ref:r,children:e.map(w=>b.jsx($D,{task:w,dateValidation:B$(w,u.groupingStrategy)},w.id))}):b.jsx("div",{style:{height:l},className:"bg-slate-50/30 rounded"})})})})})]})})},nY=({className:e})=>{const{tasks:t}=sF(),{settings:n,isFocusMode:r}=R2(),{todayGroup:a,otherYearGroups:l,backlogTasks:u}=fe.useMemo(()=>{const p=ht.now(),k=p.toISODate(),w=n.showCompleted?t:t.filter(W=>W.status!=="done"&&W.status!=="cancelled"),S=[],M=[],I=["dueAt","startAt","createdAt","completedAt"];w.forEach(W=>{I.some(Z=>{const te=W[Z];return te&&ht.fromISO(te).isValid})?S.push(W):M.push(W)});const N=V$(S,n.groupingStrategy);let D=null;const O=[];for(const W of N){const J=W.dayGroups.find(Z=>Z.date===k);if(J){D=J;const Z=W.dayGroups.filter(te=>te.date!==k);Z.length>0&&O.push({...W,dayGroups:Z})}else O.push(W)}return{todayGroup:D||{date:k,tasks:[]},otherYearGroups:O,backlogTasks:M}},[t,n.showCompleted,n.groupingStrategy]);return b.jsxs("div",{className:e,children:[b.jsxs("div",{className:"mb-5 pb-3 border-b-2 border-dashed border-slate-100/80",children:[b.jsx("div",{className:"flex items-center gap-2 mb-2 pl-2 opacity-60",children:b.jsxs("span",{className:"text-[10px] font-bold font-mono uppercase tracking-widest text-slate-400",children:["Current Focus",n.groupingStrategy.length===1&&n.groupingStrategy[0]!=="dueAt"?` (${n.groupingStrategy[0].replace("At","").replace("Date","")})`:""]})}),b.jsx(cN,{group:a,lazy:!1})]}),!r&&l.map(p=>b.jsx(eY,{group:p},p.year)),!r&&u.length>0&&b.jsx(tY,{tasks:u}),!r&&l.length===0&&t.length>0&&!a.tasks.length&&u.length===0&&b.jsx("div",{className:"text-center text-slate-400 text-sm py-10",children:"No tasks visible based on current filters."}),r&&!a.tasks.length&&b.jsx("div",{className:"text-center text-slate-400 text-sm py-10",children:"Focus mode is on. No tasks for today."})]})},rY=()=>{const{onAddTask:e,onAICommand:t,availableTags:n,availableCategories:r}=sF(),{settings:a,filters:l,onFilterChange:u,sort:p,onSortChange:k,isAiMode:w,toggleAiMode:S,onVoiceError:M,onOpenSettings:I}=R2(),[N,D]=fe.useState(""),[O,V]=fe.useState(!1),{isListening:W,start:J,stop:Z}=eN(a.voiceConfig,Fe=>D(qe=>qe?`${qe} ${Fe}`:Fe),M),te=a.aiConfig.enabled&&w,K=async()=>{if(!(!N.trim()||O)){V(!0);try{if(te)await t(N);else{const Fe=U$(N);e(Fe)}D("")}catch(Fe){console.error("Failed to parse task",Fe)}finally{V(!1)}}},oe=Fe=>{Fe.key==="Enter"&&K()},be=(Fe,qe)=>{const ze=l[Fe];if(Array.isArray(ze)){const ie=ze,ve=ie.includes(qe)?ie.filter(Ce=>Ce!==qe):[...ie,qe];u({...l,[Fe]:ve})}},he=Fe=>{u({...l,[Fe]:[]})},Le=Fe=>{const qe=l[Fe];return Array.isArray(qe)||typeof qe=="string"?qe.length>0:!1},He=Fe=>{switch(Fe){case"todo":return"Circle";case"doing":return"PlayCircle";case"done":return"CheckCircle2";case"scheduled":return"Clock";case"due":return"AlertCircle";case"overdue":return"AlertTriangle";case"cancelled":return"XCircle";case"unplanned":return"Zap";default:return"Circle"}},lt=Fe=>{switch(Fe){case"done":return"text-emerald-500";case"doing":return"text-sky-500";case"scheduled":return"text-blue-500";case"due":return"text-amber-500";case"overdue":return"text-rose-500";case"cancelled":return"text-slate-400";case"unplanned":return"text-purple-500";default:return"text-slate-400"}},gt=Fe=>{switch(Fe){case"high":return"text-rose-500";case"medium":return"text-amber-500";case"low":return"text-blue-400"}};return b.jsx("div",{className:"pt-3 pb-1",children:b.jsxs("div",{className:"max-w-3xl mx-auto px-2 min-[400px]:px-4 sm:px-6",children:[b.jsxs("div",{className:"relative group z-10",children:[b.jsx("div",{className:"absolute inset-y-0 left-2 min-[400px]:left-3 flex items-center pointer-events-none z-10",children:O?b.jsx(So,{animate:{rotate:360},transition:{repeat:1/0,duration:1,ease:"linear"},className:"text-blue-500",children:b.jsx(We,{name:"Loader2",size:16})}):te?b.jsx(So,{initial:{scale:0},animate:{scale:1},className:"text-purple-500",children:b.jsx(We,{name:"Sparkles",size:16})}):b.jsx("div",{className:"text-slate-400",children:b.jsx(We,{name:"PlusCircle",size:16})})}),b.jsx("input",{type:"text",className:Xe("w-full bg-white pl-8 min-[400px]:pl-10 pr-20 min-[400px]:pr-24 py-2 min-[400px]:py-2.5 rounded-xl border shadow-sm text-sm focus:outline-none focus:ring-2 transition-all placeholder:text-slate-400 font-medium",te?"border-purple-200 focus:border-purple-400 focus:ring-purple-400/20":"border-slate-200 focus:border-slate-400 focus:ring-slate-400/20"),placeholder:W?"Listening...":te?"Describe tasks using natural language...":window.innerWidth<530?"Quick add task...":"Quick add (e.g., 'Meeting due:tomorrow p:high')",value:N,onChange:Fe=>D(Fe.target.value),onKeyDown:oe,disabled:O||W}),b.jsxs("div",{className:"absolute inset-y-0 right-2 min-[400px]:right-3 flex items-center gap-0.5 min-[400px]:gap-1",children:[a.voiceConfig.enabled&&b.jsx("button",{onClick:W?Z:J,className:Xe("p-1 min-[400px]:p-1.5 rounded-md transition-all duration-200 relative",W?"text-rose-500 bg-rose-50 animate-pulse":"text-slate-400 hover:text-slate-600 hover:bg-slate-100"),title:W?"Stop Recording":"Start Voice Input",children:b.jsx(We,{name:W?"Square":"Mic",size:16})}),a.aiConfig.enabled&&b.jsx("button",{onClick:S,className:Xe("p-1 min-[400px]:p-1.5 rounded-md transition-all duration-200",te?"text-purple-600 bg-purple-50 hover:bg-purple-100 ring-1 ring-purple-200":"text-slate-400 hover:text-slate-600 hover:bg-slate-100"),title:te?"Switch to Manual Mode":"Switch to AI Mode",children:b.jsx(We,{name:te?"Sparkles":"TerminalSquare",size:16})}),I&&a.settingButtonOnInputBar!==!1&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"w-px h-4 bg-slate-200 mx-0.5 min-[400px]:mx-1"}),b.jsx("button",{onClick:I,className:"text-slate-400 hover:text-blue-600 p-1 min-[400px]:p-1.5 rounded-md hover:bg-blue-50 transition-colors",title:"Settings & Docs",children:b.jsx(We,{name:"Settings",size:16})})]})]})]}),b.jsxs("div",{className:"relative",children:[b.jsx("div",{className:"absolute left-0 top-0 bottom-2 w-8 bg-gradient-to-r from-white to-transparent pointer-events-none z-10"}),b.jsx("div",{className:"absolute right-0 top-0 bottom-2 w-8 bg-gradient-to-l from-white to-transparent pointer-events-none z-10"}),b.jsxs("div",{className:"flex items-center gap-1.5 min-[400px]:gap-2 mt-2 overflow-x-auto no-scrollbar pb-2 pl-0.5 min-[400px]:pl-1 pr-2 min-[400px]:pr-4",children:[a.tagsFilterOnInputBar!==!1&&b.jsx(dF,{label:"Tags",isActive:Le("tags"),count:l.tags.length,onClear:()=>he("tags"),children:b.jsxs("div",{className:"space-y-0.5",children:[n.length===0&&b.jsx("div",{className:"text-xs text-slate-400 p-2 italic text-center",children:"No tags available"}),n.map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.tags.includes(Fe),onChange:()=>be("tags",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:"Tag",size:12,className:"text-blue-500 opacity-70 group-hover:opacity-100"}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))]})}),a.categoriesFilterOnInputBar!==!1&&b.jsx(dF,{label:"Categories",isActive:Le("categories"),count:l.categories.length,onClear:()=>he("categories"),children:b.jsxs("div",{className:"space-y-0.5",children:[r.length===0&&b.jsx("div",{className:"text-xs text-slate-400 p-2 italic text-center",children:"No categories available"}),r.map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.categories.includes(Fe),onChange:()=>be("categories",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:"Folder",size:12,className:"text-amber-500 opacity-70 group-hover:opacity-100"}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))]})}),a.priorityFilterOnInputBar!==!1&&b.jsx(dF,{label:"Priority",isActive:Le("priorities"),count:l.priorities.length,onClear:()=>he("priorities"),children:b.jsx("div",{className:"space-y-0.5",children:["low","medium","high"].map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer capitalize transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.priorities.includes(Fe),onChange:()=>be("priorities",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:"Flag",size:12,className:Xe("opacity-80",gt(Fe)),fill:"currentColor"}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))})}),a.statusFilterOnInputBar!==!1&&b.jsx(dF,{label:"Status",isActive:Le("statuses"),count:l.statuses.length,onClear:()=>he("statuses"),children:b.jsx("div",{className:"space-y-0.5",children:["todo","doing","scheduled","done","due","overdue","cancelled","unplanned"].map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer capitalize transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.statuses.includes(Fe),onChange:()=>be("statuses",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:He(Fe),size:13,className:Xe("opacity-80",lt(Fe))}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))})}),(a.tagsFilterOnInputBar!==!1||a.categoriesFilterOnInputBar!==!1||a.priorityFilterOnInputBar!==!1||a.statusFilterOnInputBar!==!1)&&a.sortOnInputBar!==!1&&b.jsx("div",{className:"w-px h-4 bg-slate-300 mx-1 shrink-0 hidden min-[550px]:block"}),a.sortOnInputBar!==!1&&b.jsx("div",{className:"hidden min-[550px]:block",children:b.jsx(Mae,{sort:p,onSortChange:k})})]})]})]})})},dF=({label:e,isActive:t,count:n,children:r,onClear:a})=>b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs(OR,{whileHover:{scale:1.02},whileTap:{scale:.98},className:Xe("flex items-center gap-1 min-[400px]:gap-1.5 px-2 min-[400px]:px-3 py-1 min-[400px]:py-1.5 text-xs font-medium rounded-full border transition-all shrink-0 outline-none select-none",t?"bg-slate-800 text-white border-slate-800 shadow-md shadow-slate-200":"bg-white text-slate-600 border-slate-200 hover:border-slate-300 hover:text-slate-800"),children:[e,t&&b.jsx("span",{className:"flex items-center justify-center bg-white text-slate-900 text-[9px] font-bold h-4 min-w-4 px-0.5 rounded-full",children:n}),b.jsx(We,{name:"ChevronDown",size:12,className:Xe("transition-transform duration-200",t?"text-slate-300":"opacity-40")})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:8,collisionPadding:16,className:"outline-none w-auto p-0",style:{zIndex:99999},children:b.jsxs(So,{initial:{opacity:0,scale:.95,y:-5},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-5},transition:{duration:.15,ease:"easeOut"},className:"w-56 bg-slate-50 border border-slate-200 shadow-lg rounded-lg overflow-hidden p-1",children:[b.jsxs("div",{className:"flex justify-between items-center px-3 py-2 border-b border-slate-200 mb-1",children:[b.jsx("span",{className:"text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:e}),t&&b.jsx("button",{onClick:a,className:"text-[10px] font-medium text-rose-500 hover:text-rose-600 px-1.5 py-0.5 rounded hover:bg-rose-50 transition-colors",children:"Clear"})]}),b.jsx("div",{className:"max-h-60 overflow-y-auto p-1 custom-scrollbar",children:r})]})})]}),Mae=({sort:e,onSortChange:t})=>{const n=[{label:"Due Date",value:"dueAt",icon:"Calendar"},{label:"Created Date",value:"createdAt",icon:"Clock"},{label:"Priority",value:"priority",icon:"Flag"},{label:"Title",value:"title",icon:"Type"}],r=a=>{e.field===a?t({...e,direction:e.direction==="asc"?"desc":"asc"}):t({...e,field:a,direction:"asc"})};return b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:"flex items-center gap-1 min-[400px]:gap-1.5 px-2 min-[400px]:px-3 py-1 min-[400px]:py-1.5 bg-slate-100 hover:bg-slate-200 text-slate-600 hover:text-slate-900 text-xs font-bold rounded-full transition-all shrink-0 outline-none ml-auto active:scale-95",children:[b.jsx(We,{name:"ArrowUpDown",size:12}),b.jsx("span",{children:"Sort"})]})}),b.jsx(Yu,{side:"bottom",align:"end",sideOffset:8,collisionPadding:16,className:"outline-none w-auto p-0",style:{zIndex:99999},children:b.jsxs(So,{initial:{opacity:0,scale:.95,y:-5},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-5},transition:{duration:.15,ease:"easeOut"},className:"w-48 bg-slate-50 border border-slate-200 shadow-lg rounded-lg overflow-hidden p-1",children:[b.jsx("div",{className:"px-3 py-2 text-[10px] font-bold text-slate-400 uppercase border-b border-slate-200 mb-1",children:"Sort By"}),b.jsx("div",{className:"flex flex-col gap-0.5",children:n.map(a=>{const l=e.field===a.value;return b.jsx("button",{onClick:()=>r(a.value),children:b.jsxs("div",{className:Xe("flex items-center justify-start! text-sm rounded-lg outline-none hover:bg-slate-300 font-mono w-full p-2",l?"text-slate-900":"text-slate-600 hover:text-slate-900"),children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(We,{name:a.icon,size:14,className:l?"text-blue-500":"opacity-70"}),b.jsx("span",{children:a.label})]}),l&&b.jsx("div",{className:"flex items-center gap-1 text-blue-500",children:b.jsx(We,{name:e.direction==="asc"?"ArrowUp":"ArrowDown",size:18})})]})},a.value)})})]})})]})};function F2({value:e,onChange:t,placeholder:n="Pick a date",className:r,disabled:a,showTime:l=!1}){const[u,p]=se.useState(!1),[k,w]=se.useState("00:00"),S=e?ht.fromISO(e):null,M=S?.isValid?S.toJSDate():void 0;se.useEffect(()=>{S?.isValid&&l&&w(S.toFormat("HH:mm"))},[e,S,l]);const I=O=>{if(!O){t("");return}let V=ht.fromJSDate(O);if(l&&k){const[J,Z]=k.split(":").map(Number);V=V.set({hour:J,minute:Z})}const W=l?V.toISO()||"":V.toISODate()||"";t(W),l||p(!1)},N=O=>{const V=O.target.value;if(w(V),M){const[W,J]=V.split(":").map(Number),Z=ht.fromJSDate(M).set({hour:W,minute:J});t(Z.toISO()||"")}},D=se.useMemo(()=>S?.isValid?l?S.toFormat("MMM dd, yyyy HH:mm"):S.toFormat("MMM dd, yyyy"):n,[S,n,l]);return b.jsxs(zh,{open:u,onOpenChange:p,children:[b.jsx(Hh,{asChild:!0,children:b.jsxs(Rf,{variant:"outline",disabled:a,className:Xe("w-full justify-start text-left font-normal",!e&&"text-muted-foreground",r),children:[b.jsx(kf,{className:"mr-2 h-4 w-4"}),D]})}),b.jsxs(Yu,{className:"w-auto p-0",align:"start",children:[b.jsx(GW,{mode:"single",selected:M,onSelect:I,initialFocus:!0}),l&&b.jsxs("div",{className:"border-t border-border p-3",children:[b.jsx("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Time"}),b.jsx("input",{type:"time",value:k,onChange:N,className:"w-full px-3 py-2 bg-background border border-input rounded-md text-sm focus:ring-2 focus:ring-ring focus:border-ring outline-none"})]})]})]})}const Cae=[{value:et.DAILY,label:"Daily"},{value:et.WEEKLY,label:"Weekly"},{value:et.MONTHLY,label:"Monthly"},{value:et.YEARLY,label:"Yearly"}],Sae=[{label:"M",val:et.MO},{label:"T",val:et.TU},{label:"W",val:et.WE},{label:"T",val:et.TH},{label:"F",val:et.FR},{label:"S",val:et.SA},{label:"S",val:et.SU}],Tae=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Lae=({task:e,onSave:t,onClose:n,availableCategories:r})=>{const[a,l]=fe.useState(e),[u,p]=fe.useState(!1),[k,w]=fe.useState(()=>{let D=et.WEEKLY,O=1,V=[],W=[],J=[],Z="",te="";if(e.isRecurring&&e.recurringInterval)try{const K=et.fromString(e.recurringInterval);D=K.options.freq,O=K.options.interval;const oe=K.options.byweekday;oe&&(V=(Array.isArray(oe)?oe:[oe]).map(he=>typeof he=="number"?new pi(he):he)),W=K.options.bymonth?Array.isArray(K.options.bymonth)?K.options.bymonth:[K.options.bymonth]:[],J=K.options.bymonthday?Array.isArray(K.options.bymonthday)?K.options.bymonthday:[K.options.bymonthday]:[],K.options.dtstart&&(Z=ht.fromJSDate(K.options.dtstart).toISODate()||""),K.options.until&&(te=ht.fromJSDate(K.options.until).toISODate()||"")}catch(K){console.error(`parse recurrence rule failed with err: ${K}`)}return{freq:D,interval:O,byWeekDay:V,byMonth:W,byMonthDay:J,start:Z,end:te}}),S=D=>{w(O=>({...O,...D}))},M=()=>{const D={...a};if(D.isRecurring)try{const{start:O,end:V,freq:W,interval:J,byWeekDay:Z,byMonth:te,byMonthDay:K}=k,oe=O?ht.fromISO(O).toJSDate():void 0,be=V?ht.fromISO(V).endOf("day").toJSDate():void 0,he=new et({freq:W,interval:J,byweekday:W===et.WEEKLY?Z:null,bymonth:W===et.YEARLY&&te.length>0?te:null,bymonthday:(W===et.MONTHLY||W===et.YEARLY)&&K.length>0?K:null,dtstart:oe,until:be});D.recurringInterval=he.toString()}catch(O){console.error("Failed to generate RRule",O)}else D.recurringInterval=void 0;t(D)},I=()=>{l(D=>({...D,isRecurring:!D.isRecurring}))},N=r.filter(D=>D.toLowerCase().includes((a.category||"").toLowerCase())&&D.toLowerCase()!==(a.category||"").toLowerCase());return b.jsxs("div",{className:"flex flex-col max-h-[85vh]",children:[b.jsxs("div",{className:"flex justify-between items-center px-6 py-4 border-b border-slate-100 dark:border-slate-800 bg-paper/50 sticky top-0 backdrop-blur-md z-10 shrink-0",children:[b.jsx("h2",{className:"font-bold text-slate-800",children:"Edit Task"}),b.jsx("button",{onClick:n,"aria-label":"Close edit task modal",className:"p-2 text-slate-400 hover:text-slate-600 rounded-full hover:bg-slate-100 dark:hover:bg-slate-800",children:b.jsx(We,{name:"X",size:20})})]}),b.jsxs("div",{className:"p-6 space-y-5 overflow-y-auto flex-1",children:[b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{htmlFor:"task-title",className:"text-xs font-semibold text-slate-500 uppercase",children:"Title"}),b.jsx("input",{id:"task-title",value:a.title,onChange:D=>l({...a,title:D.target.value}),className:"w-full px-3 py-2 bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-lg text-sm focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 outline-none text-slate-900"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{htmlFor:"task-description",className:"text-xs font-semibold text-slate-500 uppercase",children:"Description"}),b.jsx("textarea",{id:"task-description",value:a.description||"",onChange:D=>l({...a,description:D.target.value}),className:"w-full px-3 py-2 bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-lg text-sm focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 outline-none min-h-20 resize-none text-slate-900",placeholder:"Add details..."})]}),b.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[b.jsxs("div",{className:"space-y-1 relative group",children:[b.jsx("label",{htmlFor:"task-category",className:"text-xs font-semibold text-slate-500 uppercase",children:"Category"}),b.jsxs("div",{className:"relative",children:[b.jsx("input",{id:"task-category",type:"text",value:a.category||"",onChange:D=>l({...a,category:D.target.value}),onFocus:()=>p(!0),onBlur:()=>setTimeout(()=>p(!1),200),placeholder:"Work, Personal...",className:"w-full px-3 py-2 bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-lg text-sm focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 outline-none pl-9 text-slate-900"}),b.jsx("div",{className:"absolute left-3 top-2.5 text-slate-400 pointer-events-none",children:b.jsx(We,{name:"Folder",size:14})}),b.jsx("div",{className:"absolute right-3 top-2.5 text-slate-400 pointer-events-none transition-transform duration-200",style:{transform:u?"rotate(180deg)":"rotate(0deg)"},children:b.jsx(We,{name:"ChevronDown",size:14})})]}),b.jsx(ql,{children:u&&(N.length>0||a.category&&!r.includes(a.category))&&b.jsxs(ao.div,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},exit:{opacity:0},className:"absolute z-20 w-full mt-1 bg-white border border-slate-100 rounded-lg shadow-xl max-h-40 overflow-y-auto py-1",children:[N.map(D=>b.jsxs("button",{onClick:()=>l({...a,category:D}),className:"w-full text-left px-3 py-2 text-sm text-slate-700 hover:bg-slate-50 flex items-center gap-2",children:[b.jsx(We,{name:"Folder",size:12,className:"text-slate-400"}),D]},D)),a.category&&!r.includes(a.category)&&b.jsxs("div",{className:"px-3 py-2 text-xs text-blue-600 bg-blue-50/50 border-t border-blue-100 flex items-center gap-2",children:[b.jsx(We,{name:"Plus",size:12}),'Create "',a.category,'"']})]})})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("span",{id:"priority-label",className:"text-xs font-semibold text-slate-500 uppercase",children:"Priority"}),b.jsx("div",{role:"radiogroup","aria-labelledby":"priority-label",className:"flex bg-slate-50 dark:bg-slate-800/50 p-1 rounded-lg border border-slate-200 dark:border-slate-700 h-9.5",children:["low","medium","high"].map(D=>b.jsx("button",{role:"radio","aria-checked":a.priority===D,onClick:()=>l({...a,priority:D}),className:Xe("flex-1 text-xs font-medium rounded-md capitalize transition-all flex items-center justify-center",a.priority===D?"bg-white dark:bg-slate-600 shadow-sm text-slate-800 dark:text-slate-100 border border-slate-100 dark:border-slate-500":"text-slate-500 hover:text-slate-700 dark:hover:text-slate-300"),children:D},D))})]})]}),b.jsxs("div",{className:"border-t border-slate-100 dark:border-slate-800 pt-4",children:[b.jsx("label",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-3 block",children:"Task Dates"}),b.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Created"}),b.jsx(F2,{value:a.createdAt,onChange:D=>l({...a,createdAt:D||a.createdAt}),showTime:!0,placeholder:"Select created date"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Due"}),b.jsx(F2,{value:a.dueAt,onChange:D=>l({...a,dueAt:D}),showTime:!0,placeholder:"Select due date"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Start At"}),b.jsx(F2,{value:a.startAt,onChange:D=>l({...a,startAt:D}),showTime:!0,placeholder:"Select start date"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Completed"}),b.jsx(F2,{value:a.completedAt,onChange:D=>l({...a,completedAt:D}),showTime:!0,placeholder:"Select completed date",disabled:a.status!=="done"&&a.status!=="cancelled"})]})]}),b.jsxs("div",{className:"bg-slate-50 dark:bg-slate-800/30 rounded-lg p-3 border border-slate-200/60 dark:border-slate-700 transition-colors",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("div",{className:Xe("p-1.5 rounded-md",a.isRecurring?"bg-blue-100 text-blue-600":"bg-slate-200 text-slate-500"),children:b.jsx(We,{name:"Repeat",size:16})}),b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700 dark:text-slate-300",children:"Recurrence"}),b.jsx("span",{className:"text-[10px] text-slate-400",children:"Repeats automatically"})]})]}),b.jsx("button",{onClick:I,role:"switch","aria-checked":a.isRecurring,"aria-label":"Toggle task recurrence",className:Xe("relative w-9 h-5 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",a.isRecurring?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(ao.div,{layout:!0,className:"absolute top-1 left-1 w-3 h-3 bg-white rounded-full shadow-sm",animate:{x:a.isRecurring?16:0}})})]}),b.jsx(ql,{children:a.isRecurring&&b.jsx(ao.div,{initial:{height:0,opacity:0,marginTop:0},animate:{height:"auto",opacity:1,marginTop:12},exit:{height:0,opacity:0,marginTop:0},className:"overflow-hidden",children:b.jsxs("div",{className:"pt-3 border-t border-slate-200/60 dark:border-slate-700 space-y-3",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("label",{htmlFor:"recurrence-interval",className:"text-xs font-medium text-slate-500",children:"Every"}),b.jsx("input",{id:"recurrence-interval",type:"number",min:"1",max:"99","aria-label":"Recurrence interval",value:k.interval,onChange:D=>S({interval:parseInt(D.target.value)||1}),className:"w-12 px-1.5 py-1 text-center bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 rounded-md text-xs focus:border-blue-500 outline-none text-slate-700 dark:text-slate-200"}),b.jsx("select",{"aria-label":"Recurrence frequency",value:k.freq,onChange:D=>S({freq:parseInt(D.target.value)}),className:"flex-1 bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 text-slate-700 dark:text-slate-200 text-xs rounded-md focus:ring-blue-500 focus:border-blue-500 block p-1 outline-none",children:Cae.map(D=>b.jsx("option",{value:D.value,children:D.label},D.value))})]}),k.freq===et.WEEKLY&&b.jsxs("div",{className:"space-y-1",children:[b.jsx("span",{id:"weekdays-label",className:"text-[10px] font-semibold text-slate-400 uppercase",children:"On days"}),b.jsx("div",{role:"group","aria-labelledby":"weekdays-label",className:"flex justify-between",children:Sae.map((D,O)=>{const V=k.byWeekDay.some(J=>J.weekday===D.val.weekday),W=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];return b.jsx("button",{"aria-label":W[O],"aria-pressed":V,onClick:()=>{const J=k.byWeekDay,Z=J.some(te=>te.weekday===D.val.weekday);S({byWeekDay:Z?J.filter(te=>te.weekday!==D.val.weekday):[...J,D.val]})},className:Xe("w-7 h-7 flex items-center justify-center rounded-full text-xs font-medium transition-all border",V?"bg-blue-500 text-white border-blue-600 shadow-sm":"bg-white dark:bg-slate-700 text-slate-500 dark:text-slate-400 border-slate-200 dark:border-slate-600 hover:border-blue-300 hover:text-blue-500"),children:D.label},D.label+D.val.weekday)})})]}),(k.freq===et.MONTHLY||k.freq===et.YEARLY)&&b.jsxs("div",{className:"space-y-3",children:[k.freq===et.YEARLY&&b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"Months"}),b.jsx("div",{className:"grid grid-cols-6 gap-1",children:Tae.map((D,O)=>{const V=O+1,W=k.byMonth.includes(V);return b.jsx("button",{onClick:()=>{const J=k.byMonth;S({byMonth:J.includes(V)?J.filter(Z=>Z!==V):[...J,V]})},className:Xe("py-1 text-[15px] rounded border transition-colors",W?"bg-blue-500 text-white border-blue-600":"bg-white dark:bg-slate-800 border-slate-200 dark:border-slate-600 text-slate-500 dark:text-slate-400 hover:border-blue-300"),children:D},D)})})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"Days"}),b.jsx("div",{className:"grid grid-cols-7 gap-1",children:Array.from({length:31},(D,O)=>O+1).map(D=>{const O=k.byMonthDay.includes(D);return b.jsx("button",{onClick:()=>{const V=k.byMonthDay;S({byMonthDay:V.includes(D)?V.filter(W=>W!==D):[...V,D]})},className:Xe("w-full aspect-square flex items-center justify-center text-[15px] rounded border transition-colors",O?"bg-blue-500 text-white border-blue-600":"bg-white dark:bg-slate-800 border-slate-200 dark:border-slate-600 text-slate-500 dark:text-slate-400 hover:border-blue-300"),children:D},D)})})]})]}),b.jsxs("div",{className:"grid grid-cols-2 gap-2 pt-2 border-t border-slate-200/50 dark:border-slate-700/50",children:[b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"Start Recurrence"}),b.jsx(F2,{value:k.start,onChange:D=>S({start:D&&ht.fromISO(D).toISODate()||""}),placeholder:"Select start",className:"h-8 text-xs"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"End Recurrence"}),b.jsx(F2,{value:k.end,onChange:D=>S({end:D&&ht.fromISO(D).toISODate()||""}),placeholder:"Select end",className:"h-8 text-xs"})]})]}),b.jsx("div",{className:"text-[10px] text-slate-400 italic bg-white/50 dark:bg-slate-800/50 p-2 rounded border border-slate-100 dark:border-slate-700 text-center",children:(()=>{try{const{freq:D,interval:O,byWeekDay:V,byMonth:W,byMonthDay:J,start:Z,end:te}=k;return new et({freq:D,interval:O,byweekday:D===et.WEEKLY?V:null,bymonth:D===et.YEARLY&&W.length>0?W:null,bymonthday:(D===et.MONTHLY||D===et.YEARLY)&&J.length>0?J:null,dtstart:Z?ht.fromISO(Z).toJSDate():void 0,until:te?ht.fromISO(te).endOf("day").toJSDate():void 0}).toText()}catch(D){return console.error(`invalid recurrence rule: ${D}`),"Invalid Rule"}})()})]})})})]})]})]}),b.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-slate-800/50 border-t border-slate-100 dark:border-slate-800 flex justify-end gap-3 sticky bottom-0 z-10 shrink-0",children:[b.jsx("button",{onClick:n,className:"px-4 py-2 text-sm font-medium text-slate-600 hover:text-slate-800 dark:text-slate-400 dark:hover:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-700 rounded-lg transition-colors",children:"Cancel"}),b.jsx("button",{onClick:M,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-lg shadow-sm shadow-blue-200 transition-colors",children:"Save Changes"})]})]})},aY=({isOpen:e,onClose:t,task:n,onSave:r,availableCategories:a})=>b.jsx(ql,{children:e&&n&&b.jsxs(b.Fragment,{children:[b.jsx(ao.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-50"}),b.jsx(ao.div,{initial:{opacity:0,scale:.95,y:"-50%",x:"-50%"},animate:{opacity:1,scale:1,y:"-50%",x:"-50%"},exit:{opacity:0,scale:.95,y:"-50%",x:"-50%"},className:"fixed top-1/2 left-1/2 w-full max-w-lg bg-paper rounded-xl shadow-2xl z-50 border border-slate-200 dark:border-slate-800 overflow-hidden text-slate-900",children:b.jsx(Lae,{task:n,onSave:r,onClose:t,availableCategories:a},n.id)})]})}),oY=()=>b.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 custom-scrollbar bg-slate-50/50 dark:bg-slate-900/10",children:[b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Activity",size:14,className:"text-blue-500"}),"Task Lifecycle & Auto-Status"]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-4 leading-relaxed",children:"The view automatically manages task statuses based on dates to keep your workflow organized. You rarely need to manually set status unless completing a task."}),b.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"AlertCircle",size:14,className:"text-rose-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Due / Overdue"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks due Today, Tomorrow, or in the past are automatically flagged as Urgent."})]}),b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Clock",size:14,className:"text-blue-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Scheduled (Doing)"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks with a future Start Date are marked as Scheduled until that date arrives."})]}),b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Zap",size:14,className:"text-purple-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Unplanned"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks without dates that need immediate attention. You must manually set this."})]}),b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Archive",size:14,className:"text-slate-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Backlog"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Items with no Due Date or Start Date appear in the Backlog section."})]})]})]}),b.jsx("div",{className:"h-px bg-slate-200 dark:bg-slate-700 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Code2",size:14,className:"text-emerald-500"}),"Scripting Guide"]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-4 leading-relaxed",children:"Unlock advanced control by writing short JavaScript snippets to filter and sort your tasks precisely."}),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"space-y-2",children:[b.jsxs("h4",{className:"text-xs font-bold text-slate-700 flex items-center gap-2",children:[b.jsx(We,{name:"Filter",size:12,className:"text-slate-400"}),"Filter Script"]}),b.jsxs("div",{className:"bg-[#1e1e1e] rounded-lg p-3 border border-slate-700 font-mono text-[10px] text-slate-300 shadow-inner",children:[b.jsx("p",{className:"text-slate-500 mb-1",children:"// Ex: Show only high priority tasks due today"}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"const"})," today ="," ",b.jsx("span",{className:"text-blue-400",children:"new"})," ","Date().toISOString().split('T')[0];"]}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"return"})," task.priority === 'high' && task.dueDate === today;"]})]}),b.jsxs("p",{className:"text-xs text-slate-500",children:[b.jsx("b",{children:"Variable:"})," ",b.jsx("code",{children:"task"})," (The Task object).",b.jsx("br",{}),b.jsx("b",{children:"Return:"})," ",b.jsx("code",{children:"true"})," to keep, ",b.jsx("code",{children:"false"})," to hide."]})]}),b.jsxs("div",{className:"space-y-2",children:[b.jsxs("h4",{className:"text-xs font-bold text-slate-700 flex items-center gap-2",children:[b.jsx(We,{name:"ArrowUpDown",size:12,className:"text-slate-400"}),"Sort Script"]}),b.jsxs("div",{className:"bg-[#1e1e1e] rounded-lg p-3 border border-slate-700 font-mono text-[10px] text-slate-300 shadow-inner",children:[b.jsx("p",{className:"text-slate-500 mb-1",children:"// Ex: Sort by title length, then alphabetically"}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"if"})," (a.title.length !== b.title.length) ",b.jsx("span",{className:"text-purple-400",children:"return"})," ","a.title.length - b.title.length;"]}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"return"})," ","a.title.localeCompare(b.title);"]})]}),b.jsxs("p",{className:"text-xs text-slate-500",children:[b.jsx("b",{children:"Variables:"})," ",b.jsx("code",{children:"a"}),", ",b.jsx("code",{children:"b"})," (Two Task objects to compare).",b.jsx("br",{}),b.jsx("b",{children:"Return:"})," Negative number if a < b, Positive if a > b, 0 if equal."]})]})]})]}),b.jsx("div",{className:"h-px bg-slate-200 dark:bg-slate-700 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Sparkles",size:14,className:"text-purple-500"}),"AI & Voice Intelligence"]}),b.jsxs("div",{className:"space-y-3",children:[b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"Mic",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"Voice Commands"}),b.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:'Click the microphone icon to speak. Supports natural language like "Buy milk tomorrow priority high".'})]})]}),b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"TerminalSquare",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"AI Mode"}),b.jsxs("p",{className:"text-xs text-slate-500 mt-0.5",children:["Toggle AI mode to use Gemini. It can Create, Update, Query, and Delete tasks.",b.jsx("br",{}),b.jsx("em",{className:"opacity-80",children:'Example: "Move all overdue tasks to next friday" or "Summarize my high priority work".'})]})]})]})]})]}),b.jsx("div",{className:"h-px bg-slate-200 dark:bg-slate-700 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Command",size:14,className:"text-slate-500"}),"Quick Controls"]}),b.jsxs("ul",{className:"text-xs text-slate-600 dark:text-slate-400 space-y-2",children:[b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Enter"}),b.jsx("span",{children:"Save task / Submit command"})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Double Click Delete"}),b.jsx("span",{children:"Click trash icon once to arm, twice to delete."})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Focus Mode"}),b.jsx("span",{children:"Hides everything except Today's active tasks."})]})]})]})]}),Iae=[{id:"system",name:"System",colors:"bg-slate-400 border-slate-700"},{id:"light",name:"Light",colors:"bg-white border-slate-200"},{id:"dark",name:"Dark",colors:"bg-slate-900 border-slate-700"},{id:"midnight",name:"Midnight",colors:"bg-[#0B1120] border-slate-800"},{id:"coffee",name:"Coffee",colors:"bg-[#f5f2eb] border-[#e8e4db]"}],iY=({theme:e,setTheme:t})=>b.jsxs(b.Fragment,{children:[b.jsx("h3",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-4",children:"Appearance"}),b.jsx("div",{className:"grid grid-cols-5 gap-2",children:Iae.map(n=>b.jsxs("button",{onClick:()=>t(n.id),className:Xe("flex flex-col items-center gap-2 p-2 rounded-xl border-2 transition-all outline-none",e===n.id?"border-blue-500 bg-blue-50/30 ring-2 ring-blue-200 dark:ring-blue-900":"border-transparent hover:bg-slate-50 dark:hover:bg-slate-800/50"),children:[b.jsx("div",{className:Xe("w-full aspect-square rounded-lg shadow-sm border border-slate-200/20",n.colors)}),b.jsx("span",{className:Xe("text-[10px] font-medium truncate w-full text-center",e===n.id?"text-blue-600":"text-slate-500"),children:n.name})]},n.id))})]}),Aae=[{id:"sm",label:"Small",class:"text-sm"},{id:"base",label:"Medium",class:"text-base"},{id:"lg",label:"Large",class:"text-lg"},{id:"xl",label:"Extra Large",class:"text-xl"}],sY=({fontSize:e,setFontSize:t})=>b.jsxs(b.Fragment,{children:[b.jsx("h3",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-4",children:"Typography"}),b.jsxs("div",{className:"space-y-2",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500",children:"Item Font Size"}),b.jsx("div",{className:"grid grid-cols-4 gap-2",children:Aae.map(n=>b.jsxs("button",{onClick:()=>t(n.id),className:Xe("py-2 px-1 rounded-lg border text-center transition-all",e===n.id?"border-blue-500 bg-blue-50 dark:bg-slate-700 text-blue-700 dark:text-blue-100 shadow-sm":"border-slate-200 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-800 text-slate-600 dark:text-slate-400"),children:[b.jsx("span",{className:Xe("block leading-none mb-1",n.class),children:"Ag"}),b.jsx("span",{className:"text-[10px] opacity-70",children:n.label})]},n.id))})]})]}),Eae=[{id:"dueAt",label:"Due Date"},{id:"createdAt",label:"Created Date"},{id:"startAt",label:"Start Date"},{id:"completedAt",label:"Completed Date"}],lY=[{value:"MMM d",label:"Oct 24"},{value:"EEE, MMM d",label:"Mon, Oct 24"},{value:"yyyy-MM-dd",label:"2023-10-24"},{value:"dd/MM/yyyy",label:"24/10/2023"}],cY=({showCompleted:e,toggleShowCompleted:t,useRelativeDates:n,toggleRelativeDates:r,showProgressBar:a,toggleProgressBar:l,defaultFocusMode:u,toggleDefaultFocus:p,setDateFormat:k,isCustomFormat:w,setIsCustomFormat:S,dateFormat:M,defaultCategory:I,setDefaultCategory:N,availableCategories:D,groupingStrategy:O,toggleGroupingStrategy:V})=>b.jsxs(b.Fragment,{children:[b.jsx("h3",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-4",children:"View Options"}),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Show Completed"}),b.jsx("span",{className:"text-xs text-slate-400",children:"Display finished items"})]}),b.jsx("button",{onClick:t,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",e?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:e?16:0}})})]}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Relative Dates"}),b.jsx("span",{className:"text-xs text-slate-400",children:'e.g. "In 2 days", "Yesterday"'})]}),b.jsx("button",{onClick:r,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",n?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:n?16:0}})})]}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Progress Bars"}),b.jsx("span",{className:"text-xs text-slate-400",children:"Show visual completion in timeline"})]}),b.jsx("button",{onClick:l,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",a?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:a?16:0}})})]}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Default Focus Mode"}),b.jsx("span",{className:"text-xs text-slate-400",children:"Start app in Focus Mode"})]}),b.jsx("button",{onClick:p,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",u?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:u?16:0}})})]}),b.jsxs("div",{className:"pt-2",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500 block mb-2",children:"Date Format"}),b.jsx("div",{className:"grid grid-cols-2 gap-2 mb-2",children:lY.map(W=>b.jsxs("button",{onClick:()=>{k(W.value),S(!1)},className:Xe("px-3 py-2 text-xs font-medium rounded-lg border transition-all text-left flex items-center justify-between",!w&&M===W.value?"bg-blue-50 border-blue-200 text-blue-700 shadow-sm":"bg-white border-slate-200 text-slate-600 hover:bg-slate-50"),children:[b.jsx("span",{children:W.label}),!w&&M===W.value&&b.jsx(We,{name:"Check",size:12,className:"text-blue-500"})]},W.value))}),b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsxs("button",{onClick:()=>S(!0),className:Xe("px-3 py-2 text-xs font-medium rounded-lg border transition-all text-left flex items-center justify-between flex-1",w?"bg-blue-50 border-blue-200 text-blue-700 shadow-sm":"bg-white border-slate-200 text-slate-600 hover:bg-slate-50"),children:[b.jsx("span",{children:"Custom..."}),w&&b.jsx(We,{name:"Check",size:12,className:"text-blue-500"})]}),w&&b.jsx("input",{type:"text",value:M,onChange:W=>k(W.target.value),className:"flex-1 px-3 py-2 text-xs bg-white border border-slate-200 rounded-lg outline-none focus:border-blue-500 font-mono",placeholder:"yyyy/MM/dd HH:mm"})]}),w&&b.jsxs("p",{className:"text-[10px] text-slate-400 mt-1 pl-1",children:["Uses Luxon format tokens (e.g. ",b.jsx("code",{children:"EEE, MMM d"}),")"]})]}),b.jsxs("div",{className:"pt-2 border-t border-slate-100 dark:border-slate-800",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500 block mb-2",children:"Default Category"}),b.jsxs("div",{className:"relative",children:[b.jsx("input",{type:"text",list:"category-suggestions",value:I,onChange:W=>N(W.target.value),className:"w-full px-3 py-2 text-xs bg-white border border-slate-200 rounded-lg outline-none focus:border-blue-500",placeholder:"General"}),b.jsx("datalist",{id:"category-suggestions",children:D.map(W=>b.jsx("option",{value:W},W))})]})]}),b.jsxs("div",{className:"pt-2 border-t border-slate-100 dark:border-slate-800",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500 block mb-2",children:"Group Tasks By (Multi-select)"}),b.jsx("div",{className:"grid grid-cols-2 gap-2",children:Eae.map(W=>{const J=O.includes(W.id);return b.jsxs("button",{onClick:()=>V(W.id),className:Xe("px-3 py-2 text-xs font-medium rounded-lg border transition-all text-left flex items-center justify-between group",J?"bg-blue-50 border-blue-200 text-blue-700 shadow-sm":"bg-white border-slate-200 text-slate-600 hover:bg-slate-50"),children:[b.jsx("span",{children:W.label}),J&&b.jsx(We,{name:"Check",size:12,className:"text-blue-500"})]},W.id)})})]})]})]}),Pae=({settings:e,onUpdateSettings:t,availableCategories:n})=>{const r=D=>t({...e,fontSize:D}),a=D=>t({...e,theme:D}),l=D=>t({...e,dateFormat:D}),u=D=>t({...e,defaultCategory:D}),p=()=>t({...e,showCompleted:!e.showCompleted}),k=()=>t({...e,useRelativeDates:!e.useRelativeDates}),w=()=>t({...e,showProgressBar:!e.showProgressBar}),S=()=>t({...e,defaultFocusMode:!e.defaultFocusMode}),M=D=>{const O=e.groupingStrategy,V=O.includes(D);let W;if(V){if(O.length===1)return;W=O.filter(J=>J!==D)}else W=[...O,D];t({...e,groupingStrategy:W})},[I,N]=fe.useState(!lY.some(D=>D.value===e.dateFormat));return b.jsx(b.Fragment,{children:b.jsxs("div",{className:"p-6 space-y-8",children:[b.jsx("section",{children:b.jsx(iY,{theme:e.theme,setTheme:a})}),b.jsx("section",{children:b.jsx(sY,{fontSize:e.fontSize,setFontSize:r})}),b.jsx("section",{children:b.jsx(cY,{showCompleted:e.showCompleted,toggleShowCompleted:p,useRelativeDates:e.useRelativeDates,toggleRelativeDates:k,showProgressBar:e.showProgressBar,toggleProgressBar:w,defaultFocusMode:e.defaultFocusMode,toggleDefaultFocus:S,dateFormat:e.dateFormat,setDateFormat:l,isCustomFormat:I,setIsCustomFormat:N,defaultCategory:e.defaultCategory,setDefaultCategory:u,availableCategories:n,groupingStrategy:e.groupingStrategy,toggleGroupingStrategy:M})})]})})};async function dY(){try{return await import("@google/genai")}catch{throw new Error("The '@google/genai' package is required. Install it with: pnpm add @google/genai")}}function Rae(e,t){switch(t){case"string":return e.STRING;case"number":return e.NUMBER;case"boolean":return e.BOOLEAN;case"array":return e.ARRAY;case"object":return e.OBJECT}}function dN(e,t){const n={type:Rae(e,t.type)};return t.description&&(n.description=t.description),t.enum&&(n.enum=t.enum),t.items&&(n.items=dN(e,t.items)),t.properties&&(n.properties=Object.fromEntries(Object.entries(t.properties).map(([r,a])=>[r,dN(e,a)]))),t.required&&(n.required=t.required),n}function Fae(e,t){return t.map(n=>({name:n.name,description:n.description,parameters:{type:e.OBJECT,properties:Object.fromEntries(Object.entries(n.parameters.properties).map(([r,a])=>[r,dN(e,a)])),required:n.parameters.required}}))}class Oae{config;constructor(t){this.config=t}async chat(t,n,r,a,l){const{GoogleGenAI:u,Type:p}=await dY(),k=new u({apiKey:this.config.apiKey}),w=Fae(p,r),S=[];if(l){for(const O of l)if(O.role==="user")S.push({role:"user",parts:[{text:O.content||""}]});else if(O.role==="assistant"){const V=[];if(O.content&&V.push({text:O.content}),O.toolCalls)for(const W of O.toolCalls)V.push({functionCall:{name:W.name,args:W.args}});S.push({role:"model",parts:V})}else if(O.role==="tool"&&O.toolResults){const V=O.toolResults.map(W=>({functionResponse:{name:W.name,response:{result:W.result}}}));S.push({role:"function",parts:V})}}const M=k.chats.create({model:this.config.model||"gemini-2.0-flash",config:{systemInstruction:t,tools:[{functionDeclarations:w}]},history:S.length>0?S:void 0});let I;a&&a.length>0?I=a.map(O=>({functionResponse:{name:O.name,response:{result:O.result}}})):I=n;const N=await M.sendMessage({message:I}),D={};return N.text&&(D.text=N.text),N.functionCalls&&N.functionCalls.length>0&&(D.toolCalls=N.functionCalls.map(O=>({name:O.name,args:O.args||{}}))),N.usageMetadata&&(D.tokenCount=N.usageMetadata.totalTokenCount||0),D}async test(){try{const{GoogleGenAI:t}=await dY();return{success:!0,message:`Connected to Gemini. Response: "${(await new t({apiKey:this.config.apiKey}).models.generateContent({model:this.config.model||"gemini-2.0-flash",contents:"Say hello in one word."})).text?.trim()}"`}}catch(t){return{success:!1,message:t instanceof Error?t.message:"Unknown error"}}}}class uY{config;constructor(t){this.config=t}async getClient(){try{const{default:t}=await import("openai");return new t({apiKey:this.config.apiKey,baseURL:this.config.baseUrl||void 0,dangerouslyAllowBrowser:!0})}catch{throw new Error("The 'openai' package is required. Install it with: pnpm add openai")}}async chat(t,n,r,a,l){const u=await this.getClient(),p=[{role:"system",content:t}];if(l){for(const I of l)if(I.role==="user")p.push({role:"user",content:I.content||""});else if(I.role==="assistant"){const N={role:"assistant",content:I.content||null};I.toolCalls&&I.toolCalls.length>0&&(N.tool_calls=I.toolCalls.map((D,O)=>({id:D.id||`call_${O}`,type:"function",function:{name:D.name,arguments:JSON.stringify(D.args)}}))),p.push(N)}else if(I.role==="tool"&&I.toolResults)for(const N of I.toolResults)p.push({role:"tool",content:JSON.stringify(N.result),tool_call_id:N.id||`call_${N.name}`})}if(a&&a.length>0)for(const I of a)p.push({role:"tool",content:JSON.stringify(I.result),tool_call_id:I.id||`call_${I.name}`});else p.push({role:"user",content:n});const k=r.map(I=>({type:"function",function:{name:I.name,description:I.description,parameters:I.parameters}})),w=await u.chat.completions.create({model:this.config.model||"gpt-4o",messages:p,tools:k.length>0?k:void 0}),S=w.choices[0],M={};return S?.message?.content&&(M.text=S.message.content),S?.message?.tool_calls&&S.message.tool_calls.length>0&&(M.toolCalls=S.message.tool_calls.filter(I=>I.type==="function").map(I=>({id:I.id,name:I.function.name,args:JSON.parse(I.function.arguments)}))),w.usage&&(M.tokenCount=w.usage.total_tokens),M}async test(){try{const r=(await(await this.getClient()).chat.completions.create({model:this.config.model||"gpt-4o",messages:[{role:"user",content:"Say hello in one word."}],max_tokens:10})).choices[0]?.message?.content?.trim();return{success:!0,message:`Connected to ${this.config.model||"gpt-4o"}. Response: "${r}"`}}catch(t){return{success:!1,message:t instanceof Error?t.message:"Unknown error"}}}}class Dae{config;constructor(t){this.config=t}async getClient(){try{const n=(await import("@anthropic-ai/sdk")).default;return new n({apiKey:this.config.apiKey,baseURL:this.config.baseUrl||void 0})}catch{throw new Error("The '@anthropic-ai/sdk' package is required. Install it with: pnpm add @anthropic-ai/sdk")}}async chat(t,n,r,a,l){const u=await this.getClient(),p=[];if(l){for(const M of l)if(M.role==="user")p.push({role:"user",content:M.content||""});else if(M.role==="assistant"){const I=[];if(M.content&&I.push({type:"text",text:M.content}),M.toolCalls)for(const N of M.toolCalls)I.push({type:"tool_use",id:N.id||`toolu_${N.name}`,name:N.name,input:N.args});p.push({role:"assistant",content:I.length>0?I:""})}else if(M.role==="tool"&&M.toolResults){const I=M.toolResults.map(N=>({type:"tool_result",tool_use_id:N.id||`toolu_${N.name}`,content:JSON.stringify(N.result)}));p.push({role:"user",content:I})}}if(a&&a.length>0){const M=a.map(I=>({type:"tool_result",tool_use_id:I.id||`toolu_${I.name}`,content:JSON.stringify(I.result)}));p.push({role:"user",content:M})}else p.push({role:"user",content:n});const k=r.map(M=>({name:M.name,description:M.description,input_schema:M.parameters})),w=await u.messages.create({model:this.config.model||"claude-sonnet-4-20250514",max_tokens:4096,system:t,messages:p,tools:k}),S={};for(const M of w.content)M.type==="text"?S.text=(S.text||"")+M.text:M.type==="tool_use"&&(S.toolCalls||(S.toolCalls=[]),S.toolCalls.push({id:M.id,name:M.name,args:M.input||{}}));return w.usage&&(S.tokenCount=w.usage.input_tokens+w.usage.output_tokens),S}async test(){try{const n=await(await this.getClient()).messages.create({model:this.config.model||"claude-sonnet-4-20250514",max_tokens:10,messages:[{role:"user",content:"Say hello in one word."}]}),r=n.content[0]?.type==="text"?n.content[0].text.trim():"";return{success:!0,message:`Connected to ${this.config.model||"claude-sonnet-4-20250514"}. Response: "${r}"`}}catch(t){return{success:!1,message:t instanceof Error?t.message:"Unknown error"}}}}const Nae=(e,t)=>{let n=`You are a task management assistant. You help users create, query, update, and delete tasks.
|
|
60
|
+
`)},Ene=0,I2=[];function Pne(e){var t=se.useRef([]),n=se.useRef([0,0]),r=se.useRef(),a=se.useState(Ene++)[0],l=se.useState(sW)[0],u=se.useRef(e);se.useEffect(function(){u.current=e},[e]),se.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var O=Qe([e.lockRef.current],(e.shards||[]).map(yW),!0).filter(Boolean);return O.forEach(function(V){return V.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),O.forEach(function(V){return V.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var p=se.useCallback(function(O,V){if("touches"in O&&O.touches.length===2||O.type==="wheel"&&O.ctrlKey)return!u.current.allowPinchZoom;var W=$R(O),J=n.current,Z="deltaX"in O?O.deltaX:J[0]-W[0],te="deltaY"in O?O.deltaY:J[1]-W[1],K,oe=O.target,be=Math.abs(Z)>Math.abs(te)?"h":"v";if("touches"in O&&be==="h"&&oe.type==="range")return!1;var he=window.getSelection(),Le=he&&he.anchorNode,He=Le?Le===oe||Le.contains(oe):!1;if(He)return!1;var lt=dW(be,oe);if(!lt)return!0;if(lt?K=be:(K=be==="v"?"h":"v",lt=dW(be,oe)),!lt)return!1;if(!r.current&&"changedTouches"in O&&(Z||te)&&(r.current=K),!K)return!0;var gt=r.current||K;return Lne(gt,V,O,gt==="h"?Z:te)},[]),k=se.useCallback(function(O){var V=O;if(!(!I2.length||I2[I2.length-1]!==l)){var W="deltaY"in V?fW(V):$R(V),J=t.current.filter(function(K){return K.name===V.type&&(K.target===V.target||V.target===K.shadowParent)&&Ine(K.delta,W)})[0];if(J&&J.should){V.cancelable&&V.preventDefault();return}if(!J){var Z=(u.current.shards||[]).map(yW).filter(Boolean).filter(function(K){return K.contains(V.target)}),te=Z.length>0?p(V,Z[0]):!u.current.noIsolation;te&&V.cancelable&&V.preventDefault()}}},[]),w=se.useCallback(function(O,V,W,J){var Z={name:O,delta:V,target:W,should:J,shadowParent:Rne(W)};t.current.push(Z),setTimeout(function(){t.current=t.current.filter(function(te){return te!==Z})},1)},[]),S=se.useCallback(function(O){n.current=$R(O),r.current=void 0},[]),M=se.useCallback(function(O){w(O.type,fW(O),O.target,p(O,e.lockRef.current))},[]),I=se.useCallback(function(O){w(O.type,$R(O),O.target,p(O,e.lockRef.current))},[]);se.useEffect(function(){return I2.push(l),e.setCallbacks({onScrollCapture:M,onWheelCapture:M,onTouchMoveCapture:I}),document.addEventListener("wheel",k,L2),document.addEventListener("touchmove",k,L2),document.addEventListener("touchstart",S,L2),function(){I2=I2.filter(function(O){return O!==l}),document.removeEventListener("wheel",k,L2),document.removeEventListener("touchmove",k,L2),document.removeEventListener("touchstart",S,L2)}},[]);var N=e.removeScrollBar,D=e.inert;return se.createElement(se.Fragment,null,D?se.createElement(l,{styles:Ane(a)}):null,N?se.createElement(bne,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Rne(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Fne=sne(iW,Pne);var pW=se.forwardRef(function(e,t){return se.createElement(QR,Aa({},e,{ref:t,sideCar:Fne}))});pW.classNames=QR.classNames;var eF="Popover",[gW]=ID(eF,[Z_]),If=Z_(),[One,Nh]=gW(eF),mW=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:l,modal:u=!1}=e,p=If(t),k=se.useRef(null),[w,S]=se.useState(!1),[M,I]=nW({prop:r,defaultProp:a??!1,onChange:l,caller:eF});return b.jsx(Bte,{...p,children:b.jsx(One,{scope:t,contentId:b_(),triggerRef:k,open:M,onOpenChange:I,onOpenToggle:se.useCallback(()=>I(N=>!N),[I]),hasCustomAnchor:w,onCustomAnchorAdd:se.useCallback(()=>S(!0),[]),onCustomAnchorRemove:se.useCallback(()=>S(!1),[]),modal:u,children:n})})};mW.displayName=eF;var vW="PopoverAnchor",Dne=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=Nh(vW,n),l=If(n),{onCustomAnchorAdd:u,onCustomAnchorRemove:p}=a;return se.useEffect(()=>(u(),()=>p()),[u,p]),b.jsx(eW,{...l,...r,ref:t})});Dne.displayName=vW;var kW="PopoverTrigger",bW=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=Nh(kW,n),l=If(n),u=Vu(t,a.triggerRef),p=b.jsx(ac.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":TW(a.open),...r,ref:u,onClick:Bu(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?p:b.jsx(eW,{asChild:!0,...l,children:p})});bW.displayName=kW;var QD="PopoverPortal",[Nne,zne]=gW(QD,{forceMount:void 0}),xW=e=>{const{__scopePopover:t,forceMount:n,children:r,container:a}=e,l=Nh(QD,t);return b.jsx(Nne,{scope:t,forceMount:n,children:b.jsx(ZR,{present:n||l.open,children:b.jsx(tW,{asChild:!0,container:a,children:r})})})};xW.displayName=QD;var A2="PopoverContent",wW=se.forwardRef((e,t)=>{const n=zne(A2,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,l=Nh(A2,e.__scopePopover);return b.jsx(ZR,{present:r||l.open,children:l.modal?b.jsx(Bne,{...a,ref:t}):b.jsx(Vne,{...a,ref:t})})});wW.displayName=A2;var Hne=s_("PopoverContent.RemoveScroll"),Bne=se.forwardRef((e,t)=>{const n=Nh(A2,e.__scopePopover),r=se.useRef(null),a=Vu(t,r),l=se.useRef(!1);return se.useEffect(()=>{const u=r.current;if(u)return qte(u)},[]),b.jsx(pW,{as:Hne,allowPinchZoom:!0,children:b.jsx(MW,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Bu(e.onCloseAutoFocus,u=>{u.preventDefault(),l.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Bu(e.onPointerDownOutside,u=>{const p=u.detail.originalEvent,k=p.button===0&&p.ctrlKey===!0,w=p.button===2||k;l.current=w},{checkForDefaultPrevented:!1}),onFocusOutside:Bu(e.onFocusOutside,u=>u.preventDefault(),{checkForDefaultPrevented:!1})})})}),Vne=se.forwardRef((e,t)=>{const n=Nh(A2,e.__scopePopover),r=se.useRef(!1),a=se.useRef(!1);return b.jsx(MW,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(r.current||n.triggerRef.current?.focus(),l.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(r.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const u=l.target;n.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),MW=se.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:k,onFocusOutside:w,onInteractOutside:S,...M}=e,I=Nh(A2,n),N=If(n);return cee(),b.jsx(p_,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:l,children:b.jsx(d_,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:S,onEscapeKeyDown:p,onPointerDownOutside:k,onFocusOutside:w,onDismiss:()=>I.onOpenChange(!1),children:b.jsx(Vte,{"data-state":TW(I.open),role:"dialog",id:I.contentId,...N,...M,ref:t,style:{...M.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),CW="PopoverClose",SW=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=Nh(CW,n);return b.jsx(ac.button,{type:"button",...r,ref:t,onClick:Bu(e.onClick,()=>a.onOpenChange(!1))})});SW.displayName=CW;var Une="PopoverArrow",_ne=se.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=If(n);return b.jsx(Ute,{...a,...r,ref:t})});_ne.displayName=Une;function TW(e){return e?"open":"closed"}var Wne=mW,Yne=bW,Zne=xW,LW=wW,Gne=SW;const IW=fe.createContext({portalContainer:null}),AW=()=>fe.useContext(IW).portalContainer,zh=Wne,Hh=Yne,L0=Gne,Yu=se.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},a)=>{const l=AW();return b.jsx(Zne,{container:l,children:b.jsx(LW,{ref:a,align:t,sideOffset:n,"data-slot":"popover-content",className:Xe("z-50 w-72 rounded-lg border bg-popover p-4 text-popover-foreground shadow-lg 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-popover-content-transform-origin]",e),...r})})});Yu.displayName=LW.displayName;const EW=6048e5,jne=864e5,PW=Symbol.for("constructDateFrom");function pl(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&PW in e?e[PW](t):e instanceof Date?new e.constructor(t):new Date(t)}function Zi(e,t){return pl(t||e,e)}function RW(e,t,n){const r=Zi(e,n?.in);if(isNaN(t))return pl(e,NaN);if(!t)return r;const a=r.getDate(),l=pl(e,r.getTime());l.setMonth(r.getMonth()+t+1,0);const u=l.getDate();return a>=u?l:(r.setFullYear(l.getFullYear(),l.getMonth(),a),r)}let Xne={};function Af(){return Xne}function E2(e,t){const n=Af(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Zi(e,t?.in),l=a.getDay(),u=(l<r?7:0)+l-r;return a.setDate(a.getDate()-u),a.setHours(0,0,0,0),a}function tF(e,t){return E2(e,{...t,weekStartsOn:1})}function FW(e,t){const n=Zi(e,t?.in),r=n.getFullYear(),a=pl(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const l=tF(a),u=pl(n,0);u.setFullYear(r,0,4),u.setHours(0,0,0,0);const p=tF(u);return n.getTime()>=l.getTime()?r+1:n.getTime()>=p.getTime()?r:r-1}function OW(e){const t=Zi(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function nF(e,...t){const n=pl.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function rF(e,t){const n=Zi(e,t?.in);return n.setHours(0,0,0,0),n}function Jne(e,t,n){const[r,a]=nF(n?.in,e,t),l=rF(r),u=rF(a),p=+l-OW(l),k=+u-OW(u);return Math.round((p-k)/jne)}function Kne(e,t){const n=FW(e,t),r=pl(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),tF(r)}function Qne(e){return pl(e,Date.now())}function DW(e,t,n){const[r,a]=nF(n?.in,e,t);return+rF(r)==+rF(a)}function qne(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function $ne(e){return!(!qne(e)&&typeof e!="number"||isNaN(+Zi(e)))}function ere(e,t){const n=Zi(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function tre(e,t){const[n,r]=nF(e,t.start,t.end);return{start:n,end:r}}function nre(e,t){const{start:n,end:r}=tre(t?.in,e);let a=+n>+r;const l=a?+n:+r,u=a?r:n;u.setHours(0,0,0,0);let p=1;const k=[];for(;+u<=l;)k.push(pl(n,u)),u.setDate(u.getDate()+p),u.setHours(0,0,0,0);return a?k.reverse():k}function aF(e,t){const n=Zi(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function rre(e,t){const n=Zi(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function are(e,t){const n=Af(),r=n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Zi(e,t?.in),l=a.getDay(),u=(l<r?-7:0)+6-(l-r);return a.setDate(a.getDate()+u),a.setHours(23,59,59,999),a}const ore={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ire=(e,t,n)=>{let r;const a=ore[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function qD(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const sre={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},lre={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},cre={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},dre={date:qD({formats:sre,defaultWidth:"full"}),time:qD({formats:lre,defaultWidth:"full"}),dateTime:qD({formats:cre,defaultWidth:"full"})},ure={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},hre=(e,t,n,r)=>ure[e];function Ef(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const u=e.defaultFormattingWidth||e.defaultWidth,p=n?.width?String(n.width):u;a=e.formattingValues[p]||e.formattingValues[u]}else{const u=e.defaultWidth,p=n?.width?String(n.width):e.defaultWidth;a=e.values[p]||e.values[u]}const l=e.argumentCallback?e.argumentCallback(t):t;return a[l]}}const fre={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},yre={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},pre={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},gre={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},mre={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},vre={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},kre={ordinalNumber:(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:Ef({values:fre,defaultWidth:"wide"}),quarter:Ef({values:yre,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Ef({values:pre,defaultWidth:"wide"}),day:Ef({values:gre,defaultWidth:"wide"}),dayPeriod:Ef({values:mre,defaultWidth:"wide",formattingValues:vre,defaultFormattingWidth:"wide"})};function Pf(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],l=t.match(a);if(!l)return null;const u=l[0],p=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],k=Array.isArray(p)?xre(p,M=>M.test(u)):bre(p,M=>M.test(u));let w;w=e.valueCallback?e.valueCallback(k):k,w=n.valueCallback?n.valueCallback(w):w;const S=t.slice(u.length);return{value:w,rest:S}}}function bre(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function xre(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function wre(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],l=t.match(e.parsePattern);if(!l)return null;let u=e.valueCallback?e.valueCallback(l[0]):l[0];u=n.valueCallback?n.valueCallback(u):u;const p=t.slice(a.length);return{value:u,rest:p}}}const Mre=/^(\d+)(th|st|nd|rd)?/i,Cre=/\d+/i,Sre={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Tre={any:[/^b/i,/^(a|c)/i]},Lre={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ire={any:[/1/i,/2/i,/3/i,/4/i]},Are={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ere={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Pre={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Rre={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Fre={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ore={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Dre={ordinalNumber:wre({matchPattern:Mre,parsePattern:Cre,valueCallback:e=>parseInt(e,10)}),era:Pf({matchPatterns:Sre,defaultMatchWidth:"wide",parsePatterns:Tre,defaultParseWidth:"any"}),quarter:Pf({matchPatterns:Lre,defaultMatchWidth:"wide",parsePatterns:Ire,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Pf({matchPatterns:Are,defaultMatchWidth:"wide",parsePatterns:Ere,defaultParseWidth:"any"}),day:Pf({matchPatterns:Pre,defaultMatchWidth:"wide",parsePatterns:Rre,defaultParseWidth:"any"}),dayPeriod:Pf({matchPatterns:Fre,defaultMatchWidth:"any",parsePatterns:Ore,defaultParseWidth:"any"})},Nre={code:"en-US",formatDistance:ire,formatLong:dre,formatRelative:hre,localize:kre,match:Dre,options:{weekStartsOn:0,firstWeekContainsDate:1}};function zre(e,t){const n=Zi(e,t?.in);return Jne(n,rre(n))+1}function Hre(e,t){const n=Zi(e,t?.in),r=+tF(n)-+Kne(n);return Math.round(r/EW)+1}function NW(e,t){const n=Zi(e,t?.in),r=n.getFullYear(),a=Af(),l=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,u=pl(t?.in||e,0);u.setFullYear(r+1,0,l),u.setHours(0,0,0,0);const p=E2(u,t),k=pl(t?.in||e,0);k.setFullYear(r,0,l),k.setHours(0,0,0,0);const w=E2(k,t);return+n>=+p?r+1:+n>=+w?r:r-1}function Bre(e,t){const n=Af(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=NW(e,t),l=pl(t?.in||e,0);return l.setFullYear(a,0,r),l.setHours(0,0,0,0),E2(l,t)}function Vre(e,t){const n=Zi(e,t?.in),r=+E2(n,t)-+Bre(n,t);return Math.round(r/EW)+1}function Qn(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Bh={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Qn(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Qn(n+1,2)},d(e,t){return Qn(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Qn(e.getHours()%12||12,t.length)},H(e,t){return Qn(e.getHours(),t.length)},m(e,t){return Qn(e.getMinutes(),t.length)},s(e,t){return Qn(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return Qn(a,t.length)}},P2={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},zW={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return Bh.y(e,t)},Y:function(e,t,n,r){const a=NW(e,r),l=a>0?a:1-a;if(t==="YY"){const u=l%100;return Qn(u,2)}return t==="Yo"?n.ordinalNumber(l,{unit:"year"}):Qn(l,t.length)},R:function(e,t){const n=FW(e);return Qn(n,t.length)},u:function(e,t){const n=e.getFullYear();return Qn(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Qn(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Qn(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Bh.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Qn(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=Vre(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):Qn(a,t.length)},I:function(e,t,n){const r=Hre(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):Qn(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Bh.d(e,t)},D:function(e,t,n){const r=zre(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Qn(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),l=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(l);case"ee":return Qn(l,2);case"eo":return n.ordinalNumber(l,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),l=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(l);case"cc":return Qn(l,t.length);case"co":return n.ordinalNumber(l,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return Qn(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=P2.noon:r===0?a=P2.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=P2.evening:r>=12?a=P2.afternoon:r>=4?a=P2.morning:a=P2.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Bh.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Bh.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Qn(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):Qn(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Bh.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Bh.s(e,t)},S:function(e,t){return Bh.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return BW(r);case"XXXX":case"XX":return I0(r);default:return I0(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return BW(r);case"xxxx":case"xx":return I0(r);default:return I0(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+HW(r,":");default:return"GMT"+I0(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+HW(r,":");default:return"GMT"+I0(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return Qn(r,t.length)},T:function(e,t,n){return Qn(+e,t.length)}};function HW(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),l=r%60;return l===0?n+String(a):n+String(a)+t+Qn(l,2)}function BW(e,t){return e%60===0?(e>0?"-":"+")+Qn(Math.abs(e)/60,2):I0(e,t)}function I0(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Qn(Math.trunc(r/60),2),l=Qn(r%60,2);return n+a+t+l}const VW=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},UW=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ure={p:UW,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return VW(e,t);let l;switch(r){case"P":l=t.dateTime({width:"short"});break;case"PP":l=t.dateTime({width:"medium"});break;case"PPP":l=t.dateTime({width:"long"});break;default:l=t.dateTime({width:"full"});break}return l.replace("{{date}}",VW(r,t)).replace("{{time}}",UW(a,t))}},_re=/^D+$/,Wre=/^Y+$/,Yre=["D","DD","YY","YYYY"];function Zre(e){return _re.test(e)}function Gre(e){return Wre.test(e)}function jre(e,t,n){const r=Xre(e,t,n);if(console.warn(r),Yre.includes(e))throw new RangeError(r)}function Xre(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Jre=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Kre=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Qre=/^'([^]*?)'?$/,qre=/''/g,$re=/[a-zA-Z]/;function _W(e,t,n){const r=Af(),a=r.locale??Nre,l=r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,u=r.weekStartsOn??r.locale?.options?.weekStartsOn??0,p=Zi(e,n?.in);if(!$ne(p))throw new RangeError("Invalid time value");let k=t.match(Kre).map(S=>{const M=S[0];if(M==="p"||M==="P"){const I=Ure[M];return I(S,a.formatLong)}return S}).join("").match(Jre).map(S=>{if(S==="''")return{isToken:!1,value:"'"};const M=S[0];if(M==="'")return{isToken:!1,value:eae(S)};if(zW[M])return{isToken:!0,value:S};if(M.match($re))throw new RangeError("Format string contains an unescaped latin alphabet character `"+M+"`");return{isToken:!1,value:S}});a.localize.preprocessor&&(k=a.localize.preprocessor(p,k));const w={firstWeekContainsDate:l,weekStartsOn:u,locale:a};return k.map(S=>{if(!S.isToken)return S.value;const M=S.value;(Gre(M)||Zre(M))&&jre(M,t,String(e));const I=zW[M[0]];return I(p,M,a.localize,w)}).join("")}function eae(e){const t=e.match(Qre);return t?t[1].replace(qre,"'"):e}function tae(e,t,n){const[r,a]=nF(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function nae(e,t){return DW(pl(e,e),Qne(e))}function rae(e,t,n){return RW(e,-1,n)}var aae=Symbol.for("react.lazy"),oF=se[" use ".trim().toString()];function oae(e){return typeof e=="object"&&e!==null&&"then"in e}function WW(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===aae&&"_payload"in e&&oae(e._payload)}function iae(e){const t=lae(e),n=se.forwardRef((r,a)=>{let{children:l,...u}=r;WW(l)&&typeof oF=="function"&&(l=oF(l._payload));const p=se.Children.toArray(l),k=p.find(dae);if(k){const w=k.props.children,S=p.map(M=>M===k?se.Children.count(w)>1?se.Children.only(null):se.isValidElement(w)?w.props.children:null:M);return b.jsx(t,{...u,ref:a,children:se.isValidElement(w)?se.cloneElement(w,void 0,S):null})}return b.jsx(t,{...u,ref:a,children:l})});return n.displayName=`${e}.Slot`,n}var sae=iae("Slot");function lae(e){const t=se.forwardRef((n,r)=>{let{children:a,...l}=n;if(WW(a)&&typeof oF=="function"&&(a=oF(a._payload)),se.isValidElement(a)){const u=hae(a),p=uae(l,a.props);return a.type!==se.Fragment&&(p.ref=r?LD(r,u):u),se.cloneElement(a,p)}return se.Children.count(a)>1?se.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var cae=Symbol("radix.slottable");function dae(e){return se.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cae}function uae(e,t){const n={...t};for(const r in t){const a=e[r],l=t[r];/^on[A-Z]/.test(r)?a&&l?n[r]=(...p)=>{const k=l(...p);return a(...p),k}:a&&(n[r]=a):r==="style"?n[r]={...a,...l}:r==="className"&&(n[r]=[a,l].filter(Boolean).join(" "))}return{...e,...n}}function hae(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}const YW=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ZW=yU,fae=((e,t)=>n=>{var r;if(t?.variants==null)return ZW(e,n?.class,n?.className);const{variants:a,defaultVariants:l}=t,u=Object.keys(a).map(w=>{const S=n?.[w],M=l?.[w];if(S===null)return null;const I=YW(S)||YW(M);return a[w][I]}),p=n&&Object.entries(n).reduce((w,S)=>{let[M,I]=S;return I===void 0||(w[M]=I),w},{}),k=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((w,S)=>{let{class:M,className:I,...N}=S;return Object.entries(N).every(D=>{let[O,V]=D;return Array.isArray(V)?V.includes({...l,...p}[O]):{...l,...p}[O]===V})?[...w,M,I]:w},[]);return ZW(e,u,k,n?.class,n?.className)})("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Rf=se.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...a},l)=>{const u=r?sae:"button";return b.jsx(u,{className:Xe(fae({variant:t,size:n,className:e})),ref:l,...a})});Rf.displayName="Button";function GW({className:e,selected:t,onSelect:n,disabled:r}){const[a,l]=se.useState(()=>aF(t||new Date)),u=["Su","Mo","Tu","We","Th","Fr","Sa"],p=aF(a),k=ere(a),w=E2(p),S=are(k),M=nre({start:w,end:S}),I=()=>{l(rae(a))},N=()=>{l(RW(a,1))},D=O=>{r?.(O)||n?.(O)};return b.jsxs("div",{"data-slot":"calendar",className:Xe("bg-popover p-3 w-[280px] select-none",e),children:[b.jsxs("div",{className:"flex items-center justify-between mb-3",children:[b.jsx(Rf,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-accent rounded-full",onClick:I,type:"button",children:b.jsx(bf,{className:"h-4 w-4"})}),b.jsx("span",{className:"text-sm font-semibold text-foreground",children:_W(a,"MMMM yyyy")}),b.jsx(Rf,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-accent rounded-full",onClick:N,type:"button",children:b.jsx(xf,{className:"h-4 w-4"})})]}),b.jsx("div",{className:"grid grid-cols-7 mb-2",children:u.map(O=>b.jsx("div",{className:"h-8 flex items-center justify-center text-xs font-medium text-muted-foreground",children:O},O))}),b.jsx("div",{className:"grid grid-cols-7 gap-0.5",children:M.map((O,V)=>{const W=tae(O,a),J=t&&DW(O,t),Z=nae(O),te=r?.(O);return b.jsx("button",{type:"button",onClick:()=>D(O),disabled:te,className:Xe("h-8 w-8 mx-auto rounded-full text-sm font-normal transition-all duration-150","hover:bg-accent hover:text-accent-foreground","focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1","active:scale-95",!W&&"text-muted-foreground/40",Z&&!J&&"bg-accent text-accent-foreground font-semibold ring-1 ring-primary/30",J&&"bg-primary text-primary-foreground font-semibold shadow-sm hover:bg-primary/90 hover:text-primary-foreground",te&&"pointer-events-none opacity-30"),children:_W(O,"d")},V)})}),b.jsx("div",{className:"mt-3 pt-3 border-t border-border",children:b.jsx(Rf,{variant:"ghost",size:"sm",type:"button",className:"w-full text-xs font-medium text-muted-foreground hover:text-foreground",onClick:()=>{const O=new Date;l(aF(O)),n?.(O)},children:"Today"})})]})}const iF=({type:e,date:t,label:n,icon:r,className:a,prefix:l="",onUpdate:u,task:p})=>{const[k,w]=fe.useState(()=>{if(!t)return;const J=ht.fromISO(t);return J.isValid?J.toJSDate():void 0}),[S,M]=fe.useState(()=>{if(!t)return"00:00";const J=ht.fromISO(t);return J.isValid?J.toFormat("HH:mm"):"00:00"}),I=e==="startAt"||e==="createdAt"||e==="completedAt",N=e.endsWith("At")?e.slice(0,e.length-2).toUpperCase():"",D=J=>{w(J)},O=J=>{M(J.target.value)},V=()=>{let J="";if(k){let te=ht.fromJSDate(k);if(I&&S){const[K,oe]=S.split(":").map(Number);te=te.set({hour:K,minute:oe})}J=I?te.toISO()||"":te.toISODate()||""}u({...p,[e==="dueDate"?"dueAt":e]:J})},W={dueDate:"Change Due Date",startAt:"Change Start Date",createdAt:"Change Created Date",completedAt:"Change Completed Date"};return b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:a,title:W[e],children:[b.jsx(We,{name:r,size:10,className:"shrink-0"}),b.jsxs("span",{className:"font-mono truncate",children:[l,n]})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:4,className:"z-9999 outline-none w-auto p-0",children:b.jsxs(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},children:[b.jsx(GW,{mode:"single",selected:k,onSelect:D}),I&&b.jsxs("div",{className:"border-t border-border px-3 py-2",children:[b.jsx("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Time"}),b.jsx("input",{type:"time",value:S,onChange:O,className:Xe("w-full px-3 py-2 bg-background border border-input rounded-md text-sm","focus:ring-2 focus:ring-ring focus:border-ring outline-none")})]}),b.jsx("div",{className:"border-t border-border p-2",children:b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:V,className:Xe("w-full text-primary text-xs font-semibold py-2 rounded-md","hover:bg-accent transition-colors"),children:["Save ",N," date"]})})})]})})]})},yae=({tag:e,badgeClass:t,task:n,onUpdate:r})=>b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:Xe(t,"text-blue-600 bg-blue-50/80 border-blue-100/50 hover:bg-rose-50 hover:text-rose-600 hover:border-rose-100 transition-colors"),title:"Click to remove",children:[b.jsx(We,{name:"Tag",size:10,className:"shrink-0"}),b.jsx("span",{className:"truncate",children:e.name})]})}),b.jsx(Yu,{side:"top",align:"center",sideOffset:4,className:"z-9999 outline-none w-auto p-0",children:b.jsx(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"p-1",children:b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:()=>r({...n,tags:n.tags.filter(a=>a.id!==e.id)}),className:"flex items-center gap-1.5 text-xs text-rose-600! px-2 py-1 rounded hover:bg-rose-50",children:[b.jsx(We,{name:"Trash",size:12}),"Remove Tag"]})})})})]}),pae=({task:e,badgeClass:t,onUpdate:n})=>{const r=e.priority;let a="text-slate-600 bg-slate-100 border-slate-200";return r==="high"&&(a="text-rose-700 bg-rose-100 border-rose-200"),r==="medium"&&(a="text-amber-700 bg-amber-100 border-amber-200"),b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:Xe(t,a),title:"Change Priority",children:[b.jsx(We,{name:"Flag",size:10,strokeWidth:r==="high"?3:2}),b.jsx("span",{className:"capitalize",children:r})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:4,className:"z-9999 outline-none w-auto p-1",children:b.jsx(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"flex flex-col gap-1",children:["high","medium","low"].map(l=>b.jsx(L0,{asChild:!0,children:b.jsx("button",{onClick:()=>n({...e,priority:l}),children:b.jsxs("div",{className:Xe("flex items-center gap-2 px-2 py-1.5 text-xs rounded-md text-left transition-colors justify-start! hover:bg-slate-300",e.priority===l?"bg-rose-300 font-bold":"hover:opacity-80 text-slate-600"),children:[b.jsx(We,{name:"Flag",size:10,className:l==="high"?"text-rose-500":l==="medium"?"text-amber-500":"text-slate-400"}),b.jsx("span",{className:"capitalize",children:l})]})})},l))})})]})},gae=({task:e,onUpdate:t,availableCategories:n,badgeClass:r})=>{const[a,l]=fe.useState(e.category||""),u=n.filter(p=>p.toLowerCase().includes(a.toLowerCase())&&p!==a).slice(0,5)||[];return b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:Xe(r,"text-slate-600 bg-slate-100 border-slate-200"),title:"Change Category",children:[b.jsx(We,{name:"Folder",size:10}),b.jsx("span",{children:e.category||"No Category"})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:4,className:"z-9999 outline-none w-48 p-2",children:b.jsxs(So,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},children:[b.jsx("input",{autoFocus:!0,value:a,onChange:p=>l(p.target.value),onKeyDown:p=>{p.key==="Enter"&&t({...e,category:a})},className:"w-full text-xs border border-slate-200 rounded px-2 py-1 mb-2 focus:ring-2 focus:ring-blue-500/20 outline-none",placeholder:"Category name..."}),b.jsxs("div",{className:"flex flex-col gap-0.5",children:[u.map(p=>b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:()=>t({...e,category:p}),className:"text-left px-2 py-1.5 text-xs text-slate-600 hover:opacity-80 rounded flex items-center gap-2 justify-start!",children:[b.jsx(We,{name:"Folder",size:10,className:"opacity-50"}),p]})},p)),b.jsx(L0,{asChild:!0,children:b.jsxs("button",{onClick:()=>t({...e,category:a}),className:"text-center px-2 py-1.5 text-xs text-blue-600! hover:opacity-80 rounded font-medium mt-1",children:['Set to "',a,'"']})})]})]})})]})},jW=fe.createContext(void 0);function sF(){const e=fe.useContext(jW);if(!e)throw new Error("useTasksContext must be used within TasksProvider");return e}function mae({children:e,value:t}){return b.jsx(jW.Provider,{value:t,children:e})}const XW=fe.createContext(void 0);function R2(){const e=fe.useContext(XW);if(!e)throw new Error("useSettingsContext must be used within SettingsProvider");return e}function vae({children:e,value:t}){return b.jsx(XW.Provider,{value:t,children:e})}const lF=e=>e?ht.fromISO(e).isValid:!1,$D=({task:e,dateValidation:t})=>{const{onUpdateTask:n,onDeleteTask:r,onEditTask:a,availableCategories:l,onItemClick:u,renderTitle:p}=sF(),{settings:k}=R2(),[w,S]=fe.useState(!1),[M,I]=fe.useState(e.title),[N,D]=fe.useState(!1),O=fe.useRef(null),V=fe.useRef(null),W=e.status==="done",J=e.status==="cancelled",Z=Ph(),te=!W&&!J&&e.priority==="high"&&(e.status==="overdue"||e.status==="due"||e.dueAt&&e.dueAt<=Z),K={sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl"}[k.fontSize]||"text-sm",oe={sm:"mt-0.5",base:"mt-0.5",lg:"mt-1",xl:"mt-1.5"}[k.fontSize]||"mt-0.5",be={sm:"text-[10px]",base:"text-[11px]",lg:"text-xs",xl:"text-sm"}[k.fontSize]||"text-[11px]";fe.useEffect(()=>{w&&V.current&&V.current.focus()},[w]);const he=pe=>{const Ee=ht.now().toISO(),Oe={status:pe};(pe==="doing"||pe==="scheduled")&&!e.startAt&&e.status==="todo"&&(Oe.startAt=Ee||void 0),pe==="done"&&!e.completedAt&&(Oe.completedAt=Ee||void 0),pe==="cancelled"&&!e.cancelledAt&&(Oe.cancelledAt=Ee||void 0),n({...e,...Oe})},Le=()=>{M.trim()?n({...e,title:M}):I(e.title),S(!1)},He=pe=>{pe.key==="Enter"&&Le(),pe.key==="Escape"&&(I(e.title),S(!1))},lt=()=>{N?(r(e.id),O.current&&window.clearTimeout(O.current)):(D(!0),O.current=window.setTimeout(()=>{D(!1)},2e3))},gt=(pe,Ee)=>Ee==="done"||Ee==="cancelled"?"text-emerald-600 bg-emerald-50 border-emerald-200":pe?Ee==="overdue"||pe<Z?"text-rose-600 bg-rose-50 border-rose-200":pe===Z?"text-amber-600 bg-amber-50 border-amber-200":"text-emerald-600 bg-emerald-50 border-emerald-200":"text-slate-400",Fe=pe=>{switch(pe){case"done":return"bg-emerald-500";case"doing":return"bg-sky-500";case"scheduled":return"bg-blue-500";case"due":return"bg-amber-500";case"overdue":return"bg-rose-500";case"cancelled":return"bg-slate-300";case"unplanned":return"bg-purple-500";default:return"bg-slate-200"}},qe=pe=>{switch(pe){case"done":return"CheckCircle2";case"doing":return"PlayCircle";case"scheduled":return"Clock";case"due":return"AlertCircle";case"overdue":return"AlertTriangle";case"cancelled":return"XCircle";case"unplanned":return"Zap";default:return"Circle"}},ze=pe=>{switch(pe){case"done":return"text-emerald-500";case"doing":return"text-sky-500";case"scheduled":return"text-blue-500";case"due":return"text-amber-500";case"overdue":return"text-rose-500";case"cancelled":return"text-slate-300";case"unplanned":return"text-purple-500";default:return"text-slate-300 group-hover:text-slate-400"}},ie=(pe,Ee=16)=>b.jsx(We,{name:qe(pe),size:Ee,className:ze(pe),strokeWidth:pe==="done"?2.5:2}),ve=["todo","doing","scheduled","done","unplanned","due","overdue","cancelled"],Ce=e.dueAt?o_(e.dueAt):null,Tt=e.startAt?o_(e.startAt):null,ee=Ce||Tt,_="flex items-center gap-1 min-[400px]:gap-1.5 px-1.5 min-[400px]:px-2 h-4.5 min-[400px]:h-5 rounded-full border font-medium leading-none cursor-pointer hover:bg-slate-50 transition-colors select-none text-[length:inherit]";return b.jsxs(So,{initial:{opacity:0,y:5},animate:{opacity:1,y:0},exit:{opacity:0,height:0},className:Xe("group relative flex items-stretch gap-1 min-[400px]:gap-1.5 sm:gap-2 pb-1.5 pt-0.5 px-0.5 sm:px-1 transition-all rounded-lg",(W||J)&&"opacity-60",te?"bg-rose-50/60 border border-rose-100 shadow-sm shadow-rose-100/50 hover:bg-rose-100/50":"hover:bg-slate-50 border border-transparent"),children:[b.jsxs("div",{className:Xe("relative flex flex-col items-center shrink-0","w-4 min-[400px]:w-5 sm:w-6",oe),children:[b.jsx("div",{className:Xe("absolute -top-1 h-6.5 w-px left-1/2 -translate-x-1/2 group-first:hidden","bg-slate-200")}),b.jsx("div",{className:Xe("absolute top-5 -bottom-1 w-px left-1/2 -translate-x-1/2 group-last:hidden",Fe(e.status))}),b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsx("button",{className:Xe("relative z-10 w-6 h-6 flex items-center justify-center transition-transform active:scale-90 outline-none focus:ring-2 focus:ring-slate-200 rounded-full",te?"bg-rose-50 hover:bg-rose-100 shadow-sm":"bg-white hover:bg-slate-50"),title:`Change Status (Current: ${e.status})`,children:ie(e.status,18)})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:5,collisionPadding:10,className:"z-9999 outline-none w-44 p-1.5",children:b.jsx(So,{initial:{opacity:0,scale:.9,y:-5},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:-5},transition:{duration:.15},children:b.jsxs("div",{className:"flex flex-col gap-0.5",children:[ve.map(pe=>b.jsx(L0,{asChild:!0,children:b.jsx("button",{onClick:()=>he(pe),children:b.jsxs("div",{className:Xe("w-full flex items-center gap-2.5 px-3 py-2 text-xs font-medium font-mono rounded-lg transition-all hover:bg-slate-300 text-left outline-none","justify-start! text-left!",e.status===pe?"bg-slate-200/60 text-slate-900 font-semibold":"text-slate-600 hover:text-slate-900 hover:opacity-80 active:scale-[0.98]"),children:[b.jsx("div",{className:Xe("shrink-0",e.status===pe?"opacity-100":"opacity-70"),children:ie(pe,14)}),b.jsx("span",{className:"capitalize",children:pe})]})})},pe)),b.jsx("div",{className:"h-px bg-slate-100 my-1 mx-1"}),b.jsx(L0,{asChild:!0,children:b.jsx("button",{onClick:()=>a?.(e),children:b.jsxs("div",{className:"w-full flex items-center justify-start! gap-2 px-3 py-2 text-xs font-medium text-slate-600 hover:text-blue-600 hover:opacity-80 hover:bg-slate-300 transition-all text-left outline-none rounded-lg",children:[b.jsx(We,{name:"Pencil",size:14,className:"opacity-70"}),b.jsx("span",{children:"Edit Details"})]})})})]})})})]})]}),b.jsxs("div",{className:Xe("flex-1 min-w-0 pt-0.5",ee?"pr-12 sm:pr-16":"pr-6 sm:pr-8"),children:[b.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2 min-h-5.5 mb-0.5",children:[w?b.jsx("input",{ref:V,value:M,onChange:pe=>I(pe.target.value),onBlur:Le,onKeyDown:He,className:Xe("flex-1 min-w-0 bg-transparent border-b border-blue-400 focus:outline-none font-medium text-slate-800 pb-0.5",K)}):b.jsx(b.Fragment,{children:b.jsx(OR,{onClick:()=>S(!0),className:Xe("font-medium leading-tight text-slate-800 transition-all cursor-text text-left border-none bg-transparent p-0 appearance-none font-inherit truncate flex-1 min-w-0",K,W&&"line-through text-slate-500 decoration-slate-300",J&&"line-through text-slate-400 decoration-slate-300",te&&"text-rose-700 font-semibold"),children:p?p(e.title):e.title})}),!w&&b.jsx(OR,{whileHover:{scale:1.1},onClick:()=>S(!0),className:"opacity-0 group-hover:opacity-100 transition-opacity text-slate-300 hover:text-blue-500 p-1 shrink-0 bg-transparent border-none",children:b.jsx(We,{name:"Pencil",size:12})})]}),b.jsxs("div",{className:Xe("flex flex-wrap items-center gap-1 min-[400px]:gap-1.5 sm:gap-2 font-medium text-slate-500",be),onClick:pe=>{u&&pe.target===pe.currentTarget&&u?.(e)},children:[b.jsx(pae,{task:e,onUpdate:n,badgeClass:_}),t&&(t.hasInvalidDates?b.jsxs("div",{className:"flex items-center gap-1.5 px-2 h-5 rounded-full border font-medium leading-none text-rose-600 bg-rose-50 border-rose-200",title:"One or more dates have an invalid format",children:[b.jsx(We,{name:"AlertTriangle",size:10}),b.jsx("span",{className:"text-[10px]",children:"Invalid Date"})]}):t.hasMissingDates?b.jsxs("div",{className:"flex items-center gap-1.5 px-2 h-5 rounded-full border font-medium leading-none text-amber-600 bg-amber-50 border-amber-200",title:"This task has no dates set",children:[b.jsx(We,{name:"AlertCircle",size:10}),b.jsx("span",{className:"text-[10px]",children:"No Dates"})]}):null),e.category&&b.jsx(gae,{task:e,onUpdate:n,badgeClass:_,availableCategories:l}),!k.groupingStrategy.includes("createdAt")&&lF(e.createdAt)&&b.jsx(iF,{type:"createdAt",date:e.createdAt,label:PR(e.createdAt,k.useRelativeDates,k.dateFormat),task:e,onUpdate:n,icon:"Plus",className:Xe(_,"text-slate-500 bg-slate-50 border-slate-200","hidden min-[400px]:flex")}),lF(e.startAt)&&b.jsx(iF,{type:"startAt",date:e.startAt,label:PR(e.startAt,k.useRelativeDates,k.dateFormat),icon:"PlayCircle",task:e,onUpdate:n,className:Xe(_,"text-slate-500 bg-slate-50 border-slate-200")}),lF(e.dueAt)&&b.jsx(iF,{type:"dueDate",date:e.dueAt,label:`Due: ${PR(e.dueAt,k.useRelativeDates,k.dateFormat)}`,icon:"Calendar",task:e,onUpdate:n,className:Xe(_,gt(e.dueAt,e.status))}),lF(e.completedAt)&&b.jsx(iF,{type:"completedAt",date:e.completedAt,label:`Done: ${PR(e.completedAt,k.useRelativeDates,k.dateFormat)}`,icon:"CheckCircle2",task:e,onUpdate:n,className:Xe(_,"text-emerald-600 bg-emerald-50 border-emerald-200")}),e.isRecurring&&e.recurringInterval&&b.jsxs("div",{className:Xe(_,"text-slate-500 bg-slate-100 border-slate-200 cursor-default"),title:H$(e.recurringInterval),children:[b.jsx(We,{name:"Repeat",size:10}),b.jsx("span",{className:"capitalize",children:"Recurring"})]}),e.tags.map((pe,Ee)=>b.jsx(yae,{tag:pe,task:e,onUpdate:n,badgeClass:_},`${e.id}-tag-${Ee}`))]}),e.description&&b.jsxs("div",{className:"mt-1 flex items-start gap-1.5 text-slate-400",children:[b.jsx(We,{name:"FileText",size:10,className:"mt-0.5 shrink-0"}),b.jsx("p",{className:Xe("leading-relaxed line-clamp-2",be),children:e.description})]})]}),ee&&b.jsx("div",{className:"absolute right-8 top-3 text-[10px] font-mono font-bold text-slate-400 bg-slate-50 border border-slate-100 px-1.5 py-0.5 rounded-md",children:ee}),b.jsx(OR,{onClick:lt,className:Xe("absolute top-2 right-1 p-1.5 rounded-md transition-all",N?"bg-rose-100 text-rose-600 opacity-100":"text-slate-300 opacity-0 group-hover:opacity-100 hover:text-rose-500 hover:bg-slate-100"),whileHover:{scale:1.1},whileTap:{scale:.9},title:N?"Click again to confirm delete":"Delete task",children:b.jsx(We,{name:N?"Trash2":"Trash",size:14})})]})},eN=(e,t,n)=>{const[r,a]=fe.useState(!1),[l,u]=fe.useState(null),p=fe.useCallback(()=>{if(!e.enabled){wt.warn("Voice","Voice input is disabled in settings");return}let w=null;switch(e.activeProvider){case"browser":w=new Y$;break;case"openai":w=new Z$(e.providers.openai);break;case"gemini":w=new G$(e.providers.gemini);break;default:n(`Unknown voice provider: ${e.activeProvider}`);return}if(!w.isAvailable()){n(`${w.getName()} is not available in this browser.`),wt.error("Voice",`Provider ${w.getName()} is not available`);return}wt.info("Voice",`Starting ${w.getName()}...`,{language:e.language||navigator.language}),a(!0);const S=N=>{wt.info("Voice","Transcription received",{text:N.transcript,confidence:N.confidence}),a(!1),t(N.transcript)},M=N=>{wt.error("Voice","Voice input error",N),a(!1),n(N.message)},I=w.start(e.language,S,M);u(()=>I)},[e,t,n]),k=fe.useCallback(()=>{l&&(l(),u(null)),a(!1)},[l]);return{isListening:r,start:p,stop:k}},kae=52;function tN(e,t={}){const{rootMargin:n="500px 0px",enabled:r=!0}=t,[a,l]=fe.useState(!r),[u,p]=fe.useState(null),k=fe.useRef(null),w=fe.useRef(null),S=fe.useRef(null),M=e*kae,I=fe.useCallback(()=>{w.current&&p(w.current.offsetHeight)},[]);fe.useEffect(()=>{if(!r)return;const O=k.current;if(O)return S.current=new IntersectionObserver(([V])=>{const W=V.isIntersecting;W||I(),l(W)},{rootMargin:n}),S.current.observe(O),()=>{S.current?.disconnect()}},[r,n,I]);const N=fe.useCallback(O=>{k.current=O},[]),D=fe.useCallback(O=>{w.current=O},[]);return{containerRef:N,contentRef:D,isNearViewport:a,placeholderHeight:u??M}}var cF="Collapsible",[bae]=ID(cF),[xae,nN]=bae(cF),rN=se.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:a,disabled:l,onOpenChange:u,...p}=e,[k,w]=nW({prop:r,defaultProp:a??!1,onChange:u,caller:cF});return b.jsx(xae,{scope:n,disabled:l,contentId:b_(),open:k,onOpenToggle:se.useCallback(()=>w(S=>!S),[w]),children:b.jsx(ac.div,{"data-state":oN(k),"data-disabled":l?"":void 0,...p,ref:t})})});rN.displayName=cF;var JW="CollapsibleTrigger",KW=se.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,a=nN(JW,n);return b.jsx(ac.button,{type:"button","aria-controls":a.contentId,"aria-expanded":a.open||!1,"data-state":oN(a.open),"data-disabled":a.disabled?"":void 0,disabled:a.disabled,...r,ref:t,onClick:Bu(e.onClick,a.onOpenToggle)})});KW.displayName=JW;var aN="CollapsibleContent",QW=se.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=nN(aN,e.__scopeCollapsible);return b.jsx(ZR,{present:n||a.open,children:({present:l})=>b.jsx(wae,{...r,ref:t,present:l})})});QW.displayName=aN;var wae=se.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:a,...l}=e,u=nN(aN,n),[p,k]=se.useState(r),w=se.useRef(null),S=Vu(t,w),M=se.useRef(0),I=M.current,N=se.useRef(0),D=N.current,O=u.open||p,V=se.useRef(O),W=se.useRef(void 0);return se.useEffect(()=>{const J=requestAnimationFrame(()=>V.current=!1);return()=>cancelAnimationFrame(J)},[]),Uu(()=>{const J=w.current;if(J){W.current=W.current||{transitionDuration:J.style.transitionDuration,animationName:J.style.animationName},J.style.transitionDuration="0s",J.style.animationName="none";const Z=J.getBoundingClientRect();M.current=Z.height,N.current=Z.width,V.current||(J.style.transitionDuration=W.current.transitionDuration,J.style.animationName=W.current.animationName),k(r)}},[u.open,r]),b.jsx(ac.div,{"data-state":oN(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!O,...l,ref:S,style:{"--radix-collapsible-content-height":I?`${I}px`:void 0,"--radix-collapsible-content-width":D?`${D}px`:void 0,...e.style},children:O&&a})});function oN(e){return e?"open":"closed"}var qW=rN;const $W=Object.freeze(Object.defineProperty({__proto__:null,Collapsible:rN,CollapsibleContent:QW,CollapsibleTrigger:KW,Root:qW},Symbol.toStringTag,{value:"Module"})),iN=qW,{CollapsibleTrigger:sN}=$W,{CollapsibleContent:lN}=$W,cN=({group:e,lazy:t=!0})=>{const{containerRef:n,contentRef:r,isNearViewport:a,placeholderHeight:l}=tN(e.tasks.length,{enabled:t}),{onAddTask:u,onAICommand:p}=sF(),{settings:k,isAiMode:w,onVoiceError:S}=R2(),[M,I]=fe.useState(!0),[N,D]=fe.useState(!1),[O,V]=fe.useState(""),[W,J]=fe.useState(k.defaultCategory),[Z,te]=fe.useState(!1),K=fe.useRef(null);fe.useEffect(()=>{N&&J(k.defaultCategory)},[N,k.defaultCategory]);const{isListening:oe,start:be,stop:he}=eN(k.voiceConfig,ee=>V(_=>_?`${_} ${ee}`:ee),S),Le=ht.fromISO(e.date),He=Le.toFormat("ccc"),lt=Le.weekday>5,gt=lt?"text-rose-500 bg-rose-50 border-rose-100":"text-slate-600 bg-slate-50 border-slate-200",Fe=z$(e.date),qe=Fe==="Today"||Fe==="Tomorrow"||Fe==="Yesterday",ze=Le.toFormat(k.dateFormat);fe.useEffect(()=>{N&&K.current&&K.current.focus()},[N]);const ie=fe.useMemo(()=>e.tasks.reduce((ee,_)=>(_.status==="done"?ee.done++:_.status==="overdue"||_.status==="due"?ee.urgent++:["todo","scheduled","unplanned"].includes(_.status)&&ee.open++,ee),{done:0,urgent:0,open:0}),[e.tasks]),ve=async()=>{if(!O.trim()){D(!1);return}te(!0);try{if(k.aiConfig.enabled&&w){const ee=`Add task to ${e.date}: ${O} (Category: ${W})`;await p(ee)}else u({title:O,dueAt:e.date,category:W});V("")}catch(ee){console.error(ee)}finally{te(!1)}},Ce=ee=>{ee.key==="Enter"&&ve(),ee.key==="Escape"&&(D(!1),V(""))},Tt={sm:"mt-0.5",base:"mt-0.5",lg:"mt-1",xl:"mt-1.5"}[k.fontSize]||"mt-0.5";return b.jsx("div",{className:"mb-2 relative",children:b.jsxs(iN,{open:M,onOpenChange:I,children:[b.jsx(sN,{asChild:!0,children:b.jsxs("button",{className:"w-full flex items-center justify-between mb-1 sticky top-0 bg-paper/95 backdrop-blur-sm z-20 py-1.5 border-b border-dashed border-slate-200 group hover:border-slate-300 transition-colors text-left outline-none pl-2",children:[b.jsxs("div",{className:"flex items-center gap-3 sm:gap-4 overflow-hidden",children:[b.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[b.jsx(ao.div,{animate:{rotate:M?90:0},transition:{duration:.2},className:"text-slate-400",children:b.jsx(We,{name:"ChevronRight",size:14})}),b.jsxs("div",{className:"flex items-baseline gap-2",children:[qe&&b.jsx("span",{className:"text-xs font-bold text-blue-600 font-mono uppercase tracking-tight",children:Fe}),b.jsx("h3",{className:`text-sm font-bold text-slate-800 font-mono tracking-tight group-hover:text-blue-600 transition-colors ${qe?"opacity-60 font-normal":""}`,children:ze})]})]}),b.jsxs("div",{className:"flex items-center gap-2 shrink-0 opacity-80 group-hover:opacity-100 transition-opacity",children:[ie.urgent>0&&b.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded-full bg-rose-100/50 text-rose-600 border border-rose-200/50 shadow-sm shadow-rose-100",children:[b.jsx(We,{name:"AlertCircle",size:10,strokeWidth:2.5}),b.jsx("span",{className:"text-[10px] font-bold leading-none",children:ie.urgent})]}),ie.open>0&&b.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded-full bg-slate-100 text-slate-500 border border-slate-200 shadow-sm shadow-slate-100",children:[b.jsx(We,{name:"Circle",size:10,strokeWidth:2.5}),b.jsx("span",{className:"text-[10px] font-bold leading-none",children:ie.open})]}),ie.done>0&&b.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded-full bg-emerald-100/50 text-emerald-600 border border-emerald-200/50 shadow-sm shadow-emerald-100",children:[b.jsx(We,{name:"CheckCircle2",size:10,strokeWidth:2.5}),b.jsx("span",{className:"text-[10px] font-bold leading-none",children:ie.done})]})]})]}),b.jsxs("div",{className:`flex flex-col items-center justify-center w-8 h-8 rounded-lg border ${gt} shadow-sm shrink-0 ml-2`,children:[b.jsx("span",{className:"text-[10px] font-bold uppercase leading-none",children:He}),b.jsx("span",{className:"text-[10px] opacity-60 leading-none mt-0.5",children:e.tasks.length})]})]})}),b.jsx(ql,{initial:!1,children:M&&b.jsx(lN,{forceMount:!0,asChild:!0,children:b.jsx(ao.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:"easeInOut"},className:"overflow-hidden",children:b.jsxs("div",{ref:n,className:"space-y-0.5 relative pb-2",children:[a?b.jsx("div",{ref:r,children:e.tasks.map(ee=>b.jsx($D,{task:ee},ee.id))}):b.jsx("div",{style:{height:l},className:"bg-slate-50/30 rounded"}),b.jsxs("div",{className:"group relative flex items-stretch gap-2 py-1.5 px-1 transition-all rounded-lg",children:[b.jsxs("div",{className:Xe("relative flex flex-col items-center shrink-0 w-6",Tt),children:[e.tasks.length>0&&b.jsx("div",{className:"absolute -top-1 h-4 w-px left-1/2 -translate-x-1/2 bg-slate-200"}),b.jsx("button",{onClick:()=>D(!0),className:Xe("relative z-10 w-6 h-6 flex items-center justify-center rounded-full transition-all outline-none",N?w?"bg-purple-100 text-purple-600":"bg-blue-100 text-blue-600":"bg-white hover:bg-slate-100 text-slate-300 hover:text-blue-500"),children:Z?b.jsx("div",{className:"animate-spin",children:b.jsx(We,{name:"Loader2",size:12})}):b.jsx(We,{name:w?"Sparkles":"Plus",size:14})})]}),b.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:N?b.jsxs(ao.div,{initial:{opacity:0,x:-5},animate:{opacity:1,x:0},className:"flex items-center gap-2",children:[b.jsx("input",{ref:K,type:"text",value:O,onChange:ee=>V(ee.target.value),onKeyDown:Ce,onBlur:ee=>{(!ee.relatedTarget||!ee.relatedTarget.closest(".add-row-actions"))&&(O||D(!1))},placeholder:oe?"Listening...":w?"Describe task for this day...":"Type a new task...",className:Xe("flex-1 bg-transparent border-b focus:outline-none text-sm py-0.5 transition-colors",w?"border-purple-300 focus:border-purple-500 placeholder:text-purple-300 text-purple-900":"border-blue-300 focus:border-blue-500"),disabled:Z||oe}),b.jsxs("div",{className:"flex items-center gap-1 add-row-actions",children:[b.jsxs("div",{className:"relative group/cat",children:[b.jsx("input",{list:`cat-list-${e.date}`,className:"w-20 text-[10px] bg-slate-100 hover:bg-slate-200 border-none rounded px-1.5 py-0.5 text-slate-600 focus:bg-white focus:ring-1 focus:ring-blue-300 outline-none transition-all placeholder:text-slate-400 truncate",placeholder:"Category",value:W,onChange:ee=>J(ee.target.value),onFocus:()=>{},title:"Task Category"}),b.jsxs("datalist",{id:`cat-list-${e.date}`,children:[b.jsx("option",{value:"Work"}),b.jsx("option",{value:"Personal"}),b.jsx("option",{value:"Home"}),b.jsx("option",{value:"Health"}),b.jsx("option",{value:"Finance"}),b.jsx("option",{value:"Urgent"})]})]}),k.voiceConfig.enabled&&b.jsx("button",{onClick:oe?he:be,className:Xe("p-1 rounded hover:bg-slate-100 transition-colors",oe&&"text-rose-500 animate-pulse"),tabIndex:-1,title:oe?"Stop Recording":"Start Voice Input",children:b.jsx(We,{name:oe?"Square":"Mic",size:14})})]})]}):b.jsx("button",{onClick:()=>D(!0),className:"text-left text-sm text-slate-400 hover:text-blue-500 transition-colors h-5.5 flex items-end font-medium",children:"Add task..."})})]})]})})})})]})})},eY=({group:e})=>{const{settings:t}=R2(),[n,r]=fe.useState(!0),a=Math.round(e.completedTasks/e.totalTasks*100)||0;return b.jsx("div",{className:"mb-4",children:b.jsxs(iN,{open:n,onOpenChange:r,children:[b.jsx(sN,{asChild:!0,children:b.jsxs("button",{className:"w-full text-left mb-1.5 group outline-none",children:[b.jsxs("div",{className:"flex items-end justify-between mb-1",children:[b.jsxs("div",{className:"flex items-baseline gap-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(ao.div,{animate:{rotate:n?90:0},transition:{duration:.2},className:"text-slate-400",children:b.jsx(We,{name:"ChevronRight",size:20})}),b.jsx("h2",{className:"text-3xl font-black text-slate-800 tracking-tighter group-hover:text-blue-600 transition-colors",children:e.year})]}),b.jsxs("div",{className:"text-xs text-slate-400 font-mono hidden sm:inline-block",children:[b.jsx("span",{className:"text-rose-500 font-bold",children:e.totalTasks-e.completedTasks})," ","unfinished tasks in"," ",b.jsx("span",{className:"text-rose-500 font-bold",children:e.dayGroups.length})," ","active days."]})]}),b.jsx("div",{className:"flex items-center gap-2 pb-1",children:b.jsxs("span",{className:"text-[10px] text-slate-400 font-mono",children:[e.completedTasks," / ",e.totalTasks]})})]}),t.showProgressBar&&b.jsx("div",{className:"relative h-1.5 w-full bg-slate-100 rounded-full overflow-hidden",children:b.jsx(ao.div,{className:Xe("absolute top-0 left-0 h-full rounded-full",a===100?"bg-emerald-400":"bg-slate-800"),initial:{width:0},animate:{width:`${a}%`},transition:{duration:1,ease:"easeOut"}})})]})}),b.jsx(ql,{initial:!1,children:n&&b.jsx(lN,{forceMount:!0,asChild:!0,children:b.jsx(ao.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.4,ease:"easeInOut"},className:"overflow-hidden",children:e.dayGroups.map(l=>b.jsx(cN,{group:l},l.date))})})})]})})},tY=({tasks:e,lazy:t=!0})=>{const{containerRef:n,contentRef:r,isNearViewport:a,placeholderHeight:l}=tN(e.length,{enabled:t}),{settings:u}=R2(),[p,k]=fe.useState(!0);return b.jsx("div",{className:"mt-8 pt-4 border-t border-slate-100",children:b.jsxs(iN,{open:p,onOpenChange:k,children:[b.jsx(sN,{asChild:!0,children:b.jsxs("button",{className:"flex items-center gap-2 mb-4 pl-2 w-full group outline-none",children:[b.jsx(ao.div,{animate:{rotate:p?90:0},transition:{duration:.2},className:"text-slate-400",children:b.jsx(We,{name:"ChevronRight",size:14})}),b.jsx(We,{name:"Archive",size:14,className:"text-slate-400"}),b.jsx("h3",{className:"text-sm font-bold text-slate-500 uppercase tracking-wider group-hover:text-slate-700 transition-colors",children:"Backlog / Undated"}),b.jsx("span",{className:"text-xs bg-slate-100 text-slate-500 px-2 py-0.5 rounded-full font-mono",children:e.length})]})}),b.jsx(ql,{initial:!1,children:p&&b.jsx(lN,{forceMount:!0,asChild:!0,children:b.jsx(ao.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3},className:"overflow-hidden",children:b.jsx("div",{ref:n,className:"space-y-0.5",children:a?b.jsx("div",{ref:r,children:e.map(w=>b.jsx($D,{task:w,dateValidation:B$(w,u.groupingStrategy)},w.id))}):b.jsx("div",{style:{height:l},className:"bg-slate-50/30 rounded"})})})})})]})})},nY=({className:e})=>{const{tasks:t}=sF(),{settings:n,isFocusMode:r}=R2(),{todayGroup:a,otherYearGroups:l,backlogTasks:u}=fe.useMemo(()=>{const p=ht.now(),k=p.toISODate(),w=n.showCompleted?t:t.filter(W=>W.status!=="done"&&W.status!=="cancelled"),S=[],M=[],I=["dueAt","startAt","createdAt","completedAt"];w.forEach(W=>{I.some(Z=>{const te=W[Z];return te&&ht.fromISO(te).isValid})?S.push(W):M.push(W)});const N=V$(S,n.groupingStrategy);let D=null;const O=[];for(const W of N){const J=W.dayGroups.find(Z=>Z.date===k);if(J){D=J;const Z=W.dayGroups.filter(te=>te.date!==k);Z.length>0&&O.push({...W,dayGroups:Z})}else O.push(W)}return{todayGroup:D||{date:k,tasks:[]},otherYearGroups:O,backlogTasks:M}},[t,n.showCompleted,n.groupingStrategy]);return b.jsxs("div",{className:e,children:[b.jsxs("div",{className:"mb-5 pb-3 border-b-2 border-dashed border-slate-100/80",children:[b.jsx("div",{className:"flex items-center gap-2 mb-2 pl-2 opacity-60",children:b.jsxs("span",{className:"text-[10px] font-bold font-mono uppercase tracking-widest text-slate-400",children:["Current Focus",n.groupingStrategy.length===1&&n.groupingStrategy[0]!=="dueAt"?` (${n.groupingStrategy[0].replace("At","").replace("Date","")})`:""]})}),b.jsx(cN,{group:a,lazy:!1})]}),!r&&l.map(p=>b.jsx(eY,{group:p},p.year)),!r&&u.length>0&&b.jsx(tY,{tasks:u}),!r&&l.length===0&&t.length>0&&!a.tasks.length&&u.length===0&&b.jsx("div",{className:"text-center text-slate-400 text-sm py-10",children:"No tasks visible based on current filters."}),r&&!a.tasks.length&&b.jsx("div",{className:"text-center text-slate-400 text-sm py-10",children:"Focus mode is on. No tasks for today."})]})},rY=()=>{const{onAddTask:e,onAICommand:t,availableTags:n,availableCategories:r}=sF(),{settings:a,filters:l,onFilterChange:u,sort:p,onSortChange:k,isAiMode:w,toggleAiMode:S,onVoiceError:M,onOpenSettings:I}=R2(),[N,D]=fe.useState(""),[O,V]=fe.useState(!1),{isListening:W,start:J,stop:Z}=eN(a.voiceConfig,Fe=>D(qe=>qe?`${qe} ${Fe}`:Fe),M),te=a.aiConfig.enabled&&w,K=async()=>{if(!(!N.trim()||O)){V(!0);try{if(te)await t(N);else{const Fe=U$(N);e(Fe)}D("")}catch(Fe){console.error("Failed to parse task",Fe)}finally{V(!1)}}},oe=Fe=>{Fe.key==="Enter"&&K()},be=(Fe,qe)=>{const ze=l[Fe];if(Array.isArray(ze)){const ie=ze,ve=ie.includes(qe)?ie.filter(Ce=>Ce!==qe):[...ie,qe];u({...l,[Fe]:ve})}},he=Fe=>{u({...l,[Fe]:[]})},Le=Fe=>{const qe=l[Fe];return Array.isArray(qe)||typeof qe=="string"?qe.length>0:!1},He=Fe=>{switch(Fe){case"todo":return"Circle";case"doing":return"PlayCircle";case"done":return"CheckCircle2";case"scheduled":return"Clock";case"due":return"AlertCircle";case"overdue":return"AlertTriangle";case"cancelled":return"XCircle";case"unplanned":return"Zap";default:return"Circle"}},lt=Fe=>{switch(Fe){case"done":return"text-emerald-500";case"doing":return"text-sky-500";case"scheduled":return"text-blue-500";case"due":return"text-amber-500";case"overdue":return"text-rose-500";case"cancelled":return"text-slate-400";case"unplanned":return"text-purple-500";default:return"text-slate-400"}},gt=Fe=>{switch(Fe){case"high":return"text-rose-500";case"medium":return"text-amber-500";case"low":return"text-blue-400"}};return b.jsx("div",{className:"pt-3 pb-1",children:b.jsxs("div",{className:"max-w-3xl mx-auto px-2 min-[400px]:px-4 sm:px-6",children:[b.jsxs("div",{className:"relative group z-10",children:[b.jsx("div",{className:"absolute inset-y-0 left-2 min-[400px]:left-3 flex items-center pointer-events-none z-10",children:O?b.jsx(So,{animate:{rotate:360},transition:{repeat:1/0,duration:1,ease:"linear"},className:"text-blue-500",children:b.jsx(We,{name:"Loader2",size:16})}):te?b.jsx(So,{initial:{scale:0},animate:{scale:1},className:"text-purple-500",children:b.jsx(We,{name:"Sparkles",size:16})}):b.jsx("div",{className:"text-slate-400",children:b.jsx(We,{name:"PlusCircle",size:16})})}),b.jsx("input",{type:"text",className:Xe("w-full bg-white pl-8 min-[400px]:pl-10 pr-20 min-[400px]:pr-24 py-2 min-[400px]:py-2.5 rounded-xl border shadow-sm text-sm focus:outline-none focus:ring-2 transition-all placeholder:text-slate-400 font-medium",te?"border-purple-200 focus:border-purple-400 focus:ring-purple-400/20":"border-slate-200 focus:border-slate-400 focus:ring-slate-400/20"),placeholder:W?"Listening...":te?"Describe tasks using natural language...":window.innerWidth<530?"Quick add task...":"Quick add (e.g., 'Meeting due:tomorrow p:high')",value:N,onChange:Fe=>D(Fe.target.value),onKeyDown:oe,disabled:O||W}),b.jsxs("div",{className:"absolute inset-y-0 right-2 min-[400px]:right-3 flex items-center gap-0.5 min-[400px]:gap-1",children:[a.voiceConfig.enabled&&b.jsx("button",{onClick:W?Z:J,className:Xe("p-1 min-[400px]:p-1.5 rounded-md transition-all duration-200 relative",W?"text-rose-500 bg-rose-50 animate-pulse":"text-slate-400 hover:text-slate-600 hover:bg-slate-100"),title:W?"Stop Recording":"Start Voice Input",children:b.jsx(We,{name:W?"Square":"Mic",size:16})}),a.aiConfig.enabled&&b.jsx("button",{onClick:S,className:Xe("p-1 min-[400px]:p-1.5 rounded-md transition-all duration-200",te?"text-purple-600 bg-purple-50 hover:bg-purple-100 ring-1 ring-purple-200":"text-slate-400 hover:text-slate-600 hover:bg-slate-100"),title:te?"Switch to Manual Mode":"Switch to AI Mode",children:b.jsx(We,{name:te?"Sparkles":"TerminalSquare",size:16})}),I&&a.settingButtonOnInputBar!==!1&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"w-px h-4 bg-slate-200 mx-0.5 min-[400px]:mx-1"}),b.jsx("button",{onClick:I,className:"text-slate-400 hover:text-blue-600 p-1 min-[400px]:p-1.5 rounded-md hover:bg-blue-50 transition-colors",title:"Settings & Docs",children:b.jsx(We,{name:"Settings",size:16})})]})]})]}),b.jsxs("div",{className:"relative",children:[b.jsx("div",{className:"absolute left-0 top-0 bottom-2 w-8 bg-gradient-to-r from-white to-transparent pointer-events-none z-10"}),b.jsx("div",{className:"absolute right-0 top-0 bottom-2 w-8 bg-gradient-to-l from-white to-transparent pointer-events-none z-10"}),b.jsxs("div",{className:"flex items-center gap-1.5 min-[400px]:gap-2 mt-2 overflow-x-auto no-scrollbar pb-2 pl-0.5 min-[400px]:pl-1 pr-2 min-[400px]:pr-4",children:[a.tagsFilterOnInputBar!==!1&&b.jsx(dF,{label:"Tags",isActive:Le("tags"),count:l.tags.length,onClear:()=>he("tags"),children:b.jsxs("div",{className:"space-y-0.5",children:[n.length===0&&b.jsx("div",{className:"text-xs text-slate-400 p-2 italic text-center",children:"No tags available"}),n.map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.tags.includes(Fe),onChange:()=>be("tags",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:"Tag",size:12,className:"text-blue-500 opacity-70 group-hover:opacity-100"}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))]})}),a.categoriesFilterOnInputBar!==!1&&b.jsx(dF,{label:"Categories",isActive:Le("categories"),count:l.categories.length,onClear:()=>he("categories"),children:b.jsxs("div",{className:"space-y-0.5",children:[r.length===0&&b.jsx("div",{className:"text-xs text-slate-400 p-2 italic text-center",children:"No categories available"}),r.map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.categories.includes(Fe),onChange:()=>be("categories",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:"Folder",size:12,className:"text-amber-500 opacity-70 group-hover:opacity-100"}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))]})}),a.priorityFilterOnInputBar!==!1&&b.jsx(dF,{label:"Priority",isActive:Le("priorities"),count:l.priorities.length,onClear:()=>he("priorities"),children:b.jsx("div",{className:"space-y-0.5",children:["low","medium","high"].map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer capitalize transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.priorities.includes(Fe),onChange:()=>be("priorities",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:"Flag",size:12,className:Xe("opacity-80",gt(Fe)),fill:"currentColor"}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))})}),a.statusFilterOnInputBar!==!1&&b.jsx(dF,{label:"Status",isActive:Le("statuses"),count:l.statuses.length,onClear:()=>he("statuses"),children:b.jsx("div",{className:"space-y-0.5",children:["todo","doing","scheduled","done","due","overdue","cancelled","unplanned"].map(Fe=>b.jsxs("label",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-300 font-mono rounded-lg cursor-pointer capitalize transition-colors group",children:[b.jsx("input",{type:"checkbox",checked:l.statuses.includes(Fe),onChange:()=>be("statuses",Fe),className:"rounded border-slate-300 text-blue-600 focus:ring-blue-500"}),b.jsx(We,{name:He(Fe),size:13,className:Xe("opacity-80",lt(Fe))}),b.jsx("span",{className:"text-sm text-slate-700 group-hover:text-slate-900",children:Fe})]},Fe))})}),(a.tagsFilterOnInputBar!==!1||a.categoriesFilterOnInputBar!==!1||a.priorityFilterOnInputBar!==!1||a.statusFilterOnInputBar!==!1)&&a.sortOnInputBar!==!1&&b.jsx("div",{className:"w-px h-4 bg-slate-300 mx-1 shrink-0 hidden min-[550px]:block"}),a.sortOnInputBar!==!1&&b.jsx("div",{className:"hidden min-[550px]:block",children:b.jsx(Mae,{sort:p,onSortChange:k})})]})]})]})})},dF=({label:e,isActive:t,count:n,children:r,onClear:a})=>b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs(OR,{whileHover:{scale:1.02},whileTap:{scale:.98},className:Xe("flex items-center gap-1 min-[400px]:gap-1.5 px-2 min-[400px]:px-3 py-1 min-[400px]:py-1.5 text-xs font-medium rounded-full border transition-all shrink-0 outline-none select-none",t?"bg-slate-800 text-white border-slate-800 shadow-md shadow-slate-200":"bg-white text-slate-600 border-slate-200 hover:border-slate-300 hover:text-slate-800"),children:[e,t&&b.jsx("span",{className:"flex items-center justify-center bg-white text-slate-900 text-[9px] font-bold h-4 min-w-4 px-0.5 rounded-full",children:n}),b.jsx(We,{name:"ChevronDown",size:12,className:Xe("transition-transform duration-200",t?"text-slate-300":"opacity-40")})]})}),b.jsx(Yu,{side:"bottom",align:"start",sideOffset:8,collisionPadding:16,className:"outline-none w-auto p-0",style:{zIndex:99999},children:b.jsxs(So,{initial:{opacity:0,scale:.95,y:-5},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-5},transition:{duration:.15,ease:"easeOut"},className:"w-56 bg-slate-50 border border-slate-200 shadow-lg rounded-lg overflow-hidden p-1",children:[b.jsxs("div",{className:"flex justify-between items-center px-3 py-2 border-b border-slate-200 mb-1",children:[b.jsx("span",{className:"text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:e}),t&&b.jsx("button",{onClick:a,className:"text-[10px] font-medium text-rose-500 hover:text-rose-600 px-1.5 py-0.5 rounded hover:bg-rose-50 transition-colors",children:"Clear"})]}),b.jsx("div",{className:"max-h-60 overflow-y-auto p-1 custom-scrollbar",children:r})]})})]}),Mae=({sort:e,onSortChange:t})=>{const n=[{label:"Due Date",value:"dueAt",icon:"Calendar"},{label:"Created Date",value:"createdAt",icon:"Clock"},{label:"Priority",value:"priority",icon:"Flag"},{label:"Title",value:"title",icon:"Type"}],r=a=>{e.field===a?t({...e,direction:e.direction==="asc"?"desc":"asc"}):t({...e,field:a,direction:"asc"})};return b.jsxs(zh,{children:[b.jsx(Hh,{asChild:!0,children:b.jsxs("button",{className:"flex items-center gap-1 min-[400px]:gap-1.5 px-2 min-[400px]:px-3 py-1 min-[400px]:py-1.5 bg-slate-100 hover:bg-slate-200 text-slate-600 hover:text-slate-900 text-xs font-bold rounded-full transition-all shrink-0 outline-none ml-auto active:scale-95",children:[b.jsx(We,{name:"ArrowUpDown",size:12}),b.jsx("span",{children:"Sort"})]})}),b.jsx(Yu,{side:"bottom",align:"end",sideOffset:8,collisionPadding:16,className:"outline-none w-auto p-0",style:{zIndex:99999},children:b.jsxs(So,{initial:{opacity:0,scale:.95,y:-5},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-5},transition:{duration:.15,ease:"easeOut"},className:"w-48 bg-slate-50 border border-slate-200 shadow-lg rounded-lg overflow-hidden p-1",children:[b.jsx("div",{className:"px-3 py-2 text-[10px] font-bold text-slate-400 uppercase border-b border-slate-200 mb-1",children:"Sort By"}),b.jsx("div",{className:"flex flex-col gap-0.5",children:n.map(a=>{const l=e.field===a.value;return b.jsx("button",{onClick:()=>r(a.value),children:b.jsxs("div",{className:Xe("flex items-center justify-start! text-sm rounded-lg outline-none hover:bg-slate-300 font-mono w-full p-2",l?"text-slate-900":"text-slate-600 hover:text-slate-900"),children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(We,{name:a.icon,size:14,className:l?"text-blue-500":"opacity-70"}),b.jsx("span",{children:a.label})]}),l&&b.jsx("div",{className:"flex items-center gap-1 text-blue-500",children:b.jsx(We,{name:e.direction==="asc"?"ArrowUp":"ArrowDown",size:18})})]})},a.value)})})]})})]})};function F2({value:e,onChange:t,placeholder:n="Pick a date",className:r,disabled:a,showTime:l=!1}){const[u,p]=se.useState(!1),[k,w]=se.useState("00:00"),S=e?ht.fromISO(e):null,M=S?.isValid?S.toJSDate():void 0;se.useEffect(()=>{S?.isValid&&l&&w(S.toFormat("HH:mm"))},[e,S,l]);const I=O=>{if(!O){t("");return}let V=ht.fromJSDate(O);if(l&&k){const[J,Z]=k.split(":").map(Number);V=V.set({hour:J,minute:Z})}const W=l?V.toISO()||"":V.toISODate()||"";t(W),l||p(!1)},N=O=>{const V=O.target.value;if(w(V),M){const[W,J]=V.split(":").map(Number),Z=ht.fromJSDate(M).set({hour:W,minute:J});t(Z.toISO()||"")}},D=se.useMemo(()=>S?.isValid?l?S.toFormat("MMM dd, yyyy HH:mm"):S.toFormat("MMM dd, yyyy"):n,[S,n,l]);return b.jsxs(zh,{open:u,onOpenChange:p,children:[b.jsx(Hh,{asChild:!0,children:b.jsxs(Rf,{variant:"outline",disabled:a,className:Xe("w-full justify-start text-left font-normal",!e&&"text-muted-foreground",r),children:[b.jsx(kf,{className:"mr-2 h-4 w-4"}),D]})}),b.jsxs(Yu,{className:"w-auto p-0",align:"start",children:[b.jsx(GW,{mode:"single",selected:M,onSelect:I,initialFocus:!0}),l&&b.jsxs("div",{className:"border-t border-border p-3",children:[b.jsx("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Time"}),b.jsx("input",{type:"time",value:k,onChange:N,className:"w-full px-3 py-2 bg-background border border-input rounded-md text-sm focus:ring-2 focus:ring-ring focus:border-ring outline-none"})]})]})]})}const Cae=[{value:et.DAILY,label:"Daily"},{value:et.WEEKLY,label:"Weekly"},{value:et.MONTHLY,label:"Monthly"},{value:et.YEARLY,label:"Yearly"}],Sae=[{label:"M",val:et.MO},{label:"T",val:et.TU},{label:"W",val:et.WE},{label:"T",val:et.TH},{label:"F",val:et.FR},{label:"S",val:et.SA},{label:"S",val:et.SU}],Tae=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Lae=({task:e,onSave:t,onClose:n,availableCategories:r})=>{const[a,l]=fe.useState(e),[u,p]=fe.useState(!1),[k,w]=fe.useState(()=>{let D=et.WEEKLY,O=1,V=[],W=[],J=[],Z="",te="";if(e.isRecurring&&e.recurringInterval)try{const K=et.fromString(e.recurringInterval);D=K.options.freq,O=K.options.interval;const oe=K.options.byweekday;oe&&(V=(Array.isArray(oe)?oe:[oe]).map(he=>typeof he=="number"?new pi(he):he)),W=K.options.bymonth?Array.isArray(K.options.bymonth)?K.options.bymonth:[K.options.bymonth]:[],J=K.options.bymonthday?Array.isArray(K.options.bymonthday)?K.options.bymonthday:[K.options.bymonthday]:[],K.options.dtstart&&(Z=ht.fromJSDate(K.options.dtstart).toISODate()||""),K.options.until&&(te=ht.fromJSDate(K.options.until).toISODate()||"")}catch(K){console.error(`parse recurrence rule failed with err: ${K}`)}return{freq:D,interval:O,byWeekDay:V,byMonth:W,byMonthDay:J,start:Z,end:te}}),S=D=>{w(O=>({...O,...D}))},M=()=>{const D={...a};if(D.isRecurring)try{const{start:O,end:V,freq:W,interval:J,byWeekDay:Z,byMonth:te,byMonthDay:K}=k,oe=O?ht.fromISO(O).toJSDate():void 0,be=V?ht.fromISO(V).endOf("day").toJSDate():void 0,he=new et({freq:W,interval:J,byweekday:W===et.WEEKLY?Z:null,bymonth:W===et.YEARLY&&te.length>0?te:null,bymonthday:(W===et.MONTHLY||W===et.YEARLY)&&K.length>0?K:null,dtstart:oe,until:be});D.recurringInterval=he.toString()}catch(O){console.error("Failed to generate RRule",O)}else D.recurringInterval=void 0;t(D)},I=()=>{l(D=>({...D,isRecurring:!D.isRecurring}))},N=r.filter(D=>D.toLowerCase().includes((a.category||"").toLowerCase())&&D.toLowerCase()!==(a.category||"").toLowerCase());return b.jsxs("div",{className:"flex flex-col max-h-[85vh]",children:[b.jsxs("div",{className:"flex justify-between items-center px-6 py-4 border-b border-slate-100 dark:border-slate-800 bg-paper/50 sticky top-0 backdrop-blur-md z-10 shrink-0",children:[b.jsx("h2",{className:"font-bold text-slate-800",children:"Edit Task"}),b.jsx("button",{onClick:n,"aria-label":"Close edit task modal",className:"p-2 text-slate-400 hover:text-slate-600 rounded-full hover:bg-slate-100 dark:hover:bg-slate-800",children:b.jsx(We,{name:"X",size:20})})]}),b.jsxs("div",{className:"p-6 space-y-5 overflow-y-auto flex-1",children:[b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{htmlFor:"task-title",className:"text-xs font-semibold text-slate-500 uppercase",children:"Title"}),b.jsx("input",{id:"task-title",value:a.title,onChange:D=>l({...a,title:D.target.value}),className:"w-full px-3 py-2 bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-lg text-sm focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 outline-none text-slate-900"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{htmlFor:"task-description",className:"text-xs font-semibold text-slate-500 uppercase",children:"Description"}),b.jsx("textarea",{id:"task-description",value:a.description||"",onChange:D=>l({...a,description:D.target.value}),className:"w-full px-3 py-2 bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-lg text-sm focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 outline-none min-h-20 resize-none text-slate-900",placeholder:"Add details..."})]}),b.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[b.jsxs("div",{className:"space-y-1 relative group",children:[b.jsx("label",{htmlFor:"task-category",className:"text-xs font-semibold text-slate-500 uppercase",children:"Category"}),b.jsxs("div",{className:"relative",children:[b.jsx("input",{id:"task-category",type:"text",value:a.category||"",onChange:D=>l({...a,category:D.target.value}),onFocus:()=>p(!0),onBlur:()=>setTimeout(()=>p(!1),200),placeholder:"Work, Personal...",className:"w-full px-3 py-2 bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-lg text-sm focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 outline-none pl-9 text-slate-900"}),b.jsx("div",{className:"absolute left-3 top-2.5 text-slate-400 pointer-events-none",children:b.jsx(We,{name:"Folder",size:14})}),b.jsx("div",{className:"absolute right-3 top-2.5 text-slate-400 pointer-events-none transition-transform duration-200",style:{transform:u?"rotate(180deg)":"rotate(0deg)"},children:b.jsx(We,{name:"ChevronDown",size:14})})]}),b.jsx(ql,{children:u&&(N.length>0||a.category&&!r.includes(a.category))&&b.jsxs(ao.div,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},exit:{opacity:0},className:"absolute z-20 w-full mt-1 bg-white border border-slate-100 rounded-lg shadow-xl max-h-40 overflow-y-auto py-1",children:[N.map(D=>b.jsxs("button",{onClick:()=>l({...a,category:D}),className:"w-full text-left px-3 py-2 text-sm text-slate-700 hover:bg-slate-50 flex items-center gap-2",children:[b.jsx(We,{name:"Folder",size:12,className:"text-slate-400"}),D]},D)),a.category&&!r.includes(a.category)&&b.jsxs("div",{className:"px-3 py-2 text-xs text-blue-600 bg-blue-50/50 border-t border-blue-100 flex items-center gap-2",children:[b.jsx(We,{name:"Plus",size:12}),'Create "',a.category,'"']})]})})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("span",{id:"priority-label",className:"text-xs font-semibold text-slate-500 uppercase",children:"Priority"}),b.jsx("div",{role:"radiogroup","aria-labelledby":"priority-label",className:"flex bg-slate-50 dark:bg-slate-800/50 p-1 rounded-lg border border-slate-200 dark:border-slate-700 h-9.5",children:["low","medium","high"].map(D=>b.jsx("button",{role:"radio","aria-checked":a.priority===D,onClick:()=>l({...a,priority:D}),className:Xe("flex-1 text-xs font-medium rounded-md capitalize transition-all flex items-center justify-center",a.priority===D?"bg-white dark:bg-slate-600 shadow-sm text-slate-800 dark:text-slate-100 border border-slate-100 dark:border-slate-500":"text-slate-500 hover:text-slate-700 dark:hover:text-slate-300"),children:D},D))})]})]}),b.jsxs("div",{className:"border-t border-slate-100 dark:border-slate-800 pt-4",children:[b.jsx("label",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-3 block",children:"Task Dates"}),b.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Created"}),b.jsx(F2,{value:a.createdAt,onChange:D=>l({...a,createdAt:D||a.createdAt}),showTime:!0,placeholder:"Select created date"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Due"}),b.jsx(F2,{value:a.dueAt,onChange:D=>l({...a,dueAt:D}),showTime:!0,placeholder:"Select due date"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Start At"}),b.jsx(F2,{value:a.startAt,onChange:D=>l({...a,startAt:D}),showTime:!0,placeholder:"Select start date"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-500 uppercase",children:"Completed"}),b.jsx(F2,{value:a.completedAt,onChange:D=>l({...a,completedAt:D}),showTime:!0,placeholder:"Select completed date",disabled:a.status!=="done"&&a.status!=="cancelled"})]})]}),b.jsxs("div",{className:"bg-slate-50 dark:bg-slate-800/30 rounded-lg p-3 border border-slate-200/60 dark:border-slate-700 transition-colors",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("div",{className:Xe("p-1.5 rounded-md",a.isRecurring?"bg-blue-100 text-blue-600":"bg-slate-200 text-slate-500"),children:b.jsx(We,{name:"Repeat",size:16})}),b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700 dark:text-slate-300",children:"Recurrence"}),b.jsx("span",{className:"text-[10px] text-slate-400",children:"Repeats automatically"})]})]}),b.jsx("button",{onClick:I,role:"switch","aria-checked":a.isRecurring,"aria-label":"Toggle task recurrence",className:Xe("relative w-9 h-5 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",a.isRecurring?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(ao.div,{layout:!0,className:"absolute top-1 left-1 w-3 h-3 bg-white rounded-full shadow-sm",animate:{x:a.isRecurring?16:0}})})]}),b.jsx(ql,{children:a.isRecurring&&b.jsx(ao.div,{initial:{height:0,opacity:0,marginTop:0},animate:{height:"auto",opacity:1,marginTop:12},exit:{height:0,opacity:0,marginTop:0},className:"overflow-hidden",children:b.jsxs("div",{className:"pt-3 border-t border-slate-200/60 dark:border-slate-700 space-y-3",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("label",{htmlFor:"recurrence-interval",className:"text-xs font-medium text-slate-500",children:"Every"}),b.jsx("input",{id:"recurrence-interval",type:"number",min:"1",max:"99","aria-label":"Recurrence interval",value:k.interval,onChange:D=>S({interval:parseInt(D.target.value)||1}),className:"w-12 px-1.5 py-1 text-center bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 rounded-md text-xs focus:border-blue-500 outline-none text-slate-700 dark:text-slate-200"}),b.jsx("select",{"aria-label":"Recurrence frequency",value:k.freq,onChange:D=>S({freq:parseInt(D.target.value)}),className:"flex-1 bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 text-slate-700 dark:text-slate-200 text-xs rounded-md focus:ring-blue-500 focus:border-blue-500 block p-1 outline-none",children:Cae.map(D=>b.jsx("option",{value:D.value,children:D.label},D.value))})]}),k.freq===et.WEEKLY&&b.jsxs("div",{className:"space-y-1",children:[b.jsx("span",{id:"weekdays-label",className:"text-[10px] font-semibold text-slate-400 uppercase",children:"On days"}),b.jsx("div",{role:"group","aria-labelledby":"weekdays-label",className:"flex justify-between",children:Sae.map((D,O)=>{const V=k.byWeekDay.some(J=>J.weekday===D.val.weekday),W=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];return b.jsx("button",{"aria-label":W[O],"aria-pressed":V,onClick:()=>{const J=k.byWeekDay,Z=J.some(te=>te.weekday===D.val.weekday);S({byWeekDay:Z?J.filter(te=>te.weekday!==D.val.weekday):[...J,D.val]})},className:Xe("w-7 h-7 flex items-center justify-center rounded-full text-xs font-medium transition-all border",V?"bg-blue-500 text-white border-blue-600 shadow-sm":"bg-white dark:bg-slate-700 text-slate-500 dark:text-slate-400 border-slate-200 dark:border-slate-600 hover:border-blue-300 hover:text-blue-500"),children:D.label},D.label+D.val.weekday)})})]}),(k.freq===et.MONTHLY||k.freq===et.YEARLY)&&b.jsxs("div",{className:"space-y-3",children:[k.freq===et.YEARLY&&b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"Months"}),b.jsx("div",{className:"grid grid-cols-6 gap-1",children:Tae.map((D,O)=>{const V=O+1,W=k.byMonth.includes(V);return b.jsx("button",{onClick:()=>{const J=k.byMonth;S({byMonth:J.includes(V)?J.filter(Z=>Z!==V):[...J,V]})},className:Xe("py-1 text-[15px] rounded border transition-colors",W?"bg-blue-500 text-white border-blue-600":"bg-white dark:bg-slate-800 border-slate-200 dark:border-slate-600 text-slate-500 dark:text-slate-400 hover:border-blue-300"),children:D},D)})})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"Days"}),b.jsx("div",{className:"grid grid-cols-7 gap-1",children:Array.from({length:31},(D,O)=>O+1).map(D=>{const O=k.byMonthDay.includes(D);return b.jsx("button",{onClick:()=>{const V=k.byMonthDay;S({byMonthDay:V.includes(D)?V.filter(W=>W!==D):[...V,D]})},className:Xe("w-full aspect-square flex items-center justify-center text-[15px] rounded border transition-colors",O?"bg-blue-500 text-white border-blue-600":"bg-white dark:bg-slate-800 border-slate-200 dark:border-slate-600 text-slate-500 dark:text-slate-400 hover:border-blue-300"),children:D},D)})})]})]}),b.jsxs("div",{className:"grid grid-cols-2 gap-2 pt-2 border-t border-slate-200/50 dark:border-slate-700/50",children:[b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"Start Recurrence"}),b.jsx(F2,{value:k.start,onChange:D=>S({start:D&&ht.fromISO(D).toISODate()||""}),placeholder:"Select start",className:"h-8 text-xs"})]}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("label",{className:"text-[10px] font-semibold text-slate-400 uppercase",children:"End Recurrence"}),b.jsx(F2,{value:k.end,onChange:D=>S({end:D&&ht.fromISO(D).toISODate()||""}),placeholder:"Select end",className:"h-8 text-xs"})]})]}),b.jsx("div",{className:"text-[10px] text-slate-400 italic bg-white/50 dark:bg-slate-800/50 p-2 rounded border border-slate-100 dark:border-slate-700 text-center",children:(()=>{try{const{freq:D,interval:O,byWeekDay:V,byMonth:W,byMonthDay:J,start:Z,end:te}=k;return new et({freq:D,interval:O,byweekday:D===et.WEEKLY?V:null,bymonth:D===et.YEARLY&&W.length>0?W:null,bymonthday:(D===et.MONTHLY||D===et.YEARLY)&&J.length>0?J:null,dtstart:Z?ht.fromISO(Z).toJSDate():void 0,until:te?ht.fromISO(te).endOf("day").toJSDate():void 0}).toText()}catch(D){return console.error(`invalid recurrence rule: ${D}`),"Invalid Rule"}})()})]})})})]})]})]}),b.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-slate-800/50 border-t border-slate-100 dark:border-slate-800 flex justify-end gap-3 sticky bottom-0 z-10 shrink-0",children:[b.jsx("button",{onClick:n,className:"px-4 py-2 text-sm font-medium text-slate-600 hover:text-slate-800 dark:text-slate-400 dark:hover:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-700 rounded-lg transition-colors",children:"Cancel"}),b.jsx("button",{onClick:M,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-lg shadow-sm shadow-blue-200 transition-colors",children:"Save Changes"})]})]})},aY=({isOpen:e,onClose:t,task:n,onSave:r,availableCategories:a})=>b.jsx(ql,{children:e&&n&&b.jsxs(b.Fragment,{children:[b.jsx(ao.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-50"}),b.jsx(ao.div,{initial:{opacity:0,scale:.95,y:"-50%",x:"-50%"},animate:{opacity:1,scale:1,y:"-50%",x:"-50%"},exit:{opacity:0,scale:.95,y:"-50%",x:"-50%"},className:"fixed top-1/2 left-1/2 w-full max-w-lg bg-paper rounded-xl shadow-2xl z-50 border border-slate-200 dark:border-slate-800 overflow-hidden text-slate-900",children:b.jsx(Lae,{task:n,onSave:r,onClose:t,availableCategories:a},n.id)})]})}),oY=()=>b.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 custom-scrollbar bg-slate-50/50 dark:bg-slate-900/10",children:[b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Activity",size:14,className:"text-blue-500"}),"Task Lifecycle & Auto-Status"]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-4 leading-relaxed",children:"The view automatically manages task statuses based on dates to keep your workflow organized. You rarely need to manually set status unless completing a task."}),b.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"AlertCircle",size:14,className:"text-rose-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Due / Overdue"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks due Today, Tomorrow, or in the past are automatically flagged as Urgent."})]}),b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Clock",size:14,className:"text-blue-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Scheduled (Doing)"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks with a future Start Date are marked as Scheduled until that date arrives."})]}),b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Zap",size:14,className:"text-purple-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Unplanned"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks without dates that need immediate attention. You must manually set this."})]}),b.jsxs("div",{className:"p-3 bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Archive",size:14,className:"text-slate-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Backlog"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Items with no Due Date or Start Date appear in the Backlog section."})]})]})]}),b.jsx("div",{className:"h-px bg-slate-200 dark:bg-slate-700 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Code2",size:14,className:"text-emerald-500"}),"Scripting Guide"]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-4 leading-relaxed",children:"Unlock advanced control by writing short JavaScript snippets to filter and sort your tasks precisely."}),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"space-y-2",children:[b.jsxs("h4",{className:"text-xs font-bold text-slate-700 flex items-center gap-2",children:[b.jsx(We,{name:"Filter",size:12,className:"text-slate-400"}),"Filter Script"]}),b.jsxs("div",{className:"bg-[#1e1e1e] rounded-lg p-3 border border-slate-700 font-mono text-[10px] text-slate-300 shadow-inner",children:[b.jsx("p",{className:"text-slate-500 mb-1",children:"// Ex: Show only high priority tasks due today"}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"const"})," today ="," ",b.jsx("span",{className:"text-blue-400",children:"new"})," ","Date().toISOString().split('T')[0];"]}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"return"})," task.priority === 'high' && task.dueDate === today;"]})]}),b.jsxs("p",{className:"text-xs text-slate-500",children:[b.jsx("b",{children:"Variable:"})," ",b.jsx("code",{children:"task"})," (The Task object).",b.jsx("br",{}),b.jsx("b",{children:"Return:"})," ",b.jsx("code",{children:"true"})," to keep, ",b.jsx("code",{children:"false"})," to hide."]})]}),b.jsxs("div",{className:"space-y-2",children:[b.jsxs("h4",{className:"text-xs font-bold text-slate-700 flex items-center gap-2",children:[b.jsx(We,{name:"ArrowUpDown",size:12,className:"text-slate-400"}),"Sort Script"]}),b.jsxs("div",{className:"bg-[#1e1e1e] rounded-lg p-3 border border-slate-700 font-mono text-[10px] text-slate-300 shadow-inner",children:[b.jsx("p",{className:"text-slate-500 mb-1",children:"// Ex: Sort by title length, then alphabetically"}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"if"})," (a.title.length !== b.title.length) ",b.jsx("span",{className:"text-purple-400",children:"return"})," ","a.title.length - b.title.length;"]}),b.jsxs("p",{children:[b.jsx("span",{className:"text-purple-400",children:"return"})," ","a.title.localeCompare(b.title);"]})]}),b.jsxs("p",{className:"text-xs text-slate-500",children:[b.jsx("b",{children:"Variables:"})," ",b.jsx("code",{children:"a"}),", ",b.jsx("code",{children:"b"})," (Two Task objects to compare).",b.jsx("br",{}),b.jsx("b",{children:"Return:"})," Negative number if a < b, Positive if a > b, 0 if equal."]})]})]})]}),b.jsx("div",{className:"h-px bg-slate-200 dark:bg-slate-700 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Sparkles",size:14,className:"text-purple-500"}),"AI & Voice Intelligence"]}),b.jsxs("div",{className:"space-y-3",children:[b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"Mic",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"Voice Commands"}),b.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:'Click the microphone icon to speak. Supports natural language like "Buy milk tomorrow priority high".'})]})]}),b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"TerminalSquare",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"AI Mode"}),b.jsxs("p",{className:"text-xs text-slate-500 mt-0.5",children:["Toggle AI mode to use Gemini. It can Create, Update, Query, and Delete tasks.",b.jsx("br",{}),b.jsx("em",{className:"opacity-80",children:'Example: "Move all overdue tasks to next friday" or "Summarize my high priority work".'})]})]})]})]})]}),b.jsx("div",{className:"h-px bg-slate-200 dark:bg-slate-700 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Command",size:14,className:"text-slate-500"}),"Quick Controls"]}),b.jsxs("ul",{className:"text-xs text-slate-600 dark:text-slate-400 space-y-2",children:[b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Enter"}),b.jsx("span",{children:"Save task / Submit command"})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Double Click Delete"}),b.jsx("span",{children:"Click trash icon once to arm, twice to delete."})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Focus Mode"}),b.jsx("span",{children:"Hides everything except Today's active tasks."})]})]})]})]}),Iae=[{id:"system",name:"System",colors:"bg-slate-400 border-slate-700"},{id:"light",name:"Light",colors:"bg-white border-slate-200"},{id:"dark",name:"Dark",colors:"bg-slate-900 border-slate-700"},{id:"midnight",name:"Midnight",colors:"bg-[#0B1120] border-slate-800"},{id:"coffee",name:"Coffee",colors:"bg-[#f5f2eb] border-[#e8e4db]"}],iY=({theme:e,setTheme:t})=>b.jsxs(b.Fragment,{children:[b.jsx("h3",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-4",children:"Appearance"}),b.jsx("div",{className:"grid grid-cols-5 gap-2",children:Iae.map(n=>b.jsxs("button",{onClick:()=>t(n.id),className:Xe("flex flex-col items-center gap-2 p-2 rounded-xl border-2 transition-all outline-none",e===n.id?"border-blue-500 bg-blue-50/30 ring-2 ring-blue-200 dark:ring-blue-900":"border-transparent hover:bg-slate-50 dark:hover:bg-slate-800/50"),children:[b.jsx("div",{className:Xe("w-full aspect-square rounded-lg shadow-sm border border-slate-200/20",n.colors)}),b.jsx("span",{className:Xe("text-[10px] font-medium truncate w-full text-center",e===n.id?"text-blue-600":"text-slate-500"),children:n.name})]},n.id))})]}),Aae=[{id:"sm",label:"Small",class:"text-sm"},{id:"base",label:"Medium",class:"text-base"},{id:"lg",label:"Large",class:"text-lg"},{id:"xl",label:"Extra Large",class:"text-xl"}],sY=({fontSize:e,setFontSize:t})=>b.jsxs(b.Fragment,{children:[b.jsx("h3",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-4",children:"Typography"}),b.jsxs("div",{className:"space-y-2",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500",children:"Item Font Size"}),b.jsx("div",{className:"grid grid-cols-4 gap-2",children:Aae.map(n=>b.jsxs("button",{onClick:()=>t(n.id),className:Xe("py-2 px-1 rounded-lg border text-center transition-all",e===n.id?"border-blue-500 bg-blue-50 dark:bg-slate-700 text-blue-700 dark:text-blue-100 shadow-sm":"border-slate-200 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-800 text-slate-600 dark:text-slate-400"),children:[b.jsx("span",{className:Xe("block leading-none mb-1",n.class),children:"Ag"}),b.jsx("span",{className:"text-[10px] opacity-70",children:n.label})]},n.id))})]})]}),Eae=[{id:"dueAt",label:"Due Date"},{id:"createdAt",label:"Created Date"},{id:"startAt",label:"Start Date"},{id:"completedAt",label:"Completed Date"}],lY=[{value:"MMM d",label:"Oct 24"},{value:"EEE, MMM d",label:"Mon, Oct 24"},{value:"yyyy-MM-dd",label:"2023-10-24"},{value:"dd/MM/yyyy",label:"24/10/2023"}],cY=({showCompleted:e,toggleShowCompleted:t,useRelativeDates:n,toggleRelativeDates:r,showProgressBar:a,toggleProgressBar:l,defaultFocusMode:u,toggleDefaultFocus:p,setDateFormat:k,isCustomFormat:w,setIsCustomFormat:S,dateFormat:M,defaultCategory:I,setDefaultCategory:N,availableCategories:D,groupingStrategy:O,toggleGroupingStrategy:V})=>b.jsxs(b.Fragment,{children:[b.jsx("h3",{className:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-4",children:"View Options"}),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Show Completed"}),b.jsx("span",{className:"text-xs text-slate-400",children:"Display finished items"})]}),b.jsx("button",{onClick:t,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",e?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:e?16:0}})})]}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Relative Dates"}),b.jsx("span",{className:"text-xs text-slate-400",children:'e.g. "In 2 days", "Yesterday"'})]}),b.jsx("button",{onClick:r,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",n?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:n?16:0}})})]}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Progress Bars"}),b.jsx("span",{className:"text-xs text-slate-400",children:"Show visual completion in timeline"})]}),b.jsx("button",{onClick:l,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",a?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:a?16:0}})})]}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("span",{className:"text-sm font-medium text-slate-700",children:"Default Focus Mode"}),b.jsx("span",{className:"text-xs text-slate-400",children:"Start app in Focus Mode"})]}),b.jsx("button",{onClick:p,className:Xe("relative w-10 h-6 rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-400",u?"bg-blue-500":"bg-slate-200 dark:bg-slate-700"),children:b.jsx(Rh,{layout:!0,className:"absolute top-1 left-1 w-4 h-4 bg-white rounded-full shadow-sm block",animate:{x:u?16:0}})})]}),b.jsxs("div",{className:"pt-2",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500 block mb-2",children:"Date Format"}),b.jsx("div",{className:"grid grid-cols-2 gap-2 mb-2",children:lY.map(W=>b.jsxs("button",{onClick:()=>{k(W.value),S(!1)},className:Xe("px-3 py-2 text-xs font-medium rounded-lg border transition-all text-left flex items-center justify-between",!w&&M===W.value?"bg-blue-50 border-blue-200 text-blue-700 shadow-sm":"bg-white border-slate-200 text-slate-600 hover:bg-slate-50"),children:[b.jsx("span",{children:W.label}),!w&&M===W.value&&b.jsx(We,{name:"Check",size:12,className:"text-blue-500"})]},W.value))}),b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsxs("button",{onClick:()=>S(!0),className:Xe("px-3 py-2 text-xs font-medium rounded-lg border transition-all text-left flex items-center justify-between flex-1",w?"bg-blue-50 border-blue-200 text-blue-700 shadow-sm":"bg-white border-slate-200 text-slate-600 hover:bg-slate-50"),children:[b.jsx("span",{children:"Custom..."}),w&&b.jsx(We,{name:"Check",size:12,className:"text-blue-500"})]}),w&&b.jsx("input",{type:"text",value:M,onChange:W=>k(W.target.value),className:"flex-1 px-3 py-2 text-xs bg-white border border-slate-200 rounded-lg outline-none focus:border-blue-500 font-mono",placeholder:"yyyy/MM/dd HH:mm"})]}),w&&b.jsxs("p",{className:"text-[10px] text-slate-400 mt-1 pl-1",children:["Uses Luxon format tokens (e.g. ",b.jsx("code",{children:"EEE, MMM d"}),")"]})]}),b.jsxs("div",{className:"pt-2 border-t border-slate-100 dark:border-slate-800",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500 block mb-2",children:"Default Category"}),b.jsxs("div",{className:"relative",children:[b.jsx("input",{type:"text",list:"category-suggestions",value:I,onChange:W=>N(W.target.value),className:"w-full px-3 py-2 text-xs bg-white border border-slate-200 rounded-lg outline-none focus:border-blue-500",placeholder:"General"}),b.jsx("datalist",{id:"category-suggestions",children:D.map(W=>b.jsx("option",{value:W},W))})]})]}),b.jsxs("div",{className:"pt-2 border-t border-slate-100 dark:border-slate-800",children:[b.jsx("label",{className:"text-xs font-medium text-slate-500 block mb-2",children:"Group Tasks By (Multi-select)"}),b.jsx("div",{className:"grid grid-cols-2 gap-2",children:Eae.map(W=>{const J=O.includes(W.id);return b.jsxs("button",{onClick:()=>V(W.id),className:Xe("px-3 py-2 text-xs font-medium rounded-lg border transition-all text-left flex items-center justify-between group",J?"bg-blue-50 border-blue-200 text-blue-700 shadow-sm":"bg-white border-slate-200 text-slate-600 hover:bg-slate-50"),children:[b.jsx("span",{children:W.label}),J&&b.jsx(We,{name:"Check",size:12,className:"text-blue-500"})]},W.id)})})]})]})]}),Pae=({settings:e,onUpdateSettings:t,availableCategories:n})=>{const r=D=>t({...e,fontSize:D}),a=D=>t({...e,theme:D}),l=D=>t({...e,dateFormat:D}),u=D=>t({...e,defaultCategory:D}),p=()=>t({...e,showCompleted:!e.showCompleted}),k=()=>t({...e,useRelativeDates:!e.useRelativeDates}),w=()=>t({...e,showProgressBar:!e.showProgressBar}),S=()=>t({...e,defaultFocusMode:!e.defaultFocusMode}),M=D=>{const O=e.groupingStrategy,V=O.includes(D);let W;if(V){if(O.length===1)return;W=O.filter(J=>J!==D)}else W=[...O,D];t({...e,groupingStrategy:W})},[I,N]=fe.useState(!lY.some(D=>D.value===e.dateFormat));return b.jsx(b.Fragment,{children:b.jsxs("div",{className:"p-6 space-y-8",children:[b.jsx("section",{children:b.jsx(iY,{theme:e.theme,setTheme:a})}),b.jsx("section",{children:b.jsx(sY,{fontSize:e.fontSize,setFontSize:r})}),b.jsx("section",{children:b.jsx(cY,{showCompleted:e.showCompleted,toggleShowCompleted:p,useRelativeDates:e.useRelativeDates,toggleRelativeDates:k,showProgressBar:e.showProgressBar,toggleProgressBar:w,defaultFocusMode:e.defaultFocusMode,toggleDefaultFocus:S,dateFormat:e.dateFormat,setDateFormat:l,isCustomFormat:I,setIsCustomFormat:N,defaultCategory:e.defaultCategory,setDefaultCategory:u,availableCategories:n,groupingStrategy:e.groupingStrategy,toggleGroupingStrategy:M})})]})})};async function dY(){try{return await import("@google/genai")}catch{throw new Error("The '@google/genai' package is required. Install it with: pnpm add @google/genai")}}function Rae(e,t){switch(t){case"string":return e.STRING;case"number":return e.NUMBER;case"boolean":return e.BOOLEAN;case"array":return e.ARRAY;case"object":return e.OBJECT}}function dN(e,t){const n={type:Rae(e,t.type)};return t.description&&(n.description=t.description),t.enum&&(n.enum=t.enum),t.items&&(n.items=dN(e,t.items)),t.properties&&(n.properties=Object.fromEntries(Object.entries(t.properties).map(([r,a])=>[r,dN(e,a)]))),t.required&&(n.required=t.required),n}function Fae(e,t){return t.map(n=>({name:n.name,description:n.description,parameters:{type:e.OBJECT,properties:Object.fromEntries(Object.entries(n.parameters.properties).map(([r,a])=>[r,dN(e,a)])),required:n.parameters.required}}))}class Oae{config;constructor(t){this.config=t}async chat(t,n,r,a,l){const{GoogleGenAI:u,Type:p}=await dY(),k=new u({apiKey:this.config.apiKey}),w=Fae(p,r),S=[];if(l){for(const O of l)if(O.role==="user")S.push({role:"user",parts:[{text:O.content||""}]});else if(O.role==="assistant"){const V=[];if(O.content&&V.push({text:O.content}),O.toolCalls)for(const W of O.toolCalls)V.push({functionCall:{name:W.name,args:W.args}});S.push({role:"model",parts:V})}else if(O.role==="tool"&&O.toolResults){const V=O.toolResults.map(W=>({functionResponse:{name:W.name,response:{result:W.result}}}));S.push({role:"function",parts:V})}}const M=k.chats.create({model:this.config.model||"gemini-2.0-flash",config:{systemInstruction:t,tools:[{functionDeclarations:w}]},history:S.length>0?S:void 0});let I;a&&a.length>0?I=a.map(O=>({functionResponse:{name:O.name,response:{result:O.result}}})):I=n;const N=await M.sendMessage({message:I}),D={};return N.text&&(D.text=N.text),N.functionCalls&&N.functionCalls.length>0&&(D.toolCalls=N.functionCalls.map(O=>({name:O.name,args:O.args||{}}))),N.usageMetadata&&(D.tokenCount=N.usageMetadata.totalTokenCount||0),D}async test(){try{const{GoogleGenAI:t}=await dY();return{success:!0,message:`Connected to Gemini. Response: "${(await new t({apiKey:this.config.apiKey}).models.generateContent({model:this.config.model||"gemini-2.0-flash",contents:"Say hello in one word."})).text?.trim()}"`}}catch(t){return{success:!1,message:t instanceof Error?t.message:"Unknown error"}}}}class uY{config;constructor(t){this.config=t}async getClient(){let t;try{t=await import("openai")}catch{throw new Error("The 'openai' package is required. Install it with: pnpm add openai")}const n=t.default;return new n({apiKey:this.config.apiKey,baseURL:this.config.baseUrl||void 0,dangerouslyAllowBrowser:!0})}async chat(t,n,r,a,l){const u=await this.getClient(),p=[{role:"system",content:t}];if(l){for(const I of l)if(I.role==="user")p.push({role:"user",content:I.content||""});else if(I.role==="assistant"){const N={role:"assistant",content:I.content||null};I.toolCalls&&I.toolCalls.length>0&&(N.tool_calls=I.toolCalls.map((D,O)=>({id:D.id||`call_${O}`,type:"function",function:{name:D.name,arguments:JSON.stringify(D.args)}}))),p.push(N)}else if(I.role==="tool"&&I.toolResults)for(const N of I.toolResults)p.push({role:"tool",content:JSON.stringify(N.result),tool_call_id:N.id||`call_${N.name}`})}if(a&&a.length>0)for(const I of a)p.push({role:"tool",content:JSON.stringify(I.result),tool_call_id:I.id||`call_${I.name}`});else p.push({role:"user",content:n});const k=r.map(I=>({type:"function",function:{name:I.name,description:I.description,parameters:I.parameters}})),w=await u.chat.completions.create({model:this.config.model||"gpt-4o",messages:p,tools:k.length>0?k:void 0}),S=w.choices[0],M={};return S?.message?.content&&(M.text=S.message.content),S?.message?.tool_calls&&S.message.tool_calls.length>0&&(M.toolCalls=S.message.tool_calls.filter(I=>I.type==="function").map(I=>({id:I.id,name:I.function.name,args:JSON.parse(I.function.arguments)}))),w.usage&&(M.tokenCount=w.usage.total_tokens),M}async test(){try{const r=(await(await this.getClient()).chat.completions.create({model:this.config.model||"gpt-4o",messages:[{role:"user",content:"Say hello in one word."}],max_tokens:10})).choices[0]?.message?.content?.trim();return{success:!0,message:`Connected to ${this.config.model||"gpt-4o"}. Response: "${r}"`}}catch(t){return{success:!1,message:t instanceof Error?t.message:"Unknown error"}}}}class Dae{config;constructor(t){this.config=t}async getClient(){let t;try{t=await import("@anthropic-ai/sdk")}catch{throw new Error("The '@anthropic-ai/sdk' package is required. Install it with: pnpm add @anthropic-ai/sdk")}const n=t.default;return new n({apiKey:this.config.apiKey,baseURL:this.config.baseUrl||void 0,dangerouslyAllowBrowser:!0})}async chat(t,n,r,a,l){const u=await this.getClient(),p=[];if(l){for(const M of l)if(M.role==="user")p.push({role:"user",content:M.content||""});else if(M.role==="assistant"){const I=[];if(M.content&&I.push({type:"text",text:M.content}),M.toolCalls)for(const N of M.toolCalls)I.push({type:"tool_use",id:N.id||`toolu_${N.name}`,name:N.name,input:N.args});p.push({role:"assistant",content:I.length>0?I:""})}else if(M.role==="tool"&&M.toolResults){const I=M.toolResults.map(N=>({type:"tool_result",tool_use_id:N.id||`toolu_${N.name}`,content:JSON.stringify(N.result)}));p.push({role:"user",content:I})}}if(a&&a.length>0){const M=a.map(I=>({type:"tool_result",tool_use_id:I.id||`toolu_${I.name}`,content:JSON.stringify(I.result)}));p.push({role:"user",content:M})}else p.push({role:"user",content:n});const k=r.map(M=>({name:M.name,description:M.description,input_schema:M.parameters})),w=await u.messages.create({model:this.config.model||"claude-sonnet-4-20250514",max_tokens:4096,system:t,messages:p,tools:k.length>0?k:void 0}),S={};for(const M of w.content)M.type==="text"?S.text=(S.text||"")+M.text:M.type==="tool_use"&&(S.toolCalls||(S.toolCalls=[]),S.toolCalls.push({id:M.id,name:M.name,args:M.input||{}}));return w.usage&&(S.tokenCount=w.usage.input_tokens+w.usage.output_tokens),S}async test(){try{const n=await(await this.getClient()).messages.create({model:this.config.model||"claude-sonnet-4-20250514",max_tokens:10,messages:[{role:"user",content:"Say hello in one word."}]}),r=n.content[0]?.type==="text"?n.content[0].text.trim():"";return{success:!0,message:`Connected to ${this.config.model||"claude-sonnet-4-20250514"}. Response: "${r}"`}}catch(t){return{success:!1,message:t instanceof Error?t.message:"Unknown error"}}}}const Nae=(e,t)=>{let n=`You are a task management assistant. You help users create, query, update, and delete tasks.
|
|
61
61
|
|
|
62
62
|
## Task Schema
|
|
63
63
|
|
|
@@ -325,7 +325,7 @@ performance.now();setTimeout(w,2300>q&&2E3<q?2300-q:500)})])},types:[]});z.ready
|
|
|
325
325
|
"stylesheet";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute("media");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=
|
|
326
326
|
"$~";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,"CSS failed to load"))};$RR("`),xn=O('$RR("'),Br=O('","'),Ra=O('",'),yo=O('"'),St=O(")<\/script>");O('<template data-rci="" data-bid="'),O('<template data-rri="" data-bid="'),O('" data-sid="'),O('" data-sty="');var na=O('$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'),er=O('$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("'),wa=O('$RX("'),Di=O('"'),Un=O(","),Js=O(")<\/script>");O('<template data-rxi="" data-bid="'),O('" data-dgst="'),O('" data-msg="'),O('" data-stck="'),O('" data-cstck="');var po=/[<\u2028\u2029]/g,ra=/[&><\u2028\u2029]/g,Ho=O(' media="not all" data-precedence="'),aa=O('" data-href="'),Ks=O('">'),Nl=O("</style>"),Ma=!1,zl=!0,oa=[],Qs=O(' data-precedence="'),Mu=O('" data-href="'),En=O(" "),Hl=O('">'),Bo=O("</style>");O('<link rel="expect" href="#'),O('" blocking="render"/>');var Td=O(' id="'),qs=O("["),Ld=O(",["),Id=O(","),Bl=O("]"),ps=0,Ad=1,ni=2,$s=3,el=/[<>\r\n]/g,dh=/["';,\r\n]/g,go=Function.prototype.bind,uh=Symbol.for("react.client.reference"),to={};Object.freeze(to);var gs={},Ni=null,Ed={},Pd={},Rd=new Set,tl=new Set,hh=new Set,Cu=new Set,Vl=new Set,fh=new Set,Fd=new Set,Yh=new Set,Su=new Set,Zh={enqueueSetState:function(o,s,m){var T=o._reactInternals;T.queue===null?Dr(o,"setState"):(T.queue.push(s),m!=null&&Io(m))},enqueueReplaceState:function(o,s,m){o=o._reactInternals,o.replace=!0,o.queue=[s],m!=null&&Io(m)},enqueueForceUpdate:function(o,s){o._reactInternals.queue===null?Dr(o,"forceUpdate"):s!=null&&Io(s)}},Od={id:1,overflow:""},Ul=Math.clz32?Math.clz32:od,D0=Math.log,N0=Math.LN2,ri=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),yh=null,z0=typeof Object.is=="function"?Object.is:id,Er=null,zi=null,ia=null,ms=null,mo=null,an=null,Fa=!1,Hi=!1,lr=0,Nc=0,Dd=-1,ph=0,_l=null,nl=null,zc=0,Vo=!1,rl,Hc={readContext:eh,use:function(o){if(o!==null&&typeof o=="object"){if(typeof o.then=="function")return pr(o);if(o.$$typeof===In)return eh(o)}throw Error("An unsupported type was passed to use(): "+String(o))},useContext:function(o){return rl="useContext",Tn(),o._currentValue},useMemo:vl,useReducer:ml,useRef:function(o){Er=Tn(),an=gl();var s=an.memoizedState;return s===null?(o={current:o},Object.seal(o),an.memoizedState=o):s},useState:function(o){return rl="useState",ml(th,o)},useInsertionEffect:Jr,useLayoutEffect:Jr,useCallback:function(o,s){return vl(function(){return o},s)},useImperativeHandle:Jr,useEffect:Jr,useDebugValue:Jr,useDeferredValue:function(o,s){return Tn(),s!==void 0?s:o},useTransition:function(){return Tn(),[!1,ld]},useId:function(){var o=zi.treeContext,s=o.overflow;o=o.id,o=(o&~(1<<32-Ul(o)-1)).toString(32)+s;var m=i;if(m===null)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");return s=lr++,o="_"+m.idPrefix+"R_"+o,0<s&&(o+="H"+s.toString(32)),o+"_"},useSyncExternalStore:function(o,s,m){if(m===void 0)throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");return m()},useOptimistic:function(o){return Tn(),[o,hc]},useActionState:fc,useFormState:fc,useHostTransitionStatus:function(){return Tn(),tn},useMemoCache:function(o){for(var s=Array(o),m=0;m<o;m++)s[m]=Do;return s},useCacheRefresh:function(){return kl},useEffectEvent:function(){return jo}},i=null,d=null,v={getCacheForType:function(){throw Error("Not implemented.")},cacheSignal:function(){throw Error("Not implemented.")},getOwner:function(){return d===null?null:d.componentStack}},L=0,R,B,Q,re,Se,de,we;yc.__reactDisabledLog=!0;var Be,Je,Ue=!1,Ae=new(typeof WeakMap=="function"?WeakMap:Map),Nt={react_stack_bottom_frame:function(o,s,m){return o(s,m)}},vn=Nt.react_stack_bottom_frame.bind(Nt),kt={react_stack_bottom_frame:function(o){return o.render()}},qt=kt.react_stack_bottom_frame.bind(kt),Vr={react_stack_bottom_frame:function(o){var s=o._init;return s(o._payload)}},Ur=Vr.react_stack_bottom_frame.bind(Vr),nn=0;if(typeof performance=="object"&&typeof performance.now=="function")var Mr=performance,ai=function(){return Mr.now()};else{var Ca=Date;ai=function(){return Ca.now()}}var rt=4,ln=0,cn=1,fn=2,_n=3,Wt=4,Pt=5,sa=14,dn=null,_r={},Pn={},Oa={},Wl={},Da=!1,oi=!1,ii=!1,si=0,Pr=!1;Oo(),Oo(),P0.prerender=function(o,s){return new Promise(function(m,T){var P=s?s.onHeaders:void 0,H;P&&(H=function(ue){P(new Headers(ue))});var j=Tt(s?s.identifierPrefix:void 0,s?s.unstable_externalRuntimeSrc:void 0,s?s.bootstrapScriptContent:void 0,s?s.bootstrapScripts:void 0,s?s.bootstrapModules:void 0),$=va(o,j,Ce(j,void 0,s?s.unstable_externalRuntimeSrc:void 0,s?s.importMap:void 0,H,s?s.maxHeadersLength:void 0),pe(s?s.namespaceURI:void 0),s?s.progressiveChunkSize:void 0,s?s.onError:void 0,function(){var ue=new ReadableStream({type:"bytes",pull:function(Re){Ka($,Re)},cancel:function(Re){$.destination=null,hn($,Re)}},{highWaterMark:0});ue={postponed:Ln($),prelude:ue},m(ue)},void 0,void 0,T,s?s.onPostpone:void 0);if(s&&s.signal){var ke=s.signal;if(ke.aborted)hn($,ke.reason);else{var ae=function(){hn($,ke.reason),ke.removeEventListener("abort",ae)};ke.addEventListener("abort",ae)}}Ja($)})},P0.renderToReadableStream=function(o,s){return new Promise(function(m,T){var P,H,j=new Promise(function(De,Ie){H=De,P=Ie}),$=s?s.onHeaders:void 0,ke;$&&(ke=function(De){$(new Headers(De))});var ae=Tt(s?s.identifierPrefix:void 0,s?s.unstable_externalRuntimeSrc:void 0,s?s.bootstrapScriptContent:void 0,s?s.bootstrapScripts:void 0,s?s.bootstrapModules:void 0),ue=bl(o,ae,Ce(ae,s?s.nonce:void 0,s?s.unstable_externalRuntimeSrc:void 0,s?s.importMap:void 0,ke,s?s.maxHeadersLength:void 0),pe(s?s.namespaceURI:void 0),s?s.progressiveChunkSize:void 0,s?s.onError:void 0,H,function(){var De=new ReadableStream({type:"bytes",pull:function(Ie){Ka(ue,Ie)},cancel:function(Ie){ue.destination=null,hn(ue,Ie)}},{highWaterMark:0});De.allReady=j,m(De)},function(De){j.catch(function(){}),T(De)},P,s?s.onPostpone:void 0,s?s.formState:void 0);if(s&&s.signal){var Re=s.signal;if(Re.aborted)hn(ue,Re.reason);else{var Ne=function(){hn(ue,Re.reason),Re.removeEventListener("abort",Ne)};Re.addEventListener("abort",Ne)}}Ja(ue)})},P0.resume=function(o,s,m){return new Promise(function(T,P){var H,j,$=new Promise(function(Re,Ne){j=Re,H=Ne}),ke=br(o,s,Ce(s.resumableState,m?m.nonce:void 0,void 0,void 0,void 0,void 0),m?m.onError:void 0,j,function(){var Re=new ReadableStream({type:"bytes",pull:function(Ne){Ka(ke,Ne)},cancel:function(Ne){ke.destination=null,hn(ke,Ne)}},{highWaterMark:0});Re.allReady=$,T(Re)},function(Re){$.catch(function(){}),P(Re)},H,m?m.onPostpone:void 0);if(m&&m.signal){var ae=m.signal;if(ae.aborted)hn(ke,ae.reason);else{var ue=function(){hn(ke,ae.reason),ae.removeEventListener("abort",ue)};ae.addEventListener("abort",ue)}}Ja(ke)})},P0.resumeAndPrerender=function(o,s,m){return new Promise(function(T,P){var H=kn(o,s,Ce(s.resumableState,void 0,void 0,void 0,void 0,void 0),m?m.onError:void 0,function(){var ke=new ReadableStream({type:"bytes",pull:function(ae){Ka(H,ae)},cancel:function(ae){H.destination=null,hn(H,ae)}},{highWaterMark:0});ke={postponed:Ln(H),prelude:ke},T(ke)},void 0,void 0,P,m?m.onPostpone:void 0);if(m&&m.signal){var j=m.signal;if(j.aborted)hn(H,j.reason);else{var $=function(){hn(H,j.reason),j.removeEventListener("abort",$)};j.addEventListener("abort",$)}}Ja(H)})},P0.version="19.2.4"})()),P0}var vY;function Yae(){if(vY)return A0;vY=1;var e,t;return process.env.NODE_ENV==="production"?(e=Vae(),t=Uae()):(e=_ae(),t=Wae()),A0.version=e.version,A0.renderToString=e.renderToString,A0.renderToStaticMarkup=e.renderToStaticMarkup,A0.renderToReadableStream=t.renderToReadableStream,A0.resume=t.resume,A0}var Zae=Yae(),uF={exports:{}},hF={exports:{}},Gn={};var kY;function Gae(){if(kY)return Gn;kY=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,l=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,p=e?Symbol.for("react.context"):60110,k=e?Symbol.for("react.async_mode"):60111,w=e?Symbol.for("react.concurrent_mode"):60111,S=e?Symbol.for("react.forward_ref"):60112,M=e?Symbol.for("react.suspense"):60113,I=e?Symbol.for("react.suspense_list"):60120,N=e?Symbol.for("react.memo"):60115,D=e?Symbol.for("react.lazy"):60116,O=e?Symbol.for("react.block"):60121,V=e?Symbol.for("react.fundamental"):60117,W=e?Symbol.for("react.responder"):60118,J=e?Symbol.for("react.scope"):60119;function Z(K){if(typeof K=="object"&&K!==null){var oe=K.$$typeof;switch(oe){case t:switch(K=K.type,K){case k:case w:case r:case l:case a:case M:return K;default:switch(K=K&&K.$$typeof,K){case p:case S:case D:case N:case u:return K;default:return oe}}case n:return oe}}}function te(K){return Z(K)===w}return Gn.AsyncMode=k,Gn.ConcurrentMode=w,Gn.ContextConsumer=p,Gn.ContextProvider=u,Gn.Element=t,Gn.ForwardRef=S,Gn.Fragment=r,Gn.Lazy=D,Gn.Memo=N,Gn.Portal=n,Gn.Profiler=l,Gn.StrictMode=a,Gn.Suspense=M,Gn.isAsyncMode=function(K){return te(K)||Z(K)===k},Gn.isConcurrentMode=te,Gn.isContextConsumer=function(K){return Z(K)===p},Gn.isContextProvider=function(K){return Z(K)===u},Gn.isElement=function(K){return typeof K=="object"&&K!==null&&K.$$typeof===t},Gn.isForwardRef=function(K){return Z(K)===S},Gn.isFragment=function(K){return Z(K)===r},Gn.isLazy=function(K){return Z(K)===D},Gn.isMemo=function(K){return Z(K)===N},Gn.isPortal=function(K){return Z(K)===n},Gn.isProfiler=function(K){return Z(K)===l},Gn.isStrictMode=function(K){return Z(K)===a},Gn.isSuspense=function(K){return Z(K)===M},Gn.isValidElementType=function(K){return typeof K=="string"||typeof K=="function"||K===r||K===w||K===l||K===a||K===M||K===I||typeof K=="object"&&K!==null&&(K.$$typeof===D||K.$$typeof===N||K.$$typeof===u||K.$$typeof===p||K.$$typeof===S||K.$$typeof===V||K.$$typeof===W||K.$$typeof===J||K.$$typeof===O)},Gn.typeOf=Z,Gn}var jn={};var bY;function jae(){return bY||(bY=1,process.env.NODE_ENV!=="production"&&(function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,l=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,p=e?Symbol.for("react.context"):60110,k=e?Symbol.for("react.async_mode"):60111,w=e?Symbol.for("react.concurrent_mode"):60111,S=e?Symbol.for("react.forward_ref"):60112,M=e?Symbol.for("react.suspense"):60113,I=e?Symbol.for("react.suspense_list"):60120,N=e?Symbol.for("react.memo"):60115,D=e?Symbol.for("react.lazy"):60116,O=e?Symbol.for("react.block"):60121,V=e?Symbol.for("react.fundamental"):60117,W=e?Symbol.for("react.responder"):60118,J=e?Symbol.for("react.scope"):60119;function Z(_e){return typeof _e=="string"||typeof _e=="function"||_e===r||_e===w||_e===l||_e===a||_e===M||_e===I||typeof _e=="object"&&_e!==null&&(_e.$$typeof===D||_e.$$typeof===N||_e.$$typeof===u||_e.$$typeof===p||_e.$$typeof===S||_e.$$typeof===V||_e.$$typeof===W||_e.$$typeof===J||_e.$$typeof===O)}function te(_e){if(typeof _e=="object"&&_e!==null){var nt=_e.$$typeof;switch(nt){case t:var je=_e.type;switch(je){case k:case w:case r:case l:case a:case M:return je;default:var Ke=je&&je.$$typeof;switch(Ke){case p:case S:case D:case N:case u:return Ke;default:return nt}}case n:return nt}}}var K=k,oe=w,be=p,he=u,Le=t,He=S,lt=r,gt=D,Fe=N,qe=n,ze=l,ie=a,ve=M,Ce=!1;function Tt(_e){return Ce||(Ce=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),ee(_e)||te(_e)===k}function ee(_e){return te(_e)===w}function _(_e){return te(_e)===p}function pe(_e){return te(_e)===u}function Ee(_e){return typeof _e=="object"&&_e!==null&&_e.$$typeof===t}function Oe(_e){return te(_e)===S}function Ye(_e){return te(_e)===r}function tt(_e){return te(_e)===D}function Pe(_e){return te(_e)===N}function ft(_e){return te(_e)===n}function ct(_e){return te(_e)===l}function ot(_e){return te(_e)===a}function bt(_e){return te(_e)===M}jn.AsyncMode=K,jn.ConcurrentMode=oe,jn.ContextConsumer=be,jn.ContextProvider=he,jn.Element=Le,jn.ForwardRef=He,jn.Fragment=lt,jn.Lazy=gt,jn.Memo=Fe,jn.Portal=qe,jn.Profiler=ze,jn.StrictMode=ie,jn.Suspense=ve,jn.isAsyncMode=Tt,jn.isConcurrentMode=ee,jn.isContextConsumer=_,jn.isContextProvider=pe,jn.isElement=Ee,jn.isForwardRef=Oe,jn.isFragment=Ye,jn.isLazy=tt,jn.isMemo=Pe,jn.isPortal=ft,jn.isProfiler=ct,jn.isStrictMode=ot,jn.isSuspense=bt,jn.isValidElementType=Z,jn.typeOf=te})()),jn}var xY;function wY(){return xY||(xY=1,process.env.NODE_ENV==="production"?hF.exports=Gae():hF.exports=jae()),hF.exports}var uN,MY;function Xae(){if(MY)return uN;MY=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function r(l){if(l==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(l)}function a(){try{if(!Object.assign)return!1;var l=new String("abc");if(l[5]="de",Object.getOwnPropertyNames(l)[0]==="5")return!1;for(var u={},p=0;p<10;p++)u["_"+String.fromCharCode(p)]=p;var k=Object.getOwnPropertyNames(u).map(function(S){return u[S]});if(k.join("")!=="0123456789")return!1;var w={};return"abcdefghijklmnopqrst".split("").forEach(function(S){w[S]=S}),Object.keys(Object.assign({},w)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return uN=a()?Object.assign:function(l,u){for(var p,k=r(l),w,S=1;S<arguments.length;S++){p=Object(arguments[S]);for(var M in p)t.call(p,M)&&(k[M]=p[M]);if(e){w=e(p);for(var I=0;I<w.length;I++)n.call(p,w[I])&&(k[w[I]]=p[w[I]])}}return k},uN}var hN,CY;function fN(){if(CY)return hN;CY=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return hN=e,hN}var yN,SY;function TY(){return SY||(SY=1,yN=Function.call.bind(Object.prototype.hasOwnProperty)),yN}var pN,LY;function Jae(){if(LY)return pN;LY=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=fN(),n={},r=TY();e=function(l){var u="Warning: "+l;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}}}function a(l,u,p,k,w){if(process.env.NODE_ENV!=="production"){for(var S in l)if(r(l,S)){var M;try{if(typeof l[S]!="function"){var I=Error((k||"React class")+": "+p+" type `"+S+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof l[S]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw I.name="Invariant Violation",I}M=l[S](u,S,k,p,null,t)}catch(D){M=D}if(M&&!(M instanceof Error)&&e((k||"React class")+": type specification of "+p+" `"+S+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof M+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),M instanceof Error&&!(M.message in n)){n[M.message]=!0;var N=w?w():"";e("Failed "+p+" type: "+M.message+(N??""))}}}}return a.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},pN=a,pN}var gN,IY;function Kae(){if(IY)return gN;IY=1;var e=wY(),t=Xae(),n=fN(),r=TY(),a=Jae(),l=function(){};process.env.NODE_ENV!=="production"&&(l=function(p){var k="Warning: "+p;typeof console<"u"&&console.error(k);try{throw new Error(k)}catch{}});function u(){return null}return gN=function(p,k){var w=typeof Symbol=="function"&&Symbol.iterator,S="@@iterator";function M(ee){var _=ee&&(w&&ee[w]||ee[S]);if(typeof _=="function")return _}var I="<<anonymous>>",N={array:W("array"),bigint:W("bigint"),bool:W("boolean"),func:W("function"),number:W("number"),object:W("object"),string:W("string"),symbol:W("symbol"),any:J(),arrayOf:Z,element:te(),elementType:K(),instanceOf:oe,node:He(),objectOf:he,oneOf:be,oneOfType:Le,shape:gt,exact:Fe};function D(ee,_){return ee===_?ee!==0||1/ee===1/_:ee!==ee&&_!==_}function O(ee,_){this.message=ee,this.data=_&&typeof _=="object"?_:{},this.stack=""}O.prototype=Error.prototype;function V(ee){if(process.env.NODE_ENV!=="production")var _={},pe=0;function Ee(Ye,tt,Pe,ft,ct,ot,bt){if(ft=ft||I,ot=ot||Pe,bt!==n){if(k){var _e=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw _e.name="Invariant Violation",_e}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var nt=ft+":"+Pe;!_[nt]&&pe<3&&(l("You are manually calling a React.PropTypes validation function for the `"+ot+"` prop on `"+ft+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),_[nt]=!0,pe++)}}return tt[Pe]==null?Ye?tt[Pe]===null?new O("The "+ct+" `"+ot+"` is marked as required "+("in `"+ft+"`, but its value is `null`.")):new O("The "+ct+" `"+ot+"` is marked as required in "+("`"+ft+"`, but its value is `undefined`.")):null:ee(tt,Pe,ft,ct,ot)}var Oe=Ee.bind(null,!1);return Oe.isRequired=Ee.bind(null,!0),Oe}function W(ee){function _(pe,Ee,Oe,Ye,tt,Pe){var ft=pe[Ee],ct=ie(ft);if(ct!==ee){var ot=ve(ft);return new O("Invalid "+Ye+" `"+tt+"` of type "+("`"+ot+"` supplied to `"+Oe+"`, expected ")+("`"+ee+"`."),{expectedType:ee})}return null}return V(_)}function J(){return V(u)}function Z(ee){function _(pe,Ee,Oe,Ye,tt){if(typeof ee!="function")return new O("Property `"+tt+"` of component `"+Oe+"` has invalid PropType notation inside arrayOf.");var Pe=pe[Ee];if(!Array.isArray(Pe)){var ft=ie(Pe);return new O("Invalid "+Ye+" `"+tt+"` of type "+("`"+ft+"` supplied to `"+Oe+"`, expected an array."))}for(var ct=0;ct<Pe.length;ct++){var ot=ee(Pe,ct,Oe,Ye,tt+"["+ct+"]",n);if(ot instanceof Error)return ot}return null}return V(_)}function te(){function ee(_,pe,Ee,Oe,Ye){var tt=_[pe];if(!p(tt)){var Pe=ie(tt);return new O("Invalid "+Oe+" `"+Ye+"` of type "+("`"+Pe+"` supplied to `"+Ee+"`, expected a single ReactElement."))}return null}return V(ee)}function K(){function ee(_,pe,Ee,Oe,Ye){var tt=_[pe];if(!e.isValidElementType(tt)){var Pe=ie(tt);return new O("Invalid "+Oe+" `"+Ye+"` of type "+("`"+Pe+"` supplied to `"+Ee+"`, expected a single ReactElement type."))}return null}return V(ee)}function oe(ee){function _(pe,Ee,Oe,Ye,tt){if(!(pe[Ee]instanceof ee)){var Pe=ee.name||I,ft=Tt(pe[Ee]);return new O("Invalid "+Ye+" `"+tt+"` of type "+("`"+ft+"` supplied to `"+Oe+"`, expected ")+("instance of `"+Pe+"`."))}return null}return V(_)}function be(ee){if(!Array.isArray(ee))return process.env.NODE_ENV!=="production"&&(arguments.length>1?l("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):l("Invalid argument supplied to oneOf, expected an array.")),u;function _(pe,Ee,Oe,Ye,tt){for(var Pe=pe[Ee],ft=0;ft<ee.length;ft++)if(D(Pe,ee[ft]))return null;var ct=JSON.stringify(ee,function(bt,_e){var nt=ve(_e);return nt==="symbol"?String(_e):_e});return new O("Invalid "+Ye+" `"+tt+"` of value `"+String(Pe)+"` "+("supplied to `"+Oe+"`, expected one of "+ct+"."))}return V(_)}function he(ee){function _(pe,Ee,Oe,Ye,tt){if(typeof ee!="function")return new O("Property `"+tt+"` of component `"+Oe+"` has invalid PropType notation inside objectOf.");var Pe=pe[Ee],ft=ie(Pe);if(ft!=="object")return new O("Invalid "+Ye+" `"+tt+"` of type "+("`"+ft+"` supplied to `"+Oe+"`, expected an object."));for(var ct in Pe)if(r(Pe,ct)){var ot=ee(Pe,ct,Oe,Ye,tt+"."+ct,n);if(ot instanceof Error)return ot}return null}return V(_)}function Le(ee){if(!Array.isArray(ee))return process.env.NODE_ENV!=="production"&&l("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var _=0;_<ee.length;_++){var pe=ee[_];if(typeof pe!="function")return l("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Ce(pe)+" at index "+_+"."),u}function Ee(Oe,Ye,tt,Pe,ft){for(var ct=[],ot=0;ot<ee.length;ot++){var bt=ee[ot],_e=bt(Oe,Ye,tt,Pe,ft,n);if(_e==null)return null;_e.data&&r(_e.data,"expectedType")&&ct.push(_e.data.expectedType)}var nt=ct.length>0?", expected one of type ["+ct.join(", ")+"]":"";return new O("Invalid "+Pe+" `"+ft+"` supplied to "+("`"+tt+"`"+nt+"."))}return V(Ee)}function He(){function ee(_,pe,Ee,Oe,Ye){return qe(_[pe])?null:new O("Invalid "+Oe+" `"+Ye+"` supplied to "+("`"+Ee+"`, expected a ReactNode."))}return V(ee)}function lt(ee,_,pe,Ee,Oe){return new O((ee||"React class")+": "+_+" type `"+pe+"."+Ee+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+Oe+"`.")}function gt(ee){function _(pe,Ee,Oe,Ye,tt){var Pe=pe[Ee],ft=ie(Pe);if(ft!=="object")return new O("Invalid "+Ye+" `"+tt+"` of type `"+ft+"` "+("supplied to `"+Oe+"`, expected `object`."));for(var ct in ee){var ot=ee[ct];if(typeof ot!="function")return lt(Oe,Ye,tt,ct,ve(ot));var bt=ot(Pe,ct,Oe,Ye,tt+"."+ct,n);if(bt)return bt}return null}return V(_)}function Fe(ee){function _(pe,Ee,Oe,Ye,tt){var Pe=pe[Ee],ft=ie(Pe);if(ft!=="object")return new O("Invalid "+Ye+" `"+tt+"` of type `"+ft+"` "+("supplied to `"+Oe+"`, expected `object`."));var ct=t({},pe[Ee],ee);for(var ot in ct){var bt=ee[ot];if(r(ee,ot)&&typeof bt!="function")return lt(Oe,Ye,tt,ot,ve(bt));if(!bt)return new O("Invalid "+Ye+" `"+tt+"` key `"+ot+"` supplied to `"+Oe+"`.\nBad object: "+JSON.stringify(pe[Ee],null," ")+`
|
|
327
327
|
Valid keys: `+JSON.stringify(Object.keys(ee),null," "));var _e=bt(Pe,ot,Oe,Ye,tt+"."+ot,n);if(_e)return _e}return null}return V(_)}function qe(ee){switch(typeof ee){case"number":case"string":case"undefined":return!0;case"boolean":return!ee;case"object":if(Array.isArray(ee))return ee.every(qe);if(ee===null||p(ee))return!0;var _=M(ee);if(_){var pe=_.call(ee),Ee;if(_!==ee.entries){for(;!(Ee=pe.next()).done;)if(!qe(Ee.value))return!1}else for(;!(Ee=pe.next()).done;){var Oe=Ee.value;if(Oe&&!qe(Oe[1]))return!1}}else return!1;return!0;default:return!1}}function ze(ee,_){return ee==="symbol"?!0:_?_["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&_ instanceof Symbol:!1}function ie(ee){var _=typeof ee;return Array.isArray(ee)?"array":ee instanceof RegExp?"object":ze(_,ee)?"symbol":_}function ve(ee){if(typeof ee>"u"||ee===null)return""+ee;var _=ie(ee);if(_==="object"){if(ee instanceof Date)return"date";if(ee instanceof RegExp)return"regexp"}return _}function Ce(ee){var _=ve(ee);switch(_){case"array":case"object":return"an "+_;case"boolean":case"date":case"regexp":return"a "+_;default:return _}}function Tt(ee){return!ee.constructor||!ee.constructor.name?I:ee.constructor.name}return N.checkPropTypes=a,N.resetWarningCache=a.resetWarningCache,N.PropTypes=N,N},gN}var mN,AY;function Qae(){if(AY)return mN;AY=1;var e=fN();function t(){}function n(){}return n.resetWarningCache=t,mN=function(){function r(u,p,k,w,S,M){if(M!==e){var I=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw I.name="Invariant Violation",I}}r.isRequired=r;function a(){return r}var l={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return l.PropTypes=l,l},mN}var EY;function qae(){if(EY)return uF.exports;if(EY=1,process.env.NODE_ENV!=="production"){var e=wY(),t=!0;uF.exports=Kae()(e.isElement,t)}else uF.exports=Qae()();return uF.exports}var $ae=qae();const td=gZ($ae);var eoe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function PY(e,t){return e(t={exports:{}},t.exports),t.exports}var toe=PY((function(e){(function(t){var n=function(V,W,J){if(!k(W)||S(W)||M(W)||I(W)||p(W))return W;var Z,te=0,K=0;if(w(W))for(Z=[],K=W.length;te<K;te++)Z.push(n(V,W[te],J));else for(var oe in Z={},W)Object.prototype.hasOwnProperty.call(W,oe)&&(Z[V(oe,J)]=n(V,W[oe],J));return Z},r=function(V){return N(V)?V:(V=V.replace(/[\-_\s]+(.)?/g,(function(W,J){return J?J.toUpperCase():""}))).substr(0,1).toLowerCase()+V.substr(1)},a=function(V){var W=r(V);return W.substr(0,1).toUpperCase()+W.substr(1)},l=function(V,W){return(function(J,Z){var te=(Z=Z||{}).separator||"_",K=Z.split||/(?=[A-Z])/;return J.split(K).join(te)})(V,W).toLowerCase()},u=Object.prototype.toString,p=function(V){return typeof V=="function"},k=function(V){return V===Object(V)},w=function(V){return u.call(V)=="[object Array]"},S=function(V){return u.call(V)=="[object Date]"},M=function(V){return u.call(V)=="[object RegExp]"},I=function(V){return u.call(V)=="[object Boolean]"},N=function(V){return(V-=0)==V},D=function(V,W){var J=W&&"process"in W?W.process:W;return typeof J!="function"?V:function(Z,te){return J(Z,V,te)}},O={camelize:r,decamelize:l,pascalize:a,depascalize:l,camelizeKeys:function(V,W){return n(D(r,W),V)},decamelizeKeys:function(V,W){return n(D(l,W),V,W)},pascalizeKeys:function(V,W){return n(D(a,W),V)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};e.exports?e.exports=O:t.humps=O})(eoe)})).decamelize,noe=function(e){if(Array.isArray(e))return e},roe=function(e,t){if(typeof Symbol<"u"&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,l=void 0;try{for(var u,p=e[Symbol.iterator]();!(r=(u=p.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(k){a=!0,l=k}finally{try{r||p.return==null||p.return()}finally{if(a)throw l}}return n}},RY=function(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r},aoe=function(e,t){if(e){if(typeof e=="string")return RY(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?RY(e,t):void 0}},ooe=function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
328
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)},ioe=function(e,t){return noe(e)||roe(e,t)||aoe(e,t)||ooe()},FY=PY((function(e){function t(){return e.exports=t=Object.assign||function(n){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(n[l]=a[l])}return n},t.apply(this,arguments)}e.exports=t})),soe=function(e,t){if(e==null)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a},OY=function(e,t){if(e==null)return{};var n,r,a=soe(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a},loe=fe.createContext(null);function DY(e){var t=e.children,n=t===void 0?"":t,r=OY(e,["children"]);return typeof n!="string"&&(n=Zae.renderToString(n)),fe.createElement("template",FY({},r,{dangerouslySetInnerHTML:{__html:n}}))}function NY(e){var t=e.root,n=e.children;return Qh.createPortal(n===void 0?null:n,t)}function coe(e){var t=fe.forwardRef((function(n,r){var a,l,u=n.mode,p=u===void 0?"open":u,k=n.delegatesFocus,w=k!==void 0&&k,S=n.styleSheets,M=S===void 0?[]:S,I=n.ssr,N=I!==void 0&&I,D=n.children,O=OY(n,["mode","delegatesFocus","styleSheets","ssr","children"]),V=(l=fe.useRef((a=r)&&a.current),fe.useEffect((function(){a&&(a.current=l.current)}),[a]),l),W=fe.useState(null),J=ioe(W,2),Z=J[0],te=J[1],K="node_".concat(p).concat(w);return fe.useLayoutEffect((function(){if(V.current)try{if(typeof r=="function"&&r(V.current),N){var oe=V.current.shadowRoot;return void te(oe)}var be=V.current.attachShadow({mode:p,delegatesFocus:w});M.length>0&&(be.adoptedStyleSheets=M),te(be)}catch(he){(function(Le){var He=Le.error,lt=Le.styleSheets,gt=Le.root;if(He.name==="NotSupportedError")lt.length>0&&(gt.adoptedStyleSheets=lt);else throw He})({error:he,styleSheets:M,root:Z})}}),[r,V,M]),fe.createElement(fe.Fragment,null,fe.createElement(e.tag,FY({key:K,ref:V},O),(Z||N)&&fe.createElement(loe.Provider,{value:Z},N?fe.createElement(DY,{shadowroot:p,shadowrootmode:p},e.render({root:Z,ssr:N,children:D})):fe.createElement(NY,{root:Z},e.render({root:Z,ssr:N,children:D})))))}));return t.propTypes={mode:td.oneOf(["open","closed"]),delegatesFocus:td.bool,styleSheets:td.arrayOf(td.instanceOf(globalThis.CSSStyleSheet)),ssr:td.bool,children:td.node},t}DY.propTypes={children:td.oneOfType([td.string,td.node])},NY.propTypes={root:td.object.isRequired,children:td.node};var vN=new Map;function doe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"core",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(r){return r.children};return new Proxy(e,{get:function(r,a){var l=toe(a,{separator:"-"}),u="".concat(t,"-").concat(l);return vN.has(u)||vN.set(u,coe({tag:l,render:n})),vN.get(u)}})}var zY=doe();const HY=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-x-reverse:0}}}@layer tasks-timeline-app{@layer theme{:root,:host{--font-sans:Inter,sans-serif;--font-mono:"JetBrains Mono",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-amber-50:hsl(var(--amber-50));--color-amber-100:hsl(var(--amber-100));--color-amber-200:hsl(var(--amber-200));--color-amber-500:hsl(var(--amber-500));--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:hsl(var(--amber-700));--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:hsl(var(--emerald-50));--color-emerald-100:hsl(var(--emerald-100));--color-emerald-200:hsl(var(--emerald-200));--color-emerald-400:hsl(var(--emerald-400));--color-emerald-500:hsl(var(--emerald-500));--color-emerald-600:hsl(var(--emerald-600));--color-sky-500:oklch(68.5% .169 237.323);--color-blue-50:hsl(var(--blue-50));--color-blue-100:hsl(var(--blue-100));--color-blue-200:hsl(var(--blue-200));--color-blue-300:hsl(var(--blue-300));--color-blue-400:hsl(var(--blue-400));--color-blue-500:hsl(var(--blue-500));--color-blue-600:hsl(var(--blue-600));--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-50:hsl(var(--purple-50));--color-purple-100:hsl(var(--purple-100));--color-purple-200:hsl(var(--purple-200));--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:hsl(var(--purple-400));--color-purple-500:hsl(var(--purple-500));--color-purple-600:hsl(var(--purple-600));--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-rose-50:hsl(var(--rose-50));--color-rose-100:hsl(var(--rose-100));--color-rose-200:hsl(var(--rose-200));--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:hsl(var(--rose-500));--color-rose-600:hsl(var(--rose-600));--color-rose-700:hsl(var(--rose-700));--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-slate-50:hsl(var(--slate-50));--color-slate-100:hsl(var(--slate-100));--color-slate-200:hsl(var(--slate-200));--color-slate-300:hsl(var(--slate-300));--color-slate-400:hsl(var(--slate-400));--color-slate-500:hsl(var(--slate-500));--color-slate-600:hsl(var(--slate-600));--color-slate-700:hsl(var(--slate-700));--color-slate-800:hsl(var(--slate-800));--color-slate-900:hsl(var(--slate-900));--color-slate-950:hsl(var(--slate-950));--color-gray-50:oklch(98.5% .002 247.839);--color-black:#000;--color-white:hsl(var(--background));--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--radius);--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-paper:hsl(var(--card))}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-0\\.5{top:calc(var(--spacing)*.5)}.top-1{top:calc(var(--spacing)*1)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-2\\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-5{top:calc(var(--spacing)*5)}.top-\\[50\\%\\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-8{right:calc(var(--spacing)*8)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-0\\.5{left:calc(var(--spacing)*.5)}.left-1{left:calc(var(--spacing)*1)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-\\[50\\%\\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-9999{z-index:9999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-0\\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-4\\.5{height:calc(var(--spacing)*4.5)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-6{height:calc(var(--spacing)*6)}.h-6\\.5{height:calc(var(--spacing)*6.5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-9\\.5{height:calc(var(--spacing)*9.5)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-28{height:calc(var(--spacing)*28)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[var\\(--radix-dropdown-menu-content-available-height\\)\\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-5\\.5{min-height:calc(var(--spacing)*5.5)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-100{min-height:calc(var(--spacing)*100)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-72{width:calc(var(--spacing)*72)}.w-\\[280px\\]{width:280px}.w-\\[400px\\]{width:400px}.w-\\[600px\\]{width:600px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-50{min-width:calc(var(--spacing)*50)}.min-w-80{min-width:calc(var(--spacing)*80)}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[250px\\]{min-width:250px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\\[--radix-dropdown-menu-content-transform-origin\\]{transform-origin:--radix-dropdown-menu-content-transform-origin}.origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:--radix-popover-content-transform-origin}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-start\\!{justify-content:flex-start!important}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#e8e4db\\]{border-color:#e8e4db}.border-amber-100\\/50{border-color:color-mix(in srgb,hsl(var(--amber-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-amber-100\\/50{border-color:color-mix(in oklab,var(--color-amber-100)50%,transparent)}}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-100\\/50{border-color:color-mix(in srgb,hsl(var(--blue-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-blue-100\\/50{border-color:color-mix(in oklab,var(--color-blue-100)50%,transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-border{border-color:var(--color-border)}.border-emerald-100\\/50{border-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-emerald-100\\/50{border-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-200\\/50{border-color:color-mix(in srgb,hsl(var(--emerald-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-emerald-200\\/50{border-color:color-mix(in oklab,var(--color-emerald-200)50%,transparent)}}.border-green-200{border-color:var(--color-green-200)}.border-input{border-color:var(--color-input)}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-purple-400{border-color:var(--color-purple-400)}.border-rose-100{border-color:var(--color-rose-100)}.border-rose-100\\/50{border-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-rose-100\\/50{border-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-200\\/50{border-color:color-mix(in srgb,hsl(var(--rose-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-rose-200\\/50{border-color:color-mix(in oklab,var(--color-rose-200)50%,transparent)}}.border-rose-400{border-color:var(--color-rose-400)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-100\\/50{border-color:color-mix(in srgb,hsl(var(--slate-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-100\\/50{border-color:color-mix(in oklab,var(--color-slate-100)50%,transparent)}}.border-slate-100\\/80{border-color:color-mix(in srgb,hsl(var(--slate-100))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-100\\/80{border-color:color-mix(in oklab,var(--color-slate-100)80%,transparent)}}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/20{border-color:color-mix(in srgb,hsl(var(--slate-200))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/20{border-color:color-mix(in oklab,var(--color-slate-200)20%,transparent)}}.border-slate-200\\/50{border-color:color-mix(in srgb,hsl(var(--slate-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/50{border-color:color-mix(in oklab,var(--color-slate-200)50%,transparent)}}.border-slate-200\\/60{border-color:color-mix(in srgb,hsl(var(--slate-200))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/60{border-color:color-mix(in oklab,var(--color-slate-200)60%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-400{border-color:var(--color-slate-400)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-transparent{border-color:#0000}.border-y-blue-100\\/50{border-block-color:color-mix(in srgb,hsl(var(--blue-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-y-blue-100\\/50{border-block-color:color-mix(in oklab,var(--color-blue-100)50%,transparent)}}.border-y-emerald-100\\/50{border-block-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-y-emerald-100\\/50{border-block-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.border-y-rose-100\\/50{border-block-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-y-rose-100\\/50{border-block-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.border-r-blue-100\\/50{border-right-color:color-mix(in srgb,hsl(var(--blue-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-r-blue-100\\/50{border-right-color:color-mix(in oklab,var(--color-blue-100)50%,transparent)}}.border-r-emerald-100\\/50{border-right-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-r-emerald-100\\/50{border-right-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.border-r-rose-100\\/50{border-right-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-r-rose-100\\/50{border-right-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-emerald-500{border-left-color:var(--color-emerald-500)}.border-l-rose-500{border-left-color:var(--color-rose-500)}.bg-\\[\\#0B1120\\]{background-color:#0b1120}.bg-\\[\\#1e1e1e\\]{background-color:#1e1e1e}.bg-\\[\\#29abe0\\]{background-color:#29abe0}.bg-\\[\\#FFDD00\\]{background-color:#fd0}.bg-\\[\\#f5f2eb\\]{background-color:#f5f2eb}.bg-accent{background-color:var(--color-accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\\/80{background-color:color-mix(in srgb,hsl(var(--amber-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-amber-50\\/80{background-color:color-mix(in oklab,var(--color-amber-50)80%,transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--color-background)}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\\/30{background-color:color-mix(in srgb,hsl(var(--blue-50))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\\/30{background-color:color-mix(in oklab,var(--color-blue-50)30%,transparent)}}.bg-blue-50\\/50{background-color:color-mix(in srgb,hsl(var(--blue-50))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\\/50{background-color:color-mix(in oklab,var(--color-blue-50)50%,transparent)}}.bg-blue-50\\/80{background-color:color-mix(in srgb,hsl(var(--blue-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\\/80{background-color:color-mix(in oklab,var(--color-blue-50)80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-destructive{background-color:var(--color-destructive)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\\/80{background-color:color-mix(in srgb,hsl(var(--emerald-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\\/80{background-color:color-mix(in oklab,var(--color-emerald-50)80%,transparent)}}.bg-emerald-100\\/50{background-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-emerald-100\\/50{background-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-green-50{background-color:var(--color-green-50)}.bg-muted{background-color:var(--color-muted)}.bg-paper{background-color:var(--color-paper)}.bg-paper\\/50{background-color:color-mix(in srgb,hsl(var(--card))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-paper\\/50{background-color:color-mix(in oklab,var(--color-paper)50%,transparent)}}.bg-paper\\/95{background-color:color-mix(in srgb,hsl(var(--card))95%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-paper\\/95{background-color:color-mix(in oklab,var(--color-paper)95%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-50\\/50{background-color:color-mix(in srgb,hsl(var(--rose-50))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-50\\/50{background-color:color-mix(in oklab,var(--color-rose-50)50%,transparent)}}.bg-rose-50\\/60{background-color:color-mix(in srgb,hsl(var(--rose-50))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-50\\/60{background-color:color-mix(in oklab,var(--color-rose-50)60%,transparent)}}.bg-rose-50\\/80{background-color:color-mix(in srgb,hsl(var(--rose-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-50\\/80{background-color:color-mix(in oklab,var(--color-rose-50)80%,transparent)}}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-100\\/50{background-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\\/50{background-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.bg-rose-300{background-color:var(--color-rose-300)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-secondary{background-color:var(--color-secondary)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/30{background-color:color-mix(in srgb,hsl(var(--slate-50))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/30{background-color:color-mix(in oklab,var(--color-slate-50)30%,transparent)}}.bg-slate-50\\/50{background-color:color-mix(in srgb,hsl(var(--slate-50))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/50{background-color:color-mix(in oklab,var(--color-slate-50)50%,transparent)}}.bg-slate-50\\/80{background-color:color-mix(in srgb,hsl(var(--slate-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/80{background-color:color-mix(in oklab,var(--color-slate-50)80%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-200\\/60{background-color:color-mix(in srgb,hsl(var(--slate-200))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\\/60{background-color:color-mix(in oklab,var(--color-slate-200)60%,transparent)}}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\\/40{background-color:color-mix(in srgb,hsl(var(--slate-900))40%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/50{background-color:color-mix(in srgb,hsl(var(--background))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-white\\/95{background-color:color-mix(in srgb,hsl(var(--background))95%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-0\\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-12{padding-right:calc(var(--spacing)*12)}.pr-20{padding-right:calc(var(--spacing)*20)}.pb-0\\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pl-0\\.5{padding-left:calc(var(--spacing)*.5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.text-left\\!{text-align:left!important}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[15px\\]{font-size:15px}.text-\\[length\\:inherit\\]{font-size:inherit}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-accent-foreground{color:var(--color-accent-foreground)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-600\\!{color:var(--color-blue-600)!important}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--color-foreground)}.text-green-800{color:var(--color-green-800)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\\/40{color:color-mix(in srgb,hsl(var(--muted-foreground))40%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/40{color:color-mix(in oklab,var(--color-muted-foreground)40%,transparent)}}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-900{color:var(--color-purple-900)}.text-red-500{color:var(--color-red-500)}.text-rose-400{color:var(--color-rose-400)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-600\\!{color:var(--color-rose-600)!important}.text-rose-700{color:var(--color-rose-700)}.text-rose-900{color:var(--color-rose-900)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sky-500{color:var(--color-sky-500)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-slate-300{-webkit-text-decoration-color:var(--color-slate-300);text-decoration-color:var(--color-slate-300)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-blue-200{--tw-shadow-color:hsl(var(--blue-200))}@supports (color:color-mix(in lab,red,red)){.shadow-blue-200{--tw-shadow-color:color-mix(in oklab,var(--color-blue-200)var(--tw-shadow-alpha),transparent)}}.shadow-emerald-100{--tw-shadow-color:hsl(var(--emerald-100))}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-100{--tw-shadow-color:color-mix(in oklab,var(--color-emerald-100)var(--tw-shadow-alpha),transparent)}}.shadow-rose-100{--tw-shadow-color:hsl(var(--rose-100))}@supports (color:color-mix(in lab,red,red)){.shadow-rose-100{--tw-shadow-color:color-mix(in oklab,var(--color-rose-100)var(--tw-shadow-alpha),transparent)}}.shadow-rose-100\\/50{--tw-shadow-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.shadow-rose-100\\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-rose-100)50%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-slate-100{--tw-shadow-color:hsl(var(--slate-100))}@supports (color:color-mix(in lab,red,red)){.shadow-slate-100{--tw-shadow-color:color-mix(in oklab,var(--color-slate-100)var(--tw-shadow-alpha),transparent)}}.shadow-slate-200{--tw-shadow-color:hsl(var(--slate-200))}@supports (color:color-mix(in lab,red,red)){.shadow-slate-200{--tw-shadow-color:color-mix(in oklab,var(--color-slate-200)var(--tw-shadow-alpha),transparent)}}.shadow-slate-200\\/50{--tw-shadow-color:color-mix(in srgb,hsl(var(--slate-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.shadow-slate-200\\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-200)50%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-200{--tw-ring-color:var(--color-blue-200)}.ring-primary\\/30{--tw-ring-color:color-mix(in srgb,hsl(var(--primary))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.ring-primary\\/30{--tw-ring-color:color-mix(in oklab,var(--color-primary)30%,transparent)}}.ring-purple-200{--tw-ring-color:var(--color-purple-200)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-first\\:hidden:is(:where(.group):first-child *),.group-last\\:hidden:is(:where(.group):last-child *){display:none}@media(hover:hover){.group-hover\\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:text-blue-500:is(:where(.group):hover *){color:var(--color-blue-500)}.group-hover\\:text-blue-600:is(:where(.group):hover *){color:var(--color-blue-600)}.group-hover\\:text-slate-400:is(:where(.group):hover *){color:var(--color-slate-400)}.group-hover\\:text-slate-700:is(:where(.group):hover *){color:var(--color-slate-700)}.group-hover\\:text-slate-900:is(:where(.group):hover *){color:var(--color-slate-900)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-\\[\\.toast\\]\\:bg-muted:is(:where(.group).toast *){background-color:var(--color-muted)}.group-\\[\\.toast\\]\\:bg-primary:is(:where(.group).toast *){background-color:var(--color-primary)}.group-\\[\\.toast\\]\\:text-muted-foreground:is(:where(.group).toast *){color:var(--color-muted-foreground)}.group-\\[\\.toast\\]\\:text-primary-foreground:is(:where(.group).toast *){color:var(--color-primary-foreground)}.group-\\[\\.toaster\\]\\:border-border:is(:where(.group).toaster *){border-color:var(--color-border)}.group-\\[\\.toaster\\]\\:bg-background:is(:where(.group).toaster *){background-color:var(--color-background)}.group-\\[\\.toaster\\]\\:text-foreground:is(:where(.group).toaster *){color:var(--color-foreground)}.group-\\[\\.toaster\\]\\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.selection\\:bg-rose-100 ::selection{background-color:var(--color-rose-100)}.selection\\:bg-rose-100::selection{background-color:var(--color-rose-100)}.selection\\:text-rose-900 ::selection{color:var(--color-rose-900)}.selection\\:text-rose-900::selection{color:var(--color-rose-900)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.placeholder\\:text-purple-300::placeholder{color:var(--color-purple-300)}.placeholder\\:text-slate-400::placeholder{color:var(--color-slate-400)}@media(hover:hover){.hover\\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\\:border-rose-100:hover{border-color:var(--color-rose-100)}.hover\\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\\:bg-accent:hover{background-color:var(--color-accent)}.hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in srgb,hsl(var(--destructive))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in oklab,var(--color-destructive)80%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in srgb,hsl(var(--destructive))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.hover\\:bg-primary\\/80:hover{background-color:color-mix(in srgb,hsl(var(--primary))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/80:hover{background-color:color-mix(in oklab,var(--color-primary)80%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:color-mix(in srgb,hsl(var(--primary))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.hover\\:bg-purple-100:hover{background-color:var(--color-purple-100)}.hover\\:bg-rose-50:hover{background-color:var(--color-rose-50)}.hover\\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\\:bg-rose-100\\/50:hover{background-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-rose-100\\/50:hover{background-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in srgb,hsl(var(--secondary))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--color-secondary)80%,transparent)}}.hover\\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\\:text-blue-500:hover{color:var(--color-blue-500)}.hover\\:text-blue-600:hover{color:var(--color-blue-600)}.hover\\:text-foreground:hover{color:var(--color-foreground)}.hover\\:text-primary-foreground:hover{color:var(--color-primary-foreground)}.hover\\:text-rose-500:hover{color:var(--color-rose-500)}.hover\\:text-rose-600:hover{color:var(--color-rose-600)}.hover\\:text-rose-800:hover{color:var(--color-rose-800)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:text-slate-700:hover{color:var(--color-slate-700)}.hover\\:text-slate-800:hover{color:var(--color-slate-800)}.hover\\:text-slate-900:hover{color:var(--color-slate-900)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}.hover\\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\\:border-blue-500\\/50:focus{border-color:color-mix(in srgb,hsl(var(--blue-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-blue-500\\/50:focus{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.focus\\:border-emerald-500\\/50:focus{border-color:color-mix(in srgb,hsl(var(--emerald-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-emerald-500\\/50:focus{border-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.focus\\:border-purple-400:focus{border-color:var(--color-purple-400)}.focus\\:border-purple-500:focus{border-color:var(--color-purple-500)}.focus\\:border-purple-500\\/50:focus{border-color:color-mix(in srgb,hsl(var(--purple-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-purple-500\\/50:focus{border-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.focus\\:border-ring:focus{border-color:var(--color-ring)}.focus\\:border-slate-400:focus{border-color:var(--color-slate-400)}.focus\\:bg-accent:focus{background-color:var(--color-accent)}.focus\\:bg-white:focus{background-color:var(--color-white)}.focus\\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}.focus\\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--blue-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--blue-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--emerald-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.focus\\:ring-purple-400\\/20:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--purple-400))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-purple-400\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.focus\\:ring-purple-500\\/50:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--purple-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-purple-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.focus\\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\\:ring-slate-200:focus{--tw-ring-color:var(--color-slate-200)}.focus\\:ring-slate-400\\/20:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--slate-400))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-slate-400\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-slate-400)20%,transparent)}}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}@media(min-width:400px){.min-\\[400px\\]\\:right-3{right:calc(var(--spacing)*3)}.min-\\[400px\\]\\:left-3{left:calc(var(--spacing)*3)}.min-\\[400px\\]\\:mx-1{margin-inline:calc(var(--spacing)*1)}.min-\\[400px\\]\\:flex{display:flex}.min-\\[400px\\]\\:h-5{height:calc(var(--spacing)*5)}.min-\\[400px\\]\\:w-5{width:calc(var(--spacing)*5)}.min-\\[400px\\]\\:gap-1{gap:calc(var(--spacing)*1)}.min-\\[400px\\]\\:gap-1\\.5{gap:calc(var(--spacing)*1.5)}.min-\\[400px\\]\\:gap-2{gap:calc(var(--spacing)*2)}.min-\\[400px\\]\\:p-1\\.5{padding:calc(var(--spacing)*1.5)}.min-\\[400px\\]\\:px-2{padding-inline:calc(var(--spacing)*2)}.min-\\[400px\\]\\:px-3{padding-inline:calc(var(--spacing)*3)}.min-\\[400px\\]\\:px-4{padding-inline:calc(var(--spacing)*4)}.min-\\[400px\\]\\:py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.min-\\[400px\\]\\:py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.min-\\[400px\\]\\:pr-4{padding-right:calc(var(--spacing)*4)}.min-\\[400px\\]\\:pr-24{padding-right:calc(var(--spacing)*24)}.min-\\[400px\\]\\:pl-1{padding-left:calc(var(--spacing)*1)}.min-\\[400px\\]\\:pl-10{padding-left:calc(var(--spacing)*10)}}@media(min-width:550px){.min-\\[550px\\]\\:block{display:block}}@media(min-width:40rem){.sm\\:inline-block{display:inline-block}.sm\\:w-6{width:calc(var(--spacing)*6)}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:gap-2{gap:calc(var(--spacing)*2)}.sm\\:gap-4{gap:calc(var(--spacing)*4)}:where(.sm\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\\:rounded-lg{border-radius:var(--radius-lg)}.sm\\:px-1{padding-inline:calc(var(--spacing)*1)}.sm\\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\\:pr-8{padding-right:calc(var(--spacing)*8)}.sm\\:pr-16{padding-right:calc(var(--spacing)*16)}.sm\\:text-left{text-align:left}.sm\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:48rem){.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\\:border-blue-800{border-color:var(--color-blue-800)}.dark\\:border-purple-800{border-color:var(--color-purple-800)}.dark\\:border-rose-900\\/20{border-color:#8b083633}@supports (color:color-mix(in lab,red,red)){.dark\\:border-rose-900\\/20{border-color:color-mix(in oklab,var(--color-rose-900)20%,transparent)}}.dark\\:border-slate-500{border-color:var(--color-slate-500)}.dark\\:border-slate-600{border-color:var(--color-slate-600)}.dark\\:border-slate-700{border-color:var(--color-slate-700)}.dark\\:border-slate-700\\/50{border-color:color-mix(in srgb,hsl(var(--slate-700))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-slate-700\\/50{border-color:color-mix(in oklab,var(--color-slate-700)50%,transparent)}}.dark\\:border-slate-800{border-color:var(--color-slate-800)}.dark\\:bg-blue-900\\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-blue-900\\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\\:bg-rose-900\\/10{background-color:#8b08361a}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-900\\/10{background-color:color-mix(in oklab,var(--color-rose-900)10%,transparent)}}.dark\\:bg-slate-600{background-color:var(--color-slate-600)}.dark\\:bg-slate-700{background-color:var(--color-slate-700)}.dark\\:bg-slate-800{background-color:var(--color-slate-800)}.dark\\:bg-slate-800\\/30{background-color:color-mix(in srgb,hsl(var(--slate-800))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-800\\/30{background-color:color-mix(in oklab,var(--color-slate-800)30%,transparent)}}.dark\\:bg-slate-800\\/50{background-color:color-mix(in srgb,hsl(var(--slate-800))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-800\\/50{background-color:color-mix(in oklab,var(--color-slate-800)50%,transparent)}}.dark\\:bg-slate-900{background-color:var(--color-slate-900)}.dark\\:bg-slate-900\\/10{background-color:color-mix(in srgb,hsl(var(--slate-900))10%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-900\\/10{background-color:color-mix(in oklab,var(--color-slate-900)10%,transparent)}}.dark\\:bg-slate-900\\/20{background-color:color-mix(in srgb,hsl(var(--slate-900))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-900\\/20{background-color:color-mix(in oklab,var(--color-slate-900)20%,transparent)}}.dark\\:text-blue-100{color:var(--color-blue-100)}.dark\\:text-blue-300{color:var(--color-blue-300)}.dark\\:text-slate-100{color:var(--color-slate-100)}.dark\\:text-slate-200{color:var(--color-slate-200)}.dark\\:text-slate-300{color:var(--color-slate-300)}.dark\\:text-slate-400{color:var(--color-slate-400)}.dark\\:shadow-slate-950{--tw-shadow-color:hsl(var(--slate-950))}@supports (color:color-mix(in lab,red,red)){.dark\\:shadow-slate-950{--tw-shadow-color:color-mix(in oklab,var(--color-slate-950)var(--tw-shadow-alpha),transparent)}}.dark\\:ring-blue-900{--tw-ring-color:var(--color-blue-900)}@media(hover:hover){.dark\\:hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}.dark\\:hover\\:bg-slate-800:hover{background-color:var(--color-slate-800)}.dark\\:hover\\:bg-slate-800\\/50:hover{background-color:color-mix(in srgb,hsl(var(--slate-800))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-slate-800\\/50:hover{background-color:color-mix(in oklab,var(--color-slate-800)50%,transparent)}}.dark\\:hover\\:text-slate-200:hover{color:var(--color-slate-200)}.dark\\:hover\\:text-slate-300:hover{color:var(--color-slate-300)}}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-slate-700\\/50{border-color:color-mix(in srgb,hsl(var(--slate-700))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-slate-700\\/50{border-color:color-mix(in oklab,var(--color-slate-700)50%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-blue-500\\/20{border-block-color:color-mix(in srgb,hsl(var(--blue-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-blue-500\\/20{border-block-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-emerald-500\\/20{border-block-color:color-mix(in srgb,hsl(var(--emerald-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-emerald-500\\/20{border-block-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-rose-500\\/20{border-block-color:color-mix(in srgb,hsl(var(--rose-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-rose-500\\/20{border-block-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-blue-500\\/20{border-right-color:color-mix(in srgb,hsl(var(--blue-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-blue-500\\/20{border-right-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-emerald-500\\/20{border-right-color:color-mix(in srgb,hsl(var(--emerald-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-emerald-500\\/20{border-right-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-rose-500\\/20{border-right-color:color-mix(in srgb,hsl(var(--rose-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-rose-500\\/20{border-right-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:bg-slate-800\\/95{background-color:color-mix(in srgb,hsl(var(--slate-800))95%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:bg-slate-800\\/95{background-color:color-mix(in oklab,var(--color-slate-800)95%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-blue-400{color:var(--color-blue-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-emerald-400{color:var(--color-emerald-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-rose-400{color:var(--color-rose-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-slate-100{color:var(--color-slate-100)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-slate-400{color:var(--color-slate-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:shadow-black\\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:shadow-black\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}}}:root{--background:0 0% 100%;--foreground:222.2 47.4% 11.2%;--card:0 0% 98.8%;--card-foreground:222.2 47.4% 11.2%;--popover:0 0% 98.8%;--popover-foreground:222.2 47.4% 11.2%;--primary:217.2 91.2% 59.8%;--primary-foreground:0 0% 100%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:214.3 100% 97.1%;--accent-foreground:217.2 91.2% 59.8%;--destructive:346.8 77.2% 49.8%;--destructive-foreground:0 0% 100%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:217.2 91.2% 59.8%;--radius:.5rem;--slate-50:210 40% 98%;--slate-100:210 40% 96.1%;--slate-200:214.3 31.8% 91.4%;--slate-300:212.7 26.8% 83.9%;--slate-400:215 20.2% 65.1%;--slate-500:215.4 16.3% 46.9%;--slate-600:215.3 19.3% 34.5%;--slate-700:215.3 25% 26.7%;--slate-800:217.2 32.6% 17.5%;--slate-900:222.2 47.4% 11.2%;--slate-950:222.2 84% 4.9%;--rose-50:355.7 100% 97.3%;--rose-100:355.6 100% 94.7%;--rose-200:352.7 96.1% 90%;--rose-500:349.7 89.2% 60.2%;--rose-600:346.8 77.2% 49.8%;--rose-700:345.3 82.7% 40.8%;--emerald-50:151.8 81% 95.9%;--emerald-100:149.3 80.4% 90%;--emerald-200:152.4 76% 80.4%;--emerald-400:160.1 84.1% 52.5%;--emerald-500:160.1 84.1% 39.4%;--emerald-600:161.4 93.5% 30.4%;--blue-50:213.8 100% 96.9%;--blue-100:214.3 94.6% 92.7%;--blue-200:213.3 96.9% 87.3%;--blue-300:211.7 96.4% 78.4%;--blue-400:213.1 93.9% 67.8%;--blue-500:217.2 91.2% 59.8%;--blue-600:221.2 83.2% 53.3%;--amber-50:48 100% 96.1%;--amber-100:48 96.5% 88.8%;--amber-200:48 96.6% 76.7%;--amber-500:43 96.4% 56.3%;--amber-700:37.7 92.1% 38%;--purple-50:270 100% 98%;--purple-100:269 100% 95.5%;--purple-200:268.7 100% 91.8%;--purple-400:270.4 95.2% 75.3%;--purple-500:270.7 91% 65.1%;--purple-600:271.5 81.3% 55.9%}.tasks-timeline-app[data-theme=dark]{--background:222.2 47.4% 11.2%;--foreground:210 40% 98%;--card:217.2 32.6% 17.5%;--card-foreground:210 40% 98%;--popover:217.2 32.6% 17.5%;--popover-foreground:210 40% 98%;--primary:213.1 93.9% 67.8%;--primary-foreground:222.2 47.4% 11.2%;--secondary:215.3 25% 26.7%;--secondary-foreground:210 40% 98%;--muted:215.3 25% 26.7%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:213.1 93.9% 67.8%;--destructive:350 89.2% 60.2%;--destructive-foreground:210 40% 98%;--border:215.3 25% 26.7%;--input:215.3 25% 26.7%;--ring:213.1 93.9% 67.8%;--slate-50:217.2 32.6% 17.5%;--slate-100:215.3 25% 26.7%;--slate-200:215.3 19.3% 34.5%;--slate-300:215.4 16.3% 46.9%;--slate-400:215 20.2% 65.1%;--slate-500:212.7 26.8% 83.9%;--slate-600:214.3 31.8% 91.4%;--slate-700:210 40% 96.1%;--slate-800:210 40% 98%;--slate-900:0 0% 100%;--slate-950:0 0% 100%;--rose-50:347 82% 15%;--rose-100:345 79% 26%;--rose-200:346 84% 32%;--rose-500:353.7 89.5% 70.6%;--rose-600:352.7 96.1% 90%;--rose-700:355.6 100% 94.7%;--emerald-50:162 100% 8%;--emerald-100:163 94% 14%;--emerald-200:164 86% 18%;--emerald-500:158 64% 52%;--emerald-600:152.4 76% 80.4%;--blue-50:221 83% 15%;--blue-100:222 87% 24%;--blue-200:223 83% 30%;--blue-500:213.1 93.9% 67.8%;--blue-600:213.3 96.9% 87.3%;--amber-50:31 100% 10%;--amber-100:30 93% 17%;--amber-200:29 93% 22%;--amber-500:47 92% 68%;--amber-700:48 96.6% 76.7%;--purple-50:273 100% 10%;--purple-100:273 94% 18%;--purple-200:272 87% 24%;--purple-500:270.7 91% 65.1%;--purple-600:270.4 95.2% 75.3%}.tasks-timeline-app[data-theme=midnight]{--background:222 47% 7%;--foreground:210 40% 98%;--card:218 36% 13%;--card-foreground:210 40% 98%;--popover:218 36% 13%;--popover-foreground:210 40% 98%;--primary:213.1 93.9% 67.8%;--primary-foreground:222 47% 7%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:215.3 25% 26.7%;--muted-foreground:215 20.2% 65.1%;--accent:218 36% 13%;--accent-foreground:213.1 93.9% 67.8%;--destructive:350 89.2% 60.2%;--destructive-foreground:210 40% 98%;--border:215.3 25% 26.7%;--input:215.3 25% 26.7%;--ring:213.1 93.9% 67.8%;--slate-50:218 36% 13%;--slate-100:217.2 32.6% 17.5%;--slate-200:215.3 25% 26.7%;--slate-300:215.3 19.3% 34.5%;--slate-400:215.4 16.3% 46.9%;--slate-500:215 20.2% 65.1%;--slate-600:212.7 26.8% 83.9%;--slate-700:214.3 31.8% 91.4%;--slate-800:210 40% 96.1%;--slate-900:210 40% 98%;--slate-950:0 0% 100%;--rose-50:347 82% 15%;--rose-100:345 79% 26%;--rose-200:346 84% 32%;--rose-500:353.7 89.5% 70.6%;--rose-600:352.7 96.1% 90%;--rose-700:355.6 100% 94.7%;--emerald-50:162 100% 8%;--emerald-100:163 94% 14%;--emerald-200:164 86% 18%;--emerald-500:158 64% 52%;--emerald-600:152.4 76% 80.4%;--blue-50:221 83% 15%;--blue-100:222 87% 24%;--blue-200:223 83% 30%;--blue-500:213.1 93.9% 67.8%;--blue-600:213.3 96.9% 87.3%;--amber-50:31 100% 10%;--amber-100:30 93% 17%;--amber-200:29 93% 22%;--amber-500:47 92% 68%;--amber-700:48 96.6% 76.7%;--purple-50:273 100% 10%;--purple-100:273 94% 18%;--purple-200:272 87% 24%;--purple-500:270.7 91% 65.1%;--purple-600:270.4 95.2% 75.3%}.tasks-timeline-app[data-theme=coffee]{--background:40 17% 99%;--foreground:30 25% 10%;--card:40 23% 95%;--card-foreground:30 25% 10%;--popover:40 23% 95%;--popover-foreground:30 25% 10%;--primary:37.7 92.1% 38%;--primary-foreground:40 17% 99%;--secondary:40 19% 90%;--secondary-foreground:30 25% 10%;--muted:40 19% 90%;--muted-foreground:30 10% 46%;--accent:40 21% 94%;--accent-foreground:37.7 92.1% 38%;--destructive:346.8 77.2% 49.8%;--destructive-foreground:40 17% 99%;--border:40 17% 80%;--input:40 17% 80%;--ring:37.7 92.1% 38%;--slate-50:40 21% 94%;--slate-100:40 19% 90%;--slate-200:40 17% 80%;--slate-300:40 13% 68%;--slate-400:40 9% 56%;--slate-500:30 10% 46%;--slate-600:30 11% 38%;--slate-700:30 14% 31%;--slate-800:30 18% 24%;--slate-900:30 23% 14%;--slate-950:30 25% 10%}.tasks-timeline-app button,.tasks-timeline-app input[type=text],.tasks-timeline-app input[type=search],.tasks-timeline-app input[type=number],.tasks-timeline-app input[type=date],.tasks-timeline-app input[type=datetime-local]{box-shadow:none;color:inherit;appearance:none;background-color:#0000;background-image:none;border:1px solid #0000;margin:0;padding:0;font-family:inherit}.tasks-timeline-app{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;box-sizing:border-box;transition:background-color .3s,color .3s}.tasks-timeline-app *,.tasks-timeline-app :before,.tasks-timeline-app :after{box-sizing:inherit;transition-property:background-color,border-color,color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tasks-timeline-app ::-webkit-scrollbar{width:10px;height:10px}.tasks-timeline-app ::-webkit-scrollbar-track{background:hsl(var(--muted)/.2);border-radius:6px;margin:2px}.tasks-timeline-app ::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.4);border:2px solid hsl(var(--background));border-radius:6px;transition:all .2s}.tasks-timeline-app ::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary)/.6);border-color:hsl(var(--muted)/.3)}.tasks-timeline-app ::-webkit-scrollbar-thumb:active{background:hsl(var(--primary)/.8)}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar{width:6px;height:6px}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar{width:6px;height:6px}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar-track{background:0 0;margin:4px}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar-track{background:0 0;margin:4px}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar-track{background:0 0;margin:4px}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border:none;border-radius:3px}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border:none;border-radius:3px}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border:none;border-radius:3px}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}.tasks-timeline-app .no-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.tasks-timeline-app .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none;overflow:-moz-scrollbars-none}.tasks-timeline-app .no-scrollbar::-webkit-scrollbar-track{display:none}.tasks-timeline-app .no-scrollbar::-webkit-scrollbar-thumb{display:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}`,uoe=()=>b.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 custom-scrollbar bg-slate-50/50 dark:bg-slate-900/10",children:[b.jsxs("section",{className:"text-center space-y-3 pt-4",children:[b.jsx("div",{className:"w-16 h-16 bg-slate-900 text-white rounded-2xl mx-auto flex items-center justify-center shadow-lg shadow-slate-200 dark:shadow-slate-950",children:b.jsx(We,{name:"CheckSquare",size:32})}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("h3",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:"Tasks Timeline View"}),b.jsxs("p",{className:"text-xs text-slate-500 font-mono",children:["v","0.2.1"," • Built at ","d80b962"]})]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 max-w-sm mx-auto leading-relaxed",children:"A high-fidelity, timeline-based task management tool designed for focus, clarity, and AI-assisted productivity."})]}),b.jsxs("section",{className:"space-y-3",children:[b.jsx("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:"Connect & Contribute"}),b.jsx("div",{className:"grid grid-cols-1 gap-2",children:b.jsxs("a",{href:"https://github.com/Leonezz/tasks-timeline-components",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-3 rounded-xl border border-slate-200 bg-white hover:bg-slate-50 dark:bg-slate-900 dark:border-slate-800 dark:hover:bg-slate-800 transition-colors group",children:[b.jsx("div",{className:"bg-slate-100 dark:bg-slate-800 p-2 rounded-lg group-hover:scale-105 transition-transform text-slate-700 dark:text-slate-300",children:b.jsx(We,{name:"Github",size:20})}),b.jsxs("div",{className:"flex-1",children:[b.jsx("div",{className:"text-sm font-bold text-slate-800 dark:text-slate-200",children:"GitHub Repository"}),b.jsx("div",{className:"text-xs text-slate-500",children:"View source code, report issues, or contribute."})]}),b.jsx(We,{name:"ExternalLink",size:14,className:"text-slate-400 group-hover:text-blue-500 transition-colors"})]})})]}),b.jsxs("section",{className:"space-y-3",children:[b.jsx("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:"Support Development"}),b.jsxs("div",{className:"rounded-xl border border-rose-100 bg-rose-50/50 dark:bg-rose-900/10 dark:border-rose-900/20 p-4 space-y-4",children:[b.jsx("p",{className:"text-sm text-slate-700 dark:text-slate-300 leading-relaxed",children:"If you find this tool useful, consider supporting its development. Your contribution helps keep the updates coming!"}),b.jsxs("div",{className:"grid grid-cols-4 gap-3",children:[b.jsx("a",{href:"https://buymeacoffee.com/zhuwenqa",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#FFDD00] text-slate-900 font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:b.jsx("img",{src:"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png",alt:"Buy Me A Coffee"})}),b.jsxs("a",{href:"https://ko-fi.com/zhuwenqa",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#29abe0] text-white font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:[b.jsx(We,{name:"CoffeeIcon",size:16}),b.jsx("span",{children:"Ko-fi"})]}),b.jsxs("a",{href:"https://patreon.com/zhuwenq",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#29abe0] text-white font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:[b.jsx(We,{name:"Star",size:16}),b.jsx("span",{children:"Patreon"})]}),b.jsxs("a",{href:"https://www.paypal.com/paypalme/zhuwenq",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#29abe0] text-white font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:[b.jsx(We,{name:"Wallet2",size:16}),b.jsx("span",{children:"Paypal"})]})]})]})]}),b.jsx("div",{className:"pt-6 border-t border-slate-100 dark:border-slate-800 text-center",children:b.jsxs("p",{className:"text-[10px] text-slate-400 leading-relaxed",children:["Built with React, Tailwind, Framer Motion & Gemini AI. ",b.jsx("br",{}),"MIT License © ",new Date().getFullYear()," Tasks Timeline View"]})})]}),hoe=["general","advanced","docs","about"],BY=({settings:e,onUpdateSettings:t,availableCategories:n,availableTags:r,onClose:a,inSeperatePage:l,inDarkMode:u,customTabs:p=[]})=>{const[k,w]=fe.useState("general"),[S,M]=fe.useState(null);fe.useEffect(()=>{p.forEach(N=>{hoe.includes(N.id)&&wt.warn("Settings",`CustomSettingsTab id "${N.id}" conflicts with built-in tab. Consider using a different id.`)})},[p]),fe.useEffect(()=>{if(wt.info("Settings",`system in dark mode: ${u}, in seperate page: ${l}, onClose: ${a}`),!l||!S)return;const N=u?"midnight":"light";wt.info("Settings","adjust to system theme: ",N),S.setAttribute("data-theme",N)},[e.theme,S,u,l,a]);const I=()=>b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex justify-between items-center px-6 py-4 border-b border-slate-100 dark:border-slate-800 bg-paper/50 shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("div",{className:"p-2 bg-slate-200 dark:bg-slate-700 rounded-lg text-slate-600 dark:text-slate-200",children:b.jsx(We,{name:"Settings",size:18})}),b.jsx("h2",{className:"font-bold text-slate-800 text-lg",children:"Settings"})]}),b.jsxs("div",{className:"flex p-1 bg-slate-100 dark:bg-slate-800 rounded-lg",children:[b.jsx("button",{onClick:()=>w("general"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="general"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"General"}),b.jsx("button",{onClick:()=>w("advanced"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="advanced"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"Advanced"}),b.jsx("button",{onClick:()=>w("docs"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="docs"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"Docs"}),b.jsx("button",{onClick:()=>w("about"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="about"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"About"}),p.map(N=>b.jsxs("button",{onClick:()=>w(N.id),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all flex items-center gap-1",k===N.id?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:[N.icon&&b.jsx(We,{name:N.icon,size:12}),N.label]},N.id))]})]}),a&&b.jsx("button",{onClick:a,className:"p-2 text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-700 rounded-full transition-colors outline-none",children:b.jsx(We,{name:"X",size:20})})]}),b.jsxs("div",{className:"p-0 overflow-y-auto flex-1 min-h-100",children:[k==="general"&&b.jsx(Pae,{settings:e,onUpdateSettings:t,availableCategories:n}),k==="advanced"&&b.jsx(fY,{settings:e,onUpdateSettings:t,availableTags:r}),k==="docs"&&b.jsx(oY,{}),k==="about"&&b.jsx(uoe,{}),p.find(N=>N.id===k)?.content]}),b.jsx("div",{className:"p-4 bg-slate-50 dark:bg-slate-800/50 text-center border-t border-slate-100 dark:border-slate-800 shrink-0",children:b.jsxs("p",{className:"text-[10px] text-slate-400",children:["Timeline Tasks View • ","0.2.1"," at ","d80b962"]})})]});return l?b.jsx("div",{ref:M,className:"tasks-timeline-app",id:"tasks-timeline-app",style:{width:"100%"},children:b.jsxs(zY.div,{children:[b.jsx("style",{children:HY}),I()]})}):I()},VY=({isOpen:e,onClose:t,settings:n,onUpdateSettings:r,availableTags:a,availableCategories:l,customTabs:u})=>b.jsx(ql,{children:e&&b.jsxs(b.Fragment,{children:[b.jsx(So,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-40"}),b.jsx(So,{initial:{opacity:0,scale:.95,y:"-50%",x:"-50%"},animate:{opacity:1,scale:1,y:"-50%",x:"-50%"},exit:{opacity:0,scale:.95,y:"-50%",x:"-50%"},transition:{type:"spring",duration:.5},className:"fixed top-1/2 left-1/2 w-full max-w-2xl bg-paper rounded-2xl shadow-2xl z-50 overflow-hidden border border-slate-200 dark:border-slate-800 flex flex-col max-h-[85vh] text-slate-900",children:b.jsx(BY,{settings:n,onUpdateSettings:r,availableCategories:l,availableTags:a,onClose:t,inSeperatePage:!1,customTabs:u})})]})}),foe=({isOpen:e,onClose:t})=>b.jsx(ql,{children:e&&b.jsxs(b.Fragment,{children:[b.jsx(ao.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-50"}),b.jsxs(ao.div,{initial:{opacity:0,scale:.95,y:"-50%",x:"-50%"},animate:{opacity:1,scale:1,y:"-50%",x:"-50%"},exit:{opacity:0,scale:.95,y:"-50%",x:"-50%"},className:"fixed top-1/2 left-1/2 w-full max-w-2xl bg-paper rounded-xl shadow-2xl z-50 border border-slate-200 dark:border-slate-800 overflow-hidden max-h-[85vh] flex flex-col text-slate-900",children:[b.jsxs("div",{className:"flex justify-between items-center px-6 py-4 border-b border-slate-100 dark:border-slate-800 bg-paper/50 shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("div",{className:"p-2 bg-blue-100 dark:bg-blue-900/30 rounded-lg text-blue-600 dark:text-blue-300",children:b.jsx(We,{name:"BookOpen",size:18})}),b.jsx("h2",{className:"font-bold text-slate-800 text-lg",children:"Documentation"})]}),b.jsx("button",{onClick:t,className:"p-2 text-slate-400 hover:text-slate-600 rounded-full hover:bg-slate-100 dark:hover:bg-slate-800 transition-colors",children:b.jsx(We,{name:"X",size:20})})]}),b.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 custom-scrollbar",children:[b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Activity",size:14,className:"text-blue-500"}),"Task Lifecycle & Auto-Status"]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-4 leading-relaxed",children:"The view automatically manages task statuses based on dates to keep your workflow organized. You rarely need to manually set status unless completing a task."}),b.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"AlertCircle",size:14,className:"text-rose-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Due / Overdue"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks due Today, Tomorrow, or in the past are automatically flagged as Urgent."})]}),b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Clock",size:14,className:"text-blue-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Scheduled (Doing)"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks with a future Start Date are marked as Scheduled until that date arrives."})]}),b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Zap",size:14,className:"text-purple-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Unplanned"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks without dates that need immediate attention. You must manually set this."})]}),b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Archive",size:14,className:"text-slate-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Backlog"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Items with no Due Date or Start Date appear in the Backlog section."})]})]})]}),b.jsx("div",{className:"h-px bg-slate-100 dark:bg-slate-800 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Sparkles",size:14,className:"text-purple-500"}),"AI & Voice Intelligence"]}),b.jsxs("div",{className:"space-y-3",children:[b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"Mic",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"Voice Commands"}),b.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:'Click the microphone icon to speak. Supports natural language like "Buy milk tomorrow priority high".'})]})]}),b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"TerminalSquare",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"AI Mode"}),b.jsxs("p",{className:"text-xs text-slate-500 mt-0.5",children:["Toggle AI mode to use Gemini. It can Create, Update, Query, and Delete tasks.",b.jsx("br",{}),b.jsx("em",{className:"opacity-80",children:'Example: "Move all overdue tasks to next friday" or "Summarize my high priority work".'})]})]})]})]})]}),b.jsx("div",{className:"h-px bg-slate-100 dark:bg-slate-800 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Command",size:14,className:"text-slate-500"}),"Quick Controls"]}),b.jsxs("ul",{className:"text-xs text-slate-600 dark:text-slate-400 space-y-2",children:[b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Enter"}),b.jsx("span",{children:"Save task / Submit command"})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Double Click Delete"}),b.jsx("span",{children:"Click trash icon once to arm, twice to delete."})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Focus Mode"}),b.jsx("span",{children:"Hides everything except Today's active tasks."})]})]})]})]}),b.jsx("div",{className:"p-4 bg-slate-50 dark:bg-slate-800/50 text-center border-t border-slate-100 dark:border-slate-800 shrink-0",children:b.jsx("p",{className:"text-[10px] text-slate-400",children:"Tasks Timeline • v0.1.2"})})]})]})}),UY=({toast:e,onDismiss:t})=>{fe.useEffect(()=>{const l=setTimeout(()=>{t(e.id)},4e3);return()=>clearTimeout(l)},[e.id,t]);const n=()=>{switch(e.type){case"success":return"CheckCircle2";case"error":return"AlertCircle";case"info":return"Info"}},r=()=>{const l="bg-white/95 backdrop-blur-md border shadow-xl shadow-slate-200/50 [.chronos-app[data-theme='dark']_&]:bg-slate-800/95 [.chronos-app[data-theme='dark']_&]:shadow-black/20 [.chronos-app[data-theme='dark']_&]:border-slate-700/50";switch(e.type){case"success":return Xe(l,"border-l-4 border-l-emerald-500 border-y-emerald-100/50 border-r-emerald-100/50 [.chronos-app[data-theme='dark']_&]:border-y-emerald-500/20 [.chronos-app[data-theme='dark']_&]:border-r-emerald-500/20");case"error":return Xe(l,"border-l-4 border-l-rose-500 border-y-rose-100/50 border-r-rose-100/50 [.chronos-app[data-theme='dark']_&]:border-y-rose-500/20 [.chronos-app[data-theme='dark']_&]:border-r-rose-500/20");case"info":return Xe(l,"border-l-4 border-l-blue-500 border-y-blue-100/50 border-r-blue-100/50 [.chronos-app[data-theme='dark']_&]:border-y-blue-500/20 [.chronos-app[data-theme='dark']_&]:border-r-blue-500/20")}},a=()=>{switch(e.type){case"success":return"text-emerald-500 [.chronos-app[data-theme='dark']_&]:text-emerald-400";case"error":return"text-rose-500 [.chronos-app[data-theme='dark']_&]:text-rose-400";case"info":return"text-blue-500 [.chronos-app[data-theme='dark']_&]:text-blue-400"}};return b.jsxs(So,{layout:!0,initial:{opacity:0,x:50,scale:.9},animate:{opacity:1,x:0,scale:1},exit:{opacity:0,x:20,scale:.9},className:Xe("flex items-start gap-3 p-4 rounded-lg max-w-sm w-full pointer-events-auto text-slate-800 [.chronos-app[data-theme='dark']_&]:text-slate-100",r()),children:[b.jsx("div",{className:Xe("mt-0.5 shrink-0",a()),children:b.jsx(We,{name:n(),size:18})}),b.jsxs("div",{className:"flex-1 min-w-0",children:[b.jsx("h4",{className:"text-sm font-bold leading-tight",children:e.title}),e.description&&b.jsx("p",{className:"text-xs opacity-80 mt-1 leading-snug font-medium text-slate-500 [.chronos-app[data-theme='dark']_&]:text-slate-400",children:e.description})]}),b.jsx("button",{onClick:()=>t(e.id),className:"opacity-40 hover:opacity-100 transition-opacity p-0.5 -mr-1 -mt-1",children:b.jsx(We,{name:"X",size:14})})]})};var oc="INUMBER",O2="IOP1",D2="IOP2",N2="IOP3",Zu="IVAR",R0="IVARNAME",z2="IFUNCALL",fF="IFUNDEF",ws="IEXPR",kN="IEXPREVAL",F0="IMEMBER",yF="IENDSTATEMENT",H2="IARRAY";function Cn(e,t){this.type=e,this.value=t??0}Cn.prototype.toString=function(){switch(this.type){case oc:case O2:case D2:case N2:case Zu:case R0:case yF:return this.value;case z2:return"CALL "+this.value;case fF:return"DEF "+this.value;case H2:return"ARRAY "+this.value;case F0:return"."+this.value;default:return"Invalid Instruction"}};function pF(e){return new Cn(O2,e)}function Gu(e){return new Cn(D2,e)}function _Y(e){return new Cn(N2,e)}function bN(e,t,n,r,a){for(var l=[],u=[],p,k,w,S,M=0;M<e.length;M++){var I=e[M],N=I.type;if(N===oc||N===R0)Array.isArray(I.value)?l.push.apply(l,bN(I.value.map(function(D){return new Cn(oc,D)}).concat(new Cn(H2,I.value.length)),t,n,r,a)):l.push(I);else if(N===Zu&&a.hasOwnProperty(I.value))I=new Cn(oc,a[I.value]),l.push(I);else if(N===D2&&l.length>1)k=l.pop(),p=l.pop(),S=n[I.value],I=new Cn(oc,S(p.value,k.value)),l.push(I);else if(N===N2&&l.length>2)w=l.pop(),k=l.pop(),p=l.pop(),I.value==="?"?l.push(p.value?k.value:w.value):(S=r[I.value],I=new Cn(oc,S(p.value,k.value,w.value)),l.push(I));else if(N===O2&&l.length>0)p=l.pop(),S=t[I.value],I=new Cn(oc,S(p.value)),l.push(I);else if(N===ws){for(;l.length>0;)u.push(l.shift());u.push(new Cn(ws,bN(I.value,t,n,r,a)))}else if(N===F0&&l.length>0)p=l.pop(),l.push(new Cn(oc,p.value[I.value]));else{for(;l.length>0;)u.push(l.shift());u.push(I)}}for(;l.length>0;)u.push(l.shift());return u}function WY(e,t,n){for(var r=[],a=0;a<e.length;a++){var l=e[a],u=l.type;if(u===Zu&&l.value===t)for(var p=0;p<n.tokens.length;p++){var k=n.tokens[p],w;k.type===O2?w=pF(k.value):k.type===D2?w=Gu(k.value):k.type===N2?w=_Y(k.value):w=new Cn(k.type,k.value),r.push(w)}else u===ws?r.push(new Cn(ws,WY(l.value,t,n))):r.push(l)}return r}function O0(e,t,n){var r=[],a,l,u,p,k,w;if(xN(e))return ju(e,n);for(var S=e.length,M=0;M<S;M++){var I=e[M],N=I.type;if(N===oc||N===R0)r.push(I.value);else if(N===D2)l=r.pop(),a=r.pop(),I.value==="and"?r.push(a?!!O0(l,t,n):!1):I.value==="or"?r.push(a?!0:!!O0(l,t,n)):I.value==="="?(p=t.binaryOps[I.value],r.push(p(a,O0(l,t,n),n))):(p=t.binaryOps[I.value],r.push(p(ju(a,n),ju(l,n))));else if(N===N2)u=r.pop(),l=r.pop(),a=r.pop(),I.value==="?"?r.push(O0(a?l:u,t,n)):(p=t.ternaryOps[I.value],r.push(p(ju(a,n),ju(l,n),ju(u,n))));else if(N===Zu)if(I.value in t.functions)r.push(t.functions[I.value]);else if(I.value in t.unaryOps&&t.parser.isOperatorEnabled(I.value))r.push(t.unaryOps[I.value]);else{var D=n[I.value];if(D!==void 0)r.push(D);else throw new Error("undefined variable: "+I.value)}else if(N===O2)a=r.pop(),p=t.unaryOps[I.value],r.push(p(ju(a,n)));else if(N===z2){for(w=I.value,k=[];w-- >0;)k.unshift(ju(r.pop(),n));if(p=r.pop(),p.apply&&p.call)r.push(p.apply(void 0,k));else throw new Error(p+" is not a function")}else if(N===fF)r.push((function(){for(var O=r.pop(),V=[],W=I.value;W-- >0;)V.unshift(r.pop());var J=r.pop(),Z=function(){for(var te=Object.assign({},n),K=0,oe=V.length;K<oe;K++)te[V[K]]=arguments[K];return O0(O,t,te)};return Object.defineProperty(Z,"name",{value:J,writable:!1}),n[J]=Z,Z})());else if(N===ws)r.push(yoe(I,t));else if(N===kN)r.push(I);else if(N===F0)a=r.pop(),r.push(a[I.value]);else if(N===yF)r.pop();else if(N===H2){for(w=I.value,k=[];w-- >0;)k.unshift(r.pop());r.push(k)}else throw new Error("invalid Expression")}if(r.length>1)throw new Error("invalid Expression (parity)");return r[0]===0?0:ju(r[0],n)}function yoe(e,t,n){return xN(e)?e:{type:kN,value:function(r){return O0(e.value,t,r)}}}function xN(e){return e&&e.type===kN}function ju(e,t){return xN(e)?e.value(t):e}function wN(e,t){for(var n=[],r,a,l,u,p,k,w=0;w<e.length;w++){var S=e[w],M=S.type;if(M===oc)typeof S.value=="number"&&S.value<0?n.push("("+S.value+")"):Array.isArray(S.value)?n.push("["+S.value.map(YY).join(", ")+"]"):n.push(YY(S.value));else if(M===D2)a=n.pop(),r=n.pop(),u=S.value,t?u==="^"?n.push("Math.pow("+r+", "+a+")"):u==="and"?n.push("(!!"+r+" && !!"+a+")"):u==="or"?n.push("(!!"+r+" || !!"+a+")"):u==="||"?n.push("(function(a,b){ return Array.isArray(a) && Array.isArray(b) ? a.concat(b) : String(a) + String(b); }(("+r+"),("+a+")))"):u==="=="?n.push("("+r+" === "+a+")"):u==="!="?n.push("("+r+" !== "+a+")"):u==="["?n.push(r+"[("+a+") | 0]"):n.push("("+r+" "+u+" "+a+")"):u==="["?n.push(r+"["+a+"]"):n.push("("+r+" "+u+" "+a+")");else if(M===N2)if(l=n.pop(),a=n.pop(),r=n.pop(),u=S.value,u==="?")n.push("("+r+" ? "+a+" : "+l+")");else throw new Error("invalid Expression");else if(M===Zu||M===R0)n.push(S.value);else if(M===O2)r=n.pop(),u=S.value,u==="-"||u==="+"?n.push("("+u+r+")"):t?u==="not"?n.push("(!"+r+")"):u==="!"?n.push("fac("+r+")"):n.push(u+"("+r+")"):u==="!"?n.push("("+r+"!)"):n.push("("+u+" "+r+")");else if(M===z2){for(k=S.value,p=[];k-- >0;)p.unshift(n.pop());u=n.pop(),n.push(u+"("+p.join(", ")+")")}else if(M===fF){for(a=n.pop(),k=S.value,p=[];k-- >0;)p.unshift(n.pop());r=n.pop(),t?n.push("("+r+" = function("+p.join(", ")+") { return "+a+" })"):n.push("("+r+"("+p.join(", ")+") = "+a+")")}else if(M===F0)r=n.pop(),n.push(r+"."+S.value);else if(M===H2){for(k=S.value,p=[];k-- >0;)p.unshift(n.pop());n.push("["+p.join(", ")+"]")}else if(M===ws)n.push("("+wN(S.value,t)+")");else if(M!==yF)throw new Error("invalid Expression")}return n.length>1&&(t?n=[n.join(",")]:n=[n.join(";")]),String(n[0])}function YY(e){return typeof e=="string"?JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"):e}function B2(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function MN(e,t,n){n=n||{};for(var r=!!n.withMembers,a=null,l=0;l<e.length;l++){var u=e[l];u.type===Zu||u.type===R0?!r&&!B2(t,u.value)?t.push(u.value):(a!==null&&(B2(t,a)||t.push(a)),a=u.value):u.type===F0&&r&&a!==null?a+="."+u.value:u.type===ws?MN(u.value,t,n):a!==null&&(B2(t,a)||t.push(a),a=null)}a!==null&&!B2(t,a)&&t.push(a)}function nd(e,t){this.tokens=e,this.parser=t,this.unaryOps=t.unaryOps,this.binaryOps=t.binaryOps,this.ternaryOps=t.ternaryOps,this.functions=t.functions}nd.prototype.simplify=function(e){return e=e||{},new nd(bN(this.tokens,this.unaryOps,this.binaryOps,this.ternaryOps,e),this.parser)},nd.prototype.substitute=function(e,t){return t instanceof nd||(t=this.parser.parse(String(t))),new nd(WY(this.tokens,e,t),this.parser)},nd.prototype.evaluate=function(e){return e=e||{},O0(this.tokens,this,e)},nd.prototype.toString=function(){return wN(this.tokens,!1)},nd.prototype.symbols=function(e){e=e||{};var t=[];return MN(this.tokens,t,e),t},nd.prototype.variables=function(e){e=e||{};var t=[];MN(this.tokens,t,e);var n=this.functions;return t.filter(function(r){return!(r in n)})},nd.prototype.toJSFunction=function(e,t){var n=this,r=new Function(e,"with(this.functions) with (this.ternaryOps) with (this.binaryOps) with (this.unaryOps) { return "+wN(this.simplify(t).tokens,!0)+"; }");return function(){return r.apply(n,arguments)}};var Df="TEOF",kr="TOP",gF="TNUMBER",ZY="TSTRING",Xu="TPAREN",V2="TBRACKET",mF="TCOMMA",CN="TNAME",SN="TSEMICOLON";function GY(e,t,n){this.type=e,this.value=t,this.index=n}GY.prototype.toString=function(){return this.type+": "+this.value};function ya(e,t){this.pos=0,this.current=null,this.unaryOps=e.unaryOps,this.binaryOps=e.binaryOps,this.ternaryOps=e.ternaryOps,this.consts=e.consts,this.expression=t,this.savedPosition=0,this.savedCurrent=null,this.options=e.options,this.parser=e}ya.prototype.newToken=function(e,t,n){return new GY(e,t,n??this.pos)},ya.prototype.save=function(){this.savedPosition=this.pos,this.savedCurrent=this.current},ya.prototype.restore=function(){this.pos=this.savedPosition,this.current=this.savedCurrent},ya.prototype.next=function(){if(this.pos>=this.expression.length)return this.newToken(Df,"EOF");if(this.isWhitespace()||this.isComment())return this.next();if(this.isRadixInteger()||this.isNumber()||this.isOperator()||this.isString()||this.isParen()||this.isBracket()||this.isComma()||this.isSemicolon()||this.isNamedOp()||this.isConst()||this.isName())return this.current;this.parseError('Unknown character "'+this.expression.charAt(this.pos)+'"')},ya.prototype.isString=function(){var e=!1,t=this.pos,n=this.expression.charAt(t);if(n==="'"||n==='"')for(var r=this.expression.indexOf(n,t+1);r>=0&&this.pos<this.expression.length;){if(this.pos=r+1,this.expression.charAt(r-1)!=="\\"){var a=this.expression.substring(t+1,r);this.current=this.newToken(ZY,this.unescape(a),t),e=!0;break}r=this.expression.indexOf(n,r+1)}return e},ya.prototype.isParen=function(){var e=this.expression.charAt(this.pos);return e==="("||e===")"?(this.current=this.newToken(Xu,e),this.pos++,!0):!1},ya.prototype.isBracket=function(){var e=this.expression.charAt(this.pos);return(e==="["||e==="]")&&this.isOperatorEnabled("[")?(this.current=this.newToken(V2,e),this.pos++,!0):!1},ya.prototype.isComma=function(){var e=this.expression.charAt(this.pos);return e===","?(this.current=this.newToken(mF,","),this.pos++,!0):!1},ya.prototype.isSemicolon=function(){var e=this.expression.charAt(this.pos);return e===";"?(this.current=this.newToken(SN,";"),this.pos++,!0):!1},ya.prototype.isConst=function(){for(var e=this.pos,t=e;t<this.expression.length;t++){var n=this.expression.charAt(t);if(n.toUpperCase()===n.toLowerCase()&&(t===this.pos||n!=="_"&&n!=="."&&(n<"0"||n>"9")))break}if(t>e){var r=this.expression.substring(e,t);if(r in this.consts)return this.current=this.newToken(gF,this.consts[r]),this.pos+=r.length,!0}return!1},ya.prototype.isNamedOp=function(){for(var e=this.pos,t=e;t<this.expression.length;t++){var n=this.expression.charAt(t);if(n.toUpperCase()===n.toLowerCase()&&(t===this.pos||n!=="_"&&(n<"0"||n>"9")))break}if(t>e){var r=this.expression.substring(e,t);if(this.isOperatorEnabled(r)&&(r in this.binaryOps||r in this.unaryOps||r in this.ternaryOps))return this.current=this.newToken(kr,r),this.pos+=r.length,!0}return!1},ya.prototype.isName=function(){for(var e=this.pos,t=e,n=!1;t<this.expression.length;t++){var r=this.expression.charAt(t);if(r.toUpperCase()===r.toLowerCase()){if(t===this.pos&&(r==="$"||r==="_")){r==="_"&&(n=!0);continue}else if(t===this.pos||!n||r!=="_"&&(r<"0"||r>"9"))break}else n=!0}if(n){var a=this.expression.substring(e,t);return this.current=this.newToken(CN,a),this.pos+=a.length,!0}return!1},ya.prototype.isWhitespace=function(){for(var e=!1,t=this.expression.charAt(this.pos);(t===" "||t===" "||t===`
|
|
328
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)},ioe=function(e,t){return noe(e)||roe(e,t)||aoe(e,t)||ooe()},FY=PY((function(e){function t(){return e.exports=t=Object.assign||function(n){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(n[l]=a[l])}return n},t.apply(this,arguments)}e.exports=t})),soe=function(e,t){if(e==null)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a},OY=function(e,t){if(e==null)return{};var n,r,a=soe(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a},loe=fe.createContext(null);function DY(e){var t=e.children,n=t===void 0?"":t,r=OY(e,["children"]);return typeof n!="string"&&(n=Zae.renderToString(n)),fe.createElement("template",FY({},r,{dangerouslySetInnerHTML:{__html:n}}))}function NY(e){var t=e.root,n=e.children;return Qh.createPortal(n===void 0?null:n,t)}function coe(e){var t=fe.forwardRef((function(n,r){var a,l,u=n.mode,p=u===void 0?"open":u,k=n.delegatesFocus,w=k!==void 0&&k,S=n.styleSheets,M=S===void 0?[]:S,I=n.ssr,N=I!==void 0&&I,D=n.children,O=OY(n,["mode","delegatesFocus","styleSheets","ssr","children"]),V=(l=fe.useRef((a=r)&&a.current),fe.useEffect((function(){a&&(a.current=l.current)}),[a]),l),W=fe.useState(null),J=ioe(W,2),Z=J[0],te=J[1],K="node_".concat(p).concat(w);return fe.useLayoutEffect((function(){if(V.current)try{if(typeof r=="function"&&r(V.current),N){var oe=V.current.shadowRoot;return void te(oe)}var be=V.current.attachShadow({mode:p,delegatesFocus:w});M.length>0&&(be.adoptedStyleSheets=M),te(be)}catch(he){(function(Le){var He=Le.error,lt=Le.styleSheets,gt=Le.root;if(He.name==="NotSupportedError")lt.length>0&&(gt.adoptedStyleSheets=lt);else throw He})({error:he,styleSheets:M,root:Z})}}),[r,V,M]),fe.createElement(fe.Fragment,null,fe.createElement(e.tag,FY({key:K,ref:V},O),(Z||N)&&fe.createElement(loe.Provider,{value:Z},N?fe.createElement(DY,{shadowroot:p,shadowrootmode:p},e.render({root:Z,ssr:N,children:D})):fe.createElement(NY,{root:Z},e.render({root:Z,ssr:N,children:D})))))}));return t.propTypes={mode:td.oneOf(["open","closed"]),delegatesFocus:td.bool,styleSheets:td.arrayOf(td.instanceOf(globalThis.CSSStyleSheet)),ssr:td.bool,children:td.node},t}DY.propTypes={children:td.oneOfType([td.string,td.node])},NY.propTypes={root:td.object.isRequired,children:td.node};var vN=new Map;function doe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"core",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(r){return r.children};return new Proxy(e,{get:function(r,a){var l=toe(a,{separator:"-"}),u="".concat(t,"-").concat(l);return vN.has(u)||vN.set(u,coe({tag:l,render:n})),vN.get(u)}})}var zY=doe();const HY=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-x-reverse:0}}}@layer tasks-timeline-app{@layer theme{:root,:host{--font-sans:Inter,sans-serif;--font-mono:"JetBrains Mono",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-amber-50:hsl(var(--amber-50));--color-amber-100:hsl(var(--amber-100));--color-amber-200:hsl(var(--amber-200));--color-amber-500:hsl(var(--amber-500));--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:hsl(var(--amber-700));--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:hsl(var(--emerald-50));--color-emerald-100:hsl(var(--emerald-100));--color-emerald-200:hsl(var(--emerald-200));--color-emerald-400:hsl(var(--emerald-400));--color-emerald-500:hsl(var(--emerald-500));--color-emerald-600:hsl(var(--emerald-600));--color-sky-500:oklch(68.5% .169 237.323);--color-blue-50:hsl(var(--blue-50));--color-blue-100:hsl(var(--blue-100));--color-blue-200:hsl(var(--blue-200));--color-blue-300:hsl(var(--blue-300));--color-blue-400:hsl(var(--blue-400));--color-blue-500:hsl(var(--blue-500));--color-blue-600:hsl(var(--blue-600));--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-50:hsl(var(--purple-50));--color-purple-100:hsl(var(--purple-100));--color-purple-200:hsl(var(--purple-200));--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:hsl(var(--purple-400));--color-purple-500:hsl(var(--purple-500));--color-purple-600:hsl(var(--purple-600));--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-rose-50:hsl(var(--rose-50));--color-rose-100:hsl(var(--rose-100));--color-rose-200:hsl(var(--rose-200));--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:hsl(var(--rose-500));--color-rose-600:hsl(var(--rose-600));--color-rose-700:hsl(var(--rose-700));--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-slate-50:hsl(var(--slate-50));--color-slate-100:hsl(var(--slate-100));--color-slate-200:hsl(var(--slate-200));--color-slate-300:hsl(var(--slate-300));--color-slate-400:hsl(var(--slate-400));--color-slate-500:hsl(var(--slate-500));--color-slate-600:hsl(var(--slate-600));--color-slate-700:hsl(var(--slate-700));--color-slate-800:hsl(var(--slate-800));--color-slate-900:hsl(var(--slate-900));--color-slate-950:hsl(var(--slate-950));--color-gray-50:oklch(98.5% .002 247.839);--color-black:#000;--color-white:hsl(var(--background));--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--radius);--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-paper:hsl(var(--card))}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-0\\.5{top:calc(var(--spacing)*.5)}.top-1{top:calc(var(--spacing)*1)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-2\\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-5{top:calc(var(--spacing)*5)}.top-\\[50\\%\\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-8{right:calc(var(--spacing)*8)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-0\\.5{left:calc(var(--spacing)*.5)}.left-1{left:calc(var(--spacing)*1)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-\\[50\\%\\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-9999{z-index:9999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-0\\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-4\\.5{height:calc(var(--spacing)*4.5)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-6{height:calc(var(--spacing)*6)}.h-6\\.5{height:calc(var(--spacing)*6.5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-9\\.5{height:calc(var(--spacing)*9.5)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-28{height:calc(var(--spacing)*28)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[var\\(--radix-dropdown-menu-content-available-height\\)\\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-5\\.5{min-height:calc(var(--spacing)*5.5)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-100{min-height:calc(var(--spacing)*100)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-72{width:calc(var(--spacing)*72)}.w-\\[280px\\]{width:280px}.w-\\[400px\\]{width:400px}.w-\\[600px\\]{width:600px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-50{min-width:calc(var(--spacing)*50)}.min-w-80{min-width:calc(var(--spacing)*80)}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[250px\\]{min-width:250px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\\[--radix-dropdown-menu-content-transform-origin\\]{transform-origin:--radix-dropdown-menu-content-transform-origin}.origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:--radix-popover-content-transform-origin}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-start\\!{justify-content:flex-start!important}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#e8e4db\\]{border-color:#e8e4db}.border-amber-100\\/50{border-color:color-mix(in srgb,hsl(var(--amber-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-amber-100\\/50{border-color:color-mix(in oklab,var(--color-amber-100)50%,transparent)}}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-100\\/50{border-color:color-mix(in srgb,hsl(var(--blue-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-blue-100\\/50{border-color:color-mix(in oklab,var(--color-blue-100)50%,transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-border{border-color:var(--color-border)}.border-emerald-100\\/50{border-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-emerald-100\\/50{border-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-200\\/50{border-color:color-mix(in srgb,hsl(var(--emerald-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-emerald-200\\/50{border-color:color-mix(in oklab,var(--color-emerald-200)50%,transparent)}}.border-green-200{border-color:var(--color-green-200)}.border-input{border-color:var(--color-input)}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-purple-400{border-color:var(--color-purple-400)}.border-rose-100{border-color:var(--color-rose-100)}.border-rose-100\\/50{border-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-rose-100\\/50{border-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-200\\/50{border-color:color-mix(in srgb,hsl(var(--rose-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-rose-200\\/50{border-color:color-mix(in oklab,var(--color-rose-200)50%,transparent)}}.border-rose-400{border-color:var(--color-rose-400)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-100\\/50{border-color:color-mix(in srgb,hsl(var(--slate-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-100\\/50{border-color:color-mix(in oklab,var(--color-slate-100)50%,transparent)}}.border-slate-100\\/80{border-color:color-mix(in srgb,hsl(var(--slate-100))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-100\\/80{border-color:color-mix(in oklab,var(--color-slate-100)80%,transparent)}}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/20{border-color:color-mix(in srgb,hsl(var(--slate-200))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/20{border-color:color-mix(in oklab,var(--color-slate-200)20%,transparent)}}.border-slate-200\\/50{border-color:color-mix(in srgb,hsl(var(--slate-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/50{border-color:color-mix(in oklab,var(--color-slate-200)50%,transparent)}}.border-slate-200\\/60{border-color:color-mix(in srgb,hsl(var(--slate-200))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/60{border-color:color-mix(in oklab,var(--color-slate-200)60%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-400{border-color:var(--color-slate-400)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-transparent{border-color:#0000}.border-y-blue-100\\/50{border-block-color:color-mix(in srgb,hsl(var(--blue-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-y-blue-100\\/50{border-block-color:color-mix(in oklab,var(--color-blue-100)50%,transparent)}}.border-y-emerald-100\\/50{border-block-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-y-emerald-100\\/50{border-block-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.border-y-rose-100\\/50{border-block-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-y-rose-100\\/50{border-block-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.border-r-blue-100\\/50{border-right-color:color-mix(in srgb,hsl(var(--blue-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-r-blue-100\\/50{border-right-color:color-mix(in oklab,var(--color-blue-100)50%,transparent)}}.border-r-emerald-100\\/50{border-right-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-r-emerald-100\\/50{border-right-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.border-r-rose-100\\/50{border-right-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-r-rose-100\\/50{border-right-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-emerald-500{border-left-color:var(--color-emerald-500)}.border-l-rose-500{border-left-color:var(--color-rose-500)}.bg-\\[\\#0B1120\\]{background-color:#0b1120}.bg-\\[\\#1e1e1e\\]{background-color:#1e1e1e}.bg-\\[\\#29abe0\\]{background-color:#29abe0}.bg-\\[\\#FFDD00\\]{background-color:#fd0}.bg-\\[\\#f5f2eb\\]{background-color:#f5f2eb}.bg-accent{background-color:var(--color-accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\\/80{background-color:color-mix(in srgb,hsl(var(--amber-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-amber-50\\/80{background-color:color-mix(in oklab,var(--color-amber-50)80%,transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--color-background)}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\\/30{background-color:color-mix(in srgb,hsl(var(--blue-50))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\\/30{background-color:color-mix(in oklab,var(--color-blue-50)30%,transparent)}}.bg-blue-50\\/50{background-color:color-mix(in srgb,hsl(var(--blue-50))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\\/50{background-color:color-mix(in oklab,var(--color-blue-50)50%,transparent)}}.bg-blue-50\\/80{background-color:color-mix(in srgb,hsl(var(--blue-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\\/80{background-color:color-mix(in oklab,var(--color-blue-50)80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-destructive{background-color:var(--color-destructive)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\\/80{background-color:color-mix(in srgb,hsl(var(--emerald-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\\/80{background-color:color-mix(in oklab,var(--color-emerald-50)80%,transparent)}}.bg-emerald-100\\/50{background-color:color-mix(in srgb,hsl(var(--emerald-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-emerald-100\\/50{background-color:color-mix(in oklab,var(--color-emerald-100)50%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-green-50{background-color:var(--color-green-50)}.bg-muted{background-color:var(--color-muted)}.bg-paper{background-color:var(--color-paper)}.bg-paper\\/50{background-color:color-mix(in srgb,hsl(var(--card))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-paper\\/50{background-color:color-mix(in oklab,var(--color-paper)50%,transparent)}}.bg-paper\\/95{background-color:color-mix(in srgb,hsl(var(--card))95%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-paper\\/95{background-color:color-mix(in oklab,var(--color-paper)95%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-50\\/50{background-color:color-mix(in srgb,hsl(var(--rose-50))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-50\\/50{background-color:color-mix(in oklab,var(--color-rose-50)50%,transparent)}}.bg-rose-50\\/60{background-color:color-mix(in srgb,hsl(var(--rose-50))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-50\\/60{background-color:color-mix(in oklab,var(--color-rose-50)60%,transparent)}}.bg-rose-50\\/80{background-color:color-mix(in srgb,hsl(var(--rose-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-50\\/80{background-color:color-mix(in oklab,var(--color-rose-50)80%,transparent)}}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-100\\/50{background-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\\/50{background-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.bg-rose-300{background-color:var(--color-rose-300)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-secondary{background-color:var(--color-secondary)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/30{background-color:color-mix(in srgb,hsl(var(--slate-50))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/30{background-color:color-mix(in oklab,var(--color-slate-50)30%,transparent)}}.bg-slate-50\\/50{background-color:color-mix(in srgb,hsl(var(--slate-50))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/50{background-color:color-mix(in oklab,var(--color-slate-50)50%,transparent)}}.bg-slate-50\\/80{background-color:color-mix(in srgb,hsl(var(--slate-50))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/80{background-color:color-mix(in oklab,var(--color-slate-50)80%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-200\\/60{background-color:color-mix(in srgb,hsl(var(--slate-200))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\\/60{background-color:color-mix(in oklab,var(--color-slate-200)60%,transparent)}}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\\/40{background-color:color-mix(in srgb,hsl(var(--slate-900))40%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/50{background-color:color-mix(in srgb,hsl(var(--background))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-white\\/95{background-color:color-mix(in srgb,hsl(var(--background))95%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-0\\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-12{padding-right:calc(var(--spacing)*12)}.pr-20{padding-right:calc(var(--spacing)*20)}.pb-0\\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pl-0\\.5{padding-left:calc(var(--spacing)*.5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.text-left\\!{text-align:left!important}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[15px\\]{font-size:15px}.text-\\[length\\:inherit\\]{font-size:inherit}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-accent-foreground{color:var(--color-accent-foreground)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-600\\!{color:var(--color-blue-600)!important}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--color-foreground)}.text-green-800{color:var(--color-green-800)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\\/40{color:color-mix(in srgb,hsl(var(--muted-foreground))40%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/40{color:color-mix(in oklab,var(--color-muted-foreground)40%,transparent)}}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-900{color:var(--color-purple-900)}.text-red-500{color:var(--color-red-500)}.text-rose-400{color:var(--color-rose-400)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-600\\!{color:var(--color-rose-600)!important}.text-rose-700{color:var(--color-rose-700)}.text-rose-900{color:var(--color-rose-900)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sky-500{color:var(--color-sky-500)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-slate-300{-webkit-text-decoration-color:var(--color-slate-300);text-decoration-color:var(--color-slate-300)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-blue-200{--tw-shadow-color:hsl(var(--blue-200))}@supports (color:color-mix(in lab,red,red)){.shadow-blue-200{--tw-shadow-color:color-mix(in oklab,var(--color-blue-200)var(--tw-shadow-alpha),transparent)}}.shadow-emerald-100{--tw-shadow-color:hsl(var(--emerald-100))}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-100{--tw-shadow-color:color-mix(in oklab,var(--color-emerald-100)var(--tw-shadow-alpha),transparent)}}.shadow-rose-100{--tw-shadow-color:hsl(var(--rose-100))}@supports (color:color-mix(in lab,red,red)){.shadow-rose-100{--tw-shadow-color:color-mix(in oklab,var(--color-rose-100)var(--tw-shadow-alpha),transparent)}}.shadow-rose-100\\/50{--tw-shadow-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.shadow-rose-100\\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-rose-100)50%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-slate-100{--tw-shadow-color:hsl(var(--slate-100))}@supports (color:color-mix(in lab,red,red)){.shadow-slate-100{--tw-shadow-color:color-mix(in oklab,var(--color-slate-100)var(--tw-shadow-alpha),transparent)}}.shadow-slate-200{--tw-shadow-color:hsl(var(--slate-200))}@supports (color:color-mix(in lab,red,red)){.shadow-slate-200{--tw-shadow-color:color-mix(in oklab,var(--color-slate-200)var(--tw-shadow-alpha),transparent)}}.shadow-slate-200\\/50{--tw-shadow-color:color-mix(in srgb,hsl(var(--slate-200))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.shadow-slate-200\\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-200)50%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-200{--tw-ring-color:var(--color-blue-200)}.ring-primary\\/30{--tw-ring-color:color-mix(in srgb,hsl(var(--primary))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.ring-primary\\/30{--tw-ring-color:color-mix(in oklab,var(--color-primary)30%,transparent)}}.ring-purple-200{--tw-ring-color:var(--color-purple-200)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-first\\:hidden:is(:where(.group):first-child *),.group-last\\:hidden:is(:where(.group):last-child *){display:none}@media(hover:hover){.group-hover\\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:text-blue-500:is(:where(.group):hover *){color:var(--color-blue-500)}.group-hover\\:text-blue-600:is(:where(.group):hover *){color:var(--color-blue-600)}.group-hover\\:text-slate-400:is(:where(.group):hover *){color:var(--color-slate-400)}.group-hover\\:text-slate-700:is(:where(.group):hover *){color:var(--color-slate-700)}.group-hover\\:text-slate-900:is(:where(.group):hover *){color:var(--color-slate-900)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-\\[\\.toast\\]\\:bg-muted:is(:where(.group).toast *){background-color:var(--color-muted)}.group-\\[\\.toast\\]\\:bg-primary:is(:where(.group).toast *){background-color:var(--color-primary)}.group-\\[\\.toast\\]\\:text-muted-foreground:is(:where(.group).toast *){color:var(--color-muted-foreground)}.group-\\[\\.toast\\]\\:text-primary-foreground:is(:where(.group).toast *){color:var(--color-primary-foreground)}.group-\\[\\.toaster\\]\\:border-border:is(:where(.group).toaster *){border-color:var(--color-border)}.group-\\[\\.toaster\\]\\:bg-background:is(:where(.group).toaster *){background-color:var(--color-background)}.group-\\[\\.toaster\\]\\:text-foreground:is(:where(.group).toaster *){color:var(--color-foreground)}.group-\\[\\.toaster\\]\\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.selection\\:bg-rose-100 ::selection{background-color:var(--color-rose-100)}.selection\\:bg-rose-100::selection{background-color:var(--color-rose-100)}.selection\\:text-rose-900 ::selection{color:var(--color-rose-900)}.selection\\:text-rose-900::selection{color:var(--color-rose-900)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.placeholder\\:text-purple-300::placeholder{color:var(--color-purple-300)}.placeholder\\:text-slate-400::placeholder{color:var(--color-slate-400)}@media(hover:hover){.hover\\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\\:border-rose-100:hover{border-color:var(--color-rose-100)}.hover\\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\\:bg-accent:hover{background-color:var(--color-accent)}.hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in srgb,hsl(var(--destructive))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in oklab,var(--color-destructive)80%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in srgb,hsl(var(--destructive))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.hover\\:bg-primary\\/80:hover{background-color:color-mix(in srgb,hsl(var(--primary))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/80:hover{background-color:color-mix(in oklab,var(--color-primary)80%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:color-mix(in srgb,hsl(var(--primary))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.hover\\:bg-purple-100:hover{background-color:var(--color-purple-100)}.hover\\:bg-rose-50:hover{background-color:var(--color-rose-50)}.hover\\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\\:bg-rose-100\\/50:hover{background-color:color-mix(in srgb,hsl(var(--rose-100))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-rose-100\\/50:hover{background-color:color-mix(in oklab,var(--color-rose-100)50%,transparent)}}.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in srgb,hsl(var(--secondary))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--color-secondary)80%,transparent)}}.hover\\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\\:text-blue-500:hover{color:var(--color-blue-500)}.hover\\:text-blue-600:hover{color:var(--color-blue-600)}.hover\\:text-foreground:hover{color:var(--color-foreground)}.hover\\:text-primary-foreground:hover{color:var(--color-primary-foreground)}.hover\\:text-rose-500:hover{color:var(--color-rose-500)}.hover\\:text-rose-600:hover{color:var(--color-rose-600)}.hover\\:text-rose-800:hover{color:var(--color-rose-800)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:text-slate-700:hover{color:var(--color-slate-700)}.hover\\:text-slate-800:hover{color:var(--color-slate-800)}.hover\\:text-slate-900:hover{color:var(--color-slate-900)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}.hover\\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\\:border-blue-500\\/50:focus{border-color:color-mix(in srgb,hsl(var(--blue-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-blue-500\\/50:focus{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.focus\\:border-emerald-500\\/50:focus{border-color:color-mix(in srgb,hsl(var(--emerald-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-emerald-500\\/50:focus{border-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.focus\\:border-purple-400:focus{border-color:var(--color-purple-400)}.focus\\:border-purple-500:focus{border-color:var(--color-purple-500)}.focus\\:border-purple-500\\/50:focus{border-color:color-mix(in srgb,hsl(var(--purple-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-purple-500\\/50:focus{border-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.focus\\:border-ring:focus{border-color:var(--color-ring)}.focus\\:border-slate-400:focus{border-color:var(--color-slate-400)}.focus\\:bg-accent:focus{background-color:var(--color-accent)}.focus\\:bg-white:focus{background-color:var(--color-white)}.focus\\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}.focus\\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--blue-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--blue-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--emerald-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.focus\\:ring-purple-400\\/20:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--purple-400))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-purple-400\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.focus\\:ring-purple-500\\/50:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--purple-500))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-purple-500\\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.focus\\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\\:ring-slate-200:focus{--tw-ring-color:var(--color-slate-200)}.focus\\:ring-slate-400\\/20:focus{--tw-ring-color:color-mix(in srgb,hsl(var(--slate-400))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-slate-400\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-slate-400)20%,transparent)}}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}@media(min-width:400px){.min-\\[400px\\]\\:right-3{right:calc(var(--spacing)*3)}.min-\\[400px\\]\\:left-3{left:calc(var(--spacing)*3)}.min-\\[400px\\]\\:mx-1{margin-inline:calc(var(--spacing)*1)}.min-\\[400px\\]\\:flex{display:flex}.min-\\[400px\\]\\:h-5{height:calc(var(--spacing)*5)}.min-\\[400px\\]\\:w-5{width:calc(var(--spacing)*5)}.min-\\[400px\\]\\:gap-1{gap:calc(var(--spacing)*1)}.min-\\[400px\\]\\:gap-1\\.5{gap:calc(var(--spacing)*1.5)}.min-\\[400px\\]\\:gap-2{gap:calc(var(--spacing)*2)}.min-\\[400px\\]\\:p-1\\.5{padding:calc(var(--spacing)*1.5)}.min-\\[400px\\]\\:px-2{padding-inline:calc(var(--spacing)*2)}.min-\\[400px\\]\\:px-3{padding-inline:calc(var(--spacing)*3)}.min-\\[400px\\]\\:px-4{padding-inline:calc(var(--spacing)*4)}.min-\\[400px\\]\\:py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.min-\\[400px\\]\\:py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.min-\\[400px\\]\\:pr-4{padding-right:calc(var(--spacing)*4)}.min-\\[400px\\]\\:pr-24{padding-right:calc(var(--spacing)*24)}.min-\\[400px\\]\\:pl-1{padding-left:calc(var(--spacing)*1)}.min-\\[400px\\]\\:pl-10{padding-left:calc(var(--spacing)*10)}}@media(min-width:550px){.min-\\[550px\\]\\:block{display:block}}@media(min-width:40rem){.sm\\:inline-block{display:inline-block}.sm\\:w-6{width:calc(var(--spacing)*6)}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:gap-2{gap:calc(var(--spacing)*2)}.sm\\:gap-4{gap:calc(var(--spacing)*4)}:where(.sm\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\\:rounded-lg{border-radius:var(--radius-lg)}.sm\\:px-1{padding-inline:calc(var(--spacing)*1)}.sm\\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\\:pr-8{padding-right:calc(var(--spacing)*8)}.sm\\:pr-16{padding-right:calc(var(--spacing)*16)}.sm\\:text-left{text-align:left}.sm\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:48rem){.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\\:border-blue-800{border-color:var(--color-blue-800)}.dark\\:border-purple-800{border-color:var(--color-purple-800)}.dark\\:border-rose-900\\/20{border-color:#8b083633}@supports (color:color-mix(in lab,red,red)){.dark\\:border-rose-900\\/20{border-color:color-mix(in oklab,var(--color-rose-900)20%,transparent)}}.dark\\:border-slate-500{border-color:var(--color-slate-500)}.dark\\:border-slate-600{border-color:var(--color-slate-600)}.dark\\:border-slate-700{border-color:var(--color-slate-700)}.dark\\:border-slate-700\\/50{border-color:color-mix(in srgb,hsl(var(--slate-700))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-slate-700\\/50{border-color:color-mix(in oklab,var(--color-slate-700)50%,transparent)}}.dark\\:border-slate-800{border-color:var(--color-slate-800)}.dark\\:bg-blue-900\\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-blue-900\\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\\:bg-rose-900\\/10{background-color:#8b08361a}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-900\\/10{background-color:color-mix(in oklab,var(--color-rose-900)10%,transparent)}}.dark\\:bg-slate-600{background-color:var(--color-slate-600)}.dark\\:bg-slate-700{background-color:var(--color-slate-700)}.dark\\:bg-slate-800{background-color:var(--color-slate-800)}.dark\\:bg-slate-800\\/30{background-color:color-mix(in srgb,hsl(var(--slate-800))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-800\\/30{background-color:color-mix(in oklab,var(--color-slate-800)30%,transparent)}}.dark\\:bg-slate-800\\/50{background-color:color-mix(in srgb,hsl(var(--slate-800))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-800\\/50{background-color:color-mix(in oklab,var(--color-slate-800)50%,transparent)}}.dark\\:bg-slate-900{background-color:var(--color-slate-900)}.dark\\:bg-slate-900\\/10{background-color:color-mix(in srgb,hsl(var(--slate-900))10%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-900\\/10{background-color:color-mix(in oklab,var(--color-slate-900)10%,transparent)}}.dark\\:bg-slate-900\\/20{background-color:color-mix(in srgb,hsl(var(--slate-900))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-slate-900\\/20{background-color:color-mix(in oklab,var(--color-slate-900)20%,transparent)}}.dark\\:text-blue-100{color:var(--color-blue-100)}.dark\\:text-blue-300{color:var(--color-blue-300)}.dark\\:text-slate-100{color:var(--color-slate-100)}.dark\\:text-slate-200{color:var(--color-slate-200)}.dark\\:text-slate-300{color:var(--color-slate-300)}.dark\\:text-slate-400{color:var(--color-slate-400)}.dark\\:shadow-slate-950{--tw-shadow-color:hsl(var(--slate-950))}@supports (color:color-mix(in lab,red,red)){.dark\\:shadow-slate-950{--tw-shadow-color:color-mix(in oklab,var(--color-slate-950)var(--tw-shadow-alpha),transparent)}}.dark\\:ring-blue-900{--tw-ring-color:var(--color-blue-900)}@media(hover:hover){.dark\\:hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}.dark\\:hover\\:bg-slate-800:hover{background-color:var(--color-slate-800)}.dark\\:hover\\:bg-slate-800\\/50:hover{background-color:color-mix(in srgb,hsl(var(--slate-800))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-slate-800\\/50:hover{background-color:color-mix(in oklab,var(--color-slate-800)50%,transparent)}}.dark\\:hover\\:text-slate-200:hover{color:var(--color-slate-200)}.dark\\:hover\\:text-slate-300:hover{color:var(--color-slate-300)}}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-slate-700\\/50{border-color:color-mix(in srgb,hsl(var(--slate-700))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-slate-700\\/50{border-color:color-mix(in oklab,var(--color-slate-700)50%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-blue-500\\/20{border-block-color:color-mix(in srgb,hsl(var(--blue-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-blue-500\\/20{border-block-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-emerald-500\\/20{border-block-color:color-mix(in srgb,hsl(var(--emerald-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-emerald-500\\/20{border-block-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-rose-500\\/20{border-block-color:color-mix(in srgb,hsl(var(--rose-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-y-rose-500\\/20{border-block-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-blue-500\\/20{border-right-color:color-mix(in srgb,hsl(var(--blue-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-blue-500\\/20{border-right-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-emerald-500\\/20{border-right-color:color-mix(in srgb,hsl(var(--emerald-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-emerald-500\\/20{border-right-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-rose-500\\/20{border-right-color:color-mix(in srgb,hsl(var(--rose-500))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:border-r-rose-500\\/20{border-right-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:bg-slate-800\\/95{background-color:color-mix(in srgb,hsl(var(--slate-800))95%,transparent)}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:bg-slate-800\\/95{background-color:color-mix(in oklab,var(--color-slate-800)95%,transparent)}}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-blue-400{color:var(--color-blue-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-emerald-400{color:var(--color-emerald-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-rose-400{color:var(--color-rose-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-slate-100{color:var(--color-slate-100)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:text-slate-400{color:var(--color-slate-400)}.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:shadow-black\\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.chronos-app[data-theme=dark] .\\[\\.chronos-app\\[data-theme\\=\\'dark\\'\\]_\\&\\]\\:shadow-black\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}}}:root{--background:0 0% 100%;--foreground:222.2 47.4% 11.2%;--card:0 0% 98.8%;--card-foreground:222.2 47.4% 11.2%;--popover:0 0% 98.8%;--popover-foreground:222.2 47.4% 11.2%;--primary:217.2 91.2% 59.8%;--primary-foreground:0 0% 100%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:214.3 100% 97.1%;--accent-foreground:217.2 91.2% 59.8%;--destructive:346.8 77.2% 49.8%;--destructive-foreground:0 0% 100%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:217.2 91.2% 59.8%;--radius:.5rem;--slate-50:210 40% 98%;--slate-100:210 40% 96.1%;--slate-200:214.3 31.8% 91.4%;--slate-300:212.7 26.8% 83.9%;--slate-400:215 20.2% 65.1%;--slate-500:215.4 16.3% 46.9%;--slate-600:215.3 19.3% 34.5%;--slate-700:215.3 25% 26.7%;--slate-800:217.2 32.6% 17.5%;--slate-900:222.2 47.4% 11.2%;--slate-950:222.2 84% 4.9%;--rose-50:355.7 100% 97.3%;--rose-100:355.6 100% 94.7%;--rose-200:352.7 96.1% 90%;--rose-500:349.7 89.2% 60.2%;--rose-600:346.8 77.2% 49.8%;--rose-700:345.3 82.7% 40.8%;--emerald-50:151.8 81% 95.9%;--emerald-100:149.3 80.4% 90%;--emerald-200:152.4 76% 80.4%;--emerald-400:160.1 84.1% 52.5%;--emerald-500:160.1 84.1% 39.4%;--emerald-600:161.4 93.5% 30.4%;--blue-50:213.8 100% 96.9%;--blue-100:214.3 94.6% 92.7%;--blue-200:213.3 96.9% 87.3%;--blue-300:211.7 96.4% 78.4%;--blue-400:213.1 93.9% 67.8%;--blue-500:217.2 91.2% 59.8%;--blue-600:221.2 83.2% 53.3%;--amber-50:48 100% 96.1%;--amber-100:48 96.5% 88.8%;--amber-200:48 96.6% 76.7%;--amber-500:43 96.4% 56.3%;--amber-700:37.7 92.1% 38%;--purple-50:270 100% 98%;--purple-100:269 100% 95.5%;--purple-200:268.7 100% 91.8%;--purple-400:270.4 95.2% 75.3%;--purple-500:270.7 91% 65.1%;--purple-600:271.5 81.3% 55.9%}.tasks-timeline-app[data-theme=dark]{--background:222.2 47.4% 11.2%;--foreground:210 40% 98%;--card:217.2 32.6% 17.5%;--card-foreground:210 40% 98%;--popover:217.2 32.6% 17.5%;--popover-foreground:210 40% 98%;--primary:213.1 93.9% 67.8%;--primary-foreground:222.2 47.4% 11.2%;--secondary:215.3 25% 26.7%;--secondary-foreground:210 40% 98%;--muted:215.3 25% 26.7%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:213.1 93.9% 67.8%;--destructive:350 89.2% 60.2%;--destructive-foreground:210 40% 98%;--border:215.3 25% 26.7%;--input:215.3 25% 26.7%;--ring:213.1 93.9% 67.8%;--slate-50:217.2 32.6% 17.5%;--slate-100:215.3 25% 26.7%;--slate-200:215.3 19.3% 34.5%;--slate-300:215.4 16.3% 46.9%;--slate-400:215 20.2% 65.1%;--slate-500:212.7 26.8% 83.9%;--slate-600:214.3 31.8% 91.4%;--slate-700:210 40% 96.1%;--slate-800:210 40% 98%;--slate-900:0 0% 100%;--slate-950:0 0% 100%;--rose-50:347 82% 15%;--rose-100:345 79% 26%;--rose-200:346 84% 32%;--rose-500:353.7 89.5% 70.6%;--rose-600:352.7 96.1% 90%;--rose-700:355.6 100% 94.7%;--emerald-50:162 100% 8%;--emerald-100:163 94% 14%;--emerald-200:164 86% 18%;--emerald-500:158 64% 52%;--emerald-600:152.4 76% 80.4%;--blue-50:221 83% 15%;--blue-100:222 87% 24%;--blue-200:223 83% 30%;--blue-500:213.1 93.9% 67.8%;--blue-600:213.3 96.9% 87.3%;--amber-50:31 100% 10%;--amber-100:30 93% 17%;--amber-200:29 93% 22%;--amber-500:47 92% 68%;--amber-700:48 96.6% 76.7%;--purple-50:273 100% 10%;--purple-100:273 94% 18%;--purple-200:272 87% 24%;--purple-500:270.7 91% 65.1%;--purple-600:270.4 95.2% 75.3%}.tasks-timeline-app[data-theme=midnight]{--background:222 47% 7%;--foreground:210 40% 98%;--card:218 36% 13%;--card-foreground:210 40% 98%;--popover:218 36% 13%;--popover-foreground:210 40% 98%;--primary:213.1 93.9% 67.8%;--primary-foreground:222 47% 7%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:215.3 25% 26.7%;--muted-foreground:215 20.2% 65.1%;--accent:218 36% 13%;--accent-foreground:213.1 93.9% 67.8%;--destructive:350 89.2% 60.2%;--destructive-foreground:210 40% 98%;--border:215.3 25% 26.7%;--input:215.3 25% 26.7%;--ring:213.1 93.9% 67.8%;--slate-50:218 36% 13%;--slate-100:217.2 32.6% 17.5%;--slate-200:215.3 25% 26.7%;--slate-300:215.3 19.3% 34.5%;--slate-400:215.4 16.3% 46.9%;--slate-500:215 20.2% 65.1%;--slate-600:212.7 26.8% 83.9%;--slate-700:214.3 31.8% 91.4%;--slate-800:210 40% 96.1%;--slate-900:210 40% 98%;--slate-950:0 0% 100%;--rose-50:347 82% 15%;--rose-100:345 79% 26%;--rose-200:346 84% 32%;--rose-500:353.7 89.5% 70.6%;--rose-600:352.7 96.1% 90%;--rose-700:355.6 100% 94.7%;--emerald-50:162 100% 8%;--emerald-100:163 94% 14%;--emerald-200:164 86% 18%;--emerald-500:158 64% 52%;--emerald-600:152.4 76% 80.4%;--blue-50:221 83% 15%;--blue-100:222 87% 24%;--blue-200:223 83% 30%;--blue-500:213.1 93.9% 67.8%;--blue-600:213.3 96.9% 87.3%;--amber-50:31 100% 10%;--amber-100:30 93% 17%;--amber-200:29 93% 22%;--amber-500:47 92% 68%;--amber-700:48 96.6% 76.7%;--purple-50:273 100% 10%;--purple-100:273 94% 18%;--purple-200:272 87% 24%;--purple-500:270.7 91% 65.1%;--purple-600:270.4 95.2% 75.3%}.tasks-timeline-app[data-theme=coffee]{--background:40 17% 99%;--foreground:30 25% 10%;--card:40 23% 95%;--card-foreground:30 25% 10%;--popover:40 23% 95%;--popover-foreground:30 25% 10%;--primary:37.7 92.1% 38%;--primary-foreground:40 17% 99%;--secondary:40 19% 90%;--secondary-foreground:30 25% 10%;--muted:40 19% 90%;--muted-foreground:30 10% 46%;--accent:40 21% 94%;--accent-foreground:37.7 92.1% 38%;--destructive:346.8 77.2% 49.8%;--destructive-foreground:40 17% 99%;--border:40 17% 80%;--input:40 17% 80%;--ring:37.7 92.1% 38%;--slate-50:40 21% 94%;--slate-100:40 19% 90%;--slate-200:40 17% 80%;--slate-300:40 13% 68%;--slate-400:40 9% 56%;--slate-500:30 10% 46%;--slate-600:30 11% 38%;--slate-700:30 14% 31%;--slate-800:30 18% 24%;--slate-900:30 23% 14%;--slate-950:30 25% 10%}.tasks-timeline-app button,.tasks-timeline-app input[type=text],.tasks-timeline-app input[type=search],.tasks-timeline-app input[type=number],.tasks-timeline-app input[type=date],.tasks-timeline-app input[type=datetime-local]{box-shadow:none;color:inherit;appearance:none;background-color:#0000;background-image:none;border:1px solid #0000;margin:0;padding:0;font-family:inherit}.tasks-timeline-app{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;box-sizing:border-box;transition:background-color .3s,color .3s}.tasks-timeline-app *,.tasks-timeline-app :before,.tasks-timeline-app :after{box-sizing:inherit;transition-property:background-color,border-color,color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tasks-timeline-app ::-webkit-scrollbar{width:10px;height:10px}.tasks-timeline-app ::-webkit-scrollbar-track{background:hsl(var(--muted)/.2);border-radius:6px;margin:2px}.tasks-timeline-app ::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.4);border:2px solid hsl(var(--background));border-radius:6px;transition:all .2s}.tasks-timeline-app ::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary)/.6);border-color:hsl(var(--muted)/.3)}.tasks-timeline-app ::-webkit-scrollbar-thumb:active{background:hsl(var(--primary)/.8)}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar{width:6px;height:6px}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar{width:6px;height:6px}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar-track{background:0 0;margin:4px}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar-track{background:0 0;margin:4px}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar-track{background:0 0;margin:4px}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border:none;border-radius:3px}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border:none;border-radius:3px}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border:none;border-radius:3px}.tasks-timeline-app .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}.tasks-timeline-app [data-radix-scroll-area-viewport]::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}.tasks-timeline-app [data-slot=popover-content] ::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}.tasks-timeline-app .no-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.tasks-timeline-app .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none;overflow:-moz-scrollbars-none}.tasks-timeline-app .no-scrollbar::-webkit-scrollbar-track{display:none}.tasks-timeline-app .no-scrollbar::-webkit-scrollbar-thumb{display:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}`,uoe=()=>b.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 custom-scrollbar bg-slate-50/50 dark:bg-slate-900/10",children:[b.jsxs("section",{className:"text-center space-y-3 pt-4",children:[b.jsx("div",{className:"w-16 h-16 bg-slate-900 text-white rounded-2xl mx-auto flex items-center justify-center shadow-lg shadow-slate-200 dark:shadow-slate-950",children:b.jsx(We,{name:"CheckSquare",size:32})}),b.jsxs("div",{className:"space-y-1",children:[b.jsx("h3",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:"Tasks Timeline View"}),b.jsxs("p",{className:"text-xs text-slate-500 font-mono",children:["v","0.2.2"," • Built at ","c0a72da"]})]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 max-w-sm mx-auto leading-relaxed",children:"A high-fidelity, timeline-based task management tool designed for focus, clarity, and AI-assisted productivity."})]}),b.jsxs("section",{className:"space-y-3",children:[b.jsx("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:"Connect & Contribute"}),b.jsx("div",{className:"grid grid-cols-1 gap-2",children:b.jsxs("a",{href:"https://github.com/Leonezz/tasks-timeline-components",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-3 rounded-xl border border-slate-200 bg-white hover:bg-slate-50 dark:bg-slate-900 dark:border-slate-800 dark:hover:bg-slate-800 transition-colors group",children:[b.jsx("div",{className:"bg-slate-100 dark:bg-slate-800 p-2 rounded-lg group-hover:scale-105 transition-transform text-slate-700 dark:text-slate-300",children:b.jsx(We,{name:"Github",size:20})}),b.jsxs("div",{className:"flex-1",children:[b.jsx("div",{className:"text-sm font-bold text-slate-800 dark:text-slate-200",children:"GitHub Repository"}),b.jsx("div",{className:"text-xs text-slate-500",children:"View source code, report issues, or contribute."})]}),b.jsx(We,{name:"ExternalLink",size:14,className:"text-slate-400 group-hover:text-blue-500 transition-colors"})]})})]}),b.jsxs("section",{className:"space-y-3",children:[b.jsx("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:"Support Development"}),b.jsxs("div",{className:"rounded-xl border border-rose-100 bg-rose-50/50 dark:bg-rose-900/10 dark:border-rose-900/20 p-4 space-y-4",children:[b.jsx("p",{className:"text-sm text-slate-700 dark:text-slate-300 leading-relaxed",children:"If you find this tool useful, consider supporting its development. Your contribution helps keep the updates coming!"}),b.jsxs("div",{className:"grid grid-cols-4 gap-3",children:[b.jsx("a",{href:"https://buymeacoffee.com/zhuwenqa",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#FFDD00] text-slate-900 font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:b.jsx("img",{src:"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png",alt:"Buy Me A Coffee"})}),b.jsxs("a",{href:"https://ko-fi.com/zhuwenqa",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#29abe0] text-white font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:[b.jsx(We,{name:"CoffeeIcon",size:16}),b.jsx("span",{children:"Ko-fi"})]}),b.jsxs("a",{href:"https://patreon.com/zhuwenq",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#29abe0] text-white font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:[b.jsx(We,{name:"Star",size:16}),b.jsx("span",{children:"Patreon"})]}),b.jsxs("a",{href:"https://www.paypal.com/paypalme/zhuwenq",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 px-4 py-2.5 bg-[#29abe0] text-white font-bold rounded-lg hover:brightness-95 transition-all shadow-sm active:scale-95 text-xs sm:text-sm",children:[b.jsx(We,{name:"Wallet2",size:16}),b.jsx("span",{children:"Paypal"})]})]})]})]}),b.jsx("div",{className:"pt-6 border-t border-slate-100 dark:border-slate-800 text-center",children:b.jsxs("p",{className:"text-[10px] text-slate-400 leading-relaxed",children:["Built with React, Tailwind, Framer Motion & Gemini AI. ",b.jsx("br",{}),"MIT License © ",new Date().getFullYear()," Tasks Timeline View"]})})]}),hoe=["general","advanced","docs","about"],BY=({settings:e,onUpdateSettings:t,availableCategories:n,availableTags:r,onClose:a,inSeperatePage:l,inDarkMode:u,customTabs:p=[]})=>{const[k,w]=fe.useState("general"),[S,M]=fe.useState(null);fe.useEffect(()=>{p.forEach(N=>{hoe.includes(N.id)&&wt.warn("Settings",`CustomSettingsTab id "${N.id}" conflicts with built-in tab. Consider using a different id.`)})},[p]),fe.useEffect(()=>{if(wt.info("Settings",`system in dark mode: ${u}, in seperate page: ${l}, onClose: ${a}`),!l||!S)return;const N=u?"midnight":"light";wt.info("Settings","adjust to system theme: ",N),S.setAttribute("data-theme",N)},[e.theme,S,u,l,a]);const I=()=>b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex justify-between items-center px-6 py-4 border-b border-slate-100 dark:border-slate-800 bg-paper/50 shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("div",{className:"p-2 bg-slate-200 dark:bg-slate-700 rounded-lg text-slate-600 dark:text-slate-200",children:b.jsx(We,{name:"Settings",size:18})}),b.jsx("h2",{className:"font-bold text-slate-800 text-lg",children:"Settings"})]}),b.jsxs("div",{className:"flex p-1 bg-slate-100 dark:bg-slate-800 rounded-lg",children:[b.jsx("button",{onClick:()=>w("general"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="general"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"General"}),b.jsx("button",{onClick:()=>w("advanced"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="advanced"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"Advanced"}),b.jsx("button",{onClick:()=>w("docs"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="docs"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"Docs"}),b.jsx("button",{onClick:()=>w("about"),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all",k==="about"?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:"About"}),p.map(N=>b.jsxs("button",{onClick:()=>w(N.id),className:Xe("px-3 py-1 text-xs font-medium rounded-md transition-all flex items-center gap-1",k===N.id?"bg-white shadow-sm text-blue-600":"text-slate-500 hover:text-slate-700"),children:[N.icon&&b.jsx(We,{name:N.icon,size:12}),N.label]},N.id))]})]}),a&&b.jsx("button",{onClick:a,className:"p-2 text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-700 rounded-full transition-colors outline-none",children:b.jsx(We,{name:"X",size:20})})]}),b.jsxs("div",{className:"p-0 overflow-y-auto flex-1 min-h-100",children:[k==="general"&&b.jsx(Pae,{settings:e,onUpdateSettings:t,availableCategories:n}),k==="advanced"&&b.jsx(fY,{settings:e,onUpdateSettings:t,availableTags:r}),k==="docs"&&b.jsx(oY,{}),k==="about"&&b.jsx(uoe,{}),p.find(N=>N.id===k)?.content]}),b.jsx("div",{className:"p-4 bg-slate-50 dark:bg-slate-800/50 text-center border-t border-slate-100 dark:border-slate-800 shrink-0",children:b.jsxs("p",{className:"text-[10px] text-slate-400",children:["Timeline Tasks View • ","0.2.2"," at ","c0a72da"]})})]});return l?b.jsx("div",{ref:M,className:"tasks-timeline-app",id:"tasks-timeline-app",style:{width:"100%"},children:b.jsxs(zY.div,{children:[b.jsx("style",{children:HY}),I()]})}):I()},VY=({isOpen:e,onClose:t,settings:n,onUpdateSettings:r,availableTags:a,availableCategories:l,customTabs:u})=>b.jsx(ql,{children:e&&b.jsxs(b.Fragment,{children:[b.jsx(So,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-40"}),b.jsx(So,{initial:{opacity:0,scale:.95,y:"-50%",x:"-50%"},animate:{opacity:1,scale:1,y:"-50%",x:"-50%"},exit:{opacity:0,scale:.95,y:"-50%",x:"-50%"},transition:{type:"spring",duration:.5},className:"fixed top-1/2 left-1/2 w-full max-w-2xl bg-paper rounded-2xl shadow-2xl z-50 overflow-hidden border border-slate-200 dark:border-slate-800 flex flex-col max-h-[85vh] text-slate-900",children:b.jsx(BY,{settings:n,onUpdateSettings:r,availableCategories:l,availableTags:a,onClose:t,inSeperatePage:!1,customTabs:u})})]})}),foe=({isOpen:e,onClose:t})=>b.jsx(ql,{children:e&&b.jsxs(b.Fragment,{children:[b.jsx(ao.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-50"}),b.jsxs(ao.div,{initial:{opacity:0,scale:.95,y:"-50%",x:"-50%"},animate:{opacity:1,scale:1,y:"-50%",x:"-50%"},exit:{opacity:0,scale:.95,y:"-50%",x:"-50%"},className:"fixed top-1/2 left-1/2 w-full max-w-2xl bg-paper rounded-xl shadow-2xl z-50 border border-slate-200 dark:border-slate-800 overflow-hidden max-h-[85vh] flex flex-col text-slate-900",children:[b.jsxs("div",{className:"flex justify-between items-center px-6 py-4 border-b border-slate-100 dark:border-slate-800 bg-paper/50 shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("div",{className:"p-2 bg-blue-100 dark:bg-blue-900/30 rounded-lg text-blue-600 dark:text-blue-300",children:b.jsx(We,{name:"BookOpen",size:18})}),b.jsx("h2",{className:"font-bold text-slate-800 text-lg",children:"Documentation"})]}),b.jsx("button",{onClick:t,className:"p-2 text-slate-400 hover:text-slate-600 rounded-full hover:bg-slate-100 dark:hover:bg-slate-800 transition-colors",children:b.jsx(We,{name:"X",size:20})})]}),b.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 custom-scrollbar",children:[b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Activity",size:14,className:"text-blue-500"}),"Task Lifecycle & Auto-Status"]}),b.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-4 leading-relaxed",children:"The view automatically manages task statuses based on dates to keep your workflow organized. You rarely need to manually set status unless completing a task."}),b.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"AlertCircle",size:14,className:"text-rose-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Due / Overdue"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks due Today, Tomorrow, or in the past are automatically flagged as Urgent."})]}),b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Clock",size:14,className:"text-blue-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Scheduled (Doing)"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks with a future Start Date are marked as Scheduled until that date arrives."})]}),b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Zap",size:14,className:"text-purple-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Unplanned"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Tasks without dates that need immediate attention. You must manually set this."})]}),b.jsxs("div",{className:"p-3 bg-slate-50 dark:bg-slate-800/50 rounded-lg border border-slate-100 dark:border-slate-700",children:[b.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[b.jsx(We,{name:"Archive",size:14,className:"text-slate-500"}),b.jsx("span",{className:"font-bold text-slate-700 text-xs uppercase",children:"Backlog"})]}),b.jsx("p",{className:"text-xs text-slate-500",children:"Items with no Due Date or Start Date appear in the Backlog section."})]})]})]}),b.jsx("div",{className:"h-px bg-slate-100 dark:bg-slate-800 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Sparkles",size:14,className:"text-purple-500"}),"AI & Voice Intelligence"]}),b.jsxs("div",{className:"space-y-3",children:[b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"Mic",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"Voice Commands"}),b.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:'Click the microphone icon to speak. Supports natural language like "Buy milk tomorrow priority high".'})]})]}),b.jsxs("div",{className:"flex gap-3",children:[b.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-purple-50 flex items-center justify-center text-purple-600",children:b.jsx(We,{name:"TerminalSquare",size:16})}),b.jsxs("div",{children:[b.jsx("h4",{className:"text-sm font-semibold text-slate-800",children:"AI Mode"}),b.jsxs("p",{className:"text-xs text-slate-500 mt-0.5",children:["Toggle AI mode to use Gemini. It can Create, Update, Query, and Delete tasks.",b.jsx("br",{}),b.jsx("em",{className:"opacity-80",children:'Example: "Move all overdue tasks to next friday" or "Summarize my high priority work".'})]})]})]})]})]}),b.jsx("div",{className:"h-px bg-slate-100 dark:bg-slate-800 w-full"}),b.jsxs("section",{children:[b.jsxs("h3",{className:"text-sm font-bold text-slate-900 uppercase tracking-wider mb-3 flex items-center gap-2",children:[b.jsx(We,{name:"Command",size:14,className:"text-slate-500"}),"Quick Controls"]}),b.jsxs("ul",{className:"text-xs text-slate-600 dark:text-slate-400 space-y-2",children:[b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Enter"}),b.jsx("span",{children:"Save task / Submit command"})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Double Click Delete"}),b.jsx("span",{children:"Click trash icon once to arm, twice to delete."})]}),b.jsxs("li",{className:"flex items-center gap-2",children:[b.jsx("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded border border-slate-200 font-mono text-[10px]",children:"Focus Mode"}),b.jsx("span",{children:"Hides everything except Today's active tasks."})]})]})]})]}),b.jsx("div",{className:"p-4 bg-slate-50 dark:bg-slate-800/50 text-center border-t border-slate-100 dark:border-slate-800 shrink-0",children:b.jsx("p",{className:"text-[10px] text-slate-400",children:"Tasks Timeline • v0.1.2"})})]})]})}),UY=({toast:e,onDismiss:t})=>{fe.useEffect(()=>{const l=setTimeout(()=>{t(e.id)},4e3);return()=>clearTimeout(l)},[e.id,t]);const n=()=>{switch(e.type){case"success":return"CheckCircle2";case"error":return"AlertCircle";case"info":return"Info"}},r=()=>{const l="bg-white/95 backdrop-blur-md border shadow-xl shadow-slate-200/50 [.chronos-app[data-theme='dark']_&]:bg-slate-800/95 [.chronos-app[data-theme='dark']_&]:shadow-black/20 [.chronos-app[data-theme='dark']_&]:border-slate-700/50";switch(e.type){case"success":return Xe(l,"border-l-4 border-l-emerald-500 border-y-emerald-100/50 border-r-emerald-100/50 [.chronos-app[data-theme='dark']_&]:border-y-emerald-500/20 [.chronos-app[data-theme='dark']_&]:border-r-emerald-500/20");case"error":return Xe(l,"border-l-4 border-l-rose-500 border-y-rose-100/50 border-r-rose-100/50 [.chronos-app[data-theme='dark']_&]:border-y-rose-500/20 [.chronos-app[data-theme='dark']_&]:border-r-rose-500/20");case"info":return Xe(l,"border-l-4 border-l-blue-500 border-y-blue-100/50 border-r-blue-100/50 [.chronos-app[data-theme='dark']_&]:border-y-blue-500/20 [.chronos-app[data-theme='dark']_&]:border-r-blue-500/20")}},a=()=>{switch(e.type){case"success":return"text-emerald-500 [.chronos-app[data-theme='dark']_&]:text-emerald-400";case"error":return"text-rose-500 [.chronos-app[data-theme='dark']_&]:text-rose-400";case"info":return"text-blue-500 [.chronos-app[data-theme='dark']_&]:text-blue-400"}};return b.jsxs(So,{layout:!0,initial:{opacity:0,x:50,scale:.9},animate:{opacity:1,x:0,scale:1},exit:{opacity:0,x:20,scale:.9},className:Xe("flex items-start gap-3 p-4 rounded-lg max-w-sm w-full pointer-events-auto text-slate-800 [.chronos-app[data-theme='dark']_&]:text-slate-100",r()),children:[b.jsx("div",{className:Xe("mt-0.5 shrink-0",a()),children:b.jsx(We,{name:n(),size:18})}),b.jsxs("div",{className:"flex-1 min-w-0",children:[b.jsx("h4",{className:"text-sm font-bold leading-tight",children:e.title}),e.description&&b.jsx("p",{className:"text-xs opacity-80 mt-1 leading-snug font-medium text-slate-500 [.chronos-app[data-theme='dark']_&]:text-slate-400",children:e.description})]}),b.jsx("button",{onClick:()=>t(e.id),className:"opacity-40 hover:opacity-100 transition-opacity p-0.5 -mr-1 -mt-1",children:b.jsx(We,{name:"X",size:14})})]})};var oc="INUMBER",O2="IOP1",D2="IOP2",N2="IOP3",Zu="IVAR",R0="IVARNAME",z2="IFUNCALL",fF="IFUNDEF",ws="IEXPR",kN="IEXPREVAL",F0="IMEMBER",yF="IENDSTATEMENT",H2="IARRAY";function Cn(e,t){this.type=e,this.value=t??0}Cn.prototype.toString=function(){switch(this.type){case oc:case O2:case D2:case N2:case Zu:case R0:case yF:return this.value;case z2:return"CALL "+this.value;case fF:return"DEF "+this.value;case H2:return"ARRAY "+this.value;case F0:return"."+this.value;default:return"Invalid Instruction"}};function pF(e){return new Cn(O2,e)}function Gu(e){return new Cn(D2,e)}function _Y(e){return new Cn(N2,e)}function bN(e,t,n,r,a){for(var l=[],u=[],p,k,w,S,M=0;M<e.length;M++){var I=e[M],N=I.type;if(N===oc||N===R0)Array.isArray(I.value)?l.push.apply(l,bN(I.value.map(function(D){return new Cn(oc,D)}).concat(new Cn(H2,I.value.length)),t,n,r,a)):l.push(I);else if(N===Zu&&a.hasOwnProperty(I.value))I=new Cn(oc,a[I.value]),l.push(I);else if(N===D2&&l.length>1)k=l.pop(),p=l.pop(),S=n[I.value],I=new Cn(oc,S(p.value,k.value)),l.push(I);else if(N===N2&&l.length>2)w=l.pop(),k=l.pop(),p=l.pop(),I.value==="?"?l.push(p.value?k.value:w.value):(S=r[I.value],I=new Cn(oc,S(p.value,k.value,w.value)),l.push(I));else if(N===O2&&l.length>0)p=l.pop(),S=t[I.value],I=new Cn(oc,S(p.value)),l.push(I);else if(N===ws){for(;l.length>0;)u.push(l.shift());u.push(new Cn(ws,bN(I.value,t,n,r,a)))}else if(N===F0&&l.length>0)p=l.pop(),l.push(new Cn(oc,p.value[I.value]));else{for(;l.length>0;)u.push(l.shift());u.push(I)}}for(;l.length>0;)u.push(l.shift());return u}function WY(e,t,n){for(var r=[],a=0;a<e.length;a++){var l=e[a],u=l.type;if(u===Zu&&l.value===t)for(var p=0;p<n.tokens.length;p++){var k=n.tokens[p],w;k.type===O2?w=pF(k.value):k.type===D2?w=Gu(k.value):k.type===N2?w=_Y(k.value):w=new Cn(k.type,k.value),r.push(w)}else u===ws?r.push(new Cn(ws,WY(l.value,t,n))):r.push(l)}return r}function O0(e,t,n){var r=[],a,l,u,p,k,w;if(xN(e))return ju(e,n);for(var S=e.length,M=0;M<S;M++){var I=e[M],N=I.type;if(N===oc||N===R0)r.push(I.value);else if(N===D2)l=r.pop(),a=r.pop(),I.value==="and"?r.push(a?!!O0(l,t,n):!1):I.value==="or"?r.push(a?!0:!!O0(l,t,n)):I.value==="="?(p=t.binaryOps[I.value],r.push(p(a,O0(l,t,n),n))):(p=t.binaryOps[I.value],r.push(p(ju(a,n),ju(l,n))));else if(N===N2)u=r.pop(),l=r.pop(),a=r.pop(),I.value==="?"?r.push(O0(a?l:u,t,n)):(p=t.ternaryOps[I.value],r.push(p(ju(a,n),ju(l,n),ju(u,n))));else if(N===Zu)if(I.value in t.functions)r.push(t.functions[I.value]);else if(I.value in t.unaryOps&&t.parser.isOperatorEnabled(I.value))r.push(t.unaryOps[I.value]);else{var D=n[I.value];if(D!==void 0)r.push(D);else throw new Error("undefined variable: "+I.value)}else if(N===O2)a=r.pop(),p=t.unaryOps[I.value],r.push(p(ju(a,n)));else if(N===z2){for(w=I.value,k=[];w-- >0;)k.unshift(ju(r.pop(),n));if(p=r.pop(),p.apply&&p.call)r.push(p.apply(void 0,k));else throw new Error(p+" is not a function")}else if(N===fF)r.push((function(){for(var O=r.pop(),V=[],W=I.value;W-- >0;)V.unshift(r.pop());var J=r.pop(),Z=function(){for(var te=Object.assign({},n),K=0,oe=V.length;K<oe;K++)te[V[K]]=arguments[K];return O0(O,t,te)};return Object.defineProperty(Z,"name",{value:J,writable:!1}),n[J]=Z,Z})());else if(N===ws)r.push(yoe(I,t));else if(N===kN)r.push(I);else if(N===F0)a=r.pop(),r.push(a[I.value]);else if(N===yF)r.pop();else if(N===H2){for(w=I.value,k=[];w-- >0;)k.unshift(r.pop());r.push(k)}else throw new Error("invalid Expression")}if(r.length>1)throw new Error("invalid Expression (parity)");return r[0]===0?0:ju(r[0],n)}function yoe(e,t,n){return xN(e)?e:{type:kN,value:function(r){return O0(e.value,t,r)}}}function xN(e){return e&&e.type===kN}function ju(e,t){return xN(e)?e.value(t):e}function wN(e,t){for(var n=[],r,a,l,u,p,k,w=0;w<e.length;w++){var S=e[w],M=S.type;if(M===oc)typeof S.value=="number"&&S.value<0?n.push("("+S.value+")"):Array.isArray(S.value)?n.push("["+S.value.map(YY).join(", ")+"]"):n.push(YY(S.value));else if(M===D2)a=n.pop(),r=n.pop(),u=S.value,t?u==="^"?n.push("Math.pow("+r+", "+a+")"):u==="and"?n.push("(!!"+r+" && !!"+a+")"):u==="or"?n.push("(!!"+r+" || !!"+a+")"):u==="||"?n.push("(function(a,b){ return Array.isArray(a) && Array.isArray(b) ? a.concat(b) : String(a) + String(b); }(("+r+"),("+a+")))"):u==="=="?n.push("("+r+" === "+a+")"):u==="!="?n.push("("+r+" !== "+a+")"):u==="["?n.push(r+"[("+a+") | 0]"):n.push("("+r+" "+u+" "+a+")"):u==="["?n.push(r+"["+a+"]"):n.push("("+r+" "+u+" "+a+")");else if(M===N2)if(l=n.pop(),a=n.pop(),r=n.pop(),u=S.value,u==="?")n.push("("+r+" ? "+a+" : "+l+")");else throw new Error("invalid Expression");else if(M===Zu||M===R0)n.push(S.value);else if(M===O2)r=n.pop(),u=S.value,u==="-"||u==="+"?n.push("("+u+r+")"):t?u==="not"?n.push("(!"+r+")"):u==="!"?n.push("fac("+r+")"):n.push(u+"("+r+")"):u==="!"?n.push("("+r+"!)"):n.push("("+u+" "+r+")");else if(M===z2){for(k=S.value,p=[];k-- >0;)p.unshift(n.pop());u=n.pop(),n.push(u+"("+p.join(", ")+")")}else if(M===fF){for(a=n.pop(),k=S.value,p=[];k-- >0;)p.unshift(n.pop());r=n.pop(),t?n.push("("+r+" = function("+p.join(", ")+") { return "+a+" })"):n.push("("+r+"("+p.join(", ")+") = "+a+")")}else if(M===F0)r=n.pop(),n.push(r+"."+S.value);else if(M===H2){for(k=S.value,p=[];k-- >0;)p.unshift(n.pop());n.push("["+p.join(", ")+"]")}else if(M===ws)n.push("("+wN(S.value,t)+")");else if(M!==yF)throw new Error("invalid Expression")}return n.length>1&&(t?n=[n.join(",")]:n=[n.join(";")]),String(n[0])}function YY(e){return typeof e=="string"?JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"):e}function B2(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function MN(e,t,n){n=n||{};for(var r=!!n.withMembers,a=null,l=0;l<e.length;l++){var u=e[l];u.type===Zu||u.type===R0?!r&&!B2(t,u.value)?t.push(u.value):(a!==null&&(B2(t,a)||t.push(a)),a=u.value):u.type===F0&&r&&a!==null?a+="."+u.value:u.type===ws?MN(u.value,t,n):a!==null&&(B2(t,a)||t.push(a),a=null)}a!==null&&!B2(t,a)&&t.push(a)}function nd(e,t){this.tokens=e,this.parser=t,this.unaryOps=t.unaryOps,this.binaryOps=t.binaryOps,this.ternaryOps=t.ternaryOps,this.functions=t.functions}nd.prototype.simplify=function(e){return e=e||{},new nd(bN(this.tokens,this.unaryOps,this.binaryOps,this.ternaryOps,e),this.parser)},nd.prototype.substitute=function(e,t){return t instanceof nd||(t=this.parser.parse(String(t))),new nd(WY(this.tokens,e,t),this.parser)},nd.prototype.evaluate=function(e){return e=e||{},O0(this.tokens,this,e)},nd.prototype.toString=function(){return wN(this.tokens,!1)},nd.prototype.symbols=function(e){e=e||{};var t=[];return MN(this.tokens,t,e),t},nd.prototype.variables=function(e){e=e||{};var t=[];MN(this.tokens,t,e);var n=this.functions;return t.filter(function(r){return!(r in n)})},nd.prototype.toJSFunction=function(e,t){var n=this,r=new Function(e,"with(this.functions) with (this.ternaryOps) with (this.binaryOps) with (this.unaryOps) { return "+wN(this.simplify(t).tokens,!0)+"; }");return function(){return r.apply(n,arguments)}};var Df="TEOF",kr="TOP",gF="TNUMBER",ZY="TSTRING",Xu="TPAREN",V2="TBRACKET",mF="TCOMMA",CN="TNAME",SN="TSEMICOLON";function GY(e,t,n){this.type=e,this.value=t,this.index=n}GY.prototype.toString=function(){return this.type+": "+this.value};function ya(e,t){this.pos=0,this.current=null,this.unaryOps=e.unaryOps,this.binaryOps=e.binaryOps,this.ternaryOps=e.ternaryOps,this.consts=e.consts,this.expression=t,this.savedPosition=0,this.savedCurrent=null,this.options=e.options,this.parser=e}ya.prototype.newToken=function(e,t,n){return new GY(e,t,n??this.pos)},ya.prototype.save=function(){this.savedPosition=this.pos,this.savedCurrent=this.current},ya.prototype.restore=function(){this.pos=this.savedPosition,this.current=this.savedCurrent},ya.prototype.next=function(){if(this.pos>=this.expression.length)return this.newToken(Df,"EOF");if(this.isWhitespace()||this.isComment())return this.next();if(this.isRadixInteger()||this.isNumber()||this.isOperator()||this.isString()||this.isParen()||this.isBracket()||this.isComma()||this.isSemicolon()||this.isNamedOp()||this.isConst()||this.isName())return this.current;this.parseError('Unknown character "'+this.expression.charAt(this.pos)+'"')},ya.prototype.isString=function(){var e=!1,t=this.pos,n=this.expression.charAt(t);if(n==="'"||n==='"')for(var r=this.expression.indexOf(n,t+1);r>=0&&this.pos<this.expression.length;){if(this.pos=r+1,this.expression.charAt(r-1)!=="\\"){var a=this.expression.substring(t+1,r);this.current=this.newToken(ZY,this.unescape(a),t),e=!0;break}r=this.expression.indexOf(n,r+1)}return e},ya.prototype.isParen=function(){var e=this.expression.charAt(this.pos);return e==="("||e===")"?(this.current=this.newToken(Xu,e),this.pos++,!0):!1},ya.prototype.isBracket=function(){var e=this.expression.charAt(this.pos);return(e==="["||e==="]")&&this.isOperatorEnabled("[")?(this.current=this.newToken(V2,e),this.pos++,!0):!1},ya.prototype.isComma=function(){var e=this.expression.charAt(this.pos);return e===","?(this.current=this.newToken(mF,","),this.pos++,!0):!1},ya.prototype.isSemicolon=function(){var e=this.expression.charAt(this.pos);return e===";"?(this.current=this.newToken(SN,";"),this.pos++,!0):!1},ya.prototype.isConst=function(){for(var e=this.pos,t=e;t<this.expression.length;t++){var n=this.expression.charAt(t);if(n.toUpperCase()===n.toLowerCase()&&(t===this.pos||n!=="_"&&n!=="."&&(n<"0"||n>"9")))break}if(t>e){var r=this.expression.substring(e,t);if(r in this.consts)return this.current=this.newToken(gF,this.consts[r]),this.pos+=r.length,!0}return!1},ya.prototype.isNamedOp=function(){for(var e=this.pos,t=e;t<this.expression.length;t++){var n=this.expression.charAt(t);if(n.toUpperCase()===n.toLowerCase()&&(t===this.pos||n!=="_"&&(n<"0"||n>"9")))break}if(t>e){var r=this.expression.substring(e,t);if(this.isOperatorEnabled(r)&&(r in this.binaryOps||r in this.unaryOps||r in this.ternaryOps))return this.current=this.newToken(kr,r),this.pos+=r.length,!0}return!1},ya.prototype.isName=function(){for(var e=this.pos,t=e,n=!1;t<this.expression.length;t++){var r=this.expression.charAt(t);if(r.toUpperCase()===r.toLowerCase()){if(t===this.pos&&(r==="$"||r==="_")){r==="_"&&(n=!0);continue}else if(t===this.pos||!n||r!=="_"&&(r<"0"||r>"9"))break}else n=!0}if(n){var a=this.expression.substring(e,t);return this.current=this.newToken(CN,a),this.pos+=a.length,!0}return!1},ya.prototype.isWhitespace=function(){for(var e=!1,t=this.expression.charAt(this.pos);(t===" "||t===" "||t===`
|
|
329
329
|
`||t==="\r")&&(e=!0,this.pos++,!(this.pos>=this.expression.length));)t=this.expression.charAt(this.pos);return e};var poe=/^[0-9a-f]{4}$/i;ya.prototype.unescape=function(e){var t=e.indexOf("\\");if(t<0)return e;for(var n=e.substring(0,t);t>=0;){var r=e.charAt(++t);switch(r){case"'":n+="'";break;case'"':n+='"';break;case"\\":n+="\\";break;case"/":n+="/";break;case"b":n+="\b";break;case"f":n+="\f";break;case"n":n+=`
|
|
330
330
|
`;break;case"r":n+="\r";break;case"t":n+=" ";break;case"u":var a=e.substring(t+1,t+5);poe.test(a)||this.parseError("Illegal escape sequence: \\u"+a),n+=String.fromCharCode(parseInt(a,16)),t+=4;break;default:throw this.parseError('Illegal escape sequence: "\\'+r+'"')}++t;var l=e.indexOf("\\",t);n+=e.substring(t,l<0?e.length:l),t=l}return n},ya.prototype.isComment=function(){var e=this.expression.charAt(this.pos);return e==="/"&&this.expression.charAt(this.pos+1)==="*"?(this.pos=this.expression.indexOf("*/",this.pos)+2,this.pos===1&&(this.pos=this.expression.length),!0):!1},ya.prototype.isRadixInteger=function(){var e=this.pos;if(e>=this.expression.length-2||this.expression.charAt(e)!=="0")return!1;++e;var t,n;if(this.expression.charAt(e)==="x")t=16,n=/^[0-9a-f]$/i,++e;else if(this.expression.charAt(e)==="b")t=2,n=/^[01]$/i,++e;else return!1;for(var r=!1,a=e;e<this.expression.length;){var l=this.expression.charAt(e);if(n.test(l))e++,r=!0;else break}return r&&(this.current=this.newToken(gF,parseInt(this.expression.substring(a,e),t)),this.pos=e),r},ya.prototype.isNumber=function(){for(var e=!1,t=this.pos,n=t,r=t,a=!1,l=!1,u;t<this.expression.length&&(u=this.expression.charAt(t),u>="0"&&u<="9"||!a&&u===".");)u==="."?a=!0:l=!0,t++,e=l;if(e&&(r=t),u==="e"||u==="E"){t++;for(var p=!0,k=!1;t<this.expression.length;){if(u=this.expression.charAt(t),p&&(u==="+"||u==="-"))p=!1;else if(u>="0"&&u<="9")k=!0,p=!1;else break;t++}k||(t=r)}return e?(this.current=this.newToken(gF,parseFloat(this.expression.substring(n,t))),this.pos=t):this.pos=r,e},ya.prototype.isOperator=function(){var e=this.pos,t=this.expression.charAt(this.pos);if(t==="+"||t==="-"||t==="*"||t==="/"||t==="%"||t==="^"||t==="?"||t===":"||t===".")this.current=this.newToken(kr,t);else if(t==="∙"||t==="•")this.current=this.newToken(kr,"*");else if(t===">")this.expression.charAt(this.pos+1)==="="?(this.current=this.newToken(kr,">="),this.pos++):this.current=this.newToken(kr,">");else if(t==="<")this.expression.charAt(this.pos+1)==="="?(this.current=this.newToken(kr,"<="),this.pos++):this.current=this.newToken(kr,"<");else if(t==="|")if(this.expression.charAt(this.pos+1)==="|")this.current=this.newToken(kr,"||"),this.pos++;else return!1;else if(t==="=")this.expression.charAt(this.pos+1)==="="?(this.current=this.newToken(kr,"=="),this.pos++):this.current=this.newToken(kr,t);else if(t==="!")this.expression.charAt(this.pos+1)==="="?(this.current=this.newToken(kr,"!="),this.pos++):this.current=this.newToken(kr,t);else return!1;return this.pos++,this.isOperatorEnabled(this.current.value)?!0:(this.pos=e,!1)},ya.prototype.isOperatorEnabled=function(e){return this.parser.isOperatorEnabled(e)},ya.prototype.getCoordinates=function(){var e=0,t,n=-1;do e++,t=this.pos-n,n=this.expression.indexOf(`
|
|
331
331
|
`,n+1);while(n>=0&&n<this.pos);return{line:e,column:t}},ya.prototype.parseError=function(e){var t=this.getCoordinates();throw new Error("parse error ["+t.line+":"+t.column+"]: "+e)};function Tr(e,t,n){this.parser=e,this.tokens=t,this.current=null,this.nextToken=null,this.next(),this.savedCurrent=null,this.savedNextToken=null,this.allowMemberAccess=n.allowMemberAccess!==!1}Tr.prototype.next=function(){return this.current=this.nextToken,this.nextToken=this.tokens.next()},Tr.prototype.tokenMatches=function(e,t){return typeof t>"u"?!0:Array.isArray(t)?B2(t,e.value):typeof t=="function"?t(e):e.value===t},Tr.prototype.save=function(){this.savedCurrent=this.current,this.savedNextToken=this.nextToken,this.tokens.save()},Tr.prototype.restore=function(){this.tokens.restore(),this.current=this.savedCurrent,this.nextToken=this.savedNextToken},Tr.prototype.accept=function(e,t){return this.nextToken.type===e&&this.tokenMatches(this.nextToken,t)?(this.next(),!0):!1},Tr.prototype.expect=function(e,t){if(!this.accept(e,t)){var n=this.tokens.getCoordinates();throw new Error("parse error ["+n.line+":"+n.column+"]: Expected "+(t||e))}},Tr.prototype.parseAtom=function(e){var t=this.tokens.unaryOps;function n(a){return a.value in t}if(this.accept(CN)||this.accept(kr,n))e.push(new Cn(Zu,this.current.value));else if(this.accept(gF))e.push(new Cn(oc,this.current.value));else if(this.accept(ZY))e.push(new Cn(oc,this.current.value));else if(this.accept(Xu,"("))this.parseExpression(e),this.expect(Xu,")");else if(this.accept(V2,"["))if(this.accept(V2,"]"))e.push(new Cn(H2,0));else{var r=this.parseArrayList(e);e.push(new Cn(H2,r))}else throw new Error("unexpected "+this.nextToken)},Tr.prototype.parseExpression=function(e){var t=[];this.parseUntilEndStatement(e,t)||(this.parseVariableAssignmentExpression(t),!this.parseUntilEndStatement(e,t)&&this.pushExpression(e,t))},Tr.prototype.pushExpression=function(e,t){for(var n=0,r=t.length;n<r;n++)e.push(t[n])},Tr.prototype.parseUntilEndStatement=function(e,t){return this.accept(SN)?(this.nextToken&&this.nextToken.type!==Df&&!(this.nextToken.type===Xu&&this.nextToken.value===")")&&t.push(new Cn(yF)),this.nextToken.type!==Df&&this.parseExpression(t),e.push(new Cn(ws,t)),!0):!1},Tr.prototype.parseArrayList=function(e){for(var t=0;!this.accept(V2,"]");)for(this.parseExpression(e),++t;this.accept(mF);)this.parseExpression(e),++t;return t},Tr.prototype.parseVariableAssignmentExpression=function(e){for(this.parseConditionalExpression(e);this.accept(kr,"=");){var t=e.pop(),n=[],r=e.length-1;if(t.type===z2){if(!this.tokens.isOperatorEnabled("()="))throw new Error("function definition is not permitted");for(var a=0,l=t.value+1;a<l;a++){var u=r-a;e[u].type===Zu&&(e[u]=new Cn(R0,e[u].value))}this.parseVariableAssignmentExpression(n),e.push(new Cn(ws,n)),e.push(new Cn(fF,t.value));continue}if(t.type!==Zu&&t.type!==F0)throw new Error("expected variable for assignment");this.parseVariableAssignmentExpression(n),e.push(new Cn(R0,t.value)),e.push(new Cn(ws,n)),e.push(Gu("="))}},Tr.prototype.parseConditionalExpression=function(e){for(this.parseOrExpression(e);this.accept(kr,"?");){var t=[],n=[];this.parseConditionalExpression(t),this.expect(kr,":"),this.parseConditionalExpression(n),e.push(new Cn(ws,t)),e.push(new Cn(ws,n)),e.push(_Y("?"))}},Tr.prototype.parseOrExpression=function(e){for(this.parseAndExpression(e);this.accept(kr,"or");){var t=[];this.parseAndExpression(t),e.push(new Cn(ws,t)),e.push(Gu("or"))}},Tr.prototype.parseAndExpression=function(e){for(this.parseComparison(e);this.accept(kr,"and");){var t=[];this.parseComparison(t),e.push(new Cn(ws,t)),e.push(Gu("and"))}};var goe=["==","!=","<","<=",">=",">","in"];Tr.prototype.parseComparison=function(e){for(this.parseAddSub(e);this.accept(kr,goe);){var t=this.current;this.parseAddSub(e),e.push(Gu(t.value))}};var moe=["+","-","||"];Tr.prototype.parseAddSub=function(e){for(this.parseTerm(e);this.accept(kr,moe);){var t=this.current;this.parseTerm(e),e.push(Gu(t.value))}};var voe=["*","/","%"];Tr.prototype.parseTerm=function(e){for(this.parseFactor(e);this.accept(kr,voe);){var t=this.current;this.parseFactor(e),e.push(Gu(t.value))}},Tr.prototype.parseFactor=function(e){var t=this.tokens.unaryOps;function n(a){return a.value in t}if(this.save(),this.accept(kr,n)){if(this.current.value!=="-"&&this.current.value!=="+"){if(this.nextToken.type===Xu&&this.nextToken.value==="("){this.restore(),this.parseExponential(e);return}else if(this.nextToken.type===SN||this.nextToken.type===mF||this.nextToken.type===Df||this.nextToken.type===Xu&&this.nextToken.value===")"){this.restore(),this.parseAtom(e);return}}var r=this.current;this.parseFactor(e),e.push(pF(r.value))}else this.parseExponential(e)},Tr.prototype.parseExponential=function(e){for(this.parsePostfixExpression(e);this.accept(kr,"^");)this.parseFactor(e),e.push(Gu("^"))},Tr.prototype.parsePostfixExpression=function(e){for(this.parseFunctionCall(e);this.accept(kr,"!");)e.push(pF("!"))},Tr.prototype.parseFunctionCall=function(e){var t=this.tokens.unaryOps;function n(l){return l.value in t}if(this.accept(kr,n)){var r=this.current;this.parseAtom(e),e.push(pF(r.value))}else for(this.parseMemberExpression(e);this.accept(Xu,"(");)if(this.accept(Xu,")"))e.push(new Cn(z2,0));else{var a=this.parseArgumentList(e);e.push(new Cn(z2,a))}},Tr.prototype.parseArgumentList=function(e){for(var t=0;!this.accept(Xu,")");)for(this.parseExpression(e),++t;this.accept(mF);)this.parseExpression(e),++t;return t},Tr.prototype.parseMemberExpression=function(e){for(this.parseAtom(e);this.accept(kr,".")||this.accept(V2,"[");){var t=this.current;if(t.value==="."){if(!this.allowMemberAccess)throw new Error('unexpected ".", member access is not permitted');this.expect(CN),e.push(new Cn(F0,this.current.value))}else if(t.value==="["){if(!this.tokens.isOperatorEnabled("["))throw new Error('unexpected "[]", arrays are disabled');this.parseExpression(e),this.expect(V2,"]"),e.push(Gu("["))}else throw new Error("unexpected symbol: "+t.value)}};function koe(e,t){return Number(e)+Number(t)}function boe(e,t){return e-t}function xoe(e,t){return e*t}function woe(e,t){return e/t}function Moe(e,t){return e%t}function Coe(e,t){return Array.isArray(e)&&Array.isArray(t)?e.concat(t):""+e+t}function Soe(e,t){return e===t}function Toe(e,t){return e!==t}function Loe(e,t){return e>t}function Ioe(e,t){return e<t}function Aoe(e,t){return e>=t}function Eoe(e,t){return e<=t}function Poe(e,t){return!!(e&&t)}function Roe(e,t){return!!(e||t)}function Foe(e,t){return B2(t,e)}function Ooe(e){return(Math.exp(e)-Math.exp(-e))/2}function Doe(e){return(Math.exp(e)+Math.exp(-e))/2}function Noe(e){return e===1/0?1:e===-1/0?-1:(Math.exp(e)-Math.exp(-e))/(Math.exp(e)+Math.exp(-e))}function zoe(e){return e===-1/0?e:Math.log(e+Math.sqrt(e*e+1))}function Hoe(e){return Math.log(e+Math.sqrt(e*e-1))}function Boe(e){return Math.log((1+e)/(1-e))/2}function jY(e){return Math.log(e)*Math.LOG10E}function Voe(e){return-e}function Uoe(e){return!e}function _oe(e){return e<0?Math.ceil(e):Math.floor(e)}function Woe(e){return Math.random()*(e||1)}function XY(e){return LN(e+1)}function Yoe(e){return isFinite(e)&&e===Math.round(e)}var Zoe=4.7421875,TN=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function LN(e){var t,n;if(Yoe(e)){if(e<=0)return isFinite(e)?1/0:NaN;if(e>171)return 1/0;for(var r=e-2,a=e-1;r>1;)a*=r,r--;return a===0&&(a=1),a}if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*LN(1-e));if(e>=171.35)return 1/0;if(e>85){var l=e*e,u=l*e,p=u*e,k=p*e;return Math.sqrt(2*Math.PI/e)*Math.pow(e/Math.E,e)*(1+1/(12*e)+1/(288*l)-139/(51840*u)-571/(2488320*p)+163879/(209018880*k)+5246819/(75246796800*k*e))}--e,n=TN[0];for(var w=1;w<TN.length;++w)n+=TN[w]/(e+w);return t=e+Zoe+.5,Math.sqrt(2*Math.PI)*Math.pow(t,e+.5)*Math.exp(-t)*n}function Goe(e){return Array.isArray(e)?e.length:String(e).length}function JY(){for(var e=0,t=0,n=0;n<arguments.length;n++){var r=Math.abs(arguments[n]),a;t<r?(a=t/r,e=e*a*a+1,t=r):r>0?(a=r/t,e+=a*a):e+=r}return t===1/0?1/0:t*Math.sqrt(e)}function KY(e,t,n){return e?t:n}function joe(e,t){return typeof t>"u"||+t==0?Math.round(e):(e=+e,t=-+t,isNaN(e)||!(typeof t=="number"&&t%1===0)?NaN:(e=e.toString().split("e"),e=Math.round(+(e[0]+"e"+(e[1]?+e[1]-t:-t))),e=e.toString().split("e"),+(e[0]+"e"+(e[1]?+e[1]+t:t))))}function Xoe(e,t,n){return n&&(n[e]=t),t}function Joe(e,t){return e[t|0]}function Koe(e){return arguments.length===1&&Array.isArray(e)?Math.max.apply(Math,e):Math.max.apply(Math,arguments)}function Qoe(e){return arguments.length===1&&Array.isArray(e)?Math.min.apply(Math,e):Math.min.apply(Math,arguments)}function qoe(e,t){if(typeof e!="function")throw new Error("First argument to map is not a function");if(!Array.isArray(t))throw new Error("Second argument to map is not an array");return t.map(function(n,r){return e(n,r)})}function $oe(e,t,n){if(typeof e!="function")throw new Error("First argument to fold is not a function");if(!Array.isArray(n))throw new Error("Second argument to fold is not an array");return n.reduce(function(r,a,l){return e(r,a,l)},t)}function eie(e,t){if(typeof e!="function")throw new Error("First argument to filter is not a function");if(!Array.isArray(t))throw new Error("Second argument to filter is not an array");return t.filter(function(n,r){return e(n,r)})}function tie(e,t){if(!(Array.isArray(t)||typeof t=="string"))throw new Error("Second argument to indexOf is not a string or array");return t.indexOf(e)}function nie(e,t){if(!Array.isArray(t))throw new Error("Second argument to join is not an array");return t.join(e)}function rie(e){return(e>0)-(e<0)||+e}var QY=1/3;function aie(e){return e<0?-Math.pow(-e,QY):Math.pow(e,QY)}function oie(e){return Math.exp(e)-1}function iie(e){return Math.log(1+e)}function sie(e){return Math.log(e)/Math.LN2}function Vh(e){this.options=e||{},this.unaryOps={sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,sinh:Math.sinh||Ooe,cosh:Math.cosh||Doe,tanh:Math.tanh||Noe,asinh:Math.asinh||zoe,acosh:Math.acosh||Hoe,atanh:Math.atanh||Boe,sqrt:Math.sqrt,cbrt:Math.cbrt||aie,log:Math.log,log2:Math.log2||sie,ln:Math.log,lg:Math.log10||jY,log10:Math.log10||jY,expm1:Math.expm1||oie,log1p:Math.log1p||iie,abs:Math.abs,ceil:Math.ceil,floor:Math.floor,round:Math.round,trunc:Math.trunc||_oe,"-":Voe,"+":Number,exp:Math.exp,not:Uoe,length:Goe,"!":XY,sign:Math.sign||rie},this.binaryOps={"+":koe,"-":boe,"*":xoe,"/":woe,"%":Moe,"^":Math.pow,"||":Coe,"==":Soe,"!=":Toe,">":Loe,"<":Ioe,">=":Aoe,"<=":Eoe,and:Poe,or:Roe,in:Foe,"=":Xoe,"[":Joe},this.ternaryOps={"?":KY},this.functions={random:Woe,fac:XY,min:Qoe,max:Koe,hypot:Math.hypot||JY,pyt:Math.hypot||JY,pow:Math.pow,atan2:Math.atan2,if:KY,gamma:LN,roundTo:joe,map:qoe,fold:$oe,filter:eie,indexOf:tie,join:nie},this.consts={E:Math.E,PI:Math.PI,true:!0,false:!1}}Vh.prototype.parse=function(e){var t=[],n=new Tr(this,new ya(this,e),{allowMemberAccess:this.options.allowMemberAccess});return n.parseExpression(t),n.expect(Df,"EOF"),new nd(t,this)},Vh.prototype.evaluate=function(e,t){return this.parse(e).evaluate(t)};var qY=new Vh;Vh.parse=function(e){return qY.parse(e)},Vh.evaluate=function(e,t){return qY.parse(e).evaluate(t)};var $Y={"+":"add","-":"subtract","*":"multiply","/":"divide","%":"remainder","^":"power","!":"factorial","<":"comparison",">":"comparison","<=":"comparison",">=":"comparison","==":"comparison","!=":"comparison","||":"concatenate",and:"logical",or:"logical",not:"logical","?":"conditional",":":"conditional","=":"assignment","[":"array","()=":"fndef"};function lie(e){return $Y.hasOwnProperty(e)?$Y[e]:e}Vh.prototype.isOperatorEnabled=function(e){var t=lie(e),n=this.options.operators||{};return!(t in n)||!!n[t]};const eZ=(e,t,n)=>{const{uniqueTags:r,uniqueCategories:a}=fe.useMemo(()=>{const u=new Set,p=new Set;return e.forEach(k=>{k.tags.forEach(w=>u.add(w.name)),k.category&&p.add(k.category)}),{uniqueTags:Array.from(u),uniqueCategories:Array.from(p)}},[e]);return{processedTasks:fe.useMemo(()=>{let u=[...e];if(t.tags.length>0&&(u=u.filter(p=>p.tags.some(k=>t.tags.includes(k.name)))),t.categories.length>0&&(u=u.filter(p=>p.category&&t.categories.includes(p.category))),t.priorities.length>0&&(u=u.filter(p=>t.priorities.includes(p.priority))),t.statuses.length>0&&(u=u.filter(p=>t.statuses.includes(p.status))),t.enableScript&&t.script.trim())try{const p=new Vh,k=p.parse(t.script);u=u.filter(w=>{try{return!!k.evaluate({task:w})}catch(S){return wt.error("TaskFiltering","Custom filter script execution failed",S),!1}})}catch(p){wt.error("TaskFiltering","Custom filter script parsing failed",p)}return u.sort((p,k)=>{if(n.field==="custom"){if(!n.script.trim())return 0;try{const M=new Vh,I=M.parse(n.script),N=I.evaluate({a:p,b:k});return typeof N=="number"?N:0}catch(M){return wt.error("TaskFiltering","Custom sort script failed",M),0}}let w=p[n.field],S=k[n.field];if(n.field==="priority"){const M={high:3,medium:2,low:1};w=M[p.priority],S=M[k.priority]}return w==null&&(w=""),S==null&&(S=""),w<S?n.direction==="asc"?-1:1:w>S?n.direction==="asc"?1:-1:0}),u},[e,t,n]),uniqueTags:r,uniqueCategories:a}},tZ=e=>fe.useMemo(()=>e.reduce((t,n)=>(n.status==="done"||n.status==="cancelled"||(n.status==="todo"&&t.todo++,n.status==="unplanned"&&t.unplanned++,n.status==="scheduled"&&t.scheduled++,n.status==="doing"&&t.doing++,(n.status==="overdue"||n.status==="due")&&t.urgent++),t),{todo:0,unplanned:0,urgent:0,scheduled:0,doing:0}),[e]);function cie(e){return{name:"create_task",description:"Create a new task with a title and optional details like description, priority, dates, tags, and recurrence.",schema:{type:"object",properties:{title:{type:"string",description:"The title of the task (required)"},description:{type:"string",description:"A detailed description of the task"},priority:{type:"string",description:"Task priority level",enum:["low","medium","high"]},status:{type:"string",description:"Initial task status",enum:["todo","scheduled"]},dueAt:{type:"string",description:"Due date in ISO 8601 format (YYYY-MM-DD)"},startAt:{type:"string",description:"Start date in ISO 8601 format (YYYY-MM-DD)"},category:{type:"string",description:"Task category"},tags:{type:"array",description:"List of tag names to attach to the task",items:{type:"string"}},recurrence:{type:"string",description:"Recurrence rule in RRULE RFC 5545 format (e.g. FREQ=WEEKLY;BYDAY=MO)"}},required:["title"]},async execute(t){const n=t.title,r=t.description,a=t.priority??"medium",l=t.status??"todo",u=t.dueAt,p=t.startAt,k=t.category,w=t.tags??[],S=t.recurrence,M=RR("ai"),I=TD(),N=w.map(W=>({id:RR("tag"),name:W})),D={id:M,title:n,...r!==void 0?{description:r}:{},priority:a,status:l,createdAt:I,...u!==void 0?{dueAt:u}:{},...p!==void 0?{startAt:p}:{},...k!==void 0?{category:k}:{},tags:N,...S!==void 0?{isRecurring:!0,recurringInterval:S}:{}},O=S0(D),V={...D,status:O};return await e.addTask(V),e.notify?.("success",`Created task: ${n}`),{name:"create_task",result:{success:!0,id:M,title:n}}}}}const nZ={high:0,medium:1,low:2};function die(e){return{id:e.id,title:e.title,status:e.status,priority:e.priority,dueAt:e.dueAt,startAt:e.startAt,category:e.category,tags:e.tags.map(t=>t.name),isRecurring:e.isRecurring===!0}}function uie(e,t){const n=t.toLowerCase(),r=e.title.toLowerCase().includes(n),a=e.description?.toLowerCase().includes(n)??!1;return r||a}function hie(e,t){const n=t.toLowerCase();return e.tags.some(r=>r.name.toLowerCase()===n)}function fie(e,t,n){return t===void 0&&n===void 0?!0:!(e.dueAt===void 0||t!==void 0&&e.dueAt<t||n!==void 0&&e.dueAt>n)}function yie(e,t,n){switch(n){case"priority":return nZ[e.priority]-nZ[t.priority];case"dueAt":return(e.dueAt??"").localeCompare(t.dueAt??"");case"createdAt":return(e.createdAt??"").localeCompare(t.createdAt??"");case"title":return e.title.localeCompare(t.title);default:return 0}}function pie(e){return{name:"query_tasks",description:"Search and filter tasks by status, category, tags, date range, recurrence, and free-text search. Returns a token-efficient summary.",schema:{type:"object",properties:{status:{type:"string",description:"Filter by exact task status",enum:["done","scheduled","todo","due","overdue","cancelled","unplanned","doing"]},search:{type:"string",description:"Case-insensitive substring search on task title and description"},category:{type:"string",description:"Filter by exact category match"},tag:{type:"string",description:"Filter by tag name (case-insensitive)"},dateFrom:{type:"string",description:"Inclusive start of due-date range in ISO 8601 format (YYYY-MM-DD)"},dateTo:{type:"string",description:"Inclusive end of due-date range in ISO 8601 format (YYYY-MM-DD)"},recurring:{type:"boolean",description:"Filter by recurrence: true for recurring tasks, false for non-recurring"},sort:{type:"string",description:"Sort results by the specified field",enum:["priority","dueAt","createdAt","title"]},limit:{type:"number",description:"Maximum number of tasks to return (default 50)"}}},async execute(t){const n=t.status,r=t.search,a=t.category,l=t.tag,u=t.dateFrom,p=t.dateTo,k=t.recurring,w=t.sort,S=t.limit??50,I=(await e.getTasks()).filter(V=>!(n!==void 0&&V.status!==n||r!==void 0&&!uie(V,r)||a!==void 0&&V.category!==a||l!==void 0&&!hie(V,l)||!fie(V,u,p)||k!==void 0&&(k&&V.isRecurring!==!0||!k&&V.isRecurring===!0))),O=(w!==void 0?[...I].sort((V,W)=>yie(V,W,w)):I).slice(0,S).map(die);return{name:"query_tasks",result:{tasks:O,count:O.length}}}}}function gie(e){return{name:"update_task",description:"Update an existing task by ID. Only the fields you provide will be changed; all other fields are preserved.",schema:{type:"object",properties:{id:{type:"string",description:"The ID of the task to update (required)"},title:{type:"string",description:"New title for the task"},description:{type:"string",description:"New description for the task"},status:{type:"string",description:"New status for the task (only terminal/settable states allowed)",enum:["todo","done","cancelled"]},priority:{type:"string",description:"New priority level",enum:["low","medium","high"]},dueAt:{type:"string",description:"New due date in ISO 8601 format (YYYY-MM-DD)"},startAt:{type:"string",description:"New start date in ISO 8601 format (YYYY-MM-DD)"},completedAt:{type:"string",description:"Completion timestamp in ISO 8601 format"},category:{type:"string",description:"New task category"},tags:{type:"array",description:"New list of tag names (replaces existing tags)",items:{type:"string"}},recurrence:{type:"string",description:"Recurrence rule in RRULE RFC 5545 format (e.g. FREQ=WEEKLY;BYDAY=MO). Use empty string to clear recurrence."}},required:["id"]},async execute(t){const n=t.id,r=await e.getTask(n);if(!r)return{name:"update_task",result:{success:!1,error:`Task not found: ${n}`}};const a={};if(t.title!==void 0&&(a.title=t.title),t.description!==void 0&&(a.description=t.description),t.status!==void 0&&(a.status=t.status),t.priority!==void 0&&(a.priority=t.priority),t.dueAt!==void 0&&(a.dueAt=t.dueAt),t.startAt!==void 0&&(a.startAt=t.startAt),t.completedAt!==void 0&&(a.completedAt=t.completedAt),t.category!==void 0&&(a.category=t.category),t.tags!==void 0){const w=t.tags.map(S=>({id:RR("tag"),name:S}));a.tags=w}if(t.recurrence!==void 0){const k=t.recurrence;k===""?(a.isRecurring=void 0,a.recurringInterval=void 0):(a.isRecurring=!0,a.recurringInterval=k)}const l={...r,...a},u=S0(l),p={...l,status:u};return await e.updateTask(p),e.notify?.("success",`Updated task: ${n}`),{name:"update_task",result:{success:!0,id:n}}}}}function mie(e){return{name:"delete_task",description:"Delete an existing task by its ID.",schema:{type:"object",properties:{id:{type:"string",description:"The ID of the task to delete (required)"}},required:["id"]},async execute(t){const n=t.id,r=await e.getTask(n);return r?(await e.deleteTask(n),e.notify?.("info",`Deleted task: ${r.title}`),{name:"delete_task",result:{success:!0,id:n,title:r.title}}):{name:"delete_task",result:{success:!1,message:`Task not found: ${n}`}}}}}function vie(e){return{name:"complete_task",description:"Mark a task as done. For recurring tasks, completes the current instance and creates the next occurrence.",schema:{type:"object",properties:{id:{type:"string",description:"The ID of the task to complete (required)"}},required:["id"]},async execute(t){const n=t.id,r=await e.getTask(n);if(!r)return{name:"complete_task",result:{success:!1,error:`Task not found: ${n}`}};const a=TD(),l={...r,status:"done",completedAt:a};await e.updateTask(l);let u=!1;if(r.isRecurring&&r.recurringInterval){const p={...r,id:RR("ai"),status:"todo",createdAt:a,completedAt:void 0,cancelledAt:void 0},k=S0(p),w={...p,status:k};await e.addTask(w),u=!0}return e.notify?.("success",`Completed task: ${r.title}${u?" (next occurrence created)":""}`),{name:"complete_task",result:{success:!0,id:n,title:r.title,createdNextOccurrence:u}}}}}function kie(e){return{name:"cancel_task",description:"Cancel a task. For recurring tasks, cancels the entire series.",schema:{type:"object",properties:{id:{type:"string",description:"The ID of the task to cancel (required)"}},required:["id"]},async execute(t){const n=t.id,r=await e.getTask(n);if(!r)return{name:"cancel_task",result:{success:!1,error:`Task not found: ${n}`}};const a={...r,status:"cancelled",cancelledAt:TD()};return await e.updateTask(a),e.notify?.("info",`Cancelled task: ${r.title}`),{name:"cancel_task",result:{success:!0,id:n,title:r.title}}}}}function bie(e,t){const n=t.toLowerCase();return e.tags.some(r=>r.name.toLowerCase()===n)}function xie(e){return{name:"batch_update_tasks",description:"Update multiple tasks matching a filter criteria. All matching tasks receive the same updates. Filters use exact matching for status and category, case-insensitive matching for tags.",schema:{type:"object",properties:{filter:{type:"object",description:"Filter criteria to select tasks to update. All conditions are combined with AND logic.",properties:{status:{type:"string",description:"Filter by exact task status",enum:["done","scheduled","todo","due","overdue","cancelled","unplanned","doing"]},category:{type:"string",description:"Filter by exact category match"},tag:{type:"string",description:"Filter by tag name (case-insensitive)"},recurring:{type:"boolean",description:"Filter by recurrence: true for recurring tasks, false for non-recurring"}}},update:{type:"object",description:"Fields to update on all matching tasks. Omitted fields are not changed.",properties:{status:{type:"string",description:"New status (only terminal/settable states allowed)",enum:["todo","done","cancelled"]},priority:{type:"string",description:"New priority level",enum:["low","medium","high"]},dueAt:{type:"string",description:"New due date in ISO 8601 format (YYYY-MM-DD)"},category:{type:"string",description:"New task category"},recurrence:{type:"string",description:"Recurrence rule in RRULE RFC 5545 format (e.g. FREQ=WEEKLY;BYDAY=MO). Use empty string to clear recurrence."}}}},required:["filter","update"]},async execute(t){const n=t.filter,r=t.update;if(!n||!r)return{name:"batch_update_tasks",result:{success:!1,error:"filter and update are required"}};const a=n.status,l=n.category,u=n.tag,p=n.recurring,w=(await e.getTasks()).filter(M=>!(a!==void 0&&M.status!==a||l!==void 0&&M.category!==l||u!==void 0&&!bie(M,u)||p!==void 0&&(p&&M.isRecurring!==!0||!p&&M.isRecurring===!0))),S=[];for(const M of w){const I={};if(r.status!==void 0&&(I.status=r.status),r.priority!==void 0&&(I.priority=r.priority),r.dueAt!==void 0&&(I.dueAt=r.dueAt),r.category!==void 0&&(I.category=r.category),r.recurrence!==void 0){const V=r.recurrence;V===""?(I.isRecurring=void 0,I.recurringInterval=void 0):(I.isRecurring=!0,I.recurringInterval=V)}const N={...M,...I},D=S0(N),O={...N,status:D};await e.updateTask(O),S.push(M.id)}return e.notify?.("success",`Updated ${w.length} task${w.length===1?"":"s"}`),{name:"batch_update_tasks",result:{success:!0,updatedCount:w.length,taskIds:S}}}}}function wie(e){return{name:"get_task_stats",description:"Get aggregate statistics about all tasks including counts by status, priority, category, completion metrics, and recurring task count.",schema:{type:"object",properties:{}},async execute(){const t=await e.getTasks(),n={total:t.length,byStatus:{},byPriority:{},byCategory:{},overdue:0,completedToday:0,completionRate:0,recurring:0,generatedAt:new Date().toISOString()},r=Ph();for(const a of t)n.byStatus[a.status]=(n.byStatus[a.status]??0)+1,n.byPriority[a.priority]=(n.byPriority[a.priority]??0)+1,a.category&&(n.byCategory[a.category]=(n.byCategory[a.category]??0)+1),a.status==="overdue"&&(n.overdue+=1),a.completedAt&&a.completedAt.startsWith(r)&&(n.completedToday+=1),a.isRecurring&&(n.recurring+=1);if(t.length>0){const l=(n.byStatus.done??0)/t.length;n.completionRate=Math.round(l*100)/100}return{name:"get_task_stats",result:n}}}}const rZ={high:0,medium:1,low:2};function aZ(e,t){return rZ[e.priority]-rZ[t.priority]}function Mie(e){return{name:"get_today_plan",description:"Get today's task plan with tasks due today (sorted by priority) and overdue tasks (sorted by priority).",schema:{type:"object",properties:{}},async execute(){const t=await e.getTasks(),n=Ph(),r=[],a=[];for(const u of t){const p={id:u.id,title:u.title,priority:u.priority,status:u.status,...u.category?{category:u.category}:{},tags:u.tags.map(k=>k.name),...u.isRecurring!==void 0?{isRecurring:u.isRecurring}:{}};u.dueAt===n&&u.status!=="done"&&u.status!=="cancelled"&&r.push(p),u.status==="overdue"&&a.push(p)}return r.sort(aZ),a.sort(aZ),{name:"get_today_plan",result:{date:n,todayTasks:r,todayCount:r.length,overdueTasks:a,overdueCount:a.length}}}}}function Cie(e){return{name:"all-tasks",uri:"tasks://all",description:"List of all tasks in the system.",mimeType:"application/json",async read(){const t=await e.getTasks();return{contents:[{uri:"tasks://all",text:JSON.stringify({tasks:t,count:t.length,generatedAt:new Date().toISOString()}),mimeType:"application/json"}]}}}}function Sie(e){return{name:"task-by-id",uri:"tasks://task",uriTemplate:"tasks://{taskId}",description:"Retrieve a single task by its ID.",mimeType:"application/json",async read(t){const n=t?.taskId??"",r=await e.getTask(n);return{contents:[{uri:`tasks://${n}`,text:JSON.stringify({task:r??null,found:r!==null}),mimeType:"application/json"}]}}}}function Tie(e){return[{name:"overdue-tasks",uri:"tasks://overdue",description:"Tasks that are currently overdue.",mimeType:"application/json",async read(){const l=(await e.getTasks()).filter(u=>u.status==="overdue");return{contents:[{uri:"tasks://overdue",text:JSON.stringify({tasks:l,count:l.length,generatedAt:new Date().toISOString()}),mimeType:"application/json"}]}}},{name:"today-tasks",uri:"tasks://today",description:"Tasks due today or starting today.",mimeType:"application/json",async read(){const a=await e.getTasks(),l=Ph(),u=a.filter(p=>p.dueAt===l||p.startAt===l);return{contents:[{uri:"tasks://today",text:JSON.stringify({tasks:u,count:u.length,generatedAt:new Date().toISOString()}),mimeType:"application/json"}]}}},{name:"upcoming-tasks",uri:"tasks://upcoming",description:"Tasks due in the next 7 days (excluding today).",mimeType:"application/json",async read(){const a=await e.getTasks(),l=Ph(),u=_$(7),p=a.filter(k=>k.dueAt?k.dueAt>l&&k.dueAt<=u:!1);return{contents:[{uri:"tasks://upcoming",text:JSON.stringify({tasks:p,count:p.length,generatedAt:new Date().toISOString()}),mimeType:"application/json"}]}}}]}function Lie(e){return{name:"stats",uri:"tasks://stats",description:"Aggregate statistics about all tasks including counts by status, priority, category, completion metrics, and recurring task count.",mimeType:"application/json",async read(){const t=await e.getTasks(),n=Ph(),r={total:t.length,byStatus:{},byPriority:{},byCategory:{},overdue:0,completedToday:0,completionRate:0,recurring:0,generatedAt:new Date().toISOString()};for(const a of t)r.byStatus[a.status]=(r.byStatus[a.status]??0)+1,r.byPriority[a.priority]=(r.byPriority[a.priority]??0)+1,a.category&&(r.byCategory[a.category]=(r.byCategory[a.category]??0)+1),a.status==="overdue"&&(r.overdue+=1),a.completedAt&&a.completedAt.startsWith(n)&&(r.completedToday+=1),a.isRecurring&&(r.recurring+=1);if(t.length>0){const l=(r.byStatus.done??0)/t.length;r.completionRate=Math.round(l*100)/100}return{contents:[{uri:"tasks://stats",text:JSON.stringify(r),mimeType:"application/json"}]}}}}function Iie(e){return{name:"plan_my_day",description:"Review today's tasks and create a prioritized plan for the day.",arguments:[{name:"focusArea",description:"What to prioritize today",required:!1}],async render(t){const n=await e.getTasks(),r=Ph(),a=n.filter(p=>p.dueAt?.startsWith(r)&&p.status!=="done"&&p.status!=="cancelled"),l=n.filter(p=>p.status==="overdue"),u=["Review my tasks for today and create a prioritized plan."];t?.focusArea&&u.push(`Focus area: ${t.focusArea}`),u.push(""),u.push(`## Today's Tasks (${a.length})`);for(const p of a)u.push(`- [${p.status}] ${p.title} (${p.priority})`);u.push(""),u.push(`## Overdue (${l.length})`);for(const p of l)u.push(`- ${p.title} — due ${p.dueAt}`);return u.push(""),u.push("Use the available tools to reschedule, complete, or update tasks as needed."),[{role:"user",content:u.join(`
|