kanna-code 0.4.1 → 0.4.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.
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-divide-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-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-lg:16px;--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);--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-destructive:var(--destructive);--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-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-muted-icon:hsl(var(--muted-icon));--color-logo:var(--logo)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:222 47% 11%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:210 20% 97%;--muted-foreground:215 16% 47%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:var(--logo);--destructive-foreground:0 0% 98%;--border:214 20% 90%;--input:240 5.9% 90%;--ring:240 5.9% 10%;--radius:.5rem;--muted-icon:240 2% 79%;--chart-1:24.6 95% 53.1%;--chart-2:160 60% 45%;--chart-3:221 83% 53%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--logo:oklch(71.2% .194 13.428)}.dark{--background:223 4% 13%;--foreground:0 0% 98%;--card:231 4% 16%;--card-foreground:0 0% 98%;--popover:223 4% 13%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 2% 10%;--secondary:240 2% 19%;--secondary-foreground:0 0% 98%;--muted:223 4% 18.5%;--muted-foreground:240 2.5% 64.9%;--accent:240 2% 19%;--accent-foreground:0 0% 98%;--destructive:var(--logo);--destructive-foreground:var(--background);--border:220 2.5% 23.5%;--input:240 4% 19%;--ring:240 4.9% 83.9%;--muted-icon:240 5% 48%;--color-slate-50:oklch(98.5% .001 247.839);--color-slate-100:oklch(96.7% .0013 264.542);--color-slate-200:oklch(92.8% .0026 264.531);--color-slate-300:oklch(87.2% .004 258.338);--color-slate-400:oklch(70.7% .01 261.325);--color-slate-500:oklch(55.1% .012 264.364);--color-slate-600:oklch(44.6% .013 256.802);--color-slate-700:oklch(37.3% .015 259.733);--color-slate-800:oklch(27.8% .0145 256.848);--color-slate-900:oklch(21% .015 264.665);--color-slate-950:oklch(13% .012 261.692);--logo:oklch(71.2% .194 13.428)}*{border-color:var(--color-border)}html,body,#root{height:100%;overflow:hidden}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;margin:0;font-family:Body,sans-serif}.font-logo{font-family:Manrope,sans-serif;font-weight:800}input,textarea,select{touch-action:manipulation;font-size:16px}button{cursor:pointer;touch-action:manipulation}button:focus,button:focus-visible,button:active{box-shadow:none!important;--tw-ring-shadow:none!important;--tw-ring-offset-shadow:none!important;outline:none!important}body{overscroll-behavior-y:contain}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.prose ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.prose ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.prose li{margin:.25em 0}code,pre{font-family:Roboto Mono,monospace}.prose code{border-radius:.25em;padding:.125em .25em;font-size:.875em}.prose pre{background-color:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.375em;margin:.75em 0;padding:.75em 1em;overflow-x:auto}.prose pre code{background-color:#0000;padding:0}.prose hr{margin-top:20px;margin-bottom:20px}*{scrollbar-width:thin;scrollbar-color:hsl(var(--border)) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:hsl(var(--border));background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .3)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@media(min-width:641px){[data-sonner-toaster]{width:-moz-fit-content!important;width:fit-content!important}}.recharts-wrapper :focus,.recharts-wrapper :focus-visible{outline:none}.animate-spin-slow{animation:1.5s linear infinite spin!important}.animate-fade-in{animation:.25s ease-out fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes kanna-empty-state-flower-in{0%{opacity:0;filter:blur(16px);transform:rotate(-90deg)scale(0)}to{opacity:1;filter:blur();transform:rotate(0)scale(1)}}@keyframes kanna-empty-state-text-in{0%{filter:blur(4px)}to{filter:blur()}}@keyframes kanna-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.kanna-empty-state-flower{transform-origin:50%;animation:.399s cubic-bezier(.175,.885,.32,1.275) both kanna-empty-state-flower-in}.kanna-empty-state-text{animation:.38s ease-out both kanna-empty-state-text-in}.kanna-typewriter-cursor-slot{flex-shrink:0;justify-content:flex-start;align-items:center;width:3px;margin-left:2px;display:inline-flex}.kanna-typewriter-cursor{background-color:currentColor;width:1px;height:1.05em;animation:.9s step-end infinite kanna-cursor-blink;display:inline-block}*{border-color:var(--color-border);outline-color:color-mix(in srgb,hsl(var(--ring)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--color-ring) 50%,transparent)}}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-0\.5{inset:calc(var(--spacing) * .5)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-\[4px\]{top:4px}.top-\[35px\]{top:35px}.right-0{right:calc(var(--spacing) * 0)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-\[4px\]{right:4px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-\[50\%\]{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-start-1{grid-column-start:1}.row-1{grid-row:1}.row-2{grid-row:2}.row-3{grid-row:3}.row-4{grid-row:4}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}@media(min-width:125rem){.container{max-width:125rem}}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-\[2px\]{margin-right:2px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.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-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.-ml-0\.5{margin-left:calc(var(--spacing) * -.5)}.-ml-\[1px\]{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-\[1px\]{margin-left:1px}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-0\.5{height:calc(var(--spacing) * .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-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[1px\]{height:1px}.h-\[34px\]{height:34px}.h-\[40px\]{height:40px}.h-\[64px\]{height:64px}.h-\[100dvh\]{height:100dvh}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[64px\]{max-height:64px}.max-h-\[85vh\]{max-height:85vh}.max-h-\[200px\]{max-height:200px}.max-h-\[min\(400px\,40vh\)\]{max-height:min(400px,40vh)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[55px\]{min-height:55px}.min-h-\[100dvh\]{min-height:100dvh}.min-h-full{min-height:100%}.w-0{width:calc(var(--spacing) * 0)}.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-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-6\.5{width:calc(var(--spacing) * 6.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1px\]{width:1px}.w-\[40px\]{width:40px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[50\%\]{max-width:50%}.max-w-\[85\%\]{max-width:85%}.max-w-\[90\%\]{max-width:90%}.max-w-\[150px\]{max-width:150px}.max-w-\[800px\]{max-width:800px}.max-w-\[840px\]{max-width:840px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[170px\]{min-width:170px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-\[1px\]{--tw-translate-x: -1px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-\[50\%\]{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2,.-translate-y-\[50\%\]{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-0\.5px\]{--tw-translate-y:-.5px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[0\.5px\]{--tw-translate-y:.5px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[1px\]{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-60{--tw-scale-x:60%;--tw-scale-y:60%;--tw-scale-z:60%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-shiny-text{animation:1.33s linear infinite shiny-text}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.resize-none{resize:none}.scroll-pt-\[72px\]{scroll-padding-top:72px}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_auto\]{grid-template-columns:auto auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-start{place-items:start}.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-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}: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-\[2px\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(2px * var(--tw-space-y-reverse));margin-block-end:calc(2px * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.\!rounded{border-radius:.25rem!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[20px\]{border-radius:20px}.rounded-\[29px\]{border-radius:29px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--color-border)}.border-border\/0{border-color:color-mix(in srgb,hsl(var(--border)) 0%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-border\/0{border-color:color-mix(in oklab,var(--color-border) 0%,transparent)}}.border-destructive\/20{border-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}.border-muted-foreground\/50{border-color:color-mix(in srgb,hsl(var(--muted-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--color-muted-foreground) 50%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-500\/0{border-color:#0000}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/0{border-color:color-mix(in oklab,var(--color-slate-500) 0%,transparent)}}.border-transparent{border-color:#0000}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--color-background)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-400\/80{background-color:#54a2ffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/80{background-color:color-mix(in oklab,var(--color-blue-400) 80%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-border\/60{background-color:color-mix(in srgb,hsl(var(--border)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-border\/60{background-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-current{background-color:currentColor}.bg-destructive\/5{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--color-destructive) 5%,transparent)}}.bg-destructive\/80{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/80{background-color:color-mix(in oklab,var(--color-destructive) 80%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-foreground{background-color:var(--color-foreground)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-logo{background-color:var(--color-logo)}.bg-muted{background-color:var(--color-muted)}.bg-muted-foreground\/20{background-color:color-mix(in srgb,hsl(var(--muted-foreground)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/20{background-color:color-mix(in oklab,var(--color-muted-foreground) 20%,transparent)}}.bg-muted-foreground\/40{background-color:color-mix(in srgb,hsl(var(--muted-foreground)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,var(--color-muted-foreground) 40%,transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-b{--tw-gradient-position:to bottom 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))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background{--tw-gradient-from:var(--color-background);--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))}.from-transparent{--tw-gradient-from: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))}.via-background{--tw-gradient-via:var(--color-background);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\/80{--tw-gradient-via:#000c}@supports (color:color-mix(in lab,red,red)){.via-black\/80{--tw-gradient-via:color-mix(in oklab, var(--color-black) 80%, transparent)}}.via-black\/80{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-50\%{--tw-gradient-via-position:50%}.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))}.\[background-size\:var\(--shiny-width\)_100\%\]{background-size:var(--shiny-width) 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.\[background-position\:0_0\]{background-position:0 0}.bg-no-repeat{background-repeat:no-repeat}.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-\[7px\]{padding:7px}.p-\[10px\]{padding:10px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.\!py-1{padding-block:calc(var(--spacing) * 1)!important}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.\!pt-5{padding-top:calc(var(--spacing) * 5)!important}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-\[72px\]{padding-top:72px}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-\[7px\]{padding-right:7px}.\!pb-0{padding-bottom:calc(var(--spacing) * 0)!important}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.\!pl-3\.5{padding-left:calc(var(--spacing) * 3.5)!important}.pl-0{padding-left:calc(var(--spacing) * 0)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-4\.5{padding-left:calc(var(--spacing) * 4.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--color-background)}.text-blue-400{color:var(--color-blue-400)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground{color:var(--color-foreground)}.text-foreground\/50{color:color-mix(in srgb,hsl(var(--foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,var(--color-foreground) 50%,transparent)}}.text-foreground\/60{color:color-mix(in srgb,hsl(var(--foreground)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--color-foreground) 60%,transparent)}}.text-foreground\/80{color:color-mix(in srgb,hsl(var(--foreground)) 80%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--color-foreground) 80%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-500\/50{color:#00c75880}@supports (color:color-mix(in lab,red,red)){.text-green-500\/50{color:color-mix(in oklab,var(--color-green-500) 50%,transparent)}}.text-green-700{color:var(--color-green-700)}.text-logo{color:var(--color-logo)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/30{color:color-mix(in srgb,hsl(var(--muted-foreground)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--color-muted-foreground) 30%,transparent)}}.text-muted-foreground\/50{color:color-mix(in srgb,hsl(var(--muted-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--color-muted-foreground) 50%,transparent)}}.text-muted-foreground\/60{color:color-mix(in srgb,hsl(var(--muted-foreground)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--color-muted-foreground) 60%,transparent)}}.text-muted-icon{color:var(--color-muted-icon)}.text-orange-500{color:var(--color-orange-500)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-500\/50{color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.text-red-500\/50{color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.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-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-orange-500\/50{text-decoration-color:#fe6e0080}@supports (color:color-mix(in lab,red,red)){.decoration-orange-500\/50{text-decoration-color:color-mix(in oklab,var(--color-orange-500) 50%,transparent)}}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.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-none{--tw-shadow:0 0 #0000;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{--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)}.ring-muted\/20{--tw-ring-color:color-mix(in srgb, hsl(var(--muted)) 20%, transparent)}@supports (color:color-mix(in lab,red,red)){.ring-muted\/20{--tw-ring-color:color-mix(in oklab, var(--color-muted) 20%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-sm{--tw-blur:blur(var(--blur-sm));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-lg{--tw-backdrop-blur:blur(var(--blur-lg));-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-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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.34\,1\.56\,0\.64\,1\)\]{--tw-ease:cubic-bezier(.34,1.56,.64,1);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\[transition\:background-position_1s_cubic-bezier\(\.6\,\.6\,0\,1\)_infinite\]{transition:background-position 1s cubic-bezier(.6,.6,0,1) infinite}@media(hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:opacity-0:is(:where(.group):hover *){opacity:0}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/codeblock\:opacity-100:is(:where(.group\/codeblock):hover *),.group-hover\/expandable-row\:opacity-100:is(:where(.group\/expandable-row):hover *),.group-hover\/plan\:opacity-100:is(:where(.group\/plan):hover *),.group-hover\/pre\:opacity-100:is(:where(.group\/pre):hover *){opacity:1}.group-hover\/section\:opacity-0:is(:where(.group\/section):hover *){opacity:0}.group-hover\/section\:opacity-100:is(:where(.group\/section):hover *){opacity:1}.group-hover\/sidebar-header\:scale-0:is(:where(.group\/sidebar-header):hover *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\/sidebar-header\:scale-80:is(:where(.group\/sidebar-header):hover *){--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\/sidebar-header\:opacity-0:is(:where(.group\/sidebar-header):hover *){opacity:0}.group-hover\/sidebar-header\:opacity-100:is(:where(.group\/sidebar-header):hover *){opacity:1}}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--color-muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:pl-3:first-child{padding-left:calc(var(--spacing) * 3)}@media(hover:hover){.hover\:\!border-transparent:hover{border-color:#0000!important}.hover\:border-border:hover{border-color:var(--color-border)}.hover\:border-primary\/30:hover{border-color:color-mix(in srgb,hsl(var(--primary)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.hover\:\!bg-transparent:hover{background-color:#0000!important}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/10:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.hover\:bg-logo\/90:hover{background-color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-logo\/90:hover{background-color:color-mix(in oklab,var(--color-logo) 90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-muted\/20:hover{background-color:color-mix(in srgb,hsl(var(--muted)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab,var(--color-muted) 20%,transparent)}}.hover\:bg-muted\/50:hover{background-color:color-mix(in srgb,hsl(var(--muted)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color: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\:\!pb-\[32px\]:hover{padding-bottom:32px!important}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-orange-500\/70:hover{color:#fe6e00b3}@supports (color:color-mix(in lab,red,red)){.hover\:text-orange-500\/70:hover{color:color-mix(in oklab,var(--color-orange-500) 70%,transparent)}}.hover\:text-secondary-foreground\/60:hover{color:color-mix(in srgb,hsl(var(--secondary-foreground)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:text-secondary-foreground\/60:hover{color:color-mix(in oklab,var(--color-secondary-foreground) 60%,transparent)}}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-50:hover{opacity:.5}.hover\:opacity-60:hover{opacity:.6}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-destructive\/10:focus{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-destructive\/10:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-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-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-\[0\.985\]:active{scale:.985}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-muted\/80:active{background-color:color-mix(in srgb,hsl(var(--muted)) 80%,transparent)}@supports (color:color-mix(in lab,red,red)){.active\:bg-muted\/80:active{background-color:color-mix(in oklab,var(--color-muted) 80%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-input\/90:disabled{border-color:color-mix(in srgb,hsl(var(--input)) 90%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:border-input\/90:disabled{border-color:color-mix(in oklab,var(--color-input) 90%,transparent)}}.disabled\:bg-primary\/20:disabled{background-color:color-mix(in srgb,hsl(var(--primary)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-primary\/20:disabled{background-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.disabled\:bg-primary\/50:disabled{background-color:color-mix(in srgb,hsl(var(--primary)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-primary\/50:disabled{background-color:color-mix(in oklab,var(--color-primary) 50%,transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:bg-white\/60:disabled{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-white\/60:disabled{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.disabled\:text-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-foreground\/50:disabled{color:color-mix(in oklab,var(--color-foreground) 50%,transparent)}}.disabled\:text-muted-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--muted-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-muted-foreground\/50:disabled{color:color-mix(in oklab,var(--color-muted-foreground) 50%,transparent)}}.disabled\:text-primary-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--primary-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary-foreground\/50:disabled{color:color-mix(in oklab,var(--color-primary-foreground) 50%,transparent)}}.disabled\:text-primary-foreground\/90:disabled{color:color-mix(in srgb,hsl(var(--primary-foreground)) 90%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary-foreground\/90:disabled{color:color-mix(in oklab,var(--color-primary-foreground) 90%,transparent)}}.disabled\:text-primary\/50:disabled{color:color-mix(in srgb,hsl(var(--primary)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary\/50:disabled{color:color-mix(in oklab,var(--color-primary) 50%,transparent)}}.disabled\:text-primary\/60:disabled{color:color-mix(in srgb,hsl(var(--primary)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary\/60:disabled{color:color-mix(in oklab,var(--color-primary) 60%,transparent)}}.disabled\:text-secondary-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--secondary-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-secondary-foreground\/50:disabled{color:color-mix(in oklab,var(--color-secondary-foreground) 50%,transparent)}}.disabled\:text-slate-700:disabled{color:var(--color-slate-700)}.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:40rem){.sm\:h-5{height:calc(var(--spacing) * 5)}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:w-5{width:calc(var(--spacing) * 5)}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:max-w-\[80\%\]{max-width:80%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:relative{position:relative}.md\:inset-auto{inset:auto}.md\:top-2{top:calc(var(--spacing) * 2)}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:my-2{margin-block:calc(var(--spacing) * 2)}.md\:mr-0{margin-right:calc(var(--spacing) * 0)}.md\:mr-2{margin-right:calc(var(--spacing) * 2)}.md\:mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.md\:ml-2{margin-left:calc(var(--spacing) * 2)}.md\:block{display:block}.md\:contents{display:contents}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-4{height:calc(var(--spacing) * 4)}.md\:h-6{height:calc(var(--spacing) * 6)}.md\:h-11{height:calc(var(--spacing) * 11)}.md\:h-\[55px\]{height:55px}.md\:h-\[calc\(100dvh-16px\)\]{height:calc(100dvh - 16px)}.md\:max-h-\[50vh\]{max-height:50vh}.md\:max-h-\[55px\]{max-height:55px}.md\:w-4{width:calc(var(--spacing) * 4)}.md\:w-6{width:calc(var(--spacing) * 6)}.md\:w-11{width:calc(var(--spacing) * 11)}.md\:w-\[275px\]{width:275px}.md\:flex-initial{flex:0 auto}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:border{border-style:var(--tw-border-style);border-width:1px}.md\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.md\:border-none{--tw-border-style:none;border-style:none}.md\:border-border{border-color:var(--color-border)}.md\:from-transparent{--tw-gradient-from: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))}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:px-5\.5{padding-inline:calc(var(--spacing) * 5.5)}.md\:py-4\.5{padding-block:calc(var(--spacing) * 4.5)}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.md\:pb-2{padding-bottom:calc(var(--spacing) * 2)}.md\:pl-6{padding-left:calc(var(--spacing) * 6)}.md\:opacity-0{opacity:0}.md\:backdrop-blur-none{--tw-backdrop-blur: ;-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,)}@media(hover:hover){.md\:group-hover\:opacity-100:is(:where(.group):hover *),.md\:group-hover\/section\:opacity-100:is(:where(.group\/section):hover *){opacity:1}}}@media(min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:96rem){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:125rem){.\33xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:border-white\/10:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/10:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:bg-card:where(.dark,.dark *){background-color:var(--color-card)}.dark\:bg-card\/40:where(.dark,.dark *){background-color:color-mix(in srgb,hsl(var(--card)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-card\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-card) 40%,transparent)}}.dark\:bg-green-500\/15:where(.dark,.dark *){background-color:#00c75826}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-500\/15:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-500) 15%,transparent)}}.dark\:bg-muted:where(.dark,.dark *){background-color:var(--color-muted)}.dark\:bg-red-500\/15:where(.dark,.dark *){background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-500\/15:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.dark\:bg-slate-700:where(.dark,.dark *){background-color:var(--color-slate-700)}.dark\:bg-white:where(.dark,.dark *){background-color:var(--color-white)}.dark\:via-white\/80:where(.dark,.dark *){--tw-gradient-via:#fffc}@supports (color:color-mix(in lab,red,red)){.dark\:via-white\/80:where(.dark,.dark *){--tw-gradient-via:color-mix(in oklab, var(--color-white) 80%, transparent)}}.dark\:via-white\/80:where(.dark,.dark *){--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:text-background:where(.dark,.dark *){color:var(--color-background)}.dark\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-logo:where(.dark,.dark *){color:var(--color-logo)}.dark\:text-muted-foreground:where(.dark,.dark *){color:var(--color-muted-foreground)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\:text-slate-500:where(.dark,.dark *){color:var(--color-slate-500)}.dark\:text-slate-900:where(.dark,.dark *){color:var(--color-slate-900)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:decoration-logo\/70:where(.dark,.dark *){text-decoration-color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.dark\:decoration-logo\/70:where(.dark,.dark *){text-decoration-color:color-mix(in oklab,var(--color-logo) 70%,transparent)}}.dark\:ring-muted\/50:where(.dark,.dark *){--tw-ring-color:color-mix(in srgb, hsl(var(--muted)) 50%, transparent)}@supports (color:color-mix(in lab,red,red)){.dark\:ring-muted\/50:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}@media(hover:hover){.dark\:hover\:border-slate-400\/10:where(.dark,.dark *):hover{border-color:#90a1b91a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:border-slate-400\/10:where(.dark,.dark *):hover{border-color:color-mix(in oklab,var(--color-slate-400) 10%,transparent)}}.dark\:hover\:bg-card:where(.dark,.dark *):hover{background-color:var(--color-card)}.dark\:hover\:bg-red-500\/20:where(.dark,.dark *):hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-red-500\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.dark\:hover\:bg-slate-600:where(.dark,.dark *):hover{background-color:var(--color-slate-600)}.dark\:hover\:text-foreground:where(.dark,.dark *):hover{color:var(--color-foreground)}.dark\:hover\:text-logo\/60:where(.dark,.dark *):hover{color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:text-logo\/60:where(.dark,.dark *):hover{color:color-mix(in oklab,var(--color-logo) 60%,transparent)}}.dark\:hover\:decoration-logo\/40:where(.dark,.dark *):hover{text-decoration-color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:decoration-logo\/40:where(.dark,.dark *):hover{text-decoration-color:color-mix(in oklab,var(--color-logo) 40%,transparent)}}}.dark\:focus\:bg-red-500\/20:where(.dark,.dark *):focus{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-red-500\/20:where(.dark,.dark *):focus{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.\[\&_\*\]\: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)}.\[\&_p\]\:whitespace-pre-line p{white-space:pre-line}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.no-code-highlight .\[\.no-code-highlight_\&\]\:\!bg-transparent{background-color:#0000!important}.no-pre-highlight .\[\.no-pre-highlight_\&\]\:bg-background,.no-pre-highlight .dark\:\[\.no-pre-highlight_\&\]\:bg-background:where(.dark,.dark *){background-color:var(--color-background)}}@font-face{font-family:Body;src:url(/fonts/body-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Body;src:url(/fonts/body-regular-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Body;src:url(/fonts/body-medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Body;src:url(/fonts/body-semibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@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-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-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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes shiny-text{0%{background-position:calc(-100% - var(--shiny-width)) 0}to{background-position:calc(100% + var(--shiny-width)) 0}}
@@ -381,7 +381,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${n.do
381
381
  *
382
382
  * This source code is licensed under the ISC license.
383
383
  * See the LICENSE file in the root directory of this source tree.
384
- */const c_=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],tc=ke("zap",c_),Pw=_M,f_=OM,Bw=v.forwardRef(({className:e,...n},r)=>x.jsx(Nw,{ref:r,className:ye("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n}));Bw.displayName=Nw.displayName;const d_={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg"},lp=v.forwardRef(({className:e,children:n,size:r="md",...l},o)=>x.jsxs(f_,{children:[x.jsx(Bw,{}),x.jsxs(Tw,{ref:o,className:ye("fixed left-1/2 top-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-background shadow-xl duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]","max-h-[85vh] flex flex-col",d_[r],e),...l,children:[n,x.jsxs(LM,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[x.jsx(Ac,{className:"h-4 w-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));lp.displayName=Tw.displayName;function Iw({className:e,...n}){return x.jsx(DM,{className:ye("text-lg font-medium leading-none tracking-tight",e),...n})}function h_({className:e,...n}){return x.jsx(zM,{className:ye("text-sm text-muted-foreground",e),...n})}function Uw({className:e,...n}){return x.jsx("div",{className:ye("flex-1 min-h-0 overflow-y-auto px-4 pb-4 pt-3.5",e),...n})}function Hw({className:e,...n}){return x.jsx("div",{className:ye("shrink-0 flex justify-end gap-2 border-t border-border bg-background p-2 rounded-b-xl",e),...n})}const Fw=v.createContext(null);function m_({children:e}){const[n,r]=v.useState(null),[l,o]=v.useState(""),s=v.useRef(null);v.useEffect(()=>{(n==null?void 0:n.kind)==="prompt"&&(o(n.options.initialValue??""),setTimeout(()=>{var g,p;(g=s.current)==null||g.focus(),(p=s.current)==null||p.select()},0))},[n]);const c=v.useCallback(()=>{r(null),o("")},[]),f=v.useCallback(g=>new Promise(p=>{r({kind:"confirm",options:g,resolve:p})}),[]),d=v.useCallback(g=>new Promise(p=>{r({kind:"prompt",options:g,resolve:p})}),[]),h=v.useMemo(()=>({confirm:f,prompt:d}),[f,d]);return x.jsxs(Fw.Provider,{value:h,children:[e,x.jsx(Pw,{open:n!==null,onOpenChange:g=>{g||!n||(n.kind==="confirm"?n.resolve(!1):n.resolve(null),c())},children:x.jsx(lp,{size:"sm",children:n?x.jsxs(x.Fragment,{children:[x.jsxs(Uw,{className:"space-y-4",children:[x.jsx(Iw,{children:n.options.title}),n.options.description?x.jsx(h_,{children:n.options.description}):null,n.kind==="prompt"?x.jsx("input",{ref:s,type:"text",value:l,onChange:g=>o(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.resolve(l.trim()||null),c())},className:"w-full px-3 py-2 text-sm border border-border rounded-md bg-background outline-none",placeholder:n.options.placeholder}):null]}),x.jsxs(Hw,{children:[x.jsx($e,{variant:"ghost",size:"sm",onClick:()=>{n.kind==="confirm"?n.resolve(!1):n.resolve(null),c()},children:n.options.cancelLabel??"Cancel"}),x.jsx($e,{variant:n.kind==="confirm"?n.options.confirmVariant??"default":"secondary",size:"sm",onClick:()=>{n.kind==="confirm"?n.resolve(!0):n.resolve(l.trim()||null),c()},disabled:n.kind==="prompt"&&!l.trim(),children:n.options.confirmLabel??"Confirm"})]})]}):null})})]})}function p_(){const e=v.useContext(Fw);if(!e)throw new Error("useAppDialog must be used within AppDialogProvider");return e}const g_=["top","right","bottom","left"],ji=Math.min,kn=Math.max,nc=Math.round,ju=Math.floor,xr=e=>({x:e,y:e}),y_={left:"right",right:"left",bottom:"top",top:"bottom"};function fm(e,n,r){return kn(e,ji(n,r))}function Xr(e,n){return typeof e=="function"?e(n):e}function Kr(e){return e.split("-")[0]}function va(e){return e.split("-")[1]}function ap(e){return e==="x"?"y":"x"}function op(e){return e==="y"?"height":"width"}function gr(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function sp(e){return ap(gr(e))}function x_(e,n,r){r===void 0&&(r=!1);const l=va(e),o=sp(e),s=op(o);let c=o==="x"?l===(r?"end":"start")?"right":"left":l==="start"?"bottom":"top";return n.reference[s]>n.floating[s]&&(c=rc(c)),[c,rc(c)]}function v_(e){const n=rc(e);return[dm(e),n,dm(n)]}function dm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Ib=["left","right"],Ub=["right","left"],b_=["top","bottom"],w_=["bottom","top"];function S_(e,n,r){switch(e){case"top":case"bottom":return r?n?Ub:Ib:n?Ib:Ub;case"left":case"right":return n?b_:w_;default:return[]}}function C_(e,n,r,l){const o=va(e);let s=S_(Kr(e),r==="start",l);return o&&(s=s.map(c=>c+"-"+o),n&&(s=s.concat(s.map(dm)))),s}function rc(e){const n=Kr(e);return y_[n]+e.slice(n.length)}function E_(e){return{top:0,right:0,bottom:0,left:0,...e}}function qw(e){return typeof e!="number"?E_(e):{top:e,right:e,bottom:e,left:e}}function ic(e){const{x:n,y:r,width:l,height:o}=e;return{width:l,height:o,top:r,left:n,right:n+l,bottom:r+o,x:n,y:r}}function Hb(e,n,r){let{reference:l,floating:o}=e;const s=gr(n),c=sp(n),f=op(c),d=Kr(n),h=s==="y",g=l.x+l.width/2-o.width/2,p=l.y+l.height/2-o.height/2,b=l[f]/2-o[f]/2;let w;switch(d){case"top":w={x:g,y:l.y-o.height};break;case"bottom":w={x:g,y:l.y+l.height};break;case"right":w={x:l.x+l.width,y:p};break;case"left":w={x:l.x-o.width,y:p};break;default:w={x:l.x,y:l.y}}switch(va(n)){case"start":w[c]-=b*(r&&h?-1:1);break;case"end":w[c]+=b*(r&&h?-1:1);break}return w}async function k_(e,n){var r;n===void 0&&(n={});const{x:l,y:o,platform:s,rects:c,elements:f,strategy:d}=e,{boundary:h="clippingAncestors",rootBoundary:g="viewport",elementContext:p="floating",altBoundary:b=!1,padding:w=0}=Xr(n,e),E=qw(w),k=f[b?p==="floating"?"reference":"floating":p],N=ic(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(k)))==null||r?k:k.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(f.floating)),boundary:h,rootBoundary:g,strategy:d})),j=p==="floating"?{x:l,y:o,width:c.floating.width,height:c.floating.height}:c.reference,M=await(s.getOffsetParent==null?void 0:s.getOffsetParent(f.floating)),D=await(s.isElement==null?void 0:s.isElement(M))?await(s.getScale==null?void 0:s.getScale(M))||{x:1,y:1}:{x:1,y:1},U=ic(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:j,offsetParent:M,strategy:d}):j);return{top:(N.top-U.top+E.top)/D.y,bottom:(U.bottom-N.bottom+E.bottom)/D.y,left:(N.left-U.left+E.left)/D.x,right:(U.right-N.right+E.right)/D.x}}const N_=50,T_=async(e,n,r)=>{const{placement:l="bottom",strategy:o="absolute",middleware:s=[],platform:c}=r,f=c.detectOverflow?c:{...c,detectOverflow:k_},d=await(c.isRTL==null?void 0:c.isRTL(n));let h=await c.getElementRects({reference:e,floating:n,strategy:o}),{x:g,y:p}=Hb(h,l,d),b=l,w=0;const E={};for(let C=0;C<s.length;C++){const k=s[C];if(!k)continue;const{name:N,fn:j}=k,{x:M,y:D,data:U,reset:_}=await j({x:g,y:p,initialPlacement:l,placement:b,strategy:o,middlewareData:E,rects:h,platform:f,elements:{reference:e,floating:n}});g=M??g,p=D??p,E[N]={...E[N],...U},_&&w<N_&&(w++,typeof _=="object"&&(_.placement&&(b=_.placement),_.rects&&(h=_.rects===!0?await c.getElementRects({reference:e,floating:n,strategy:o}):_.rects),{x:g,y:p}=Hb(h,b,d)),C=-1)}return{x:g,y:p,placement:b,strategy:o,middlewareData:E}},R_=e=>({name:"arrow",options:e,async fn(n){const{x:r,y:l,placement:o,rects:s,platform:c,elements:f,middlewareData:d}=n,{element:h,padding:g=0}=Xr(e,n)||{};if(h==null)return{};const p=qw(g),b={x:r,y:l},w=sp(o),E=op(w),C=await c.getDimensions(h),k=w==="y",N=k?"top":"left",j=k?"bottom":"right",M=k?"clientHeight":"clientWidth",D=s.reference[E]+s.reference[w]-b[w]-s.floating[E],U=b[w]-s.reference[w],_=await(c.getOffsetParent==null?void 0:c.getOffsetParent(h));let P=_?_[M]:0;(!P||!await(c.isElement==null?void 0:c.isElement(_)))&&(P=f.floating[M]||s.floating[E]);const F=D/2-U/2,ne=P/2-C[E]/2-1,I=ji(p[N],ne),J=ji(p[j],ne),te=I,ce=P-C[E]-J,le=P/2-C[E]/2+F,ee=fm(te,le,ce),B=!d.arrow&&va(o)!=null&&le!==ee&&s.reference[E]/2-(le<te?I:J)-C[E]/2<0,X=B?le<te?le-te:le-ce:0;return{[w]:b[w]+X,data:{[w]:ee,centerOffset:le-ee-X,...B&&{alignmentOffset:X}},reset:B}}}),A_=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(n){var r,l;const{placement:o,middlewareData:s,rects:c,initialPlacement:f,platform:d,elements:h}=n,{mainAxis:g=!0,crossAxis:p=!0,fallbackPlacements:b,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:C=!0,...k}=Xr(e,n);if((r=s.arrow)!=null&&r.alignmentOffset)return{};const N=Kr(o),j=gr(f),M=Kr(f)===f,D=await(d.isRTL==null?void 0:d.isRTL(h.floating)),U=b||(M||!C?[rc(f)]:v_(f)),_=E!=="none";!b&&_&&U.push(...C_(f,C,E,D));const P=[f,...U],F=await d.detectOverflow(n,k),ne=[];let I=((l=s.flip)==null?void 0:l.overflows)||[];if(g&&ne.push(F[N]),p){const le=x_(o,c,D);ne.push(F[le[0]],F[le[1]])}if(I=[...I,{placement:o,overflows:ne}],!ne.every(le=>le<=0)){var J,te;const le=(((J=s.flip)==null?void 0:J.index)||0)+1,ee=P[le];if(ee&&(!(p==="alignment"?j!==gr(ee):!1)||I.every($=>gr($.placement)===j?$.overflows[0]>0:!0)))return{data:{index:le,overflows:I},reset:{placement:ee}};let B=(te=I.filter(X=>X.overflows[0]<=0).sort((X,$)=>X.overflows[1]-$.overflows[1])[0])==null?void 0:te.placement;if(!B)switch(w){case"bestFit":{var ce;const X=(ce=I.filter($=>{if(_){const Z=gr($.placement);return Z===j||Z==="y"}return!0}).map($=>[$.placement,$.overflows.filter(Z=>Z>0).reduce((Z,R)=>Z+R,0)]).sort(($,Z)=>$[1]-Z[1])[0])==null?void 0:ce[0];X&&(B=X);break}case"initialPlacement":B=f;break}if(o!==B)return{reset:{placement:B}}}return{}}}};function Fb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function qb(e){return g_.some(n=>e[n]>=0)}const M_=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:l}=n,{strategy:o="referenceHidden",...s}=Xr(e,n);switch(o){case"referenceHidden":{const c=await l.detectOverflow(n,{...s,elementContext:"reference"}),f=Fb(c,r.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:qb(f)}}}case"escaped":{const c=await l.detectOverflow(n,{...s,altBoundary:!0}),f=Fb(c,r.floating);return{data:{escapedOffsets:f,escaped:qb(f)}}}default:return{}}}}},Gw=new Set(["left","top"]);async function j_(e,n){const{placement:r,platform:l,elements:o}=e,s=await(l.isRTL==null?void 0:l.isRTL(o.floating)),c=Kr(r),f=va(r),d=gr(r)==="y",h=Gw.has(c)?-1:1,g=s&&d?-1:1,p=Xr(n,e);let{mainAxis:b,crossAxis:w,alignmentAxis:E}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return f&&typeof E=="number"&&(w=f==="end"?E*-1:E),d?{x:w*g,y:b*h}:{x:b*h,y:w*g}}const __=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,l;const{x:o,y:s,placement:c,middlewareData:f}=n,d=await j_(n,e);return c===((r=f.offset)==null?void 0:r.placement)&&(l=f.arrow)!=null&&l.alignmentOffset?{}:{x:o+d.x,y:s+d.y,data:{...d,placement:c}}}}},O_=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:l,placement:o,platform:s}=n,{mainAxis:c=!0,crossAxis:f=!1,limiter:d={fn:N=>{let{x:j,y:M}=N;return{x:j,y:M}}},...h}=Xr(e,n),g={x:r,y:l},p=await s.detectOverflow(n,h),b=gr(Kr(o)),w=ap(b);let E=g[w],C=g[b];if(c){const N=w==="y"?"top":"left",j=w==="y"?"bottom":"right",M=E+p[N],D=E-p[j];E=fm(M,E,D)}if(f){const N=b==="y"?"top":"left",j=b==="y"?"bottom":"right",M=C+p[N],D=C-p[j];C=fm(M,C,D)}const k=d.fn({...n,[w]:E,[b]:C});return{...k,data:{x:k.x-r,y:k.y-l,enabled:{[w]:c,[b]:f}}}}}},D_=function(e){return e===void 0&&(e={}),{options:e,fn(n){const{x:r,y:l,placement:o,rects:s,middlewareData:c}=n,{offset:f=0,mainAxis:d=!0,crossAxis:h=!0}=Xr(e,n),g={x:r,y:l},p=gr(o),b=ap(p);let w=g[b],E=g[p];const C=Xr(f,n),k=typeof C=="number"?{mainAxis:C,crossAxis:0}:{mainAxis:0,crossAxis:0,...C};if(d){const M=b==="y"?"height":"width",D=s.reference[b]-s.floating[M]+k.mainAxis,U=s.reference[b]+s.reference[M]-k.mainAxis;w<D?w=D:w>U&&(w=U)}if(h){var N,j;const M=b==="y"?"width":"height",D=Gw.has(Kr(o)),U=s.reference[p]-s.floating[M]+(D&&((N=c.offset)==null?void 0:N[p])||0)+(D?0:k.crossAxis),_=s.reference[p]+s.reference[M]+(D?0:((j=c.offset)==null?void 0:j[p])||0)-(D?k.crossAxis:0);E<U?E=U:E>_&&(E=_)}return{[b]:w,[p]:E}}}},z_=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){var r,l;const{placement:o,rects:s,platform:c,elements:f}=n,{apply:d=()=>{},...h}=Xr(e,n),g=await c.detectOverflow(n,h),p=Kr(o),b=va(o),w=gr(o)==="y",{width:E,height:C}=s.floating;let k,N;p==="top"||p==="bottom"?(k=p,N=b===(await(c.isRTL==null?void 0:c.isRTL(f.floating))?"start":"end")?"left":"right"):(N=p,k=b==="end"?"top":"bottom");const j=C-g.top-g.bottom,M=E-g.left-g.right,D=ji(C-g[k],j),U=ji(E-g[N],M),_=!n.middlewareData.shift;let P=D,F=U;if((r=n.middlewareData.shift)!=null&&r.enabled.x&&(F=M),(l=n.middlewareData.shift)!=null&&l.enabled.y&&(P=j),_&&!b){const I=kn(g.left,0),J=kn(g.right,0),te=kn(g.top,0),ce=kn(g.bottom,0);w?F=E-2*(I!==0||J!==0?I+J:kn(g.left,g.right)):P=C-2*(te!==0||ce!==0?te+ce:kn(g.top,g.bottom))}await d({...n,availableWidth:F,availableHeight:P});const ne=await c.getDimensions(f.floating);return E!==ne.width||C!==ne.height?{reset:{rects:!0}}:{}}}};function Mc(){return typeof window<"u"}function ba(e){return Vw(e)?(e.nodeName||"").toLowerCase():"#document"}function Nn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function Cr(e){var n;return(n=(Vw(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function Vw(e){return Mc()?e instanceof Node||e instanceof Nn(e).Node:!1}function rr(e){return Mc()?e instanceof Element||e instanceof Nn(e).Element:!1}function Qr(e){return Mc()?e instanceof HTMLElement||e instanceof Nn(e).HTMLElement:!1}function Gb(e){return!Mc()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Nn(e).ShadowRoot}function Wo(e){const{overflow:n,overflowX:r,overflowY:l,display:o}=ir(e);return/auto|scroll|overlay|hidden|clip/.test(n+l+r)&&o!=="inline"&&o!=="contents"}function L_(e){return/^(table|td|th)$/.test(ba(e))}function jc(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const P_=/transform|translate|scale|rotate|perspective|filter/,B_=/paint|layout|strict|content/,il=e=>!!e&&e!=="none";let Ah;function up(e){const n=rr(e)?ir(e):e;return il(n.transform)||il(n.translate)||il(n.scale)||il(n.rotate)||il(n.perspective)||!cp()&&(il(n.backdropFilter)||il(n.filter))||P_.test(n.willChange||"")||B_.test(n.contain||"")}function I_(e){let n=_i(e);for(;Qr(n)&&!ha(n);){if(up(n))return n;if(jc(n))return null;n=_i(n)}return null}function cp(){return Ah==null&&(Ah=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ah}function ha(e){return/^(html|body|#document)$/.test(ba(e))}function ir(e){return Nn(e).getComputedStyle(e)}function _c(e){return rr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function _i(e){if(ba(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Gb(e)&&e.host||Cr(e);return Gb(n)?n.host:n}function $w(e){const n=_i(e);return ha(n)?e.ownerDocument?e.ownerDocument.body:e.body:Qr(n)&&Wo(n)?n:$w(n)}function Po(e,n,r){var l;n===void 0&&(n=[]),r===void 0&&(r=!0);const o=$w(e),s=o===((l=e.ownerDocument)==null?void 0:l.body),c=Nn(o);if(s){const f=hm(c);return n.concat(c,c.visualViewport||[],Wo(o)?o:[],f&&r?Po(f):[])}else return n.concat(o,Po(o,[],r))}function hm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Yw(e){const n=ir(e);let r=parseFloat(n.width)||0,l=parseFloat(n.height)||0;const o=Qr(e),s=o?e.offsetWidth:r,c=o?e.offsetHeight:l,f=nc(r)!==s||nc(l)!==c;return f&&(r=s,l=c),{width:r,height:l,$:f}}function fp(e){return rr(e)?e:e.contextElement}function ua(e){const n=fp(e);if(!Qr(n))return xr(1);const r=n.getBoundingClientRect(),{width:l,height:o,$:s}=Yw(n);let c=(s?nc(r.width):r.width)/l,f=(s?nc(r.height):r.height)/o;return(!c||!Number.isFinite(c))&&(c=1),(!f||!Number.isFinite(f))&&(f=1),{x:c,y:f}}const U_=xr(0);function Xw(e){const n=Nn(e);return!cp()||!n.visualViewport?U_:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function H_(e,n,r){return n===void 0&&(n=!1),!r||n&&r!==Nn(e)?!1:n}function ul(e,n,r,l){n===void 0&&(n=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),s=fp(e);let c=xr(1);n&&(l?rr(l)&&(c=ua(l)):c=ua(e));const f=H_(s,r,l)?Xw(s):xr(0);let d=(o.left+f.x)/c.x,h=(o.top+f.y)/c.y,g=o.width/c.x,p=o.height/c.y;if(s){const b=Nn(s),w=l&&rr(l)?Nn(l):l;let E=b,C=hm(E);for(;C&&l&&w!==E;){const k=ua(C),N=C.getBoundingClientRect(),j=ir(C),M=N.left+(C.clientLeft+parseFloat(j.paddingLeft))*k.x,D=N.top+(C.clientTop+parseFloat(j.paddingTop))*k.y;d*=k.x,h*=k.y,g*=k.x,p*=k.y,d+=M,h+=D,E=Nn(C),C=hm(E)}}return ic({width:g,height:p,x:d,y:h})}function Oc(e,n){const r=_c(e).scrollLeft;return n?n.left+r:ul(Cr(e)).left+r}function Kw(e,n){const r=e.getBoundingClientRect(),l=r.left+n.scrollLeft-Oc(e,r),o=r.top+n.scrollTop;return{x:l,y:o}}function F_(e){let{elements:n,rect:r,offsetParent:l,strategy:o}=e;const s=o==="fixed",c=Cr(l),f=n?jc(n.floating):!1;if(l===c||f&&s)return r;let d={scrollLeft:0,scrollTop:0},h=xr(1);const g=xr(0),p=Qr(l);if((p||!p&&!s)&&((ba(l)!=="body"||Wo(c))&&(d=_c(l)),p)){const w=ul(l);h=ua(l),g.x=w.x+l.clientLeft,g.y=w.y+l.clientTop}const b=c&&!p&&!s?Kw(c,d):xr(0);return{width:r.width*h.x,height:r.height*h.y,x:r.x*h.x-d.scrollLeft*h.x+g.x+b.x,y:r.y*h.y-d.scrollTop*h.y+g.y+b.y}}function q_(e){return Array.from(e.getClientRects())}function G_(e){const n=Cr(e),r=_c(e),l=e.ownerDocument.body,o=kn(n.scrollWidth,n.clientWidth,l.scrollWidth,l.clientWidth),s=kn(n.scrollHeight,n.clientHeight,l.scrollHeight,l.clientHeight);let c=-r.scrollLeft+Oc(e);const f=-r.scrollTop;return ir(l).direction==="rtl"&&(c+=kn(n.clientWidth,l.clientWidth)-o),{width:o,height:s,x:c,y:f}}const Vb=25;function V_(e,n){const r=Nn(e),l=Cr(e),o=r.visualViewport;let s=l.clientWidth,c=l.clientHeight,f=0,d=0;if(o){s=o.width,c=o.height;const g=cp();(!g||g&&n==="fixed")&&(f=o.offsetLeft,d=o.offsetTop)}const h=Oc(l);if(h<=0){const g=l.ownerDocument,p=g.body,b=getComputedStyle(p),w=g.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,E=Math.abs(l.clientWidth-p.clientWidth-w);E<=Vb&&(s-=E)}else h<=Vb&&(s+=h);return{width:s,height:c,x:f,y:d}}function $_(e,n){const r=ul(e,!0,n==="fixed"),l=r.top+e.clientTop,o=r.left+e.clientLeft,s=Qr(e)?ua(e):xr(1),c=e.clientWidth*s.x,f=e.clientHeight*s.y,d=o*s.x,h=l*s.y;return{width:c,height:f,x:d,y:h}}function $b(e,n,r){let l;if(n==="viewport")l=V_(e,r);else if(n==="document")l=G_(Cr(e));else if(rr(n))l=$_(n,r);else{const o=Xw(e);l={x:n.x-o.x,y:n.y-o.y,width:n.width,height:n.height}}return ic(l)}function Qw(e,n){const r=_i(e);return r===n||!rr(r)||ha(r)?!1:ir(r).position==="fixed"||Qw(r,n)}function Y_(e,n){const r=n.get(e);if(r)return r;let l=Po(e,[],!1).filter(f=>rr(f)&&ba(f)!=="body"),o=null;const s=ir(e).position==="fixed";let c=s?_i(e):e;for(;rr(c)&&!ha(c);){const f=ir(c),d=up(c);!d&&f.position==="fixed"&&(o=null),(s?!d&&!o:!d&&f.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Wo(c)&&!d&&Qw(e,c))?l=l.filter(g=>g!==c):o=f,c=_i(c)}return n.set(e,l),l}function X_(e){let{element:n,boundary:r,rootBoundary:l,strategy:o}=e;const c=[...r==="clippingAncestors"?jc(n)?[]:Y_(n,this._c):[].concat(r),l],f=$b(n,c[0],o);let d=f.top,h=f.right,g=f.bottom,p=f.left;for(let b=1;b<c.length;b++){const w=$b(n,c[b],o);d=kn(w.top,d),h=ji(w.right,h),g=ji(w.bottom,g),p=kn(w.left,p)}return{width:h-p,height:g-d,x:p,y:d}}function K_(e){const{width:n,height:r}=Yw(e);return{width:n,height:r}}function Q_(e,n,r){const l=Qr(n),o=Cr(n),s=r==="fixed",c=ul(e,!0,s,n);let f={scrollLeft:0,scrollTop:0};const d=xr(0);function h(){d.x=Oc(o)}if(l||!l&&!s)if((ba(n)!=="body"||Wo(o))&&(f=_c(n)),l){const w=ul(n,!0,s,n);d.x=w.x+n.clientLeft,d.y=w.y+n.clientTop}else o&&h();s&&!l&&o&&h();const g=o&&!l&&!s?Kw(o,f):xr(0),p=c.left+f.scrollLeft-d.x-g.x,b=c.top+f.scrollTop-d.y-g.y;return{x:p,y:b,width:c.width,height:c.height}}function Mh(e){return ir(e).position==="static"}function Yb(e,n){if(!Qr(e)||ir(e).position==="fixed")return null;if(n)return n(e);let r=e.offsetParent;return Cr(e)===r&&(r=r.ownerDocument.body),r}function Zw(e,n){const r=Nn(e);if(jc(e))return r;if(!Qr(e)){let o=_i(e);for(;o&&!ha(o);){if(rr(o)&&!Mh(o))return o;o=_i(o)}return r}let l=Yb(e,n);for(;l&&L_(l)&&Mh(l);)l=Yb(l,n);return l&&ha(l)&&Mh(l)&&!up(l)?r:l||I_(e)||r}const Z_=async function(e){const n=this.getOffsetParent||Zw,r=this.getDimensions,l=await r(e.floating);return{reference:Q_(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function W_(e){return ir(e).direction==="rtl"}const J_={convertOffsetParentRelativeRectToViewportRelativeRect:F_,getDocumentElement:Cr,getClippingRect:X_,getOffsetParent:Zw,getElementRects:Z_,getClientRects:q_,getDimensions:K_,getScale:ua,isElement:rr,isRTL:W_};function Ww(e,n){return e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height}function e3(e,n){let r=null,l;const o=Cr(e);function s(){var f;clearTimeout(l),(f=r)==null||f.disconnect(),r=null}function c(f,d){f===void 0&&(f=!1),d===void 0&&(d=1),s();const h=e.getBoundingClientRect(),{left:g,top:p,width:b,height:w}=h;if(f||n(),!b||!w)return;const E=ju(p),C=ju(o.clientWidth-(g+b)),k=ju(o.clientHeight-(p+w)),N=ju(g),M={rootMargin:-E+"px "+-C+"px "+-k+"px "+-N+"px",threshold:kn(0,ji(1,d))||1};let D=!0;function U(_){const P=_[0].intersectionRatio;if(P!==d){if(!D)return c();P?c(!1,P):l=setTimeout(()=>{c(!1,1e-7)},1e3)}P===1&&!Ww(h,e.getBoundingClientRect())&&c(),D=!1}try{r=new IntersectionObserver(U,{...M,root:o.ownerDocument})}catch{r=new IntersectionObserver(U,M)}r.observe(e)}return c(!0),s}function t3(e,n,r,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:d=!1}=l,h=fp(e),g=o||s?[...h?Po(h):[],...n?Po(n):[]]:[];g.forEach(N=>{o&&N.addEventListener("scroll",r,{passive:!0}),s&&N.addEventListener("resize",r)});const p=h&&f?e3(h,r):null;let b=-1,w=null;c&&(w=new ResizeObserver(N=>{let[j]=N;j&&j.target===h&&w&&n&&(w.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var M;(M=w)==null||M.observe(n)})),r()}),h&&!d&&w.observe(h),n&&w.observe(n));let E,C=d?ul(e):null;d&&k();function k(){const N=ul(e);C&&!Ww(C,N)&&r(),C=N,E=requestAnimationFrame(k)}return r(),()=>{var N;g.forEach(j=>{o&&j.removeEventListener("scroll",r),s&&j.removeEventListener("resize",r)}),p==null||p(),(N=w)==null||N.disconnect(),w=null,d&&cancelAnimationFrame(E)}}const n3=__,r3=O_,i3=A_,l3=z_,a3=M_,Xb=R_,o3=D_,s3=(e,n,r)=>{const l=new Map,o={platform:J_,...r},s={...o.platform,_c:l};return T_(e,n,{...o,platform:s})};var u3=typeof document<"u",c3=function(){},Xu=u3?v.useLayoutEffect:c3;function lc(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,l,o;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(l=r;l--!==0;)if(!lc(e[l],n[l]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(n).length)return!1;for(l=r;l--!==0;)if(!{}.hasOwnProperty.call(n,o[l]))return!1;for(l=r;l--!==0;){const s=o[l];if(!(s==="_owner"&&e.$$typeof)&&!lc(e[s],n[s]))return!1}return!0}return e!==e&&n!==n}function Jw(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Kb(e,n){const r=Jw(e);return Math.round(n*r)/r}function jh(e){const n=v.useRef(e);return Xu(()=>{n.current=e}),n}function f3(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:l=[],platform:o,elements:{reference:s,floating:c}={},transform:f=!0,whileElementsMounted:d,open:h}=e,[g,p]=v.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,w]=v.useState(l);lc(b,l)||w(l);const[E,C]=v.useState(null),[k,N]=v.useState(null),j=v.useCallback($=>{$!==_.current&&(_.current=$,C($))},[]),M=v.useCallback($=>{$!==P.current&&(P.current=$,N($))},[]),D=s||E,U=c||k,_=v.useRef(null),P=v.useRef(null),F=v.useRef(g),ne=d!=null,I=jh(d),J=jh(o),te=jh(h),ce=v.useCallback(()=>{if(!_.current||!P.current)return;const $={placement:n,strategy:r,middleware:b};J.current&&($.platform=J.current),s3(_.current,P.current,$).then(Z=>{const R={...Z,isPositioned:te.current!==!1};le.current&&!lc(F.current,R)&&(F.current=R,Ai.flushSync(()=>{p(R)}))})},[b,n,r,J,te]);Xu(()=>{h===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,p($=>({...$,isPositioned:!1})))},[h]);const le=v.useRef(!1);Xu(()=>(le.current=!0,()=>{le.current=!1}),[]),Xu(()=>{if(D&&(_.current=D),U&&(P.current=U),D&&U){if(I.current)return I.current(D,U,ce);ce()}},[D,U,ce,I,ne]);const ee=v.useMemo(()=>({reference:_,floating:P,setReference:j,setFloating:M}),[j,M]),B=v.useMemo(()=>({reference:D,floating:U}),[D,U]),X=v.useMemo(()=>{const $={position:r,left:0,top:0};if(!B.floating)return $;const Z=Kb(B.floating,g.x),R=Kb(B.floating,g.y);return f?{...$,transform:"translate("+Z+"px, "+R+"px)",...Jw(B.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:Z,top:R}},[r,f,B.floating,g.x,g.y]);return v.useMemo(()=>({...g,update:ce,refs:ee,elements:B,floatingStyles:X}),[g,ce,ee,B,X])}const d3=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:l,padding:o}=typeof e=="function"?e(r):e;return l&&n(l)?l.current!=null?Xb({element:l.current,padding:o}).fn(r):{}:l?Xb({element:l,padding:o}).fn(r):{}}}},h3=(e,n)=>{const r=n3(e);return{name:r.name,fn:r.fn,options:[e,n]}},m3=(e,n)=>{const r=r3(e);return{name:r.name,fn:r.fn,options:[e,n]}},p3=(e,n)=>({fn:o3(e).fn,options:[e,n]}),g3=(e,n)=>{const r=i3(e);return{name:r.name,fn:r.fn,options:[e,n]}},y3=(e,n)=>{const r=l3(e);return{name:r.name,fn:r.fn,options:[e,n]}},x3=(e,n)=>{const r=a3(e);return{name:r.name,fn:r.fn,options:[e,n]}},v3=(e,n)=>{const r=d3(e);return{name:r.name,fn:r.fn,options:[e,n]}};var b3="Arrow",eS=v.forwardRef((e,n)=>{const{children:r,width:l=10,height:o=5,...s}=e;return x.jsx(ct.svg,{...s,ref:n,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:x.jsx("polygon",{points:"0,0 30,0 15,10"})})});eS.displayName=b3;var w3=eS;function S3(e){const[n,r]=v.useState(void 0);return Mi(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let c,f;if("borderBoxSize"in s){const d=s.borderBoxSize,h=Array.isArray(d)?d[0]:d;c=h.inlineSize,f=h.blockSize}else c=e.offsetWidth,f=e.offsetHeight;r({width:c,height:f})});return l.observe(e,{box:"border-box"}),()=>l.unobserve(e)}else r(void 0)},[e]),n}var dp="Popper",[tS,wa]=zi(dp),[C3,nS]=tS(dp),rS=e=>{const{__scopePopper:n,children:r}=e,[l,o]=v.useState(null);return x.jsx(C3,{scope:n,anchor:l,onAnchorChange:o,children:r})};rS.displayName=dp;var iS="PopperAnchor",lS=v.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:l,...o}=e,s=nS(iS,r),c=v.useRef(null),f=bt(n,c),d=v.useRef(null);return v.useEffect(()=>{const h=d.current;d.current=(l==null?void 0:l.current)||c.current,h!==d.current&&s.onAnchorChange(d.current)}),l?null:x.jsx(ct.div,{...o,ref:f})});lS.displayName=iS;var hp="PopperContent",[E3,k3]=tS(hp),aS=v.forwardRef((e,n)=>{var me,Ne,he,Ce,lt,nt;const{__scopePopper:r,side:l="bottom",sideOffset:o=0,align:s="center",alignOffset:c=0,arrowPadding:f=0,avoidCollisions:d=!0,collisionBoundary:h=[],collisionPadding:g=0,sticky:p="partial",hideWhenDetached:b=!1,updatePositionStrategy:w="optimized",onPlaced:E,...C}=e,k=nS(hp,r),[N,j]=v.useState(null),M=bt(n,st=>j(st)),[D,U]=v.useState(null),_=S3(D),P=(_==null?void 0:_.width)??0,F=(_==null?void 0:_.height)??0,ne=l+(s!=="center"?"-"+s:""),I=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},J=Array.isArray(h)?h:[h],te=J.length>0,ce={padding:I,boundary:J.filter(T3),altBoundary:te},{refs:le,floatingStyles:ee,placement:B,isPositioned:X,middlewareData:$}=f3({strategy:"fixed",placement:ne,whileElementsMounted:(...st)=>t3(...st,{animationFrame:w==="always"}),elements:{reference:k.anchor},middleware:[h3({mainAxis:o+F,alignmentAxis:c}),d&&m3({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?p3():void 0,...ce}),d&&g3({...ce}),y3({...ce,apply:({elements:st,rects:Ye,availableWidth:Lt,availableHeight:Pt})=>{const{width:Yn,height:Xn}=Ye.reference,Bt=st.floating.style;Bt.setProperty("--radix-popper-available-width",`${Lt}px`),Bt.setProperty("--radix-popper-available-height",`${Pt}px`),Bt.setProperty("--radix-popper-anchor-width",`${Yn}px`),Bt.setProperty("--radix-popper-anchor-height",`${Xn}px`)}}),D&&v3({element:D,padding:f}),R3({arrowWidth:P,arrowHeight:F}),b&&x3({strategy:"referenceHidden",...ce})]}),[Z,R]=uS(B),O=br(E);Mi(()=>{X&&(O==null||O())},[X,O]);const z=(me=$.arrow)==null?void 0:me.x,A=(Ne=$.arrow)==null?void 0:Ne.y,Q=((he=$.arrow)==null?void 0:he.centerOffset)!==0,[fe,ue]=v.useState();return Mi(()=>{N&&ue(window.getComputedStyle(N).zIndex)},[N]),x.jsx("div",{ref:le.setFloating,"data-radix-popper-content-wrapper":"",style:{...ee,transform:X?ee.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:fe,"--radix-popper-transform-origin":[(Ce=$.transformOrigin)==null?void 0:Ce.x,(lt=$.transformOrigin)==null?void 0:lt.y].join(" "),...((nt=$.hide)==null?void 0:nt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:x.jsx(E3,{scope:r,placedSide:Z,onArrowChange:U,arrowX:z,arrowY:A,shouldHideArrow:Q,children:x.jsx(ct.div,{"data-side":Z,"data-align":R,...C,ref:M,style:{...C.style,animation:X?void 0:"none"}})})})});aS.displayName=hp;var oS="PopperArrow",N3={top:"bottom",right:"left",bottom:"top",left:"right"},sS=v.forwardRef(function(n,r){const{__scopePopper:l,...o}=n,s=k3(oS,l),c=N3[s.placedSide];return x.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[c]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:x.jsx(w3,{...o,ref:r,style:{...o.style,display:"block"}})})});sS.displayName=oS;function T3(e){return e!==null}var R3=e=>({name:"transformOrigin",options:e,fn(n){var k,N,j;const{placement:r,rects:l,middlewareData:o}=n,c=((k=o.arrow)==null?void 0:k.centerOffset)!==0,f=c?0:e.arrowWidth,d=c?0:e.arrowHeight,[h,g]=uS(r),p={start:"0%",center:"50%",end:"100%"}[g],b=(((N=o.arrow)==null?void 0:N.x)??0)+f/2,w=(((j=o.arrow)==null?void 0:j.y)??0)+d/2;let E="",C="";return h==="bottom"?(E=c?p:`${b}px`,C=`${-d}px`):h==="top"?(E=c?p:`${b}px`,C=`${l.floating.height+d}px`):h==="right"?(E=`${-d}px`,C=c?p:`${w}px`):h==="left"&&(E=`${l.floating.width+d}px`,C=c?p:`${w}px`),{data:{x:E,y:C}}}});function uS(e){const[n,r="center"]=e.split("-");return[n,r]}var mp=rS,Dc=lS,pp=aS,gp=sS,A3=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),M3="VisuallyHidden",cS=v.forwardRef((e,n)=>x.jsx(ct.span,{...e,ref:n,style:{...A3,...e.style}}));cS.displayName=M3;var j3=cS,[zc]=zi("Tooltip",[wa]),Lc=wa(),fS="TooltipProvider",_3=700,mm="tooltip.open",[O3,yp]=zc(fS),dS=e=>{const{__scopeTooltip:n,delayDuration:r=_3,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:s}=e,c=v.useRef(!0),f=v.useRef(!1),d=v.useRef(0);return v.useEffect(()=>{const h=d.current;return()=>window.clearTimeout(h)},[]),x.jsx(O3,{scope:n,isOpenDelayedRef:c,delayDuration:r,onOpen:v.useCallback(()=>{window.clearTimeout(d.current),c.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>c.current=!0,l)},[l]),isPointerInTransitRef:f,onPointerInTransitChange:v.useCallback(h=>{f.current=h},[]),disableHoverableContent:o,children:s})};dS.displayName=fS;var Bo="Tooltip",[D3,Jo]=zc(Bo),hS=e=>{const{__scopeTooltip:n,children:r,open:l,defaultOpen:o,onOpenChange:s,disableHoverableContent:c,delayDuration:f}=e,d=yp(Bo,e.__scopeTooltip),h=Lc(n),[g,p]=v.useState(null),b=oa(),w=v.useRef(0),E=c??d.disableHoverableContent,C=f??d.delayDuration,k=v.useRef(!1),[N,j]=Cc({prop:l,defaultProp:o??!1,onChange:P=>{P?(d.onOpen(),document.dispatchEvent(new CustomEvent(mm))):d.onClose(),s==null||s(P)},caller:Bo}),M=v.useMemo(()=>N?k.current?"delayed-open":"instant-open":"closed",[N]),D=v.useCallback(()=>{window.clearTimeout(w.current),w.current=0,k.current=!1,j(!0)},[j]),U=v.useCallback(()=>{window.clearTimeout(w.current),w.current=0,j(!1)},[j]),_=v.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{k.current=!0,j(!0),w.current=0},C)},[C,j]);return v.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),x.jsx(mp,{...h,children:x.jsx(D3,{scope:n,contentId:b,open:N,stateAttribute:M,trigger:g,onTriggerChange:p,onTriggerEnter:v.useCallback(()=>{d.isOpenDelayedRef.current?_():D()},[d.isOpenDelayedRef,_,D]),onTriggerLeave:v.useCallback(()=>{E?U():(window.clearTimeout(w.current),w.current=0)},[U,E]),onOpen:D,onClose:U,disableHoverableContent:E,children:r})})};hS.displayName=Bo;var pm="TooltipTrigger",mS=v.forwardRef((e,n)=>{const{__scopeTooltip:r,...l}=e,o=Jo(pm,r),s=yp(pm,r),c=Lc(r),f=v.useRef(null),d=bt(n,f,o.onTriggerChange),h=v.useRef(!1),g=v.useRef(!1),p=v.useCallback(()=>h.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),x.jsx(Dc,{asChild:!0,...c,children:x.jsx(ct.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:d,onPointerMove:Re(e.onPointerMove,b=>{b.pointerType!=="touch"&&!g.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),g.current=!0)}),onPointerLeave:Re(e.onPointerLeave,()=>{o.onTriggerLeave(),g.current=!1}),onPointerDown:Re(e.onPointerDown,()=>{o.open&&o.onClose(),h.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:Re(e.onFocus,()=>{h.current||o.onOpen()}),onBlur:Re(e.onBlur,o.onClose),onClick:Re(e.onClick,o.onClose)})})});mS.displayName=pm;var xp="TooltipPortal",[z3,L3]=zc(xp,{forceMount:void 0}),pS=e=>{const{__scopeTooltip:n,forceMount:r,children:l,container:o}=e,s=Jo(xp,n);return x.jsx(z3,{scope:n,forceMount:r,children:x.jsx($n,{present:r||s.open,children:x.jsx(Zo,{asChild:!0,container:o,children:l})})})};pS.displayName=xp;var ma="TooltipContent",gS=v.forwardRef((e,n)=>{const r=L3(ma,e.__scopeTooltip),{forceMount:l=r.forceMount,side:o="top",...s}=e,c=Jo(ma,e.__scopeTooltip);return x.jsx($n,{present:l||c.open,children:c.disableHoverableContent?x.jsx(yS,{side:o,...s,ref:n}):x.jsx(P3,{side:o,...s,ref:n})})}),P3=v.forwardRef((e,n)=>{const r=Jo(ma,e.__scopeTooltip),l=yp(ma,e.__scopeTooltip),o=v.useRef(null),s=bt(n,o),[c,f]=v.useState(null),{trigger:d,onClose:h}=r,g=o.current,{onPointerInTransitChange:p}=l,b=v.useCallback(()=>{f(null),p(!1)},[p]),w=v.useCallback((E,C)=>{const k=E.currentTarget,N={x:E.clientX,y:E.clientY},j=F3(N,k.getBoundingClientRect()),M=q3(N,j),D=G3(C.getBoundingClientRect()),U=$3([...M,...D]);f(U),p(!0)},[p]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(d&&g){const E=k=>w(k,g),C=k=>w(k,d);return d.addEventListener("pointerleave",E),g.addEventListener("pointerleave",C),()=>{d.removeEventListener("pointerleave",E),g.removeEventListener("pointerleave",C)}}},[d,g,w,b]),v.useEffect(()=>{if(c){const E=C=>{const k=C.target,N={x:C.clientX,y:C.clientY},j=(d==null?void 0:d.contains(k))||(g==null?void 0:g.contains(k)),M=!V3(N,c);j?b():M&&(b(),h())};return document.addEventListener("pointermove",E),()=>document.removeEventListener("pointermove",E)}},[d,g,c,h,b]),x.jsx(yS,{...e,ref:s})}),[B3,I3]=zc(Bo,{isInside:!1}),U3=hA("TooltipContent"),yS=v.forwardRef((e,n)=>{const{__scopeTooltip:r,children:l,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:c,...f}=e,d=Jo(ma,r),h=Lc(r),{onClose:g}=d;return v.useEffect(()=>(document.addEventListener(mm,g),()=>document.removeEventListener(mm,g)),[g]),v.useEffect(()=>{if(d.trigger){const p=b=>{const w=b.target;w!=null&&w.contains(d.trigger)&&g()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[d.trigger,g]),x.jsx(Qo,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:p=>p.preventDefault(),onDismiss:g,children:x.jsxs(pp,{"data-state":d.stateAttribute,...h,...f,ref:n,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[x.jsx(U3,{children:l}),x.jsx(B3,{scope:r,isInside:!0,children:x.jsx(j3,{id:d.contentId,role:"tooltip",children:o||l})})]})})});gS.displayName=ma;var xS="TooltipArrow",H3=v.forwardRef((e,n)=>{const{__scopeTooltip:r,...l}=e,o=Lc(r);return I3(xS,r).isInside?null:x.jsx(gp,{...o,...l,ref:n})});H3.displayName=xS;function F3(e,n){const r=Math.abs(n.top-e.y),l=Math.abs(n.bottom-e.y),o=Math.abs(n.right-e.x),s=Math.abs(n.left-e.x);switch(Math.min(r,l,o,s)){case s:return"left";case o:return"right";case r:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function q3(e,n,r=5){const l=[];switch(n){case"top":l.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":l.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":l.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":l.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return l}function G3(e){const{top:n,right:r,bottom:l,left:o}=e;return[{x:o,y:n},{x:r,y:n},{x:r,y:l},{x:o,y:l}]}function V3(e,n){const{x:r,y:l}=e;let o=!1;for(let s=0,c=n.length-1;s<n.length;c=s++){const f=n[s],d=n[c],h=f.x,g=f.y,p=d.x,b=d.y;g>l!=b>l&&r<(p-h)*(l-g)/(b-g)+h&&(o=!o)}return o}function $3(e){const n=e.slice();return n.sort((r,l)=>r.x<l.x?-1:r.x>l.x?1:r.y<l.y?-1:r.y>l.y?1:0),Y3(n)}function Y3(e){if(e.length<=1)return e.slice();const n=[];for(let l=0;l<e.length;l++){const o=e[l];for(;n.length>=2;){const s=n[n.length-1],c=n[n.length-2];if((s.x-c.x)*(o.y-c.y)>=(s.y-c.y)*(o.x-c.x))n.pop();else break}n.push(o)}n.pop();const r=[];for(let l=e.length-1;l>=0;l--){const o=e[l];for(;r.length>=2;){const s=r[r.length-1],c=r[r.length-2];if((s.x-c.x)*(o.y-c.y)>=(s.y-c.y)*(o.x-c.x))r.pop();else break}r.push(o)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var X3=dS,K3=hS,Q3=mS,Z3=pS,vS=gS;const W3=X3,ac=K3,oc=Q3,Io=v.forwardRef(({className:e,sideOffset:n=4,...r},l)=>x.jsx(Z3,{children:x.jsx(vS,{ref:l,sideOffset:n,className:ye("z-50 overflow-hidden rounded-md bg-card text-card-foreground border border-border px-3 py-1.5 text-xs animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));Io.displayName=vS.displayName;const J3="0.4.1",e4={version:J3},Zt="Kanna",Qb="kanna",bS=`kanna/${e4.version}`,t4="[kanna]",n4=`~/${Zt}`;function _u(e){return e?`${Qb} ${e}`:Qb}const Pc=({children:e,className:n,shimmerWidth:r=100,animate:l=!0,...o})=>x.jsx("span",{style:{"--shiny-width":`${Math.min(r,100)}px`},className:ye("mx-auto max-w-md text-foreground/50",l?["animate-shiny-text [background-size:var(--shiny-width)_100%] bg-clip-text [background-position:0_0] bg-no-repeat [transition:background-position_1s_cubic-bezier(.6,.6,0,1)_infinite]","bg-gradient-to-r from-transparent via-black/80 via-50% to-transparent dark:via-white/80"]:["text-neutral"],n),...o,children:e});function gm(e){return e.split(/[\s_-]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ")}const r4=[/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(['"])([\s\S]*)\1$/,/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(.+)$/,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(.+)$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(.+)$/i];function i4(e){const n=e.trim();for(const r of r4){const l=n.match(r);if(!l)continue;const o=(l[2]??l[1]??"").trim();if(o)return o}return n}function wS(e){return e.split("/").pop()||e}function l4(e,n){if(e===void 0)return null;const r=Math.max(0,n-e),l=6e4,o=60*l,s=24*o,c=7*s;return r<l?"now":r<o?`${Math.floor(r/l)}m`:r<s?`${Math.floor(r/o)}h`:r<c?`${Math.floor(r/s)}d`:`${Math.floor(r/c)}w`}const a4=new Set(["starting","running"]);function o4({chat:e,activeChatId:n,nowMs:r,onSelectChat:l,onDeleteChat:o}){const s=l4(e.lastMessageAt,r);return x.jsxs("div",{"data-chat-id":bb(e.chatId),className:ye("group flex items-center gap-2 pl-2.5 pr-0.5 py-0.5 rounded-lg cursor-pointer border-border/0 hover:border-border hover:bg-muted/20 active:scale-[0.985] border transition-all",n===bb(e.chatId)?"bg-muted hover:bg-muted border-border":"border-border/0 dark:hover:border-slate-400/10 "),onClick:()=>l(e.chatId),children:[a4.has(e.status)?x.jsx(Li,{className:"size-3.5 flex-shrink-0 animate-spin text-muted-foreground"}):e.status==="waiting_for_user"?x.jsx("div",{className:"relative ",children:x.jsxs("div",{className:" rounded-full z-0 size-3.5 flex items-center justify-center ",children:[x.jsx("div",{className:"absolute rounded-full z-0 size-2.5 bg-blue-400/80 animate-ping"}),x.jsx("div",{className:" rounded-full z-0 size-2.5 bg-blue-400 ring-2 ring-muted/20 dark:ring-muted/50"})]})}):null,x.jsx("span",{className:"text-sm truncate flex-1 translate-y-[-0.5px]",children:e.status!=="idle"&&e.status!=="waiting_for_user"?x.jsx(Pc,{animate:e.status==="running",shimmerWidth:Math.max(20,e.title.length*3),children:e.title}):e.title}),x.jsxs("div",{className:"relative h-7 w-7 mr-[2px] shrink-0",children:[s?x.jsx("span",{className:"hidden md:flex absolute inset-0 items-center justify-end pr-1 text-[11px] text-muted-foreground opacity-50 transition-opacity group-hover:opacity-0",children:s}):null,x.jsx($e,{variant:"ghost",size:"icon",className:ye("absolute inset-0 h-7 w-7 opacity-100 cursor-pointer rounded-sm hover:!bg-transparent !border-0",s?"md:opacity-0 md:group-hover:opacity-100":"opacity-100 md:opacity-0 md:group-hover:opacity-100"),onClick:c=>{c.stopPropagation(),o(e.chatId)},title:"Delete chat",children:x.jsx(qM,{className:"size-3.5"})})]})]},e._id)}function s4(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return v.useMemo(()=>l=>{n.forEach(o=>o(l))},n)}const Bc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Sa(e){const n=Object.prototype.toString.call(e);return n==="[object Window]"||n==="[object global]"}function vp(e){return"nodeType"in e}function hn(e){var n,r;return e?Sa(e)?e:vp(e)&&(n=(r=e.ownerDocument)==null?void 0:r.defaultView)!=null?n:window:window}function bp(e){const{Document:n}=hn(e);return e instanceof n}function es(e){return Sa(e)?!1:e instanceof hn(e).HTMLElement}function SS(e){return e instanceof hn(e).SVGElement}function Ca(e){return e?Sa(e)?e.document:vp(e)?bp(e)?e:es(e)||SS(e)?e.ownerDocument:document:document:document}const wr=Bc?v.useLayoutEffect:v.useEffect;function wp(e){const n=v.useRef(e);return wr(()=>{n.current=e}),v.useCallback(function(){for(var r=arguments.length,l=new Array(r),o=0;o<r;o++)l[o]=arguments[o];return n.current==null?void 0:n.current(...l)},[])}function u4(){const e=v.useRef(null),n=v.useCallback((l,o)=>{e.current=setInterval(l,o)},[]),r=v.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[n,r]}function Uo(e,n){n===void 0&&(n=[e]);const r=v.useRef(e);return wr(()=>{r.current!==e&&(r.current=e)},n),r}function ts(e,n){const r=v.useRef();return v.useMemo(()=>{const l=e(r.current);return r.current=l,l},[...n])}function sc(e){const n=wp(e),r=v.useRef(null),l=v.useCallback(o=>{o!==r.current&&(n==null||n(o,r.current)),r.current=o},[]);return[r,l]}function ym(e){const n=v.useRef();return v.useEffect(()=>{n.current=e},[e]),n.current}let _h={};function ns(e,n){return v.useMemo(()=>{if(n)return n;const r=_h[e]==null?0:_h[e]+1;return _h[e]=r,e+"-"+r},[e,n])}function CS(e){return function(n){for(var r=arguments.length,l=new Array(r>1?r-1:0),o=1;o<r;o++)l[o-1]=arguments[o];return l.reduce((s,c)=>{const f=Object.entries(c);for(const[d,h]of f){const g=s[d];g!=null&&(s[d]=g+e*h)}return s},{...n})}}const ca=CS(1),uc=CS(-1);function c4(e){return"clientX"in e&&"clientY"in e}function Sp(e){if(!e)return!1;const{KeyboardEvent:n}=hn(e.target);return n&&e instanceof n}function f4(e){if(!e)return!1;const{TouchEvent:n}=hn(e.target);return n&&e instanceof n}function xm(e){if(f4(e)){if(e.touches&&e.touches.length){const{clientX:n,clientY:r}=e.touches[0];return{x:n,y:r}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:n,clientY:r}=e.changedTouches[0];return{x:n,y:r}}}return c4(e)?{x:e.clientX,y:e.clientY}:null}const Ho=Object.freeze({Translate:{toString(e){if(!e)return;const{x:n,y:r}=e;return"translate3d("+(n?Math.round(n):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:n,scaleY:r}=e;return"scaleX("+n+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[Ho.Translate.toString(e),Ho.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:n,duration:r,easing:l}=e;return n+" "+r+"ms "+l}}}),Zb="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function d4(e){return e.matches(Zb)?e:e.querySelector(Zb)}const h4={display:"none"};function m4(e){let{id:n,value:r}=e;return it.createElement("div",{id:n,style:h4},r)}function p4(e){let{id:n,announcement:r,ariaLiveType:l="assertive"}=e;const o={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return it.createElement("div",{id:n,style:o,role:"status","aria-live":l,"aria-atomic":!0},r)}function g4(){const[e,n]=v.useState("");return{announce:v.useCallback(l=>{l!=null&&n(l)},[]),announcement:e}}const ES=v.createContext(null);function y4(e){const n=v.useContext(ES);v.useEffect(()=>{if(!n)throw new Error("useDndMonitor must be used within a children of <DndContext>");return n(e)},[e,n])}function x4(){const[e]=v.useState(()=>new Set),n=v.useCallback(l=>(e.add(l),()=>e.delete(l)),[e]);return[v.useCallback(l=>{let{type:o,event:s}=l;e.forEach(c=>{var f;return(f=c[o])==null?void 0:f.call(c,s)})},[e]),n]}const v4={draggable:`
384
+ */const c_=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],tc=ke("zap",c_),Pw=_M,f_=OM,Bw=v.forwardRef(({className:e,...n},r)=>x.jsx(Nw,{ref:r,className:ye("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n}));Bw.displayName=Nw.displayName;const d_={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg"},lp=v.forwardRef(({className:e,children:n,size:r="md",...l},o)=>x.jsxs(f_,{children:[x.jsx(Bw,{}),x.jsxs(Tw,{ref:o,className:ye("fixed left-1/2 top-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-background shadow-xl duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]","max-h-[85vh] flex flex-col",d_[r],e),...l,children:[n,x.jsxs(LM,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[x.jsx(Ac,{className:"h-4 w-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));lp.displayName=Tw.displayName;function Iw({className:e,...n}){return x.jsx(DM,{className:ye("text-lg font-medium leading-none tracking-tight",e),...n})}function h_({className:e,...n}){return x.jsx(zM,{className:ye("text-sm text-muted-foreground",e),...n})}function Uw({className:e,...n}){return x.jsx("div",{className:ye("flex-1 min-h-0 overflow-y-auto px-4 pb-4 pt-3.5",e),...n})}function Hw({className:e,...n}){return x.jsx("div",{className:ye("shrink-0 flex justify-end gap-2 border-t border-border bg-background p-2 rounded-b-xl",e),...n})}const Fw=v.createContext(null);function m_({children:e}){const[n,r]=v.useState(null),[l,o]=v.useState(""),s=v.useRef(null);v.useEffect(()=>{(n==null?void 0:n.kind)==="prompt"&&(o(n.options.initialValue??""),setTimeout(()=>{var g,p;(g=s.current)==null||g.focus(),(p=s.current)==null||p.select()},0))},[n]);const c=v.useCallback(()=>{r(null),o("")},[]),f=v.useCallback(g=>new Promise(p=>{r({kind:"confirm",options:g,resolve:p})}),[]),d=v.useCallback(g=>new Promise(p=>{r({kind:"prompt",options:g,resolve:p})}),[]),h=v.useMemo(()=>({confirm:f,prompt:d}),[f,d]);return x.jsxs(Fw.Provider,{value:h,children:[e,x.jsx(Pw,{open:n!==null,onOpenChange:g=>{g||!n||(n.kind==="confirm"?n.resolve(!1):n.resolve(null),c())},children:x.jsx(lp,{size:"sm",children:n?x.jsxs(x.Fragment,{children:[x.jsxs(Uw,{className:"space-y-4",children:[x.jsx(Iw,{children:n.options.title}),n.options.description?x.jsx(h_,{children:n.options.description}):null,n.kind==="prompt"?x.jsx("input",{ref:s,type:"text",value:l,onChange:g=>o(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.resolve(l.trim()||null),c())},className:"w-full px-3 py-2 text-sm border border-border rounded-md bg-background outline-none",placeholder:n.options.placeholder}):null]}),x.jsxs(Hw,{children:[x.jsx($e,{variant:"ghost",size:"sm",onClick:()=>{n.kind==="confirm"?n.resolve(!1):n.resolve(null),c()},children:n.options.cancelLabel??"Cancel"}),x.jsx($e,{variant:n.kind==="confirm"?n.options.confirmVariant??"default":"secondary",size:"sm",onClick:()=>{n.kind==="confirm"?n.resolve(!0):n.resolve(l.trim()||null),c()},disabled:n.kind==="prompt"&&!l.trim(),children:n.options.confirmLabel??"Confirm"})]})]}):null})})]})}function p_(){const e=v.useContext(Fw);if(!e)throw new Error("useAppDialog must be used within AppDialogProvider");return e}const g_=["top","right","bottom","left"],ji=Math.min,kn=Math.max,nc=Math.round,ju=Math.floor,xr=e=>({x:e,y:e}),y_={left:"right",right:"left",bottom:"top",top:"bottom"};function fm(e,n,r){return kn(e,ji(n,r))}function Xr(e,n){return typeof e=="function"?e(n):e}function Kr(e){return e.split("-")[0]}function va(e){return e.split("-")[1]}function ap(e){return e==="x"?"y":"x"}function op(e){return e==="y"?"height":"width"}function gr(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function sp(e){return ap(gr(e))}function x_(e,n,r){r===void 0&&(r=!1);const l=va(e),o=sp(e),s=op(o);let c=o==="x"?l===(r?"end":"start")?"right":"left":l==="start"?"bottom":"top";return n.reference[s]>n.floating[s]&&(c=rc(c)),[c,rc(c)]}function v_(e){const n=rc(e);return[dm(e),n,dm(n)]}function dm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Ib=["left","right"],Ub=["right","left"],b_=["top","bottom"],w_=["bottom","top"];function S_(e,n,r){switch(e){case"top":case"bottom":return r?n?Ub:Ib:n?Ib:Ub;case"left":case"right":return n?b_:w_;default:return[]}}function C_(e,n,r,l){const o=va(e);let s=S_(Kr(e),r==="start",l);return o&&(s=s.map(c=>c+"-"+o),n&&(s=s.concat(s.map(dm)))),s}function rc(e){const n=Kr(e);return y_[n]+e.slice(n.length)}function E_(e){return{top:0,right:0,bottom:0,left:0,...e}}function qw(e){return typeof e!="number"?E_(e):{top:e,right:e,bottom:e,left:e}}function ic(e){const{x:n,y:r,width:l,height:o}=e;return{width:l,height:o,top:r,left:n,right:n+l,bottom:r+o,x:n,y:r}}function Hb(e,n,r){let{reference:l,floating:o}=e;const s=gr(n),c=sp(n),f=op(c),d=Kr(n),h=s==="y",g=l.x+l.width/2-o.width/2,p=l.y+l.height/2-o.height/2,b=l[f]/2-o[f]/2;let w;switch(d){case"top":w={x:g,y:l.y-o.height};break;case"bottom":w={x:g,y:l.y+l.height};break;case"right":w={x:l.x+l.width,y:p};break;case"left":w={x:l.x-o.width,y:p};break;default:w={x:l.x,y:l.y}}switch(va(n)){case"start":w[c]-=b*(r&&h?-1:1);break;case"end":w[c]+=b*(r&&h?-1:1);break}return w}async function k_(e,n){var r;n===void 0&&(n={});const{x:l,y:o,platform:s,rects:c,elements:f,strategy:d}=e,{boundary:h="clippingAncestors",rootBoundary:g="viewport",elementContext:p="floating",altBoundary:b=!1,padding:w=0}=Xr(n,e),E=qw(w),k=f[b?p==="floating"?"reference":"floating":p],N=ic(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(k)))==null||r?k:k.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(f.floating)),boundary:h,rootBoundary:g,strategy:d})),j=p==="floating"?{x:l,y:o,width:c.floating.width,height:c.floating.height}:c.reference,M=await(s.getOffsetParent==null?void 0:s.getOffsetParent(f.floating)),D=await(s.isElement==null?void 0:s.isElement(M))?await(s.getScale==null?void 0:s.getScale(M))||{x:1,y:1}:{x:1,y:1},U=ic(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:j,offsetParent:M,strategy:d}):j);return{top:(N.top-U.top+E.top)/D.y,bottom:(U.bottom-N.bottom+E.bottom)/D.y,left:(N.left-U.left+E.left)/D.x,right:(U.right-N.right+E.right)/D.x}}const N_=50,T_=async(e,n,r)=>{const{placement:l="bottom",strategy:o="absolute",middleware:s=[],platform:c}=r,f=c.detectOverflow?c:{...c,detectOverflow:k_},d=await(c.isRTL==null?void 0:c.isRTL(n));let h=await c.getElementRects({reference:e,floating:n,strategy:o}),{x:g,y:p}=Hb(h,l,d),b=l,w=0;const E={};for(let C=0;C<s.length;C++){const k=s[C];if(!k)continue;const{name:N,fn:j}=k,{x:M,y:D,data:U,reset:_}=await j({x:g,y:p,initialPlacement:l,placement:b,strategy:o,middlewareData:E,rects:h,platform:f,elements:{reference:e,floating:n}});g=M??g,p=D??p,E[N]={...E[N],...U},_&&w<N_&&(w++,typeof _=="object"&&(_.placement&&(b=_.placement),_.rects&&(h=_.rects===!0?await c.getElementRects({reference:e,floating:n,strategy:o}):_.rects),{x:g,y:p}=Hb(h,b,d)),C=-1)}return{x:g,y:p,placement:b,strategy:o,middlewareData:E}},R_=e=>({name:"arrow",options:e,async fn(n){const{x:r,y:l,placement:o,rects:s,platform:c,elements:f,middlewareData:d}=n,{element:h,padding:g=0}=Xr(e,n)||{};if(h==null)return{};const p=qw(g),b={x:r,y:l},w=sp(o),E=op(w),C=await c.getDimensions(h),k=w==="y",N=k?"top":"left",j=k?"bottom":"right",M=k?"clientHeight":"clientWidth",D=s.reference[E]+s.reference[w]-b[w]-s.floating[E],U=b[w]-s.reference[w],_=await(c.getOffsetParent==null?void 0:c.getOffsetParent(h));let P=_?_[M]:0;(!P||!await(c.isElement==null?void 0:c.isElement(_)))&&(P=f.floating[M]||s.floating[E]);const F=D/2-U/2,ne=P/2-C[E]/2-1,I=ji(p[N],ne),J=ji(p[j],ne),te=I,ce=P-C[E]-J,le=P/2-C[E]/2+F,ee=fm(te,le,ce),B=!d.arrow&&va(o)!=null&&le!==ee&&s.reference[E]/2-(le<te?I:J)-C[E]/2<0,X=B?le<te?le-te:le-ce:0;return{[w]:b[w]+X,data:{[w]:ee,centerOffset:le-ee-X,...B&&{alignmentOffset:X}},reset:B}}}),A_=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(n){var r,l;const{placement:o,middlewareData:s,rects:c,initialPlacement:f,platform:d,elements:h}=n,{mainAxis:g=!0,crossAxis:p=!0,fallbackPlacements:b,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:C=!0,...k}=Xr(e,n);if((r=s.arrow)!=null&&r.alignmentOffset)return{};const N=Kr(o),j=gr(f),M=Kr(f)===f,D=await(d.isRTL==null?void 0:d.isRTL(h.floating)),U=b||(M||!C?[rc(f)]:v_(f)),_=E!=="none";!b&&_&&U.push(...C_(f,C,E,D));const P=[f,...U],F=await d.detectOverflow(n,k),ne=[];let I=((l=s.flip)==null?void 0:l.overflows)||[];if(g&&ne.push(F[N]),p){const le=x_(o,c,D);ne.push(F[le[0]],F[le[1]])}if(I=[...I,{placement:o,overflows:ne}],!ne.every(le=>le<=0)){var J,te;const le=(((J=s.flip)==null?void 0:J.index)||0)+1,ee=P[le];if(ee&&(!(p==="alignment"?j!==gr(ee):!1)||I.every($=>gr($.placement)===j?$.overflows[0]>0:!0)))return{data:{index:le,overflows:I},reset:{placement:ee}};let B=(te=I.filter(X=>X.overflows[0]<=0).sort((X,$)=>X.overflows[1]-$.overflows[1])[0])==null?void 0:te.placement;if(!B)switch(w){case"bestFit":{var ce;const X=(ce=I.filter($=>{if(_){const Z=gr($.placement);return Z===j||Z==="y"}return!0}).map($=>[$.placement,$.overflows.filter(Z=>Z>0).reduce((Z,R)=>Z+R,0)]).sort(($,Z)=>$[1]-Z[1])[0])==null?void 0:ce[0];X&&(B=X);break}case"initialPlacement":B=f;break}if(o!==B)return{reset:{placement:B}}}return{}}}};function Fb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function qb(e){return g_.some(n=>e[n]>=0)}const M_=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:l}=n,{strategy:o="referenceHidden",...s}=Xr(e,n);switch(o){case"referenceHidden":{const c=await l.detectOverflow(n,{...s,elementContext:"reference"}),f=Fb(c,r.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:qb(f)}}}case"escaped":{const c=await l.detectOverflow(n,{...s,altBoundary:!0}),f=Fb(c,r.floating);return{data:{escapedOffsets:f,escaped:qb(f)}}}default:return{}}}}},Gw=new Set(["left","top"]);async function j_(e,n){const{placement:r,platform:l,elements:o}=e,s=await(l.isRTL==null?void 0:l.isRTL(o.floating)),c=Kr(r),f=va(r),d=gr(r)==="y",h=Gw.has(c)?-1:1,g=s&&d?-1:1,p=Xr(n,e);let{mainAxis:b,crossAxis:w,alignmentAxis:E}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return f&&typeof E=="number"&&(w=f==="end"?E*-1:E),d?{x:w*g,y:b*h}:{x:b*h,y:w*g}}const __=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,l;const{x:o,y:s,placement:c,middlewareData:f}=n,d=await j_(n,e);return c===((r=f.offset)==null?void 0:r.placement)&&(l=f.arrow)!=null&&l.alignmentOffset?{}:{x:o+d.x,y:s+d.y,data:{...d,placement:c}}}}},O_=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:l,placement:o,platform:s}=n,{mainAxis:c=!0,crossAxis:f=!1,limiter:d={fn:N=>{let{x:j,y:M}=N;return{x:j,y:M}}},...h}=Xr(e,n),g={x:r,y:l},p=await s.detectOverflow(n,h),b=gr(Kr(o)),w=ap(b);let E=g[w],C=g[b];if(c){const N=w==="y"?"top":"left",j=w==="y"?"bottom":"right",M=E+p[N],D=E-p[j];E=fm(M,E,D)}if(f){const N=b==="y"?"top":"left",j=b==="y"?"bottom":"right",M=C+p[N],D=C-p[j];C=fm(M,C,D)}const k=d.fn({...n,[w]:E,[b]:C});return{...k,data:{x:k.x-r,y:k.y-l,enabled:{[w]:c,[b]:f}}}}}},D_=function(e){return e===void 0&&(e={}),{options:e,fn(n){const{x:r,y:l,placement:o,rects:s,middlewareData:c}=n,{offset:f=0,mainAxis:d=!0,crossAxis:h=!0}=Xr(e,n),g={x:r,y:l},p=gr(o),b=ap(p);let w=g[b],E=g[p];const C=Xr(f,n),k=typeof C=="number"?{mainAxis:C,crossAxis:0}:{mainAxis:0,crossAxis:0,...C};if(d){const M=b==="y"?"height":"width",D=s.reference[b]-s.floating[M]+k.mainAxis,U=s.reference[b]+s.reference[M]-k.mainAxis;w<D?w=D:w>U&&(w=U)}if(h){var N,j;const M=b==="y"?"width":"height",D=Gw.has(Kr(o)),U=s.reference[p]-s.floating[M]+(D&&((N=c.offset)==null?void 0:N[p])||0)+(D?0:k.crossAxis),_=s.reference[p]+s.reference[M]+(D?0:((j=c.offset)==null?void 0:j[p])||0)-(D?k.crossAxis:0);E<U?E=U:E>_&&(E=_)}return{[b]:w,[p]:E}}}},z_=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){var r,l;const{placement:o,rects:s,platform:c,elements:f}=n,{apply:d=()=>{},...h}=Xr(e,n),g=await c.detectOverflow(n,h),p=Kr(o),b=va(o),w=gr(o)==="y",{width:E,height:C}=s.floating;let k,N;p==="top"||p==="bottom"?(k=p,N=b===(await(c.isRTL==null?void 0:c.isRTL(f.floating))?"start":"end")?"left":"right"):(N=p,k=b==="end"?"top":"bottom");const j=C-g.top-g.bottom,M=E-g.left-g.right,D=ji(C-g[k],j),U=ji(E-g[N],M),_=!n.middlewareData.shift;let P=D,F=U;if((r=n.middlewareData.shift)!=null&&r.enabled.x&&(F=M),(l=n.middlewareData.shift)!=null&&l.enabled.y&&(P=j),_&&!b){const I=kn(g.left,0),J=kn(g.right,0),te=kn(g.top,0),ce=kn(g.bottom,0);w?F=E-2*(I!==0||J!==0?I+J:kn(g.left,g.right)):P=C-2*(te!==0||ce!==0?te+ce:kn(g.top,g.bottom))}await d({...n,availableWidth:F,availableHeight:P});const ne=await c.getDimensions(f.floating);return E!==ne.width||C!==ne.height?{reset:{rects:!0}}:{}}}};function Mc(){return typeof window<"u"}function ba(e){return Vw(e)?(e.nodeName||"").toLowerCase():"#document"}function Nn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function Cr(e){var n;return(n=(Vw(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function Vw(e){return Mc()?e instanceof Node||e instanceof Nn(e).Node:!1}function rr(e){return Mc()?e instanceof Element||e instanceof Nn(e).Element:!1}function Qr(e){return Mc()?e instanceof HTMLElement||e instanceof Nn(e).HTMLElement:!1}function Gb(e){return!Mc()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Nn(e).ShadowRoot}function Wo(e){const{overflow:n,overflowX:r,overflowY:l,display:o}=ir(e);return/auto|scroll|overlay|hidden|clip/.test(n+l+r)&&o!=="inline"&&o!=="contents"}function L_(e){return/^(table|td|th)$/.test(ba(e))}function jc(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const P_=/transform|translate|scale|rotate|perspective|filter/,B_=/paint|layout|strict|content/,il=e=>!!e&&e!=="none";let Ah;function up(e){const n=rr(e)?ir(e):e;return il(n.transform)||il(n.translate)||il(n.scale)||il(n.rotate)||il(n.perspective)||!cp()&&(il(n.backdropFilter)||il(n.filter))||P_.test(n.willChange||"")||B_.test(n.contain||"")}function I_(e){let n=_i(e);for(;Qr(n)&&!ha(n);){if(up(n))return n;if(jc(n))return null;n=_i(n)}return null}function cp(){return Ah==null&&(Ah=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ah}function ha(e){return/^(html|body|#document)$/.test(ba(e))}function ir(e){return Nn(e).getComputedStyle(e)}function _c(e){return rr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function _i(e){if(ba(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Gb(e)&&e.host||Cr(e);return Gb(n)?n.host:n}function $w(e){const n=_i(e);return ha(n)?e.ownerDocument?e.ownerDocument.body:e.body:Qr(n)&&Wo(n)?n:$w(n)}function Po(e,n,r){var l;n===void 0&&(n=[]),r===void 0&&(r=!0);const o=$w(e),s=o===((l=e.ownerDocument)==null?void 0:l.body),c=Nn(o);if(s){const f=hm(c);return n.concat(c,c.visualViewport||[],Wo(o)?o:[],f&&r?Po(f):[])}else return n.concat(o,Po(o,[],r))}function hm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Yw(e){const n=ir(e);let r=parseFloat(n.width)||0,l=parseFloat(n.height)||0;const o=Qr(e),s=o?e.offsetWidth:r,c=o?e.offsetHeight:l,f=nc(r)!==s||nc(l)!==c;return f&&(r=s,l=c),{width:r,height:l,$:f}}function fp(e){return rr(e)?e:e.contextElement}function ua(e){const n=fp(e);if(!Qr(n))return xr(1);const r=n.getBoundingClientRect(),{width:l,height:o,$:s}=Yw(n);let c=(s?nc(r.width):r.width)/l,f=(s?nc(r.height):r.height)/o;return(!c||!Number.isFinite(c))&&(c=1),(!f||!Number.isFinite(f))&&(f=1),{x:c,y:f}}const U_=xr(0);function Xw(e){const n=Nn(e);return!cp()||!n.visualViewport?U_:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function H_(e,n,r){return n===void 0&&(n=!1),!r||n&&r!==Nn(e)?!1:n}function ul(e,n,r,l){n===void 0&&(n=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),s=fp(e);let c=xr(1);n&&(l?rr(l)&&(c=ua(l)):c=ua(e));const f=H_(s,r,l)?Xw(s):xr(0);let d=(o.left+f.x)/c.x,h=(o.top+f.y)/c.y,g=o.width/c.x,p=o.height/c.y;if(s){const b=Nn(s),w=l&&rr(l)?Nn(l):l;let E=b,C=hm(E);for(;C&&l&&w!==E;){const k=ua(C),N=C.getBoundingClientRect(),j=ir(C),M=N.left+(C.clientLeft+parseFloat(j.paddingLeft))*k.x,D=N.top+(C.clientTop+parseFloat(j.paddingTop))*k.y;d*=k.x,h*=k.y,g*=k.x,p*=k.y,d+=M,h+=D,E=Nn(C),C=hm(E)}}return ic({width:g,height:p,x:d,y:h})}function Oc(e,n){const r=_c(e).scrollLeft;return n?n.left+r:ul(Cr(e)).left+r}function Kw(e,n){const r=e.getBoundingClientRect(),l=r.left+n.scrollLeft-Oc(e,r),o=r.top+n.scrollTop;return{x:l,y:o}}function F_(e){let{elements:n,rect:r,offsetParent:l,strategy:o}=e;const s=o==="fixed",c=Cr(l),f=n?jc(n.floating):!1;if(l===c||f&&s)return r;let d={scrollLeft:0,scrollTop:0},h=xr(1);const g=xr(0),p=Qr(l);if((p||!p&&!s)&&((ba(l)!=="body"||Wo(c))&&(d=_c(l)),p)){const w=ul(l);h=ua(l),g.x=w.x+l.clientLeft,g.y=w.y+l.clientTop}const b=c&&!p&&!s?Kw(c,d):xr(0);return{width:r.width*h.x,height:r.height*h.y,x:r.x*h.x-d.scrollLeft*h.x+g.x+b.x,y:r.y*h.y-d.scrollTop*h.y+g.y+b.y}}function q_(e){return Array.from(e.getClientRects())}function G_(e){const n=Cr(e),r=_c(e),l=e.ownerDocument.body,o=kn(n.scrollWidth,n.clientWidth,l.scrollWidth,l.clientWidth),s=kn(n.scrollHeight,n.clientHeight,l.scrollHeight,l.clientHeight);let c=-r.scrollLeft+Oc(e);const f=-r.scrollTop;return ir(l).direction==="rtl"&&(c+=kn(n.clientWidth,l.clientWidth)-o),{width:o,height:s,x:c,y:f}}const Vb=25;function V_(e,n){const r=Nn(e),l=Cr(e),o=r.visualViewport;let s=l.clientWidth,c=l.clientHeight,f=0,d=0;if(o){s=o.width,c=o.height;const g=cp();(!g||g&&n==="fixed")&&(f=o.offsetLeft,d=o.offsetTop)}const h=Oc(l);if(h<=0){const g=l.ownerDocument,p=g.body,b=getComputedStyle(p),w=g.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,E=Math.abs(l.clientWidth-p.clientWidth-w);E<=Vb&&(s-=E)}else h<=Vb&&(s+=h);return{width:s,height:c,x:f,y:d}}function $_(e,n){const r=ul(e,!0,n==="fixed"),l=r.top+e.clientTop,o=r.left+e.clientLeft,s=Qr(e)?ua(e):xr(1),c=e.clientWidth*s.x,f=e.clientHeight*s.y,d=o*s.x,h=l*s.y;return{width:c,height:f,x:d,y:h}}function $b(e,n,r){let l;if(n==="viewport")l=V_(e,r);else if(n==="document")l=G_(Cr(e));else if(rr(n))l=$_(n,r);else{const o=Xw(e);l={x:n.x-o.x,y:n.y-o.y,width:n.width,height:n.height}}return ic(l)}function Qw(e,n){const r=_i(e);return r===n||!rr(r)||ha(r)?!1:ir(r).position==="fixed"||Qw(r,n)}function Y_(e,n){const r=n.get(e);if(r)return r;let l=Po(e,[],!1).filter(f=>rr(f)&&ba(f)!=="body"),o=null;const s=ir(e).position==="fixed";let c=s?_i(e):e;for(;rr(c)&&!ha(c);){const f=ir(c),d=up(c);!d&&f.position==="fixed"&&(o=null),(s?!d&&!o:!d&&f.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Wo(c)&&!d&&Qw(e,c))?l=l.filter(g=>g!==c):o=f,c=_i(c)}return n.set(e,l),l}function X_(e){let{element:n,boundary:r,rootBoundary:l,strategy:o}=e;const c=[...r==="clippingAncestors"?jc(n)?[]:Y_(n,this._c):[].concat(r),l],f=$b(n,c[0],o);let d=f.top,h=f.right,g=f.bottom,p=f.left;for(let b=1;b<c.length;b++){const w=$b(n,c[b],o);d=kn(w.top,d),h=ji(w.right,h),g=ji(w.bottom,g),p=kn(w.left,p)}return{width:h-p,height:g-d,x:p,y:d}}function K_(e){const{width:n,height:r}=Yw(e);return{width:n,height:r}}function Q_(e,n,r){const l=Qr(n),o=Cr(n),s=r==="fixed",c=ul(e,!0,s,n);let f={scrollLeft:0,scrollTop:0};const d=xr(0);function h(){d.x=Oc(o)}if(l||!l&&!s)if((ba(n)!=="body"||Wo(o))&&(f=_c(n)),l){const w=ul(n,!0,s,n);d.x=w.x+n.clientLeft,d.y=w.y+n.clientTop}else o&&h();s&&!l&&o&&h();const g=o&&!l&&!s?Kw(o,f):xr(0),p=c.left+f.scrollLeft-d.x-g.x,b=c.top+f.scrollTop-d.y-g.y;return{x:p,y:b,width:c.width,height:c.height}}function Mh(e){return ir(e).position==="static"}function Yb(e,n){if(!Qr(e)||ir(e).position==="fixed")return null;if(n)return n(e);let r=e.offsetParent;return Cr(e)===r&&(r=r.ownerDocument.body),r}function Zw(e,n){const r=Nn(e);if(jc(e))return r;if(!Qr(e)){let o=_i(e);for(;o&&!ha(o);){if(rr(o)&&!Mh(o))return o;o=_i(o)}return r}let l=Yb(e,n);for(;l&&L_(l)&&Mh(l);)l=Yb(l,n);return l&&ha(l)&&Mh(l)&&!up(l)?r:l||I_(e)||r}const Z_=async function(e){const n=this.getOffsetParent||Zw,r=this.getDimensions,l=await r(e.floating);return{reference:Q_(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function W_(e){return ir(e).direction==="rtl"}const J_={convertOffsetParentRelativeRectToViewportRelativeRect:F_,getDocumentElement:Cr,getClippingRect:X_,getOffsetParent:Zw,getElementRects:Z_,getClientRects:q_,getDimensions:K_,getScale:ua,isElement:rr,isRTL:W_};function Ww(e,n){return e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height}function e3(e,n){let r=null,l;const o=Cr(e);function s(){var f;clearTimeout(l),(f=r)==null||f.disconnect(),r=null}function c(f,d){f===void 0&&(f=!1),d===void 0&&(d=1),s();const h=e.getBoundingClientRect(),{left:g,top:p,width:b,height:w}=h;if(f||n(),!b||!w)return;const E=ju(p),C=ju(o.clientWidth-(g+b)),k=ju(o.clientHeight-(p+w)),N=ju(g),M={rootMargin:-E+"px "+-C+"px "+-k+"px "+-N+"px",threshold:kn(0,ji(1,d))||1};let D=!0;function U(_){const P=_[0].intersectionRatio;if(P!==d){if(!D)return c();P?c(!1,P):l=setTimeout(()=>{c(!1,1e-7)},1e3)}P===1&&!Ww(h,e.getBoundingClientRect())&&c(),D=!1}try{r=new IntersectionObserver(U,{...M,root:o.ownerDocument})}catch{r=new IntersectionObserver(U,M)}r.observe(e)}return c(!0),s}function t3(e,n,r,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:d=!1}=l,h=fp(e),g=o||s?[...h?Po(h):[],...n?Po(n):[]]:[];g.forEach(N=>{o&&N.addEventListener("scroll",r,{passive:!0}),s&&N.addEventListener("resize",r)});const p=h&&f?e3(h,r):null;let b=-1,w=null;c&&(w=new ResizeObserver(N=>{let[j]=N;j&&j.target===h&&w&&n&&(w.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var M;(M=w)==null||M.observe(n)})),r()}),h&&!d&&w.observe(h),n&&w.observe(n));let E,C=d?ul(e):null;d&&k();function k(){const N=ul(e);C&&!Ww(C,N)&&r(),C=N,E=requestAnimationFrame(k)}return r(),()=>{var N;g.forEach(j=>{o&&j.removeEventListener("scroll",r),s&&j.removeEventListener("resize",r)}),p==null||p(),(N=w)==null||N.disconnect(),w=null,d&&cancelAnimationFrame(E)}}const n3=__,r3=O_,i3=A_,l3=z_,a3=M_,Xb=R_,o3=D_,s3=(e,n,r)=>{const l=new Map,o={platform:J_,...r},s={...o.platform,_c:l};return T_(e,n,{...o,platform:s})};var u3=typeof document<"u",c3=function(){},Xu=u3?v.useLayoutEffect:c3;function lc(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,l,o;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(l=r;l--!==0;)if(!lc(e[l],n[l]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(n).length)return!1;for(l=r;l--!==0;)if(!{}.hasOwnProperty.call(n,o[l]))return!1;for(l=r;l--!==0;){const s=o[l];if(!(s==="_owner"&&e.$$typeof)&&!lc(e[s],n[s]))return!1}return!0}return e!==e&&n!==n}function Jw(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Kb(e,n){const r=Jw(e);return Math.round(n*r)/r}function jh(e){const n=v.useRef(e);return Xu(()=>{n.current=e}),n}function f3(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:l=[],platform:o,elements:{reference:s,floating:c}={},transform:f=!0,whileElementsMounted:d,open:h}=e,[g,p]=v.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,w]=v.useState(l);lc(b,l)||w(l);const[E,C]=v.useState(null),[k,N]=v.useState(null),j=v.useCallback($=>{$!==_.current&&(_.current=$,C($))},[]),M=v.useCallback($=>{$!==P.current&&(P.current=$,N($))},[]),D=s||E,U=c||k,_=v.useRef(null),P=v.useRef(null),F=v.useRef(g),ne=d!=null,I=jh(d),J=jh(o),te=jh(h),ce=v.useCallback(()=>{if(!_.current||!P.current)return;const $={placement:n,strategy:r,middleware:b};J.current&&($.platform=J.current),s3(_.current,P.current,$).then(Z=>{const R={...Z,isPositioned:te.current!==!1};le.current&&!lc(F.current,R)&&(F.current=R,Ai.flushSync(()=>{p(R)}))})},[b,n,r,J,te]);Xu(()=>{h===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,p($=>({...$,isPositioned:!1})))},[h]);const le=v.useRef(!1);Xu(()=>(le.current=!0,()=>{le.current=!1}),[]),Xu(()=>{if(D&&(_.current=D),U&&(P.current=U),D&&U){if(I.current)return I.current(D,U,ce);ce()}},[D,U,ce,I,ne]);const ee=v.useMemo(()=>({reference:_,floating:P,setReference:j,setFloating:M}),[j,M]),B=v.useMemo(()=>({reference:D,floating:U}),[D,U]),X=v.useMemo(()=>{const $={position:r,left:0,top:0};if(!B.floating)return $;const Z=Kb(B.floating,g.x),R=Kb(B.floating,g.y);return f?{...$,transform:"translate("+Z+"px, "+R+"px)",...Jw(B.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:Z,top:R}},[r,f,B.floating,g.x,g.y]);return v.useMemo(()=>({...g,update:ce,refs:ee,elements:B,floatingStyles:X}),[g,ce,ee,B,X])}const d3=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:l,padding:o}=typeof e=="function"?e(r):e;return l&&n(l)?l.current!=null?Xb({element:l.current,padding:o}).fn(r):{}:l?Xb({element:l,padding:o}).fn(r):{}}}},h3=(e,n)=>{const r=n3(e);return{name:r.name,fn:r.fn,options:[e,n]}},m3=(e,n)=>{const r=r3(e);return{name:r.name,fn:r.fn,options:[e,n]}},p3=(e,n)=>({fn:o3(e).fn,options:[e,n]}),g3=(e,n)=>{const r=i3(e);return{name:r.name,fn:r.fn,options:[e,n]}},y3=(e,n)=>{const r=l3(e);return{name:r.name,fn:r.fn,options:[e,n]}},x3=(e,n)=>{const r=a3(e);return{name:r.name,fn:r.fn,options:[e,n]}},v3=(e,n)=>{const r=d3(e);return{name:r.name,fn:r.fn,options:[e,n]}};var b3="Arrow",eS=v.forwardRef((e,n)=>{const{children:r,width:l=10,height:o=5,...s}=e;return x.jsx(ct.svg,{...s,ref:n,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:x.jsx("polygon",{points:"0,0 30,0 15,10"})})});eS.displayName=b3;var w3=eS;function S3(e){const[n,r]=v.useState(void 0);return Mi(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let c,f;if("borderBoxSize"in s){const d=s.borderBoxSize,h=Array.isArray(d)?d[0]:d;c=h.inlineSize,f=h.blockSize}else c=e.offsetWidth,f=e.offsetHeight;r({width:c,height:f})});return l.observe(e,{box:"border-box"}),()=>l.unobserve(e)}else r(void 0)},[e]),n}var dp="Popper",[tS,wa]=zi(dp),[C3,nS]=tS(dp),rS=e=>{const{__scopePopper:n,children:r}=e,[l,o]=v.useState(null);return x.jsx(C3,{scope:n,anchor:l,onAnchorChange:o,children:r})};rS.displayName=dp;var iS="PopperAnchor",lS=v.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:l,...o}=e,s=nS(iS,r),c=v.useRef(null),f=bt(n,c),d=v.useRef(null);return v.useEffect(()=>{const h=d.current;d.current=(l==null?void 0:l.current)||c.current,h!==d.current&&s.onAnchorChange(d.current)}),l?null:x.jsx(ct.div,{...o,ref:f})});lS.displayName=iS;var hp="PopperContent",[E3,k3]=tS(hp),aS=v.forwardRef((e,n)=>{var me,Ne,he,Ce,lt,nt;const{__scopePopper:r,side:l="bottom",sideOffset:o=0,align:s="center",alignOffset:c=0,arrowPadding:f=0,avoidCollisions:d=!0,collisionBoundary:h=[],collisionPadding:g=0,sticky:p="partial",hideWhenDetached:b=!1,updatePositionStrategy:w="optimized",onPlaced:E,...C}=e,k=nS(hp,r),[N,j]=v.useState(null),M=bt(n,st=>j(st)),[D,U]=v.useState(null),_=S3(D),P=(_==null?void 0:_.width)??0,F=(_==null?void 0:_.height)??0,ne=l+(s!=="center"?"-"+s:""),I=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},J=Array.isArray(h)?h:[h],te=J.length>0,ce={padding:I,boundary:J.filter(T3),altBoundary:te},{refs:le,floatingStyles:ee,placement:B,isPositioned:X,middlewareData:$}=f3({strategy:"fixed",placement:ne,whileElementsMounted:(...st)=>t3(...st,{animationFrame:w==="always"}),elements:{reference:k.anchor},middleware:[h3({mainAxis:o+F,alignmentAxis:c}),d&&m3({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?p3():void 0,...ce}),d&&g3({...ce}),y3({...ce,apply:({elements:st,rects:Ye,availableWidth:Lt,availableHeight:Pt})=>{const{width:Yn,height:Xn}=Ye.reference,Bt=st.floating.style;Bt.setProperty("--radix-popper-available-width",`${Lt}px`),Bt.setProperty("--radix-popper-available-height",`${Pt}px`),Bt.setProperty("--radix-popper-anchor-width",`${Yn}px`),Bt.setProperty("--radix-popper-anchor-height",`${Xn}px`)}}),D&&v3({element:D,padding:f}),R3({arrowWidth:P,arrowHeight:F}),b&&x3({strategy:"referenceHidden",...ce})]}),[Z,R]=uS(B),O=br(E);Mi(()=>{X&&(O==null||O())},[X,O]);const z=(me=$.arrow)==null?void 0:me.x,A=(Ne=$.arrow)==null?void 0:Ne.y,Q=((he=$.arrow)==null?void 0:he.centerOffset)!==0,[fe,ue]=v.useState();return Mi(()=>{N&&ue(window.getComputedStyle(N).zIndex)},[N]),x.jsx("div",{ref:le.setFloating,"data-radix-popper-content-wrapper":"",style:{...ee,transform:X?ee.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:fe,"--radix-popper-transform-origin":[(Ce=$.transformOrigin)==null?void 0:Ce.x,(lt=$.transformOrigin)==null?void 0:lt.y].join(" "),...((nt=$.hide)==null?void 0:nt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:x.jsx(E3,{scope:r,placedSide:Z,onArrowChange:U,arrowX:z,arrowY:A,shouldHideArrow:Q,children:x.jsx(ct.div,{"data-side":Z,"data-align":R,...C,ref:M,style:{...C.style,animation:X?void 0:"none"}})})})});aS.displayName=hp;var oS="PopperArrow",N3={top:"bottom",right:"left",bottom:"top",left:"right"},sS=v.forwardRef(function(n,r){const{__scopePopper:l,...o}=n,s=k3(oS,l),c=N3[s.placedSide];return x.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[c]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:x.jsx(w3,{...o,ref:r,style:{...o.style,display:"block"}})})});sS.displayName=oS;function T3(e){return e!==null}var R3=e=>({name:"transformOrigin",options:e,fn(n){var k,N,j;const{placement:r,rects:l,middlewareData:o}=n,c=((k=o.arrow)==null?void 0:k.centerOffset)!==0,f=c?0:e.arrowWidth,d=c?0:e.arrowHeight,[h,g]=uS(r),p={start:"0%",center:"50%",end:"100%"}[g],b=(((N=o.arrow)==null?void 0:N.x)??0)+f/2,w=(((j=o.arrow)==null?void 0:j.y)??0)+d/2;let E="",C="";return h==="bottom"?(E=c?p:`${b}px`,C=`${-d}px`):h==="top"?(E=c?p:`${b}px`,C=`${l.floating.height+d}px`):h==="right"?(E=`${-d}px`,C=c?p:`${w}px`):h==="left"&&(E=`${l.floating.width+d}px`,C=c?p:`${w}px`),{data:{x:E,y:C}}}});function uS(e){const[n,r="center"]=e.split("-");return[n,r]}var mp=rS,Dc=lS,pp=aS,gp=sS,A3=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),M3="VisuallyHidden",cS=v.forwardRef((e,n)=>x.jsx(ct.span,{...e,ref:n,style:{...A3,...e.style}}));cS.displayName=M3;var j3=cS,[zc]=zi("Tooltip",[wa]),Lc=wa(),fS="TooltipProvider",_3=700,mm="tooltip.open",[O3,yp]=zc(fS),dS=e=>{const{__scopeTooltip:n,delayDuration:r=_3,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:s}=e,c=v.useRef(!0),f=v.useRef(!1),d=v.useRef(0);return v.useEffect(()=>{const h=d.current;return()=>window.clearTimeout(h)},[]),x.jsx(O3,{scope:n,isOpenDelayedRef:c,delayDuration:r,onOpen:v.useCallback(()=>{window.clearTimeout(d.current),c.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>c.current=!0,l)},[l]),isPointerInTransitRef:f,onPointerInTransitChange:v.useCallback(h=>{f.current=h},[]),disableHoverableContent:o,children:s})};dS.displayName=fS;var Bo="Tooltip",[D3,Jo]=zc(Bo),hS=e=>{const{__scopeTooltip:n,children:r,open:l,defaultOpen:o,onOpenChange:s,disableHoverableContent:c,delayDuration:f}=e,d=yp(Bo,e.__scopeTooltip),h=Lc(n),[g,p]=v.useState(null),b=oa(),w=v.useRef(0),E=c??d.disableHoverableContent,C=f??d.delayDuration,k=v.useRef(!1),[N,j]=Cc({prop:l,defaultProp:o??!1,onChange:P=>{P?(d.onOpen(),document.dispatchEvent(new CustomEvent(mm))):d.onClose(),s==null||s(P)},caller:Bo}),M=v.useMemo(()=>N?k.current?"delayed-open":"instant-open":"closed",[N]),D=v.useCallback(()=>{window.clearTimeout(w.current),w.current=0,k.current=!1,j(!0)},[j]),U=v.useCallback(()=>{window.clearTimeout(w.current),w.current=0,j(!1)},[j]),_=v.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{k.current=!0,j(!0),w.current=0},C)},[C,j]);return v.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),x.jsx(mp,{...h,children:x.jsx(D3,{scope:n,contentId:b,open:N,stateAttribute:M,trigger:g,onTriggerChange:p,onTriggerEnter:v.useCallback(()=>{d.isOpenDelayedRef.current?_():D()},[d.isOpenDelayedRef,_,D]),onTriggerLeave:v.useCallback(()=>{E?U():(window.clearTimeout(w.current),w.current=0)},[U,E]),onOpen:D,onClose:U,disableHoverableContent:E,children:r})})};hS.displayName=Bo;var pm="TooltipTrigger",mS=v.forwardRef((e,n)=>{const{__scopeTooltip:r,...l}=e,o=Jo(pm,r),s=yp(pm,r),c=Lc(r),f=v.useRef(null),d=bt(n,f,o.onTriggerChange),h=v.useRef(!1),g=v.useRef(!1),p=v.useCallback(()=>h.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),x.jsx(Dc,{asChild:!0,...c,children:x.jsx(ct.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:d,onPointerMove:Re(e.onPointerMove,b=>{b.pointerType!=="touch"&&!g.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),g.current=!0)}),onPointerLeave:Re(e.onPointerLeave,()=>{o.onTriggerLeave(),g.current=!1}),onPointerDown:Re(e.onPointerDown,()=>{o.open&&o.onClose(),h.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:Re(e.onFocus,()=>{h.current||o.onOpen()}),onBlur:Re(e.onBlur,o.onClose),onClick:Re(e.onClick,o.onClose)})})});mS.displayName=pm;var xp="TooltipPortal",[z3,L3]=zc(xp,{forceMount:void 0}),pS=e=>{const{__scopeTooltip:n,forceMount:r,children:l,container:o}=e,s=Jo(xp,n);return x.jsx(z3,{scope:n,forceMount:r,children:x.jsx($n,{present:r||s.open,children:x.jsx(Zo,{asChild:!0,container:o,children:l})})})};pS.displayName=xp;var ma="TooltipContent",gS=v.forwardRef((e,n)=>{const r=L3(ma,e.__scopeTooltip),{forceMount:l=r.forceMount,side:o="top",...s}=e,c=Jo(ma,e.__scopeTooltip);return x.jsx($n,{present:l||c.open,children:c.disableHoverableContent?x.jsx(yS,{side:o,...s,ref:n}):x.jsx(P3,{side:o,...s,ref:n})})}),P3=v.forwardRef((e,n)=>{const r=Jo(ma,e.__scopeTooltip),l=yp(ma,e.__scopeTooltip),o=v.useRef(null),s=bt(n,o),[c,f]=v.useState(null),{trigger:d,onClose:h}=r,g=o.current,{onPointerInTransitChange:p}=l,b=v.useCallback(()=>{f(null),p(!1)},[p]),w=v.useCallback((E,C)=>{const k=E.currentTarget,N={x:E.clientX,y:E.clientY},j=F3(N,k.getBoundingClientRect()),M=q3(N,j),D=G3(C.getBoundingClientRect()),U=$3([...M,...D]);f(U),p(!0)},[p]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(d&&g){const E=k=>w(k,g),C=k=>w(k,d);return d.addEventListener("pointerleave",E),g.addEventListener("pointerleave",C),()=>{d.removeEventListener("pointerleave",E),g.removeEventListener("pointerleave",C)}}},[d,g,w,b]),v.useEffect(()=>{if(c){const E=C=>{const k=C.target,N={x:C.clientX,y:C.clientY},j=(d==null?void 0:d.contains(k))||(g==null?void 0:g.contains(k)),M=!V3(N,c);j?b():M&&(b(),h())};return document.addEventListener("pointermove",E),()=>document.removeEventListener("pointermove",E)}},[d,g,c,h,b]),x.jsx(yS,{...e,ref:s})}),[B3,I3]=zc(Bo,{isInside:!1}),U3=hA("TooltipContent"),yS=v.forwardRef((e,n)=>{const{__scopeTooltip:r,children:l,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:c,...f}=e,d=Jo(ma,r),h=Lc(r),{onClose:g}=d;return v.useEffect(()=>(document.addEventListener(mm,g),()=>document.removeEventListener(mm,g)),[g]),v.useEffect(()=>{if(d.trigger){const p=b=>{const w=b.target;w!=null&&w.contains(d.trigger)&&g()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[d.trigger,g]),x.jsx(Qo,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:p=>p.preventDefault(),onDismiss:g,children:x.jsxs(pp,{"data-state":d.stateAttribute,...h,...f,ref:n,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[x.jsx(U3,{children:l}),x.jsx(B3,{scope:r,isInside:!0,children:x.jsx(j3,{id:d.contentId,role:"tooltip",children:o||l})})]})})});gS.displayName=ma;var xS="TooltipArrow",H3=v.forwardRef((e,n)=>{const{__scopeTooltip:r,...l}=e,o=Lc(r);return I3(xS,r).isInside?null:x.jsx(gp,{...o,...l,ref:n})});H3.displayName=xS;function F3(e,n){const r=Math.abs(n.top-e.y),l=Math.abs(n.bottom-e.y),o=Math.abs(n.right-e.x),s=Math.abs(n.left-e.x);switch(Math.min(r,l,o,s)){case s:return"left";case o:return"right";case r:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function q3(e,n,r=5){const l=[];switch(n){case"top":l.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":l.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":l.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":l.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return l}function G3(e){const{top:n,right:r,bottom:l,left:o}=e;return[{x:o,y:n},{x:r,y:n},{x:r,y:l},{x:o,y:l}]}function V3(e,n){const{x:r,y:l}=e;let o=!1;for(let s=0,c=n.length-1;s<n.length;c=s++){const f=n[s],d=n[c],h=f.x,g=f.y,p=d.x,b=d.y;g>l!=b>l&&r<(p-h)*(l-g)/(b-g)+h&&(o=!o)}return o}function $3(e){const n=e.slice();return n.sort((r,l)=>r.x<l.x?-1:r.x>l.x?1:r.y<l.y?-1:r.y>l.y?1:0),Y3(n)}function Y3(e){if(e.length<=1)return e.slice();const n=[];for(let l=0;l<e.length;l++){const o=e[l];for(;n.length>=2;){const s=n[n.length-1],c=n[n.length-2];if((s.x-c.x)*(o.y-c.y)>=(s.y-c.y)*(o.x-c.x))n.pop();else break}n.push(o)}n.pop();const r=[];for(let l=e.length-1;l>=0;l--){const o=e[l];for(;r.length>=2;){const s=r[r.length-1],c=r[r.length-2];if((s.x-c.x)*(o.y-c.y)>=(s.y-c.y)*(o.x-c.x))r.pop();else break}r.push(o)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var X3=dS,K3=hS,Q3=mS,Z3=pS,vS=gS;const W3=X3,ac=K3,oc=Q3,Io=v.forwardRef(({className:e,sideOffset:n=4,...r},l)=>x.jsx(Z3,{children:x.jsx(vS,{ref:l,sideOffset:n,className:ye("z-50 overflow-hidden rounded-md bg-card text-card-foreground border border-border px-3 py-1.5 text-xs animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));Io.displayName=vS.displayName;const J3="0.4.2",e4={version:J3},Zt="Kanna",Qb="kanna",bS=`kanna/${e4.version}`,t4="[kanna]",n4=`~/${Zt}`;function _u(e){return e?`${Qb} ${e}`:Qb}const Pc=({children:e,className:n,shimmerWidth:r=100,animate:l=!0,...o})=>x.jsx("span",{style:{"--shiny-width":`${Math.min(r,100)}px`},className:ye("mx-auto max-w-md text-foreground/50",l?["animate-shiny-text [background-size:var(--shiny-width)_100%] bg-clip-text [background-position:0_0] bg-no-repeat [transition:background-position_1s_cubic-bezier(.6,.6,0,1)_infinite]","bg-gradient-to-r from-transparent via-black/80 via-50% to-transparent dark:via-white/80"]:["text-neutral"],n),...o,children:e});function gm(e){return e.split(/[\s_-]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ")}const r4=[/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(['"])([\s\S]*)\1$/,/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(.+)$/,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(.+)$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(.+)$/i];function i4(e){const n=e.trim();for(const r of r4){const l=n.match(r);if(!l)continue;const o=(l[2]??l[1]??"").trim();if(o)return o}return n}function wS(e){return e.split("/").pop()||e}function l4(e,n){if(e===void 0)return null;const r=Math.max(0,n-e),l=6e4,o=60*l,s=24*o,c=7*s;return r<l?"now":r<o?`${Math.floor(r/l)}m`:r<s?`${Math.floor(r/o)}h`:r<c?`${Math.floor(r/s)}d`:`${Math.floor(r/c)}w`}const a4=new Set(["starting","running"]);function o4({chat:e,activeChatId:n,nowMs:r,onSelectChat:l,onDeleteChat:o}){const s=l4(e.lastMessageAt,r);return x.jsxs("div",{"data-chat-id":bb(e.chatId),className:ye("group flex items-center gap-2 pl-2.5 pr-0.5 py-0.5 rounded-lg cursor-pointer border-border/0 hover:border-border hover:bg-muted/20 active:scale-[0.985] border transition-all",n===bb(e.chatId)?"bg-muted hover:bg-muted border-border":"border-border/0 dark:hover:border-slate-400/10 "),onClick:()=>l(e.chatId),children:[a4.has(e.status)?x.jsx(Li,{className:"size-3.5 flex-shrink-0 animate-spin text-muted-foreground"}):e.status==="waiting_for_user"?x.jsx("div",{className:"relative ",children:x.jsxs("div",{className:" rounded-full z-0 size-3.5 flex items-center justify-center ",children:[x.jsx("div",{className:"absolute rounded-full z-0 size-2.5 bg-blue-400/80 animate-ping"}),x.jsx("div",{className:" rounded-full z-0 size-2.5 bg-blue-400 ring-2 ring-muted/20 dark:ring-muted/50"})]})}):null,x.jsx("span",{className:"text-sm truncate flex-1 translate-y-[-0.5px]",children:e.status!=="idle"&&e.status!=="waiting_for_user"?x.jsx(Pc,{animate:e.status==="running",shimmerWidth:Math.max(20,e.title.length*3),children:e.title}):e.title}),x.jsxs("div",{className:"relative h-7 w-7 mr-[2px] shrink-0",children:[s?x.jsx("span",{className:"hidden md:flex absolute inset-0 items-center justify-end pr-1 text-[11px] text-muted-foreground opacity-50 transition-opacity group-hover:opacity-0",children:s}):null,x.jsx($e,{variant:"ghost",size:"icon",className:ye("absolute inset-0 h-7 w-7 opacity-100 cursor-pointer rounded-sm hover:!bg-transparent !border-0",s?"md:opacity-0 md:group-hover:opacity-100":"opacity-100 md:opacity-0 md:group-hover:opacity-100"),onClick:c=>{c.stopPropagation(),o(e.chatId)},title:"Delete chat",children:x.jsx(qM,{className:"size-3.5"})})]})]},e._id)}function s4(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return v.useMemo(()=>l=>{n.forEach(o=>o(l))},n)}const Bc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Sa(e){const n=Object.prototype.toString.call(e);return n==="[object Window]"||n==="[object global]"}function vp(e){return"nodeType"in e}function hn(e){var n,r;return e?Sa(e)?e:vp(e)&&(n=(r=e.ownerDocument)==null?void 0:r.defaultView)!=null?n:window:window}function bp(e){const{Document:n}=hn(e);return e instanceof n}function es(e){return Sa(e)?!1:e instanceof hn(e).HTMLElement}function SS(e){return e instanceof hn(e).SVGElement}function Ca(e){return e?Sa(e)?e.document:vp(e)?bp(e)?e:es(e)||SS(e)?e.ownerDocument:document:document:document}const wr=Bc?v.useLayoutEffect:v.useEffect;function wp(e){const n=v.useRef(e);return wr(()=>{n.current=e}),v.useCallback(function(){for(var r=arguments.length,l=new Array(r),o=0;o<r;o++)l[o]=arguments[o];return n.current==null?void 0:n.current(...l)},[])}function u4(){const e=v.useRef(null),n=v.useCallback((l,o)=>{e.current=setInterval(l,o)},[]),r=v.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[n,r]}function Uo(e,n){n===void 0&&(n=[e]);const r=v.useRef(e);return wr(()=>{r.current!==e&&(r.current=e)},n),r}function ts(e,n){const r=v.useRef();return v.useMemo(()=>{const l=e(r.current);return r.current=l,l},[...n])}function sc(e){const n=wp(e),r=v.useRef(null),l=v.useCallback(o=>{o!==r.current&&(n==null||n(o,r.current)),r.current=o},[]);return[r,l]}function ym(e){const n=v.useRef();return v.useEffect(()=>{n.current=e},[e]),n.current}let _h={};function ns(e,n){return v.useMemo(()=>{if(n)return n;const r=_h[e]==null?0:_h[e]+1;return _h[e]=r,e+"-"+r},[e,n])}function CS(e){return function(n){for(var r=arguments.length,l=new Array(r>1?r-1:0),o=1;o<r;o++)l[o-1]=arguments[o];return l.reduce((s,c)=>{const f=Object.entries(c);for(const[d,h]of f){const g=s[d];g!=null&&(s[d]=g+e*h)}return s},{...n})}}const ca=CS(1),uc=CS(-1);function c4(e){return"clientX"in e&&"clientY"in e}function Sp(e){if(!e)return!1;const{KeyboardEvent:n}=hn(e.target);return n&&e instanceof n}function f4(e){if(!e)return!1;const{TouchEvent:n}=hn(e.target);return n&&e instanceof n}function xm(e){if(f4(e)){if(e.touches&&e.touches.length){const{clientX:n,clientY:r}=e.touches[0];return{x:n,y:r}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:n,clientY:r}=e.changedTouches[0];return{x:n,y:r}}}return c4(e)?{x:e.clientX,y:e.clientY}:null}const Ho=Object.freeze({Translate:{toString(e){if(!e)return;const{x:n,y:r}=e;return"translate3d("+(n?Math.round(n):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:n,scaleY:r}=e;return"scaleX("+n+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[Ho.Translate.toString(e),Ho.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:n,duration:r,easing:l}=e;return n+" "+r+"ms "+l}}}),Zb="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function d4(e){return e.matches(Zb)?e:e.querySelector(Zb)}const h4={display:"none"};function m4(e){let{id:n,value:r}=e;return it.createElement("div",{id:n,style:h4},r)}function p4(e){let{id:n,announcement:r,ariaLiveType:l="assertive"}=e;const o={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return it.createElement("div",{id:n,style:o,role:"status","aria-live":l,"aria-atomic":!0},r)}function g4(){const[e,n]=v.useState("");return{announce:v.useCallback(l=>{l!=null&&n(l)},[]),announcement:e}}const ES=v.createContext(null);function y4(e){const n=v.useContext(ES);v.useEffect(()=>{if(!n)throw new Error("useDndMonitor must be used within a children of <DndContext>");return n(e)},[e,n])}function x4(){const[e]=v.useState(()=>new Set),n=v.useCallback(l=>(e.add(l),()=>e.delete(l)),[e]);return[v.useCallback(l=>{let{type:o,event:s}=l;e.forEach(c=>{var f;return(f=c[o])==null?void 0:f.call(c,s)})},[e]),n]}const v4={draggable:`
385
385
  To pick up a draggable item, press the space bar.
386
386
  While dragging, use the arrow keys to move the item.
387
387
  Press space again to drop the item in its new position, or press escape to cancel.
@@ -413,7 +413,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${n.do
413
413
  `))+1))}const c="#".repeat(o),f=r.enter("headingAtx"),d=r.enter("phrasing");s.move(c+" ");let h=r.containerPhrasing(e,{before:"# ",after:`
414
414
  `,...s.current()});return/^[\t ]/.test(h)&&(h=$o(h.charCodeAt(0))+h.slice(1)),h=h?c+" "+h:c,r.options.closeAtx&&(h+=" "+c),d(),f(),h}IE.peek=k7;function IE(e){return e.value||""}function k7(){return"<"}UE.peek=N7;function UE(e,n,r,l){const o=ng(r),s=o==='"'?"Quote":"Apostrophe",c=r.enter("image");let f=r.enter("label");const d=r.createTracker(l);let h=d.move("![");return h+=d.move(r.safe(e.alt,{before:h,after:"]",...d.current()})),h+=d.move("]("),f(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(f=r.enter("destinationLiteral"),h+=d.move("<"),h+=d.move(r.safe(e.url,{before:h,after:">",...d.current()})),h+=d.move(">")):(f=r.enter("destinationRaw"),h+=d.move(r.safe(e.url,{before:h,after:e.title?" ":")",...d.current()}))),f(),e.title&&(f=r.enter(`title${s}`),h+=d.move(" "+o),h+=d.move(r.safe(e.title,{before:h,after:o,...d.current()})),h+=d.move(o),f()),h+=d.move(")"),c(),h}function N7(){return"!"}HE.peek=T7;function HE(e,n,r,l){const o=e.referenceType,s=r.enter("imageReference");let c=r.enter("label");const f=r.createTracker(l);let d=f.move("![");const h=r.safe(e.alt,{before:d,after:"]",...f.current()});d+=f.move(h+"]["),c();const g=r.stack;r.stack=[],c=r.enter("reference");const p=r.safe(r.associationId(e),{before:d,after:"]",...f.current()});return c(),r.stack=g,s(),o==="full"||!h||h!==p?d+=f.move(p+"]"):o==="shortcut"?d=d.slice(0,-1):d+=f.move("]"),d}function T7(){return"!"}FE.peek=R7;function FE(e,n,r){let l=e.value||"",o="`",s=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(l);)o+="`";for(/[^ \r\n]/.test(l)&&(/^[ \r\n]/.test(l)&&/[ \r\n]$/.test(l)||/^`|`$/.test(l))&&(l=" "+l+" ");++s<r.unsafe.length;){const c=r.unsafe[s],f=r.compilePattern(c);let d;if(c.atBreak)for(;d=f.exec(l);){let h=d.index;l.charCodeAt(h)===10&&l.charCodeAt(h-1)===13&&h--,l=l.slice(0,h)+" "+l.slice(d.index+1)}}return o+l+o}function R7(){return"`"}function qE(e,n){const r=Yp(e);return!!(!n.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(r===e.url||"mailto:"+r===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}GE.peek=A7;function GE(e,n,r,l){const o=ng(r),s=o==='"'?"Quote":"Apostrophe",c=r.createTracker(l);let f,d;if(qE(e,r)){const g=r.stack;r.stack=[],f=r.enter("autolink");let p=c.move("<");return p+=c.move(r.containerPhrasing(e,{before:p,after:">",...c.current()})),p+=c.move(">"),f(),r.stack=g,p}f=r.enter("link"),d=r.enter("label");let h=c.move("[");return h+=c.move(r.containerPhrasing(e,{before:h,after:"](",...c.current()})),h+=c.move("]("),d(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(d=r.enter("destinationLiteral"),h+=c.move("<"),h+=c.move(r.safe(e.url,{before:h,after:">",...c.current()})),h+=c.move(">")):(d=r.enter("destinationRaw"),h+=c.move(r.safe(e.url,{before:h,after:e.title?" ":")",...c.current()}))),d(),e.title&&(d=r.enter(`title${s}`),h+=c.move(" "+o),h+=c.move(r.safe(e.title,{before:h,after:o,...c.current()})),h+=c.move(o),d()),h+=c.move(")"),f(),h}function A7(e,n,r){return qE(e,r)?"<":"["}VE.peek=M7;function VE(e,n,r,l){const o=e.referenceType,s=r.enter("linkReference");let c=r.enter("label");const f=r.createTracker(l);let d=f.move("[");const h=r.containerPhrasing(e,{before:d,after:"]",...f.current()});d+=f.move(h+"]["),c();const g=r.stack;r.stack=[],c=r.enter("reference");const p=r.safe(r.associationId(e),{before:d,after:"]",...f.current()});return c(),r.stack=g,s(),o==="full"||!h||h!==p?d+=f.move(p+"]"):o==="shortcut"?d=d.slice(0,-1):d+=f.move("]"),d}function M7(){return"["}function rg(e){const n=e.options.bullet||"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bullet`, expected `*`, `+`, or `-`");return n}function j7(e){const n=rg(e),r=e.options.bulletOther;if(!r)return n==="*"?"-":"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(r===n)throw new Error("Expected `bullet` (`"+n+"`) and `bulletOther` (`"+r+"`) to be different");return r}function _7(e){const n=e.options.bulletOrdered||".";if(n!=="."&&n!==")")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOrdered`, expected `.` or `)`");return n}function $E(e){const n=e.options.rule||"*";if(n!=="*"&&n!=="-"&&n!=="_")throw new Error("Cannot serialize rules with `"+n+"` for `options.rule`, expected `*`, `-`, or `_`");return n}function O7(e,n,r,l){const o=r.enter("list"),s=r.bulletCurrent;let c=e.ordered?_7(r):rg(r);const f=e.ordered?c==="."?")":".":j7(r);let d=n&&r.bulletLastUsed?c===r.bulletLastUsed:!1;if(!e.ordered){const g=e.children?e.children[0]:void 0;if((c==="*"||c==="-")&&g&&(!g.children||!g.children[0])&&r.stack[r.stack.length-1]==="list"&&r.stack[r.stack.length-2]==="listItem"&&r.stack[r.stack.length-3]==="list"&&r.stack[r.stack.length-4]==="listItem"&&r.indexStack[r.indexStack.length-1]===0&&r.indexStack[r.indexStack.length-2]===0&&r.indexStack[r.indexStack.length-3]===0&&(d=!0),$E(r)===c&&g){let p=-1;for(;++p<e.children.length;){const b=e.children[p];if(b&&b.type==="listItem"&&b.children&&b.children[0]&&b.children[0].type==="thematicBreak"){d=!0;break}}}}d&&(c=f),r.bulletCurrent=c;const h=r.containerFlow(e,l);return r.bulletLastUsed=c,r.bulletCurrent=s,o(),h}function D7(e){const n=e.options.listItemIndent||"one";if(n!=="tab"&&n!=="one"&&n!=="mixed")throw new Error("Cannot serialize items with `"+n+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return n}function z7(e,n,r,l){const o=D7(r);let s=r.bulletCurrent||rg(r);n&&n.type==="list"&&n.ordered&&(s=(typeof n.start=="number"&&n.start>-1?n.start:1)+(r.options.incrementListMarker===!1?0:n.children.indexOf(e))+s);let c=s.length+1;(o==="tab"||o==="mixed"&&(n&&n.type==="list"&&n.spread||e.spread))&&(c=Math.ceil(c/4)*4);const f=r.createTracker(l);f.move(s+" ".repeat(c-s.length)),f.shift(c);const d=r.enter("listItem"),h=r.indentLines(r.containerFlow(e,f.current()),g);return d(),h;function g(p,b,w){return b?(w?"":" ".repeat(c))+p:(w?s:s+" ".repeat(c-s.length))+p}}function L7(e,n,r,l){const o=r.enter("paragraph"),s=r.enter("phrasing"),c=r.containerPhrasing(e,l);return s(),o(),c}const P7=Qc(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function B7(e,n,r,l){return(e.children.some(function(c){return P7(c)})?r.containerPhrasing:r.containerFlow).call(r,e,l)}function I7(e){const n=e.options.strong||"*";if(n!=="*"&&n!=="_")throw new Error("Cannot serialize strong with `"+n+"` for `options.strong`, expected `*`, or `_`");return n}YE.peek=U7;function YE(e,n,r,l){const o=I7(r),s=r.enter("strong"),c=r.createTracker(l),f=c.move(o+o);let d=c.move(r.containerPhrasing(e,{after:o,before:f,...c.current()}));const h=d.charCodeAt(0),g=xc(l.before.charCodeAt(l.before.length-1),h,o);g.inside&&(d=$o(h)+d.slice(1));const p=d.charCodeAt(d.length-1),b=xc(l.after.charCodeAt(0),p,o);b.inside&&(d=d.slice(0,-1)+$o(p));const w=c.move(o+o);return s(),r.attentionEncodeSurroundingInfo={after:b.outside,before:g.outside},f+d+w}function U7(e,n,r){return r.options.strong||"*"}function H7(e,n,r,l){return r.safe(e.value,l)}function F7(e){const n=e.options.ruleRepetition||3;if(n<3)throw new Error("Cannot serialize rules with repetition `"+n+"` for `options.ruleRepetition`, expected `3` or more");return n}function q7(e,n,r){const l=($E(r)+(r.options.ruleSpaces?" ":"")).repeat(F7(r));return r.options.ruleSpaces?l.slice(0,-1):l}const XE={blockquote:d7,break:r1,code:x7,definition:b7,emphasis:BE,hardBreak:r1,heading:E7,html:IE,image:UE,imageReference:HE,inlineCode:FE,link:GE,linkReference:VE,list:O7,listItem:z7,paragraph:L7,root:B7,strong:YE,text:H7,thematicBreak:q7};function G7(){return{enter:{table:V7,tableData:i1,tableHeader:i1,tableRow:Y7},exit:{codeText:X7,table:$7,tableData:Jh,tableHeader:Jh,tableRow:Jh}}}function V7(e){const n=e._align;this.enter({type:"table",align:n.map(function(r){return r==="none"?null:r}),children:[]},e),this.data.inTable=!0}function $7(e){this.exit(e),this.data.inTable=void 0}function Y7(e){this.enter({type:"tableRow",children:[]},e)}function Jh(e){this.exit(e)}function i1(e){this.enter({type:"tableCell",children:[]},e)}function X7(e){let n=this.resume();this.data.inTable&&(n=n.replace(/\\([\\|])/g,K7));const r=this.stack[this.stack.length-1];r.type,r.value=n,this.exit(e)}function K7(e,n){return n==="|"?n:e}function Q7(e){const n=e||{},r=n.tableCellPadding,l=n.tablePipeAlign,o=n.stringLength,s=r?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
415
415
  `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:b,table:c,tableCell:d,tableRow:f}};function c(w,E,C,k){return h(g(w,C,k),w.align)}function f(w,E,C,k){const N=p(w,C,k),j=h([N]);return j.slice(0,j.indexOf(`
416
- `))}function d(w,E,C,k){const N=C.enter("tableCell"),j=C.enter("phrasing"),M=C.containerPhrasing(w,{...k,before:s,after:s});return j(),N(),M}function h(w,E){return c7(w,{align:E,alignDelimiters:l,padding:r,stringLength:o})}function g(w,E,C){const k=w.children;let N=-1;const j=[],M=E.enter("table");for(;++N<k.length;)j[N]=p(k[N],E,C);return M(),j}function p(w,E,C){const k=w.children;let N=-1;const j=[],M=E.enter("tableRow");for(;++N<k.length;)j[N]=d(k[N],w,E,C);return M(),j}function b(w,E,C){let k=XE.inlineCode(w,E,C);return C.stack.includes("tableCell")&&(k=k.replace(/\|/g,"\\$&")),k}}function Z7(){return{exit:{taskListCheckValueChecked:l1,taskListCheckValueUnchecked:l1,paragraph:J7}}}function W7(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:eP}}}function l1(e){const n=this.stack[this.stack.length-2];n.type,n.checked=e.type==="taskListCheckValueChecked"}function J7(e){const n=this.stack[this.stack.length-2];if(n&&n.type==="listItem"&&typeof n.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const l=r.children[0];if(l&&l.type==="text"){const o=n.children;let s=-1,c;for(;++s<o.length;){const f=o[s];if(f.type==="paragraph"){c=f;break}}c===r&&(l.value=l.value.slice(1),l.value.length===0?r.children.shift():r.position&&l.position&&typeof l.position.start.offset=="number"&&(l.position.start.column++,l.position.start.offset++,r.position.start=Object.assign({},l.position.start)))}}this.exit(e)}function eP(e,n,r,l){const o=e.children[0],s=typeof e.checked=="boolean"&&o&&o.type==="paragraph",c="["+(e.checked?"x":" ")+"] ",f=r.createTracker(l);s&&f.move(c);let d=XE.listItem(e,n,r,{...l,...f.current()});return s&&(d=d.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),d;function h(g){return g+c}}function tP(){return[O9(),e7(),i7(),G7(),Z7()]}function nP(e){return{extensions:[D9(),t7(e),l7(),Q7(e),W7()]}}const rP={tokenize:uP,partial:!0},KE={tokenize:cP,partial:!0},QE={tokenize:fP,partial:!0},ZE={tokenize:dP,partial:!0},iP={tokenize:hP,partial:!0},WE={name:"wwwAutolink",tokenize:oP,previous:e2},JE={name:"protocolAutolink",tokenize:sP,previous:t2},Zr={name:"emailAutolink",tokenize:aP,previous:n2},Er={};function lP(){return{text:Er}}let al=48;for(;al<123;)Er[al]=Zr,al++,al===58?al=65:al===91&&(al=97);Er[43]=Zr;Er[45]=Zr;Er[46]=Zr;Er[95]=Zr;Er[72]=[Zr,JE];Er[104]=[Zr,JE];Er[87]=[Zr,WE];Er[119]=[Zr,WE];function aP(e,n,r){const l=this;let o,s;return c;function c(p){return!Pm(p)||!n2.call(l,l.previous)||ig(l.events)?r(p):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),f(p))}function f(p){return Pm(p)?(e.consume(p),f):p===64?(e.consume(p),d):r(p)}function d(p){return p===46?e.check(iP,g,h)(p):p===45||p===95||Xt(p)?(s=!0,e.consume(p),d):g(p)}function h(p){return e.consume(p),o=!0,d}function g(p){return s&&o&&Wt(l.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),n(p)):r(p)}}function oP(e,n,r){const l=this;return o;function o(c){return c!==87&&c!==119||!e2.call(l,l.previous)||ig(l.events)?r(c):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(rP,e.attempt(KE,e.attempt(QE,s),r),r)(c))}function s(c){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),n(c)}}function sP(e,n,r){const l=this;let o="",s=!1;return c;function c(p){return(p===72||p===104)&&t2.call(l,l.previous)&&!ig(l.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(p),e.consume(p),f):r(p)}function f(p){if(Wt(p)&&o.length<5)return o+=String.fromCodePoint(p),e.consume(p),f;if(p===58){const b=o.toLowerCase();if(b==="http"||b==="https")return e.consume(p),d}return r(p)}function d(p){return p===47?(e.consume(p),s?h:(s=!0,d)):r(p)}function h(p){return p===null||pc(p)||tt(p)||cl(p)||Yc(p)?r(p):e.attempt(KE,e.attempt(QE,g),r)(p)}function g(p){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),n(p)}}function uP(e,n,r){let l=0;return o;function o(c){return(c===87||c===119)&&l<3?(l++,e.consume(c),o):c===46&&l===3?(e.consume(c),s):r(c)}function s(c){return c===null?r(c):n(c)}}function cP(e,n,r){let l,o,s;return c;function c(h){return h===46||h===95?e.check(ZE,d,f)(h):h===null||tt(h)||cl(h)||h!==45&&Yc(h)?d(h):(s=!0,e.consume(h),c)}function f(h){return h===95?l=!0:(o=l,l=void 0),e.consume(h),c}function d(h){return o||l||!s?r(h):n(h)}}function fP(e,n){let r=0,l=0;return o;function o(c){return c===40?(r++,e.consume(c),o):c===41&&l<r?s(c):c===33||c===34||c===38||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===60||c===63||c===93||c===95||c===126?e.check(ZE,n,s)(c):c===null||tt(c)||cl(c)?n(c):(e.consume(c),o)}function s(c){return c===41&&l++,e.consume(c),o}}function dP(e,n,r){return l;function l(f){return f===33||f===34||f===39||f===41||f===42||f===44||f===46||f===58||f===59||f===63||f===95||f===126?(e.consume(f),l):f===38?(e.consume(f),s):f===93?(e.consume(f),o):f===60||f===null||tt(f)||cl(f)?n(f):r(f)}function o(f){return f===null||f===40||f===91||tt(f)||cl(f)?n(f):l(f)}function s(f){return Wt(f)?c(f):r(f)}function c(f){return f===59?(e.consume(f),l):Wt(f)?(e.consume(f),c):r(f)}}function hP(e,n,r){return l;function l(s){return e.consume(s),o}function o(s){return Xt(s)?r(s):n(s)}}function e2(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||tt(e)}function t2(e){return!Wt(e)}function n2(e){return!(e===47||Pm(e))}function Pm(e){return e===43||e===45||e===46||e===95||Xt(e)}function ig(e){let n=e.length,r=!1;for(;n--;){const l=e[n][1];if((l.type==="labelLink"||l.type==="labelImage")&&!l._balanced){r=!0;break}if(l._gfmAutolinkLiteralWalkedInto){r=!1;break}}return e.length>0&&!r&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const mP={tokenize:SP,partial:!0};function pP(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:vP,continuation:{tokenize:bP},exit:wP}},text:{91:{name:"gfmFootnoteCall",tokenize:xP},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:gP,resolveTo:yP}}}}function gP(e,n,r){const l=this;let o=l.events.length;const s=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let c;for(;o--;){const d=l.events[o][1];if(d.type==="labelImage"){c=d;break}if(d.type==="gfmFootnoteCall"||d.type==="labelLink"||d.type==="label"||d.type==="image"||d.type==="link")break}return f;function f(d){if(!c||!c._balanced)return r(d);const h=nr(l.sliceSerialize({start:c.end,end:l.now()}));return h.codePointAt(0)!==94||!s.includes(h.slice(1))?r(d):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),n(d))}}function yP(e,n){let r=e.length;for(;r--;)if(e[r][1].type==="labelImage"&&e[r][0]==="enter"){e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const l={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},f=[e[r+1],e[r+2],["enter",l,n],e[r+3],e[r+4],["enter",o,n],["exit",o,n],["enter",s,n],["enter",c,n],["exit",c,n],["exit",s,n],e[e.length-2],e[e.length-1],["exit",l,n]];return e.splice(r,e.length-r+1,...f),e}function xP(e,n,r){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let s=0,c;return f;function f(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),d}function d(p){return p!==94?r(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(p){if(s>999||p===93&&!c||p===null||p===91||tt(p))return r(p);if(p===93){e.exit("chunkString");const b=e.exit("gfmFootnoteCallString");return o.includes(nr(l.sliceSerialize(b)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),n):r(p)}return tt(p)||(c=!0),s++,e.consume(p),p===92?g:h}function g(p){return p===91||p===92||p===93?(e.consume(p),s++,h):h(p)}}function vP(e,n,r){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let s,c=0,f;return d;function d(E){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(E){return E===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",g):r(E)}function g(E){if(c>999||E===93&&!f||E===null||E===91||tt(E))return r(E);if(E===93){e.exit("chunkString");const C=e.exit("gfmFootnoteDefinitionLabelString");return s=nr(l.sliceSerialize(C)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),b}return tt(E)||(f=!0),c++,e.consume(E),E===92?p:g}function p(E){return E===91||E===92||E===93?(e.consume(E),c++,g):g(E)}function b(E){return E===58?(e.enter("definitionMarker"),e.consume(E),e.exit("definitionMarker"),o.includes(s)||o.push(s),He(e,w,"gfmFootnoteDefinitionWhitespace")):r(E)}function w(E){return n(E)}}function bP(e,n,r){return e.check(ss,n,e.attempt(mP,n,r))}function wP(e){e.exit("gfmFootnoteDefinition")}function SP(e,n,r){const l=this;return He(e,o,"gfmFootnoteDefinitionIndent",5);function o(s){const c=l.events[l.events.length-1];return c&&c[1].type==="gfmFootnoteDefinitionIndent"&&c[2].sliceSerialize(c[1],!0).length===4?n(s):r(s)}}function CP(e){let r=(e||{}).singleTilde;const l={name:"strikethrough",tokenize:s,resolveAll:o};return r==null&&(r=!0),{text:{126:l},insideSpan:{null:[l]},attentionMarkers:{null:[126]}};function o(c,f){let d=-1;for(;++d<c.length;)if(c[d][0]==="enter"&&c[d][1].type==="strikethroughSequenceTemporary"&&c[d][1]._close){let h=d;for(;h--;)if(c[h][0]==="exit"&&c[h][1].type==="strikethroughSequenceTemporary"&&c[h][1]._open&&c[d][1].end.offset-c[d][1].start.offset===c[h][1].end.offset-c[h][1].start.offset){c[d][1].type="strikethroughSequence",c[h][1].type="strikethroughSequence";const g={type:"strikethrough",start:Object.assign({},c[h][1].start),end:Object.assign({},c[d][1].end)},p={type:"strikethroughText",start:Object.assign({},c[h][1].end),end:Object.assign({},c[d][1].start)},b=[["enter",g,f],["enter",c[h][1],f],["exit",c[h][1],f],["enter",p,f]],w=f.parser.constructs.insideSpan.null;w&&Tn(b,b.length,0,Xc(w,c.slice(h+1,d),f)),Tn(b,b.length,0,[["exit",p,f],["enter",c[d][1],f],["exit",c[d][1],f],["exit",g,f]]),Tn(c,h-1,d-h+3,b),d=h+b.length-2;break}}for(d=-1;++d<c.length;)c[d][1].type==="strikethroughSequenceTemporary"&&(c[d][1].type="data");return c}function s(c,f,d){const h=this.previous,g=this.events;let p=0;return b;function b(E){return h===126&&g[g.length-1][1].type!=="characterEscape"?d(E):(c.enter("strikethroughSequenceTemporary"),w(E))}function w(E){const C=ga(h);if(E===126)return p>1?d(E):(c.consume(E),p++,w);if(p<2&&!r)return d(E);const k=c.exit("strikethroughSequenceTemporary"),N=ga(E);return k._open=!N||N===2&&!!C,k._close=!C||C===2&&!!N,f(E)}}}class EP{constructor(){this.map=[]}add(n,r,l){kP(this,n,r,l)}consume(n){if(this.map.sort(function(s,c){return s[0]-c[0]}),this.map.length===0)return;let r=this.map.length;const l=[];for(;r>0;)r-=1,l.push(n.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),n.length=this.map[r][0];l.push(n.slice()),n.length=0;let o=l.pop();for(;o;){for(const s of o)n.push(s);o=l.pop()}this.map.length=0}}function kP(e,n,r,l){let o=0;if(!(r===0&&l.length===0)){for(;o<e.map.length;){if(e.map[o][0]===n){e.map[o][1]+=r,e.map[o][2].push(...l);return}o+=1}e.map.push([n,r,l])}}function NP(e,n){let r=!1;const l=[];for(;n<e.length;){const o=e[n];if(r){if(o[0]==="enter")o[1].type==="tableContent"&&l.push(e[n+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[n-1][1].type==="tableDelimiterMarker"){const s=l.length-1;l[s]=l[s]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(r=!0);n+=1}return l}function TP(){return{flow:{null:{name:"table",tokenize:RP,resolveAll:AP}}}}function RP(e,n,r){const l=this;let o=0,s=0,c;return f;function f(I){let J=l.events.length-1;for(;J>-1;){const le=l.events[J][1].type;if(le==="lineEnding"||le==="linePrefix")J--;else break}const te=J>-1?l.events[J][1].type:null,ce=te==="tableHead"||te==="tableRow"?_:d;return ce===_&&l.parser.lazy[l.now().line]?r(I):ce(I)}function d(I){return e.enter("tableHead"),e.enter("tableRow"),h(I)}function h(I){return I===124||(c=!0,s+=1),g(I)}function g(I){return I===null?r(I):Ee(I)?s>1?(s=0,l.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),w):r(I):Pe(I)?He(e,g,"whitespace")(I):(s+=1,c&&(c=!1,o+=1),I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),c=!0,g):(e.enter("data"),p(I)))}function p(I){return I===null||I===124||tt(I)?(e.exit("data"),g(I)):(e.consume(I),I===92?b:p)}function b(I){return I===92||I===124?(e.consume(I),p):p(I)}function w(I){return l.interrupt=!1,l.parser.lazy[l.now().line]?r(I):(e.enter("tableDelimiterRow"),c=!1,Pe(I)?He(e,E,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):E(I))}function E(I){return I===45||I===58?k(I):I===124?(c=!0,e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),C):U(I)}function C(I){return Pe(I)?He(e,k,"whitespace")(I):k(I)}function k(I){return I===58?(s+=1,c=!0,e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),N):I===45?(s+=1,N(I)):I===null||Ee(I)?D(I):U(I)}function N(I){return I===45?(e.enter("tableDelimiterFiller"),j(I)):U(I)}function j(I){return I===45?(e.consume(I),j):I===58?(c=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),M):(e.exit("tableDelimiterFiller"),M(I))}function M(I){return Pe(I)?He(e,D,"whitespace")(I):D(I)}function D(I){return I===124?E(I):I===null||Ee(I)?!c||o!==s?U(I):(e.exit("tableDelimiterRow"),e.exit("tableHead"),n(I)):U(I)}function U(I){return r(I)}function _(I){return e.enter("tableRow"),P(I)}function P(I){return I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),P):I===null||Ee(I)?(e.exit("tableRow"),n(I)):Pe(I)?He(e,P,"whitespace")(I):(e.enter("data"),F(I))}function F(I){return I===null||I===124||tt(I)?(e.exit("data"),P(I)):(e.consume(I),I===92?ne:F)}function ne(I){return I===92||I===124?(e.consume(I),F):F(I)}}function AP(e,n){let r=-1,l=!0,o=0,s=[0,0,0,0],c=[0,0,0,0],f=!1,d=0,h,g,p;const b=new EP;for(;++r<e.length;){const w=e[r],E=w[1];w[0]==="enter"?E.type==="tableHead"?(f=!1,d!==0&&(a1(b,n,d,h,g),g=void 0,d=0),h={type:"table",start:Object.assign({},E.start),end:Object.assign({},E.end)},b.add(r,0,[["enter",h,n]])):E.type==="tableRow"||E.type==="tableDelimiterRow"?(l=!0,p=void 0,s=[0,0,0,0],c=[0,r+1,0,0],f&&(f=!1,g={type:"tableBody",start:Object.assign({},E.start),end:Object.assign({},E.end)},b.add(r,0,[["enter",g,n]])),o=E.type==="tableDelimiterRow"?2:g?3:1):o&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")?(l=!1,c[2]===0&&(s[1]!==0&&(c[0]=c[1],p=Iu(b,n,s,o,void 0,p),s=[0,0,0,0]),c[2]=r)):E.type==="tableCellDivider"&&(l?l=!1:(s[1]!==0&&(c[0]=c[1],p=Iu(b,n,s,o,void 0,p)),s=c,c=[s[1],r,0,0])):E.type==="tableHead"?(f=!0,d=r):E.type==="tableRow"||E.type==="tableDelimiterRow"?(d=r,s[1]!==0?(c[0]=c[1],p=Iu(b,n,s,o,r,p)):c[1]!==0&&(p=Iu(b,n,c,o,r,p)),o=0):o&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")&&(c[3]=r)}for(d!==0&&a1(b,n,d,h,g),b.consume(n.events),r=-1;++r<n.events.length;){const w=n.events[r];w[0]==="enter"&&w[1].type==="table"&&(w[1]._align=NP(n.events,r))}return e}function Iu(e,n,r,l,o,s){const c=l===1?"tableHeader":l===2?"tableDelimiter":"tableData",f="tableContent";r[0]!==0&&(s.end=Object.assign({},aa(n.events,r[0])),e.add(r[0],0,[["exit",s,n]]));const d=aa(n.events,r[1]);if(s={type:c,start:Object.assign({},d),end:Object.assign({},d)},e.add(r[1],0,[["enter",s,n]]),r[2]!==0){const h=aa(n.events,r[2]),g=aa(n.events,r[3]),p={type:f,start:Object.assign({},h),end:Object.assign({},g)};if(e.add(r[2],0,[["enter",p,n]]),l!==2){const b=n.events[r[2]],w=n.events[r[3]];if(b[1].end=Object.assign({},w[1].end),b[1].type="chunkText",b[1].contentType="text",r[3]>r[2]+1){const E=r[2]+1,C=r[3]-r[2]-1;e.add(E,C,[])}}e.add(r[3]+1,0,[["exit",p,n]])}return o!==void 0&&(s.end=Object.assign({},aa(n.events,o)),e.add(o,0,[["exit",s,n]]),s=void 0),s}function a1(e,n,r,l,o){const s=[],c=aa(n.events,r);o&&(o.end=Object.assign({},c),s.push(["exit",o,n])),l.end=Object.assign({},c),s.push(["exit",l,n]),e.add(r+1,0,s)}function aa(e,n){const r=e[n],l=r[0]==="enter"?"start":"end";return r[1][l]}const MP={name:"tasklistCheck",tokenize:_P};function jP(){return{text:{91:MP}}}function _P(e,n,r){const l=this;return o;function o(d){return l.previous!==null||!l._gfmTasklistFirstContentOfListItem?r(d):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),s)}function s(d){return tt(d)?(e.enter("taskListCheckValueUnchecked"),e.consume(d),e.exit("taskListCheckValueUnchecked"),c):d===88||d===120?(e.enter("taskListCheckValueChecked"),e.consume(d),e.exit("taskListCheckValueChecked"),c):r(d)}function c(d){return d===93?(e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),f):r(d)}function f(d){return Ee(d)?n(d):Pe(d)?e.check({tokenize:OP},n,r)(d):r(d)}}function OP(e,n,r){return He(e,l,"whitespace");function l(o){return o===null?r(o):n(o)}}function DP(e){return hE([lP(),pP(),CP(e),TP(),jP()])}const zP={};function Jc(e){const n=this,r=e||zP,l=n.data(),o=l.micromarkExtensions||(l.micromarkExtensions=[]),s=l.fromMarkdownExtensions||(l.fromMarkdownExtensions=[]),c=l.toMarkdownExtensions||(l.toMarkdownExtensions=[]);o.push(DP(r)),s.push(tP()),c.push(nP(r))}function LP({content:e}){return x.jsx("div",{className:"flex gap-2 justify-end",children:x.jsx("div",{className:"max-w-[85%] sm:max-w-[80%] rounded-[20px] py-1.5 px-3.5 bg-muted text-primary border border-border prose prose-sm prose-invert [&_p]:whitespace-pre-line",children:x.jsx(Wc,{remarkPlugins:[Jc],components:$c,children:e})})})}function PP({json:e}){return x.jsx("div",{className:"flex gap-3 justify-start",children:x.jsx("div",{className:"flex-1 max-w-[90%]",children:x.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap break-words bg-muted rounded-lg p-3 overflow-auto max-h-96",children:e})})})}function r2({title:e,count:n,children:r,badge:l}){const[o,s]=v.useState(!1);return n===0?null:x.jsxs("div",{className:"flex flex-col gap-1.5",children:[x.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[x.jsx(Yr,{className:ye("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",o&&"rotate-90")}),x.jsx("span",{className:"text-muted-foreground font-medium",children:e}),x.jsx("span",{className:"text-muted-foreground/60",children:n}),l]}),o&&x.jsx("div",{className:"ml-5",children:r})]})}function em({title:e,items:n,icon:r,getIcon:l}){return n.length===0?null:x.jsx(r2,{title:e,count:n.length,children:x.jsx("div",{className:"flex flex-wrap gap-1.5",children:n.map(o=>x.jsx(ZC,{icon:l?l(o):r,children:o},o))})})}function BP(e){const n=e.match(/^mcp__([^_]+)__(.+)$/);return n?{server:n[1],tool:n[2]}:null}function i2({status:e}){const n=e==="connected"?"bg-emerald-500":e==="pending"?"bg-yellow-500":"bg-red-500";return x.jsx("span",{className:ye("inline-block h-2 w-2 rounded-full shrink-0",n)})}function IP(e){switch(e){case"connected":return"Connected";case"failed":return"Failed";case"needs-auth":return"Needs auth";case"pending":return"Connecting...";case"disabled":return"Disabled";default:return e}}function o1({server:e}){const[n,r]=v.useState(!1),l=e.status==="connected";return x.jsxs("div",{className:"flex flex-col gap-1.5",children:[x.jsxs("button",{onClick:()=>l&&e.tools.length>0&&r(!n),className:ye("flex items-center gap-1.5",l&&e.tools.length>0&&"cursor-pointer hover:opacity-60 transition-opacity"),children:[l&&e.tools.length>0&&x.jsx(Yr,{className:ye("h-3 w-3 text-muted-foreground transition-transform duration-200",n&&"rotate-90")}),x.jsx(i2,{status:e.status}),x.jsx("span",{className:"text-muted-foreground font-medium",children:gm(e.name)}),l?x.jsxs("span",{className:"text-muted-foreground/50",children:[e.tools.length," tools"]}):x.jsx("span",{className:"text-muted-foreground/50",children:IP(e.status)})]}),!l&&e.error&&x.jsx("span",{className:"text-destructive ml-5",children:e.error}),n&&e.tools.length>0&&x.jsx("div",{className:"flex flex-wrap gap-1.5 ml-5",children:e.tools.map(o=>x.jsx(ZC,{icon:QC(`mcp__${e.name}__${o}`),children:o},o))})]})}function UP({servers:e}){if(e.length===0)return null;const n=e.filter(o=>o.status==="connected"),r=e.filter(o=>o.status!=="connected"),l=r.length>0?x.jsxs("span",{className:"flex items-center gap-1 ml-1",children:[x.jsx(i2,{status:"failed"}),x.jsxs("span",{className:"text-muted-foreground/60",children:[r.length," disconnected"]})]}):null;return x.jsx(r2,{title:"MCP Servers",count:e.length,badge:l,children:x.jsxs("div",{className:"flex flex-col gap-2",children:[n.map(o=>x.jsx(o1,{server:o},o.name)),r.map(o=>x.jsx(o1,{server:o},o.name))]})})}function HP({rawJson:e}){const[n,r]=v.useState(!1);return x.jsxs("div",{className:"flex flex-col gap-1.5",children:[x.jsxs("button",{onClick:()=>r(!n),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[x.jsx(Yr,{className:ye("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",n&&"rotate-90")}),x.jsx("span",{className:"text-muted-foreground font-medium",children:"Raw Message"})]}),n&&x.jsx("pre",{className:"ml-5 text-xs whitespace-pre-wrap break-all border border-border rounded-md p-3 overflow-x-auto max-h-96 overflow-y-auto",children:e})]})}function FP({message:e,rawJson:n}){const{coreTools:r,mcpServersWithTools:l}=v.useMemo(()=>{const o=new Map,s=[];for(const f of e.tools){const d=BP(f);if(d){const h=o.get(d.server)||[];h.push(d.tool),o.set(d.server,h)}else s.push(f)}const c=e.mcpServers.map(f=>({name:f.name,status:f.status,error:f.error,tools:o.get(f.name)||[]}));return{coreTools:s,mcpServersWithTools:c}},[e.tools,e.mcpServers]);return x.jsx(Bi,{children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-xs",children:x.jsxs("div",{className:"flex flex-col gap-3",children:[x.jsx(cz,{children:e.model}),x.jsx(em,{title:"Tools",items:r,getIcon:o=>Nm[o]??KC}),x.jsx(em,{title:"Agents",items:e.agents,icon:ip}),x.jsx(em,{title:"Commands",items:e.slashCommands,icon:Wj}),x.jsx(UP,{servers:l}),n&&x.jsx(HP,{rawJson:n})]})}),children:[x.jsx(JM,{className:"h-5 w-5 text-logo"}),x.jsx(Oi,{children:"Session Started"})]})})}function qP({message:e}){return x.jsx(Bi,{className:"hidden",children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-xs",children:x.jsx("pre",{className:"font-mono whitespace-pre-wrap break-all bg-muted border border-border rounded-lg p-2 max-h-64 overflow-auto",children:JSON.stringify(e.accountInfo,null,2)})}),children:[x.jsx("div",{className:"size-5 flex justify-center items-center ",children:x.jsx(ip,{className:"h-4 w-4 text-muted-foreground"})}),x.jsx(Oi,{children:"Account"})]})})}function GP({message:e}){return x.jsx("div",{className:"text-pretty prose prose-sm dark:prose-invert px-0.5 w-full max-w-full space-y-4",children:x.jsx(Wc,{remarkPlugins:[Jc],components:$c,children:e.text})})}function VP({question:e,currentIndex:n,totalQuestions:r,onBack:l,children:o}){const s=l&&n>0;return x.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[x.jsxs("div",{className:"relative",children:[x.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border text-foreground flex flex-row items-center gap-2",children:[s?x.jsx("button",{onClick:l,className:" text-muted-foreground hover:opacity-60 transition-all flex items-center",children:x.jsx(uj,{className:"h-4 w-4 -ml-0.5",strokeWidth:3})}):r>1?x.jsxs("span",{className:"font-bold text-muted-foreground whitespace-nowrap",children:[n+1," of ",r]}):null,e]}),r>1&&x.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-border",children:x.jsx("div",{className:"h-full bg-muted-foreground/40 transition-all duration-300",style:{width:`${n/r*100}%`}})})]}),o]})}function s1({label:e,description:n}){return x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"text-foreground text-sm",children:e}),n&&x.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:n})]})}function l2({selected:e,multiSelect:n,onClick:r}){return x.jsx("button",{type:"button",onClick:r,className:ye("flex-shrink-0 w-5 h-5 border-1 flex items-center justify-center",n?"rounded":"rounded-full",e?"border-slate-500/0 bg-foreground":"border-muted-foreground/50 bg-background",r&&e&&"cursor-pointer"),children:e&&x.jsx(sl,{strokeWidth:3,className:"translate-y-[0.5px] h-3 w-3 text-white dark:text-background"})})}function $P({option:e,selected:n,multiSelect:r,onClick:l,isLast:o}){const s="w-full text-left p-3 pt-2.5 pl-4 pr-5 bg-background",c=o?"":"border-b border-border";return l?x.jsx("button",{onClick:l,className:ye(s,c,"transition-all cursor-pointer"),children:x.jsxs("div",{className:"flex items-center justify-between gap-3",children:[x.jsx("div",{className:"flex-1 min-w-0",children:x.jsx(s1,{label:e.label,description:e.description})}),x.jsx(l2,{selected:n,multiSelect:r})]})}):x.jsx("div",{className:ye(s,c),children:x.jsx(s1,{label:e.label,description:e.description})})}function YP(e){return e==null?void 0:e.answers}function er(e){return e.id||e.question}function XP({message:e,onSubmit:n,isLatest:r}){var B,X;const l=e.input.questions,o=!!e.result,s=YP(e.result),c=((B=e.result)==null?void 0:B.discarded)===!0,[f,d]=v.useState(0),[h,g]=v.useState({}),[p,b]=v.useState({}),[w,E]=v.useState(s??null),[C,k]=v.useState(o),N=($,Z)=>{var Q;const R=(Q=p[$])==null?void 0:Q.trim(),O=h[$]||"",z=Z||l.find(fe=>er(fe)===$);if(z!=null&&z.multiSelect)return[O,R].filter(Boolean).flatMap(fe=>fe.split(", ").filter(Boolean));const A=R||O;return A?[A]:[]},j=$=>{const Z=h[er($)]||"";return $.multiSelect?Z.split(", ").filter(Boolean):[Z]},M=($,Z)=>{const R=er($);if($.multiSelect){const O=h[R]?h[R].split(", ").filter(Boolean):[],z=O.includes(Z)?O.filter(A=>A!==Z):[...O,Z];g({...h,[R]:z.join(", ")})}else g({...h,[R]:Z}),b({...p,[R]:""}),f<l.length-1&&setTimeout(()=>d(f+1),150)},D=($,Z)=>{const R=er($);b({...p,[R]:Z}),Z&&!$.multiSelect&&g({...h,[R]:""})},U=$=>{const Z=er($);$.multiSelect&&p[Z]&&b({...p,[Z]:""})},_=l.every($=>N(er($),$).length>0),P=l[f],F=f===l.length-1,ne=P&&N(er(P),P).length>0,I=()=>{f<l.length-1&&d(f+1)},J=()=>{f>0&&d(f-1)},te=()=>{if(!_)return;const $={};for(const Z of l){const R=er(Z);$[R]=N(R,Z)}E($),k(!0),n(e.toolId,l,$)},ce=$=>{if($.key==="Enter"&&!(!P||!ne)){if($.preventDefault(),F){te();return}I()}};if(C||o){const $=s||w||{};return x.jsx("div",{className:"w-full",children:x.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[x.jsxs("div",{className:"font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between",children:[x.jsxs("p",{children:["Question",l.length!==1?"s":""]}),x.jsx("p",{className:"",children:c?"Discarded":"Answers"})]}),l.map((Z,R)=>{const O=$[er(Z)]||$[Z.question]||[],z=R===l.length-1;return x.jsxs("div",{className:ye("w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-center justify-between gap-3",!z&&"border-b border-border"),children:[x.jsx("span",{className:"text-sm",children:Z.question}),O.length>0&&x.jsx("span",{className:"text-sm font-medium text-right",children:O.join(", ")}),O.length===0&&x.jsx("span",{className:"text-sm font-medium text-right italic",children:c?"Discarded":"No Response"})]},er(Z))})]})})}if(!r)return x.jsx("div",{className:"w-full py-2",children:x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(jw,{className:"h-4 w-4 text-muted-foreground"}),x.jsx("span",{className:"text-sm text-muted-foreground",children:"Questions pending (newer question active)"})]})});if(!P)return null;const le=j(P),ee=p[er(P)]||"";return x.jsxs("div",{className:"w-full space-y-3",children:[x.jsxs(VP,{question:P.question,currentIndex:f,totalQuestions:l.length,onBack:f>0?J:void 0,children:[(X=P.options)==null?void 0:X.map($=>x.jsx($P,{option:$,selected:le.includes($.label),multiSelect:P.multiSelect,onClick:()=>M(P,$.label)},$.label)),x.jsx("div",{className:"transition-all bg-background",children:x.jsxs("div",{className:"flex pr-5 items-center justify-between gap-3",children:[x.jsx("input",{type:"text",value:ee,onChange:$=>D(P,$.target.value),onKeyDown:ce,placeholder:"Other...",className:"flex-1 px-3 !py-1 pl-4 min-h-[55px] min-w-0 text-sm bg-transparent outline-none text-foreground placeholder:text-muted-foreground"}),x.jsx(l2,{selected:!!ee,multiSelect:P.multiSelect,onClick:P.multiSelect&&ee?()=>U(P):void 0})]})})]}),x.jsxs("div",{className:"flex justify-end gap-2 mx-2",children:[!F&&ne&&(P.multiSelect||!!ee)&&x.jsx($e,{size:"sm",onClick:I,children:"Next"}),F&&x.jsx($e,{size:"sm",onClick:te,disabled:!_,className:ye(!_&&"opacity-50 cursor-not-allowed","rounded-full"),children:"Submit"})]})]})}function KP({message:e,onConfirm:n,isLatest:r}){const l=!!e.result,[o,s]=v.useState(!1),[c,f]=v.useState(!1),[d,h]=v.useState(!1),[g,p]=v.useState(""),b=v.useRef(null),w=e.input;v.useEffect(()=>{d&&b.current&&b.current.focus()},[d]);const E=async()=>{w!=null&&w.plan&&(await navigator.clipboard.writeText(w.plan),f(!0),setTimeout(()=>f(!1),2e3))},C=l?e.result:null,k=(C==null?void 0:C.discarded)===!0;return x.jsxs("div",{className:"flex flex-col gap-3",children:[x.jsxs("div",{className:"relative rounded-2xl border border-border overflow-hidden group/plan",children:[(w==null?void 0:w.plan)&&x.jsx($e,{variant:"ghost",size:"icon",className:ye("absolute top-2 right-2 z-10 h-8 w-8 rounded-md text-muted-foreground opacity-0 group-hover/plan:opacity-100 transition-opacity",!c&&"hover:text-foreground",c&&"hover:!bg-transparent hover:!border-transparent"),onClick:E,children:c?x.jsx(sl,{className:"h-4 w-4 text-green-400"}):x.jsx(Rc,{className:"h-4 w-4"})}),x.jsxs("div",{className:ye("!pt-5 !pb-0 px-4 md:py-4.5 md:px-5.5 bg-muted dark:bg-card overflow-scroll no-pre-highlight transition-all",l&&!o?"max-h-[min(400px,40vh)] ":"",l?"hover:!pb-[32px]":""),children:[l&&x.jsxs($e,{variant:"ghost",className:"absolute z-10 bottom-2 pr-2.5 !pl-3.5 h-[34px] inline-flex gap-1 text-sm left-[50%] -translate-x-[50%] text-muted-foreground backdrop-blur-sm hover:text-foreground opacity-0 group-hover/plan:opacity-100 transition-all rounded-full border border-border",onClick:()=>s(!o),children:[o?"Show Less":"Show More",x.jsx(oj,{className:`size-3.5 transition-transform ${o?"rotate-180":""}`})]}),w!=null&&w.plan?x.jsxs("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:[x.jsx(Wc,{remarkPlugins:[Jc],components:fz,children:w.plan}),x.jsx("div",{className:"mt-5"})]}):x.jsx("p",{className:"text-sm text-muted-foreground",children:"No plan provided"})]})]}),l?x.jsx("div",{className:"flex justify-end mx-2",children:x.jsxs("span",{className:"pl-4 inline text-sm font-medium bg-background text-foreground/60 border border-border py-1.5 px-3 rounded-[20px] leading-relaxed max-w-[85%] sm:max-w-[80%]",children:[x.jsx("em",{children:k?"Discarded":C!=null&&C.clearContext?"Approved & Cleared Context":C!=null&&C.confirmed?"Approved":C!=null&&C.message?`Adjusted: "${C.message}"`:"Adjusted Plan"}),x.jsx(bj,{className:"inline h-4 w-4 ml-1.5 -mt-0.5"})]})}):r?x.jsxs("div",{className:"flex flex-col gap-3",children:[!d&&x.jsxs("div",{className:"flex flex-col md:flex-row items-stretch md:items-center justify-end gap-2 mx-2",children:[x.jsxs($e,{size:"sm",onClick:()=>n(e.toolId,!0,!0),className:"rounded-full bg-primary text-background pr-4 md:order-last",children:[x.jsx(nj,{className:"h-4 w-4 mr-1.5"}),"Approve & Clear"]}),x.jsxs("div",{className:"flex items-stretch md:items-center gap-2 md:contents",children:[x.jsxs($e,{size:"sm",variant:"outline",onClick:()=>h(!0),className:"rounded-full border-border flex-1 md:flex-initial md:order-first",children:[x.jsx(Dw,{className:"h-4 w-4 mr-1.5"}),"Suggest Edits"]}),x.jsxs($e,{size:"sm",variant:"outline",onClick:()=>n(e.toolId,!0),className:"rounded-full border-border flex-1 md:flex-initial",children:[x.jsx(sl,{className:"h-4 w-4 mr-1.5"}),"Approve"]})]})]}),d&&x.jsxs("div",{className:"flex flex-col gap-2",children:[x.jsx("textarea",{ref:b,value:g,onChange:N=>p(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&g.trim()&&(N.preventDefault(),n(e.toolId,!1,void 0,g.trim())),N.key==="Escape"&&(h(!1),p(""))},placeholder:"Describe what you'd like to change...",rows:3,className:"w-full rounded-2xl border border-border bg-muted dark:bg-card px-4 py-3 text-sm text-foreground placeholder:text-muted-foreground resize-none outline-none"}),x.jsxs("div",{className:"flex items-center justify-end gap-2 mx-2",children:[x.jsx($e,{size:"sm",variant:"ghost",onClick:()=>{h(!1),p("")},className:"rounded-full text-muted-foreground",children:"Cancel"}),x.jsxs($e,{size:"sm",disabled:!g.trim(),onClick:()=>n(e.toolId,!1,void 0,g.trim()),className:"rounded-full bg-primary text-background disabled:opacity-50 disabled:pointer-events-none",children:[x.jsx(Kj,{className:"h-4 w-4 mr-1.5"}),"Adjust Plan"]})]})]})]}):x.jsx("div",{className:"flex justify-end mx-2",children:x.jsx("span",{className:"inline text-sm text-muted-foreground italic",children:"Plan pending (newer prompt active)"})})]})}const QP={completed:{Icon:sl,iconClass:"text-emerald-500",textClass:"text-muted-foreground"},in_progress:{Icon:Li,iconClass:"text-foreground animate-spin",textClass:"text-foreground font-medium"},pending:{Icon:mj,iconClass:"text-muted-foreground",textClass:"text-muted-foreground"}};function ZP({message:e}){const n=e.input.todos;return n.length?x.jsx("div",{className:"w-full",children:x.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[x.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border flex items-center gap-2",children:[x.jsx(zj,{className:"h-4 w-4 text-muted-foreground"}),"Progress"]}),x.jsx("div",{children:n.map((r,l)=>{const o=l===n.length-1,{Icon:s,iconClass:c,textClass:f}=QP[r.status];return x.jsxs("div",{className:ye("flex items-center gap-3 px-4 py-2.5 bg-background",!o&&"border-b border-border"),children:[x.jsx(s,{className:ye("h-4 w-4 flex-shrink-0",c)}),x.jsx("span",{className:ye("text-sm",f),children:r.status==="in_progress"?r.activeForm:r.content})]},l)})})]})}):null}function tm(e,n){if(!e)return"";if(n){const r=n.endsWith("/")?n:`${n}/`;if(e.startsWith(r))return e.slice(r.length);if(e===n)return""}return e.replace(/^\/home\/user\/workspace\//,"")}function WP(e){const n=e.split(`
416
+ `))}function d(w,E,C,k){const N=C.enter("tableCell"),j=C.enter("phrasing"),M=C.containerPhrasing(w,{...k,before:s,after:s});return j(),N(),M}function h(w,E){return c7(w,{align:E,alignDelimiters:l,padding:r,stringLength:o})}function g(w,E,C){const k=w.children;let N=-1;const j=[],M=E.enter("table");for(;++N<k.length;)j[N]=p(k[N],E,C);return M(),j}function p(w,E,C){const k=w.children;let N=-1;const j=[],M=E.enter("tableRow");for(;++N<k.length;)j[N]=d(k[N],w,E,C);return M(),j}function b(w,E,C){let k=XE.inlineCode(w,E,C);return C.stack.includes("tableCell")&&(k=k.replace(/\|/g,"\\$&")),k}}function Z7(){return{exit:{taskListCheckValueChecked:l1,taskListCheckValueUnchecked:l1,paragraph:J7}}}function W7(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:eP}}}function l1(e){const n=this.stack[this.stack.length-2];n.type,n.checked=e.type==="taskListCheckValueChecked"}function J7(e){const n=this.stack[this.stack.length-2];if(n&&n.type==="listItem"&&typeof n.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const l=r.children[0];if(l&&l.type==="text"){const o=n.children;let s=-1,c;for(;++s<o.length;){const f=o[s];if(f.type==="paragraph"){c=f;break}}c===r&&(l.value=l.value.slice(1),l.value.length===0?r.children.shift():r.position&&l.position&&typeof l.position.start.offset=="number"&&(l.position.start.column++,l.position.start.offset++,r.position.start=Object.assign({},l.position.start)))}}this.exit(e)}function eP(e,n,r,l){const o=e.children[0],s=typeof e.checked=="boolean"&&o&&o.type==="paragraph",c="["+(e.checked?"x":" ")+"] ",f=r.createTracker(l);s&&f.move(c);let d=XE.listItem(e,n,r,{...l,...f.current()});return s&&(d=d.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),d;function h(g){return g+c}}function tP(){return[O9(),e7(),i7(),G7(),Z7()]}function nP(e){return{extensions:[D9(),t7(e),l7(),Q7(e),W7()]}}const rP={tokenize:uP,partial:!0},KE={tokenize:cP,partial:!0},QE={tokenize:fP,partial:!0},ZE={tokenize:dP,partial:!0},iP={tokenize:hP,partial:!0},WE={name:"wwwAutolink",tokenize:oP,previous:e2},JE={name:"protocolAutolink",tokenize:sP,previous:t2},Zr={name:"emailAutolink",tokenize:aP,previous:n2},Er={};function lP(){return{text:Er}}let al=48;for(;al<123;)Er[al]=Zr,al++,al===58?al=65:al===91&&(al=97);Er[43]=Zr;Er[45]=Zr;Er[46]=Zr;Er[95]=Zr;Er[72]=[Zr,JE];Er[104]=[Zr,JE];Er[87]=[Zr,WE];Er[119]=[Zr,WE];function aP(e,n,r){const l=this;let o,s;return c;function c(p){return!Pm(p)||!n2.call(l,l.previous)||ig(l.events)?r(p):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),f(p))}function f(p){return Pm(p)?(e.consume(p),f):p===64?(e.consume(p),d):r(p)}function d(p){return p===46?e.check(iP,g,h)(p):p===45||p===95||Xt(p)?(s=!0,e.consume(p),d):g(p)}function h(p){return e.consume(p),o=!0,d}function g(p){return s&&o&&Wt(l.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),n(p)):r(p)}}function oP(e,n,r){const l=this;return o;function o(c){return c!==87&&c!==119||!e2.call(l,l.previous)||ig(l.events)?r(c):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(rP,e.attempt(KE,e.attempt(QE,s),r),r)(c))}function s(c){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),n(c)}}function sP(e,n,r){const l=this;let o="",s=!1;return c;function c(p){return(p===72||p===104)&&t2.call(l,l.previous)&&!ig(l.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(p),e.consume(p),f):r(p)}function f(p){if(Wt(p)&&o.length<5)return o+=String.fromCodePoint(p),e.consume(p),f;if(p===58){const b=o.toLowerCase();if(b==="http"||b==="https")return e.consume(p),d}return r(p)}function d(p){return p===47?(e.consume(p),s?h:(s=!0,d)):r(p)}function h(p){return p===null||pc(p)||tt(p)||cl(p)||Yc(p)?r(p):e.attempt(KE,e.attempt(QE,g),r)(p)}function g(p){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),n(p)}}function uP(e,n,r){let l=0;return o;function o(c){return(c===87||c===119)&&l<3?(l++,e.consume(c),o):c===46&&l===3?(e.consume(c),s):r(c)}function s(c){return c===null?r(c):n(c)}}function cP(e,n,r){let l,o,s;return c;function c(h){return h===46||h===95?e.check(ZE,d,f)(h):h===null||tt(h)||cl(h)||h!==45&&Yc(h)?d(h):(s=!0,e.consume(h),c)}function f(h){return h===95?l=!0:(o=l,l=void 0),e.consume(h),c}function d(h){return o||l||!s?r(h):n(h)}}function fP(e,n){let r=0,l=0;return o;function o(c){return c===40?(r++,e.consume(c),o):c===41&&l<r?s(c):c===33||c===34||c===38||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===60||c===63||c===93||c===95||c===126?e.check(ZE,n,s)(c):c===null||tt(c)||cl(c)?n(c):(e.consume(c),o)}function s(c){return c===41&&l++,e.consume(c),o}}function dP(e,n,r){return l;function l(f){return f===33||f===34||f===39||f===41||f===42||f===44||f===46||f===58||f===59||f===63||f===95||f===126?(e.consume(f),l):f===38?(e.consume(f),s):f===93?(e.consume(f),o):f===60||f===null||tt(f)||cl(f)?n(f):r(f)}function o(f){return f===null||f===40||f===91||tt(f)||cl(f)?n(f):l(f)}function s(f){return Wt(f)?c(f):r(f)}function c(f){return f===59?(e.consume(f),l):Wt(f)?(e.consume(f),c):r(f)}}function hP(e,n,r){return l;function l(s){return e.consume(s),o}function o(s){return Xt(s)?r(s):n(s)}}function e2(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||tt(e)}function t2(e){return!Wt(e)}function n2(e){return!(e===47||Pm(e))}function Pm(e){return e===43||e===45||e===46||e===95||Xt(e)}function ig(e){let n=e.length,r=!1;for(;n--;){const l=e[n][1];if((l.type==="labelLink"||l.type==="labelImage")&&!l._balanced){r=!0;break}if(l._gfmAutolinkLiteralWalkedInto){r=!1;break}}return e.length>0&&!r&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const mP={tokenize:SP,partial:!0};function pP(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:vP,continuation:{tokenize:bP},exit:wP}},text:{91:{name:"gfmFootnoteCall",tokenize:xP},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:gP,resolveTo:yP}}}}function gP(e,n,r){const l=this;let o=l.events.length;const s=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let c;for(;o--;){const d=l.events[o][1];if(d.type==="labelImage"){c=d;break}if(d.type==="gfmFootnoteCall"||d.type==="labelLink"||d.type==="label"||d.type==="image"||d.type==="link")break}return f;function f(d){if(!c||!c._balanced)return r(d);const h=nr(l.sliceSerialize({start:c.end,end:l.now()}));return h.codePointAt(0)!==94||!s.includes(h.slice(1))?r(d):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),n(d))}}function yP(e,n){let r=e.length;for(;r--;)if(e[r][1].type==="labelImage"&&e[r][0]==="enter"){e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const l={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},f=[e[r+1],e[r+2],["enter",l,n],e[r+3],e[r+4],["enter",o,n],["exit",o,n],["enter",s,n],["enter",c,n],["exit",c,n],["exit",s,n],e[e.length-2],e[e.length-1],["exit",l,n]];return e.splice(r,e.length-r+1,...f),e}function xP(e,n,r){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let s=0,c;return f;function f(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),d}function d(p){return p!==94?r(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(p){if(s>999||p===93&&!c||p===null||p===91||tt(p))return r(p);if(p===93){e.exit("chunkString");const b=e.exit("gfmFootnoteCallString");return o.includes(nr(l.sliceSerialize(b)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),n):r(p)}return tt(p)||(c=!0),s++,e.consume(p),p===92?g:h}function g(p){return p===91||p===92||p===93?(e.consume(p),s++,h):h(p)}}function vP(e,n,r){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let s,c=0,f;return d;function d(E){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(E){return E===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",g):r(E)}function g(E){if(c>999||E===93&&!f||E===null||E===91||tt(E))return r(E);if(E===93){e.exit("chunkString");const C=e.exit("gfmFootnoteDefinitionLabelString");return s=nr(l.sliceSerialize(C)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),b}return tt(E)||(f=!0),c++,e.consume(E),E===92?p:g}function p(E){return E===91||E===92||E===93?(e.consume(E),c++,g):g(E)}function b(E){return E===58?(e.enter("definitionMarker"),e.consume(E),e.exit("definitionMarker"),o.includes(s)||o.push(s),He(e,w,"gfmFootnoteDefinitionWhitespace")):r(E)}function w(E){return n(E)}}function bP(e,n,r){return e.check(ss,n,e.attempt(mP,n,r))}function wP(e){e.exit("gfmFootnoteDefinition")}function SP(e,n,r){const l=this;return He(e,o,"gfmFootnoteDefinitionIndent",5);function o(s){const c=l.events[l.events.length-1];return c&&c[1].type==="gfmFootnoteDefinitionIndent"&&c[2].sliceSerialize(c[1],!0).length===4?n(s):r(s)}}function CP(e){let r=(e||{}).singleTilde;const l={name:"strikethrough",tokenize:s,resolveAll:o};return r==null&&(r=!0),{text:{126:l},insideSpan:{null:[l]},attentionMarkers:{null:[126]}};function o(c,f){let d=-1;for(;++d<c.length;)if(c[d][0]==="enter"&&c[d][1].type==="strikethroughSequenceTemporary"&&c[d][1]._close){let h=d;for(;h--;)if(c[h][0]==="exit"&&c[h][1].type==="strikethroughSequenceTemporary"&&c[h][1]._open&&c[d][1].end.offset-c[d][1].start.offset===c[h][1].end.offset-c[h][1].start.offset){c[d][1].type="strikethroughSequence",c[h][1].type="strikethroughSequence";const g={type:"strikethrough",start:Object.assign({},c[h][1].start),end:Object.assign({},c[d][1].end)},p={type:"strikethroughText",start:Object.assign({},c[h][1].end),end:Object.assign({},c[d][1].start)},b=[["enter",g,f],["enter",c[h][1],f],["exit",c[h][1],f],["enter",p,f]],w=f.parser.constructs.insideSpan.null;w&&Tn(b,b.length,0,Xc(w,c.slice(h+1,d),f)),Tn(b,b.length,0,[["exit",p,f],["enter",c[d][1],f],["exit",c[d][1],f],["exit",g,f]]),Tn(c,h-1,d-h+3,b),d=h+b.length-2;break}}for(d=-1;++d<c.length;)c[d][1].type==="strikethroughSequenceTemporary"&&(c[d][1].type="data");return c}function s(c,f,d){const h=this.previous,g=this.events;let p=0;return b;function b(E){return h===126&&g[g.length-1][1].type!=="characterEscape"?d(E):(c.enter("strikethroughSequenceTemporary"),w(E))}function w(E){const C=ga(h);if(E===126)return p>1?d(E):(c.consume(E),p++,w);if(p<2&&!r)return d(E);const k=c.exit("strikethroughSequenceTemporary"),N=ga(E);return k._open=!N||N===2&&!!C,k._close=!C||C===2&&!!N,f(E)}}}class EP{constructor(){this.map=[]}add(n,r,l){kP(this,n,r,l)}consume(n){if(this.map.sort(function(s,c){return s[0]-c[0]}),this.map.length===0)return;let r=this.map.length;const l=[];for(;r>0;)r-=1,l.push(n.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),n.length=this.map[r][0];l.push(n.slice()),n.length=0;let o=l.pop();for(;o;){for(const s of o)n.push(s);o=l.pop()}this.map.length=0}}function kP(e,n,r,l){let o=0;if(!(r===0&&l.length===0)){for(;o<e.map.length;){if(e.map[o][0]===n){e.map[o][1]+=r,e.map[o][2].push(...l);return}o+=1}e.map.push([n,r,l])}}function NP(e,n){let r=!1;const l=[];for(;n<e.length;){const o=e[n];if(r){if(o[0]==="enter")o[1].type==="tableContent"&&l.push(e[n+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[n-1][1].type==="tableDelimiterMarker"){const s=l.length-1;l[s]=l[s]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(r=!0);n+=1}return l}function TP(){return{flow:{null:{name:"table",tokenize:RP,resolveAll:AP}}}}function RP(e,n,r){const l=this;let o=0,s=0,c;return f;function f(I){let J=l.events.length-1;for(;J>-1;){const le=l.events[J][1].type;if(le==="lineEnding"||le==="linePrefix")J--;else break}const te=J>-1?l.events[J][1].type:null,ce=te==="tableHead"||te==="tableRow"?_:d;return ce===_&&l.parser.lazy[l.now().line]?r(I):ce(I)}function d(I){return e.enter("tableHead"),e.enter("tableRow"),h(I)}function h(I){return I===124||(c=!0,s+=1),g(I)}function g(I){return I===null?r(I):Ee(I)?s>1?(s=0,l.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),w):r(I):Pe(I)?He(e,g,"whitespace")(I):(s+=1,c&&(c=!1,o+=1),I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),c=!0,g):(e.enter("data"),p(I)))}function p(I){return I===null||I===124||tt(I)?(e.exit("data"),g(I)):(e.consume(I),I===92?b:p)}function b(I){return I===92||I===124?(e.consume(I),p):p(I)}function w(I){return l.interrupt=!1,l.parser.lazy[l.now().line]?r(I):(e.enter("tableDelimiterRow"),c=!1,Pe(I)?He(e,E,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):E(I))}function E(I){return I===45||I===58?k(I):I===124?(c=!0,e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),C):U(I)}function C(I){return Pe(I)?He(e,k,"whitespace")(I):k(I)}function k(I){return I===58?(s+=1,c=!0,e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),N):I===45?(s+=1,N(I)):I===null||Ee(I)?D(I):U(I)}function N(I){return I===45?(e.enter("tableDelimiterFiller"),j(I)):U(I)}function j(I){return I===45?(e.consume(I),j):I===58?(c=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),M):(e.exit("tableDelimiterFiller"),M(I))}function M(I){return Pe(I)?He(e,D,"whitespace")(I):D(I)}function D(I){return I===124?E(I):I===null||Ee(I)?!c||o!==s?U(I):(e.exit("tableDelimiterRow"),e.exit("tableHead"),n(I)):U(I)}function U(I){return r(I)}function _(I){return e.enter("tableRow"),P(I)}function P(I){return I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),P):I===null||Ee(I)?(e.exit("tableRow"),n(I)):Pe(I)?He(e,P,"whitespace")(I):(e.enter("data"),F(I))}function F(I){return I===null||I===124||tt(I)?(e.exit("data"),P(I)):(e.consume(I),I===92?ne:F)}function ne(I){return I===92||I===124?(e.consume(I),F):F(I)}}function AP(e,n){let r=-1,l=!0,o=0,s=[0,0,0,0],c=[0,0,0,0],f=!1,d=0,h,g,p;const b=new EP;for(;++r<e.length;){const w=e[r],E=w[1];w[0]==="enter"?E.type==="tableHead"?(f=!1,d!==0&&(a1(b,n,d,h,g),g=void 0,d=0),h={type:"table",start:Object.assign({},E.start),end:Object.assign({},E.end)},b.add(r,0,[["enter",h,n]])):E.type==="tableRow"||E.type==="tableDelimiterRow"?(l=!0,p=void 0,s=[0,0,0,0],c=[0,r+1,0,0],f&&(f=!1,g={type:"tableBody",start:Object.assign({},E.start),end:Object.assign({},E.end)},b.add(r,0,[["enter",g,n]])),o=E.type==="tableDelimiterRow"?2:g?3:1):o&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")?(l=!1,c[2]===0&&(s[1]!==0&&(c[0]=c[1],p=Iu(b,n,s,o,void 0,p),s=[0,0,0,0]),c[2]=r)):E.type==="tableCellDivider"&&(l?l=!1:(s[1]!==0&&(c[0]=c[1],p=Iu(b,n,s,o,void 0,p)),s=c,c=[s[1],r,0,0])):E.type==="tableHead"?(f=!0,d=r):E.type==="tableRow"||E.type==="tableDelimiterRow"?(d=r,s[1]!==0?(c[0]=c[1],p=Iu(b,n,s,o,r,p)):c[1]!==0&&(p=Iu(b,n,c,o,r,p)),o=0):o&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")&&(c[3]=r)}for(d!==0&&a1(b,n,d,h,g),b.consume(n.events),r=-1;++r<n.events.length;){const w=n.events[r];w[0]==="enter"&&w[1].type==="table"&&(w[1]._align=NP(n.events,r))}return e}function Iu(e,n,r,l,o,s){const c=l===1?"tableHeader":l===2?"tableDelimiter":"tableData",f="tableContent";r[0]!==0&&(s.end=Object.assign({},aa(n.events,r[0])),e.add(r[0],0,[["exit",s,n]]));const d=aa(n.events,r[1]);if(s={type:c,start:Object.assign({},d),end:Object.assign({},d)},e.add(r[1],0,[["enter",s,n]]),r[2]!==0){const h=aa(n.events,r[2]),g=aa(n.events,r[3]),p={type:f,start:Object.assign({},h),end:Object.assign({},g)};if(e.add(r[2],0,[["enter",p,n]]),l!==2){const b=n.events[r[2]],w=n.events[r[3]];if(b[1].end=Object.assign({},w[1].end),b[1].type="chunkText",b[1].contentType="text",r[3]>r[2]+1){const E=r[2]+1,C=r[3]-r[2]-1;e.add(E,C,[])}}e.add(r[3]+1,0,[["exit",p,n]])}return o!==void 0&&(s.end=Object.assign({},aa(n.events,o)),e.add(o,0,[["exit",s,n]]),s=void 0),s}function a1(e,n,r,l,o){const s=[],c=aa(n.events,r);o&&(o.end=Object.assign({},c),s.push(["exit",o,n])),l.end=Object.assign({},c),s.push(["exit",l,n]),e.add(r+1,0,s)}function aa(e,n){const r=e[n],l=r[0]==="enter"?"start":"end";return r[1][l]}const MP={name:"tasklistCheck",tokenize:_P};function jP(){return{text:{91:MP}}}function _P(e,n,r){const l=this;return o;function o(d){return l.previous!==null||!l._gfmTasklistFirstContentOfListItem?r(d):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),s)}function s(d){return tt(d)?(e.enter("taskListCheckValueUnchecked"),e.consume(d),e.exit("taskListCheckValueUnchecked"),c):d===88||d===120?(e.enter("taskListCheckValueChecked"),e.consume(d),e.exit("taskListCheckValueChecked"),c):r(d)}function c(d){return d===93?(e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),f):r(d)}function f(d){return Ee(d)?n(d):Pe(d)?e.check({tokenize:OP},n,r)(d):r(d)}}function OP(e,n,r){return He(e,l,"whitespace");function l(o){return o===null?r(o):n(o)}}function DP(e){return hE([lP(),pP(),CP(e),TP(),jP()])}const zP={};function Jc(e){const n=this,r=e||zP,l=n.data(),o=l.micromarkExtensions||(l.micromarkExtensions=[]),s=l.fromMarkdownExtensions||(l.fromMarkdownExtensions=[]),c=l.toMarkdownExtensions||(l.toMarkdownExtensions=[]);o.push(DP(r)),s.push(tP()),c.push(nP(r))}function LP({content:e}){return x.jsx("div",{className:"flex gap-2 justify-end",children:x.jsx("div",{className:"max-w-[85%] sm:max-w-[80%] rounded-[20px] py-1.5 px-3.5 bg-muted text-primary border border-border prose prose-sm prose-invert [&_p]:whitespace-pre-line",children:x.jsx(Wc,{remarkPlugins:[Jc],components:$c,children:e})})})}function PP({json:e}){return x.jsx("div",{className:"flex gap-3 justify-start",children:x.jsx("div",{className:"flex-1 max-w-[90%]",children:x.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap break-words bg-muted rounded-lg p-3 overflow-auto max-h-96",children:e})})})}function r2({title:e,count:n,children:r,badge:l}){const[o,s]=v.useState(!1);return n===0?null:x.jsxs("div",{className:"flex flex-col gap-1.5",children:[x.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[x.jsx(Yr,{className:ye("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",o&&"rotate-90")}),x.jsx("span",{className:"text-muted-foreground font-medium",children:e}),x.jsx("span",{className:"text-muted-foreground/60",children:n}),l]}),o&&x.jsx("div",{className:"ml-5",children:r})]})}function em({title:e,items:n,icon:r,getIcon:l}){return n.length===0?null:x.jsx(r2,{title:e,count:n.length,children:x.jsx("div",{className:"flex flex-wrap gap-1.5",children:n.map(o=>x.jsx(ZC,{icon:l?l(o):r,children:o},o))})})}function BP(e){const n=e.match(/^mcp__([^_]+)__(.+)$/);return n?{server:n[1],tool:n[2]}:null}function i2({status:e}){const n=e==="connected"?"bg-emerald-500":e==="pending"?"bg-yellow-500":"bg-red-500";return x.jsx("span",{className:ye("inline-block h-2 w-2 rounded-full shrink-0",n)})}function IP(e){switch(e){case"connected":return"Connected";case"failed":return"Failed";case"needs-auth":return"Needs auth";case"pending":return"Connecting...";case"disabled":return"Disabled";default:return e}}function o1({server:e}){const[n,r]=v.useState(!1),l=e.status==="connected";return x.jsxs("div",{className:"flex flex-col gap-1.5",children:[x.jsxs("button",{onClick:()=>l&&e.tools.length>0&&r(!n),className:ye("flex items-center gap-1.5",l&&e.tools.length>0&&"cursor-pointer hover:opacity-60 transition-opacity"),children:[l&&e.tools.length>0&&x.jsx(Yr,{className:ye("h-3 w-3 text-muted-foreground transition-transform duration-200",n&&"rotate-90")}),x.jsx(i2,{status:e.status}),x.jsx("span",{className:"text-muted-foreground font-medium",children:gm(e.name)}),l?x.jsxs("span",{className:"text-muted-foreground/50",children:[e.tools.length," tools"]}):x.jsx("span",{className:"text-muted-foreground/50",children:IP(e.status)})]}),!l&&e.error&&x.jsx("span",{className:"text-destructive ml-5",children:e.error}),n&&e.tools.length>0&&x.jsx("div",{className:"flex flex-wrap gap-1.5 ml-5",children:e.tools.map(o=>x.jsx(ZC,{icon:QC(`mcp__${e.name}__${o}`),children:o},o))})]})}function UP({servers:e}){if(e.length===0)return null;const n=e.filter(o=>o.status==="connected"),r=e.filter(o=>o.status!=="connected"),l=r.length>0?x.jsxs("span",{className:"flex items-center gap-1 ml-1",children:[x.jsx(i2,{status:"failed"}),x.jsxs("span",{className:"text-muted-foreground/60",children:[r.length," disconnected"]})]}):null;return x.jsx(r2,{title:"MCP Servers",count:e.length,badge:l,children:x.jsxs("div",{className:"flex flex-col gap-2",children:[n.map(o=>x.jsx(o1,{server:o},o.name)),r.map(o=>x.jsx(o1,{server:o},o.name))]})})}function HP({rawJson:e}){const[n,r]=v.useState(!1);return x.jsxs("div",{className:"flex flex-col gap-1.5",children:[x.jsxs("button",{onClick:()=>r(!n),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[x.jsx(Yr,{className:ye("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",n&&"rotate-90")}),x.jsx("span",{className:"text-muted-foreground font-medium",children:"Raw Message"})]}),n&&x.jsx("pre",{className:"ml-5 text-xs whitespace-pre-wrap break-all border border-border rounded-md p-3 overflow-x-auto max-h-96 overflow-y-auto",children:e})]})}function FP({message:e,rawJson:n}){const{coreTools:r,mcpServersWithTools:l}=v.useMemo(()=>{const o=new Map,s=[];for(const f of e.tools){const d=BP(f);if(d){const h=o.get(d.server)||[];h.push(d.tool),o.set(d.server,h)}else s.push(f)}const c=e.mcpServers.map(f=>({name:f.name,status:f.status,error:f.error,tools:o.get(f.name)||[]}));return{coreTools:s,mcpServersWithTools:c}},[e.tools,e.mcpServers]);return x.jsx(Bi,{children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-xs",children:x.jsxs("div",{className:"flex flex-col gap-3",children:[x.jsx(cz,{children:e.model}),x.jsx(em,{title:"Tools",items:r,getIcon:o=>Nm[o]??KC}),x.jsx(em,{title:"Agents",items:e.agents,icon:ip}),x.jsx(em,{title:"Commands",items:e.slashCommands,icon:Wj}),x.jsx(UP,{servers:l}),n&&x.jsx(HP,{rawJson:n})]})}),children:[x.jsx(JM,{className:"h-5 w-5 text-logo"}),x.jsx(Oi,{children:"Session Started"})]})})}function qP({message:e}){return x.jsx(Bi,{className:"hidden",children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-xs",children:x.jsx("pre",{className:"font-mono whitespace-pre-wrap break-all bg-muted border border-border rounded-lg p-2 max-h-64 overflow-auto",children:JSON.stringify(e.accountInfo,null,2)})}),children:[x.jsx("div",{className:"size-5 flex justify-center items-center ",children:x.jsx(ip,{className:"h-4 w-4 text-muted-foreground"})}),x.jsx(Oi,{children:"Account"})]})})}function GP({message:e}){return x.jsx("div",{className:"text-pretty prose prose-sm dark:prose-invert px-0.5 w-full max-w-full space-y-4",children:x.jsx(Wc,{remarkPlugins:[Jc],components:$c,children:e.text})})}function VP({question:e,currentIndex:n,totalQuestions:r,onBack:l,children:o}){const s=l&&n>0;return x.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[x.jsxs("div",{className:"relative",children:[x.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border text-foreground flex flex-row items-center gap-2",children:[s?x.jsx("button",{onClick:l,className:" text-muted-foreground hover:opacity-60 transition-all flex items-center",children:x.jsx(uj,{className:"h-4 w-4 -ml-0.5",strokeWidth:3})}):r>1?x.jsxs("span",{className:"font-bold text-muted-foreground whitespace-nowrap",children:[n+1," of ",r]}):null,e]}),r>1&&x.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-border",children:x.jsx("div",{className:"h-full bg-muted-foreground/40 transition-all duration-300",style:{width:`${n/r*100}%`}})})]}),o]})}function s1({label:e,description:n}){return x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"text-foreground text-sm",children:e}),n&&x.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:n})]})}function l2({selected:e,multiSelect:n,onClick:r}){return x.jsx("button",{type:"button",onClick:r,className:ye("flex-shrink-0 w-5 h-5 border-1 flex items-center justify-center",n?"rounded":"rounded-full",e?"border-slate-500/0 bg-foreground":"border-muted-foreground/50 bg-background",r&&e&&"cursor-pointer"),children:e&&x.jsx(sl,{strokeWidth:3,className:"translate-y-[0.5px] h-3 w-3 text-white dark:text-background"})})}function $P({option:e,selected:n,multiSelect:r,onClick:l,isLast:o}){const s="w-full text-left p-3 pt-2.5 pl-4 pr-5 bg-background",c=o?"":"border-b border-border";return l?x.jsx("button",{onClick:l,className:ye(s,c,"transition-all cursor-pointer"),children:x.jsxs("div",{className:"flex items-center justify-between gap-3",children:[x.jsx("div",{className:"flex-1 min-w-0",children:x.jsx(s1,{label:e.label,description:e.description})}),x.jsx(l2,{selected:n,multiSelect:r})]})}):x.jsx("div",{className:ye(s,c),children:x.jsx(s1,{label:e.label,description:e.description})})}function YP(e){return e==null?void 0:e.answers}function er(e){return e.id||e.question}function XP({message:e,onSubmit:n,isLatest:r}){var B,X;const l=e.input.questions,o=!!e.result,s=YP(e.result),c=((B=e.result)==null?void 0:B.discarded)===!0,[f,d]=v.useState(0),[h,g]=v.useState({}),[p,b]=v.useState({}),[w,E]=v.useState(s??null),[C,k]=v.useState(o),N=($,Z)=>{var Q;const R=(Q=p[$])==null?void 0:Q.trim(),O=h[$]||"",z=Z||l.find(fe=>er(fe)===$);if(z!=null&&z.multiSelect)return[O,R].filter(Boolean).flatMap(fe=>fe.split(", ").filter(Boolean));const A=R||O;return A?[A]:[]},j=$=>{const Z=h[er($)]||"";return $.multiSelect?Z.split(", ").filter(Boolean):[Z]},M=($,Z)=>{const R=er($);if($.multiSelect){const O=h[R]?h[R].split(", ").filter(Boolean):[],z=O.includes(Z)?O.filter(A=>A!==Z):[...O,Z];g({...h,[R]:z.join(", ")})}else g({...h,[R]:Z}),b({...p,[R]:""}),f<l.length-1&&setTimeout(()=>d(f+1),150)},D=($,Z)=>{const R=er($);b({...p,[R]:Z}),Z&&!$.multiSelect&&g({...h,[R]:""})},U=$=>{const Z=er($);$.multiSelect&&p[Z]&&b({...p,[Z]:""})},_=l.every($=>N(er($),$).length>0),P=l[f],F=f===l.length-1,ne=P&&N(er(P),P).length>0,I=()=>{f<l.length-1&&d(f+1)},J=()=>{f>0&&d(f-1)},te=()=>{if(!_)return;const $={};for(const Z of l){const R=er(Z);$[R]=N(R,Z)}E($),k(!0),n(e.toolId,l,$)},ce=$=>{if($.key==="Enter"&&!(!P||!ne)){if($.preventDefault(),F){te();return}I()}};if(C||o){const $=s||w||{};return x.jsx("div",{className:"w-full",children:x.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[x.jsxs("div",{className:"font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between",children:[x.jsxs("p",{children:["Question",l.length!==1?"s":""]}),x.jsx("p",{className:"",children:c?"Discarded":"Answers"})]}),l.map((Z,R)=>{const O=$[er(Z)]||$[Z.question]||[],z=R===l.length-1;return x.jsxs("div",{className:ye("w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-center justify-between gap-3",!z&&"border-b border-border"),children:[x.jsx("div",{className:"text-sm text-pretty",children:Z.question}),O.length>0&&x.jsx("div",{className:"text-sm font-medium text-right max-w-[50%] text-pretty",children:O.join(", ")}),O.length===0&&x.jsx("div",{className:"text-sm font-medium text-right italic",children:c?"Discarded":"No Response"})]},er(Z))})]})})}if(!r)return x.jsx("div",{className:"w-full py-2",children:x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(jw,{className:"h-4 w-4 text-muted-foreground"}),x.jsx("span",{className:"text-sm text-muted-foreground",children:"Questions pending (newer question active)"})]})});if(!P)return null;const le=j(P),ee=p[er(P)]||"";return x.jsxs("div",{className:"w-full space-y-3",children:[x.jsxs(VP,{question:P.question,currentIndex:f,totalQuestions:l.length,onBack:f>0?J:void 0,children:[(X=P.options)==null?void 0:X.map($=>x.jsx($P,{option:$,selected:le.includes($.label),multiSelect:P.multiSelect,onClick:()=>M(P,$.label)},$.label)),x.jsx("div",{className:"transition-all bg-background",children:x.jsxs("div",{className:"flex pr-5 items-center justify-between gap-3",children:[x.jsx("input",{type:"text",value:ee,onChange:$=>D(P,$.target.value),onKeyDown:ce,placeholder:"Other...",className:"flex-1 px-3 !py-1 pl-4 min-h-[55px] min-w-0 text-sm bg-transparent outline-none text-foreground placeholder:text-muted-foreground"}),x.jsx(l2,{selected:!!ee,multiSelect:P.multiSelect,onClick:P.multiSelect&&ee?()=>U(P):void 0})]})})]}),x.jsxs("div",{className:"flex justify-end gap-2 mx-2",children:[!F&&ne&&(P.multiSelect||!!ee)&&x.jsx($e,{size:"sm",onClick:I,children:"Next"}),F&&x.jsx($e,{size:"sm",onClick:te,disabled:!_,className:ye(!_&&"opacity-50 cursor-not-allowed","rounded-full"),children:"Submit"})]})]})}function KP({message:e,onConfirm:n,isLatest:r}){const l=!!e.result,[o,s]=v.useState(!1),[c,f]=v.useState(!1),[d,h]=v.useState(!1),[g,p]=v.useState(""),b=v.useRef(null),w=e.input;v.useEffect(()=>{d&&b.current&&b.current.focus()},[d]);const E=async()=>{w!=null&&w.plan&&(await navigator.clipboard.writeText(w.plan),f(!0),setTimeout(()=>f(!1),2e3))},C=l?e.result:null,k=(C==null?void 0:C.discarded)===!0;return x.jsxs("div",{className:"flex flex-col gap-3",children:[x.jsxs("div",{className:"relative rounded-2xl border border-border overflow-hidden group/plan",children:[(w==null?void 0:w.plan)&&x.jsx($e,{variant:"ghost",size:"icon",className:ye("absolute top-2 right-2 z-10 h-8 w-8 rounded-md text-muted-foreground opacity-0 group-hover/plan:opacity-100 transition-opacity",!c&&"hover:text-foreground",c&&"hover:!bg-transparent hover:!border-transparent"),onClick:E,children:c?x.jsx(sl,{className:"h-4 w-4 text-green-400"}):x.jsx(Rc,{className:"h-4 w-4"})}),x.jsxs("div",{className:ye("!pt-5 !pb-0 px-4 md:py-4.5 md:px-5.5 bg-muted dark:bg-card overflow-scroll no-pre-highlight transition-all",l&&!o?"max-h-[min(400px,40vh)] ":"",l?"hover:!pb-[32px]":""),children:[l&&x.jsxs($e,{variant:"ghost",className:"absolute z-10 bottom-2 pr-2.5 !pl-3.5 h-[34px] inline-flex gap-1 text-sm left-[50%] -translate-x-[50%] text-muted-foreground backdrop-blur-sm hover:text-foreground opacity-0 group-hover/plan:opacity-100 transition-all rounded-full border border-border",onClick:()=>s(!o),children:[o?"Show Less":"Show More",x.jsx(oj,{className:`size-3.5 transition-transform ${o?"rotate-180":""}`})]}),w!=null&&w.plan?x.jsxs("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:[x.jsx(Wc,{remarkPlugins:[Jc],components:fz,children:w.plan}),x.jsx("div",{className:"mt-5"})]}):x.jsx("p",{className:"text-sm text-muted-foreground",children:"No plan provided"})]})]}),l?x.jsx("div",{className:"flex justify-end mx-2",children:x.jsxs("span",{className:"pl-4 inline text-sm font-medium bg-background text-foreground/60 border border-border py-1.5 px-3 rounded-[20px] leading-relaxed max-w-[85%] sm:max-w-[80%]",children:[x.jsx("em",{children:k?"Discarded":C!=null&&C.clearContext?"Approved & Cleared Context":C!=null&&C.confirmed?"Approved":C!=null&&C.message?`Adjusted: "${C.message}"`:"Adjusted Plan"}),x.jsx(bj,{className:"inline h-4 w-4 ml-1.5 -mt-0.5"})]})}):r?x.jsxs("div",{className:"flex flex-col gap-3",children:[!d&&x.jsxs("div",{className:"flex flex-col md:flex-row items-stretch md:items-center justify-end gap-2 mx-2",children:[x.jsxs($e,{size:"sm",onClick:()=>n(e.toolId,!0,!0),className:"rounded-full bg-primary text-background pr-4 md:order-last",children:[x.jsx(nj,{className:"h-4 w-4 mr-1.5"}),"Approve & Clear"]}),x.jsxs("div",{className:"flex items-stretch md:items-center gap-2 md:contents",children:[x.jsxs($e,{size:"sm",variant:"outline",onClick:()=>h(!0),className:"rounded-full border-border flex-1 md:flex-initial md:order-first",children:[x.jsx(Dw,{className:"h-4 w-4 mr-1.5"}),"Suggest Edits"]}),x.jsxs($e,{size:"sm",variant:"outline",onClick:()=>n(e.toolId,!0),className:"rounded-full border-border flex-1 md:flex-initial",children:[x.jsx(sl,{className:"h-4 w-4 mr-1.5"}),"Approve"]})]})]}),d&&x.jsxs("div",{className:"flex flex-col gap-2",children:[x.jsx("textarea",{ref:b,value:g,onChange:N=>p(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&g.trim()&&(N.preventDefault(),n(e.toolId,!1,void 0,g.trim())),N.key==="Escape"&&(h(!1),p(""))},placeholder:"Describe what you'd like to change...",rows:3,className:"w-full rounded-2xl border border-border bg-muted dark:bg-card px-4 py-3 text-sm text-foreground placeholder:text-muted-foreground resize-none outline-none"}),x.jsxs("div",{className:"flex items-center justify-end gap-2 mx-2",children:[x.jsx($e,{size:"sm",variant:"ghost",onClick:()=>{h(!1),p("")},className:"rounded-full text-muted-foreground",children:"Cancel"}),x.jsxs($e,{size:"sm",disabled:!g.trim(),onClick:()=>n(e.toolId,!1,void 0,g.trim()),className:"rounded-full bg-primary text-background disabled:opacity-50 disabled:pointer-events-none",children:[x.jsx(Kj,{className:"h-4 w-4 mr-1.5"}),"Adjust Plan"]})]})]})]}):x.jsx("div",{className:"flex justify-end mx-2",children:x.jsx("span",{className:"inline text-sm text-muted-foreground italic",children:"Plan pending (newer prompt active)"})})]})}const QP={completed:{Icon:sl,iconClass:"text-emerald-500",textClass:"text-muted-foreground"},in_progress:{Icon:Li,iconClass:"text-foreground animate-spin",textClass:"text-foreground font-medium"},pending:{Icon:mj,iconClass:"text-muted-foreground",textClass:"text-muted-foreground"}};function ZP({message:e}){const n=e.input.todos;return n.length?x.jsx("div",{className:"w-full",children:x.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[x.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border flex items-center gap-2",children:[x.jsx(zj,{className:"h-4 w-4 text-muted-foreground"}),"Progress"]}),x.jsx("div",{children:n.map((r,l)=>{const o=l===n.length-1,{Icon:s,iconClass:c,textClass:f}=QP[r.status];return x.jsxs("div",{className:ye("flex items-center gap-3 px-4 py-2.5 bg-background",!o&&"border-b border-border"),children:[x.jsx(s,{className:ye("h-4 w-4 flex-shrink-0",c)}),x.jsx("span",{className:ye("text-sm",f),children:r.status==="in_progress"?r.activeForm:r.content})]},l)})})]})}):null}function tm(e,n){if(!e)return"";if(n){const r=n.endsWith("/")?n:`${n}/`;if(e.startsWith(r))return e.slice(r.length);if(e===n)return""}return e.replace(/^\/home\/user\/workspace\//,"")}function WP(e){const n=e.split(`
417
417
  `),r=/^\s*(\d+)→(.*)$/;return n.map(l=>{const o=l.match(r);return o?{lineNumber:parseInt(o[1],10),content:o[2]}:{lineNumber:null,content:l}})}function JP(e){return e.replace(/<[^>]+>/g,"")}function eB(e,n){const r=e.split(`
418
418
  `),l=n.split(`
419
- `),o=tB(r,l),s=nB(r,l,o);return rB(s)}function tB(e,n){const r=e.length,l=n.length,o=Array.from({length:r+1},()=>Array(l+1).fill(0));for(let s=1;s<=r;s++)for(let c=1;c<=l;c++)o[s][c]=e[s-1]===n[c-1]?o[s-1][c-1]+1:Math.max(o[s-1][c],o[s][c-1]);return o}function nB(e,n,r){const l=[];let o=e.length,s=n.length;for(;o>0||s>0;)o>0&&s>0&&e[o-1]===n[s-1]?(l.push({type:"context",text:e[o-1],oldIdx:o,newIdx:s}),o--,s--):s>0&&(o===0||r[o][s-1]>=r[o-1][s])?(l.push({type:"added",text:n[s-1],oldIdx:o,newIdx:s}),s--):(l.push({type:"removed",text:e[o-1],oldIdx:o,newIdx:s}),o--);return l.reverse()}function rB(e){return e.map(n=>{const r=n.type==="removed"?"-":n.type==="added"?"+":" ";return{type:n.type,content:`${r}${n.text}`}})}function nm({content:e,isDiff:n=!1,oldString:r,newString:l}){const o=v.useMemo(()=>n&&r!==void 0&&l!==void 0?eB(r,l):[],[n,r,l]),s=v.useMemo(()=>n?[]:WP(e),[e,n]),c=v.useMemo(()=>s.some(f=>f.lineNumber!==null),[s]);return n&&o.length>0?x.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:x.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:x.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:x.jsx("tbody",{children:o.map((f,d)=>{const h=f.type==="removed"?"bg-red-500/10 dark:bg-red-500/15":f.type==="added"?"bg-green-500/10 dark:bg-green-500/15":"",g=f.type==="removed"?"text-red-700 dark:text-red-400":f.type==="added"?"text-green-700 dark:text-green-400":"text-foreground";return x.jsxs("tr",{className:h,children:[x.jsx("td",{className:`px-2 py-0 select-none w-0 whitespace-nowrap ${f.type==="removed"?"text-red-500/50":f.type==="added"?"text-green-500/50":"text-muted-foreground/50"}`,children:f.type==="removed"?"-":f.type==="added"?"+":" "}),x.jsx("td",{className:`px-2 py-0 whitespace-pre select-all ${g}`,children:f.content.slice(1)})]},d)})})})})}):x.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:x.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:x.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:x.jsx("tbody",{children:s.map((f,d)=>x.jsxs("tr",{children:[c&&x.jsx("td",{className:"px-2 py-0 select-none w-0 whitespace-nowrap text-muted-foreground/50 text-right",children:f.lineNumber!==null?f.lineNumber:""}),x.jsx("td",{className:"px-2 py-0 whitespace-pre select-all text-foreground",children:JP(f.content)})]},d))})})})})}function a2({message:e,isLoading:n=!1,localPath:r}){var E;const l=e.result!==void 0,o=!l&&n,s=v.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill;if(e.toolKind==="glob")return`Search files ${e.input.pattern==="**/*"?"in all directories":`matching ${e.input.pattern}`}`;if(e.toolKind==="grep"){const C=e.input.pattern,k=e.input.outputMode;return k==="count"?`Count \`${C}\` occurrences`:k==="content"?`Find \`${C}\` in text`:`Find \`${C}\` in files`}return e.toolKind==="bash"?e.input.description||(e.input.command?i4(e.input.command):"Bash"):e.toolKind==="web_search"?e.input.query||"Web Search":e.toolKind==="read_file"?`Read ${tm(e.input.filePath,r)}`:e.toolKind==="write_file"?`Write ${tm(e.input.filePath,r)}`:e.toolKind==="edit_file"?`Edit ${tm(e.input.filePath,r)}`:e.toolKind==="mcp_generic"?`${gm(e.input.tool)} from ${gm(e.input.server)}`:e.toolKind==="subagent_task"&&e.input.subagentType||e.toolName},[e.input,e.toolName,r]),c=v.useMemo(()=>e.toolKind==="subagent_task",[e.toolKind]),f=v.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill},[e.input,e.toolKind]),d=e.toolKind==="bash",h=e.toolKind==="write_file",g=e.toolKind==="edit_file",p=e.toolKind==="read_file",b=v.useMemo(()=>{if(typeof e.result=="string")return e.result;if(!e.result)return"";if(typeof e.result=="object"&&e.result!==null&&"content"in e.result){const C=e.result.content;if(typeof C=="string")return C}return JSON.stringify(e.result,null,2)},[e.result]),w=v.useMemo(()=>{switch(e.toolKind){case"bash":return e.input.command;case"write_file":return e.input.content;default:return JSON.stringify(e.input,null,2)}},[e]);return x.jsx(Bi,{className:"w-full",children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-sm",children:x.jsxs("div",{className:"flex flex-col gap-2",children:[g?x.jsx(nm,{content:"",isDiff:!0,oldString:e.input.oldString,newString:e.input.newString}):!p&&!h&&x.jsx(y0,{label:d?x.jsxs("span",{className:"flex items-center gap-2 w-full",children:[x.jsx("span",{children:"Command"}),!!e.input.timeoutMs&&x.jsxs("span",{className:"text-muted-foreground",children:["timeout: ",String(e.input.timeoutMs),"ms"]}),!!e.input.runInBackground&&x.jsx("span",{className:"text-muted-foreground",children:"background"})]}):h?"Contents":"Input",copyText:w,children:w}),l&&p&&!e.isError&&x.jsx(nm,{content:b}),h&&!e.isError&&x.jsx(nm,{content:e.input.content}),l&&!p&&!(h&&!e.isError)&&!(g&&!e.isError)&&x.jsx(y0,{label:e.isError?"Error":"Result",copyText:b,children:b})]})}),children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:(()=>{if(e.isError)return x.jsx(Ac,{className:"size-4 text-destructive"});if(c)return x.jsx(ip,{className:"size-4 text-muted-icon"});const C=QC(e.toolName);return x.jsx(C,{className:"size-4 text-muted-icon"})})()}),x.jsx(Oi,{className:"text-left transition-opacity duration-200 truncate",children:x.jsx(Pc,{animate:o,shimmerWidth:Math.max(20,(((E=f||s)==null?void 0:E.length)??33)*3),children:f||s})})]})})}function iB({message:e}){const n=r=>{if(r<1e3)return`${r}ms`;const l=Math.floor(r/1e3),o=Math.floor(l/3600),s=Math.floor(l%3600/60),c=l%60;return o>0?`${o}h${s>0?` ${s}m`:""}`:s>0?`${s}m${c>0?` ${c}s`:""}`:`${c}s`};return x.jsxs(Bi,{className:`px-0.5 text-xs tracking-wide ${e.durationMs>6e4?"":"hidden"}`,children:[x.jsx("div",{className:"w-full h-[1px] bg-border"}),x.jsxs(Oi,{className:"whitespace-nowrap text-[11px] tracking-widest text-muted-foreground/60 uppercase flex-shrink-0",children:["Worked for ",n(e.durationMs)]}),x.jsx("div",{className:"w-full h-[1px] bg-border"})]})}function lB({message:e}){return x.jsx("div",{className:"flex items-center justify-end gap-2 text-sm text-muted-foreground my-3",children:x.jsxs("div",{className:"inline-flex gap-1.5 items-center justify-center whitespace-nowrap text-sm font-medium bg-background text-foreground/60 border border-border h-9 pl-1 pr-4 rounded-full",children:[x.jsx(dj,{className:"h-4 w-4 ml-1.5"}),x.jsx("em",{children:"Interrupted"})]})})}function vc({size:e=4}){return x.jsxs("svg",{className:"flex-1",viewBox:`0 0 100 ${e}`,preserveAspectRatio:"none",style:{height:`${e}px`},children:[x.jsx("pattern",{id:"zigzag",width:e,height:e,patternUnits:"userSpaceOnUse",children:x.jsx("path",{d:`M0 ${e} L${e/2} 0 L${e} ${e}`,fill:"none",stroke:"currentColor",strokeWidth:"0.5",className:"text-muted-foreground/30",style:{stroke:"currentColor"}})}),x.jsx("rect",{width:"100%",height:e,fill:"url(#zigzag)",className:"text-muted-foreground/30"})]})}function aB(){return x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx(vc,{}),x.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Compacted"}),x.jsx(vc,{})]})}function oB(){return x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx(vc,{}),x.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Context Cleared"}),x.jsx(vc,{})]})}function sB({message:e}){return x.jsx(Bi,{children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-xs",children:x.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:x.jsx(Wc,{remarkPlugins:[Jc],components:$c,children:e.summary})})}),children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(_w,{className:"h-4.5 w-4.5 text-muted-foreground"})}),x.jsx(Oi,{children:"Summarized"})]})})}const uB={compacting:"Compacting..."};function cB({message:e}){const n=uB[e.status]||e.status;return x.jsxs(Bi,{className:"grid grid-cols-[auto_1fr] items-center gap-1.5 text-sm animate-pulse",children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(_w,{className:"h-4.5 w-4.5 text-muted-foreground"})}),x.jsx(Oi,{className:"text-left transition-opacity duration-200 truncate",children:n})]})}const fB={read_file:{key:"read",singular:"read",plural:"reads"},edit_file:{key:"edit",singular:"edit",plural:"edits"},write_file:{key:"write",singular:"write",plural:"writes"},bash:{key:"bash",singular:"command",plural:"commands"},grep:{key:"grep",singular:"search",plural:"searches"},glob:{key:"glob",singular:"glob",plural:"globs"},subagent_task:{key:"task",singular:"agent",plural:"agents"},web_search:{key:"websearch",singular:"web search",plural:"web searches"},skill:{key:"skill",singular:"skill",plural:"skills"},todo_write:{key:"todo",singular:"todo update",plural:"todo updates"}},dB={key:"other",singular:"tool call",plural:"tool calls"};function hB(e){return fB[e]??dB}function mB(e){const n=new Map,r=[];for(const l of e){const o=l.toolKind,s=hB(o),c=n.get(s.key);c?c.count++:(n.set(s.key,{category:s,count:1}),r.push(s.key))}return r.map(l=>{const{category:o,count:s}=n.get(l);return`${s} ${s===1?o.singular:o.plural}`}).join(", ")}function pB({messages:e,isLoading:n,localPath:r}){const[l,o]=v.useState(!1),s=v.useMemo(()=>mB(e),[e]),f=e.some(d=>d.result===void 0)&&n;return x.jsx(Bi,{className:"w-full",children:x.jsxs("div",{className:"flex flex-col w-full",children:[x.jsx("button",{onClick:()=>o(!l),className:`group cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-sm ${!l&&!f?"hover:opacity-60 transition-opacity":""}`,children:x.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(Yr,{className:`h-4.5 w-4.5 text-muted-icon transition-all duration-200 ${l?"rotate-90":""}`})}),x.jsx(Oi,{className:"text-left",children:x.jsx(Pc,{animate:f,children:s})})]})}),l&&x.jsxs("div",{className:"my-4 flex flex-col gap-3",children:[e.map(d=>x.jsx(a2,{message:d,isLoading:n,localPath:r},d.id)),e.length>5&&x.jsx("button",{onClick:()=>o(!1),className:"cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-xs hover:opacity-80 transition-opacity",children:x.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(Yr,{className:"h-4.5 w-4.5 text-muted-icon -rotate-90"})}),x.jsx(Oi,{className:"text-left",children:"Collapse"})]})})]})]})})}const gB=new Set(["AskUserQuestion","ExitPlanMode","TodoWrite"]);function u1(e){if(e.kind!=="tool")return!1;const n=e.toolName;return!gB.has(n)}function yB(e){const n=[];let r=0;for(;r<e.length;){const l=e[r];if(u1(l)){const o=[l],s=r;for(r+=1;r<e.length&&u1(e[r]);)o.push(e[r]),r+=1;o.length>=2?n.push({type:"tool-group",messages:o,startIndex:s}):n.push({type:"single",message:l,index:s});continue}n.push({type:"single",message:l,index:r}),r+=1}return n}function xB({messages:e,isLoading:n,localPath:r,latestToolIds:l,onAskUserQuestionSubmit:o,onExitPlanModeConfirm:s}){const c=v.useMemo(()=>yB(e),[e]);function f(d,h){if(d.kind==="user_prompt")return x.jsx(LP,{content:d.content},d.id);switch(d.kind){case"unknown":return x.jsx(PP,{json:d.json},d.id);case"system_init":return e.findIndex(p=>p.kind==="system_init")===h?x.jsx(FP,{message:d,rawJson:d.debugRaw},d.id):null;case"account_info":return e.findIndex(p=>p.kind==="account_info")===h?x.jsx(qP,{message:d},d.id):null;case"assistant_text":return x.jsx(GP,{message:d},d.id);case"tool":return d.toolKind==="ask_user_question"?x.jsx(XP,{message:d,onSubmit:o,isLatest:d.id===l.AskUserQuestion},d.id):d.toolKind==="exit_plan_mode"?x.jsx(KP,{message:d,onConfirm:s,isLatest:d.id===l.ExitPlanMode},d.id):d.toolKind==="todo_write"?d.id!==l.TodoWrite?null:x.jsx(ZP,{message:d},d.id):x.jsx(a2,{message:d,isLoading:n,localPath:r},d.id);case"result":{const g=e[h+1],p=e[h-1];return(g==null?void 0:g.kind)==="context_cleared"||(p==null?void 0:p.kind)==="context_cleared"?null:x.jsx(iB,{message:d},d.id)}case"interrupted":return x.jsx(lB,{message:d},d.id);case"compact_boundary":return x.jsx(aB,{},d.id);case"context_cleared":return x.jsx(oB,{},d.id);case"compact_summary":return x.jsx(sB,{message:d},d.id);case"status":return h===e.length-1?x.jsx(cB,{message:d},d.id):null}}return x.jsx(x.Fragment,{children:c.map(d=>{if(d.type==="tool-group")return x.jsx("div",{className:"group relative",children:x.jsx(pB,{messages:d.messages,isLoading:n,localPath:r})},`group-${d.startIndex}`);const h=f(d.message,d.index);return h?x.jsx("div",{id:`msg-${d.message.id}`,className:"group relative",children:h},d.message.id):null})})}const Uu="What are we building?",vB=19;function bB(){var o,s,c,f;const e=qm(),n=Math.max(e.transcriptPaddingBottom-48,0),[r,l]=v.useState("");return v.useEffect(()=>{if(e.messages.length!==0)return;l("");let d=0;const h=window.setInterval(()=>{d+=1,l(Uu.slice(0,d)),d>=Uu.length&&window.clearInterval(h)},vB);return()=>window.clearInterval(h)},[e.activeChatId,e.messages.length]),x.jsx("div",{className:"flex-1 flex flex-col min-w-0 relative",children:x.jsxs($C,{className:"bg-background flex-1 flex flex-col overflow-hidden border-0 rounded-none relative",children:[x.jsxs(XC,{className:"flex-1 p-0 overflow-hidden relative",children:[x.jsx(sz,{sidebarCollapsed:e.sidebarCollapsed,onOpenSidebar:e.openSidebar,onExpandSidebar:e.expandSidebar,onNewChat:e.handleCompose,localPath:e.navbarLocalPath,onOpenExternal:d=>{e.handleOpenExternal(d)}}),x.jsx(WC,{ref:e.scrollRef,onScroll:e.updateScrollState,className:"h-full px-4 scroll-pt-[72px]",children:e.messages.length===0?x.jsx("div",{className:"animate-fade-in max-w-[800px] mx-auto flex items-center justify-center",style:{minHeight:`calc(100dvh - ${n}px)`},children:x.jsxs("div",{className:"flex flex-col items-center justify-center text-muted-foreground gap-4 opacity-70",children:[x.jsx(Ro,{strokeWidth:1.5,className:"size-8 text-muted-foreground kanna-empty-state-flower"}),x.jsx("div",{className:"text-base font-normal text-muted-foreground text-center max-w-xs flex items-center kanna-empty-state-text","aria-label":Uu,children:x.jsxs("span",{className:"relative inline-grid place-items-start",children:[x.jsxs("span",{className:"invisible col-start-1 row-start-1 whitespace-pre flex items-center",children:[x.jsx("span",{children:Uu}),x.jsx("span",{className:"kanna-typewriter-cursor-slot","aria-hidden":"true"})]}),x.jsxs("span",{className:"col-start-1 row-start-1 whitespace-pre flex items-center",children:[x.jsx("span",{children:r}),x.jsx("span",{className:"kanna-typewriter-cursor-slot","aria-hidden":"true",children:x.jsx("span",{className:"kanna-typewriter-cursor"})})]})]})})]})},e.activeChatId??"new-chat"):x.jsxs("div",{className:"animate-fade-in space-y-5 pt-[72px] max-w-[800px] mx-auto",style:{paddingBottom:e.transcriptPaddingBottom},children:[x.jsx(xB,{messages:e.messages,isLoading:e.isProcessing,localPath:(o=e.runtime)==null?void 0:o.localPath,latestToolIds:e.latestToolIds,onAskUserQuestionSubmit:e.handleAskUserQuestion,onExitPlanModeConfirm:e.handleExitPlanMode}),e.isProcessing?x.jsx(hz,{status:(s=e.runtime)==null?void 0:s.status}):null,e.commandError?x.jsx("div",{className:"text-sm text-destructive border border-destructive/20 bg-destructive/5 rounded-xl px-4 py-3",children:e.commandError}):null]})}),x.jsx("div",{style:{bottom:e.transcriptPaddingBottom-36},className:ye("absolute left-1/2 -translate-x-1/2 z-10 transition-all",e.showScrollButton?"scale-100 duration-300 ease-[cubic-bezier(0.34,1.56,0.64,1)]":"scale-60 duration-300 ease-out pointer-events-none blur-sm opacity-0"),children:x.jsx("button",{onClick:e.scrollToBottom,className:"flex items-center transition-colors gap-1.5 px-2 bg-white hover:bg-muted border border-border rounded-full aspect-square cursor-pointer text-sm text-primary hover:text-foreground dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-100 dark:border-slate-600",children:x.jsx(YM,{className:"h-5 w-5"})})})]}),x.jsx("div",{className:"absolute bottom-0 left-0 right-0 z-20 pointer-events-none",children:x.jsx("div",{className:"bg-gradient-to-t from-background via-background pointer-events-auto",ref:e.inputRef,children:x.jsx(iz,{onSubmit:e.handleSend,onCancel:()=>{e.handleCancel()},disabled:!e.hasSelectedProject||((c=e.runtime)==null?void 0:c.status)==="waiting_for_user",canCancel:e.canCancel,chatId:e.activeChatId,activeProvider:((f=e.runtime)==null?void 0:f.provider)??null,availableProviders:e.availableProviders},e.activeChatId??"new-chat")})})]})})}function Bm({narrow:e=!1,title:n,subtitle:r,icon:l=Ow}){return x.jsxs("div",{className:ye("w-full",e?"max-w-2xl px-6 pt-16 mx-auto":"px-6 pt-16 mb-10"),children:[x.jsxs("div",{className:ye("flex items-center gap-1 mb-2",e&&"justify-center"),children:[x.jsx("div",{className:"p-2 pl-0 rounded-lg",children:x.jsx(l,{className:"h-6 w-6 text-muted-foreground"})}),x.jsx("h1",{className:"text-2xl font-semibold text-foreground",children:n})]}),r&&x.jsx("p",{className:ye("text-muted-foreground",e&&"mb-10 text-center"),children:r})]})}const wB={sm:"text-sm px-2.5 py-1",md:"text-sm px-3 py-1.5"};function SB({value:e,onValueChange:n,options:r,size:l="md",className:o,optionClassName:s}){return x.jsx("div",{className:ye("inline-flex items-center rounded-full border border-border p-0.5 ",o),children:r.map(c=>{const f=c.value===e,d=c.icon,h=d?v.isValidElement(d)?d:(()=>{const p=d;return x.jsx(p,{className:l==="sm"?"h-3.5 w-3.5":"h-4 w-4"})})():null,g=x.jsxs("button",{type:"button",onClick:()=>n(c.value),disabled:c.disabled,"aria-pressed":f,className:ye("rounded-full border transition-colors",d?"grid grid-cols-[auto_auto] items-center gap-2":"inline-flex items-center gap-1.5",wB[l],f?"bg-white dark:bg-muted text-slate-900 dark:text-slate-200 border-slate-300 dark:border-white/10 bg-slate-200 ":"border-transparent text-slate-800 hover:text-slate-900 dark:text-muted-foreground dark:hover:text-foreground",c.disabled&&"opacity-50 pointer-events-none",s),children:[h,x.jsx("span",{children:c.label})]},c.value);return c.tooltip?x.jsxs(ac,{children:[x.jsx(oc,{asChild:!0,children:g}),x.jsx(Io,{children:c.tooltip})]},c.value):g})})}function CB(e){return e.toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,"")}function EB({open:e,onOpenChange:n,onConfirm:r}){const[l,o]=v.useState("new"),[s,c]=v.useState(""),[f,d]=v.useState(""),h=v.useRef(null),g=v.useRef(null);v.useEffect(()=>{e&&(o("new"),c(""),d(""),setTimeout(()=>{var k;return(k=h.current)==null?void 0:k.focus()},0))},[e]),v.useEffect(()=>{e&&setTimeout(()=>{var k,N;l==="new"?(k=h.current)==null||k.focus():(N=g.current)==null||N.focus()},0)},[l,e]);const p=CB(s),b=p?`${n4}/${p}`:"",w=f.trim(),E=l==="new"?!!p:!!w,C=()=>{if(E){if(l==="new")r({mode:"new",localPath:b,title:s.trim()});else{const k=w.split("/").pop()||w;r({mode:"existing",localPath:w,title:k})}n(!1)}};return x.jsx(Pw,{open:e,onOpenChange:n,children:x.jsxs(lp,{size:"sm",children:[x.jsxs(Uw,{className:"space-y-4",children:[x.jsx(Iw,{children:"Add Project"}),x.jsx(SB,{value:l,onValueChange:o,options:[{value:"new",label:"New Folder"},{value:"existing",label:"Existing Path"}],className:"w-full",optionClassName:"flex-1 justify-center"}),l==="new"?x.jsxs("div",{className:"space-y-2",children:[x.jsx("input",{ref:h,type:"text",value:s,onChange:k=>c(k.target.value),onKeyDown:k=>{k.key==="Enter"&&C(),k.key==="Escape"&&n(!1)},className:"w-full px-3 py-2 text-sm border border-border rounded-md bg-background outline-none",placeholder:"Project name"}),b&&x.jsx("p",{className:"text-xs text-muted-foreground font-mono",children:b})]}):x.jsxs("div",{className:"space-y-2",children:[x.jsx("input",{ref:g,type:"text",value:f,onChange:k=>d(k.target.value),onKeyDown:k=>{k.key==="Enter"&&C(),k.key==="Escape"&&n(!1)},className:"w-full px-3 py-2 text-sm border border-border rounded-md bg-background outline-none",placeholder:"~/Projects/my-app"}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"The folder will be created if it doesn't exist."})]})]}),x.jsxs(Hw,{children:[x.jsx($e,{variant:"ghost",size:"sm",onClick:()=>n(!1),children:"Cancel"}),x.jsx($e,{variant:"secondary",size:"sm",onClick:C,disabled:!E,children:"Create"})]})]})})}function kB({text:e}){const[n,r]=v.useState(!1);async function l(){await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}return x.jsx($e,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",onClick:()=>void l(),children:n?x.jsx(sl,{className:"h-4 w-4 text-green-400"}):x.jsx(Rc,{className:"h-4 w-4"})})}function c1({children:e}){return x.jsxs("div",{className:"grid grid-cols-[1fr_auto] items-center group bg-background border border-border text-foreground rounded-xl p-1.5 pl-3 font-mono text-sm",children:[x.jsxs("pre",{className:"inline-flex items-center gap-2 overflow-x-auto",children:[x.jsx(Yr,{className:"inline h-4 w-4 opacity-40"}),x.jsx("code",{children:e})]}),x.jsx(kB,{text:e})]})}function Hu({children:e}){return x.jsx("div",{className:"bg-card border border-border rounded-2xl p-4",children:e})}function rm({children:e}){return x.jsx("h2",{className:"text-[13px] font-medium text-muted-foreground uppercase tracking-wider mb-3",children:e})}function im({icon:e,title:n,subtitle:r,iconClassName:l}){return x.jsxs("div",{className:"flex flex-col items-center gap-0",children:[x.jsx("div",{className:"p-3 mb-2 rounded-xl bg-background border border-border",children:x.jsx(e,{className:l||"h-8 w-8 text-muted-foreground"})}),x.jsx("span",{className:"text-sm font-medium",children:n}),x.jsx("span",{className:"text-xs text-muted-foreground",children:r})]})}function f1(){return x.jsx(KM,{className:"h-4 w-4 text-muted-foreground"})}function d1({number:e,title:n,children:r}){return x.jsx("div",{className:"flex gap-4",children:x.jsxs("div",{className:"flex-1 min-w-0",children:[x.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-baseline gap-3",children:[x.jsxs("div",{className:"flex-shrink-0 flex items-center justify-center font-medium text-logo",children:[e,"."]}),x.jsx("h3",{className:"font-medium text-foreground mb-2",children:n})]}),x.jsx("div",{className:"text-muted-foreground text-sm space-y-3",children:r})]})})}function NB({localPath:e,loading:n,onClick:r}){return x.jsxs(ac,{children:[x.jsx(oc,{asChild:!0,children:x.jsxs("button",{className:ye("border border-border hover:border-primary/30 group rounded-lg bg-card px-4 py-3 flex items-center gap-3 w-full text-left hover:bg-muted/50 transition-colors",n&&"opacity-50 cursor-not-allowed"),disabled:n,onClick:r,children:[x.jsx(Mj,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),x.jsx("span",{className:"font-medium text-foreground truncate flex-1",children:wS(e)}),n?x.jsx(Li,{className:"h-4 w-4 text-muted-foreground group-hover:text-primary animate-spin flex-shrink-0"}):x.jsx(np,{className:"h-4 w-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]})}),x.jsx(Io,{children:x.jsx("p",{children:e})})]})}function TB({connectionStatus:e,ready:n,snapshot:r,startingLocalPath:l,commandError:o,onOpenProject:s,onCreateProject:c}){const[f,d]=v.useState(!1),h=v.useMemo(()=>(r==null?void 0:r.projects)??[],[r==null?void 0:r.projects]),g=e==="connecting"||!n,p=e==="connected"&&n;return x.jsxs("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-y-auto",children:[p?x.jsxs(x.Fragment,{children:[x.jsx(Bm,{title:(r==null?void 0:r.machine.displayName)??"Local Projects",subtitle:`${Zt} is connected, choose a project below to get started.`}),x.jsxs("div",{className:"w-full px-6 mb-10",children:[x.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[x.jsx("h2",{className:"text-[13px] font-medium text-muted-foreground uppercase tracking-wider",children:"Projects"}),x.jsxs($e,{variant:"default",size:"sm",onClick:()=>d(!0),children:[x.jsx(zw,{className:"h-4 w-4 mr-1.5"}),"Add Project"]})]}),h.length>0?x.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-4 3xl:grid-cols-5 gap-2",children:h.map(b=>x.jsx(NB,{localPath:b.localPath,loading:l===b.localPath,onClick:()=>{s(b.localPath)}},b.localPath))}):x.jsx(Hu,{children:x.jsx("p",{className:"text-sm text-muted-foreground",children:"No local projects discovered yet. Open one with Claude or Codex, or create a new project here."})}),o?x.jsx("div",{className:"text-sm text-destructive border border-destructive/20 bg-destructive/5 rounded-xl px-4 py-3 mt-4",children:o}):null]})]}):x.jsxs(x.Fragment,{children:[x.jsx(Bm,{narrow:!0,icon:Lb,title:g?`Connecting ${Zt}`:`Connect ${Zt}`,subtitle:g?`${Zt} is starting up and loading your local projects.`:`Run ${Zt} directly on your machine with full access to your local files and agent project history.`}),x.jsxs("div",{className:"max-w-2xl w-full mx-auto pb-12 px-6",children:[x.jsx(rm,{children:"Status"}),x.jsx("div",{className:"mb-8",children:x.jsx(Hu,{children:x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx(Li,{className:"h-4 w-4 text-muted-foreground animate-spin"}),x.jsx("span",{className:"text-sm text-muted-foreground",children:g?`Connecting to your local ${Zt} server...`:x.jsxs(x.Fragment,{children:["Not connected. Run ",x.jsx("code",{className:"bg-background border border-border rounded-md mx-0.5 p-1 font-mono text-xs text-foreground",children:_u()})," from any terminal on this machine."]})})]})})}),g?null:x.jsxs("div",{className:"mb-10",children:[x.jsx(rm,{children:"How it works"}),x.jsx(Hu,{children:x.jsxs("div",{className:"flex items-center justify-around gap-6 py-4 px-2",children:[x.jsx(im,{icon:rp,title:`${Zt} CLI`,subtitle:"On Your Machine"}),x.jsx(f1,{}),x.jsx(im,{icon:Ow,title:`${Zt} Server`,subtitle:"Local WebSocket"}),x.jsx(f1,{}),x.jsx(im,{icon:Lb,title:`${Zt} UI`,subtitle:"Project Chat"})]})})]}),g?null:x.jsxs("div",{className:"mb-10",children:[x.jsx(rm,{children:"Setup"}),x.jsx(Hu,{children:x.jsxs("div",{className:"space-y-4",children:[x.jsxs(d1,{number:1,title:`Start ${Zt}`,children:[x.jsx("p",{children:"Run this command in your terminal:"}),x.jsx(c1,{children:_u()})]}),x.jsxs(d1,{number:2,title:"Open the local UI",children:[x.jsxs("p",{children:[Zt," serves the app locally and opens the Local Projects page in an app-style browser window."]}),x.jsx(c1,{children:"http://localhost:3210/local"})]}),x.jsxs("div",{className:"mt-8",children:[x.jsx("h3",{className:"text-sm font-medium text-muted-foreground uppercase tracking-wider mb-4",children:"Notes"}),x.jsxs("div",{className:"space-y-3 text-sm",children:[x.jsxs("div",{className:"flex gap-4",children:[x.jsx("code",{className:"font-mono text-foreground whitespace-nowrap",children:_u("").trim()}),x.jsx("span",{className:"text-muted-foreground",children:"Start in the current directory"})]}),x.jsxs("div",{className:"flex gap-4",children:[x.jsx("code",{className:"font-mono text-foreground whitespace-nowrap",children:_u("--no-open")}),x.jsx("span",{className:"text-muted-foreground",children:"Start the server without opening the browser"})]})]})]})]})})]})]})]}),x.jsx(EB,{open:f,onOpenChange:d,onConfirm:b=>{c(b)}}),x.jsx("div",{className:"py-4 text-center",children:x.jsxs("span",{className:"text-xs text-muted-foreground/50",children:["v",bS.split("/")[1]]})})]})}function RB(){const e=qm();return x.jsx("div",{className:"flex-1 flex flex-col min-w-0 relative",children:x.jsx(TB,{connectionStatus:e.connectionStatus,ready:e.localProjectsReady,snapshot:e.localProjects,startingLocalPath:e.startingLocalPath,commandError:e.commandError,onOpenProject:e.handleOpenLocalProject,onCreateProject:e.handleCreateProject})})}function Fu({title:e,description:n,value:r}){return x.jsxs("div",{className:"rounded-2xl border border-border bg-card p-4",children:[x.jsx("div",{className:"mb-1 text-sm font-medium text-foreground",children:e}),x.jsx("div",{className:"mb-3 text-sm text-muted-foreground",children:n}),x.jsx("div",{className:"rounded-xl border border-border bg-background px-3 py-2 font-mono text-sm text-foreground",children:r})]})}function AB(){var l,o,s;const e=qm(),n=e.connectionStatus==="connecting"||!e.localProjectsReady,r=((l=e.localProjects)==null?void 0:l.machine.displayName)??"Settings";return x.jsxs("div",{className:"flex-1 min-w-0 overflow-y-auto bg-background",children:[x.jsx(Bm,{icon:Lw,title:r,subtitle:n?"Kanna is starting up and loading your local environment settings.":"Kanna is connected. Configure app details and review your local environment."}),x.jsxs("div",{className:"w-full px-6 pb-10",children:[x.jsx("div",{className:"mb-3 flex items-baseline justify-between",children:x.jsx("h2",{className:"text-[13px] font-medium uppercase tracking-wider text-muted-foreground",children:"Settings"})}),n?x.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-border bg-card px-4 py-4 text-sm text-muted-foreground",children:[x.jsx(Li,{className:"h-4 w-4 animate-spin"}),x.jsx("span",{children:"Loading machine settings…"})]}):x.jsxs("div",{className:"grid grid-cols-1 gap-3 lg:grid-cols-2",children:[x.jsx(Fu,{title:"Machine",description:"The local machine currently connected to Kanna.",value:((o=e.localProjects)==null?void 0:o.machine.displayName)??"Unavailable"}),x.jsx(Fu,{title:"Connection",description:"Current connection state for the local Kanna runtime.",value:e.connectionStatus}),x.jsx(Fu,{title:"Projects Indexed",description:"Number of local projects currently available in the app.",value:String(((s=e.localProjects)==null?void 0:s.projects.length)??0)}),x.jsx(Fu,{title:"App Version",description:"Current Kanna desktop client build.",value:bS.split("/")[1]??"unknown"})]}),e.commandError?x.jsxs("div",{className:"mt-4 flex items-start gap-3 rounded-2xl border border-destructive/20 bg-destructive/5 px-4 py-3 text-sm text-destructive",children:[x.jsx(Oj,{className:"mt-0.5 h-4 w-4 flex-shrink-0"}),x.jsx("span",{children:e.commandError})]}):null]})]})}function qu(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function MB(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function jB(e,n){const r=MB(n);switch(e.toolKind){case"ask_user_question":{const o=qu(r),s=qu(o==null?void 0:o.answers)??(o||{});return{answers:Object.fromEntries(Object.entries(s).map(([c,f])=>Array.isArray(f)?[c,f.map(d=>String(d))]:f&&typeof f=="object"&&Array.isArray(f.answers)?[c,f.answers.map(d=>String(d))]:f==null||f===""?[c,[]]:[c,[String(f)]])),...(o==null?void 0:o.discarded)===!0?{discarded:!0}:{}}}case"exit_plan_mode":{const o=qu(r);return{confirmed:typeof(o==null?void 0:o.confirmed)=="boolean"?o.confirmed:void 0,clearContext:typeof(o==null?void 0:o.clearContext)=="boolean"?o.clearContext:void 0,message:typeof(o==null?void 0:o.message)=="string"?o.message:void 0,...(o==null?void 0:o.discarded)===!0?{discarded:!0}:{}}}case"read_file":if(typeof r=="string")return r;const l=qu(r);return{content:typeof(l==null?void 0:l.content)=="string"?l.content:JSON.stringify(r,null,2)};default:return r}}function o2(e){return new Date(e).toISOString()}function tr(e){return{id:e._id,messageId:e.messageId,timestamp:o2(e.createdAt),hidden:e.hidden}}function _B(e){return{id:e._id,messageId:e.messageId,hidden:e.hidden,kind:"tool",toolKind:e.tool.toolKind,toolName:e.tool.toolName,toolId:e.tool.toolId,input:e.tool.input,timestamp:o2(e.createdAt)}}function OB(e){if(e.debugRaw)try{return JSON.parse(e.debugRaw).tool_use_result}catch{return}}function DB(e){const n=new Map,r=[];for(const l of e)switch(l.kind){case"user_prompt":r.push({...tr(l),kind:"user_prompt",content:l.content});break;case"system_init":r.push({...tr(l),kind:"system_init",provider:l.provider,model:l.model,tools:l.tools,agents:l.agents,slashCommands:l.slashCommands,mcpServers:l.mcpServers,debugRaw:l.debugRaw});break;case"account_info":r.push({...tr(l),kind:"account_info",accountInfo:l.accountInfo});break;case"assistant_text":r.push({...tr(l),kind:"assistant_text",text:l.text});break;case"tool_call":{const o=_B(l);n.set(l.tool.toolId,{hydrated:o,normalized:l.tool}),r.push(o);break}case"tool_result":{const o=n.get(l.toolId);if(o){const s=o.normalized.toolKind==="ask_user_question"||o.normalized.toolKind==="exit_plan_mode"?OB(l)??l.content:l.content;o.hydrated.result=jB(o.normalized,s),o.hydrated.rawResult=s,o.hydrated.isError=l.isError}break}case"result":r.push({...tr(l),kind:"result",success:!l.isError,cancelled:l.subtype==="cancelled",result:l.result,durationMs:l.durationMs,costUsd:l.costUsd});break;case"status":r.push({...tr(l),kind:"status",status:l.status});break;case"compact_boundary":r.push({...tr(l),kind:"compact_boundary"});break;case"compact_summary":r.push({...tr(l),kind:"compact_summary",summary:l.summary});break;case"context_cleared":r.push({...tr(l),kind:"context_cleared"});break;case"interrupted":r.push({...tr(l),kind:"interrupted"});break;default:r.push({...tr(l),kind:"unknown",json:JSON.stringify(l,null,2)});break}return r}const zB=["AskUserQuestion","ExitPlanMode","TodoWrite"],LB=new Set(["TodoWrite"]);function PB(e,n){for(let r=e.length-1;r>=0;r-=1){const l=e[r];if(l.kind!=="tool")continue;const o=l;if(o.toolName===n&&!o.result)return o.id}return null}function BB(e,n){for(let r=e.length-1;r>=0;r-=1){const l=e[r];if(l.kind!=="tool")continue;const o=l;if(o.toolName===n)return o.id}return null}function IB(e){const n={};for(const r of zB)n[r]=LB.has(r)?BB(e,r):PB(e,r);return n}function UB(e){return e==="starting"||e==="running"||e==="waiting_for_user"}function HB(e){return e==="starting"||e==="running"||e==="waiting_for_user"}const FB=25e3,qB=15e3,GB=4e3;class VB{constructor(n){Rt(this,"url");Rt(this,"ws",null);Rt(this,"started",!1);Rt(this,"reconnectTimer",null);Rt(this,"reconnectDelayMs",750);Rt(this,"subscriptions",new Map);Rt(this,"pending",new Map);Rt(this,"outboundQueue",[]);Rt(this,"statusListeners",new Set);Rt(this,"heartbeatTimer",null);Rt(this,"pingTimeoutTimer",null);Rt(this,"pingPromise",null);Rt(this,"lastOpenAt",0);Rt(this,"lastMessageAt",0);Rt(this,"reconnectImmediatelyOnClose",!1);Rt(this,"handleWindowFocus",()=>{this.ensureHealthyConnection()});Rt(this,"handleVisibilityChange",()=>{if(document.visibilityState==="visible"){this.startHeartbeat(),this.ensureHealthyConnection();return}this.stopHeartbeat()});Rt(this,"handleOnline",()=>{this.ensureHealthyConnection()});this.url=n}start(){this.started||(this.started=!0,window.addEventListener("focus",this.handleWindowFocus),window.addEventListener("online",this.handleOnline),document.addEventListener("visibilitychange",this.handleVisibilityChange),this.connect())}dispose(){var n;this.started=!1,this.reconnectTimer&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopHeartbeat(),this.clearPingState(),window.removeEventListener("focus",this.handleWindowFocus),window.removeEventListener("online",this.handleOnline),document.removeEventListener("visibilitychange",this.handleVisibilityChange),(n=this.ws)==null||n.close(),this.ws=null;for(const r of this.pending.values())r.reject(new Error("Socket disposed"));this.pending.clear()}onStatus(n){return this.statusListeners.add(n),n(this.getStatus()),()=>{this.statusListeners.delete(n)}}subscribe(n,r){const l=crypto.randomUUID();return this.subscriptions.set(l,{topic:n,listener:r}),this.enqueue({v:1,type:"subscribe",id:l,topic:n}),()=>{this.subscriptions.delete(l),this.enqueue({v:1,type:"unsubscribe",id:l})}}command(n){const r=crypto.randomUUID(),l={v:1,type:"command",id:r,command:n};return new Promise((o,s)=>{this.pending.set(r,{resolve:o,reject:s}),this.enqueue(l)})}ensureHealthyConnection(){return!this.ws||this.ws.readyState===WebSocket.CLOSED||this.ws.readyState===WebSocket.CLOSING?(this.reconnectNow(),Promise.resolve()):this.ws.readyState===WebSocket.CONNECTING||!this.isConnectionStale()?Promise.resolve():this.sendPing()}connect(){this.started&&(this.emitStatus("connecting"),this.ws=new WebSocket(this.url),this.ws.addEventListener("open",()=>{this.reconnectDelayMs=750,this.reconnectImmediatelyOnClose=!1,this.lastOpenAt=Date.now(),this.lastMessageAt=this.lastOpenAt,this.emitStatus("connected"),this.startHeartbeat();for(const[n,r]of this.subscriptions.entries())this.sendNow({v:1,type:"subscribe",id:n,topic:r.topic});for(;this.outboundQueue.length>0;){const n=this.outboundQueue.shift();n&&this.sendNow(n)}}),this.ws.addEventListener("message",n=>{this.lastMessageAt=Date.now();let r;try{r=JSON.parse(String(n.data))}catch{return}if(r.type==="snapshot"){const l=this.subscriptions.get(r.id);l==null||l.listener(r.snapshot.data);return}if(r.type==="ack"){const l=this.pending.get(r.id);if(!l)return;this.pending.delete(r.id),l.resolve(r.result);return}if(r.type==="error"){if(!r.id){console.error(t4,r.message);return}const l=this.pending.get(r.id);if(!l)return;this.pending.delete(r.id),l.reject(new Error(r.message))}}),this.ws.addEventListener("close",()=>{if(!this.started)return;const n=this.reconnectImmediatelyOnClose;this.reconnectImmediatelyOnClose=!1,this.stopHeartbeat(),this.clearPingState(),this.emitStatus("disconnected");for(const r of this.pending.values())r.reject(new Error("Disconnected"));if(this.pending.clear(),n){this.connect();return}this.scheduleReconnect()}))}scheduleReconnect(){this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect(),this.reconnectDelayMs=Math.min(this.reconnectDelayMs*2,5e3)},this.reconnectDelayMs))}getStatus(){var n,r;return((n=this.ws)==null?void 0:n.readyState)===WebSocket.OPEN?"connected":((r=this.ws)==null?void 0:r.readyState)===WebSocket.CONNECTING?"connecting":"disconnected"}emitStatus(n){for(const r of this.statusListeners)r(n)}isConnectionStale(){const n=Math.max(this.lastMessageAt,this.lastOpenAt);return n>0&&Date.now()-n>=FB}sendPing(){if(this.pingPromise)return this.pingPromise;const n=this.command({type:"system.ping"}).then(()=>{this.clearPingState()}).catch(r=>{throw this.clearPingState(),this.reconnectNow(),r});return this.pingTimeoutTimer=window.setTimeout(()=>{this.clearPingState(),this.reconnectNow()},GB),this.pingPromise=n,n}reconnectNow(){if(this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),!this.ws||this.ws.readyState===WebSocket.CLOSED){this.connect();return}this.ws.readyState!==WebSocket.CONNECTING&&(this.reconnectImmediatelyOnClose=!0,this.ws.close())}startHeartbeat(){document.visibilityState==="visible"&&this.heartbeatTimer===null&&(this.heartbeatTimer=window.setInterval(()=>{var n;if(document.visibilityState!=="visible"){this.stopHeartbeat();return}((n=this.ws)==null?void 0:n.readyState)===WebSocket.OPEN&&this.ensureHealthyConnection()},qB))}stopHeartbeat(){this.heartbeatTimer!==null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}clearPingState(){this.pingTimeoutTimer!==null&&(window.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=null),this.pingPromise=null}enqueue(n){var r;if(((r=this.ws)==null?void 0:r.readyState)===WebSocket.OPEN){this.sendNow(n);return}this.outboundQueue.push(n)}sendNow(n){var r;(r=this.ws)==null||r.send(JSON.stringify(n))}}function $B(e,n){var l;const r=e.find(o=>o.chats.some(s=>s.chatId===n));return r?((l=r.chats.find(o=>o.chatId!==n))==null?void 0:l.chatId)??null:null}function YB(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`}function XB(){const e=v.useRef(null);return e.current||(e.current=new VB(YB())),v.useEffect(()=>{const n=e.current;return n==null||n.start(),()=>{n==null||n.dispose()}},[]),e.current}function KB(e){var mt,Jr,ie;const n=Fm(),r=XB(),l=p_(),[o,s]=v.useState({projectGroups:[]}),[c,f]=v.useState(null),[d,h]=v.useState(null),[g,p]=v.useState("connecting"),[b,w]=v.useState(!1),[E,C]=v.useState(!1),[k,N]=v.useState(!1),[j,M]=v.useState(null),[D,U]=v.useState(!1),[_,P]=v.useState(!1),[F,ne]=v.useState(148),[I,J]=v.useState(!0),[te,ce]=v.useState(null),[le,ee]=v.useState(null),[B,X]=v.useState(null),$=v.useRef(null),Z=v.useRef(null);v.useEffect(()=>r.onStatus(p),[r]),v.useEffect(()=>r.subscribe({type:"sidebar"},Y=>{s(Y),w(!0),ce(null)}),[r]),v.useEffect(()=>r.subscribe({type:"local-projects"},Y=>{f(Y),C(!0),ce(null)}),[r]),v.useEffect(()=>{if(!e){h(null),N(!0);return}return N(!1),r.subscribe({type:"chat",chatId:e},Y=>{h(Y),N(!0),ce(null)})},[e,r]),v.useEffect(()=>{if(j)return;const Y=o.projectGroups[0];Y&&M(Y.groupKey)},[j,o.projectGroups]),v.useEffect(()=>{if(!e||!b||!k)return;if(o.projectGroups.some(se=>se.chats.some(pe=>pe.chatId===e))){B===e&&X(null);return}B!==e&&n("/")},[e,k,n,B,o.projectGroups,b]),v.useEffect(()=>{d&&(M(d.runtime.projectId),B===d.runtime.chatId&&X(null))},[d,B]),v.useLayoutEffect(()=>{const Y=Z.current;if(!Y)return;const se=new ResizeObserver(()=>{ne(Y.getBoundingClientRect().height)});return se.observe(Y),ne(Y.getBoundingClientRect().height),()=>se.disconnect()},[]);const R=v.useMemo(()=>DB((d==null?void 0:d.messages)??[]),[d==null?void 0:d.messages]),O=v.useMemo(()=>IB(R),[R]),z=(d==null?void 0:d.runtime)??null,A=(d==null?void 0:d.availableProviders)??z5,Q=HB(z==null?void 0:z.status),fe=UB(z==null?void 0:z.status),ue=F+48,me=!I&&R.length>0,Ne=((mt=c==null?void 0:c.projects[0])==null?void 0:mt.localPath)??null,he=(z==null?void 0:z.localPath)??Ne??((Jr=o.projectGroups[0])==null?void 0:Jr.localPath),Ce=!!(j??(z==null?void 0:z.projectId)??((ie=o.projectGroups[0])==null?void 0:ie.groupKey)??Ne);v.useEffect(()=>{const Y=$.current;if(!Y)return;Y.scrollHeight-Y.scrollTop-Y.clientHeight<120&&Y.scrollTo({top:Y.scrollHeight,behavior:"smooth"})},[e,R.length,z==null?void 0:z.status]);function lt(){const Y=$.current;if(!Y)return;const se=Y.scrollHeight-Y.scrollTop-Y.clientHeight;J(se<24)}function nt(){const Y=$.current;Y&&Y.scrollTo({top:Y.scrollHeight,behavior:"smooth"})}async function st(Y){try{const se=await r.command({type:"chat.create",projectId:Y});M(Y),X(se.chatId),n(`/chat/${se.chatId}`),U(!1)}catch(se){ce(se instanceof Error?se.message:String(se))}}async function Ye(Y){try{ee(Y);const se=await r.command({type:"project.open",localPath:Y});M(se.projectId);const pe=await r.command({type:"chat.create",projectId:se.projectId});X(pe.chatId),n(`/chat/${pe.chatId}`),U(!1),ce(null)}catch(se){ce(se instanceof Error?se.message:String(se))}finally{ee(null)}}async function Lt(Y){try{ee(Y.localPath);const se=await r.command(Y.mode==="new"?{type:"project.create",localPath:Y.localPath,title:Y.title}:{type:"project.open",localPath:Y.localPath});M(se.projectId);const pe=await r.command({type:"chat.create",projectId:se.projectId});X(pe.chatId),n(`/chat/${pe.chatId}`),U(!1),ce(null)}catch(se){ce(se instanceof Error?se.message:String(se))}finally{ee(null)}}async function Pt(Y,se){var pe;try{let we=j??((pe=o.projectGroups[0])==null?void 0:pe.groupKey)??null;if(!e&&!we&&Ne&&(we=(await r.command({type:"project.open",localPath:Ne})).projectId,M(we)),!e&&!we)throw new Error("Open a project first");const Oe=await r.command({type:"chat.send",chatId:e??void 0,projectId:e?void 0:we??void 0,provider:se==null?void 0:se.provider,content:Y,model:se==null?void 0:se.model,modelOptions:se==null?void 0:se.modelOptions,planMode:se==null?void 0:se.planMode});!e&&Oe.chatId&&(X(Oe.chatId),n(`/chat/${Oe.chatId}`)),ce(null)}catch(we){throw ce(we instanceof Error?we.message:String(we)),we}}async function Yn(){if(e)try{await r.command({type:"chat.cancel",chatId:e})}catch(Y){ce(Y instanceof Error?Y.message:String(Y))}}async function Xn(Y){if(await l.confirm({title:"Delete Chat",description:`Delete "${Y.title}"? This cannot be undone.`,confirmLabel:"Delete",confirmVariant:"destructive"}))try{if(await r.command({type:"chat.delete",chatId:Y.chatId}),Y.chatId===e){const pe=$B(o.projectGroups,Y.chatId);n(pe?`/chat/${pe}`:"/")}}catch(pe){ce(pe instanceof Error?pe.message:String(pe))}}async function Bt(Y){const se=o.projectGroups.find(Oe=>Oe.groupKey===Y);if(!se)return;const pe=se.localPath.split("/").filter(Boolean).pop()??se.localPath;if(await l.confirm({title:"Remove",description:`Remove "${pe}" from the sidebar? Existing chats will be removed from ${Zt}.`,confirmLabel:"Remove",confirmVariant:"destructive"}))try{await r.command({type:"project.remove",projectId:Y}),(z==null?void 0:z.projectId)===Y&&n("/"),ce(null)}catch(Oe){ce(Oe instanceof Error?Oe.message:String(Oe))}}async function It(Y){var pe,we;const se=(z==null?void 0:z.localPath)??((pe=c==null?void 0:c.projects[0])==null?void 0:pe.localPath)??((we=o.projectGroups[0])==null?void 0:we.localPath);if(se)try{await r.command({type:"system.openExternal",action:Y,localPath:se})}catch(Oe){ce(Oe instanceof Error?Oe.message:String(Oe))}}function Rn(){var pe,we;const Y=j??((pe=o.projectGroups[0])==null?void 0:pe.groupKey);if(Y){st(Y);return}const se=(we=c==null?void 0:c.projects[0])==null?void 0:we.localPath;if(se){Ye(se);return}n("/")}async function sr(Y,se,pe){if(e)try{await r.command({type:"chat.respondTool",chatId:e,toolUseId:Y,result:{questions:se,answers:pe}})}catch(we){ce(we instanceof Error?we.message:String(we))}}async function Wr(Y,se,pe,we){if(e){se&&VC.getState().setPlanMode(!1);try{await r.command({type:"chat.respondTool",chatId:e,toolUseId:Y,result:{confirmed:se,...pe?{clearContext:!0}:{},...we?{message:we}:{}}})}catch(Oe){ce(Oe instanceof Error?Oe.message:String(Oe))}}}return{activeChatId:e,sidebarData:o,localProjects:c,chatSnapshot:d,connectionStatus:g,sidebarReady:b,localProjectsReady:E,commandError:te,startingLocalPath:le,sidebarOpen:D,sidebarCollapsed:_,scrollRef:$,inputRef:Z,messages:R,latestToolIds:O,runtime:z,availableProviders:A,isProcessing:Q,canCancel:fe,transcriptPaddingBottom:ue,showScrollButton:me,navbarLocalPath:he,hasSelectedProject:Ce,openSidebar:()=>U(!0),closeSidebar:()=>U(!1),collapseSidebar:()=>P(!0),expandSidebar:()=>P(!1),updateScrollState:lt,scrollToBottom:nt,handleCreateChat:st,handleOpenLocalProject:Ye,handleCreateProject:Lt,handleSend:Pt,handleCancel:Yn,handleDeleteChat:Xn,handleRemoveProject:Bt,handleOpenExternal:It,handleCompose:Rn,handleAskUserQuestion:sr,handleExitPlanMode:Wr}}function QB(){const e=Sr(),n=yT(),r=KB(n.chatId??null),l=e.pathname==="/"||e.pathname==="/settings";return x.jsxs("div",{className:"flex h-[100dvh] min-h-[100dvh] overflow-hidden",children:[x.jsx(D5,{data:r.sidebarData,activeChatId:r.activeChatId,connectionStatus:r.connectionStatus,ready:r.sidebarReady,open:r.sidebarOpen,collapsed:r.sidebarCollapsed,showMobileOpenButton:l,onOpen:r.openSidebar,onClose:r.closeSidebar,onCollapse:r.collapseSidebar,onExpand:r.expandSidebar,onCreateChat:o=>{r.handleCreateChat(o)},onDeleteChat:o=>{r.handleDeleteChat(o)},onRemoveProject:o=>{r.handleRemoveProject(o)}}),x.jsx(jT,{context:r})]})}function ZB(){return x.jsx(W3,{children:x.jsx(m_,{children:x.jsx(OT,{children:x.jsxs(No,{element:x.jsx(QB,{}),children:[x.jsx(No,{path:"/",element:x.jsx(RB,{})}),x.jsx(No,{path:"/settings",element:x.jsx(AB,{})}),x.jsx(No,{path:"/chat/:chatId",element:x.jsx(bB,{})})]})})})})}const s2="lever-theme",WB=v.createContext(void 0),JB=e=>e==="light"||e==="dark"||e==="system",u2=()=>typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",h1=e=>{if(typeof document>"u")return;const n=e==="system"?u2():e;document.documentElement.classList.toggle("dark",n==="dark")},eI=()=>{if(typeof window>"u")return"system";const e=window.localStorage.getItem(s2);return JB(e)?e:"system"};function tI({children:e}){const[n,r]=v.useState(eI);v.useEffect(()=>{h1(n),typeof window<"u"&&window.localStorage.setItem(s2,n)},[n]),v.useEffect(()=>{if(n!=="system")return;const o=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>h1("system");return o.addEventListener?(o.addEventListener("change",s),()=>o.removeEventListener("change",s)):(o.addListener(s),()=>o.removeListener(s))},[n]);const l=v.useMemo(()=>{const o=n==="system"?u2():n;return{theme:n,resolvedTheme:o,setTheme:r}},[n]);return x.jsx(WB.Provider,{value:l,children:e})}const c2=document.getElementById("root");if(!c2)throw new Error("Missing #root");ON.createRoot(c2).render(x.jsx(v.StrictMode,{children:x.jsx(rR,{children:x.jsx(tI,{children:x.jsx(ZB,{})})})}));
419
+ `),o=tB(r,l),s=nB(r,l,o);return rB(s)}function tB(e,n){const r=e.length,l=n.length,o=Array.from({length:r+1},()=>Array(l+1).fill(0));for(let s=1;s<=r;s++)for(let c=1;c<=l;c++)o[s][c]=e[s-1]===n[c-1]?o[s-1][c-1]+1:Math.max(o[s-1][c],o[s][c-1]);return o}function nB(e,n,r){const l=[];let o=e.length,s=n.length;for(;o>0||s>0;)o>0&&s>0&&e[o-1]===n[s-1]?(l.push({type:"context",text:e[o-1],oldIdx:o,newIdx:s}),o--,s--):s>0&&(o===0||r[o][s-1]>=r[o-1][s])?(l.push({type:"added",text:n[s-1],oldIdx:o,newIdx:s}),s--):(l.push({type:"removed",text:e[o-1],oldIdx:o,newIdx:s}),o--);return l.reverse()}function rB(e){return e.map(n=>{const r=n.type==="removed"?"-":n.type==="added"?"+":" ";return{type:n.type,content:`${r}${n.text}`}})}function nm({content:e,isDiff:n=!1,oldString:r,newString:l}){const o=v.useMemo(()=>n&&r!==void 0&&l!==void 0?eB(r,l):[],[n,r,l]),s=v.useMemo(()=>n?[]:WP(e),[e,n]),c=v.useMemo(()=>s.some(f=>f.lineNumber!==null),[s]);return n&&o.length>0?x.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:x.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:x.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:x.jsx("tbody",{children:o.map((f,d)=>{const h=f.type==="removed"?"bg-red-500/10 dark:bg-red-500/15":f.type==="added"?"bg-green-500/10 dark:bg-green-500/15":"",g=f.type==="removed"?"text-red-700 dark:text-red-400":f.type==="added"?"text-green-700 dark:text-green-400":"text-foreground";return x.jsxs("tr",{className:h,children:[x.jsx("td",{className:`px-2 py-0 select-none w-0 whitespace-nowrap ${f.type==="removed"?"text-red-500/50":f.type==="added"?"text-green-500/50":"text-muted-foreground/50"}`,children:f.type==="removed"?"-":f.type==="added"?"+":" "}),x.jsx("td",{className:`px-2 py-0 whitespace-pre select-all ${g}`,children:f.content.slice(1)})]},d)})})})})}):x.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:x.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:x.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:x.jsx("tbody",{children:s.map((f,d)=>x.jsxs("tr",{children:[c&&x.jsx("td",{className:"px-2 py-0 select-none w-0 whitespace-nowrap text-muted-foreground/50 text-right",children:f.lineNumber!==null?f.lineNumber:""}),x.jsx("td",{className:"px-2 py-0 whitespace-pre select-all text-foreground",children:JP(f.content)})]},d))})})})})}function a2({message:e,isLoading:n=!1,localPath:r}){var E;const l=e.result!==void 0,o=!l&&n,s=v.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill;if(e.toolKind==="glob")return`Search files ${e.input.pattern==="**/*"?"in all directories":`matching ${e.input.pattern}`}`;if(e.toolKind==="grep"){const C=e.input.pattern,k=e.input.outputMode;return k==="count"?`Count \`${C}\` occurrences`:k==="content"?`Find \`${C}\` in text`:`Find \`${C}\` in files`}return e.toolKind==="bash"?e.input.description||(e.input.command?i4(e.input.command):"Bash"):e.toolKind==="web_search"?e.input.query||"Web Search":e.toolKind==="read_file"?`Read ${tm(e.input.filePath,r)}`:e.toolKind==="write_file"?`Write ${tm(e.input.filePath,r)}`:e.toolKind==="edit_file"?`Edit ${tm(e.input.filePath,r)}`:e.toolKind==="mcp_generic"?`${gm(e.input.tool)} from ${gm(e.input.server)}`:e.toolKind==="subagent_task"&&e.input.subagentType||e.toolName},[e.input,e.toolName,r]),c=v.useMemo(()=>e.toolKind==="subagent_task",[e.toolKind]),f=v.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill},[e.input,e.toolKind]),d=e.toolKind==="bash",h=e.toolKind==="write_file",g=e.toolKind==="edit_file",p=e.toolKind==="read_file",b=v.useMemo(()=>{if(typeof e.result=="string")return e.result;if(!e.result)return"";if(typeof e.result=="object"&&e.result!==null&&"content"in e.result){const C=e.result.content;if(typeof C=="string")return C}return JSON.stringify(e.result,null,2)},[e.result]),w=v.useMemo(()=>{switch(e.toolKind){case"bash":return e.input.command;case"write_file":return e.input.content;default:return JSON.stringify(e.input,null,2)}},[e]);return x.jsx(Bi,{className:"w-full",children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-sm",children:x.jsxs("div",{className:"flex flex-col gap-2",children:[g?x.jsx(nm,{content:"",isDiff:!0,oldString:e.input.oldString,newString:e.input.newString}):!p&&!h&&x.jsx(y0,{label:d?x.jsxs("span",{className:"flex items-center gap-2 w-full",children:[x.jsx("span",{children:"Command"}),!!e.input.timeoutMs&&x.jsxs("span",{className:"text-muted-foreground",children:["timeout: ",String(e.input.timeoutMs),"ms"]}),!!e.input.runInBackground&&x.jsx("span",{className:"text-muted-foreground",children:"background"})]}):h?"Contents":"Input",copyText:w,children:w}),l&&p&&!e.isError&&x.jsx(nm,{content:b}),h&&!e.isError&&x.jsx(nm,{content:e.input.content}),l&&!p&&!(h&&!e.isError)&&!(g&&!e.isError)&&x.jsx(y0,{label:e.isError?"Error":"Result",copyText:b,children:b})]})}),children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:(()=>{if(e.isError)return x.jsx(Ac,{className:"size-4 text-destructive"});if(c)return x.jsx(ip,{className:"size-4 text-muted-icon"});const C=QC(e.toolName);return x.jsx(C,{className:"size-4 text-muted-icon"})})()}),x.jsx(Oi,{className:"text-left transition-opacity duration-200 truncate",children:x.jsx(Pc,{animate:o,shimmerWidth:Math.max(20,(((E=f||s)==null?void 0:E.length)??33)*3),children:f||s})})]})})}function iB({message:e}){const n=r=>{if(r<1e3)return`${r}ms`;const l=Math.floor(r/1e3),o=Math.floor(l/3600),s=Math.floor(l%3600/60),c=l%60;return o>0?`${o}h${s>0?` ${s}m`:""}`:s>0?`${s}m${c>0?` ${c}s`:""}`:`${c}s`};return x.jsxs(Bi,{className:`px-0.5 text-xs tracking-wide ${e.durationMs>6e4?"":"hidden"}`,children:[x.jsx("div",{className:"w-full h-[1px] bg-border"}),x.jsxs(Oi,{className:"whitespace-nowrap text-[11px] tracking-widest text-muted-foreground/60 uppercase flex-shrink-0",children:["Worked for ",n(e.durationMs)]}),x.jsx("div",{className:"w-full h-[1px] bg-border"})]})}function lB({message:e}){return x.jsx("div",{className:"flex items-center justify-end gap-2 text-sm text-muted-foreground my-3",children:x.jsxs("div",{className:"inline-flex gap-1.5 items-center justify-center whitespace-nowrap text-sm font-medium bg-background text-foreground/60 border border-border h-9 pl-1 pr-4 rounded-full",children:[x.jsx(dj,{className:"h-4 w-4 ml-1.5"}),x.jsx("em",{children:"Interrupted"})]})})}function vc({size:e=4}){return x.jsxs("svg",{className:"flex-1",viewBox:`0 0 100 ${e}`,preserveAspectRatio:"none",style:{height:`${e}px`},children:[x.jsx("pattern",{id:"zigzag",width:e,height:e,patternUnits:"userSpaceOnUse",children:x.jsx("path",{d:`M0 ${e} L${e/2} 0 L${e} ${e}`,fill:"none",stroke:"currentColor",strokeWidth:"0.5",className:"text-muted-foreground/30",style:{stroke:"currentColor"}})}),x.jsx("rect",{width:"100%",height:e,fill:"url(#zigzag)",className:"text-muted-foreground/30"})]})}function aB(){return x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx(vc,{}),x.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Compacted"}),x.jsx(vc,{})]})}function oB(){return x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx(vc,{}),x.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Context Cleared"}),x.jsx(vc,{})]})}function sB({message:e}){return x.jsx(Bi,{children:x.jsxs(Gc,{expandedContent:x.jsx(Vc,{className:"my-4 text-xs",children:x.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:x.jsx(Wc,{remarkPlugins:[Jc],components:$c,children:e.summary})})}),children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(_w,{className:"h-4.5 w-4.5 text-muted-foreground"})}),x.jsx(Oi,{children:"Summarized"})]})})}const uB={compacting:"Compacting..."};function cB({message:e}){const n=uB[e.status]||e.status;return x.jsxs(Bi,{className:"grid grid-cols-[auto_1fr] items-center gap-1.5 text-sm animate-pulse",children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(_w,{className:"h-4.5 w-4.5 text-muted-foreground"})}),x.jsx(Oi,{className:"text-left transition-opacity duration-200 truncate",children:n})]})}const fB={read_file:{key:"read",singular:"read",plural:"reads"},edit_file:{key:"edit",singular:"edit",plural:"edits"},write_file:{key:"write",singular:"write",plural:"writes"},bash:{key:"bash",singular:"command",plural:"commands"},grep:{key:"grep",singular:"search",plural:"searches"},glob:{key:"glob",singular:"glob",plural:"globs"},subagent_task:{key:"task",singular:"agent",plural:"agents"},web_search:{key:"websearch",singular:"web search",plural:"web searches"},skill:{key:"skill",singular:"skill",plural:"skills"},todo_write:{key:"todo",singular:"todo update",plural:"todo updates"}},dB={key:"other",singular:"tool call",plural:"tool calls"};function hB(e){return fB[e]??dB}function mB(e){const n=new Map,r=[];for(const l of e){const o=l.toolKind,s=hB(o),c=n.get(s.key);c?c.count++:(n.set(s.key,{category:s,count:1}),r.push(s.key))}return r.map(l=>{const{category:o,count:s}=n.get(l);return`${s} ${s===1?o.singular:o.plural}`}).join(", ")}function pB({messages:e,isLoading:n,localPath:r}){const[l,o]=v.useState(!1),s=v.useMemo(()=>mB(e),[e]),f=e.some(d=>d.result===void 0)&&n;return x.jsx(Bi,{className:"w-full",children:x.jsxs("div",{className:"flex flex-col w-full",children:[x.jsx("button",{onClick:()=>o(!l),className:`group cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-sm ${!l&&!f?"hover:opacity-60 transition-opacity":""}`,children:x.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(Yr,{className:`h-4.5 w-4.5 text-muted-icon transition-all duration-200 ${l?"rotate-90":""}`})}),x.jsx(Oi,{className:"text-left",children:x.jsx(Pc,{animate:f,children:s})})]})}),l&&x.jsxs("div",{className:"my-4 flex flex-col gap-3",children:[e.map(d=>x.jsx(a2,{message:d,isLoading:n,localPath:r},d.id)),e.length>5&&x.jsx("button",{onClick:()=>o(!1),className:"cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-xs hover:opacity-80 transition-opacity",children:x.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[x.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:x.jsx(Yr,{className:"h-4.5 w-4.5 text-muted-icon -rotate-90"})}),x.jsx(Oi,{className:"text-left",children:"Collapse"})]})})]})]})})}const gB=new Set(["AskUserQuestion","ExitPlanMode","TodoWrite"]);function u1(e){if(e.kind!=="tool")return!1;const n=e.toolName;return!gB.has(n)}function yB(e){const n=[];let r=0;for(;r<e.length;){const l=e[r];if(u1(l)){const o=[l],s=r;for(r+=1;r<e.length&&u1(e[r]);)o.push(e[r]),r+=1;o.length>=2?n.push({type:"tool-group",messages:o,startIndex:s}):n.push({type:"single",message:l,index:s});continue}n.push({type:"single",message:l,index:r}),r+=1}return n}function xB({messages:e,isLoading:n,localPath:r,latestToolIds:l,onAskUserQuestionSubmit:o,onExitPlanModeConfirm:s}){const c=v.useMemo(()=>yB(e),[e]);function f(d,h){if(d.kind==="user_prompt")return x.jsx(LP,{content:d.content},d.id);switch(d.kind){case"unknown":return x.jsx(PP,{json:d.json},d.id);case"system_init":return e.findIndex(p=>p.kind==="system_init")===h?x.jsx(FP,{message:d,rawJson:d.debugRaw},d.id):null;case"account_info":return e.findIndex(p=>p.kind==="account_info")===h?x.jsx(qP,{message:d},d.id):null;case"assistant_text":return x.jsx(GP,{message:d},d.id);case"tool":return d.toolKind==="ask_user_question"?x.jsx(XP,{message:d,onSubmit:o,isLatest:d.id===l.AskUserQuestion},d.id):d.toolKind==="exit_plan_mode"?x.jsx(KP,{message:d,onConfirm:s,isLatest:d.id===l.ExitPlanMode},d.id):d.toolKind==="todo_write"?d.id!==l.TodoWrite?null:x.jsx(ZP,{message:d},d.id):x.jsx(a2,{message:d,isLoading:n,localPath:r},d.id);case"result":{const g=e[h+1],p=e[h-1];return(g==null?void 0:g.kind)==="context_cleared"||(p==null?void 0:p.kind)==="context_cleared"?null:x.jsx(iB,{message:d},d.id)}case"interrupted":return x.jsx(lB,{message:d},d.id);case"compact_boundary":return x.jsx(aB,{},d.id);case"context_cleared":return x.jsx(oB,{},d.id);case"compact_summary":return x.jsx(sB,{message:d},d.id);case"status":return h===e.length-1?x.jsx(cB,{message:d},d.id):null}}return x.jsx(x.Fragment,{children:c.map(d=>{if(d.type==="tool-group")return x.jsx("div",{className:"group relative",children:x.jsx(pB,{messages:d.messages,isLoading:n,localPath:r})},`group-${d.startIndex}`);const h=f(d.message,d.index);return h?x.jsx("div",{id:`msg-${d.message.id}`,className:"group relative",children:h},d.message.id):null})})}const Uu="What are we building?",vB=19;function bB(){var o,s,c,f;const e=qm(),n=Math.max(e.transcriptPaddingBottom-48,0),[r,l]=v.useState("");return v.useEffect(()=>{if(e.messages.length!==0)return;l("");let d=0;const h=window.setInterval(()=>{d+=1,l(Uu.slice(0,d)),d>=Uu.length&&window.clearInterval(h)},vB);return()=>window.clearInterval(h)},[e.activeChatId,e.messages.length]),x.jsx("div",{className:"flex-1 flex flex-col min-w-0 relative",children:x.jsxs($C,{className:"bg-background flex-1 flex flex-col overflow-hidden border-0 rounded-none relative",children:[x.jsxs(XC,{className:"flex-1 p-0 overflow-hidden relative",children:[x.jsx(sz,{sidebarCollapsed:e.sidebarCollapsed,onOpenSidebar:e.openSidebar,onExpandSidebar:e.expandSidebar,onNewChat:e.handleCompose,localPath:e.navbarLocalPath,onOpenExternal:d=>{e.handleOpenExternal(d)}}),x.jsx(WC,{ref:e.scrollRef,onScroll:e.updateScrollState,className:"h-full px-4 scroll-pt-[72px]",children:e.messages.length===0?x.jsx("div",{className:"animate-fade-in max-w-[800px] mx-auto flex items-center justify-center",style:{minHeight:`calc(100dvh - ${n}px)`},children:x.jsxs("div",{className:"flex flex-col items-center justify-center text-muted-foreground gap-4 opacity-70",children:[x.jsx(Ro,{strokeWidth:1.5,className:"size-8 text-muted-foreground kanna-empty-state-flower"}),x.jsx("div",{className:"text-base font-normal text-muted-foreground text-center max-w-xs flex items-center kanna-empty-state-text","aria-label":Uu,children:x.jsxs("span",{className:"relative inline-grid place-items-start",children:[x.jsxs("span",{className:"invisible col-start-1 row-start-1 whitespace-pre flex items-center",children:[x.jsx("span",{children:Uu}),x.jsx("span",{className:"kanna-typewriter-cursor-slot","aria-hidden":"true"})]}),x.jsxs("span",{className:"col-start-1 row-start-1 whitespace-pre flex items-center",children:[x.jsx("span",{children:r}),x.jsx("span",{className:"kanna-typewriter-cursor-slot","aria-hidden":"true",children:x.jsx("span",{className:"kanna-typewriter-cursor"})})]})]})})]})},e.activeChatId??"new-chat"):x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"animate-fade-in space-y-5 pt-[72px] max-w-[800px] mx-auto",children:[x.jsx(xB,{messages:e.messages,isLoading:e.isProcessing,localPath:(o=e.runtime)==null?void 0:o.localPath,latestToolIds:e.latestToolIds,onAskUserQuestionSubmit:e.handleAskUserQuestion,onExitPlanModeConfirm:e.handleExitPlanMode}),e.isProcessing?x.jsx(hz,{status:(s=e.runtime)==null?void 0:s.status}):null,e.commandError?x.jsx("div",{className:"text-sm text-destructive border border-destructive/20 bg-destructive/5 rounded-xl px-4 py-3",children:e.commandError}):null]}),x.jsx("div",{style:{height:e.transcriptPaddingBottom},"aria-hidden":"true"})]})}),x.jsx("div",{style:{bottom:e.transcriptPaddingBottom-36},className:ye("absolute left-1/2 -translate-x-1/2 z-10 transition-all",e.showScrollButton?"scale-100 duration-300 ease-[cubic-bezier(0.34,1.56,0.64,1)]":"scale-60 duration-300 ease-out pointer-events-none blur-sm opacity-0"),children:x.jsx("button",{onClick:e.scrollToBottom,className:"flex items-center transition-colors gap-1.5 px-2 bg-white hover:bg-muted border border-border rounded-full aspect-square cursor-pointer text-sm text-primary hover:text-foreground dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-100 dark:border-slate-600",children:x.jsx(YM,{className:"h-5 w-5"})})})]}),x.jsx("div",{className:"absolute bottom-0 left-0 right-0 z-20 pointer-events-none",children:x.jsx("div",{className:"bg-gradient-to-t from-background via-background pointer-events-auto",ref:e.inputRef,children:x.jsx(iz,{onSubmit:e.handleSend,onCancel:()=>{e.handleCancel()},disabled:!e.hasSelectedProject||((c=e.runtime)==null?void 0:c.status)==="waiting_for_user",canCancel:e.canCancel,chatId:e.activeChatId,activeProvider:((f=e.runtime)==null?void 0:f.provider)??null,availableProviders:e.availableProviders},e.activeChatId??"new-chat")})})]})})}function Bm({narrow:e=!1,title:n,subtitle:r,icon:l=Ow}){return x.jsxs("div",{className:ye("w-full",e?"max-w-2xl px-6 pt-16 mx-auto":"px-6 pt-16 mb-10"),children:[x.jsxs("div",{className:ye("flex items-center gap-1 mb-2",e&&"justify-center"),children:[x.jsx("div",{className:"p-2 pl-0 rounded-lg",children:x.jsx(l,{className:"h-6 w-6 text-muted-foreground"})}),x.jsx("h1",{className:"text-2xl font-semibold text-foreground",children:n})]}),r&&x.jsx("p",{className:ye("text-muted-foreground",e&&"mb-10 text-center"),children:r})]})}const wB={sm:"text-sm px-2.5 py-1",md:"text-sm px-3 py-1.5"};function SB({value:e,onValueChange:n,options:r,size:l="md",className:o,optionClassName:s}){return x.jsx("div",{className:ye("inline-flex items-center rounded-full border border-border p-0.5 ",o),children:r.map(c=>{const f=c.value===e,d=c.icon,h=d?v.isValidElement(d)?d:(()=>{const p=d;return x.jsx(p,{className:l==="sm"?"h-3.5 w-3.5":"h-4 w-4"})})():null,g=x.jsxs("button",{type:"button",onClick:()=>n(c.value),disabled:c.disabled,"aria-pressed":f,className:ye("rounded-full border transition-colors",d?"grid grid-cols-[auto_auto] items-center gap-2":"inline-flex items-center gap-1.5",wB[l],f?"bg-white dark:bg-muted text-slate-900 dark:text-slate-200 border-slate-300 dark:border-white/10 bg-slate-200 ":"border-transparent text-slate-800 hover:text-slate-900 dark:text-muted-foreground dark:hover:text-foreground",c.disabled&&"opacity-50 pointer-events-none",s),children:[h,x.jsx("span",{children:c.label})]},c.value);return c.tooltip?x.jsxs(ac,{children:[x.jsx(oc,{asChild:!0,children:g}),x.jsx(Io,{children:c.tooltip})]},c.value):g})})}function CB(e){return e.toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,"")}function EB({open:e,onOpenChange:n,onConfirm:r}){const[l,o]=v.useState("new"),[s,c]=v.useState(""),[f,d]=v.useState(""),h=v.useRef(null),g=v.useRef(null);v.useEffect(()=>{e&&(o("new"),c(""),d(""),setTimeout(()=>{var k;return(k=h.current)==null?void 0:k.focus()},0))},[e]),v.useEffect(()=>{e&&setTimeout(()=>{var k,N;l==="new"?(k=h.current)==null||k.focus():(N=g.current)==null||N.focus()},0)},[l,e]);const p=CB(s),b=p?`${n4}/${p}`:"",w=f.trim(),E=l==="new"?!!p:!!w,C=()=>{if(E){if(l==="new")r({mode:"new",localPath:b,title:s.trim()});else{const k=w.split("/").pop()||w;r({mode:"existing",localPath:w,title:k})}n(!1)}};return x.jsx(Pw,{open:e,onOpenChange:n,children:x.jsxs(lp,{size:"sm",children:[x.jsxs(Uw,{className:"space-y-4",children:[x.jsx(Iw,{children:"Add Project"}),x.jsx(SB,{value:l,onValueChange:o,options:[{value:"new",label:"New Folder"},{value:"existing",label:"Existing Path"}],className:"w-full",optionClassName:"flex-1 justify-center"}),l==="new"?x.jsxs("div",{className:"space-y-2",children:[x.jsx("input",{ref:h,type:"text",value:s,onChange:k=>c(k.target.value),onKeyDown:k=>{k.key==="Enter"&&C(),k.key==="Escape"&&n(!1)},className:"w-full px-3 py-2 text-sm border border-border rounded-md bg-background outline-none",placeholder:"Project name"}),b&&x.jsx("p",{className:"text-xs text-muted-foreground font-mono",children:b})]}):x.jsxs("div",{className:"space-y-2",children:[x.jsx("input",{ref:g,type:"text",value:f,onChange:k=>d(k.target.value),onKeyDown:k=>{k.key==="Enter"&&C(),k.key==="Escape"&&n(!1)},className:"w-full px-3 py-2 text-sm border border-border rounded-md bg-background outline-none",placeholder:"~/Projects/my-app"}),x.jsx("p",{className:"text-xs text-muted-foreground",children:"The folder will be created if it doesn't exist."})]})]}),x.jsxs(Hw,{children:[x.jsx($e,{variant:"ghost",size:"sm",onClick:()=>n(!1),children:"Cancel"}),x.jsx($e,{variant:"secondary",size:"sm",onClick:C,disabled:!E,children:"Create"})]})]})})}function kB({text:e}){const[n,r]=v.useState(!1);async function l(){await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}return x.jsx($e,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",onClick:()=>void l(),children:n?x.jsx(sl,{className:"h-4 w-4 text-green-400"}):x.jsx(Rc,{className:"h-4 w-4"})})}function c1({children:e}){return x.jsxs("div",{className:"grid grid-cols-[1fr_auto] items-center group bg-background border border-border text-foreground rounded-xl p-1.5 pl-3 font-mono text-sm",children:[x.jsxs("pre",{className:"inline-flex items-center gap-2 overflow-x-auto",children:[x.jsx(Yr,{className:"inline h-4 w-4 opacity-40"}),x.jsx("code",{children:e})]}),x.jsx(kB,{text:e})]})}function Hu({children:e}){return x.jsx("div",{className:"bg-card border border-border rounded-2xl p-4",children:e})}function rm({children:e}){return x.jsx("h2",{className:"text-[13px] font-medium text-muted-foreground uppercase tracking-wider mb-3",children:e})}function im({icon:e,title:n,subtitle:r,iconClassName:l}){return x.jsxs("div",{className:"flex flex-col items-center gap-0",children:[x.jsx("div",{className:"p-3 mb-2 rounded-xl bg-background border border-border",children:x.jsx(e,{className:l||"h-8 w-8 text-muted-foreground"})}),x.jsx("span",{className:"text-sm font-medium",children:n}),x.jsx("span",{className:"text-xs text-muted-foreground",children:r})]})}function f1(){return x.jsx(KM,{className:"h-4 w-4 text-muted-foreground"})}function d1({number:e,title:n,children:r}){return x.jsx("div",{className:"flex gap-4",children:x.jsxs("div",{className:"flex-1 min-w-0",children:[x.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-baseline gap-3",children:[x.jsxs("div",{className:"flex-shrink-0 flex items-center justify-center font-medium text-logo",children:[e,"."]}),x.jsx("h3",{className:"font-medium text-foreground mb-2",children:n})]}),x.jsx("div",{className:"text-muted-foreground text-sm space-y-3",children:r})]})})}function NB({localPath:e,loading:n,onClick:r}){return x.jsxs(ac,{children:[x.jsx(oc,{asChild:!0,children:x.jsxs("button",{className:ye("border border-border hover:border-primary/30 group rounded-lg bg-card px-4 py-3 flex items-center gap-3 w-full text-left hover:bg-muted/50 transition-colors",n&&"opacity-50 cursor-not-allowed"),disabled:n,onClick:r,children:[x.jsx(Mj,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),x.jsx("span",{className:"font-medium text-foreground truncate flex-1",children:wS(e)}),n?x.jsx(Li,{className:"h-4 w-4 text-muted-foreground group-hover:text-primary animate-spin flex-shrink-0"}):x.jsx(np,{className:"h-4 w-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]})}),x.jsx(Io,{children:x.jsx("p",{children:e})})]})}function TB({connectionStatus:e,ready:n,snapshot:r,startingLocalPath:l,commandError:o,onOpenProject:s,onCreateProject:c}){const[f,d]=v.useState(!1),h=v.useMemo(()=>(r==null?void 0:r.projects)??[],[r==null?void 0:r.projects]),g=e==="connecting"||!n,p=e==="connected"&&n;return x.jsxs("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-y-auto",children:[p?x.jsxs(x.Fragment,{children:[x.jsx(Bm,{title:(r==null?void 0:r.machine.displayName)??"Local Projects",subtitle:`${Zt} is connected, choose a project below to get started.`}),x.jsxs("div",{className:"w-full px-6 mb-10",children:[x.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[x.jsx("h2",{className:"text-[13px] font-medium text-muted-foreground uppercase tracking-wider",children:"Projects"}),x.jsxs($e,{variant:"default",size:"sm",onClick:()=>d(!0),children:[x.jsx(zw,{className:"h-4 w-4 mr-1.5"}),"Add Project"]})]}),h.length>0?x.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-4 3xl:grid-cols-5 gap-2",children:h.map(b=>x.jsx(NB,{localPath:b.localPath,loading:l===b.localPath,onClick:()=>{s(b.localPath)}},b.localPath))}):x.jsx(Hu,{children:x.jsx("p",{className:"text-sm text-muted-foreground",children:"No local projects discovered yet. Open one with Claude or Codex, or create a new project here."})}),o?x.jsx("div",{className:"text-sm text-destructive border border-destructive/20 bg-destructive/5 rounded-xl px-4 py-3 mt-4",children:o}):null]})]}):x.jsxs(x.Fragment,{children:[x.jsx(Bm,{narrow:!0,icon:Lb,title:g?`Connecting ${Zt}`:`Connect ${Zt}`,subtitle:g?`${Zt} is starting up and loading your local projects.`:`Run ${Zt} directly on your machine with full access to your local files and agent project history.`}),x.jsxs("div",{className:"max-w-2xl w-full mx-auto pb-12 px-6",children:[x.jsx(rm,{children:"Status"}),x.jsx("div",{className:"mb-8",children:x.jsx(Hu,{children:x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx(Li,{className:"h-4 w-4 text-muted-foreground animate-spin"}),x.jsx("span",{className:"text-sm text-muted-foreground",children:g?`Connecting to your local ${Zt} server...`:x.jsxs(x.Fragment,{children:["Not connected. Run ",x.jsx("code",{className:"bg-background border border-border rounded-md mx-0.5 p-1 font-mono text-xs text-foreground",children:_u()})," from any terminal on this machine."]})})]})})}),g?null:x.jsxs("div",{className:"mb-10",children:[x.jsx(rm,{children:"How it works"}),x.jsx(Hu,{children:x.jsxs("div",{className:"flex items-center justify-around gap-6 py-4 px-2",children:[x.jsx(im,{icon:rp,title:`${Zt} CLI`,subtitle:"On Your Machine"}),x.jsx(f1,{}),x.jsx(im,{icon:Ow,title:`${Zt} Server`,subtitle:"Local WebSocket"}),x.jsx(f1,{}),x.jsx(im,{icon:Lb,title:`${Zt} UI`,subtitle:"Project Chat"})]})})]}),g?null:x.jsxs("div",{className:"mb-10",children:[x.jsx(rm,{children:"Setup"}),x.jsx(Hu,{children:x.jsxs("div",{className:"space-y-4",children:[x.jsxs(d1,{number:1,title:`Start ${Zt}`,children:[x.jsx("p",{children:"Run this command in your terminal:"}),x.jsx(c1,{children:_u()})]}),x.jsxs(d1,{number:2,title:"Open the local UI",children:[x.jsxs("p",{children:[Zt," serves the app locally and opens the Local Projects page in an app-style browser window."]}),x.jsx(c1,{children:"http://localhost:3210/local"})]}),x.jsxs("div",{className:"mt-8",children:[x.jsx("h3",{className:"text-sm font-medium text-muted-foreground uppercase tracking-wider mb-4",children:"Notes"}),x.jsxs("div",{className:"space-y-3 text-sm",children:[x.jsxs("div",{className:"flex gap-4",children:[x.jsx("code",{className:"font-mono text-foreground whitespace-nowrap",children:_u("").trim()}),x.jsx("span",{className:"text-muted-foreground",children:"Start in the current directory"})]}),x.jsxs("div",{className:"flex gap-4",children:[x.jsx("code",{className:"font-mono text-foreground whitespace-nowrap",children:_u("--no-open")}),x.jsx("span",{className:"text-muted-foreground",children:"Start the server without opening the browser"})]})]})]})]})})]})]})]}),x.jsx(EB,{open:f,onOpenChange:d,onConfirm:b=>{c(b)}}),x.jsx("div",{className:"py-4 text-center",children:x.jsxs("span",{className:"text-xs text-muted-foreground/50",children:["v",bS.split("/")[1]]})})]})}function RB(){const e=qm();return x.jsx("div",{className:"flex-1 flex flex-col min-w-0 relative",children:x.jsx(TB,{connectionStatus:e.connectionStatus,ready:e.localProjectsReady,snapshot:e.localProjects,startingLocalPath:e.startingLocalPath,commandError:e.commandError,onOpenProject:e.handleOpenLocalProject,onCreateProject:e.handleCreateProject})})}function Fu({title:e,description:n,value:r}){return x.jsxs("div",{className:"rounded-2xl border border-border bg-card p-4",children:[x.jsx("div",{className:"mb-1 text-sm font-medium text-foreground",children:e}),x.jsx("div",{className:"mb-3 text-sm text-muted-foreground",children:n}),x.jsx("div",{className:"rounded-xl border border-border bg-background px-3 py-2 font-mono text-sm text-foreground",children:r})]})}function AB(){var l,o,s;const e=qm(),n=e.connectionStatus==="connecting"||!e.localProjectsReady,r=((l=e.localProjects)==null?void 0:l.machine.displayName)??"Settings";return x.jsxs("div",{className:"flex-1 min-w-0 overflow-y-auto bg-background",children:[x.jsx(Bm,{icon:Lw,title:r,subtitle:n?"Kanna is starting up and loading your local environment settings.":"Kanna is connected. Configure app details and review your local environment."}),x.jsxs("div",{className:"w-full px-6 pb-10",children:[x.jsx("div",{className:"mb-3 flex items-baseline justify-between",children:x.jsx("h2",{className:"text-[13px] font-medium uppercase tracking-wider text-muted-foreground",children:"Settings"})}),n?x.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-border bg-card px-4 py-4 text-sm text-muted-foreground",children:[x.jsx(Li,{className:"h-4 w-4 animate-spin"}),x.jsx("span",{children:"Loading machine settings…"})]}):x.jsxs("div",{className:"grid grid-cols-1 gap-3 lg:grid-cols-2",children:[x.jsx(Fu,{title:"Machine",description:"The local machine currently connected to Kanna.",value:((o=e.localProjects)==null?void 0:o.machine.displayName)??"Unavailable"}),x.jsx(Fu,{title:"Connection",description:"Current connection state for the local Kanna runtime.",value:e.connectionStatus}),x.jsx(Fu,{title:"Projects Indexed",description:"Number of local projects currently available in the app.",value:String(((s=e.localProjects)==null?void 0:s.projects.length)??0)}),x.jsx(Fu,{title:"App Version",description:"Current Kanna desktop client build.",value:bS.split("/")[1]??"unknown"})]}),e.commandError?x.jsxs("div",{className:"mt-4 flex items-start gap-3 rounded-2xl border border-destructive/20 bg-destructive/5 px-4 py-3 text-sm text-destructive",children:[x.jsx(Oj,{className:"mt-0.5 h-4 w-4 flex-shrink-0"}),x.jsx("span",{children:e.commandError})]}):null]})]})}function qu(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function MB(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function jB(e,n){const r=MB(n);switch(e.toolKind){case"ask_user_question":{const o=qu(r),s=qu(o==null?void 0:o.answers)??(o||{});return{answers:Object.fromEntries(Object.entries(s).map(([c,f])=>Array.isArray(f)?[c,f.map(d=>String(d))]:f&&typeof f=="object"&&Array.isArray(f.answers)?[c,f.answers.map(d=>String(d))]:f==null||f===""?[c,[]]:[c,[String(f)]])),...(o==null?void 0:o.discarded)===!0?{discarded:!0}:{}}}case"exit_plan_mode":{const o=qu(r);return{confirmed:typeof(o==null?void 0:o.confirmed)=="boolean"?o.confirmed:void 0,clearContext:typeof(o==null?void 0:o.clearContext)=="boolean"?o.clearContext:void 0,message:typeof(o==null?void 0:o.message)=="string"?o.message:void 0,...(o==null?void 0:o.discarded)===!0?{discarded:!0}:{}}}case"read_file":if(typeof r=="string")return r;const l=qu(r);return{content:typeof(l==null?void 0:l.content)=="string"?l.content:JSON.stringify(r,null,2)};default:return r}}function o2(e){return new Date(e).toISOString()}function tr(e){return{id:e._id,messageId:e.messageId,timestamp:o2(e.createdAt),hidden:e.hidden}}function _B(e){return{id:e._id,messageId:e.messageId,hidden:e.hidden,kind:"tool",toolKind:e.tool.toolKind,toolName:e.tool.toolName,toolId:e.tool.toolId,input:e.tool.input,timestamp:o2(e.createdAt)}}function OB(e){if(e.debugRaw)try{return JSON.parse(e.debugRaw).tool_use_result}catch{return}}function DB(e){const n=new Map,r=[];for(const l of e)switch(l.kind){case"user_prompt":r.push({...tr(l),kind:"user_prompt",content:l.content});break;case"system_init":r.push({...tr(l),kind:"system_init",provider:l.provider,model:l.model,tools:l.tools,agents:l.agents,slashCommands:l.slashCommands,mcpServers:l.mcpServers,debugRaw:l.debugRaw});break;case"account_info":r.push({...tr(l),kind:"account_info",accountInfo:l.accountInfo});break;case"assistant_text":r.push({...tr(l),kind:"assistant_text",text:l.text});break;case"tool_call":{const o=_B(l);n.set(l.tool.toolId,{hydrated:o,normalized:l.tool}),r.push(o);break}case"tool_result":{const o=n.get(l.toolId);if(o){const s=o.normalized.toolKind==="ask_user_question"||o.normalized.toolKind==="exit_plan_mode"?OB(l)??l.content:l.content;o.hydrated.result=jB(o.normalized,s),o.hydrated.rawResult=s,o.hydrated.isError=l.isError}break}case"result":r.push({...tr(l),kind:"result",success:!l.isError,cancelled:l.subtype==="cancelled",result:l.result,durationMs:l.durationMs,costUsd:l.costUsd});break;case"status":r.push({...tr(l),kind:"status",status:l.status});break;case"compact_boundary":r.push({...tr(l),kind:"compact_boundary"});break;case"compact_summary":r.push({...tr(l),kind:"compact_summary",summary:l.summary});break;case"context_cleared":r.push({...tr(l),kind:"context_cleared"});break;case"interrupted":r.push({...tr(l),kind:"interrupted"});break;default:r.push({...tr(l),kind:"unknown",json:JSON.stringify(l,null,2)});break}return r}const zB=["AskUserQuestion","ExitPlanMode","TodoWrite"],LB=new Set(["TodoWrite"]);function PB(e,n){for(let r=e.length-1;r>=0;r-=1){const l=e[r];if(l.kind!=="tool")continue;const o=l;if(o.toolName===n&&!o.result)return o.id}return null}function BB(e,n){for(let r=e.length-1;r>=0;r-=1){const l=e[r];if(l.kind!=="tool")continue;const o=l;if(o.toolName===n)return o.id}return null}function IB(e){const n={};for(const r of zB)n[r]=LB.has(r)?BB(e,r):PB(e,r);return n}function UB(e){return e==="starting"||e==="running"||e==="waiting_for_user"}function HB(e){return e==="starting"||e==="running"||e==="waiting_for_user"}const FB=25e3,qB=15e3,GB=4e3;class VB{constructor(n){Rt(this,"url");Rt(this,"ws",null);Rt(this,"started",!1);Rt(this,"reconnectTimer",null);Rt(this,"reconnectDelayMs",750);Rt(this,"subscriptions",new Map);Rt(this,"pending",new Map);Rt(this,"outboundQueue",[]);Rt(this,"statusListeners",new Set);Rt(this,"heartbeatTimer",null);Rt(this,"pingTimeoutTimer",null);Rt(this,"pingPromise",null);Rt(this,"lastOpenAt",0);Rt(this,"lastMessageAt",0);Rt(this,"reconnectImmediatelyOnClose",!1);Rt(this,"handleWindowFocus",()=>{this.ensureHealthyConnection()});Rt(this,"handleVisibilityChange",()=>{if(document.visibilityState==="visible"){this.startHeartbeat(),this.ensureHealthyConnection();return}this.stopHeartbeat()});Rt(this,"handleOnline",()=>{this.ensureHealthyConnection()});this.url=n}start(){this.started||(this.started=!0,window.addEventListener("focus",this.handleWindowFocus),window.addEventListener("online",this.handleOnline),document.addEventListener("visibilitychange",this.handleVisibilityChange),this.connect())}dispose(){var n;this.started=!1,this.reconnectTimer&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopHeartbeat(),this.clearPingState(),window.removeEventListener("focus",this.handleWindowFocus),window.removeEventListener("online",this.handleOnline),document.removeEventListener("visibilitychange",this.handleVisibilityChange),(n=this.ws)==null||n.close(),this.ws=null;for(const r of this.pending.values())r.reject(new Error("Socket disposed"));this.pending.clear()}onStatus(n){return this.statusListeners.add(n),n(this.getStatus()),()=>{this.statusListeners.delete(n)}}subscribe(n,r){const l=crypto.randomUUID();return this.subscriptions.set(l,{topic:n,listener:r}),this.enqueue({v:1,type:"subscribe",id:l,topic:n}),()=>{this.subscriptions.delete(l),this.enqueue({v:1,type:"unsubscribe",id:l})}}command(n){const r=crypto.randomUUID(),l={v:1,type:"command",id:r,command:n};return new Promise((o,s)=>{this.pending.set(r,{resolve:o,reject:s}),this.enqueue(l)})}ensureHealthyConnection(){return!this.ws||this.ws.readyState===WebSocket.CLOSED||this.ws.readyState===WebSocket.CLOSING?(this.reconnectNow(),Promise.resolve()):this.ws.readyState===WebSocket.CONNECTING||!this.isConnectionStale()?Promise.resolve():this.sendPing()}connect(){this.started&&(this.emitStatus("connecting"),this.ws=new WebSocket(this.url),this.ws.addEventListener("open",()=>{this.reconnectDelayMs=750,this.reconnectImmediatelyOnClose=!1,this.lastOpenAt=Date.now(),this.lastMessageAt=this.lastOpenAt,this.emitStatus("connected"),this.startHeartbeat();for(const[n,r]of this.subscriptions.entries())this.sendNow({v:1,type:"subscribe",id:n,topic:r.topic});for(;this.outboundQueue.length>0;){const n=this.outboundQueue.shift();n&&this.sendNow(n)}}),this.ws.addEventListener("message",n=>{this.lastMessageAt=Date.now();let r;try{r=JSON.parse(String(n.data))}catch{return}if(r.type==="snapshot"){const l=this.subscriptions.get(r.id);l==null||l.listener(r.snapshot.data);return}if(r.type==="ack"){const l=this.pending.get(r.id);if(!l)return;this.pending.delete(r.id),l.resolve(r.result);return}if(r.type==="error"){if(!r.id){console.error(t4,r.message);return}const l=this.pending.get(r.id);if(!l)return;this.pending.delete(r.id),l.reject(new Error(r.message))}}),this.ws.addEventListener("close",()=>{if(!this.started)return;const n=this.reconnectImmediatelyOnClose;this.reconnectImmediatelyOnClose=!1,this.stopHeartbeat(),this.clearPingState(),this.emitStatus("disconnected");for(const r of this.pending.values())r.reject(new Error("Disconnected"));if(this.pending.clear(),n){this.connect();return}this.scheduleReconnect()}))}scheduleReconnect(){this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect(),this.reconnectDelayMs=Math.min(this.reconnectDelayMs*2,5e3)},this.reconnectDelayMs))}getStatus(){var n,r;return((n=this.ws)==null?void 0:n.readyState)===WebSocket.OPEN?"connected":((r=this.ws)==null?void 0:r.readyState)===WebSocket.CONNECTING?"connecting":"disconnected"}emitStatus(n){for(const r of this.statusListeners)r(n)}isConnectionStale(){const n=Math.max(this.lastMessageAt,this.lastOpenAt);return n>0&&Date.now()-n>=FB}sendPing(){if(this.pingPromise)return this.pingPromise;const n=this.command({type:"system.ping"}).then(()=>{this.clearPingState()}).catch(r=>{throw this.clearPingState(),this.reconnectNow(),r});return this.pingTimeoutTimer=window.setTimeout(()=>{this.clearPingState(),this.reconnectNow()},GB),this.pingPromise=n,n}reconnectNow(){if(this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),!this.ws||this.ws.readyState===WebSocket.CLOSED){this.connect();return}this.ws.readyState!==WebSocket.CONNECTING&&(this.reconnectImmediatelyOnClose=!0,this.ws.close())}startHeartbeat(){document.visibilityState==="visible"&&this.heartbeatTimer===null&&(this.heartbeatTimer=window.setInterval(()=>{var n;if(document.visibilityState!=="visible"){this.stopHeartbeat();return}((n=this.ws)==null?void 0:n.readyState)===WebSocket.OPEN&&this.ensureHealthyConnection()},qB))}stopHeartbeat(){this.heartbeatTimer!==null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}clearPingState(){this.pingTimeoutTimer!==null&&(window.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=null),this.pingPromise=null}enqueue(n){var r;if(((r=this.ws)==null?void 0:r.readyState)===WebSocket.OPEN){this.sendNow(n);return}this.outboundQueue.push(n)}sendNow(n){var r;(r=this.ws)==null||r.send(JSON.stringify(n))}}function $B(e,n){var l;const r=e.find(o=>o.chats.some(s=>s.chatId===n));return r?((l=r.chats.find(o=>o.chatId!==n))==null?void 0:l.chatId)??null:null}function YB(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`}function XB(){const e=v.useRef(null);return e.current||(e.current=new VB(YB())),v.useEffect(()=>{const n=e.current;return n==null||n.start(),()=>{n==null||n.dispose()}},[]),e.current}function KB(e){var mt,Jr,ie;const n=Fm(),r=XB(),l=p_(),[o,s]=v.useState({projectGroups:[]}),[c,f]=v.useState(null),[d,h]=v.useState(null),[g,p]=v.useState("connecting"),[b,w]=v.useState(!1),[E,C]=v.useState(!1),[k,N]=v.useState(!1),[j,M]=v.useState(null),[D,U]=v.useState(!1),[_,P]=v.useState(!1),[F,ne]=v.useState(148),[I,J]=v.useState(!0),[te,ce]=v.useState(null),[le,ee]=v.useState(null),[B,X]=v.useState(null),$=v.useRef(null),Z=v.useRef(null);v.useEffect(()=>r.onStatus(p),[r]),v.useEffect(()=>r.subscribe({type:"sidebar"},Y=>{s(Y),w(!0),ce(null)}),[r]),v.useEffect(()=>r.subscribe({type:"local-projects"},Y=>{f(Y),C(!0),ce(null)}),[r]),v.useEffect(()=>{if(!e){h(null),N(!0);return}return N(!1),r.subscribe({type:"chat",chatId:e},Y=>{h(Y),N(!0),ce(null)})},[e,r]),v.useEffect(()=>{if(j)return;const Y=o.projectGroups[0];Y&&M(Y.groupKey)},[j,o.projectGroups]),v.useEffect(()=>{if(!e||!b||!k)return;if(o.projectGroups.some(se=>se.chats.some(pe=>pe.chatId===e))){B===e&&X(null);return}B!==e&&n("/")},[e,k,n,B,o.projectGroups,b]),v.useEffect(()=>{d&&(M(d.runtime.projectId),B===d.runtime.chatId&&X(null))},[d,B]),v.useLayoutEffect(()=>{const Y=Z.current;if(!Y)return;const se=new ResizeObserver(()=>{ne(Y.getBoundingClientRect().height)});return se.observe(Y),ne(Y.getBoundingClientRect().height),()=>se.disconnect()},[]);const R=v.useMemo(()=>DB((d==null?void 0:d.messages)??[]),[d==null?void 0:d.messages]),O=v.useMemo(()=>IB(R),[R]),z=(d==null?void 0:d.runtime)??null,A=(d==null?void 0:d.availableProviders)??z5,Q=HB(z==null?void 0:z.status),fe=UB(z==null?void 0:z.status),ue=F+48,me=!I&&R.length>0,Ne=((mt=c==null?void 0:c.projects[0])==null?void 0:mt.localPath)??null,he=(z==null?void 0:z.localPath)??Ne??((Jr=o.projectGroups[0])==null?void 0:Jr.localPath),Ce=!!(j??(z==null?void 0:z.projectId)??((ie=o.projectGroups[0])==null?void 0:ie.groupKey)??Ne);v.useEffect(()=>{const Y=$.current;if(!Y)return;Y.scrollHeight-Y.scrollTop-Y.clientHeight<120&&Y.scrollTo({top:Y.scrollHeight,behavior:"smooth"})},[e,R.length,z==null?void 0:z.status]);function lt(){const Y=$.current;if(!Y)return;const se=Y.scrollHeight-Y.scrollTop-Y.clientHeight;J(se<24)}function nt(){const Y=$.current;Y&&Y.scrollTo({top:Y.scrollHeight,behavior:"smooth"})}async function st(Y){try{const se=await r.command({type:"chat.create",projectId:Y});M(Y),X(se.chatId),n(`/chat/${se.chatId}`),U(!1)}catch(se){ce(se instanceof Error?se.message:String(se))}}async function Ye(Y){try{ee(Y);const se=await r.command({type:"project.open",localPath:Y});M(se.projectId);const pe=await r.command({type:"chat.create",projectId:se.projectId});X(pe.chatId),n(`/chat/${pe.chatId}`),U(!1),ce(null)}catch(se){ce(se instanceof Error?se.message:String(se))}finally{ee(null)}}async function Lt(Y){try{ee(Y.localPath);const se=await r.command(Y.mode==="new"?{type:"project.create",localPath:Y.localPath,title:Y.title}:{type:"project.open",localPath:Y.localPath});M(se.projectId);const pe=await r.command({type:"chat.create",projectId:se.projectId});X(pe.chatId),n(`/chat/${pe.chatId}`),U(!1),ce(null)}catch(se){ce(se instanceof Error?se.message:String(se))}finally{ee(null)}}async function Pt(Y,se){var pe;try{let we=j??((pe=o.projectGroups[0])==null?void 0:pe.groupKey)??null;if(!e&&!we&&Ne&&(we=(await r.command({type:"project.open",localPath:Ne})).projectId,M(we)),!e&&!we)throw new Error("Open a project first");const Oe=await r.command({type:"chat.send",chatId:e??void 0,projectId:e?void 0:we??void 0,provider:se==null?void 0:se.provider,content:Y,model:se==null?void 0:se.model,modelOptions:se==null?void 0:se.modelOptions,planMode:se==null?void 0:se.planMode});!e&&Oe.chatId&&(X(Oe.chatId),n(`/chat/${Oe.chatId}`)),ce(null)}catch(we){throw ce(we instanceof Error?we.message:String(we)),we}}async function Yn(){if(e)try{await r.command({type:"chat.cancel",chatId:e})}catch(Y){ce(Y instanceof Error?Y.message:String(Y))}}async function Xn(Y){if(await l.confirm({title:"Delete Chat",description:`Delete "${Y.title}"? This cannot be undone.`,confirmLabel:"Delete",confirmVariant:"destructive"}))try{if(await r.command({type:"chat.delete",chatId:Y.chatId}),Y.chatId===e){const pe=$B(o.projectGroups,Y.chatId);n(pe?`/chat/${pe}`:"/")}}catch(pe){ce(pe instanceof Error?pe.message:String(pe))}}async function Bt(Y){const se=o.projectGroups.find(Oe=>Oe.groupKey===Y);if(!se)return;const pe=se.localPath.split("/").filter(Boolean).pop()??se.localPath;if(await l.confirm({title:"Remove",description:`Remove "${pe}" from the sidebar? Existing chats will be removed from ${Zt}.`,confirmLabel:"Remove",confirmVariant:"destructive"}))try{await r.command({type:"project.remove",projectId:Y}),(z==null?void 0:z.projectId)===Y&&n("/"),ce(null)}catch(Oe){ce(Oe instanceof Error?Oe.message:String(Oe))}}async function It(Y){var pe,we;const se=(z==null?void 0:z.localPath)??((pe=c==null?void 0:c.projects[0])==null?void 0:pe.localPath)??((we=o.projectGroups[0])==null?void 0:we.localPath);if(se)try{await r.command({type:"system.openExternal",action:Y,localPath:se})}catch(Oe){ce(Oe instanceof Error?Oe.message:String(Oe))}}function Rn(){var pe,we;const Y=j??((pe=o.projectGroups[0])==null?void 0:pe.groupKey);if(Y){st(Y);return}const se=(we=c==null?void 0:c.projects[0])==null?void 0:we.localPath;if(se){Ye(se);return}n("/")}async function sr(Y,se,pe){if(e)try{await r.command({type:"chat.respondTool",chatId:e,toolUseId:Y,result:{questions:se,answers:pe}})}catch(we){ce(we instanceof Error?we.message:String(we))}}async function Wr(Y,se,pe,we){if(e){se&&VC.getState().setPlanMode(!1);try{await r.command({type:"chat.respondTool",chatId:e,toolUseId:Y,result:{confirmed:se,...pe?{clearContext:!0}:{},...we?{message:we}:{}}})}catch(Oe){ce(Oe instanceof Error?Oe.message:String(Oe))}}}return{activeChatId:e,sidebarData:o,localProjects:c,chatSnapshot:d,connectionStatus:g,sidebarReady:b,localProjectsReady:E,commandError:te,startingLocalPath:le,sidebarOpen:D,sidebarCollapsed:_,scrollRef:$,inputRef:Z,messages:R,latestToolIds:O,runtime:z,availableProviders:A,isProcessing:Q,canCancel:fe,transcriptPaddingBottom:ue,showScrollButton:me,navbarLocalPath:he,hasSelectedProject:Ce,openSidebar:()=>U(!0),closeSidebar:()=>U(!1),collapseSidebar:()=>P(!0),expandSidebar:()=>P(!1),updateScrollState:lt,scrollToBottom:nt,handleCreateChat:st,handleOpenLocalProject:Ye,handleCreateProject:Lt,handleSend:Pt,handleCancel:Yn,handleDeleteChat:Xn,handleRemoveProject:Bt,handleOpenExternal:It,handleCompose:Rn,handleAskUserQuestion:sr,handleExitPlanMode:Wr}}function QB(){const e=Sr(),n=yT(),r=KB(n.chatId??null),l=e.pathname==="/"||e.pathname==="/settings";return x.jsxs("div",{className:"flex h-[100dvh] min-h-[100dvh] overflow-hidden",children:[x.jsx(D5,{data:r.sidebarData,activeChatId:r.activeChatId,connectionStatus:r.connectionStatus,ready:r.sidebarReady,open:r.sidebarOpen,collapsed:r.sidebarCollapsed,showMobileOpenButton:l,onOpen:r.openSidebar,onClose:r.closeSidebar,onCollapse:r.collapseSidebar,onExpand:r.expandSidebar,onCreateChat:o=>{r.handleCreateChat(o)},onDeleteChat:o=>{r.handleDeleteChat(o)},onRemoveProject:o=>{r.handleRemoveProject(o)}}),x.jsx(jT,{context:r})]})}function ZB(){return x.jsx(W3,{children:x.jsx(m_,{children:x.jsx(OT,{children:x.jsxs(No,{element:x.jsx(QB,{}),children:[x.jsx(No,{path:"/",element:x.jsx(RB,{})}),x.jsx(No,{path:"/settings",element:x.jsx(AB,{})}),x.jsx(No,{path:"/chat/:chatId",element:x.jsx(bB,{})})]})})})})}const s2="lever-theme",WB=v.createContext(void 0),JB=e=>e==="light"||e==="dark"||e==="system",u2=()=>typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",h1=e=>{if(typeof document>"u")return;const n=e==="system"?u2():e;document.documentElement.classList.toggle("dark",n==="dark")},eI=()=>{if(typeof window>"u")return"system";const e=window.localStorage.getItem(s2);return JB(e)?e:"system"};function tI({children:e}){const[n,r]=v.useState(eI);v.useEffect(()=>{h1(n),typeof window<"u"&&window.localStorage.setItem(s2,n)},[n]),v.useEffect(()=>{if(n!=="system")return;const o=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>h1("system");return o.addEventListener?(o.addEventListener("change",s),()=>o.removeEventListener("change",s)):(o.addListener(s),()=>o.removeListener(s))},[n]);const l=v.useMemo(()=>{const o=n==="system"?u2():n;return{theme:n,resolvedTheme:o,setTheme:r}},[n]);return x.jsx(WB.Provider,{value:l,children:e})}const c2=document.getElementById("root");if(!c2)throw new Error("Missing #root");ON.createRoot(c2).render(x.jsx(v.StrictMode,{children:x.jsx(rR,{children:x.jsx(tI,{children:x.jsx(ZB,{})})})}));
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>Kanna</title>
8
- <script type="module" crossorigin src="/assets/index-CcZLosQ7.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-BXpHm8Wa.css">
8
+ <script type="module" crossorigin src="/assets/index-dwpQ0Tai.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index--aEO6fwe.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kanna-code",
3
3
  "type": "module",
4
- "version": "0.4.1",
4
+ "version": "0.4.2",
5
5
  "description": "A beautiful web UI for Claude Code",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-divide-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-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-lg:16px;--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);--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-destructive:var(--destructive);--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-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-muted-icon:hsl(var(--muted-icon));--color-logo:var(--logo)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:222 47% 11%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:210 20% 97%;--muted-foreground:215 16% 47%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:var(--logo);--destructive-foreground:0 0% 98%;--border:214 20% 90%;--input:240 5.9% 90%;--ring:240 5.9% 10%;--radius:.5rem;--muted-icon:240 2% 79%;--chart-1:24.6 95% 53.1%;--chart-2:160 60% 45%;--chart-3:221 83% 53%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--logo:oklch(71.2% .194 13.428)}.dark{--background:223 4% 13%;--foreground:0 0% 98%;--card:231 4% 16%;--card-foreground:0 0% 98%;--popover:223 4% 13%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 2% 10%;--secondary:240 2% 19%;--secondary-foreground:0 0% 98%;--muted:223 4% 18.5%;--muted-foreground:240 2.5% 64.9%;--accent:240 2% 19%;--accent-foreground:0 0% 98%;--destructive:var(--logo);--destructive-foreground:var(--background);--border:220 2.5% 23.5%;--input:240 4% 19%;--ring:240 4.9% 83.9%;--muted-icon:240 5% 48%;--color-slate-50:oklch(98.5% .001 247.839);--color-slate-100:oklch(96.7% .0013 264.542);--color-slate-200:oklch(92.8% .0026 264.531);--color-slate-300:oklch(87.2% .004 258.338);--color-slate-400:oklch(70.7% .01 261.325);--color-slate-500:oklch(55.1% .012 264.364);--color-slate-600:oklch(44.6% .013 256.802);--color-slate-700:oklch(37.3% .015 259.733);--color-slate-800:oklch(27.8% .0145 256.848);--color-slate-900:oklch(21% .015 264.665);--color-slate-950:oklch(13% .012 261.692);--logo:oklch(71.2% .194 13.428)}*{border-color:var(--color-border)}html,body,#root{height:100%;overflow:hidden}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;margin:0;font-family:Body,sans-serif}.font-logo{font-family:Manrope,sans-serif;font-weight:800}input,textarea,select{touch-action:manipulation;font-size:16px}button{cursor:pointer;touch-action:manipulation}button:focus,button:focus-visible,button:active{box-shadow:none!important;--tw-ring-shadow:none!important;--tw-ring-offset-shadow:none!important;outline:none!important}body{overscroll-behavior-y:contain}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.prose ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.prose ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.prose li{margin:.25em 0}code,pre{font-family:Roboto Mono,monospace}.prose code{border-radius:.25em;padding:.125em .25em;font-size:.875em}.prose pre{background-color:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.375em;margin:.75em 0;padding:.75em 1em;overflow-x:auto}.prose pre code{background-color:#0000;padding:0}.prose hr{margin-top:20px;margin-bottom:20px}*{scrollbar-width:thin;scrollbar-color:hsl(var(--border)) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:hsl(var(--border));background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .3)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@media(min-width:641px){[data-sonner-toaster]{width:-moz-fit-content!important;width:fit-content!important}}.recharts-wrapper :focus,.recharts-wrapper :focus-visible{outline:none}.animate-spin-slow{animation:1.5s linear infinite spin!important}.animate-fade-in{animation:.25s ease-out fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes kanna-empty-state-flower-in{0%{opacity:0;filter:blur(16px);transform:rotate(-90deg)scale(0)}to{opacity:1;filter:blur();transform:rotate(0)scale(1)}}@keyframes kanna-empty-state-text-in{0%{filter:blur(4px)}to{filter:blur()}}@keyframes kanna-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.kanna-empty-state-flower{transform-origin:50%;animation:.399s cubic-bezier(.175,.885,.32,1.275) both kanna-empty-state-flower-in}.kanna-empty-state-text{animation:.38s ease-out both kanna-empty-state-text-in}.kanna-typewriter-cursor-slot{flex-shrink:0;justify-content:flex-start;align-items:center;width:3px;margin-left:2px;display:inline-flex}.kanna-typewriter-cursor{background-color:currentColor;width:1px;height:1.05em;animation:.9s step-end infinite kanna-cursor-blink;display:inline-block}*{border-color:var(--color-border);outline-color:color-mix(in srgb,hsl(var(--ring)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--color-ring) 50%,transparent)}}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-0\.5{inset:calc(var(--spacing) * .5)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-\[4px\]{top:4px}.top-\[35px\]{top:35px}.right-0{right:calc(var(--spacing) * 0)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-\[4px\]{right:4px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-\[50\%\]{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-start-1{grid-column-start:1}.row-1{grid-row:1}.row-2{grid-row:2}.row-3{grid-row:3}.row-4{grid-row:4}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}@media(min-width:125rem){.container{max-width:125rem}}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-\[2px\]{margin-right:2px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.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-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.-ml-0\.5{margin-left:calc(var(--spacing) * -.5)}.-ml-\[1px\]{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-\[1px\]{margin-left:1px}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-0\.5{height:calc(var(--spacing) * .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-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[1px\]{height:1px}.h-\[34px\]{height:34px}.h-\[40px\]{height:40px}.h-\[64px\]{height:64px}.h-\[100dvh\]{height:100dvh}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[64px\]{max-height:64px}.max-h-\[85vh\]{max-height:85vh}.max-h-\[200px\]{max-height:200px}.max-h-\[min\(400px\,40vh\)\]{max-height:min(400px,40vh)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[55px\]{min-height:55px}.min-h-\[100dvh\]{min-height:100dvh}.min-h-full{min-height:100%}.w-0{width:calc(var(--spacing) * 0)}.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-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-6\.5{width:calc(var(--spacing) * 6.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1px\]{width:1px}.w-\[40px\]{width:40px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[85\%\]{max-width:85%}.max-w-\[90\%\]{max-width:90%}.max-w-\[150px\]{max-width:150px}.max-w-\[800px\]{max-width:800px}.max-w-\[840px\]{max-width:840px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[170px\]{min-width:170px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-\[1px\]{--tw-translate-x: -1px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-\[50\%\]{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2,.-translate-y-\[50\%\]{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-0\.5px\]{--tw-translate-y:-.5px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[0\.5px\]{--tw-translate-y:.5px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[1px\]{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-60{--tw-scale-x:60%;--tw-scale-y:60%;--tw-scale-z:60%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-shiny-text{animation:1.33s linear infinite shiny-text}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.resize-none{resize:none}.scroll-pt-\[72px\]{scroll-padding-top:72px}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_auto\]{grid-template-columns:auto auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-start{place-items:start}.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-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}: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-\[2px\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(2px * var(--tw-space-y-reverse));margin-block-end:calc(2px * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.\!rounded{border-radius:.25rem!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[20px\]{border-radius:20px}.rounded-\[29px\]{border-radius:29px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--color-border)}.border-border\/0{border-color:color-mix(in srgb,hsl(var(--border)) 0%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-border\/0{border-color:color-mix(in oklab,var(--color-border) 0%,transparent)}}.border-destructive\/20{border-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}.border-muted-foreground\/50{border-color:color-mix(in srgb,hsl(var(--muted-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--color-muted-foreground) 50%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-500\/0{border-color:#0000}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/0{border-color:color-mix(in oklab,var(--color-slate-500) 0%,transparent)}}.border-transparent{border-color:#0000}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--color-background)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-400\/80{background-color:#54a2ffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/80{background-color:color-mix(in oklab,var(--color-blue-400) 80%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-border\/60{background-color:color-mix(in srgb,hsl(var(--border)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-border\/60{background-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-current{background-color:currentColor}.bg-destructive\/5{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--color-destructive) 5%,transparent)}}.bg-destructive\/80{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/80{background-color:color-mix(in oklab,var(--color-destructive) 80%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-foreground{background-color:var(--color-foreground)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-logo{background-color:var(--color-logo)}.bg-muted{background-color:var(--color-muted)}.bg-muted-foreground\/20{background-color:color-mix(in srgb,hsl(var(--muted-foreground)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/20{background-color:color-mix(in oklab,var(--color-muted-foreground) 20%,transparent)}}.bg-muted-foreground\/40{background-color:color-mix(in srgb,hsl(var(--muted-foreground)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,var(--color-muted-foreground) 40%,transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-b{--tw-gradient-position:to bottom 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))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background{--tw-gradient-from:var(--color-background);--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))}.from-transparent{--tw-gradient-from: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))}.via-background{--tw-gradient-via:var(--color-background);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\/80{--tw-gradient-via:#000c}@supports (color:color-mix(in lab,red,red)){.via-black\/80{--tw-gradient-via:color-mix(in oklab, var(--color-black) 80%, transparent)}}.via-black\/80{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-50\%{--tw-gradient-via-position:50%}.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))}.\[background-size\:var\(--shiny-width\)_100\%\]{background-size:var(--shiny-width) 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.\[background-position\:0_0\]{background-position:0 0}.bg-no-repeat{background-repeat:no-repeat}.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-\[7px\]{padding:7px}.p-\[10px\]{padding:10px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.\!py-1{padding-block:calc(var(--spacing) * 1)!important}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.\!pt-5{padding-top:calc(var(--spacing) * 5)!important}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-\[72px\]{padding-top:72px}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-\[7px\]{padding-right:7px}.\!pb-0{padding-bottom:calc(var(--spacing) * 0)!important}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.\!pl-3\.5{padding-left:calc(var(--spacing) * 3.5)!important}.pl-0{padding-left:calc(var(--spacing) * 0)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-4\.5{padding-left:calc(var(--spacing) * 4.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--color-background)}.text-blue-400{color:var(--color-blue-400)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground{color:var(--color-foreground)}.text-foreground\/50{color:color-mix(in srgb,hsl(var(--foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,var(--color-foreground) 50%,transparent)}}.text-foreground\/60{color:color-mix(in srgb,hsl(var(--foreground)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--color-foreground) 60%,transparent)}}.text-foreground\/80{color:color-mix(in srgb,hsl(var(--foreground)) 80%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--color-foreground) 80%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-500\/50{color:#00c75880}@supports (color:color-mix(in lab,red,red)){.text-green-500\/50{color:color-mix(in oklab,var(--color-green-500) 50%,transparent)}}.text-green-700{color:var(--color-green-700)}.text-logo{color:var(--color-logo)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/30{color:color-mix(in srgb,hsl(var(--muted-foreground)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--color-muted-foreground) 30%,transparent)}}.text-muted-foreground\/50{color:color-mix(in srgb,hsl(var(--muted-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--color-muted-foreground) 50%,transparent)}}.text-muted-foreground\/60{color:color-mix(in srgb,hsl(var(--muted-foreground)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--color-muted-foreground) 60%,transparent)}}.text-muted-icon{color:var(--color-muted-icon)}.text-orange-500{color:var(--color-orange-500)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-500\/50{color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.text-red-500\/50{color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.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-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-orange-500\/50{text-decoration-color:#fe6e0080}@supports (color:color-mix(in lab,red,red)){.decoration-orange-500\/50{text-decoration-color:color-mix(in oklab,var(--color-orange-500) 50%,transparent)}}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.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-none{--tw-shadow:0 0 #0000;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{--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)}.ring-muted\/20{--tw-ring-color:color-mix(in srgb, hsl(var(--muted)) 20%, transparent)}@supports (color:color-mix(in lab,red,red)){.ring-muted\/20{--tw-ring-color:color-mix(in oklab, var(--color-muted) 20%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-sm{--tw-blur:blur(var(--blur-sm));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-lg{--tw-backdrop-blur:blur(var(--blur-lg));-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-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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.34\,1\.56\,0\.64\,1\)\]{--tw-ease:cubic-bezier(.34,1.56,.64,1);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\[transition\:background-position_1s_cubic-bezier\(\.6\,\.6\,0\,1\)_infinite\]{transition:background-position 1s cubic-bezier(.6,.6,0,1) infinite}@media(hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:opacity-0:is(:where(.group):hover *){opacity:0}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/codeblock\:opacity-100:is(:where(.group\/codeblock):hover *),.group-hover\/expandable-row\:opacity-100:is(:where(.group\/expandable-row):hover *),.group-hover\/plan\:opacity-100:is(:where(.group\/plan):hover *),.group-hover\/pre\:opacity-100:is(:where(.group\/pre):hover *){opacity:1}.group-hover\/section\:opacity-0:is(:where(.group\/section):hover *){opacity:0}.group-hover\/section\:opacity-100:is(:where(.group\/section):hover *){opacity:1}.group-hover\/sidebar-header\:scale-0:is(:where(.group\/sidebar-header):hover *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\/sidebar-header\:scale-80:is(:where(.group\/sidebar-header):hover *){--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\/sidebar-header\:opacity-0:is(:where(.group\/sidebar-header):hover *){opacity:0}.group-hover\/sidebar-header\:opacity-100:is(:where(.group\/sidebar-header):hover *){opacity:1}}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--color-muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:pl-3:first-child{padding-left:calc(var(--spacing) * 3)}@media(hover:hover){.hover\:\!border-transparent:hover{border-color:#0000!important}.hover\:border-border:hover{border-color:var(--color-border)}.hover\:border-primary\/30:hover{border-color:color-mix(in srgb,hsl(var(--primary)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.hover\:\!bg-transparent:hover{background-color:#0000!important}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/10:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.hover\:bg-logo\/90:hover{background-color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-logo\/90:hover{background-color:color-mix(in oklab,var(--color-logo) 90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-muted\/20:hover{background-color:color-mix(in srgb,hsl(var(--muted)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab,var(--color-muted) 20%,transparent)}}.hover\:bg-muted\/50:hover{background-color:color-mix(in srgb,hsl(var(--muted)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color: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\:\!pb-\[32px\]:hover{padding-bottom:32px!important}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-orange-500\/70:hover{color:#fe6e00b3}@supports (color:color-mix(in lab,red,red)){.hover\:text-orange-500\/70:hover{color:color-mix(in oklab,var(--color-orange-500) 70%,transparent)}}.hover\:text-secondary-foreground\/60:hover{color:color-mix(in srgb,hsl(var(--secondary-foreground)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:text-secondary-foreground\/60:hover{color:color-mix(in oklab,var(--color-secondary-foreground) 60%,transparent)}}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-50:hover{opacity:.5}.hover\:opacity-60:hover{opacity:.6}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-destructive\/10:focus{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-destructive\/10:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-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-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-\[0\.985\]:active{scale:.985}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-muted\/80:active{background-color:color-mix(in srgb,hsl(var(--muted)) 80%,transparent)}@supports (color:color-mix(in lab,red,red)){.active\:bg-muted\/80:active{background-color:color-mix(in oklab,var(--color-muted) 80%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-input\/90:disabled{border-color:color-mix(in srgb,hsl(var(--input)) 90%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:border-input\/90:disabled{border-color:color-mix(in oklab,var(--color-input) 90%,transparent)}}.disabled\:bg-primary\/20:disabled{background-color:color-mix(in srgb,hsl(var(--primary)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-primary\/20:disabled{background-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.disabled\:bg-primary\/50:disabled{background-color:color-mix(in srgb,hsl(var(--primary)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-primary\/50:disabled{background-color:color-mix(in oklab,var(--color-primary) 50%,transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:bg-white\/60:disabled{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-white\/60:disabled{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.disabled\:text-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-foreground\/50:disabled{color:color-mix(in oklab,var(--color-foreground) 50%,transparent)}}.disabled\:text-muted-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--muted-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-muted-foreground\/50:disabled{color:color-mix(in oklab,var(--color-muted-foreground) 50%,transparent)}}.disabled\:text-primary-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--primary-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary-foreground\/50:disabled{color:color-mix(in oklab,var(--color-primary-foreground) 50%,transparent)}}.disabled\:text-primary-foreground\/90:disabled{color:color-mix(in srgb,hsl(var(--primary-foreground)) 90%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary-foreground\/90:disabled{color:color-mix(in oklab,var(--color-primary-foreground) 90%,transparent)}}.disabled\:text-primary\/50:disabled{color:color-mix(in srgb,hsl(var(--primary)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary\/50:disabled{color:color-mix(in oklab,var(--color-primary) 50%,transparent)}}.disabled\:text-primary\/60:disabled{color:color-mix(in srgb,hsl(var(--primary)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-primary\/60:disabled{color:color-mix(in oklab,var(--color-primary) 60%,transparent)}}.disabled\:text-secondary-foreground\/50:disabled{color:color-mix(in srgb,hsl(var(--secondary-foreground)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.disabled\:text-secondary-foreground\/50:disabled{color:color-mix(in oklab,var(--color-secondary-foreground) 50%,transparent)}}.disabled\:text-slate-700:disabled{color:var(--color-slate-700)}.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:40rem){.sm\:h-5{height:calc(var(--spacing) * 5)}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:w-5{width:calc(var(--spacing) * 5)}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:max-w-\[80\%\]{max-width:80%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:relative{position:relative}.md\:inset-auto{inset:auto}.md\:top-2{top:calc(var(--spacing) * 2)}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:my-2{margin-block:calc(var(--spacing) * 2)}.md\:mr-0{margin-right:calc(var(--spacing) * 0)}.md\:mr-2{margin-right:calc(var(--spacing) * 2)}.md\:mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.md\:ml-2{margin-left:calc(var(--spacing) * 2)}.md\:block{display:block}.md\:contents{display:contents}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-4{height:calc(var(--spacing) * 4)}.md\:h-6{height:calc(var(--spacing) * 6)}.md\:h-11{height:calc(var(--spacing) * 11)}.md\:h-\[55px\]{height:55px}.md\:h-\[calc\(100dvh-16px\)\]{height:calc(100dvh - 16px)}.md\:max-h-\[50vh\]{max-height:50vh}.md\:max-h-\[55px\]{max-height:55px}.md\:w-4{width:calc(var(--spacing) * 4)}.md\:w-6{width:calc(var(--spacing) * 6)}.md\:w-11{width:calc(var(--spacing) * 11)}.md\:w-\[275px\]{width:275px}.md\:flex-initial{flex:0 auto}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:border{border-style:var(--tw-border-style);border-width:1px}.md\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.md\:border-none{--tw-border-style:none;border-style:none}.md\:border-border{border-color:var(--color-border)}.md\:from-transparent{--tw-gradient-from: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))}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:px-5\.5{padding-inline:calc(var(--spacing) * 5.5)}.md\:py-4\.5{padding-block:calc(var(--spacing) * 4.5)}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.md\:pb-2{padding-bottom:calc(var(--spacing) * 2)}.md\:pl-6{padding-left:calc(var(--spacing) * 6)}.md\:opacity-0{opacity:0}.md\:backdrop-blur-none{--tw-backdrop-blur: ;-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,)}@media(hover:hover){.md\:group-hover\:opacity-100:is(:where(.group):hover *),.md\:group-hover\/section\:opacity-100:is(:where(.group\/section):hover *){opacity:1}}}@media(min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:96rem){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:125rem){.\33xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:border-white\/10:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/10:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:bg-card:where(.dark,.dark *){background-color:var(--color-card)}.dark\:bg-card\/40:where(.dark,.dark *){background-color:color-mix(in srgb,hsl(var(--card)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-card\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-card) 40%,transparent)}}.dark\:bg-green-500\/15:where(.dark,.dark *){background-color:#00c75826}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-500\/15:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-500) 15%,transparent)}}.dark\:bg-muted:where(.dark,.dark *){background-color:var(--color-muted)}.dark\:bg-red-500\/15:where(.dark,.dark *){background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-500\/15:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.dark\:bg-slate-700:where(.dark,.dark *){background-color:var(--color-slate-700)}.dark\:bg-white:where(.dark,.dark *){background-color:var(--color-white)}.dark\:via-white\/80:where(.dark,.dark *){--tw-gradient-via:#fffc}@supports (color:color-mix(in lab,red,red)){.dark\:via-white\/80:where(.dark,.dark *){--tw-gradient-via:color-mix(in oklab, var(--color-white) 80%, transparent)}}.dark\:via-white\/80:where(.dark,.dark *){--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:text-background:where(.dark,.dark *){color:var(--color-background)}.dark\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-logo:where(.dark,.dark *){color:var(--color-logo)}.dark\:text-muted-foreground:where(.dark,.dark *){color:var(--color-muted-foreground)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\:text-slate-500:where(.dark,.dark *){color:var(--color-slate-500)}.dark\:text-slate-900:where(.dark,.dark *){color:var(--color-slate-900)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:decoration-logo\/70:where(.dark,.dark *){text-decoration-color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.dark\:decoration-logo\/70:where(.dark,.dark *){text-decoration-color:color-mix(in oklab,var(--color-logo) 70%,transparent)}}.dark\:ring-muted\/50:where(.dark,.dark *){--tw-ring-color:color-mix(in srgb, hsl(var(--muted)) 50%, transparent)}@supports (color:color-mix(in lab,red,red)){.dark\:ring-muted\/50:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}@media(hover:hover){.dark\:hover\:border-slate-400\/10:where(.dark,.dark *):hover{border-color:#90a1b91a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:border-slate-400\/10:where(.dark,.dark *):hover{border-color:color-mix(in oklab,var(--color-slate-400) 10%,transparent)}}.dark\:hover\:bg-card:where(.dark,.dark *):hover{background-color:var(--color-card)}.dark\:hover\:bg-red-500\/20:where(.dark,.dark *):hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-red-500\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.dark\:hover\:bg-slate-600:where(.dark,.dark *):hover{background-color:var(--color-slate-600)}.dark\:hover\:text-foreground:where(.dark,.dark *):hover{color:var(--color-foreground)}.dark\:hover\:text-logo\/60:where(.dark,.dark *):hover{color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:text-logo\/60:where(.dark,.dark *):hover{color:color-mix(in oklab,var(--color-logo) 60%,transparent)}}.dark\:hover\:decoration-logo\/40:where(.dark,.dark *):hover{text-decoration-color:var(--color-logo)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:decoration-logo\/40:where(.dark,.dark *):hover{text-decoration-color:color-mix(in oklab,var(--color-logo) 40%,transparent)}}}.dark\:focus\:bg-red-500\/20:where(.dark,.dark *):focus{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-red-500\/20:where(.dark,.dark *):focus{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.\[\&_\*\]\: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)}.\[\&_p\]\:whitespace-pre-line p{white-space:pre-line}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.no-code-highlight .\[\.no-code-highlight_\&\]\:\!bg-transparent{background-color:#0000!important}.no-pre-highlight .\[\.no-pre-highlight_\&\]\:bg-background,.no-pre-highlight .dark\:\[\.no-pre-highlight_\&\]\:bg-background:where(.dark,.dark *){background-color:var(--color-background)}}@font-face{font-family:Body;src:url(/fonts/body-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Body;src:url(/fonts/body-regular-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Body;src:url(/fonts/body-medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Body;src:url(/fonts/body-semibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@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-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-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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes shiny-text{0%{background-position:calc(-100% - var(--shiny-width)) 0}to{background-position:calc(100% + var(--shiny-width)) 0}}