@hot-updater/console 0.11.0 → 0.12.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family: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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--info: 204 94% 94%;--info-foreground: 199 89% 48%;--success: 149 80% 90%;--success-foreground: 160 84% 39%;--warning: 48 96% 89%;--warning-foreground: 25 95% 53%;--error: 0 93% 94%;--error-foreground: 0 84% 60%;--ring: 240 5.9% 10%;--radius: .5rem}.dark,[data-kb-theme=dark]{--background: 240 10% 3.9%;--foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--info: 204 94% 94%;--info-foreground: 199 89% 48%;--success: 149 80% 90%;--success-foreground: 160 84% 39%;--warning: 48 96% 89%;--warning-foreground: 25 95% 53%;--error: 0 93% 94%;--error-foreground: 0 84% 60%;--ring: 240 4.9% 83.9%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}.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}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-px{top:1px}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mt-2\.5{margin-top:.625rem}.mt-4{margin-top:1rem}.mt-\[2px\]{margin-top:2px}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.size-10{width:2.5rem;height:2.5rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-24{height:6rem}.h-32{height:8rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-\[var\(--kb-navigation-menu-viewport-height\)\]{height:var(--kb-navigation-menu-viewport-height)}.h-full{height:100%}.max-h-screen{max-height:100vh}.min-h-\[80px\]{min-height:80px}.w-11{width:2.75rem}.w-12{width:3rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-\[var\(--kb-navigation-menu-viewport-width\)\]{width:var(--kb-navigation-menu-viewport-width)}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\[var\(--kb-menu-content-transform-origin\)\]{transform-origin:var(--kb-menu-content-transform-origin)}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes content-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.animate-content-hide{animation:content-hide .2s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-clip{overflow-x:clip}.overflow-y-visible{overflow-y:visible}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-input{border-color:hsl(var(--input))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-destructive{background-color:hsl(var(--destructive))}.bg-input{background-color:hsl(var(--input))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-2\.5{padding-left:.625rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-snug{line-height:1.375}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.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))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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(0px + 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-offset-background{--tw-ring-offset-color: hsl(var(--background))}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[color\,background-color\,box-shadow\]{transition-property:color,background-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\]{transition-property:width,height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}@media (max-width: 640px){.container{padding-left:1rem;padding-right:1rem}}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-thumb{border-radius:9999px;border:4px solid transparent;background-clip:content-box;background-color:hsl(var(--accent))}::-webkit-scrollbar-corner{display:none}body{font-family:Lato,sans-serif}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.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-red-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[expanded\]\:pointer-events-auto[data-expanded]{pointer-events:auto}.data-\[checked\]\:translate-x-5[data-checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.data-\[animate\=\'true\'\]\:animate-pulse[data-animate=true]{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes content-show{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.data-\[expanded\]\:animate-content-show[data-expanded]{animation:content-show .2s ease-out}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[orientation\=vertical\]\:overflow-y-clip[data-orientation=vertical]{overflow-y:clip}.data-\[orientation\=vertical\]\:overflow-x-visible[data-orientation=vertical]{overflow-x:visible}.data-\[expanded\]\:rounded-md[data-expanded]{border-radius:calc(var(--radius) - 2px)}.data-\[current\]\:border[data-current]{border-width:1px}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[checked\]\:bg-primary[data-checked]{background-color:hsl(var(--primary))}.data-\[expanded\]\:bg-accent\/50[data-expanded]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[invalid\]\:text-destructive[data-invalid]{color:hsl(var(--destructive))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\]\:opacity-70[data-disabled]{opacity:.7}.data-\[expanded\]\:opacity-100[data-expanded]{opacity:1}.data-\[closed\=\]\:duration-300[data-closed=""]{transition-duration:.3s}.data-\[expanded\=\]\:duration-500[data-expanded=""]{transition-duration:.5s}.data-\[expanded\]\:ease-out[data-expanded]{transition-timing-function:cubic-bezier(0,0,.2,1)}.data-\[expanded\=\]\:animate-in[data-expanded=""],.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[closed\=\]\:animate-out[data-closed=""],.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[closed\=\]\:fade-out-0[data-closed=""]{--tw-exit-opacity: 0}.data-\[expanded\=\]\:fade-in-0[data-expanded=""],.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity: 0}.data-\[closed\=\]\:slide-out-to-bottom[data-closed=""]{--tw-exit-translate-y: 100%}.data-\[closed\=\]\:slide-out-to-left[data-closed=""]{--tw-exit-translate-x: -100%}.data-\[closed\=\]\:slide-out-to-right[data-closed=""]{--tw-exit-translate-x: 100%}.data-\[closed\=\]\:slide-out-to-top[data-closed=""]{--tw-exit-translate-y: -100%}.data-\[expanded\=\]\:slide-in-from-bottom[data-expanded=""]{--tw-enter-translate-y: 100%}.data-\[expanded\=\]\:slide-in-from-right[data-expanded=""]{--tw-enter-translate-x: 100%}.data-\[expanded\=\]\:slide-in-from-top[data-expanded=""]{--tw-enter-translate-y: -100%}.data-\[expanded\]\:slide-in-from-left[data-expanded]{--tw-enter-translate-x: -100%}.data-\[orientation\=horizontal\]\:data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end][data-orientation=horizontal]{--tw-enter-translate-x: 13rem}.data-\[orientation\=horizontal\]\:data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start][data-orientation=horizontal]{--tw-enter-translate-x: -13rem}.data-\[orientation\=horizontal\]\:data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end][data-orientation=horizontal]{--tw-exit-translate-x: 13rem}.data-\[orientation\=horizontal\]\:data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start][data-orientation=horizontal]{--tw-exit-translate-x: -13rem}.data-\[orientation\=vertical\]\:data-\[motion\=from-end\]\:slide-in-from-bottom-52[data-motion=from-end][data-orientation=vertical]{--tw-enter-translate-y: 13rem}.data-\[orientation\=vertical\]\:data-\[motion\=from-start\]\:slide-in-from-top-52[data-motion=from-start][data-orientation=vertical]{--tw-enter-translate-y: -13rem}.data-\[orientation\=vertical\]\:data-\[motion\=to-end\]\:slide-out-to-bottom-52[data-motion=to-end][data-orientation=vertical],.data-\[orientation\=vertical\]\:data-\[motion\=to-start\]\:slide-out-to-bottom-52[data-motion=to-start][data-orientation=vertical]{--tw-exit-translate-y: 13rem}.data-\[closed\=\]\:duration-300[data-closed=""]{animation-duration:.3s}.data-\[expanded\=\]\:duration-500[data-expanded=""]{animation-duration:.5s}.data-\[expanded\]\:ease-out[data-expanded]{animation-timing-function:cubic-bezier(0,0,.2,1)}.group\/trigger[data-expanded] .group-data-\[expanded\]\/trigger\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/menu[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/menu\:-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/menu[data-orientation=vertical] .group\/trigger[data-expanded] .group-data-\[orientation\=vertical\]\/menu\:group-data-\[expanded\]\/trigger\:rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:h-48{height:12rem}.md\:w-48{width:12rem}}.\[\&\:focus-visible\+div\]\:outline-none:focus-visible+div{outline:2px solid transparent;outline-offset:2px}.\[\&\:focus-visible\+div\]\:ring-2:focus-visible+div{--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\+div\]\:ring-ring:focus-visible+div{--tw-ring-color: hsl(var(--ring))}.\[\&\:focus-visible\+div\]\:ring-offset-2:focus-visible+div{--tw-ring-offset-width: 2px}.\[\&\:focus-visible\+div\]\:ring-offset-background:focus-visible+div{--tw-ring-offset-color: hsl(var(--background))}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\]\:flex>*{display:flex}.\[\&\>\*\]\:flex-row>*{flex-direction:row}.\[\&\>\*\]\:items-center>*{align-items:center}.\[\&\>\*\]\:gap-1>*{gap:.25rem}.\[\&\>li\]\:w-full>li{width:100%}.\[\&\>ul\]\:justify-center>ul{justify-content:center}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
package/dist/index.cjs CHANGED
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ const __rslib_import_meta_url__ = /*#__PURE__*/ function() {
3
+ return 'undefined' == typeof document ? new (require('url'.replace('', ''))).URL('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href;
4
+ }();
2
5
  var __webpack_require__ = {};
3
6
  (()=>{
4
7
  __webpack_require__.n = function(module) {
@@ -2062,10 +2065,10 @@ const rpc = new hono_Hono().get("/getConfig", async (c)=>{
2062
2065
  const { databasePlugin } = await prepareConfig();
2063
2066
  const bundles = await databasePlugin?.getBundles(true);
2064
2067
  return c.json(bundles ?? []);
2065
- }).post("/getBundleById", vValidator("json", dist_object({
2068
+ }).get("/getBundleById", vValidator("query", dist_object({
2066
2069
  bundleId: string()
2067
2070
  })), async (c)=>{
2068
- const { bundleId } = c.req.valid("json");
2071
+ const { bundleId } = c.req.valid("query");
2069
2072
  const { databasePlugin } = await prepareConfig();
2070
2073
  const bundle = await databasePlugin?.getBundleById(bundleId);
2071
2074
  return c.json(bundle ?? null);
@@ -2081,8 +2084,9 @@ const rpc = new hono_Hono().get("/getConfig", async (c)=>{
2081
2084
  await databasePlugin?.commitBundle();
2082
2085
  return c.json(true);
2083
2086
  });
2084
- const relativePathToScript = external_path_default().relative(process.cwd(), __dirname);
2085
- const src_server_rslib_entry_app = new hono_Hono().get("/ping", (c)=>c.text("pong")).route("/rpc", rpc).use("/static/*", serveStatic({
2087
+ const src_server_rslib_entry_dirname = external_path_default().dirname(new URL(__rslib_import_meta_url__).pathname);
2088
+ const relativePathToScript = external_path_default().relative(process.cwd(), src_server_rslib_entry_dirname);
2089
+ const src_server_rslib_entry_app = new hono_Hono().get("/ping", (c)=>c.text("pong")).route("/rpc", rpc).use("/assets/*", serveStatic({
2086
2090
  root: relativePathToScript
2087
2091
  })).get("*", serveStatic({
2088
2092
  root: relativePathToScript,
package/dist/index.html CHANGED
@@ -1 +1,14 @@
1
- <!doctype html><html><head><link rel="icon" href="/favicon.ico"><title>Hot Updater Console</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script defer src="/static/js/75.26f27657.js"></script><script defer src="/static/js/index.152eacb1.js"></script><link href="/static/css/index.213fdb72.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/x-icon" href="/assets/favicon-BkwcEHsj.ico" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Hot Updater Console</title>
8
+ <script type="module" crossorigin src="/assets/index-B_xkX-3E.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-CvELDnIr.css">
10
+ </head>
11
+ <body>
12
+ <div id="root"></div>
13
+ </body>
14
+ </html>
package/dist/index.js CHANGED
@@ -1,7 +1,5 @@
1
1
  import __rslib_shim_module__ from 'module';
2
2
  /*#__PURE__*/ import.meta.url;
3
- import { fileURLToPath as __webpack_fileURLToPath__ } from "node:url";
4
- import { dirname as __webpack_dirname__ } from "node:path";
5
3
  import * as __WEBPACK_EXTERNAL_MODULE_path__ from "path";
6
4
  import * as __WEBPACK_EXTERNAL_MODULE_fs__ from "fs";
7
5
  import * as __WEBPACK_EXTERNAL_MODULE__hot_updater_plugin_core_40c1c502__ from "@hot-updater/plugin-core";
@@ -2022,10 +2020,10 @@ const rpc = new hono_Hono().get("/getConfig", async (c)=>{
2022
2020
  const { databasePlugin } = await prepareConfig();
2023
2021
  const bundles = await databasePlugin?.getBundles(true);
2024
2022
  return c.json(bundles ?? []);
2025
- }).post("/getBundleById", vValidator("json", dist_object({
2023
+ }).get("/getBundleById", vValidator("query", dist_object({
2026
2024
  bundleId: string()
2027
2025
  })), async (c)=>{
2028
- const { bundleId } = c.req.valid("json");
2026
+ const { bundleId } = c.req.valid("query");
2029
2027
  const { databasePlugin } = await prepareConfig();
2030
2028
  const bundle = await databasePlugin?.getBundleById(bundleId);
2031
2029
  return c.json(bundle ?? null);
@@ -2041,9 +2039,9 @@ const rpc = new hono_Hono().get("/getConfig", async (c)=>{
2041
2039
  await databasePlugin?.commitBundle();
2042
2040
  return c.json(true);
2043
2041
  });
2044
- var src_server_rslib_entry_dirname = __webpack_dirname__(__webpack_fileURLToPath__(import.meta.url));
2042
+ const src_server_rslib_entry_dirname = __WEBPACK_EXTERNAL_MODULE_path__["default"].dirname(new URL(import.meta.url).pathname);
2045
2043
  const relativePathToScript = __WEBPACK_EXTERNAL_MODULE_path__["default"].relative(process.cwd(), src_server_rslib_entry_dirname);
2046
- const src_server_rslib_entry_app = new hono_Hono().get("/ping", (c)=>c.text("pong")).route("/rpc", rpc).use("/static/*", serveStatic({
2044
+ const src_server_rslib_entry_app = new hono_Hono().get("/ping", (c)=>c.text("pong")).route("/rpc", rpc).use("/assets/*", serveStatic({
2047
2045
  root: relativePathToScript
2048
2046
  })).get("*", serveStatic({
2049
2047
  root: relativePathToScript,
@@ -0,0 +1,4 @@
1
+ import type { JSX } from "solid-js";
2
+ export default function Layout({ children }: {
3
+ children: JSX.Element;
4
+ }): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import type { ValidComponent } from "solid-js";
2
+ import type { PolymorphicProps } from "@kobalte/core/polymorphic";
3
+ import * as SkeletonPrimitive from "@kobalte/core/skeleton";
4
+ type SkeletonRootProps<T extends ValidComponent = "div"> = SkeletonPrimitive.SkeletonRootProps<T> & {
5
+ class?: string | undefined;
6
+ };
7
+ declare const Skeleton: <T extends ValidComponent = "div">(props: PolymorphicProps<T, SkeletonRootProps<T>>) => import("solid-js").JSX.Element;
8
+ export { Skeleton };
@@ -42,10 +42,10 @@ export declare const api: {
42
42
  }>;
43
43
  } & {
44
44
  getBundleById: import("hono/client").ClientRequest<{
45
- $post: {
45
+ $get: {
46
46
  input: {
47
- json: {
48
- bundleId: string;
47
+ query: {
48
+ bundleId: string | string[];
49
49
  };
50
50
  };
51
51
  output: {
@@ -87,3 +87,31 @@ export declare const api: {
87
87
  };
88
88
  }>;
89
89
  };
90
+ export declare const createBundlesQuery: () => import("@tanstack/solid-query").CreateQueryResult<{
91
+ id: string;
92
+ platform: import("@hot-updater/core").Platform;
93
+ targetAppVersion: string;
94
+ shouldForceUpdate: boolean;
95
+ enabled: boolean;
96
+ fileUrl: string;
97
+ fileHash: string;
98
+ gitCommitHash: string | null;
99
+ message: string | null;
100
+ }[], Error>;
101
+ export declare const createConfigQuery: () => import("@tanstack/solid-query").CreateQueryResult<{
102
+ console: {
103
+ gitUrl?: string | undefined;
104
+ port?: number | undefined;
105
+ } | undefined;
106
+ }, Error>;
107
+ export declare const createBundleQuery: (bundleId: string) => import("@tanstack/solid-query").CreateQueryResult<{
108
+ id: string;
109
+ platform: import("@hot-updater/core").Platform;
110
+ targetAppVersion: string;
111
+ shouldForceUpdate: boolean;
112
+ enabled: boolean;
113
+ fileUrl: string;
114
+ fileHash: string;
115
+ gitCommitHash: string | null;
116
+ message: string | null;
117
+ } | null, Error>;
@@ -1,2 +1,3 @@
1
1
  import { type ClassValue } from "clsx";
2
2
  export declare function cn(...inputs: ClassValue[]): string;
3
+ export declare const sleep: (ms: number) => Promise<unknown>;
@@ -1,6 +1,6 @@
1
1
  import { Hono } from "hono";
2
2
  declare const app: Hono<{}, {
3
- "/static/*": {
3
+ "/assets/*": {
4
4
  $get: {
5
5
  input: {};
6
6
  output: "pong";
@@ -44,10 +44,10 @@ declare const app: Hono<{}, {
44
44
  status: import("hono/utils/http-status").StatusCode;
45
45
  };
46
46
  } | {
47
- $post: {
47
+ $get: {
48
48
  input: {
49
- json: {
50
- bundleId: string;
49
+ query: {
50
+ bundleId: string | string[];
51
51
  };
52
52
  };
53
53
  output: {
@@ -55,10 +55,10 @@ export declare const rpc: Hono<import("hono/types").BlankEnv, {
55
55
  };
56
56
  } & {
57
57
  "/getBundleById": {
58
- $post: {
58
+ $get: {
59
59
  input: {
60
- json: {
61
- bundleId: string;
60
+ query: {
61
+ bundleId: string | string[];
62
62
  };
63
63
  };
64
64
  output: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hot-updater/console",
3
3
  "type": "module",
4
- "version": "0.11.0",
4
+ "version": "0.12.1-0",
5
5
  "files": [
6
6
  "dist",
7
7
  "package.json"
@@ -20,13 +20,13 @@
20
20
  "@biomejs/biome": "^1.9.4",
21
21
  "@hono/node-server": "^1.13.4",
22
22
  "@hono/valibot-validator": "^0.4.1",
23
+ "@hono/vite-dev-server": "^0.18.1",
24
+ "@hot-updater/mock": "0.12.1-0",
23
25
  "@kobalte/core": "^0.13.7",
24
- "@rsbuild/core": "^1.1.6",
25
- "@rsbuild/plugin-babel": "^1.0.3",
26
- "@rsbuild/plugin-solid": "^1.0.4",
27
26
  "@solidjs/meta": "^0.29.4",
28
27
  "@solidjs/router": "^0.14.10",
29
28
  "@tanstack/solid-form": "^0.34.0",
29
+ "@tanstack/solid-query": "^5.66.4",
30
30
  "@tanstack/solid-table": "^8.20.5",
31
31
  "@tanstack/valibot-form-adapter": "^0.34.0",
32
32
  "@types/node": "^22.8.6",
@@ -46,18 +46,21 @@
46
46
  "tailwindcss": "^3.4.14",
47
47
  "tailwindcss-animate": "^1.0.7",
48
48
  "typescript": "^5.6.3",
49
- "valibot": "^0.42.1"
49
+ "valibot": "^0.42.1",
50
+ "vite": "^6.1.0",
51
+ "vite-plugin-solid": "^2.11.1",
52
+ "vite-tsconfig-paths": "^5.1.4"
50
53
  },
51
54
  "dependencies": {
52
- "@hot-updater/core": "0.11.0",
53
- "@hot-updater/plugin-core": "0.11.0"
55
+ "@hot-updater/core": "0.12.1-0",
56
+ "@hot-updater/plugin-core": "0.12.1-0"
54
57
  },
55
58
  "scripts": {
56
- "build": "rsbuild build && rslib build",
59
+ "build": "vite build --mode client && rslib build",
57
60
  "check": "biome check --write",
58
- "dev": "rsbuild dev --open",
61
+ "dev": "vite",
59
62
  "format": "biome format --write",
60
- "preview": "rsbuild preview",
63
+ "preview": "vite preview",
61
64
  "test:type": "tsc --noEmit"
62
65
  }
63
66
  }
@@ -1 +0,0 @@
1
- @import "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap";*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--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:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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{-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=button]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=reset]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--border:240 5.9% 90%;--input:240 5.9% 90%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--info:204 94% 94%;--info-foreground:199 89% 48%;--success:149 80% 90%;--success-foreground:160 84% 39%;--warning:48 96% 89%;--warning-foreground:25 95% 53%;--error:0 93% 94%;--error-foreground:0 84% 60%;--ring:240 5.9% 10%;--radius:.5rem}.dark,[data-kb-theme=dark]{--background:240 10% 3.9%;--foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--info:204 94% 94%;--info-foreground:199 89% 48%;--success:149 80% 90%;--success-foreground:160 84% 39%;--warning:48 96% 89%;--warning-foreground:25 95% 53%;--error:0 93% 94%;--error-foreground:0 84% 60%;--ring:240 4.9% 83.9%;--radius:.5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;bottom:0;left:0;right:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-px{top:1px}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mt-2\.5{margin-top:.625rem}.mt-4{margin-top:1rem}.mt-\[2px\]{margin-top:2px}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.size-10{width:2.5rem;height:2.5rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-24{height:6rem}.h-32{height:8rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-\[var\(--kb-navigation-menu-viewport-height\)\]{height:var(--kb-navigation-menu-viewport-height)}.h-full{height:100%}.max-h-screen{max-height:100vh}.min-h-\[80px\]{min-height:80px}.w-11{width:2.75rem}.w-12{width:3rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-\[var\(--kb-navigation-menu-viewport-width\)\]{width:var(--kb-navigation-menu-viewport-width)}.w-full{width:100%}.w-max{width:max-content}.max-w-sm{max-width:24rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\[var\(--kb-menu-content-transform-origin\)\]{transform-origin:var(--kb-menu-content-transform-origin)}.translate-x-0{--tw-translate-x:0px;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 content-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.animate-content-hide{animation:.2s ease-out content-hide}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-clip{overflow-x:clip}.overflow-y-visible{overflow-y:visible}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-input{border-color:hsl(var(--input))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-destructive{background-color:hsl(var(--destructive))}.bg-input{background-color:hsl(var(--input))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-2\.5{padding-left:.625rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-snug{line-height:1.375}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.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))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--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-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.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(0px + 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-offset-background{--tw-ring-offset-color:hsl(var(--background))}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,-webkit-backdrop-filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,background-color\,box-shadow\]{transition-property:color,background-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\]{transition-property:width,height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}@media (max-width:640px){.container{padding-left:1rem;padding-right:1rem}}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-thumb{background-clip:content-box;background-color:hsl(var(--accent));border:4px solid #0000;border-radius:9999px}::-webkit-scrollbar-corner{display:none}body{font-family:Lato,sans-serif}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::-webkit-file-upload-button{background-color:#0000}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.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-red-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--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)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[expanded\]\:pointer-events-auto[data-expanded]{pointer-events:auto}.data-\[checked\]\:translate-x-5[data-checked]{--tw-translate-x:1.25rem;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 content-show{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.data-\[expanded\]\:animate-content-show[data-expanded]{animation:.2s ease-out content-show}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[orientation\=vertical\]\:overflow-y-clip[data-orientation=vertical]{overflow-y:clip}.data-\[orientation\=vertical\]\:overflow-x-visible[data-orientation=vertical]{overflow-x:visible}.data-\[expanded\]\:rounded-md[data-expanded]{border-radius:calc(var(--radius) - 2px)}.data-\[current\]\:border[data-current]{border-width:1px}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent)/.5)}.data-\[checked\]\:bg-primary[data-checked]{background-color:hsl(var(--primary))}.data-\[expanded\]\:bg-accent\/50[data-expanded]{background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[invalid\]\:text-destructive[data-invalid]{color:hsl(var(--destructive))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\]\:opacity-70[data-disabled]{opacity:.7}.data-\[expanded\]\:opacity-100[data-expanded]{opacity:1}.data-\[closed\=\]\:duration-300[data-closed=""]{transition-duration:.3s}.data-\[expanded\=\]\:duration-500[data-expanded=""]{transition-duration:.5s}.data-\[expanded\]\:ease-out[data-expanded]{transition-timing-function:cubic-bezier(0,0,.2,1)}.data-\[expanded\=\]\:animate-in[data-expanded=""],.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[closed\=\]\:animate-out[data-closed=""],.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[closed\=\]\:fade-out-0[data-closed=""]{--tw-exit-opacity:0}.data-\[expanded\=\]\:fade-in-0[data-expanded=""],.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[closed\=\]\:slide-out-to-bottom[data-closed=""]{--tw-exit-translate-y:100%}.data-\[closed\=\]\:slide-out-to-left[data-closed=""]{--tw-exit-translate-x:-100%}.data-\[closed\=\]\:slide-out-to-right[data-closed=""]{--tw-exit-translate-x:100%}.data-\[closed\=\]\:slide-out-to-top[data-closed=""]{--tw-exit-translate-y:-100%}.data-\[expanded\=\]\:slide-in-from-bottom[data-expanded=""]{--tw-enter-translate-y:100%}.data-\[expanded\=\]\:slide-in-from-right[data-expanded=""]{--tw-enter-translate-x:100%}.data-\[expanded\=\]\:slide-in-from-top[data-expanded=""]{--tw-enter-translate-y:-100%}.data-\[expanded\]\:slide-in-from-left[data-expanded]{--tw-enter-translate-x:-100%}.data-\[orientation\=horizontal\]\:data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end][data-orientation=horizontal]{--tw-enter-translate-x:13rem}.data-\[orientation\=horizontal\]\:data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start][data-orientation=horizontal]{--tw-enter-translate-x:-13rem}.data-\[orientation\=horizontal\]\:data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end][data-orientation=horizontal]{--tw-exit-translate-x:13rem}.data-\[orientation\=horizontal\]\:data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start][data-orientation=horizontal]{--tw-exit-translate-x:-13rem}.data-\[orientation\=vertical\]\:data-\[motion\=from-end\]\:slide-in-from-bottom-52[data-motion=from-end][data-orientation=vertical]{--tw-enter-translate-y:13rem}.data-\[orientation\=vertical\]\:data-\[motion\=from-start\]\:slide-in-from-top-52[data-motion=from-start][data-orientation=vertical]{--tw-enter-translate-y:-13rem}.data-\[orientation\=vertical\]\:data-\[motion\=to-end\]\:slide-out-to-bottom-52[data-motion=to-end][data-orientation=vertical],.data-\[orientation\=vertical\]\:data-\[motion\=to-start\]\:slide-out-to-bottom-52[data-motion=to-start][data-orientation=vertical]{--tw-exit-translate-y:13rem}.data-\[closed\=\]\:duration-300[data-closed=""]{animation-duration:.3s}.data-\[expanded\=\]\:duration-500[data-expanded=""]{animation-duration:.5s}.data-\[expanded\]\:ease-out[data-expanded]{animation-timing-function:cubic-bezier(0,0,.2,1)}.group\/trigger[data-expanded] .group-data-\[expanded\]\/trigger\:rotate-180{--tw-rotate:180deg;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))}.group\/menu[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/menu\:-rotate-90{--tw-rotate:-90deg;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))}.group\/menu[data-orientation=vertical] .group\/trigger[data-expanded] .group-data-\[orientation\=vertical\]\/menu\:group-data-\[expanded\]\/trigger\:rotate-90{--tw-rotate:90deg;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))}@media (min-width:640px){.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:h-48{height:12rem}.md\:w-48{width:12rem}}.\[\&\:focus-visible\+div\]\:outline-none:focus-visible+div{outline-offset:2px;outline:2px solid #0000}.\[\&\:focus-visible\+div\]\:ring-2:focus-visible+div{--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\+div\]\:ring-ring:focus-visible+div{--tw-ring-color:hsl(var(--ring))}.\[\&\:focus-visible\+div\]\:ring-offset-2:focus-visible+div{--tw-ring-offset-width:2px}.\[\&\:focus-visible\+div\]\:ring-offset-background:focus-visible+div{--tw-ring-offset-color:hsl(var(--background))}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\]\:flex>*{display:flex}.\[\&\>\*\]\:flex-row>*{flex-direction:row}.\[\&\>\*\]\:items-center>*{align-items:center}.\[\&\>\*\]\:gap-1>*{gap:.25rem}.\[\&\>li\]\:w-full>li{width:100%}.\[\&\>ul\]\:justify-center>ul{justify-content:center}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}