@smartspace/chat-ui 1.14.4-pr.453.668909 → 1.14.6-main.1a6776c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -1,3 +1,3 @@
1
1
  *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
2
2
 
3
- /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-1{bottom:.25rem}.right-1{right:.25rem}.right-2{right:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.z-50{z-index:50}.m-0{margin:0}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-6{margin-bottom:1.5rem}.mb-auto{margin-bottom:auto}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[58px\]{height:58px}.h-full{height:100%}.max-h-60{max-height:15rem}.max-h-72{max-height:18rem}.max-h-\[400px\]{max-height:400px}.max-h-\[60\%\]{max-height:60%}.min-h-0{min-height:0}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.max-w-2xl{max-width:42rem}.max-w-\[9rem\]{max-width:9rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-border\/60{border-color:hsl(var(--border)/.6)}.border-border\/70{border-color:hsl(var(--border)/.7)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/30{border-color:hsl(var(--destructive)/.3)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground)/.3)}.border-primary\/30{border-color:hsl(var(--primary)/.3)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-current{border-top-color:currentColor}.border-t-foreground\/60{border-top-color:hsl(var(--foreground)/.6)}.bg-amber-500\/10{background-color:rgba(245,158,11,.1)}.bg-background{background-color:hsl(var(--background))}.bg-background\/90{background-color:hsl(var(--background)/.9)}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-destructive\/30{background-color:hsl(var(--destructive)/.3)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-input{background-color:hsl(var(--input))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted)/.1)}.bg-muted\/20{background-color:hsl(var(--muted)/.2)}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/5{background-color:hsl(var(--muted)/.05)}.bg-muted\/60{background-color:hsl(var(--muted)/.6)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/60{background-color:hsl(var(--secondary)/.6)}.bg-transparent{background-color:transparent}.via-blue-500\/5{--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(59,130,246,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-emerald-500\/5{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(16,185,129,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary\/5{--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-500\/5{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(239,68,68,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-blue-500\/10{--tw-gradient-to:rgba(59,130,246,.1) var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-primary\/10{--tw-gradient-to:hsl(var(--primary)/0.1) var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground)/.8)}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground)/.7)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground)/.8)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.invert{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)}.invert{--tw-invert:invert(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.running{animation-play-state:running}.paused{animation-play-state:paused}@layer chat-ui-defaults{:root{--background:30 25% 99%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--popover:0 0% 100%;--popover-foreground:222 47% 11%;--brand-accent:194.25 90.91% 34.51%;--primary:var(--brand-accent);--primary-foreground:0 0% 100%;--secondary:30 15% 95%;--secondary-foreground:222 47% 11%;--muted:30 15% 95%;--muted-foreground:215 16% 47%;--accent:var(--brand-accent);--accent-foreground:0 0% 100%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:30 15% 90%;--input:30 15% 90%;--ring:var(--brand-accent);--radius:0.75rem;--chat-area-bg:30 25% 99%;--surface-raised:0 0% 100%;--surface-hairline:30 15% 88%;--bubble-user-bg:30 15% 95%;--bubble-user-fg:222 47% 18%;--composer-shadow:0 8px 24px hsla(30,15%,70%,.18),0 1px 2px hsla(30,15%,70%,.1);--scrollbar-thumb:30 10% 78%;--star:40 90% 55%;--notification:0 80% 55%;--sidebar-background:220 43% 7%;--sidebar-foreground:0 0% 98%;--sidebar-primary:189 81% 49%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:232 17% 18%;--sidebar-accent-foreground:0 0% 98%;--sidebar-border:232 17% 20%;--sidebar-ring:189 81% 49%}.dark{--background:222 35% 7%;--foreground:210 20% 92%;--card:224 30% 12%;--card-foreground:210 20% 92%;--popover:224 30% 12%;--popover-foreground:210 20% 92%;--brand-accent:189 81% 49%;--primary:var(--brand-accent);--primary-foreground:0 0% 100%;--secondary:224 30% 12%;--secondary-foreground:210 20% 92%;--muted:222 25% 10%;--muted-foreground:215 16% 60%;--accent:var(--brand-accent);--accent-foreground:0 0% 100%;--destructive:0 63% 31%;--destructive-foreground:210 40% 98%;--border:222 20% 22%;--input:222 20% 22%;--ring:var(--brand-accent);--radius:0.75rem;--chat-area-bg:222 35% 7%;--surface-raised:224 30% 12%;--surface-hairline:222 20% 25%;--bubble-user-bg:224 30% 12%;--bubble-user-fg:210 20% 88%;--composer-shadow:0 8px 24px rgba(0,0,0,.35);--scrollbar-thumb:222 20% 26%}}.chat-main{background-color:hsl(var(--chat-area-bg))}.chat-scroll{mask-image:linear-gradient(180deg,transparent 0,#000 32px,#000 calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 32px,#000 calc(100% - 12px),transparent)}.chat-column{max-width:48rem;margin-left:auto;margin-right:auto}.chat-turns>*+*{margin-top:1.75rem}.chat-bubble-user{background-color:hsl(var(--bubble-user-bg));border:1px solid hsl(var(--surface-hairline));border-radius:1rem;border-top-right-radius:.25rem;box-shadow:0 1px 2px hsla(30,15%,80%,.25);color:hsl(var(--bubble-user-fg));padding:.875rem 1.25rem}.dark .chat-bubble-user{box-shadow:0 1px 2px rgba(0,0,0,.3)}.chat-composer{background-color:hsl(var(--surface-raised));border:1px solid hsl(var(--surface-hairline));border-radius:1rem;box-shadow:var(--composer-shadow);transition:border-color .15s ease-out,box-shadow .15s ease-out}.chat-composer:focus-within{border-color:hsl(var(--brand-accent)/.5);box-shadow:0 8px 24px hsl(var(--brand-accent)/.1),0 0 0 4px hsl(var(--brand-accent)/.08)}.dark .chat-composer:focus-within{box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 0 4px hsl(var(--brand-accent)/.12)}.chat-send{background-color:hsl(var(--brand-accent));color:#fff;box-shadow:0 2px 8px hsl(var(--brand-accent)/.35)}.chat-send:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));box-shadow:none}.ss-composer__actions .jsonforms-compact .ss-jsonforms-grid{gap:4px;align-items:center}.ss-composer__actions .jsonforms-compact .compact-field,.ss-composer__actions .jsonforms-compact .ss-jsonforms-textarea{width:auto;flex:0 0 auto;min-width:0}.ss-composer__actions .jsonforms-compact .w-full{width:auto}.ss-composer__actions .jsonforms-compact .justify-center{justify-content:flex-start}.ss-variables-panel .jsonforms-compact .ss-jsonforms-grid{flex-direction:column;align-items:stretch;gap:12px}.ss-variables-panel .jsonforms-compact .compact-field,.ss-variables-panel .jsonforms-compact .ss-jsonforms-cell{width:100%}.chat-prose{font-size:.875rem;line-height:1.65;color:hsl(var(--foreground));overflow-wrap:break-word;word-break:break-word}.chat-prose>*+*{margin-top:.75rem}.chat-prose p{margin:0}.chat-prose strong{color:hsl(var(--foreground));font-weight:600}.chat-prose p:has(>strong:only-child){margin-top:1.1rem;margin-bottom:.15rem}.chat-prose p:has(>strong:only-child)>strong{display:inline-block;font-size:.875rem;font-weight:600;letter-spacing:-.005em}.chat-prose h1,.chat-prose h2,.chat-prose h3,.chat-prose h4{font-size:.875rem;font-weight:600;letter-spacing:-.005em;color:hsl(var(--foreground));margin-top:1.1rem;margin-bottom:.15rem;line-height:1.4}.chat-prose ol,.chat-prose ul{margin:.35rem 0 0;padding-left:0;list-style:none}.chat-prose ol+*,.chat-prose ul+*{margin-top:.85rem}.chat-prose li{position:relative;padding-left:1.5rem;margin-top:.2rem;line-height:1.5}.chat-prose li:first-child{margin-top:0}.chat-prose ul>li:before{content:"";position:absolute;left:.5rem;top:.6em;width:3px;height:3px;border-radius:50%;background:hsl(var(--muted-foreground))}.chat-prose ol{counter-reset:chat-ol}.chat-prose ol>li{counter-increment:chat-ol}.chat-prose ol>li:before{content:counter(chat-ol) ".";position:absolute;left:0;top:0;font-size:.875rem;font-weight:500;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));width:1.1rem;text-align:right;line-height:1.5}.chat-prose li>ol,.chat-prose li>ul{margin-top:.2rem}.chat-prose-table-wrap{margin:1rem 0;border-radius:12px;border:1px solid hsl(var(--border));background:hsl(var(--card));overflow-x:auto;max-width:100%;box-shadow:0 1px 2px hsla(30,15%,80%,.18)}.chat-prose table{width:100%;border-collapse:collapse;font-size:.8125rem}.chat-prose th{background:hsl(var(--brand-accent)/.07);font-weight:600;text-align:left;border-bottom:1px solid hsl(var(--border));letter-spacing:-.005em}.chat-prose td,.chat-prose th{color:hsl(var(--foreground));padding:.625rem .875rem}.chat-prose td{border-bottom:1px solid hsl(var(--border)/.6)}.chat-prose tr:last-child td{border-bottom:none}.chat-prose tr:hover td{background:hsl(var(--brand-accent)/.03)}.dark .chat-prose-table-wrap{box-shadow:0 1px 2px rgba(0,0,0,.35)}.chat-prose :not(pre)>code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125em;padding:.125rem .375rem;border-radius:4px;background:hsl(var(--brand-accent)/.08);color:hsl(var(--brand-accent));border:1px solid hsl(var(--brand-accent)/.15)}.chat-prose pre{margin:1rem 0;padding:1rem 1.125rem;border-radius:12px;background:#0c0f18;border:1px solid #2d3443;overflow-x:auto;max-width:100%;font-size:.8125rem;line-height:1.6}.chat-prose pre code{background:none;border:none;padding:0;color:#dae0e7;font-size:inherit;white-space:pre}.chat-prose a{color:hsl(var(--brand-accent));text-decoration:none;border-bottom:1px solid hsl(var(--brand-accent)/.3);transition:border-color .15s ease-out}.chat-prose a:hover{border-bottom-color:hsl(var(--brand-accent))}.chat-prose blockquote{margin:1rem 0;padding:.5rem 0 .5rem 1rem;border-left:2px solid hsl(var(--brand-accent)/.4);color:hsl(var(--muted-foreground));font-style:italic}.chat-prose hr{border:none;border-top:1px solid hsl(var(--border));margin:1.5rem 0}@keyframes chat-stream-clip{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.chat-streaming{animation:chat-stream-clip 1.8s cubic-bezier(.22,1,.36,1) forwards;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 28px),rgba(0,0,0,.4) calc(100% - 8px),transparent);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 28px),rgba(0,0,0,.4) calc(100% - 8px),transparent)}@keyframes chat-caret-blink{0%,49%{opacity:1}50%,to{opacity:.15}}.chat-streaming>:last-child:after{content:"";display:inline-block;width:7px;height:1em;margin-left:4px;vertical-align:-2px;background:hsl(var(--brand-accent));border-radius:1px;animation:chat-caret-blink .85s steps(2,start) infinite;box-shadow:0 0 6px hsl(var(--brand-accent)/.55)}.chat-streaming>.chat-prose-table-wrap:last-child:after{display:block;margin:.5rem 0 0 2px}@keyframes chat-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.chat-thinking-shimmer{background-image:linear-gradient(90deg,hsl(var(--muted-foreground)) 0,hsl(var(--muted-foreground)) 35%,hsl(var(--brand-accent)) 50%,hsl(var(--muted-foreground)) 65%,hsl(var(--muted-foreground)) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:chat-shimmer 2.2s linear infinite;letter-spacing:-.005em}@keyframes chat-dot-wave{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-3px);opacity:1}}.chat-thinking-dots{display:inline-flex;align-items:flex-end;gap:3px}.chat-thinking-dots>span{width:4px;height:4px;border-radius:50%;background:hsl(var(--brand-accent));animation:chat-dot-wave 1.1s ease-in-out infinite}.chat-thinking-dots>span:nth-child(2){animation-delay:.15s}.chat-thinking-dots>span:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:reduce){.chat-streaming,.chat-thinking-dots>span,.chat-thinking-shimmer{animation:none!important}.chat-streaming{clip-path:none;mask-image:none;-webkit-mask-image:none}}.jsonforms-compact .ss-jsonforms-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.jsonforms-compact .ss-jsonforms-cell{flex:0 0 auto;min-width:0}.jsonforms-compact .ss-jsonforms-textarea{flex:1 1 100%}.jsonforms-compact .compact-field{width:280px;max-width:100%}@media (max-width:480px){.jsonforms-compact .compact-field{width:100%}}.md-editor,.ss-attach{position:relative}.ss-attach{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:8px;background:hsl(var(--muted,0 0% 96%));border:1px solid hsl(var(--border,0 0% 89%));overflow:hidden;min-width:32px;min-height:32px}.ss-attach--image{padding:2px}.ss-attach__img{display:block;-o-object-fit:contain;object-fit:contain;border-radius:6px}.ss-attach__spinner{position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2px solid hsl(var(--muted-foreground,0 0% 40%)/.25);border-top-color:hsl(var(--foreground,0 0% 10%));animation:ss-attach-spin .7s linear infinite;pointer-events:none;z-index:1;box-sizing:border-box}@keyframes ss-attach-spin{to{transform:rotate(1turn)}}.ss-attach__remove{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;border-radius:50%;border:1px solid hsl(var(--border,0 0% 89%));background:hsla(0,0%,100%,.95);color:hsl(var(--muted-foreground,0 0% 40%));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;font:inherit;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease;z-index:2;box-shadow:0 1px 2px rgba(0,0,0,.08)}.ss-attach:hover .ss-attach__remove,.ss-attach__remove:focus-visible{opacity:1}.ss-attach__remove:hover{color:#dc2626;background:#fff}.ss-attach__remove svg{width:12px;height:12px;display:block}.md-editor .ProseMirror{min-height:var(--md-min-height,1.6em);max-height:var(--md-max-height,none);overflow:auto;--md-pad-v:12px;--md-pad-h:14px;padding:var(--md-pad-v) var(--md-pad-h);border:1px solid #e3e3e3;border-radius:10px;line-height:1.6;outline:none}.md-editor .ProseMirror:focus{border-color:#b9d6ff;box-shadow:0 0 0 3px rgba(70,128,255,.15)}.md-editor.md-editor--readonly .ProseMirror{border:none;padding:0;box-shadow:none}.md-editor.md-editor--bare .ProseMirror{border:none;padding:0;box-shadow:none;--md-pad-v:0px;--md-pad-h:0px}.md-editor .ProseMirror a{color:#2563eb;text-decoration:underline;cursor:pointer}.ss-markdown .ss-attach__img[data-error]{background:rgba(220,38,38,.08)}.file-tag{display:inline-block;padding:0 6px;border-radius:6px;border:1px solid #a7b7e9;background:#eef2ff;font-size:.9em;color:#2b3a8a;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:nowrap}.md-editor__ghost{position:absolute;top:var(--md-pad-v);left:var(--md-pad-h);right:var(--md-pad-h);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-editor__dictation-ghost,.md-editor__ghost{color:#9aa2af;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:inherit;line-height:inherit}.md-editor__dictation-ghost{white-space:pre-wrap}.md-editor__dictation-dots{display:inline-flex;align-items:center;gap:3px;margin-left:4px;line-height:0;vertical-align:middle}.md-editor__dictation-dots>span{width:4px;height:4px;border-radius:50%;background:currentColor;animation:chat-dot-wave 1.1s ease-in-out infinite}.md-editor__dictation-dots>span:nth-child(2){animation-delay:.15s}.md-editor__dictation-dots>span:nth-child(3){animation-delay:.3s}.md-editor .ProseMirror>:first-child{margin-top:0}.mention{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:0 6px;color:#0369a1}.md-editor .ss-code-block,.ss-markdown .ss-code-block{border:1px solid var(--border,#e5e7eb);border-radius:8px;background:#0b1020;color:#e6edf3;margin:.75em 0;overflow:hidden}.md-editor .ss-code-block__header,.ss-markdown .ss-code-block__header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:hsla(0,0%,100%,.06);border-bottom:1px solid hsla(0,0%,100%,.08);font-size:12px;line-height:1}.md-editor .ss-code-block__lang,.ss-markdown .ss-code-block__lang{text-transform:uppercase;letter-spacing:.04em;color:#9ba3af;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.md-editor .ss-code-block__actions,.ss-markdown .ss-code-block__actions{display:flex;align-items:center;gap:6px}.md-editor .ss-code-block__copy,.md-editor .ss-code-block__toggle,.ss-markdown .ss-code-block__copy,.ss-markdown .ss-code-block__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.1);color:#e6edf3;border:1px solid hsla(0,0%,100%,.15);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1}.md-editor .ss-code-block__copy:hover,.md-editor .ss-code-block__toggle:hover,.ss-markdown .ss-code-block__copy:hover,.ss-markdown .ss-code-block__toggle:hover{background:hsla(0,0%,100%,.18)}.md-editor .ss-code-block pre,.ss-markdown .ss-code-block pre{margin:0;padding:12px 14px;background:transparent;color:inherit;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre}.md-editor .ss-code-block pre code,.ss-markdown .ss-code-block pre code{background:transparent;color:inherit;padding:0;font:inherit}.md-editor .ss-code-block__iframe,.ss-markdown .ss-code-block__iframe{display:block;width:100%;height:500px;border:0;background:#fff;vertical-align:top;transition:opacity .2s ease}.ss-markdown .ss-code-block__preview{position:relative}.ss-markdown .ss-code-block__loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:1;color:#6b7280;font-size:12px;letter-spacing:.02em;background-color:#fff;background-image:linear-gradient(100deg,transparent 30%,rgba(0,0,0,.05) 50%,transparent 70%);background-size:200% 100%;animation:ss-code-block-shimmer 1.4s ease-in-out infinite}.ss-markdown .ss-code-block__spinner{width:22px;height:22px;border:2.5px solid rgba(0,0,0,.12);border-top-color:rgba(0,0,0,.5);border-radius:50%;animation:ss-code-block-spin .8s linear infinite}@keyframes ss-code-block-spin{to{transform:rotate(1turn)}}@keyframes ss-code-block-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ss-markdown .ss-code-block__loading{animation:none}.ss-markdown .ss-code-block__spinner{animation-duration:1.6s}.ss-markdown .ss-code-block__iframe{transition:none}}.ss-markdown :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.ss-markdown a{color:#2563eb;text-decoration:underline}.ss-markdown details{margin:.75em 0}.ss-markdown summary{cursor:pointer;font-weight:600}.md-editor .ProseMirror :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.md-mention-menu{background:hsl(var(--background,0 0% 100%));color:var(--foreground,#111);border:1px solid var(--border,#e5e7eb);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);min-width:220px;max-width:320px;overflow:hidden;z-index:1000}.md-editor__has-dictation-ghost br.ProseMirror-trailingBreak{display:none}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:mt-0:first-child{margin-top:0}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted)/.4)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted)/.6)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/60:hover{background-color:hsl(var(--secondary)/.6)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary)/.4)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:hsl(var(--primary))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:via-emerald-400\/10:is(.dark *){--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(52,211,153,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-primary\/10:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-400\/10:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,91%,71%,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-primary\/20:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0.2) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}@media not all and (min-width:640px){.max-sm\:hidden{display:none}.max-sm\:max-w-\[180px\]{max-width:180px}}@media (min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>button\]\:h-6>button{height:1.5rem}.\[\&\>button\]\:w-6>button{width:1.5rem}.\[\&\>div\]\:\!block>div{display:block!important}@media(hover:hover){.\[\@media\(hover\:hover\)\]\:opacity-0{opacity:0}.group:hover .\[\@media\(hover\:hover\)\]\:group-hover\:opacity-100{opacity:1}}
3
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-x-0{left:0;right:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-1{bottom:.25rem}.right-1{right:.25rem}.right-2{right:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.z-50{z-index:50}.m-0{margin:0}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-6{margin-bottom:1.5rem}.mb-auto{margin-bottom:auto}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[58px\]{height:58px}.h-full{height:100%}.max-h-60{max-height:15rem}.max-h-72{max-height:18rem}.max-h-\[400px\]{max-height:400px}.max-h-\[60\%\]{max-height:60%}.min-h-0{min-height:0}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.max-w-2xl{max-width:42rem}.max-w-\[9rem\]{max-width:9rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-border\/60{border-color:hsl(var(--border)/.6)}.border-border\/70{border-color:hsl(var(--border)/.7)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/30{border-color:hsl(var(--destructive)/.3)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground)/.3)}.border-primary\/30{border-color:hsl(var(--primary)/.3)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-foreground\/60{border-top-color:hsl(var(--foreground)/.6)}.bg-amber-500\/10{background-color:rgba(245,158,11,.1)}.bg-background{background-color:hsl(var(--background))}.bg-background\/90{background-color:hsl(var(--background)/.9)}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-input{background-color:hsl(var(--input))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted)/.1)}.bg-muted\/20{background-color:hsl(var(--muted)/.2)}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/5{background-color:hsl(var(--muted)/.05)}.bg-muted\/60{background-color:hsl(var(--muted)/.6)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/60{background-color:hsl(var(--secondary)/.6)}.bg-transparent{background-color:transparent}.via-blue-500\/5{--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(59,130,246,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-emerald-500\/5{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(16,185,129,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary\/5{--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-500\/5{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(239,68,68,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-blue-500\/10{--tw-gradient-to:rgba(59,130,246,.1) var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-primary\/10{--tw-gradient-to:hsl(var(--primary)/0.1) var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground)/.8)}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground)/.7)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground)/.8)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.invert{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)}.invert{--tw-invert:invert(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.running{animation-play-state:running}.paused{animation-play-state:paused}@layer chat-ui-defaults{:root{--background:30 25% 99%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--popover:0 0% 100%;--popover-foreground:222 47% 11%;--brand-accent:194.25 90.91% 34.51%;--primary:var(--brand-accent);--primary-foreground:0 0% 100%;--secondary:30 15% 95%;--secondary-foreground:222 47% 11%;--muted:30 15% 95%;--muted-foreground:215 16% 47%;--accent:var(--brand-accent);--accent-foreground:0 0% 100%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:30 15% 90%;--input:30 15% 90%;--ring:var(--brand-accent);--radius:0.75rem;--chat-area-bg:30 25% 99%;--surface-raised:0 0% 100%;--surface-hairline:30 15% 88%;--bubble-user-bg:30 15% 95%;--bubble-user-fg:222 47% 18%;--composer-shadow:0 8px 24px hsla(30,15%,70%,.18),0 1px 2px hsla(30,15%,70%,.1);--scrollbar-thumb:30 10% 78%;--star:40 90% 55%;--notification:0 80% 55%;--sidebar-background:220 43% 7%;--sidebar-foreground:0 0% 98%;--sidebar-primary:189 81% 49%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:232 17% 18%;--sidebar-accent-foreground:0 0% 98%;--sidebar-border:232 17% 20%;--sidebar-ring:189 81% 49%}.dark{--background:222 35% 7%;--foreground:210 20% 92%;--card:224 30% 12%;--card-foreground:210 20% 92%;--popover:224 30% 12%;--popover-foreground:210 20% 92%;--brand-accent:189 81% 49%;--primary:var(--brand-accent);--primary-foreground:0 0% 100%;--secondary:224 30% 12%;--secondary-foreground:210 20% 92%;--muted:222 25% 10%;--muted-foreground:215 16% 60%;--accent:var(--brand-accent);--accent-foreground:0 0% 100%;--destructive:0 63% 31%;--destructive-foreground:210 40% 98%;--border:222 20% 22%;--input:222 20% 22%;--ring:var(--brand-accent);--radius:0.75rem;--chat-area-bg:222 35% 7%;--surface-raised:224 30% 12%;--surface-hairline:222 20% 25%;--bubble-user-bg:224 30% 12%;--bubble-user-fg:210 20% 88%;--composer-shadow:0 8px 24px rgba(0,0,0,.35);--scrollbar-thumb:222 20% 26%}}.chat-main{background-color:hsl(var(--chat-area-bg))}.chat-scroll{mask-image:linear-gradient(180deg,transparent 0,#000 32px,#000 calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 32px,#000 calc(100% - 12px),transparent)}.chat-column{max-width:48rem;margin-left:auto;margin-right:auto}.chat-turns>*+*{margin-top:1.75rem}.chat-bubble-user{background-color:hsl(var(--bubble-user-bg));border:1px solid hsl(var(--surface-hairline));border-radius:1rem;border-top-right-radius:.25rem;box-shadow:0 1px 2px hsla(30,15%,80%,.25);color:hsl(var(--bubble-user-fg));padding:.875rem 1.25rem}.dark .chat-bubble-user{box-shadow:0 1px 2px rgba(0,0,0,.3)}.chat-composer{background-color:hsl(var(--surface-raised));border:1px solid hsl(var(--surface-hairline));border-radius:1rem;box-shadow:var(--composer-shadow);transition:border-color .15s ease-out,box-shadow .15s ease-out}.chat-composer:focus-within{border-color:hsl(var(--brand-accent)/.5);box-shadow:0 8px 24px hsl(var(--brand-accent)/.1),0 0 0 4px hsl(var(--brand-accent)/.08)}.dark .chat-composer:focus-within{box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 0 4px hsl(var(--brand-accent)/.12)}.chat-send{background-color:hsl(var(--brand-accent));color:#fff;box-shadow:0 2px 8px hsl(var(--brand-accent)/.35)}.chat-send:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));box-shadow:none}.ss-composer__actions .jsonforms-compact .ss-jsonforms-grid{gap:4px;align-items:center}.ss-composer__actions .jsonforms-compact .compact-field,.ss-composer__actions .jsonforms-compact .ss-jsonforms-textarea{width:auto;flex:0 0 auto;min-width:0}.ss-composer__actions .jsonforms-compact .w-full{width:auto}.ss-composer__actions .jsonforms-compact .justify-center{justify-content:flex-start}.ss-variables-panel .jsonforms-compact .ss-jsonforms-grid{flex-direction:column;align-items:stretch;gap:12px}.ss-variables-panel .jsonforms-compact .compact-field,.ss-variables-panel .jsonforms-compact .ss-jsonforms-cell{width:100%}.control.root input,.control.root select,.control.root textarea{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background-color:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:.5rem;outline:none;transition:border-color .15s ease-out,box-shadow .15s ease-out}.control.root input:focus,.control.root select:focus,.control.root textarea:focus{border-color:hsl(var(--brand-accent)/.5);box-shadow:0 0 0 3px hsl(var(--brand-accent)/.12)}.control.root input:disabled,.control.root select:disabled,.control.root textarea:disabled{opacity:.6;cursor:not-allowed}.control.root input.invalid,.control.root select.invalid,.control.root textarea.invalid{border-color:hsl(var(--destructive))}.control.root .validation.input-description{margin-top:.25rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.chat-prose{font-size:.875rem;line-height:1.65;color:hsl(var(--foreground));overflow-wrap:break-word;word-break:break-word}.chat-prose>*+*{margin-top:.75rem}.chat-prose p{margin:0}.chat-prose strong{color:hsl(var(--foreground));font-weight:600}.chat-prose p:has(>strong:only-child){margin-top:1.1rem;margin-bottom:.15rem}.chat-prose p:has(>strong:only-child)>strong{display:inline-block;font-size:.875rem;font-weight:600;letter-spacing:-.005em}.chat-prose h1,.chat-prose h2,.chat-prose h3,.chat-prose h4{font-size:.875rem;font-weight:600;letter-spacing:-.005em;color:hsl(var(--foreground));margin-top:1.1rem;margin-bottom:.15rem;line-height:1.4}.chat-prose ol,.chat-prose ul{margin:.35rem 0 0;padding-left:0;list-style:none}.chat-prose ol+*,.chat-prose ul+*{margin-top:.85rem}.chat-prose li{position:relative;padding-left:1.5rem;margin-top:.2rem;line-height:1.5}.chat-prose li:first-child{margin-top:0}.chat-prose ul>li:before{content:"";position:absolute;left:.5rem;top:.6em;width:3px;height:3px;border-radius:50%;background:hsl(var(--muted-foreground))}.chat-prose ol{counter-reset:chat-ol}.chat-prose ol>li{counter-increment:chat-ol}.chat-prose ol>li:before{content:counter(chat-ol) ".";position:absolute;left:0;top:0;font-size:.875rem;font-weight:500;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));width:1.1rem;text-align:right;line-height:1.5}.chat-prose li>ol,.chat-prose li>ul{margin-top:.2rem}.chat-prose-table-wrap{margin:1rem 0;border-radius:12px;border:1px solid hsl(var(--border));background:hsl(var(--card));overflow-x:auto;max-width:100%;box-shadow:0 1px 2px hsla(30,15%,80%,.18)}.chat-prose table{width:100%;border-collapse:collapse;font-size:.8125rem}.chat-prose th{background:hsl(var(--brand-accent)/.07);font-weight:600;text-align:left;border-bottom:1px solid hsl(var(--border));letter-spacing:-.005em}.chat-prose td,.chat-prose th{color:hsl(var(--foreground));padding:.625rem .875rem}.chat-prose td{border-bottom:1px solid hsl(var(--border)/.6)}.chat-prose tr:last-child td{border-bottom:none}.chat-prose tr:hover td{background:hsl(var(--brand-accent)/.03)}.dark .chat-prose-table-wrap{box-shadow:0 1px 2px rgba(0,0,0,.35)}.chat-prose :not(pre)>code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125em;padding:.125rem .375rem;border-radius:4px;background:hsl(var(--brand-accent)/.08);color:hsl(var(--brand-accent));border:1px solid hsl(var(--brand-accent)/.15)}.chat-prose pre{margin:1rem 0;padding:1rem 1.125rem;border-radius:12px;background:#0c0f18;border:1px solid #2d3443;overflow-x:auto;max-width:100%;font-size:.8125rem;line-height:1.6}.chat-prose pre code{background:none;border:none;padding:0;color:#dae0e7;font-size:inherit;white-space:pre}.chat-prose a{color:hsl(var(--brand-accent));text-decoration:none;border-bottom:1px solid hsl(var(--brand-accent)/.3);transition:border-color .15s ease-out}.chat-prose a:hover{border-bottom-color:hsl(var(--brand-accent))}.chat-prose blockquote{margin:1rem 0;padding:.5rem 0 .5rem 1rem;border-left:2px solid hsl(var(--brand-accent)/.4);color:hsl(var(--muted-foreground));font-style:italic}.chat-prose hr{border:none;border-top:1px solid hsl(var(--border));margin:1.5rem 0}@keyframes chat-stream-clip{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.chat-streaming{animation:chat-stream-clip 1.8s cubic-bezier(.22,1,.36,1) forwards;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 28px),rgba(0,0,0,.4) calc(100% - 8px),transparent);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 28px),rgba(0,0,0,.4) calc(100% - 8px),transparent)}@keyframes chat-caret-blink{0%,49%{opacity:1}50%,to{opacity:.15}}.chat-streaming>:last-child:after{content:"";display:inline-block;width:7px;height:1em;margin-left:4px;vertical-align:-2px;background:hsl(var(--brand-accent));border-radius:1px;animation:chat-caret-blink .85s steps(2,start) infinite;box-shadow:0 0 6px hsl(var(--brand-accent)/.55)}.chat-streaming>.chat-prose-table-wrap:last-child:after{display:block;margin:.5rem 0 0 2px}@keyframes chat-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.chat-thinking-shimmer{background-image:linear-gradient(90deg,hsl(var(--muted-foreground)) 0,hsl(var(--muted-foreground)) 35%,hsl(var(--brand-accent)) 50%,hsl(var(--muted-foreground)) 65%,hsl(var(--muted-foreground)) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:chat-shimmer 2.2s linear infinite;letter-spacing:-.005em}@keyframes chat-dot-wave{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-3px);opacity:1}}.chat-thinking-dots{display:inline-flex;align-items:flex-end;gap:3px}.chat-thinking-dots>span{width:4px;height:4px;border-radius:50%;background:hsl(var(--brand-accent));animation:chat-dot-wave 1.1s ease-in-out infinite}.chat-thinking-dots>span:nth-child(2){animation-delay:.15s}.chat-thinking-dots>span:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:reduce){.chat-streaming,.chat-thinking-dots>span,.chat-thinking-shimmer{animation:none!important}.chat-streaming{clip-path:none;mask-image:none;-webkit-mask-image:none}}.jsonforms-compact .ss-jsonforms-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.jsonforms-compact .ss-jsonforms-cell{flex:0 0 auto;min-width:0}.jsonforms-compact .ss-jsonforms-textarea{flex:1 1 100%}.jsonforms-compact .compact-field{width:280px;max-width:100%}@media (max-width:480px){.jsonforms-compact .compact-field{width:100%}}.md-editor,.ss-attach{position:relative}.ss-attach{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:8px;background:hsl(var(--muted,0 0% 96%));border:1px solid hsl(var(--border,0 0% 89%));overflow:hidden;min-width:32px;min-height:32px}.ss-attach--image{padding:2px}.ss-attach__img{display:block;-o-object-fit:contain;object-fit:contain;border-radius:6px}.ss-attach__spinner{position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2px solid hsl(var(--muted-foreground,0 0% 40%)/.25);border-top-color:hsl(var(--foreground,0 0% 10%));animation:ss-attach-spin .7s linear infinite;pointer-events:none;z-index:1;box-sizing:border-box}@keyframes ss-attach-spin{to{transform:rotate(1turn)}}.ss-attach__remove{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;border-radius:50%;border:1px solid hsl(var(--border,0 0% 89%));background:hsla(0,0%,100%,.95);color:hsl(var(--muted-foreground,0 0% 40%));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;font:inherit;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease;z-index:2;box-shadow:0 1px 2px rgba(0,0,0,.08)}.ss-attach:hover .ss-attach__remove,.ss-attach__remove:focus-visible{opacity:1}.ss-attach__remove:hover{color:#dc2626;background:#fff}.ss-attach__remove svg{width:12px;height:12px;display:block}.md-editor .ProseMirror{min-height:var(--md-min-height,1.6em);max-height:var(--md-max-height,none);overflow:auto;--md-pad-v:12px;--md-pad-h:14px;padding:var(--md-pad-v) var(--md-pad-h);border:1px solid #e3e3e3;border-radius:10px;line-height:1.6;outline:none}.md-editor .ProseMirror:focus{border-color:#b9d6ff;box-shadow:0 0 0 3px rgba(70,128,255,.15)}.md-editor.md-editor--readonly .ProseMirror{border:none;padding:0;box-shadow:none}.md-editor.md-editor--bare .ProseMirror{border:none;padding:0;box-shadow:none;--md-pad-v:0px;--md-pad-h:0px}.md-editor .ProseMirror a{color:#2563eb;text-decoration:underline;cursor:pointer}.ss-markdown .ss-attach__img[data-error]{background:rgba(220,38,38,.08)}.file-tag{display:inline-block;padding:0 6px;border-radius:6px;border:1px solid #a7b7e9;background:#eef2ff;font-size:.9em;color:#2b3a8a;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:nowrap}.md-editor__ghost{position:absolute;top:var(--md-pad-v);left:var(--md-pad-h);right:var(--md-pad-h);color:#9aa2af;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;line-height:inherit}.md-editor .ProseMirror>:first-child{margin-top:0}.mention{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:0 6px;color:#0369a1}.md-editor .ss-code-block,.ss-markdown .ss-code-block{border:1px solid var(--border,#e5e7eb);border-radius:8px;background:#0b1020;color:#e6edf3;margin:.75em 0;overflow:hidden}.md-editor .ss-code-block__header,.ss-markdown .ss-code-block__header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:hsla(0,0%,100%,.06);border-bottom:1px solid hsla(0,0%,100%,.08);font-size:12px;line-height:1}.md-editor .ss-code-block__lang,.ss-markdown .ss-code-block__lang{text-transform:uppercase;letter-spacing:.04em;color:#9ba3af;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.md-editor .ss-code-block__actions,.ss-markdown .ss-code-block__actions{display:flex;align-items:center;gap:6px}.md-editor .ss-code-block__copy,.md-editor .ss-code-block__toggle,.ss-markdown .ss-code-block__copy,.ss-markdown .ss-code-block__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.1);color:#e6edf3;border:1px solid hsla(0,0%,100%,.15);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1}.md-editor .ss-code-block__copy:hover,.md-editor .ss-code-block__toggle:hover,.ss-markdown .ss-code-block__copy:hover,.ss-markdown .ss-code-block__toggle:hover{background:hsla(0,0%,100%,.18)}.md-editor .ss-code-block pre,.ss-markdown .ss-code-block pre{margin:0;padding:12px 14px;background:transparent;color:inherit;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre}.md-editor .ss-code-block pre code,.ss-markdown .ss-code-block pre code{background:transparent;color:inherit;padding:0;font:inherit}.md-editor .ss-code-block__iframe,.ss-markdown .ss-code-block__iframe{display:block;width:100%;height:500px;border:0;background:#fff;vertical-align:top;transition:opacity .2s ease}.ss-markdown .ss-code-block__preview{position:relative}.ss-markdown .ss-code-block__loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:1;color:#6b7280;font-size:12px;letter-spacing:.02em;background-color:#fff;background-image:linear-gradient(100deg,transparent 30%,rgba(0,0,0,.05) 50%,transparent 70%);background-size:200% 100%;animation:ss-code-block-shimmer 1.4s ease-in-out infinite}.ss-markdown .ss-code-block__spinner{width:22px;height:22px;border:2.5px solid rgba(0,0,0,.12);border-top-color:rgba(0,0,0,.5);border-radius:50%;animation:ss-code-block-spin .8s linear infinite}@keyframes ss-code-block-spin{to{transform:rotate(1turn)}}@keyframes ss-code-block-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ss-markdown .ss-code-block__loading{animation:none}.ss-markdown .ss-code-block__spinner{animation-duration:1.6s}.ss-markdown .ss-code-block__iframe{transition:none}}.ss-markdown :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.ss-markdown a{color:#2563eb;text-decoration:underline}.ss-markdown details{margin:.75em 0}.ss-markdown summary{cursor:pointer;font-weight:600}.md-editor .ProseMirror :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.md-mention-menu{background:hsl(var(--background,0 0% 100%));color:var(--foreground,#111);border:1px solid var(--border,#e5e7eb);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);min-width:220px;max-width:320px;overflow:hidden;z-index:1000}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:mt-0:first-child{margin-top:0}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted)/.4)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted)/.6)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/60:hover{background-color:hsl(var(--secondary)/.6)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary)/.4)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:hsl(var(--primary))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:via-emerald-400\/10:is(.dark *){--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(52,211,153,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-primary\/10:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-400\/10:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,91%,71%,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-primary\/20:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0.2) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}@media not all and (min-width:640px){.max-sm\:hidden{display:none}.max-sm\:max-w-\[180px\]{max-width:180px}}@media (min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>button\]\:h-6>button{height:1.5rem}.\[\&\>button\]\:w-6>button{width:1.5rem}.\[\&\>div\]\:\!block>div{display:block!important}@media(hover:hover){.\[\@media\(hover\:hover\)\]\:opacity-0{opacity:0}.group:hover .\[\@media\(hover\:hover\)\]\:group-hover\:opacity-100{opacity:1}}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shared/markdown/styles.css","../src/chat-variables/VariablesForm.css"],"sourcesContent":["/* Base editor container */\n.md-editor {\n position: relative;\n}\n\n.ss-attach {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n border-radius: 8px;\n background: hsl(var(--muted, 0 0% 96%));\n border: 1px solid hsl(var(--border, 0 0% 89%));\n overflow: hidden;\n min-width: 32px;\n min-height: 32px;\n}\n\n.ss-attach--image {\n padding: 2px;\n}\n\n.ss-attach__img {\n display: block;\n -o-object-fit: contain;\n object-fit: contain;\n border-radius: 6px;\n}\n\n/* Loading spinner overlay shared by Milkdown node view and read-only renderer */\n.ss-attach__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 22px;\n height: 22px;\n margin: -11px 0 0 -11px;\n border-radius: 50%;\n border: 2px solid hsl(var(--muted-foreground, 0 0% 40%) / 0.25);\n border-top-color: hsl(var(--foreground, 0 0% 10%));\n animation: ss-attach-spin 0.7s linear infinite;\n pointer-events: none;\n z-index: 1;\n box-sizing: border-box;\n}\n\n@keyframes ss-attach-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Remove (X) button — only present in editable Milkdown node view. */\n.ss-attach__remove {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 20px;\n height: 20px;\n padding: 0;\n border-radius: 50%;\n border: 1px solid hsl(var(--border, 0 0% 89%));\n background: rgba(255, 255, 255, 0.95);\n color: hsl(var(--muted-foreground, 0 0% 40%));\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n font: inherit;\n opacity: 0;\n transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;\n z-index: 2;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);\n}\n\n.ss-attach:hover .ss-attach__remove,\n.ss-attach__remove:focus-visible {\n opacity: 1;\n}\n\n.ss-attach__remove:hover {\n color: #dc2626;\n background: #fff;\n}\n\n.ss-attach__remove svg {\n width: 12px;\n height: 12px;\n display: block;\n}\n\n.md-editor .ProseMirror {\n /* Height controls via CSS variables set on the root element */\n min-height: var(--md-min-height, 1.6em);\n max-height: var(--md-max-height, none);\n overflow: auto; /* will only scroll when max-height is exceeded */\n /* Expose padding as variables for consistent placeholder alignment */\n --md-pad-v: 12px;\n --md-pad-h: 14px;\n padding: var(--md-pad-v) var(--md-pad-h);\n border: 1px solid #e3e3e3;\n border-radius: 10px;\n line-height: 1.6;\n outline: none;\n}\n\n/* Focus ring */\n.md-editor .ProseMirror:focus {\n border-color: #b9d6ff;\n box-shadow: 0 0 0 3px rgba(70, 128, 255, 0.15);\n}\n\n/* Readonly appearance: remove border and padding to blend into bubbles */\n.md-editor.md-editor--readonly .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n}\n\n/* Bare composer appearance (no border or padding regardless of editable) */\n.md-editor.md-editor--bare .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n /* Ensure placeholder aligns to the start of content when bare */\n --md-pad-v: 0px;\n --md-pad-h: 0px;\n}\n\n/* Links (autolinked bare URLs and markdown-syntax links) */\n.md-editor .ProseMirror a {\n color: #2563eb;\n text-decoration: underline;\n cursor: pointer;\n}\n\n/* Read-only: error state for ss-file image attachments. The SsImage renderer\n sets `data-error` when the file resolver hook rejects. */\n.ss-markdown .ss-attach__img[data-error] {\n background: rgba(220, 38, 38, 0.08);\n}\n\n/* Custom inline file-tag */\n.file-tag {\n display: inline-block;\n padding: 0 6px;\n border-radius: 6px;\n border: 1px solid #a7b7e9;\n background: #eef2ff;\n font-size: 0.9em;\n color: #2b3a8a;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text; /* allow selection across it */\n white-space: nowrap;\n}\n\n/* Ghost placeholder for empty editable state */\n.md-editor__ghost {\n position: absolute;\n top: var(--md-pad-v); /* align with ProseMirror padding */\n left: var(--md-pad-h); /* align with ProseMirror padding */\n right: var(--md-pad-h);\n color: #9aa2af;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font: inherit;\n line-height: inherit;\n}\n\n/* Normalize top margin so caret height is consistent when empty */\n.md-editor .ProseMirror > :first-child {\n margin-top: 0;\n}\n\n/* Mention (placeholder) – tweak as desired */\n.mention {\n background: #f0f9ff;\n border: 1px solid #bae6fd;\n border-radius: 6px;\n padding: 0 6px;\n color: #0369a1;\n}\n\n/* Code block wrapper — shared by the Milkdown editor node view\n (`.md-editor` scope) and the react-markdown read-only renderer\n (`.ss-markdown` scope). Keep selectors in sync. */\n.md-editor .ss-code-block,\n.ss-markdown .ss-code-block {\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n background: #0b1020;\n color: #e6edf3;\n margin: 0.75em 0;\n overflow: hidden;\n}\n\n.md-editor .ss-code-block__header,\n.ss-markdown .ss-code-block__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n background: rgba(255, 255, 255, 0.06);\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n font-size: 12px;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__lang,\n.ss-markdown .ss-code-block__lang {\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: #9ba3af;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n}\n\n.md-editor .ss-code-block__actions,\n.ss-markdown .ss-code-block__actions {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.md-editor .ss-code-block__toggle,\n.md-editor .ss-code-block__copy,\n.ss-markdown .ss-code-block__toggle,\n.ss-markdown .ss-code-block__copy {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: rgba(255, 255, 255, 0.1);\n color: #e6edf3;\n border: 1px solid rgba(255, 255, 255, 0.15);\n border-radius: 6px;\n padding: 4px 10px;\n font-size: 12px;\n cursor: pointer;\n font-family: inherit;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__toggle:hover,\n.md-editor .ss-code-block__copy:hover,\n.ss-markdown .ss-code-block__toggle:hover,\n.ss-markdown .ss-code-block__copy:hover {\n background: rgba(255, 255, 255, 0.18);\n}\n\n.md-editor .ss-code-block pre,\n.ss-markdown .ss-code-block pre {\n margin: 0;\n padding: 12px 14px;\n background: transparent;\n color: inherit;\n overflow-x: auto;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 13px;\n line-height: 1.5;\n white-space: pre;\n}\n\n.md-editor .ss-code-block pre code,\n.ss-markdown .ss-code-block pre code {\n background: transparent;\n color: inherit;\n padding: 0;\n font: inherit;\n}\n\n.md-editor .ss-code-block__iframe,\n.ss-markdown .ss-code-block__iframe {\n display: block;\n width: 100%;\n /* Initial height before the height reporter postMessages in the real size\n (capped in JS by MAX_IFRAME_HEIGHT). */\n height: 500px;\n border: 0;\n background: #ffffff;\n /* Kill the baseline gap under replaced elements (iframe is inline by\n default), which otherwise adds ~4px of empty space below the preview. */\n vertical-align: top;\n /* Fade in once the rendered preview replaces the loading shimmer. */\n transition: opacity 0.2s ease;\n}\n\n/* Loading state shown while the previewed HTML is still streaming in or the\n iframe hasn't reported its measured height yet. Sits on a white backdrop so\n there's no dark flash before a (white) chart appears, and is covered by an\n absolutely-positioned shimmer so the box keeps a stable size. */\n.ss-markdown .ss-code-block__preview {\n position: relative;\n}\n\n.ss-markdown .ss-code-block__loading {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n z-index: 1;\n color: #6b7280;\n font-size: 12px;\n letter-spacing: 0.02em;\n background-color: #ffffff;\n background-image: linear-gradient(\n 100deg,\n rgba(0, 0, 0, 0) 30%,\n rgba(0, 0, 0, 0.05) 50%,\n rgba(0, 0, 0, 0) 70%\n );\n background-size: 200% 100%;\n animation: ss-code-block-shimmer 1.4s ease-in-out infinite;\n}\n\n.ss-markdown .ss-code-block__spinner {\n width: 22px;\n height: 22px;\n border: 2.5px solid rgba(0, 0, 0, 0.12);\n border-top-color: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n animation: ss-code-block-spin 0.8s linear infinite;\n}\n\n@keyframes ss-code-block-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes ss-code-block-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ss-markdown .ss-code-block__loading {\n animation: none;\n }\n .ss-markdown .ss-code-block__spinner {\n animation-duration: 1.6s;\n }\n .ss-markdown .ss-code-block__iframe {\n transition: none;\n }\n}\n\n/* Inline code in read-only messages — matches the Milkdown editor's\n inline code treatment. */\n.ss-markdown :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Read-only: anchors should feel clickable. */\n.ss-markdown a {\n color: #2563eb;\n text-decoration: underline;\n}\n\n/* Read-only: give <details>/<summary> sensible defaults. Most browser UAs\n already render the triangle, but we tidy spacing. */\n.ss-markdown details {\n margin: 0.75em 0;\n}\n\n.ss-markdown summary {\n cursor: pointer;\n font-weight: 600;\n}\n\n/* Inline code */\n.md-editor .ProseMirror :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Mentions popup */\n.md-mention-menu {\n background: hsl(var(--background, 0 0% 100%));\n color: var(--foreground, #111);\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);\n min-width: 220px;\n max-width: 320px;\n overflow: hidden;\n z-index: 1000;\n}\n\n/* Provisional dictation text at the caret. Display-only: it is a ProseMirror\n widget decoration, never document content, so it cannot be selected, copied,\n or serialised into the sent message. It reads grey while the service is still\n revising, and is replaced by real black text when the phrase finalises. */\n.md-editor__dictation-ghost {\n color: #9aa2af;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n white-space: pre-wrap;\n font: inherit;\n /* `font: inherit` does not reliably carry line-height, and a span whose\n line-height differs from the editor's grows the line box the moment ghost\n text appears - which reads as the composer jumping taller mid-sentence.\n The sibling .md-editor__ghost rule sets this for the same reason. */\n line-height: inherit;\n}\n.md-editor__dictation-dots {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n margin-left: 4px;\n /* Contribute no leading of its own, and centre the 4px dots on the text\n rather than hanging them off the baseline, so the dots cannot make the\n line taller either. */\n line-height: 0;\n vertical-align: middle;\n}\n.md-editor__dictation-dots > span {\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background: currentColor;\n animation: chat-dot-wave 1.1s ease-in-out infinite;\n}\n.md-editor__dictation-dots > span:nth-child(2) {\n animation-delay: 0.15s;\n}\n.md-editor__dictation-dots > span:nth-child(3) {\n animation-delay: 0.3s;\n}\n\n/* While provisional dictation text is showing, hide ProseMirror's empty-block\n placeholder break. The ghost is a decoration, not document content, so the\n block still counts as empty and keeps its trailing <br> - which would put the\n ghost on one line and the break on the next, growing the composer by a line. */\n.md-editor__has-dictation-ghost br.ProseMirror-trailingBreak {\n display: none;\n}\n","/* Horizontal wrap layout for variables (no forced stretching).\n The gap matches the reference composer's action bar, where the pills sit 4px\n apart; the larger row gap only shows once they wrap onto a second line. */\n.jsonforms-compact .ss-jsonforms-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 6px 4px;\n align-items: center;\n}\n\n/* Each variable is its own flex item */\n.jsonforms-compact .ss-jsonforms-cell {\n flex: 0 0 auto;\n min-width: 0;\n}\n\n/* Let long/tall fields take a full row when present */\n.jsonforms-compact .ss-jsonforms-textarea {\n flex: 1 1 100%;\n}\n\n/* Keep compact fields at a comfortable fixed width */\n.jsonforms-compact .compact-field {\n width: 280px;\n max-width: 100%;\n}\n\n/* On very small screens, let it shrink gracefully */\n@media (max-width: 480px) {\n .jsonforms-compact .compact-field {\n width: 100%; /* full width on phones */\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/shared/markdown/styles.css","../src/chat-variables/VariablesForm.css"],"sourcesContent":["/* Base editor container */\n.md-editor {\n position: relative;\n}\n\n.ss-attach {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n border-radius: 8px;\n background: hsl(var(--muted, 0 0% 96%));\n border: 1px solid hsl(var(--border, 0 0% 89%));\n overflow: hidden;\n min-width: 32px;\n min-height: 32px;\n}\n\n.ss-attach--image {\n padding: 2px;\n}\n\n.ss-attach__img {\n display: block;\n -o-object-fit: contain;\n object-fit: contain;\n border-radius: 6px;\n}\n\n/* Loading spinner overlay shared by Milkdown node view and read-only renderer */\n.ss-attach__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 22px;\n height: 22px;\n margin: -11px 0 0 -11px;\n border-radius: 50%;\n border: 2px solid hsl(var(--muted-foreground, 0 0% 40%) / 0.25);\n border-top-color: hsl(var(--foreground, 0 0% 10%));\n animation: ss-attach-spin 0.7s linear infinite;\n pointer-events: none;\n z-index: 1;\n box-sizing: border-box;\n}\n\n@keyframes ss-attach-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Remove (X) button — only present in editable Milkdown node view. */\n.ss-attach__remove {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 20px;\n height: 20px;\n padding: 0;\n border-radius: 50%;\n border: 1px solid hsl(var(--border, 0 0% 89%));\n background: rgba(255, 255, 255, 0.95);\n color: hsl(var(--muted-foreground, 0 0% 40%));\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n font: inherit;\n opacity: 0;\n transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;\n z-index: 2;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);\n}\n\n.ss-attach:hover .ss-attach__remove,\n.ss-attach__remove:focus-visible {\n opacity: 1;\n}\n\n.ss-attach__remove:hover {\n color: #dc2626;\n background: #fff;\n}\n\n.ss-attach__remove svg {\n width: 12px;\n height: 12px;\n display: block;\n}\n\n.md-editor .ProseMirror {\n /* Height controls via CSS variables set on the root element */\n min-height: var(--md-min-height, 1.6em);\n max-height: var(--md-max-height, none);\n overflow: auto; /* will only scroll when max-height is exceeded */\n /* Expose padding as variables for consistent placeholder alignment */\n --md-pad-v: 12px;\n --md-pad-h: 14px;\n padding: var(--md-pad-v) var(--md-pad-h);\n border: 1px solid #e3e3e3;\n border-radius: 10px;\n line-height: 1.6;\n outline: none;\n}\n\n/* Focus ring */\n.md-editor .ProseMirror:focus {\n border-color: #b9d6ff;\n box-shadow: 0 0 0 3px rgba(70, 128, 255, 0.15);\n}\n\n/* Readonly appearance: remove border and padding to blend into bubbles */\n.md-editor.md-editor--readonly .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n}\n\n/* Bare composer appearance (no border or padding regardless of editable) */\n.md-editor.md-editor--bare .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n /* Ensure placeholder aligns to the start of content when bare */\n --md-pad-v: 0px;\n --md-pad-h: 0px;\n}\n\n/* Links (autolinked bare URLs and markdown-syntax links) */\n.md-editor .ProseMirror a {\n color: #2563eb;\n text-decoration: underline;\n cursor: pointer;\n}\n\n/* Read-only: error state for ss-file image attachments. The SsImage renderer\n sets `data-error` when the file resolver hook rejects. */\n.ss-markdown .ss-attach__img[data-error] {\n background: rgba(220, 38, 38, 0.08);\n}\n\n/* Custom inline file-tag */\n.file-tag {\n display: inline-block;\n padding: 0 6px;\n border-radius: 6px;\n border: 1px solid #a7b7e9;\n background: #eef2ff;\n font-size: 0.9em;\n color: #2b3a8a;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text; /* allow selection across it */\n white-space: nowrap;\n}\n\n/* Ghost placeholder for empty editable state */\n.md-editor__ghost {\n position: absolute;\n top: var(--md-pad-v); /* align with ProseMirror padding */\n left: var(--md-pad-h); /* align with ProseMirror padding */\n right: var(--md-pad-h);\n color: #9aa2af;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font: inherit;\n line-height: inherit;\n}\n\n/* Normalize top margin so caret height is consistent when empty */\n.md-editor .ProseMirror > :first-child {\n margin-top: 0;\n}\n\n/* Mention (placeholder) – tweak as desired */\n.mention {\n background: #f0f9ff;\n border: 1px solid #bae6fd;\n border-radius: 6px;\n padding: 0 6px;\n color: #0369a1;\n}\n\n/* Code block wrapper — shared by the Milkdown editor node view\n (`.md-editor` scope) and the react-markdown read-only renderer\n (`.ss-markdown` scope). Keep selectors in sync. */\n.md-editor .ss-code-block,\n.ss-markdown .ss-code-block {\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n background: #0b1020;\n color: #e6edf3;\n margin: 0.75em 0;\n overflow: hidden;\n}\n\n.md-editor .ss-code-block__header,\n.ss-markdown .ss-code-block__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n background: rgba(255, 255, 255, 0.06);\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n font-size: 12px;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__lang,\n.ss-markdown .ss-code-block__lang {\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: #9ba3af;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n}\n\n.md-editor .ss-code-block__actions,\n.ss-markdown .ss-code-block__actions {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.md-editor .ss-code-block__toggle,\n.md-editor .ss-code-block__copy,\n.ss-markdown .ss-code-block__toggle,\n.ss-markdown .ss-code-block__copy {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: rgba(255, 255, 255, 0.1);\n color: #e6edf3;\n border: 1px solid rgba(255, 255, 255, 0.15);\n border-radius: 6px;\n padding: 4px 10px;\n font-size: 12px;\n cursor: pointer;\n font-family: inherit;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__toggle:hover,\n.md-editor .ss-code-block__copy:hover,\n.ss-markdown .ss-code-block__toggle:hover,\n.ss-markdown .ss-code-block__copy:hover {\n background: rgba(255, 255, 255, 0.18);\n}\n\n.md-editor .ss-code-block pre,\n.ss-markdown .ss-code-block pre {\n margin: 0;\n padding: 12px 14px;\n background: transparent;\n color: inherit;\n overflow-x: auto;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 13px;\n line-height: 1.5;\n white-space: pre;\n}\n\n.md-editor .ss-code-block pre code,\n.ss-markdown .ss-code-block pre code {\n background: transparent;\n color: inherit;\n padding: 0;\n font: inherit;\n}\n\n.md-editor .ss-code-block__iframe,\n.ss-markdown .ss-code-block__iframe {\n display: block;\n width: 100%;\n /* Initial height before the height reporter postMessages in the real size\n (capped in JS by MAX_IFRAME_HEIGHT). */\n height: 500px;\n border: 0;\n background: #ffffff;\n /* Kill the baseline gap under replaced elements (iframe is inline by\n default), which otherwise adds ~4px of empty space below the preview. */\n vertical-align: top;\n /* Fade in once the rendered preview replaces the loading shimmer. */\n transition: opacity 0.2s ease;\n}\n\n/* Loading state shown while the previewed HTML is still streaming in or the\n iframe hasn't reported its measured height yet. Sits on a white backdrop so\n there's no dark flash before a (white) chart appears, and is covered by an\n absolutely-positioned shimmer so the box keeps a stable size. */\n.ss-markdown .ss-code-block__preview {\n position: relative;\n}\n\n.ss-markdown .ss-code-block__loading {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n z-index: 1;\n color: #6b7280;\n font-size: 12px;\n letter-spacing: 0.02em;\n background-color: #ffffff;\n background-image: linear-gradient(\n 100deg,\n rgba(0, 0, 0, 0) 30%,\n rgba(0, 0, 0, 0.05) 50%,\n rgba(0, 0, 0, 0) 70%\n );\n background-size: 200% 100%;\n animation: ss-code-block-shimmer 1.4s ease-in-out infinite;\n}\n\n.ss-markdown .ss-code-block__spinner {\n width: 22px;\n height: 22px;\n border: 2.5px solid rgba(0, 0, 0, 0.12);\n border-top-color: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n animation: ss-code-block-spin 0.8s linear infinite;\n}\n\n@keyframes ss-code-block-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes ss-code-block-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ss-markdown .ss-code-block__loading {\n animation: none;\n }\n .ss-markdown .ss-code-block__spinner {\n animation-duration: 1.6s;\n }\n .ss-markdown .ss-code-block__iframe {\n transition: none;\n }\n}\n\n/* Inline code in read-only messages — matches the Milkdown editor's\n inline code treatment. */\n.ss-markdown :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Read-only: anchors should feel clickable. */\n.ss-markdown a {\n color: #2563eb;\n text-decoration: underline;\n}\n\n/* Read-only: give <details>/<summary> sensible defaults. Most browser UAs\n already render the triangle, but we tidy spacing. */\n.ss-markdown details {\n margin: 0.75em 0;\n}\n\n.ss-markdown summary {\n cursor: pointer;\n font-weight: 600;\n}\n\n/* Inline code */\n.md-editor .ProseMirror :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Mentions popup */\n.md-mention-menu {\n background: hsl(var(--background, 0 0% 100%));\n color: var(--foreground, #111);\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);\n min-width: 220px;\n max-width: 320px;\n overflow: hidden;\n z-index: 1000;\n}\n","/* Horizontal wrap layout for variables (no forced stretching).\n The gap matches the reference composer's action bar, where the pills sit 4px\n apart; the larger row gap only shows once they wrap onto a second line. */\n.jsonforms-compact .ss-jsonforms-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 6px 4px;\n align-items: center;\n}\n\n/* Each variable is its own flex item */\n.jsonforms-compact .ss-jsonforms-cell {\n flex: 0 0 auto;\n min-width: 0;\n}\n\n/* Let long/tall fields take a full row when present */\n.jsonforms-compact .ss-jsonforms-textarea {\n flex: 1 1 100%;\n}\n\n/* Keep compact fields at a comfortable fixed width */\n.jsonforms-compact .compact-field {\n width: 280px;\n max-width: 100%;\n}\n\n/* On very small screens, let it shrink gracefully */\n@media (max-width: 480px) {\n .jsonforms-compact .compact-field {\n width: 100%; /* full width on phones */\n }\n}\n"],"mappings":"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","names":[]}
package/dist/index.d.ts CHANGED
@@ -80,112 +80,6 @@ declare const ChatVariablesForm: React.ForwardRefExoticComponent<ChatVariablesFo
80
80
  setVariables: (variables: Record<string, unknown>) => void;
81
81
  } & React.RefAttributes<ChatVariablesFormRef>>;
82
82
 
83
- /**
84
- * What the backend tells the composer about speech-to-text (dictation).
85
- * `endpoint` is the Speech resource's custom-domain URL the browser SDK
86
- * connects to directly; it is absent when speech isn't configured.
87
- */
88
- type SpeechConfig = {
89
- enabled: boolean;
90
- endpoint?: string | null;
91
- /** BCP-47 locale to recognise when the client doesn't ask for one. */
92
- defaultLocale: string;
93
- };
94
- /**
95
- * A short-lived bearer token for the Speech resource. Handed to the Speech SDK
96
- * as-is; the backend owns how it is minted.
97
- */
98
- type SpeechToken = {
99
- token: string;
100
- /** ISO-8601 instant. */
101
- expiresOn: string;
102
- };
103
-
104
- type DictationState = 'idle' | 'starting' | 'listening';
105
- type DictationError = 'permission-denied' | 'no-microphone' | 'network'
106
- /** Worth another go: the install is fine, this attempt wasn't. */
107
- | 'unavailable-temporarily'
108
- /** Don't keep asking: this install can't do dictation. */
109
- | 'unavailable' | 'unknown';
110
- type UseDictationOptions = {
111
- /** Speech resource endpoint from `SpeechConfig`; dictation is unavailable without it. */
112
- endpoint?: string | null;
113
- /** BCP-47 recognition locale (server default unless the user chose one). */
114
- locale: string;
115
- /** From the ChatService; dictation is unavailable without it. */
116
- getToken?: () => Promise<SpeechToken>;
117
- /** A final recognised phrase — insert it into the editor. */
118
- onPhrase: (text: string) => void;
119
- /**
120
- * Provisional text, revised several times a second. Rendered as greyed ghost
121
- * text at the caret. Deliberately a callback rather than hook state: holding it
122
- * in state would re-render the whole composer on every partial result.
123
- */
124
- onInterim?: (text: string) => void;
125
- /** Hard stop, so a forgotten mic can't run for an hour. */
126
- maxDurationMs?: number;
127
- /** Stop after this long without any speech. */
128
- idleTimeoutMs?: number;
129
- };
130
- /**
131
- * Streams microphone audio to Azure AI Speech and hands back recognised
132
- * phrases. Owns the whole session: mic permission + stream, lazy SDK load,
133
- * recogniser lifecycle, idle/max timers, and teardown on stop or unmount.
134
- * Interim (not yet final) text goes to `onInterim` for display only; only final
135
- * phrases reach `onPhrase`.
136
- */
137
- declare function useDictation({ endpoint, locale, getToken, onPhrase, onInterim, maxDurationMs, idleTimeoutMs, }: UseDictationOptions): {
138
- supported: boolean;
139
- available: boolean;
140
- state: DictationState;
141
- error: DictationError | null;
142
- start: () => Promise<void>;
143
- stop: () => void;
144
- toggle: () => void;
145
- };
146
-
147
- type DictationButtonProps = {
148
- state: DictationState;
149
- error: DictationError | null;
150
- disabled?: boolean;
151
- onToggle: () => void;
152
- /** Icon/button sizing to match the surrounding toolbar. */
153
- size?: 'sm' | 'md';
154
- };
155
- /**
156
- * The composer's microphone, which carries the dictation state itself rather than
157
- * relying on text elsewhere: a spinning ring while the session is starting, and a
158
- * filled stop square while it is listening — the same shape Send takes during a
159
- * run, because the button's job is the same at that point. The transcript appears
160
- * in the composer at the caret, so nothing is reported in two places.
161
- */
162
- declare function DictationButton({ state, error, disabled, onToggle, size, }: DictationButtonProps): react_jsx_runtime.JSX.Element;
163
-
164
- /**
165
- * Structural stand-in for `@azure/core-auth`'s `TokenCredential` — what
166
- * `SpeechConfig.fromEndpoint(url, credential)` accepts. Declared here rather
167
- * than imported so this package doesn't take a type dependency on a transitive
168
- * package of the SDK.
169
- */
170
- type SpeechTokenCredential = {
171
- getToken: (scopes: string | string[]) => Promise<{
172
- token: string;
173
- expiresOnTimestamp: number;
174
- }>;
175
- };
176
- /**
177
- * Adapts the app's authenticated token fetch to the shape the Speech SDK wants.
178
- * The SDK calls `getToken` when it connects and again as the token nears expiry;
179
- * caching means a long dictation doesn't re-hit the API on every reconnect, and
180
- * concurrent callers share one in-flight request.
181
- *
182
- * `seed` is the token the caller already fetched to start the session. Passing it
183
- * keeps the SDK's first connect off the network, and — more importantly — means a
184
- * failed fetch surfaces to the caller with its own error rather than reaching us
185
- * inside SDK internals, where it would only ever resurface as a generic cancel.
186
- */
187
- declare function createSpeechTokenCredential(fetchToken: () => Promise<SpeechToken>, seed?: SpeechToken): SpeechTokenCredential;
188
-
189
83
  type MentionUserLike = {
190
84
  id: string;
191
85
  displayName: string;
@@ -203,19 +97,6 @@ type MarkdownEditorHandle = {
203
97
  * Callers that need the freshest text (e.g. sending on Enter) should read from here.
204
98
  */
205
99
  getMarkdown: () => string;
206
- /**
207
- * Inserts plain text at the caret (dictation, snippets), replacing any
208
- * selection. Prepends a space when the caret directly follows a
209
- * non-whitespace character so successive inserts read as prose. No-op when
210
- * the editor isn't editable.
211
- */
212
- insertText: (text: string) => void;
213
- /**
214
- * Shows provisional dictation text greyed at the caret. Display-only — it never
215
- * enters the document, so it cannot be serialised, undone, or sent. Pass '' to
216
- * clear; inserting the final text via `insertText` clears it too.
217
- */
218
- setDictationGhost: (text: string) => void;
219
100
  /**
220
101
  * Returns mention users currently present in the editor document.
221
102
  * Useful for building API payloads (e.g. comments.mentionedUsers).
@@ -495,16 +376,6 @@ interface ChatService {
495
376
  * compiling — the composer only shows a Stop button when it is provided.
496
377
  */
497
378
  cancelFlowRun?(flowRunId: string): Promise<void>;
498
- /**
499
- * Speech-to-text (composer dictation). Both are optional so existing
500
- * service implementations keep compiling — the composer renders a
501
- * microphone only when both are provided AND the config says enabled.
502
- * `getSpeechConfig` is read once per session; `getSpeechToken` is called
503
- * lazily by the Speech SDK when it connects and again as the token nears
504
- * expiry, so implementations needn't cache.
505
- */
506
- getSpeechConfig?(): Promise<SpeechConfig>;
507
- getSpeechToken?(): Promise<SpeechToken>;
508
379
  }
509
380
 
510
381
  type ChatIdentity = {
@@ -569,6 +440,7 @@ declare const messagesResponseSchema: z.ZodObject<{
569
440
  value: z.ZodOptional<z.ZodNullable<z.ZodAny>>;
570
441
  }, z.core.$strip>>;
571
442
  }, z.core.$strip>>;
443
+ scoped: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
572
444
  total: z.ZodNumber;
573
445
  }, z.core.$strip>;
574
446
  type MessagesResponseDto = z.infer<typeof messagesResponseSchema>;
@@ -681,6 +553,7 @@ declare const threadsListResponseSchema: z.ZodObject<{
681
553
  totalMessages: z.ZodNumber;
682
554
  workSpaceId: z.ZodString;
683
555
  }, z.core.$strip>>;
556
+ scoped: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
684
557
  total: z.ZodNumber;
685
558
  }, z.core.$strip>;
686
559
  declare const threadResponseSchema: z.ZodObject<{
@@ -795,6 +668,7 @@ declare const workspaceResponseSchema: z.ZodObject<{
795
668
  path: z.ZodString;
796
669
  }, z.core.$strip>;
797
670
  flowId: z.ZodString;
671
+ honourSourceDeletes: z.ZodBoolean;
798
672
  id: z.ZodString;
799
673
  inputName: z.ZodString;
800
674
  type: z.ZodEnum<{
@@ -1037,6 +911,7 @@ declare const workspacesListResponseSchema: z.ZodObject<{
1037
911
  path: z.ZodString;
1038
912
  }, z.core.$strip>;
1039
913
  flowId: z.ZodString;
914
+ honourSourceDeletes: z.ZodBoolean;
1040
915
  id: z.ZodString;
1041
916
  inputName: z.ZodString;
1042
917
  type: z.ZodEnum<{
@@ -1184,6 +1059,7 @@ declare const workspacesListResponseSchema: z.ZodObject<{
1184
1059
  schema: z.ZodRecord<z.ZodString, z.ZodAny>;
1185
1060
  }, z.core.$strip>>;
1186
1061
  }, z.core.$strip>>;
1062
+ scoped: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1187
1063
  total: z.ZodNumber;
1188
1064
  }, z.core.$strip>;
1189
1065
  type WorkspaceDto = z.infer<typeof workspaceResponseSchema>;
@@ -1389,11 +1265,6 @@ declare const modelsKeys: {
1389
1265
  }];
1390
1266
  };
1391
1267
 
1392
- declare const speechKeys: {
1393
- all: readonly ["speech"];
1394
- config: () => readonly ["speech", "config"];
1395
- };
1396
-
1397
1268
  declare const messagesListOptions: (service: ChatService, threadId: string, opts?: {
1398
1269
  take?: number;
1399
1270
  skip?: number;
@@ -1556,16 +1427,4 @@ declare function useModels({ search, take, skip, }?: {
1556
1427
  total: number;
1557
1428
  }, Error>;
1558
1429
 
1559
- /**
1560
- * Whether dictation is available on this install and how to connect. Read once
1561
- * per app session — it only changes with a deploy — and disabled entirely for
1562
- * services that don't implement speech, in which case the composer renders no
1563
- * microphone.
1564
- *
1565
- * A definitive answer (including a 404 from an older backend) is cached for the
1566
- * session; a transient failure is retried, because otherwise one blip on load
1567
- * would silently disable the mic until the page is reloaded.
1568
- */
1569
- declare function useSpeechConfig(): _tanstack_react_query.UseQueryResult<SpeechConfig, Error>;
1570
-
1571
- export { type ChatContextIds, type ChatIdentity, ChatProvider, type ChatProviderProps, type ChatService, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, DictationButton, type DictationButtonProps, type DictationError, type DictationState, type FileInfo$1 as FileInfo, type FileScope, type FlowRunVariables, MarkdownEditor, type MarkdownEditorHandle, type MentionUser, type Message, MessageComposer, type MessageComposerProps, type MessageContentItem, type MessageError, type MessageErrorLike, MessageList, type MessageListProps, MessageListSkeleton, MessageMarkdown, type MessageThread, type MessageValue, MessageValueType, type Model, type ModelProperty, NEW_THREAD_ID, type RetryStatus, type SpeechConfig, type SpeechToken, type SpeechTokenCredential, THREAD_LIST_PAGE_SIZE, type ThreadsResponse, type UseDictationOptions, type Variables, type Workspace, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createSpeechTokenCredential, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getMessageErrorText, getModelIcon, getRetryStatusText, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, parseRetryStatus, randomUUID, setThreadOptimisticRunning, setThreadRunningInLists, speechKeys, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDictation, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useIsDraftThreadId, useMessages, useModels, useSendMessage, useSpeechConfig, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };
1430
+ export { type ChatContextIds, type ChatIdentity, ChatProvider, type ChatProviderProps, type ChatService, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, type FileInfo$1 as FileInfo, type FileScope, type FlowRunVariables, MarkdownEditor, type MarkdownEditorHandle, type MentionUser, type Message, MessageComposer, type MessageComposerProps, type MessageContentItem, type MessageError, type MessageErrorLike, MessageList, type MessageListProps, MessageListSkeleton, MessageMarkdown, type MessageThread, type MessageValue, MessageValueType, type Model, type ModelProperty, NEW_THREAD_ID, type RetryStatus, THREAD_LIST_PAGE_SIZE, type ThreadsResponse, type Variables, type Workspace, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getMessageErrorText, getModelIcon, getRetryStatusText, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, parseRetryStatus, randomUUID, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useIsDraftThreadId, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };