sahilmayekar commited on
Commit
a4dd245
·
1 Parent(s): 3a8d37c
frontend/app/dist/assets/index-BTmBZBn3.css ADDED
@@ -0,0 +1 @@
 
 
1
+ /*! tailwindcss v4.1.13 | 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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--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-500:oklch(63.7% .237 25.331);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-100:oklch(96.7% .003 264.542);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--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)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.visible{visibility:visible}.relative{position:relative}.static{position:static}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-7{grid-column:span 7/span 7}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-1\/3{height:33.3333%}.h-2{height:calc(var(--spacing)*2)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-40{height:calc(var(--spacing)*40)}.h-64{height:calc(var(--spacing)*64)}.h-full{height:100%}.h-screen{height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-full{width:100%}.w-screen{width:100vw}.flex-1{flex:1}.shrink-0{flex-shrink:0}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}: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-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)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-background{background-color:var(--background)}.bg-black{background-color:var(--color-black)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-primary{background-color:var(--primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--secondary)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-green-300{color:var(--color-green-300)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-500{color:var(--color-slate-500)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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))}.outline-none{--tw-outline-style:none;outline-style:none}.paused{animation-play-state:paused}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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}
frontend/app/dist/assets/index-C1dhnVL7.css DELETED
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.1.13 | 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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--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-500:oklch(63.7% .237 25.331);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-100:oklch(96.7% .003 264.542);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--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)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-7{grid-column:span 7/span 7}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-1\/3{height:33.3333%}.h-2{height:calc(var(--spacing)*2)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-40{height:calc(var(--spacing)*40)}.h-full{height:100%}.h-screen{height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-full{width:100%}.w-screen{width:100vw}.flex-1{flex:1}.shrink-0{flex-shrink:0}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}: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-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)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-background{background-color:var(--background)}.bg-black{background-color:var(--color-black)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-primary{background-color:var(--primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--secondary)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-green-300{color:var(--color-green-300)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-500{color:var(--color-slate-500)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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}
 
 
frontend/app/dist/assets/index-CCWc1JAL.js ADDED
The diff for this file is too large to render. See raw diff
 
frontend/app/dist/assets/index-CnXO6ZTe.js DELETED
The diff for this file is too large to render. See raw diff
 
frontend/app/dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>app</title>
8
- <script type="module" crossorigin src="/assets/index-CnXO6ZTe.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-C1dhnVL7.css">
10
  </head>
11
  <body>
12
  <div id="root"></div>
 
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>app</title>
8
+ <script type="module" crossorigin src="/assets/index-CCWc1JAL.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-BTmBZBn3.css">
10
  </head>
11
  <body>
12
  <div id="root"></div>
frontend/app/package-lock.json CHANGED
@@ -11,6 +11,7 @@
11
  "@monaco-editor/react": "^4.7.0",
12
  "@radix-ui/react-slot": "^1.2.3",
13
  "@tailwindcss/vite": "^4.1.13",
 
14
  "class-variance-authority": "^0.7.1",
15
  "clsx": "^2.1.1",
16
  "lucide-react": "^0.544.0",
@@ -325,6 +326,7 @@
325
  "cpu": [
326
  "ppc64"
327
  ],
 
328
  "license": "MIT",
329
  "optional": true,
330
  "os": [
@@ -341,6 +343,7 @@
341
  "cpu": [
342
  "arm"
343
  ],
 
344
  "license": "MIT",
345
  "optional": true,
346
  "os": [
@@ -357,6 +360,7 @@
357
  "cpu": [
358
  "arm64"
359
  ],
 
360
  "license": "MIT",
361
  "optional": true,
362
  "os": [
@@ -373,6 +377,7 @@
373
  "cpu": [
374
  "x64"
375
  ],
 
376
  "license": "MIT",
377
  "optional": true,
378
  "os": [
@@ -389,6 +394,7 @@
389
  "cpu": [
390
  "arm64"
391
  ],
 
392
  "license": "MIT",
393
  "optional": true,
394
  "os": [
@@ -405,6 +411,7 @@
405
  "cpu": [
406
  "x64"
407
  ],
 
408
  "license": "MIT",
409
  "optional": true,
410
  "os": [
@@ -421,6 +428,7 @@
421
  "cpu": [
422
  "arm64"
423
  ],
 
424
  "license": "MIT",
425
  "optional": true,
426
  "os": [
@@ -437,6 +445,7 @@
437
  "cpu": [
438
  "x64"
439
  ],
 
440
  "license": "MIT",
441
  "optional": true,
442
  "os": [
@@ -453,6 +462,7 @@
453
  "cpu": [
454
  "arm"
455
  ],
 
456
  "license": "MIT",
457
  "optional": true,
458
  "os": [
@@ -469,6 +479,7 @@
469
  "cpu": [
470
  "arm64"
471
  ],
 
472
  "license": "MIT",
473
  "optional": true,
474
  "os": [
@@ -485,6 +496,7 @@
485
  "cpu": [
486
  "ia32"
487
  ],
 
488
  "license": "MIT",
489
  "optional": true,
490
  "os": [
@@ -501,6 +513,7 @@
501
  "cpu": [
502
  "loong64"
503
  ],
 
504
  "license": "MIT",
505
  "optional": true,
506
  "os": [
@@ -517,6 +530,7 @@
517
  "cpu": [
518
  "mips64el"
519
  ],
 
520
  "license": "MIT",
521
  "optional": true,
522
  "os": [
@@ -533,6 +547,7 @@
533
  "cpu": [
534
  "ppc64"
535
  ],
 
536
  "license": "MIT",
537
  "optional": true,
538
  "os": [
@@ -549,6 +564,7 @@
549
  "cpu": [
550
  "riscv64"
551
  ],
 
552
  "license": "MIT",
553
  "optional": true,
554
  "os": [
@@ -565,6 +581,7 @@
565
  "cpu": [
566
  "s390x"
567
  ],
 
568
  "license": "MIT",
569
  "optional": true,
570
  "os": [
@@ -581,6 +598,7 @@
581
  "cpu": [
582
  "x64"
583
  ],
 
584
  "license": "MIT",
585
  "optional": true,
586
  "os": [
@@ -597,6 +615,7 @@
597
  "cpu": [
598
  "arm64"
599
  ],
 
600
  "license": "MIT",
601
  "optional": true,
602
  "os": [
@@ -613,6 +632,7 @@
613
  "cpu": [
614
  "x64"
615
  ],
 
616
  "license": "MIT",
617
  "optional": true,
618
  "os": [
@@ -629,6 +649,7 @@
629
  "cpu": [
630
  "arm64"
631
  ],
 
632
  "license": "MIT",
633
  "optional": true,
634
  "os": [
@@ -645,6 +666,7 @@
645
  "cpu": [
646
  "x64"
647
  ],
 
648
  "license": "MIT",
649
  "optional": true,
650
  "os": [
@@ -661,6 +683,7 @@
661
  "cpu": [
662
  "arm64"
663
  ],
 
664
  "license": "MIT",
665
  "optional": true,
666
  "os": [
@@ -677,6 +700,7 @@
677
  "cpu": [
678
  "x64"
679
  ],
 
680
  "license": "MIT",
681
  "optional": true,
682
  "os": [
@@ -693,6 +717,7 @@
693
  "cpu": [
694
  "arm64"
695
  ],
 
696
  "license": "MIT",
697
  "optional": true,
698
  "os": [
@@ -709,6 +734,7 @@
709
  "cpu": [
710
  "ia32"
711
  ],
 
712
  "license": "MIT",
713
  "optional": true,
714
  "os": [
@@ -725,6 +751,7 @@
725
  "cpu": [
726
  "x64"
727
  ],
 
728
  "license": "MIT",
729
  "optional": true,
730
  "os": [
@@ -1067,6 +1094,7 @@
1067
  "cpu": [
1068
  "arm"
1069
  ],
 
1070
  "license": "MIT",
1071
  "optional": true,
1072
  "os": [
@@ -1080,6 +1108,7 @@
1080
  "cpu": [
1081
  "arm64"
1082
  ],
 
1083
  "license": "MIT",
1084
  "optional": true,
1085
  "os": [
@@ -1093,6 +1122,7 @@
1093
  "cpu": [
1094
  "arm64"
1095
  ],
 
1096
  "license": "MIT",
1097
  "optional": true,
1098
  "os": [
@@ -1106,6 +1136,7 @@
1106
  "cpu": [
1107
  "x64"
1108
  ],
 
1109
  "license": "MIT",
1110
  "optional": true,
1111
  "os": [
@@ -1119,6 +1150,7 @@
1119
  "cpu": [
1120
  "arm64"
1121
  ],
 
1122
  "license": "MIT",
1123
  "optional": true,
1124
  "os": [
@@ -1132,6 +1164,7 @@
1132
  "cpu": [
1133
  "x64"
1134
  ],
 
1135
  "license": "MIT",
1136
  "optional": true,
1137
  "os": [
@@ -1145,6 +1178,7 @@
1145
  "cpu": [
1146
  "arm"
1147
  ],
 
1148
  "license": "MIT",
1149
  "optional": true,
1150
  "os": [
@@ -1158,6 +1192,7 @@
1158
  "cpu": [
1159
  "arm"
1160
  ],
 
1161
  "license": "MIT",
1162
  "optional": true,
1163
  "os": [
@@ -1171,6 +1206,7 @@
1171
  "cpu": [
1172
  "arm64"
1173
  ],
 
1174
  "license": "MIT",
1175
  "optional": true,
1176
  "os": [
@@ -1184,6 +1220,7 @@
1184
  "cpu": [
1185
  "arm64"
1186
  ],
 
1187
  "license": "MIT",
1188
  "optional": true,
1189
  "os": [
@@ -1197,6 +1234,7 @@
1197
  "cpu": [
1198
  "loong64"
1199
  ],
 
1200
  "license": "MIT",
1201
  "optional": true,
1202
  "os": [
@@ -1210,6 +1248,7 @@
1210
  "cpu": [
1211
  "ppc64"
1212
  ],
 
1213
  "license": "MIT",
1214
  "optional": true,
1215
  "os": [
@@ -1223,6 +1262,7 @@
1223
  "cpu": [
1224
  "riscv64"
1225
  ],
 
1226
  "license": "MIT",
1227
  "optional": true,
1228
  "os": [
@@ -1236,6 +1276,7 @@
1236
  "cpu": [
1237
  "riscv64"
1238
  ],
 
1239
  "license": "MIT",
1240
  "optional": true,
1241
  "os": [
@@ -1249,6 +1290,7 @@
1249
  "cpu": [
1250
  "s390x"
1251
  ],
 
1252
  "license": "MIT",
1253
  "optional": true,
1254
  "os": [
@@ -1262,6 +1304,7 @@
1262
  "cpu": [
1263
  "x64"
1264
  ],
 
1265
  "license": "MIT",
1266
  "optional": true,
1267
  "os": [
@@ -1275,6 +1318,7 @@
1275
  "cpu": [
1276
  "x64"
1277
  ],
 
1278
  "license": "MIT",
1279
  "optional": true,
1280
  "os": [
@@ -1288,6 +1332,7 @@
1288
  "cpu": [
1289
  "arm64"
1290
  ],
 
1291
  "license": "MIT",
1292
  "optional": true,
1293
  "os": [
@@ -1301,6 +1346,7 @@
1301
  "cpu": [
1302
  "arm64"
1303
  ],
 
1304
  "license": "MIT",
1305
  "optional": true,
1306
  "os": [
@@ -1314,6 +1360,7 @@
1314
  "cpu": [
1315
  "ia32"
1316
  ],
 
1317
  "license": "MIT",
1318
  "optional": true,
1319
  "os": [
@@ -1327,6 +1374,7 @@
1327
  "cpu": [
1328
  "x64"
1329
  ],
 
1330
  "license": "MIT",
1331
  "optional": true,
1332
  "os": [
@@ -1340,6 +1388,7 @@
1340
  "cpu": [
1341
  "x64"
1342
  ],
 
1343
  "license": "MIT",
1344
  "optional": true,
1345
  "os": [
@@ -1663,6 +1712,7 @@
1663
  "version": "1.0.8",
1664
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1665
  "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
 
1666
  "license": "MIT"
1667
  },
1668
  "node_modules/@types/json-schema": {
@@ -1676,7 +1726,7 @@
1676
  "version": "19.1.13",
1677
  "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.13.tgz",
1678
  "integrity": "sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==",
1679
- "devOptional": true,
1680
  "license": "MIT",
1681
  "dependencies": {
1682
  "csstype": "^3.0.2"
@@ -1759,6 +1809,12 @@
1759
  "url": "https://github.com/sponsors/epoberezkin"
1760
  }
1761
  },
 
 
 
 
 
 
1762
  "node_modules/ansi-styles": {
1763
  "version": "4.3.0",
1764
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -1775,6 +1831,20 @@
1775
  "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1776
  }
1777
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1778
  "node_modules/argparse": {
1779
  "version": "2.0.1",
1780
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -1975,7 +2045,7 @@
1975
  "version": "3.1.3",
1976
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
1977
  "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
1978
- "devOptional": true,
1979
  "license": "MIT"
1980
  },
1981
  "node_modules/debug": {
@@ -2075,6 +2145,7 @@
2075
  "version": "0.25.10",
2076
  "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz",
2077
  "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==",
 
2078
  "hasInstallScript": true,
2079
  "license": "MIT",
2080
  "bin": {
@@ -2122,6 +2193,12 @@
2122
  "node": ">=6"
2123
  }
2124
  },
 
 
 
 
 
 
2125
  "node_modules/escape-string-regexp": {
2126
  "version": "4.0.0",
2127
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -2338,6 +2415,7 @@
2338
  "version": "6.5.0",
2339
  "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
2340
  "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
 
2341
  "license": "MIT",
2342
  "engines": {
2343
  "node": ">=12.0.0"
@@ -2406,6 +2484,7 @@
2406
  "version": "2.3.3",
2407
  "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
2408
  "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
 
2409
  "hasInstallScript": true,
2410
  "license": "MIT",
2411
  "optional": true,
@@ -2967,6 +3046,7 @@
2967
  "version": "3.3.11",
2968
  "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
2969
  "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
 
2970
  "funding": [
2971
  {
2972
  "type": "github",
@@ -3082,12 +3162,14 @@
3082
  "version": "1.1.1",
3083
  "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
3084
  "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
 
3085
  "license": "ISC"
3086
  },
3087
  "node_modules/picomatch": {
3088
  "version": "4.0.3",
3089
  "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
3090
  "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
 
3091
  "license": "MIT",
3092
  "engines": {
3093
  "node": ">=12"
@@ -3100,6 +3182,7 @@
3100
  "version": "8.5.6",
3101
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
3102
  "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
 
3103
  "funding": [
3104
  {
3105
  "type": "opencollective",
@@ -3189,6 +3272,7 @@
3189
  "version": "4.52.2",
3190
  "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz",
3191
  "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==",
 
3192
  "license": "MIT",
3193
  "dependencies": {
3194
  "@types/estree": "1.0.8"
@@ -3445,6 +3529,7 @@
3445
  "version": "0.2.15",
3446
  "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
3447
  "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
 
3448
  "license": "MIT",
3449
  "dependencies": {
3450
  "fdir": "^6.5.0",
@@ -3525,6 +3610,7 @@
3525
  "version": "7.1.7",
3526
  "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.7.tgz",
3527
  "integrity": "sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==",
 
3528
  "license": "MIT",
3529
  "dependencies": {
3530
  "esbuild": "^0.25.0",
 
11
  "@monaco-editor/react": "^4.7.0",
12
  "@radix-ui/react-slot": "^1.2.3",
13
  "@tailwindcss/vite": "^4.1.13",
14
+ "ansi-to-react": "^6.1.6",
15
  "class-variance-authority": "^0.7.1",
16
  "clsx": "^2.1.1",
17
  "lucide-react": "^0.544.0",
 
326
  "cpu": [
327
  "ppc64"
328
  ],
329
+ "dev": true,
330
  "license": "MIT",
331
  "optional": true,
332
  "os": [
 
343
  "cpu": [
344
  "arm"
345
  ],
346
+ "dev": true,
347
  "license": "MIT",
348
  "optional": true,
349
  "os": [
 
360
  "cpu": [
361
  "arm64"
362
  ],
363
+ "dev": true,
364
  "license": "MIT",
365
  "optional": true,
366
  "os": [
 
377
  "cpu": [
378
  "x64"
379
  ],
380
+ "dev": true,
381
  "license": "MIT",
382
  "optional": true,
383
  "os": [
 
394
  "cpu": [
395
  "arm64"
396
  ],
397
+ "dev": true,
398
  "license": "MIT",
399
  "optional": true,
400
  "os": [
 
411
  "cpu": [
412
  "x64"
413
  ],
414
+ "dev": true,
415
  "license": "MIT",
416
  "optional": true,
417
  "os": [
 
428
  "cpu": [
429
  "arm64"
430
  ],
431
+ "dev": true,
432
  "license": "MIT",
433
  "optional": true,
434
  "os": [
 
445
  "cpu": [
446
  "x64"
447
  ],
448
+ "dev": true,
449
  "license": "MIT",
450
  "optional": true,
451
  "os": [
 
462
  "cpu": [
463
  "arm"
464
  ],
465
+ "dev": true,
466
  "license": "MIT",
467
  "optional": true,
468
  "os": [
 
479
  "cpu": [
480
  "arm64"
481
  ],
482
+ "dev": true,
483
  "license": "MIT",
484
  "optional": true,
485
  "os": [
 
496
  "cpu": [
497
  "ia32"
498
  ],
499
+ "dev": true,
500
  "license": "MIT",
501
  "optional": true,
502
  "os": [
 
513
  "cpu": [
514
  "loong64"
515
  ],
516
+ "dev": true,
517
  "license": "MIT",
518
  "optional": true,
519
  "os": [
 
530
  "cpu": [
531
  "mips64el"
532
  ],
533
+ "dev": true,
534
  "license": "MIT",
535
  "optional": true,
536
  "os": [
 
547
  "cpu": [
548
  "ppc64"
549
  ],
550
+ "dev": true,
551
  "license": "MIT",
552
  "optional": true,
553
  "os": [
 
564
  "cpu": [
565
  "riscv64"
566
  ],
567
+ "dev": true,
568
  "license": "MIT",
569
  "optional": true,
570
  "os": [
 
581
  "cpu": [
582
  "s390x"
583
  ],
584
+ "dev": true,
585
  "license": "MIT",
586
  "optional": true,
587
  "os": [
 
598
  "cpu": [
599
  "x64"
600
  ],
601
+ "dev": true,
602
  "license": "MIT",
603
  "optional": true,
604
  "os": [
 
615
  "cpu": [
616
  "arm64"
617
  ],
618
+ "dev": true,
619
  "license": "MIT",
620
  "optional": true,
621
  "os": [
 
632
  "cpu": [
633
  "x64"
634
  ],
635
+ "dev": true,
636
  "license": "MIT",
637
  "optional": true,
638
  "os": [
 
649
  "cpu": [
650
  "arm64"
651
  ],
652
+ "dev": true,
653
  "license": "MIT",
654
  "optional": true,
655
  "os": [
 
666
  "cpu": [
667
  "x64"
668
  ],
669
+ "dev": true,
670
  "license": "MIT",
671
  "optional": true,
672
  "os": [
 
683
  "cpu": [
684
  "arm64"
685
  ],
686
+ "dev": true,
687
  "license": "MIT",
688
  "optional": true,
689
  "os": [
 
700
  "cpu": [
701
  "x64"
702
  ],
703
+ "dev": true,
704
  "license": "MIT",
705
  "optional": true,
706
  "os": [
 
717
  "cpu": [
718
  "arm64"
719
  ],
720
+ "dev": true,
721
  "license": "MIT",
722
  "optional": true,
723
  "os": [
 
734
  "cpu": [
735
  "ia32"
736
  ],
737
+ "dev": true,
738
  "license": "MIT",
739
  "optional": true,
740
  "os": [
 
751
  "cpu": [
752
  "x64"
753
  ],
754
+ "dev": true,
755
  "license": "MIT",
756
  "optional": true,
757
  "os": [
 
1094
  "cpu": [
1095
  "arm"
1096
  ],
1097
+ "dev": true,
1098
  "license": "MIT",
1099
  "optional": true,
1100
  "os": [
 
1108
  "cpu": [
1109
  "arm64"
1110
  ],
1111
+ "dev": true,
1112
  "license": "MIT",
1113
  "optional": true,
1114
  "os": [
 
1122
  "cpu": [
1123
  "arm64"
1124
  ],
1125
+ "dev": true,
1126
  "license": "MIT",
1127
  "optional": true,
1128
  "os": [
 
1136
  "cpu": [
1137
  "x64"
1138
  ],
1139
+ "dev": true,
1140
  "license": "MIT",
1141
  "optional": true,
1142
  "os": [
 
1150
  "cpu": [
1151
  "arm64"
1152
  ],
1153
+ "dev": true,
1154
  "license": "MIT",
1155
  "optional": true,
1156
  "os": [
 
1164
  "cpu": [
1165
  "x64"
1166
  ],
1167
+ "dev": true,
1168
  "license": "MIT",
1169
  "optional": true,
1170
  "os": [
 
1178
  "cpu": [
1179
  "arm"
1180
  ],
1181
+ "dev": true,
1182
  "license": "MIT",
1183
  "optional": true,
1184
  "os": [
 
1192
  "cpu": [
1193
  "arm"
1194
  ],
1195
+ "dev": true,
1196
  "license": "MIT",
1197
  "optional": true,
1198
  "os": [
 
1206
  "cpu": [
1207
  "arm64"
1208
  ],
1209
+ "dev": true,
1210
  "license": "MIT",
1211
  "optional": true,
1212
  "os": [
 
1220
  "cpu": [
1221
  "arm64"
1222
  ],
1223
+ "dev": true,
1224
  "license": "MIT",
1225
  "optional": true,
1226
  "os": [
 
1234
  "cpu": [
1235
  "loong64"
1236
  ],
1237
+ "dev": true,
1238
  "license": "MIT",
1239
  "optional": true,
1240
  "os": [
 
1248
  "cpu": [
1249
  "ppc64"
1250
  ],
1251
+ "dev": true,
1252
  "license": "MIT",
1253
  "optional": true,
1254
  "os": [
 
1262
  "cpu": [
1263
  "riscv64"
1264
  ],
1265
+ "dev": true,
1266
  "license": "MIT",
1267
  "optional": true,
1268
  "os": [
 
1276
  "cpu": [
1277
  "riscv64"
1278
  ],
1279
+ "dev": true,
1280
  "license": "MIT",
1281
  "optional": true,
1282
  "os": [
 
1290
  "cpu": [
1291
  "s390x"
1292
  ],
1293
+ "dev": true,
1294
  "license": "MIT",
1295
  "optional": true,
1296
  "os": [
 
1304
  "cpu": [
1305
  "x64"
1306
  ],
1307
+ "dev": true,
1308
  "license": "MIT",
1309
  "optional": true,
1310
  "os": [
 
1318
  "cpu": [
1319
  "x64"
1320
  ],
1321
+ "dev": true,
1322
  "license": "MIT",
1323
  "optional": true,
1324
  "os": [
 
1332
  "cpu": [
1333
  "arm64"
1334
  ],
1335
+ "dev": true,
1336
  "license": "MIT",
1337
  "optional": true,
1338
  "os": [
 
1346
  "cpu": [
1347
  "arm64"
1348
  ],
1349
+ "dev": true,
1350
  "license": "MIT",
1351
  "optional": true,
1352
  "os": [
 
1360
  "cpu": [
1361
  "ia32"
1362
  ],
1363
+ "dev": true,
1364
  "license": "MIT",
1365
  "optional": true,
1366
  "os": [
 
1374
  "cpu": [
1375
  "x64"
1376
  ],
1377
+ "dev": true,
1378
  "license": "MIT",
1379
  "optional": true,
1380
  "os": [
 
1388
  "cpu": [
1389
  "x64"
1390
  ],
1391
+ "dev": true,
1392
  "license": "MIT",
1393
  "optional": true,
1394
  "os": [
 
1712
  "version": "1.0.8",
1713
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1714
  "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1715
+ "dev": true,
1716
  "license": "MIT"
1717
  },
1718
  "node_modules/@types/json-schema": {
 
1726
  "version": "19.1.13",
1727
  "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.13.tgz",
1728
  "integrity": "sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==",
1729
+ "dev": true,
1730
  "license": "MIT",
1731
  "dependencies": {
1732
  "csstype": "^3.0.2"
 
1809
  "url": "https://github.com/sponsors/epoberezkin"
1810
  }
1811
  },
1812
+ "node_modules/anser": {
1813
+ "version": "1.4.10",
1814
+ "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz",
1815
+ "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==",
1816
+ "license": "MIT"
1817
+ },
1818
  "node_modules/ansi-styles": {
1819
  "version": "4.3.0",
1820
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
 
1831
  "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1832
  }
1833
  },
1834
+ "node_modules/ansi-to-react": {
1835
+ "version": "6.1.6",
1836
+ "resolved": "https://registry.npmjs.org/ansi-to-react/-/ansi-to-react-6.1.6.tgz",
1837
+ "integrity": "sha512-+HWn72GKydtupxX9TORBedqOMsJRiKTqaLUKW8txSBZw9iBpzPKLI8KOu4WzwD4R7hSv1zEspobY6LwlWvwZ6Q==",
1838
+ "license": "BSD-3-Clause",
1839
+ "dependencies": {
1840
+ "anser": "^1.4.1",
1841
+ "escape-carriage": "^1.3.0"
1842
+ },
1843
+ "peerDependencies": {
1844
+ "react": "^16.3.2 || ^17.0.0",
1845
+ "react-dom": "^16.3.2 || ^17.0.0"
1846
+ }
1847
+ },
1848
  "node_modules/argparse": {
1849
  "version": "2.0.1",
1850
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
 
2045
  "version": "3.1.3",
2046
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
2047
  "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
2048
+ "dev": true,
2049
  "license": "MIT"
2050
  },
2051
  "node_modules/debug": {
 
2145
  "version": "0.25.10",
2146
  "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz",
2147
  "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==",
2148
+ "dev": true,
2149
  "hasInstallScript": true,
2150
  "license": "MIT",
2151
  "bin": {
 
2193
  "node": ">=6"
2194
  }
2195
  },
2196
+ "node_modules/escape-carriage": {
2197
+ "version": "1.3.1",
2198
+ "resolved": "https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.1.tgz",
2199
+ "integrity": "sha512-GwBr6yViW3ttx1kb7/Oh+gKQ1/TrhYwxKqVmg5gS+BK+Qe2KrOa/Vh7w3HPBvgGf0LfcDGoY9I6NHKoA5Hozhw==",
2200
+ "license": "MIT"
2201
+ },
2202
  "node_modules/escape-string-regexp": {
2203
  "version": "4.0.0",
2204
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
 
2415
  "version": "6.5.0",
2416
  "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
2417
  "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
2418
+ "dev": true,
2419
  "license": "MIT",
2420
  "engines": {
2421
  "node": ">=12.0.0"
 
2484
  "version": "2.3.3",
2485
  "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
2486
  "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
2487
+ "dev": true,
2488
  "hasInstallScript": true,
2489
  "license": "MIT",
2490
  "optional": true,
 
3046
  "version": "3.3.11",
3047
  "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
3048
  "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
3049
+ "dev": true,
3050
  "funding": [
3051
  {
3052
  "type": "github",
 
3162
  "version": "1.1.1",
3163
  "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
3164
  "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
3165
+ "dev": true,
3166
  "license": "ISC"
3167
  },
3168
  "node_modules/picomatch": {
3169
  "version": "4.0.3",
3170
  "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
3171
  "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
3172
+ "dev": true,
3173
  "license": "MIT",
3174
  "engines": {
3175
  "node": ">=12"
 
3182
  "version": "8.5.6",
3183
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
3184
  "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
3185
+ "dev": true,
3186
  "funding": [
3187
  {
3188
  "type": "opencollective",
 
3272
  "version": "4.52.2",
3273
  "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz",
3274
  "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==",
3275
+ "dev": true,
3276
  "license": "MIT",
3277
  "dependencies": {
3278
  "@types/estree": "1.0.8"
 
3529
  "version": "0.2.15",
3530
  "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
3531
  "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
3532
+ "dev": true,
3533
  "license": "MIT",
3534
  "dependencies": {
3535
  "fdir": "^6.5.0",
 
3610
  "version": "7.1.7",
3611
  "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.7.tgz",
3612
  "integrity": "sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==",
3613
+ "dev": true,
3614
  "license": "MIT",
3615
  "dependencies": {
3616
  "esbuild": "^0.25.0",
frontend/app/package.json CHANGED
@@ -13,6 +13,7 @@
13
  "@monaco-editor/react": "^4.7.0",
14
  "@radix-ui/react-slot": "^1.2.3",
15
  "@tailwindcss/vite": "^4.1.13",
 
16
  "class-variance-authority": "^0.7.1",
17
  "clsx": "^2.1.1",
18
  "lucide-react": "^0.544.0",
 
13
  "@monaco-editor/react": "^4.7.0",
14
  "@radix-ui/react-slot": "^1.2.3",
15
  "@tailwindcss/vite": "^4.1.13",
16
+ "ansi-to-react": "^6.1.6",
17
  "class-variance-authority": "^0.7.1",
18
  "clsx": "^2.1.1",
19
  "lucide-react": "^0.544.0",
frontend/app/src/App.jsx CHANGED
@@ -2,6 +2,7 @@ import React, { useEffect, useState, useRef } from "react";
2
  import { Editor, DiffEditor } from "@monaco-editor/react";
3
  import { create } from "zustand";
4
  import { io } from "socket.io-client";
 
5
 
6
  const BASE_URL = "http://localhost:7860";
7
 
@@ -352,7 +353,7 @@ function WSListener() {
352
 
353
  socket.on("log", (data) => {
354
  console.log("WS message:", data);
355
- pushChat({ role: "agent", text: `${data.msg}`});
356
  });
357
 
358
  socket.on("disconnect", () => {
@@ -395,47 +396,47 @@ function AgentChat() {
395
  }
396
 
397
  return (
398
- <Card className="flex flex-col h-full">
399
- <CardContent className="flex-1 flex flex-col">
400
- <div className="flex items-center justify-between mb-2">
401
- <h3 className="text-sm font-semibold">Agent</h3>
402
- </div>
403
 
404
- <div className="flex-1 overflow-auto border rounded p-2 bg-slate-50">
405
- {chat.map((m, i) => (
406
- <div key={i} className={`mb-2 ${m.role === "user" ? "text-right" : ""}`}>
407
- <div
408
- className={`${
409
- m.role === "user" ? "inline-block bg-blue-600 text-white" : "inline-block bg-white text-slate-800"
410
- } px-3 py-1 rounded-lg`}
411
- >
412
- {m.text}
413
- {m.proposedCode && (
414
- <div className="mt-2 p-2 bg-gray-100 rounded">
415
- <pre className="text-xs overflow-auto">{m.proposedCode}</pre>
416
- </div>
417
- )}
418
- </div>
419
  </div>
420
- ))}
421
- </div>
 
422
 
423
- <div className="mt-2 flex gap-2">
424
- <input
425
- className="flex-1 border rounded px-3 py-2"
426
- value={input}
427
- onChange={(e) => setInput(e.target.value)}
428
- placeholder="Instruct SQL agent"
429
- onKeyDown={(e) => {
430
- if (e.key === "Enter") sendMessage();
431
- }}
432
- />
433
- <IconButton onClick={sendMessage} className="bg-blue-600 text-white">
434
- {sending ? "..." : "Send"}
435
- </IconButton>
436
- </div>
437
- </CardContent>
438
- </Card>
439
  );
440
  }
441
 
 
2
  import { Editor, DiffEditor } from "@monaco-editor/react";
3
  import { create } from "zustand";
4
  import { io } from "socket.io-client";
5
+ import { Ansi } from 'ansi-to-react';
6
 
7
  const BASE_URL = "http://localhost:7860";
8
 
 
353
 
354
  socket.on("log", (data) => {
355
  console.log("WS message:", data);
356
+ pushChat({ role: "agent", text: data.msg.replace(/\u001b\[[0-9;]*m/g, '') });
357
  });
358
 
359
  socket.on("disconnect", () => {
 
396
  }
397
 
398
  return (
399
+ <Card className="flex flex-col h-full">
400
+ <CardContent className="flex-1 flex flex-col">
401
+ <div className="flex items-center justify-between mb-2">
402
+ <h3 className="text-sm font-semibold">Agent</h3>
403
+ </div>
404
 
405
+ <div className="h-64 overflow-y-auto border rounded p-2 bg-slate-50">
406
+ {chat.map((m, i) => (
407
+ <div key={i} className={`mb-2 ${m.role === "user" ? "text-right" : ""}`}>
408
+ <div
409
+ className={`${
410
+ m.role === "user" ? "inline-block bg-blue-600 text-white" : "inline-block bg-white text-slate-800"
411
+ } px-3 py-1 rounded-lg`}
412
+ >
413
+ {m.text && <Ansi>{m.text}</Ansi>}
414
+ {m.proposedCode && (
415
+ <div className="mt-2 p-2 bg-gray-100 rounded">
416
+ <pre className="text-xs overflow-auto">{m.proposedCode}</pre>
417
+ </div>
418
+ )}
 
419
  </div>
420
+ </div>
421
+ ))}
422
+ </div>
423
 
424
+ <div className="mt-2 flex gap-2">
425
+ <input
426
+ className="flex-1 border rounded px-3 py-2"
427
+ value={input}
428
+ onChange={(e) => setInput(e.target.value)}
429
+ placeholder="Instruct SQL agent"
430
+ onKeyDown={(e) => {
431
+ if (e.key === "Enter") sendMessage();
432
+ }}
433
+ />
434
+ <IconButton onClick={sendMessage} className="bg-blue-600 text-white">
435
+ {sending ? "..." : "Send"}
436
+ </IconButton>
437
+ </div>
438
+ </CardContent>
439
+ </Card>
440
  );
441
  }
442