diff --git a/server/public/assets/index-BIFzj-P-.css b/server/public/assets/index-BIFzj-P-.css new file mode 100644 index 00000000..e63bab44 --- /dev/null +++ b/server/public/assets/index-BIFzj-P-.css @@ -0,0 +1 @@ +*,: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}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pride-page-bg{background-color:#050505;background-image:linear-gradient(#0000,#0000),repeating-linear-gradient(45deg,#5bcefa 0 1.818%,#f5a9b8 1.818% 3.636%,#fff 3.636% 5.455%,#f5a9b8 5.455% 7.273%,#5bcefa 7.273% 9.091%,#e40303 9.091% 10.909%,#ff8c00 10.909% 12.727%,#ffed00 12.727% 14.545%,#00a651 14.545% 16.364%,#06f 16.364% 18.182%,#9b2fae 18.182% 20%);background-attachment:fixed}.panel{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-section{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-muted{border-radius:.375rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.surface{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.surface-muted{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.field-input{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.field-input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.field-input::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.field-input:focus{outline:2px solid transparent;outline-offset:2px;--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(1px + 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);--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.button-dark{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-dark:hover{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.button-danger{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-danger:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.chat-composer{container-type:inline-size;display:flex;flex-wrap:wrap;align-items:stretch;gap:.125rem;min-width:0;overflow:hidden}.chat-composer-nickname{flex:0 0 5rem;min-width:0;order:1}.chat-composer-input{flex:1 1 0%;min-width:0;order:2}.chat-composer-send{flex:0 0 auto;align-self:stretch;order:3}.chat-composer-tts{display:flex;flex:1 1 100%;align-items:center;gap:.125rem;min-width:0;overflow:hidden;order:4}@container (min-width: 44rem){.chat-composer{flex-wrap:nowrap}.chat-composer-nickname{flex-basis:7rem;order:1}.chat-composer-input{order:2}.chat-composer-tts{flex:0 1 auto;order:3}.chat-composer-send{order:4}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-\[calc\(100\%\+0\.125rem\)\]{bottom:calc(100% + .125rem)}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.z-\[70\]{z-index:70}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.mx-auto{margin-left:auto;margin-right:auto}.my-\[-0\.125rem\]{margin-top:-.125rem;margin-bottom:-.125rem}.-mt-0\.5{margin-top:-.125rem}.mb-0\.5{margin-bottom:.125rem}.ml-1{margin-left:.25rem}.mr-0{margin-right:0}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-\[0\.35vh\]{margin-top:.35vh}.mt-auto{margin-top:auto}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-64{height:16rem}.h-\[2px\]{height:2px}.h-\[3\.5rem\]{height:3.5rem}.h-\[70\%\]{height:70%}.h-\[7rem\]{height:7rem}.h-\[8vh\]{height:8vh}.h-\[calc\(1rem\+0\.25rem\)\]{height:1.25rem}.h-\[min\(100svh\,32rem\)\]{height:min(100svh,32rem)}.h-\[min\(60svh\,24rem\)\]{height:min(60svh,24rem)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[24rem\]{max-height:24rem}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-5{min-height:1.25rem}.min-h-\[10rem\]{min-height:10rem}.min-h-\[14rem\]{min-height:14rem}.min-h-\[16rem\]{min-height:16rem}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-\[4rem\]{min-height:4rem}.min-h-\[5rem\]{min-height:5rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-20{width:5rem}.w-28{width:7rem}.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-\[12\.5rem\]{width:12.5rem}.w-\[12rem\]{width:12rem}.w-\[20rem\]{width:20rem}.w-\[2px\]{width:2px}.w-\[3\.25rem\]{width:3.25rem}.w-\[4\.5rem\]{width:4.5rem}.w-\[5\.5rem\]{width:5.5rem}.w-\[5rem\]{width:5rem}.w-\[9rem\]{width:9rem}.w-\[calc\(1rem\+0\.25rem\)\]{width:1.25rem}.w-\[min\(42rem\,calc\(100vw-1rem\)\)\]{width:min(42rem,calc(100vw - 1rem))}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-28{min-width:7rem}.min-w-\[0\]{min-width:0}.min-w-\[3\.7rem\]{min-width:3.7rem}.min-w-\[9\.5rem\]{min-width:9.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[40vw\]{max-width:40vw}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80vw\]{max-width:80vw}.max-w-\[92\%\]{max-width:92%}.max-w-\[94\%\]{max-width:94%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-\[0\.72\]{flex:.72}.flex-\[1\.1\]{flex:1.1}.flex-\[1\.22\]{flex:1.22}.flex-\[1\.28\]{flex:1.28}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-top-left{transform-origin:top left}.-translate-x-1\/2{--tw-translate-x: -50%;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))}.-translate-y-1\/2{--tw-translate-y: -50%;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))}.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))}.transform{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}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,0\.7fr\)_minmax\(0\,2\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,.7fr) minmax(0,2.1fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1\.2fr\)_repeat\(4\,minmax\(0\,1fr\)\)\]{grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,0\.95fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr)}.grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,0\.22fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,.22fr)}.grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(0\,0\.85fr\)\]{grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr)}.grid-cols-\[minmax\(0\,1fr\)_4\.75rem\]{grid-template-columns:minmax(0,1fr) 4.75rem}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.7fr\)_minmax\(0\,1\.9fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.9fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_minmax\(0\,0\.75fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,.75fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto_1fr\]{grid-template-rows:auto auto 1fr}.grid-rows-\[auto_auto_1fr_auto\]{grid-template-rows:auto auto 1fr auto}.grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.grid-rows-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-rows:auto minmax(0,1fr) auto}.grid-rows-\[minmax\(0\,1fr\)_auto\]{grid-template-rows:minmax(0,1fr) auto}.grid-rows-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.\!flex-row{flex-direction:row!important}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-\[0\.55vh\]{gap:.55vh}.gap-\[0\.8vw\]{gap:.8vw}.gap-\[1vw\]{gap:1vw}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-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))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.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-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-amber-200\/30{border-color:#fde68a4d}.border-amber-200\/70{border-color:#fde68ab3}.border-amber-200\/90{border-color:#fde68ae6}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-300\/80{border-color:#fcd34dcc}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-400\/60{border-color:#fbbf2499}.border-amber-600\/60{border-color:#d9770699}.border-amber-700\/60{border-color:#b4530999}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-cyan-200\/90{border-color:#a5f3fce6}.border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.border-cyan-300\/70{border-color:#67e8f9b3}.border-cyan-500\/40{border-color:#06b6d466}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity))}.border-emerald-200\/70{border-color:#a7f3d0b3}.border-emerald-200\/90{border-color:#a7f3d0e6}.border-emerald-300{--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity))}.border-emerald-300\/70{border-color:#6ee7b7b3}.border-emerald-400\/60{border-color:#34d39999}.border-emerald-500\/40{border-color:#10b98166}.border-emerald-700\/60{border-color:#04785799}.border-emerald-700\/70{border-color:#047857b3}.border-fuchsia-300\/70{border-color:#f0abfcb3}.border-green-400{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity))}.border-indigo-200\/70{border-color:#c7d2feb3}.border-indigo-200\/95{border-color:#c7d2fef2}.border-indigo-300\/70{border-color:#a5b4fcb3}.border-indigo-400\/30{border-color:#818cf84d}.border-indigo-700{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.border-indigo-700\/60{border-color:#4338ca99}.border-neutral-500\/50{border-color:#73737380}.border-neutral-500\/60{border-color:#73737399}.border-neutral-600{--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity))}.border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.border-pink-200{--tw-border-opacity: 1;border-color:rgb(251 207 232 / var(--tw-border-opacity))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-red-300\/90{border-color:#fca5a5e6}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-red-400\/60{border-color:#f8717199}.border-rose-300{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity))}.border-sky-300{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity))}.border-sky-400\/50{border-color:#38bdf880}.border-slate-200\/30{border-color:#e2e8f04d}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.border-slate-400\/60{border-color:#94a3b899}.border-slate-500\/70{border-color:#64748bb3}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-slate-600\/40{border-color:#47556966}.border-slate-600\/60{border-color:#47556999}.border-slate-600\/70{border-color:#475569b3}.border-slate-600\/80{border-color:#475569cc}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-700\/60{border-color:#33415599}.border-slate-700\/70{border-color:#334155b3}.border-slate-700\/80{border-color:#334155cc}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-slate-800\/60{border-color:#1e293b99}.border-slate-800\/80{border-color:#1e293bcc}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-white\/40{border-color:#fff6}.border-white\/80{border-color:#fffc}.bg-amber-100\/95{background-color:#fef3c7f2}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-400\/80{background-color:#fbbf24cc}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-amber-600\/70{background-color:#d97706b3}.bg-amber-700\/20{background-color:#b4530933}.bg-amber-700\/30{background-color:#b453094d}.bg-amber-700\/35{background-color:#b4530959}.bg-amber-700\/80{background-color:#b45309cc}.bg-amber-800{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity))}.bg-amber-900\/40{background-color:#78350f66}.bg-amber-900\/60{background-color:#78350f99}.bg-amber-900\/90{background-color:#78350fe6}.bg-amber-950\/70{background-color:#451a03b3}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-black\/95{background-color:#000000f2}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-cyan-300\/80{background-color:#67e8f9cc}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.bg-cyan-500\/80{background-color:#06b6d4cc}.bg-cyan-900{--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity))}.bg-cyan-900\/45{background-color:#164e6373}.bg-cyan-900\/90{background-color:#164e63e6}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-emerald-500\/45{background-color:#10b98173}.bg-emerald-500\/80{background-color:#10b981cc}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-emerald-600\/70{background-color:#059669b3}.bg-emerald-600\/80{background-color:#059669cc}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.bg-emerald-700\/20{background-color:#04785733}.bg-emerald-700\/60{background-color:#04785799}.bg-emerald-800{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity))}.bg-emerald-900\/60{background-color:#064e3b99}.bg-emerald-900\/90{background-color:#064e3be6}.bg-emerald-950{--tw-bg-opacity: 1;background-color:rgb(2 44 34 / var(--tw-bg-opacity))}.bg-emerald-950\/50{background-color:#022c2280}.bg-fuchsia-200{--tw-bg-opacity: 1;background-color:rgb(245 208 254 / var(--tw-bg-opacity))}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-fuchsia-700{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity))}.bg-fuchsia-800{--tw-bg-opacity: 1;background-color:rgb(134 25 143 / var(--tw-bg-opacity))}.bg-fuchsia-900\/45{background-color:#701a7573}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-indigo-600\/70{background-color:#4f46e5b3}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}.bg-indigo-900\/60{background-color:#312e8199}.bg-indigo-950{--tw-bg-opacity: 1;background-color:rgb(30 27 75 / var(--tw-bg-opacity))}.bg-indigo-950\/90{background-color:#1e1b4be6}.bg-neutral-700{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.bg-neutral-800\/80{background-color:#262626cc}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.bg-neutral-900\/100{background-color:#171717}.bg-neutral-900\/70{background-color:#171717b3}.bg-neutral-900\/95{background-color:#171717f2}.bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\/45{background-color:#ef444473}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-600\/70{background-color:#dc2626b3}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.bg-red-700\/20{background-color:#b91c1c33}.bg-red-700\/60{background-color:#b91c1c99}.bg-red-800{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity))}.bg-red-900\/35{background-color:#7f1d1d59}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/45{background-color:#7f1d1d73}.bg-red-900\/50{background-color:#7f1d1d80}.bg-red-900\/80{background-color:#7f1d1dcc}.bg-rose-600{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity))}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-sky-700\/20{background-color:#0369a133}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-600\/70{background-color:#475569b3}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-700\/30{background-color:#3341554d}.bg-slate-700\/60{background-color:#33415599}.bg-slate-700\/70{background-color:#334155b3}.bg-slate-700\/80{background-color:#334155cc}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-800\/70{background-color:#1e293bb3}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-slate-900\/35{background-color:#0f172a59}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/70{background-color:#0f172ab3}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity))}.bg-slate-950\/80{background-color:#020617cc}.bg-slate-950\/90{background-color:#020617e6}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-zinc-900\/90{background-color:#18181be6}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-neutral-800{--tw-gradient-from: #262626 var(--tw-gradient-from-position);--tw-gradient-to: rgb(38 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-neutral-700{--tw-gradient-to: rgb(64 64 64 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #404040 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-neutral-600{--tw-gradient-to: #525252 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.fill-slate-200{fill:#e2e8f0}.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-2{padding:.5rem}.p-4{padding:1rem}.p-\[0\.45vw\]{padding:.45vw}.p-\[0\.85vw\]{padding:.85vw}.px-0{padding-left:0;padding-right:0}.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-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[1\.6vw\]{padding-left:1.6vw;padding-right:1.6vw}.px-\[1vw\]{padding-left:1vw;padding-right:1vw}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.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-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[0\.55vh\]{padding-top:.55vh;padding-bottom:.55vh}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pr-0{padding-right:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.45rem\]{font-size:.45rem}.text-\[0\.55em\]{font-size:.55em}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.58rem\]{font-size:.58rem}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[1rem\]{font-size:1rem}.text-\[clamp\(1\.25rem\,2\.5vh\,2\.6rem\)\]{font-size:clamp(1.25rem,2.5vh,2.6rem)}.text-\[clamp\(1\.2rem\,2\.9vh\,3rem\)\]{font-size:clamp(1.2rem,2.9vh,3rem)}.text-\[clamp\(2\.5rem\,5\.3vh\,5\.8rem\)\]{font-size:clamp(2.5rem,5.3vh,5.8rem)}.text-\[clamp\(2\.5rem\,7vh\,7rem\)\]{font-size:clamp(2.5rem,7vh,7rem)}.text-\[clamp\(2\.5rem\,8vh\,8rem\)\]{font-size:clamp(2.5rem,8vh,8rem)}.text-\[clamp\(2rem\,5vh\,5\.2rem\)\]{font-size:clamp(2rem,5vh,5.2rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.text-amber-200\/80{color:#fde68acc}.text-amber-200\/85{color:#fde68ad9}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity))}.text-amber-50\/90{color:#fffbebe6}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-cyan-50{--tw-text-opacity: 1;color:rgb(236 254 255 / var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity))}.text-emerald-100\/80{color:#d1fae5cc}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity))}.text-emerald-50\/90{color:#ecfdf5e6}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity))}.text-fuchsia-50{--tw-text-opacity: 1;color:rgb(253 244 255 / var(--tw-text-opacity))}.text-fuchsia-900{--tw-text-opacity: 1;color:rgb(112 26 117 / var(--tw-text-opacity))}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity: 1;color:rgb(238 242 255 / var(--tw-text-opacity))}.text-indigo-50\/90{color:#eef2ffe6}.text-lime-300{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity))}.text-neutral-100{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity))}.text-neutral-50{--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity))}.text-red-100\/90{color:#fee2e2e6}.text-red-100\/95{color:#fee2e2f2}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-50{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity))}.text-sky-200{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-400\/60{color:#94a3b899}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.accent-cyan-400{accent-color:#22d3ee}.accent-cyan-500{accent-color:#06b6d4}.accent-emerald-400{accent-color:#34d399}.accent-emerald-500{accent-color:#10b981}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_0_rgba\(255\,255\,255\,0\.05\)_inset\,0_10px_24px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow: 0 1px 0 rgba(255,255,255,.05) inset,0 10px 24px rgba(0,0,0,.28);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-cyan-400\/60{outline-color:#22d3ee99}.ring-1{--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(1px + 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-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-4{--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(4px + 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-amber-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.ring-amber-300\/80{--tw-ring-color: rgb(252 211 77 / .8)}.ring-emerald-300\/70{--tw-ring-color: rgb(110 231 183 / .7)}.ring-red-500\/80{--tw-ring-color: rgb(239 68 68 / .8)}.ring-red-500\/90{--tw-ring-color: rgb(239 68 68 / .9)}.ring-sky-400\/80{--tw-ring-color: rgb(56 189 248 / .8)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);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: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)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;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-500{transition-duration:.5s}.duration-700{transition-duration:.7s}@keyframes batteryTickWarn{0%,49%{background-color:#fffffff2}50%,to{background-color:#ef4444f2}}.battery-tick-warn{animation:batteryTickWarn .4s steps(2,end) infinite}@keyframes batteryUrgentFlash{0%,49%{opacity:1}50%,to{opacity:.25}}.battery-urgent-flash{animation:batteryUrgentFlash .4s steps(2,end) infinite}.no-touch-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.\[clip-path\:circle\(50\%\)\]{clip-path:circle(50%)}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}body{margin:0;min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}html,body,*{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.55) transparent}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*::-webkit-scrollbar{width:2px;height:2px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#94a3b88c;border-radius:9999px}@supports (scrollbar-width: thin){@media(pointer:coarse){html,body,*{scrollbar-width:none}}}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.last\:mb-0:last-child{margin-bottom:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;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))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.hover\:border-green-100:hover{--tw-border-opacity: 1;border-color:rgb(220 252 231 / var(--tw-border-opacity))}.hover\:border-rose-500:hover{--tw-border-opacity: 1;border-color:rgb(244 63 94 / var(--tw-border-opacity))}.hover\:border-sky-500:hover{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.hover\:border-white\/60:hover{border-color:#fff9}.hover\:bg-amber-400:hover{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.hover\:bg-cyan-800:hover{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.hover\:bg-fuchsia-500:hover{--tw-bg-opacity: 1;background-color:rgb(217 70 239 / var(--tw-bg-opacity))}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity))}.hover\:bg-pink-400:hover{--tw-bg-opacity: 1;background-color:rgb(244 114 182 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.hover\:bg-rose-500:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:bg-slate-700\/70:hover{background-color:#334155b3}.hover\:bg-zinc-900:hover{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-emerald-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.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-amber-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.focus-visible\:ring-cyan-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus-visible\:ring-emerald-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity))}.focus-visible\:ring-indigo-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;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))}.active\:scale-\[0\.99\]:active{--tw-scale-x: .99;--tw-scale-y: .99;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))}.active\:brightness-125:active{--tw-brightness: brightness(1.25);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)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(max-width:520px){.max-\[520px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[520px\]\:justify-start{justify-content:flex-start}}@media(max-width:420px){.max-\[420px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[420px\]\:grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.max-\[420px\]\:justify-start{justify-content:flex-start}}@media(min-width:640px){.sm\:block{display:block}.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media(min-width:768px){.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:min-h-0{min-height:0px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[0\.9fr_1fr_1\.3fr\]{grid-template-columns:.9fr 1fr 1.3fr}.md\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.25fr\)_minmax\(0\,0\.9fr\)\]{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}} diff --git a/server/public/assets/index-DXzRUUQl.js b/server/public/assets/index-CiNC24Oq.js similarity index 99% rename from server/public/assets/index-DXzRUUQl.js rename to server/public/assets/index-CiNC24Oq.js index 29dc9579..0ee45fc8 100644 --- a/server/public/assets/index-DXzRUUQl.js +++ b/server/public/assets/index-CiNC24Oq.js @@ -123,4 +123,4 @@ wok yeast yogurt shrimp -fling`;function eK(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""}function cK(){const t=String(tK).split(/\r?\n/).map(r=>r.trim()).filter(Boolean);return t.length?(t[Math.floor(Math.random()*t.length)]||"").trim():""}function Y7(){const{setNickname:t}=k2(),{value:a,status:r,save:o}=E1("profile",{nickname:""}),h=m.useRef(!1);m.useEffect(()=>{if(r!=="ready"||h.current||(a.nickname||"").trim())return;h.current=!0;const p=eK(cK()).slice(0,32);if(!p)return;(async()=>{try{await t(p)}catch{}finally{o({nickname:p})}})()},[o,t,r,a.nickname])}function Q7(){const t=$2(),a=o1(A=>A.connected),{identifySession:r}=k2(),{value:o,status:h,save:f}=E1("identity",{cookieUserId:""}),{value:p,status:x}=E1("profile",{nickname:""}),{value:z,status:g}=E1("overseerPreference",{enabled:!1}),v=m.useRef(!1),M=m.useRef(null),y=m.useRef(null),C=h==="ready"&&x==="ready"&&g==="ready",L=(o?.cookieUserId||"").trim(),S=(p?.nickname||"").trim(),w=!!z?.enabled,H=m.useCallback(()=>{y.current&&(clearTimeout(y.current),y.current=null)},[]),j=m.useCallback(async()=>{if(!(!C||!a||!t?.id||v.current)){v.current=!0;try{const B=((await r({cookieUserId:L,nickname:S,overseerEnabled:w}))?.cookieUserId||"").trim();B&&B!==L&&f(T=>({...T||{},cookieUserId:B})),M.current=t.id,H()}catch{H(),y.current=setTimeout(()=>{j()},2e3)}finally{v.current=!1}}},[H,a,L,r,S,w,C,f,t?.id]);m.useEffect(()=>{!C||!a||!t?.id||M.current!==t.id&&j()},[a,C,j,t?.id]),m.useEffect(()=>{!C||!a||!t?.id||j()},[C,a,t?.id,L,S,w,j]),m.useEffect(()=>{const A=()=>{t?.connected&&j()},B=()=>{typeof document>"u"||document.visibilityState!=="visible"||t?.connected&&j()};return window.addEventListener("online",A),document.addEventListener("visibilitychange",B),()=>{window.removeEventListener("online",A),document.removeEventListener("visibilitychange",B)}},[j,t?.connected]),m.useEffect(()=>{if(!C||!t?.connected)return;const A=setInterval(()=>{t?.connected&&j()},6e4);return()=>clearInterval(A)},[C,j,t?.connected]),m.useEffect(()=>()=>H(),[H])}const _e=1e4,Ue=28,aK=14;function nK(t){const a=String(t||"").trim(),r=a.startsWith("#")?a.slice(1):a;if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$/.test(r))return null;const o=r.length===3?r.split("").map(h=>h+h).join(""):r;return{r:Number.parseInt(o.slice(0,2),16),g:Number.parseInt(o.slice(2,4),16),b:Number.parseInt(o.slice(4,6),16)}}function us(t,a){return`rgba(${t.r}, ${t.g}, ${t.b}, ${a})`}function E7({layout:t="desktop",className:a="",dismissable:r=!0}){const o=o1(B=>{const T=B.session?.globalObjective?.text;return T?String(T).trim():""}),h=o1(B=>{const T=String(B.session?.assignment?.roverId||"").trim();return T&&(Array.isArray(B.session?.roster)?B.session.roster:[]).find(N=>String(N?.id)===T)?.color||null}),f=t==="mobile-portrait"||t==="mobile-landscape"||t==="mobile",[p,x]=m.useState(!1),[z,g]=m.useState(Ue),[v,M]=m.useState(0),y=m.useRef(null),C=m.useRef(null),L=m.useRef(null);m.useEffect(()=>{if(!o){x(!1);return}if(x(!0),!f||!r)return;const B=Date.now();M(_e);const T=setTimeout(()=>x(!1),_e),E=setInterval(()=>{const R=Date.now()-B;M(Math.max(0,_e-R))},250);return()=>{clearTimeout(T),clearInterval(E)}},[o,f]),m.useEffect(()=>{if(!o)return;g(Ue);let B=0;const T=()=>{const R=L.current,N=C.current;if(!R||!N)return;const O=R.clientWidth;if(!O)return;const $=N.scrollWidth;if(!$)return;const I=Math.min(1,O/$),P=Math.max(aK,Math.floor(Ue*I));g(P)};B=window.requestAnimationFrame(T);const E=new ResizeObserver(()=>{window.cancelAnimationFrame(B),B=window.requestAnimationFrame(T)});return y.current&&E.observe(y.current),()=>{window.cancelAnimationFrame(B),E.disconnect()}},[o]);const S=m.useMemo(()=>["panel-section flex w-full items-center justify-center border border-neutral-500/60 shadow-[0_1px_0_rgba(255,255,255,0.05)_inset,0_10px_24px_rgba(0,0,0,0.28)]",f?"rounded-none":"rounded","px-1 py-1 text-center font-semibold tracking-tight",a].filter(Boolean).join(" "),[a,f]),w=nK(h),H=w?{borderColor:us(w,.35),backgroundImage:`linear-gradient(90deg, rgba(23,23,23,0.96) 0%, rgba(38,38,38,0.94) 58%, ${us(w,.18)} 100%)`}:void 0;if(!o||!p)return null;const j=f?Math.ceil(v/1e3):null,A=r?{onClick:()=>x(!1),role:"button",tabIndex:0}:{};return l.jsx("div",{ref:y,className:S,style:{...H||{},fontSize:`${z}px`,lineHeight:1.1},...A,children:l.jsxs("span",{className:"flex w-full items-stretch gap-0.5 whitespace-nowrap rounded-md",children:[l.jsxs("span",{className:"flex flex-col justify-center border-r border-slate-700/60 px-0.5 text-[0.55em] font-semibold leading-tight text-slate-400",children:[l.jsx("span",{children:"Global"}),l.jsx("span",{children:"Objective"})]}),l.jsx("span",{ref:L,className:"flex-1 overflow-hidden text-slate-100",children:l.jsx("span",{ref:C,className:"block",children:o})}),f?l.jsxs("span",{className:"flex items-center border-l border-slate-700/60 px-0.5 text-[0.55em] font-semibold uppercase tracking-wide text-slate-400",children:[j,"s"]}):null]})})}const lK=3200;function rK(t={}){const a=typeof t.rewardName=="string"&&t.rewardName.trim()?t.rewardName.trim():"Unknown Event",r=Number.isFinite(Number(t.goal))?Math.max(1,Math.floor(Number(t.goal))):0,o=Number.isFinite(Number(t.count))?Math.max(0,Math.floor(Number(t.count))):r;return{rewardName:a,goal:r,count:o,ts:Date.now()}}function Zc(){const t=$2(),{value:a}=E1("audio",d2),r=Number.isFinite(a?.masterVolume)?a.masterVolume:d2.masterVolume,o=Number.isFinite(a?.alertVolume)?a.alertVolume:d2.alertVolume,h=Math.max(0,Math.min(1,r*o)),[f,p]=m.useState(null),x=m.useRef(null);return m.useEffect(()=>{x.current=new Audio("/tada.mp3"),x.current.volume=h,x.current.load()},[h]),m.useEffect(()=>{let z=null;function g(){const y=x.current;y&&(y.volume=h,y.currentTime=0,y.play().catch(()=>{}))}function v(y={}){const C=rK(y);p(C),g(),z&&clearTimeout(z),z=setTimeout(()=>{p(null)},lK)}function M(y){v(y?.detail||{})}return t.on("buttonBox:rewardRun",v),window.addEventListener("buttonBox:rewardRunLocalTest",M),()=>{z&&clearTimeout(z),t.off("buttonBox:rewardRun",v),window.removeEventListener("buttonBox:rewardRunLocalTest",M)}},[h,t]),f?l.jsx("div",{className:"pointer-events-none fixed inset-0 z-[120] flex items-center justify-center bg-black/75 px-1 py-1",children:l.jsx("div",{className:"pointer-events-auto w-full max-w-2xl",children:l.jsx("div",{className:"surface rounded-none border-2 border-cyan-300 bg-amber-100/95 px-1 py-1 text-center text-black shadow-2xl",children:l.jsxs("div",{className:"flex items-center justify-center gap-1 border-2 border-blue-600 bg-yellow-100 px-0.5 py-1",children:[l.jsx("img",{src:"/party1.gif",alt:"",className:"hidden shrink-0 sm:block"}),l.jsxs("div",{children:[l.jsxs("p",{className:"font-mono text-2xl font-bold text-red-700 sm:text-3xl",children:["Running event: ",f.rewardName,"!"]}),l.jsxs("p",{className:"font-mono text-xl font-bold text-blue-800 sm:text-2xl",children:[f.count,"/",f.goal]})]}),l.jsx("img",{src:"/party2.gif",alt:"",className:"hidden shrink-0 sm:block"})]})})})}):null}const iK=4e3;function hs(...t){return t.filter(Boolean).join(" ")}function sK(){const t=$2(),[a,r]=m.useState(!!t?.connected),[o,h]=m.useState(""),[f,p]=m.useState(!0),[x,z]=m.useState(!1),g=m.useRef(null);m.useEffect(()=>{const L=()=>{g.current&&(clearTimeout(g.current),g.current=null)},S=()=>{L(),p(!0),z(!1)},w=()=>{L(),g.current=setTimeout(()=>{z(!0)},iK)},H=()=>{r(!0),h(""),S(),w()},j=T=>{r(!1),h(typeof T=="string"?T:"disconnected"),S()},A=T=>{r(!1),h(T?.message||"connect error"),S()},B=()=>{r(!1),S()};return t.on("connect",H),t.on("disconnect",j),t.on("connect_error",A),t.io.on("reconnect_attempt",B),t.connected&&w(),()=>{L(),t.off("connect",H),t.off("disconnect",j),t.off("connect_error",A),t.io.off("reconnect_attempt",B)}},[t]);const v=typeof navigator<"u"?navigator.onLine===!1:!1,M=a?"Connected to socket.io":v?"Offline":"Reconnecting...",y=a?"":o,C=a?"bg-emerald-700 text-emerald-100":v?"bg-red-800 text-red-100":"bg-amber-800 text-amber-100";return l.jsx("div",{className:hs("fixed bottom-2 left-2 z-[120] transition-opacity duration-500",!f&&"hidden",x?"opacity-0 pointer-events-none":"opacity-100"),"aria-live":"polite",children:l.jsxs("div",{className:hs("rounded-sm px-2 py-1 text-xs",C),children:[l.jsx("span",{className:"font-semibold",children:M}),y?l.jsxs("span",{className:"ml-1 opacity-85",children:["(",y,")"]}):null]})})}function oK(){const[t,a]=m.useState(()=>typeof window>"u"||window.innerWidth>=1024?"desktop":window.innerWidth>window.innerHeight?"mobile-landscape":"mobile-portrait");return m.useEffect(()=>{function r(){if(typeof window>"u")return;const{innerWidth:o,innerHeight:h}=window;o>=1024?a("desktop"):o>h?a("mobile-landscape"):a("mobile-portrait")}return r(),window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),t}function uK({layout:t,onOpenHelpOverlay:a}){return l.jsxs("div",{className:`flex h-full ${H2} overflow-hidden`,children:[l.jsxs("div",{className:`flex min-w-0 flex-[1.22] flex-col ${H2} overflow-y-auto pr-0`,children:[l.jsx(Rc,{}),l.jsx(kv,{}),l.jsx(ov,{})]}),l.jsxs("div",{className:`flex min-w-0 flex-1 flex-col ${H2} overflow-y-auto`,children:[l.jsx(E7,{layout:t}),l.jsx(EQ,{layout:t,onOpenHelpOverlay:a})]})]})}function Wo({layout:t,onOpenHelpOverlay:a,roomPanelId:r}){const[o,h]=m.useState("chat"),f=o1(w=>!!w.session?.isVerified),p=o1(w=>String(w.session?.assignment?.roverId||"").trim()),x=o1(w=>{const H=String(w.session?.assignment?.roverId||"").trim();return H&&w.session?.audioForward?.[H]||null}),{state:z}=V2(),{value:g}=E1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),v=f?"bg-emerald-400":"bg-amber-400",M=!!z?.mic?.pttActive,y=!!g?.openMicEnabled,C=g?.pttMode==="clip"?"clip":"live",L=!!(p&&f&&(C==="clip"?M:y||M)),S=!!(p&&f&&C==="clip"&&x?.source==="upload"&&x?.state==="playing");return l.jsx("section",{className:"text-base",children:l.jsxs(Dc,{defaultTab:"chat",currentTab:o,onTabChange:h,children:[l.jsxs(Oc,{children:[l.jsx(i4,{id:"chat",children:"Chat"}),l.jsx(i4,{id:"vip",highlight:S?"green":L?"pink":"none",children:l.jsxs("span",{className:"inline-flex items-center gap-0.5",children:[l.jsx("span",{children:"VIP"}),l.jsx("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${v}`,"aria-hidden":"true",title:f?"Verified":"Not verified"})]})}),l.jsx(i4,{id:"roomcontrols",children:"Room Controls"}),l.jsx(i4,{id:"help",children:"Help"}),l.jsx(i4,{id:"settings",children:"Settings"})]}),l.jsxs(_c,{children:[l.jsx(s4,{id:"chat",children:l.jsxs("div",{className:u6,children:[l.jsx(k8,{nicknameLayout:"stacked"}),l.jsxs("div",{className:u6,children:[l.jsx("div",{className:`grid ${H2} md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:l.jsx(Uc,{})}),l.jsxs("div",{className:`grid ${H2} grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`,children:[l.jsx(Jo,{}),l.jsx(k7,{hideNicknameForm:!0})]})]})]})}),l.jsx(s4,{id:"vip",keepMounted:!0,children:l.jsx(Xo,{isActive:o==="vip"})}),l.jsx(s4,{id:"roomcontrols",children:l.jsxs("div",{className:u6,children:[l.jsx(Oo,{}),l.jsx(R7,{}),l.jsx(Fc,{panelId:r}),l.jsx(Ao,{})]})}),l.jsx(s4,{id:"help",children:l.jsx(Qo,{layout:t,onOpenOverlay:a})}),l.jsx(s4,{id:"settings",children:l.jsxs("div",{className:u6,children:[l.jsx(Io,{}),l.jsx(Lo,{})]})})]})]})})}function hK({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){return l.jsxs("div",{className:`flex flex-col ${H2}`,children:[l.jsx(Rc,{layoutFormat:"mobile-portrait"}),l.jsx(WI,{swapColumns:a}),l.jsxs("div",{className:`grid ${H2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[l.jsx(Hc,{panelId:"replay-sources-mobile-portrait"}),l.jsx(P7,{})]}),l.jsx(Wo,{layout:"mobile-portrait",onOpenHelpOverlay:t,roomPanelId:"mobile-portrait-room"})]})}function dK({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){const r="self-start h-[min(100svh,32rem)]",o=a?l.jsx(N7,{layout:"landscape",className:r}):l.jsx(j7,{layout:"landscape",className:r}),h=a?l.jsx(j7,{layout:"landscape",className:r}):l.jsx(N7,{layout:"landscape",className:r});return l.jsxs("div",{className:`flex flex-col ${H2}`,children:[l.jsxs("section",{className:`grid min-h-screen grid-cols-[minmax(0,0.7fr)_minmax(0,2.1fr)_minmax(0,0.7fr)] ${H2}`,children:[o,l.jsxs("div",{children:[l.jsx(Rc,{layoutFormat:"mobile-landscape"}),l.jsxs("div",{className:`grid ${H2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[l.jsx(Hc,{panelId:"replay-sources-mobile-landscape"}),l.jsx(P7,{})]})]}),h]}),l.jsx("div",{className:`flex flex-col ${H2} pb-0`,children:l.jsx(Wo,{layout:"mobile-landscape",onOpenHelpOverlay:t,roomPanelId:"mobile-landscape-room"})})]})}function fK(){const t=oK(),a=t==="desktop",r=QQ(t);return l.jsx("div",{className:`${RY} text-slate-100 ${a?"h-screen overflow-hidden":"min-h-screen"}`,children:l.jsx(mK,{layout:t,isDesktop:a,fullscreen:r})})}function mK({layout:t,isDesktop:a,fullscreen:r}){Y7(),Q7();const{visible:o,mode:h,isIOS:f,nativeSupported:p,enterFullscreen:x,dismiss:z,showPrompt:g}=r,{value:v,save:M}=E1("help",{showOnLoad:!0}),{value:y,status:C,save:L}=E1("quickstart",{showOnLoad:!0}),{value:S}=E1("page",{swapMobileControlColumns:!1}),w=!!S?.swapMobileControlColumns,H=w?"left":"right",j=!a&&(f||p),A=o1(k=>k.latestRequestedReplay),{clearReplayModal:B}=k2(),[T,E]=m.useState(!1),[R,N]=m.useState(!1);m.useEffect(()=>{C==="ready"&&N(y?.showOnLoad!==!1)},[C,y?.showOnLoad]);const O=m.useCallback(()=>E(!0),[]),$=m.useCallback(()=>E(!1),[]),I=m.useCallback(()=>N(!1),[]),P=m.useCallback(async()=>{if(f){g();return}await x()||g()},[x,f,g]),u1=m.useCallback(k=>{const D=!!k;L(U=>({...U??{},showOnLoad:D})),D||N(!1)},[L]),h1=m.useCallback(()=>{N(!1),E(!0)},[]),a1=m.useMemo(()=>a?l.jsx(uK,{layout:t,onOpenHelpOverlay:O}):t==="mobile-landscape"?l.jsx(dK,{onOpenHelpOverlay:O,swapMobileControlColumns:w}):l.jsx(hK,{onOpenHelpOverlay:O,swapMobileControlColumns:w}),[a,t,O,w]);return l.jsxs(xI,{children:[l.jsx(jI,{}),l.jsx(ZI,{}),l.jsxs("main",{className:`flex w-full flex-col ${H2} text-base ${a?"h-full overflow-hidden":""}`,children:[a?null:l.jsx(E7,{layout:t}),a1]}),l.jsx(Ac,{}),l.jsx(Zc,{}),l.jsx($Q,{}),l.jsx(_Q,{}),l.jsx(sK,{}),l.jsx(KQ,{visible:T,layout:t,onClose:$,showOnLoad:v?.showOnLoad!==!1,onToggleShowOnLoad:k=>M(D=>({...D??{},showOnLoad:!!k}))}),l.jsx(GQ,{visible:o,mode:h,onEnterFullscreen:x,onDismiss:z}),l.jsx(WQ,{visible:R,layout:t,showOnLoad:y?.showOnLoad!==!1,onToggleShowOnLoad:u1,onOpenHelp:h1,onClose:I}),l.jsx(_7,{replay:A,onClose:B}),j?l.jsx(IQ,{side:H,onClick:P}):null]})}function $c(){const{session:t,setRole:a,subscribeAll:r,connected:o}=m0(),[h,f]=m.useState(!1);return m.useEffect(()=>{let p=!1;async function x(){if(t?.mode==="lockdown"){f(!1);return}try{t?.role!=="spectator"&&await a("spectator"),await r(),p||f(!0)}catch(z){console.error("Failed to enter spectator mode",z),p||f(!1)}}return x(),()=>{p=!0}},[o,t?.mode,t?.role,a,r]),h}function vK(){const[t,a]=m.useState(()=>typeof window>"u"?!1:window.matchMedia("(max-aspect-ratio: 4/3)").matches);return m.useEffect(()=>{if(typeof window>"u")return;const r=window.matchMedia("(max-aspect-ratio: 4/3)"),o=h=>a(h.matches);return r.addEventListener?r.addEventListener("change",o):r.addListener(o),()=>{r.removeEventListener?r.removeEventListener("change",o):r.removeListener(o)}},[]),t}function pK({show:t=!1,roverId:a=null,sensors:r,batteryConfig:o,mobileHud:h=!1}){const f=G2(a),p=o1(v=>a?(v.session?.roster||[]).find(C=>String(C.id)===String(a))?.battery??null:null),x=r??f?.sensors??null,z=o??p,g=F8({charge:x?.batteryChargeMah??null,config:z});return!t||!g?.available?null:l.jsx("div",{className:"pointer-events-none absolute right-1 top-1/2 flex h-[70%] -translate-y-1/2 flex-col items-center justify-center rounded bg-black/60 px-0.5 pb-1 pt-1",children:l.jsx($7,{visual:g,orientation:"vertical",variant:"inline",compact:h,className:"h-full w-4"})})}const gK=U2.memo(pK);function xK({roverId:t=null,label:a,fitParent:r=!1,layoutFormat:o="desktop"}){return l.jsx("div",{className:`flex flex-col gap-0.5 ${r?"h-full":""}`,children:l.jsxs("div",{className:`relative w-full overflow-hidden bg-black ${r?"h-full flex-1":"aspect-[4/3]"}`,children:[l.jsx(H8,{roverId:t,label:a}),l.jsx(Eo,{roverId:t,variant:"spectator",mobileHud:!1}),l.jsx(Ro,{roverId:t,layoutFormat:o,variant:"spectator",mobileHud:!1,labelScale:1}),l.jsx(To,{roverId:t,compact:!1}),l.jsx(qo,{roverId:t,compact:!1}),l.jsx(gK,{show:!0,roverId:t,mobileHud:!1})]})})}function zK({rover:t}){return l.jsx("article",{className:"min-h-[16rem] rounded bg-zinc-900 p-0 sm:min-h-[18rem]",children:l.jsx("div",{className:"min-h-0 overflow-hidden rounded bg-black/20",children:l.jsx(xK,{roverId:t.id,label:t.name})})})}function MK({roster:t}){return t.length===0?l.jsx("p",{className:"col-span-full text-slate-400",children:"No rovers registered."}):l.jsx("section",{className:"grid grid-cols-1 gap-0.5 md:grid-cols-2",children:t.map(a=>l.jsx(zK,{rover:a},a.id))})}function bK(){return l.jsx("section",{className:"min-h-0",children:l.jsx("div",{className:"surface min-h-[14rem] overflow-hidden",children:l.jsx(Fc,{defaultOrientation:"horizontal",hideLayoutToggle:!0,hideHeader:!0,panelId:"spectator-secondary"})})})}function yK({className:t=""}){return l.jsx("div",{className:`panel ${t}`,children:l.jsx(Lo,{})})}function CK(){const{session:t}=m0(),a=o1(M=>M.latestReplay),{clearLatestReplay:r}=k2(),o=t?.mode==="lockdown";Y7(),Q7(),$c();const h=vK(),f=t?.roster??[];if(o)return l.jsx("div",{className:"flex min-h-screen items-center justify-center bg-black text-slate-200",children:l.jsxs("div",{className:"surface max-w-md space-y-0.5 p-1 text-center text-sm",children:[l.jsx("p",{className:"text-lg font-semibold text-white",children:"Spectate disabled during lockdown."}),l.jsx("p",{className:"text-slate-300",children:"Please wait until the server leaves lockdown to view streams."})]})});const p=h?"flex min-h-screen flex-col bg-black text-slate-100 md:h-screen md:overflow-hidden":"grid min-h-screen grid-cols-1 gap-0.5 bg-black text-slate-100 md:h-full md:min-h-0 md:grid-cols-[minmax(0,1fr)_18rem] lg:grid-cols-[minmax(0,1fr)_20rem]",x=h?"order-2 flex min-h-0 min-w-0 flex-1 flex-col gap-0.5 overflow-y-auto":"order-1 flex min-h-0 min-w-0 flex-col gap-0.5 md:overflow-y-auto",z=h?"order-1 grid w-full min-h-0 items-stretch gap-0.5 border-b border-slate-800/60 bg-slate-950/90 p-0.5 grid-cols-[minmax(0,1fr)_minmax(0,0.7fr)_minmax(0,1.9fr)_minmax(0,0.7fr)]":"order-2 flex min-h-0 min-w-0 flex-col gap-0.5 border-l border-slate-800/60 bg-slate-950/90 md:h-full md:overflow-y-auto",g="",v=h?"h-64":"";return l.jsxs("div",{className:"min-h-screen bg-black text-slate-100 md:h-screen md:overflow-hidden",children:[l.jsxs("main",{className:p,children:[l.jsxs("section",{className:z,children:[h?l.jsxs("div",{className:`${g} ${v} flex flex-col gap-0.5`,children:[l.jsx(E7,{layout:"desktop",dismissable:!1,className:"text-sm"}),l.jsx(R7,{}),l.jsx("div",{className:"min-h-0 flex-1",children:l.jsx(k7,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})})]}):l.jsxs("div",{className:g,children:[l.jsx(E7,{layout:"desktop",dismissable:!1,className:"text-sm"}),l.jsx(R7,{})]}),l.jsx("div",{className:`${g} ${h?`${v} overflow-y-auto`:""}`,children:l.jsx("div",{className:"panel h-full",children:l.jsx(P7,{title:"Rovers"})})}),h?null:l.jsx("div",{className:`${g} flex-1 min-h-0`,children:l.jsx(k7,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})}),l.jsx("div",{className:`${g} ${h?v:"flex-[1.1] min-h-0"}`,children:l.jsx(k8,{allowSpectatorInput:!0,hideSpectatorNotice:!0,fillHeight:!0})}),l.jsx("div",{className:`${g} ${h?v:""}`,children:l.jsx(yK,{className:`${h?"h-full":"h-40"} overflow-hidden`})})]}),l.jsxs("section",{className:x,children:[l.jsx(MK,{roster:f}),l.jsx(bK,{})]})]}),l.jsx(Ac,{}),l.jsx(Zc,{}),l.jsx(_7,{replay:a,onClose:r})]})}function wK(){return l.jsx(CK,{})}function HK({children:t}){return l.jsx("div",{className:"flex h-full w-full items-center justify-start overflow-hidden bg-black",children:l.jsx("div",{className:"relative flex items-center justify-center overflow-hidden bg-black",style:{width:"min(100%, calc(100vh * 4 / 3))",height:"min(100%, calc(100vw * 3 / 4))",maxWidth:"100%",maxHeight:"100%",aspectRatio:"4 / 3"},children:l.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-hidden",children:t})})})}function SK({roverId:t,session:a}){const r=a?.activeDrivers?.[t]||null,h=(a?.users||[]).find(x=>x.socketId===r)?.nickname||(r?r.slice(0,6):"No driver"),f=a?.mode,p=a?.turnQueues?.[t];return f==="turns"&&p?.current?`${h}`:h}function VK({rover:t,frame:a}){const r=a?.sensors?.batteryChargeMah??null,o=t?.battery??null;return F8({batteryState:t?.batteryState??null,charge:r,config:o})}function s3({children:t,className:a="",maxSize:r=1e3,minSize:o=14,style:h=void 0}){const f=m.useRef(null),p=m.useRef(null),[x,z]=m.useState(r);return m.useLayoutEffect(()=>{const g=f.current,v=p.current;if(!g||!v)return;let M=null;const y=()=>{const S=g.clientWidth;if(!S){C();return}let w=o,H=r,j=o;for(;w<=H;){const A=Math.floor((w+H)/2);v.style.fontSize=`${A}px`,v.scrollWidth<=S?(j=A,w=A+1):H=A-1}z(j)},C=()=>{M&&cancelAnimationFrame(M),M=requestAnimationFrame(y)};C();const L=new ResizeObserver(C);return L.observe(g),()=>{M&&cancelAnimationFrame(M),L.disconnect()}},[t,r,o]),l.jsx("div",{ref:f,className:"w-full min-w-0",children:l.jsx("div",{ref:p,className:`whitespace-nowrap ${a}`,style:{fontSize:`${x}px`,lineHeight:1.1,...h||{}},children:t})})}function ds({rover:t,frame:a,driverLabel:r,sessionInfo:o,videoMode:h="snapshot",snapshotFeed:f,withDivider:p=!1,showPreview:x=!0,variant:z="stacked"}){const g=VK({rover:t,frame:a}),v=g?.available?g.percentDisplay:null,M=z==="active";return l.jsxs("div",{className:`relative flex min-w-0 flex-1 flex-col gap-4 overflow-hidden bg-black px-0 py-0 ${p?"border-r border-slate-700/60":""}`,children:[l.jsx($7,{visual:g,orientation:M?"vertical":"horizontal",variant:"background"}),M?l.jsxs("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col justify-between text-center",children:[l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(C4,{rover:t,fallback:t.id,as:s3,className:"leading-none",maxSize:1e3,minSize:18})}),r?l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:r})}):l.jsx("div",{}),l.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:l.jsx("div",{className:"relative",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:v==null?"--%":`${v}%`})})})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"relative z-10 flex min-w-0 flex-col gap-1 text-center",children:[l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(C4,{rover:t,fallback:t.id,as:s3,className:"leading-none",maxSize:1e3,minSize:18})}),r?l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:r})}):null,l.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:l.jsx("div",{className:"relative",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:80,minSize:16,children:v==null?"--%":`${v}%`})})})]}),l.jsx("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col gap-4",children:l.jsx("div",{className:"flex w-full min-w-0 flex-1 flex-col items-center gap-4",children:x?l.jsx("div",{className:"mt-auto w-full",children:l.jsx("div",{className:"w-full aspect-[4/3]",children:l.jsx(H8,{sessionInfo:o,videoMode:h,snapshotFeed:f,audioSessionInfo:null,label:t.name||t.id,sensors:a?.sensors||null})})}):null})})]})]})}const AK=2e4,LK=3600*1e3;function BK(){const{session:t}=m0(),a=$c();Y7(),Q7();const r=t?.mode==="lockdown",o=!!t?.isLocalNetwork,h=nv(),f=t?.roster??[],[p,x]=m.useState(0),z=t?.activeDrivers||{},g=m.useMemo(()=>f.filter($=>z[$.id]),[f,z]),v=g.length?g:f,M=Bo(v.map($=>$.id),{enabled:!r&&!o,version:t?.mode}),y=m.useMemo(()=>o?v.map($=>({type:"rover",id:$.id,key:$.id})):[],[o,v]),C=sc(y,{enabled:!r&&o,version:t?.mode}),L=m.useMemo(()=>g.flatMap($=>{if(!$?.id||!$.media?.audioPublishUrl)return[];const I=String($.id);return[{type:"rover",id:`${I}-audio`,key:`${I}-audio`}]}),[g]),S=sc(L,{enabled:!r,version:t?.mode}),w=m.useMemo(()=>{if(!g.length)return[];if(!o){const I=g.filter(P=>M[P.id]?.objectUrl);return I.length?I:g}const $=g.filter(I=>{const P=C[I.id];return P?.url&&!P?.error});return $.length?$:g},[g,M,C,o]),H=m.useMemo(()=>w.map($=>({type:"rover",rover:$})),[w]),j=m.useMemo(()=>H.map($=>`r:${$.rover.id}`).join("|"),[H]);m.useEffect(()=>{x(0)},[j]),m.useEffect(()=>{if(!H.length)return;const $=setInterval(()=>{x(I=>(I+1)%H.length)},AK);return()=>clearInterval($)},[H.length,j]);const A=H.length?H[p%H.length]:null,B=A?.type==="rover"?A.rover:null,T=!o&&B&&M[B.id]||null,E=o&&B&&C[B.id]||null,R=B&&S[`${B.id}-audio`]||null,N=B&&h[B.id]||null,O=B?SK({roverId:B.id,session:t}):null;return r?l.jsx("div",{className:"relative flex h-screen w-screen items-center justify-center bg-black text-slate-200",children:l.jsxs("div",{className:"surface max-w-sm space-y-0.5 p-1 text-center text-sm",children:[l.jsx("p",{className:"text-lg font-semibold text-white",children:"Mini spectator is disabled in lockdown."}),l.jsx("p",{className:"text-slate-300",children:"It will automatically resume once lockdown ends."})]})}):g.length?l.jsxs("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:[l.jsx("section",{className:"relative flex h-full shrink-0 items-center justify-start overflow-hidden bg-black",style:{width:"min(100vw, calc(100vh * 4 / 3))"},children:a?B?l.jsx(HK,{children:o?l.jsx("div",{className:"relative h-full w-full",children:H.map($=>{const I=$.rover,P=B?.id===I.id;return l.jsx("div",{className:`absolute inset-0 ${P?"opacity-100":"opacity-0 pointer-events-none"}`,children:l.jsx(H8,{sessionInfo:C[I.id]||null,videoMode:"whep",snapshotFeed:null,audioSessionInfo:P?R:null,forceMute:!P,label:I.name||I.id,sensors:h[I.id]?.sensors||null})},I.id)})}):l.jsx(H8,{sessionInfo:null,videoMode:"snapshot",snapshotFeed:T,audioSessionInfo:R,label:B.name||B.id,sensors:N?.sensors||null})}):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:g.length?"No sources available.":"No active drivers."}):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"Switching to spectatorโฆ"})}),l.jsx("aside",{className:"flex h-full min-w-0 flex-1 flex-col border-l border-slate-800/60 bg-black",children:B?l.jsx(ds,{rover:B,frame:N,driverLabel:O,sessionInfo:o?E:null,videoMode:o?"whep":"snapshot",snapshotFeed:o?null:M[B.id]||null,showPreview:!1,variant:"active"}):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No active rover."})})]}):l.jsx("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:l.jsx("section",{className:"flex h-full w-full gap-x-3 bg-slate-900 px-0",children:f.length?f.map($=>l.jsx(ds,{rover:$,frame:h[$.id]||null,driverLabel:null,sessionInfo:o&&C[$.id]||null,videoMode:o?"whep":"snapshot",snapshotFeed:o?null:M[$.id]||null,showPreview:!0,withDivider:!1},$.id)):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No rovers available."})})})}function jK(){return m.useEffect(()=>{if(typeof window>"u")return;const t=setTimeout(()=>{const a=new URL(window.location.href);a.searchParams.set("refresh",Date.now().toString()),window.location.replace(a.toString())},LK);return()=>clearTimeout(t)},[]),l.jsxs(l.Fragment,{children:[l.jsx(BK,{}),l.jsx(Ac,{scale:3})]})}function tu(t){return String(t?.nickname||t?.socketId?.slice(0,6)||"unknown").trim()}function NK({roverId:t,session:a}){const r=a?.activeDrivers?.[t]||null;if(!r)return null;const o=(a?.users||[]).find(h=>h.socketId===r);return{socketId:r,label:tu(o||{socketId:r})}}function FK({rover:t,frame:a}){return F8({batteryState:t?.batteryState??null,charge:a?.sensors?.batteryChargeMah??null,config:t?.battery??null})}function kK(t){return t?.available?t.urgentActive?`${t.percentDisplay}% Low`:t.warnActive?`${t.percentDisplay}% Low`:`${t.percentDisplay}%`:"--"}function RK(t,a){const r=[];return t?.private?.enabled&&t?.private?.open&&r.push("Private"),(a?.urgentActive||a?.warnActive)&&r.push("Low"),r.join(" ยท ")}function EK(t){return t<=1?"grid-cols-1":t===2||t===4?"grid-cols-2":"grid-cols-3"}function TK(...t){return t.filter(Boolean).join(" ")}function qK({users:t=[]}){const a=m.useRef(null),r=m.useRef(null),o=m.useRef(null),[h,f]=m.useState(!1),p=m.useMemo(()=>t.filter(g=>g?.role!=="spectator").map(tu).filter(Boolean).sort((g,v)=>g.localeCompare(v)),[t]);m.useEffect(()=>{const g=a.current,v=o.current;if(!g||!v)return;const M=()=>{f(v.scrollWidth>g.clientWidth+4)};M();const y=new ResizeObserver(M);return y.observe(g),y.observe(v),()=>y.disconnect()},[p]),m.useEffect(()=>{const g=r.current;if(!g||!h)return;const v=g.animate([{transform:"translateX(0)"},{transform:"translateX(-50%)"}],{duration:42e3,iterations:1/0,easing:"linear"});return()=>v.cancel()},[h,p]);const z=(p.length?p:["No one online"]).map((g,v)=>l.jsx("span",{className:"shrink-0 px-[1.6vw] font-black tracking-normal text-slate-100",children:g},`${g}-${v}`));return l.jsx("div",{ref:a,className:"relative h-full min-w-0 overflow-hidden border-b border-slate-800/80 bg-black",children:l.jsxs("div",{ref:r,className:TK("flex h-full w-max items-center whitespace-nowrap text-[clamp(2rem,4.2vh,4.6rem)] leading-none"),children:[l.jsx("div",{ref:o,className:"flex h-full items-center",children:z}),h?l.jsx("div",{className:"flex h-full items-center","aria-hidden":"true",children:z}):null]})})}function Ze(...t){return t.filter(Boolean).join(" ")}function DK({rover:t,session:a}){const r=G2(t?.id),o=FK({rover:t,frame:r}),h=NK({roverId:t?.id,session:a}),f=RK(t,o),p=kK(o),x=!!h,z=!!o?.urgentActive,g=!!o?.warnActive,v=!!t?.locked;return l.jsxs("article",{className:Ze("relative min-h-0 overflow-hidden border border-slate-800 bg-black",v?"border-red-400 ring-4 ring-red-500/80":"",!v&&x?"ring-2 ring-sky-400/80":"",!v&&z?"ring-4 ring-red-500/90":!v&&g?"ring-2 ring-amber-300/80":""),children:[l.jsx($7,{visual:o,variant:"background",orientation:"vertical"}),l.jsxs("div",{className:"relative z-10 grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)_auto] gap-[0.55vh] p-[0.85vw] text-center",children:[l.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-start gap-[0.8vw]",children:[l.jsx("div",{className:"min-w-0",children:l.jsx(C4,{rover:t,fallback:t?.id,as:s3,className:"leading-none",maxSize:76,minSize:20})}),v?l.jsxs("div",{className:"max-w-[36vw] border-4 border-red-100 bg-red-700 px-[0.9vw] py-[0.45vh] text-center text-[clamp(1.6rem,4.2vh,4.4rem)] font-black leading-none text-white",children:[l.jsx("div",{children:"LOCKED"}),t?.lockReason?l.jsx("div",{className:"mt-[0.3vh] text-[clamp(1rem,2.4vh,2.5rem)] leading-none text-red-50",children:t.lockReason}):null]}):null]}),l.jsxs("div",{className:"grid min-h-0 min-w-0 grid-cols-[minmax(0,1.45fr)_minmax(0,0.85fr)] items-center gap-[1vw]",children:[l.jsx("div",{className:"min-w-0",children:l.jsx(s3,{className:Ze("font-black leading-none",x?"text-white":"text-slate-400"),maxSize:128,minSize:28,children:h?.label||"Idle"})}),l.jsx("div",{className:"min-w-0",children:l.jsx(s3,{className:Ze("font-black leading-none",z?"text-red-100":g?"text-amber-100":"text-slate-100"),maxSize:100,minSize:24,children:p})})]}),f?l.jsx("div",{className:"min-w-0 text-[clamp(0.95rem,1.8vh,1.8rem)] font-black leading-none text-amber-100",children:f}):l.jsx("div",{"aria-hidden":"true"})]})]})}function OK({roster:t=[],session:a}){return t.length?l.jsx("section",{className:`grid h-full min-h-0 ${EK(t.length)} auto-rows-fr gap-0.5 bg-slate-950 p-0.5`,children:t.map(r=>l.jsx(DK,{rover:r,session:a},r.id))}):l.jsx("section",{className:"flex h-full min-h-0 items-center justify-center border-b border-slate-800 bg-black text-[clamp(2.5rem,7vh,7rem)] font-black text-slate-500",children:"No rovers"})}function _K(){return l.jsx("section",{className:"h-full min-h-0 overflow-hidden border-t border-slate-800 bg-black p-[0.45vw]",children:l.jsx("div",{className:"origin-top-left",style:{width:`calc(100% / ${2.35})`,height:`calc(100% / ${2.35})`,transform:`scale(${2.35})`},children:l.jsx(k8,{minimal:!0,fillHeight:!0,hideSpectatorNotice:!0})})})}function UK(){const{session:t}=m0(),a=o1(h=>h.latestReplay),{clearLatestReplay:r}=k2(),o=t?.mode==="lockdown";return Y7(),Q7(),$c(),o?l.jsx("div",{className:"flex h-screen w-screen items-center justify-center bg-black text-[clamp(2.5rem,8vh,8rem)] font-black text-slate-200",children:"Lockdown"}):l.jsxs("div",{className:"display-page flex h-screen w-screen flex-col overflow-hidden bg-black text-slate-100",children:[l.jsx("div",{className:"h-[8vh] min-h-[4rem] shrink-0",children:l.jsx(qK,{users:t?.users||[]})}),l.jsx("div",{className:"min-h-0 flex-[0.72]",children:l.jsx(OK,{roster:t?.roster||[],session:t})}),l.jsx("div",{className:"min-h-0 flex-[1.28]",children:l.jsx(_K,{})}),l.jsx(Zc,{}),l.jsx(_7,{replay:a,onClose:r})]})}function ZK(){return l.jsx(UK,{})}function s7(t){if(!t||!t.length)return null;const a=Math.floor(Math.random()*t.length);return t[a]||null}function $K(){if(typeof document>"u"||!document.body)return;const t=document.body.getElementsByTagName("*");if(!t||t.length<2)return;const a=s7(t),r=s7(t),o=a?.classList?.[0]||null;if(o&&r?.classList)try{r.classList.add(o)}catch{}const h=s7(t),f=s7(t),p=h?.classList?.[1]||null;if(p&&f?.classList)try{f.classList.add(p)}catch{}}function GK(){const t=o1(a=>!!a.session?.moderation?.isDeterred);return m.useEffect(()=>{if(!t)return;const a=window.setInterval(()=>{$K()},1);return()=>{window.clearInterval(a)}},[t]),null}wd.createRoot(document.getElementById("root")).render(l.jsx(m.StrictMode,{children:l.jsx(Xm,{children:l.jsx(ev,{children:l.jsx(av,{children:l.jsx(Ev,{children:l.jsxs(MI,{children:[l.jsx(GK,{}),l.jsx(Of,{children:l.jsxs(gf,{children:[l.jsx(p8,{path:"/",element:l.jsx(fK,{})}),l.jsx(p8,{path:"/spectate",element:l.jsx(wK,{})}),l.jsx(p8,{path:"/mini",element:l.jsx(jK,{})}),l.jsx(p8,{path:"/display",element:l.jsx(ZK,{})})]})})]})})})})})})); +fling`;function eK(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""}function cK(){const t=String(tK).split(/\r?\n/).map(r=>r.trim()).filter(Boolean);return t.length?(t[Math.floor(Math.random()*t.length)]||"").trim():""}function Y7(){const{setNickname:t}=k2(),{value:a,status:r,save:o}=E1("profile",{nickname:""}),h=m.useRef(!1);m.useEffect(()=>{if(r!=="ready"||h.current||(a.nickname||"").trim())return;h.current=!0;const p=eK(cK()).slice(0,32);if(!p)return;(async()=>{try{await t(p)}catch{}finally{o({nickname:p})}})()},[o,t,r,a.nickname])}function Q7(){const t=$2(),a=o1(A=>A.connected),{identifySession:r}=k2(),{value:o,status:h,save:f}=E1("identity",{cookieUserId:""}),{value:p,status:x}=E1("profile",{nickname:""}),{value:z,status:g}=E1("overseerPreference",{enabled:!1}),v=m.useRef(!1),M=m.useRef(null),y=m.useRef(null),C=h==="ready"&&x==="ready"&&g==="ready",L=(o?.cookieUserId||"").trim(),S=(p?.nickname||"").trim(),w=!!z?.enabled,H=m.useCallback(()=>{y.current&&(clearTimeout(y.current),y.current=null)},[]),j=m.useCallback(async()=>{if(!(!C||!a||!t?.id||v.current)){v.current=!0;try{const B=((await r({cookieUserId:L,nickname:S,overseerEnabled:w}))?.cookieUserId||"").trim();B&&B!==L&&f(T=>({...T||{},cookieUserId:B})),M.current=t.id,H()}catch{H(),y.current=setTimeout(()=>{j()},2e3)}finally{v.current=!1}}},[H,a,L,r,S,w,C,f,t?.id]);m.useEffect(()=>{!C||!a||!t?.id||M.current!==t.id&&j()},[a,C,j,t?.id]),m.useEffect(()=>{!C||!a||!t?.id||j()},[C,a,t?.id,L,S,w,j]),m.useEffect(()=>{const A=()=>{t?.connected&&j()},B=()=>{typeof document>"u"||document.visibilityState!=="visible"||t?.connected&&j()};return window.addEventListener("online",A),document.addEventListener("visibilitychange",B),()=>{window.removeEventListener("online",A),document.removeEventListener("visibilitychange",B)}},[j,t?.connected]),m.useEffect(()=>{if(!C||!t?.connected)return;const A=setInterval(()=>{t?.connected&&j()},6e4);return()=>clearInterval(A)},[C,j,t?.connected]),m.useEffect(()=>()=>H(),[H])}const _e=1e4,Ue=28,aK=14;function nK(t){const a=String(t||"").trim(),r=a.startsWith("#")?a.slice(1):a;if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$/.test(r))return null;const o=r.length===3?r.split("").map(h=>h+h).join(""):r;return{r:Number.parseInt(o.slice(0,2),16),g:Number.parseInt(o.slice(2,4),16),b:Number.parseInt(o.slice(4,6),16)}}function us(t,a){return`rgba(${t.r}, ${t.g}, ${t.b}, ${a})`}function E7({layout:t="desktop",className:a="",dismissable:r=!0}){const o=o1(B=>{const T=B.session?.globalObjective?.text;return T?String(T).trim():""}),h=o1(B=>{const T=String(B.session?.assignment?.roverId||"").trim();return T&&(Array.isArray(B.session?.roster)?B.session.roster:[]).find(N=>String(N?.id)===T)?.color||null}),f=t==="mobile-portrait"||t==="mobile-landscape"||t==="mobile",[p,x]=m.useState(!1),[z,g]=m.useState(Ue),[v,M]=m.useState(0),y=m.useRef(null),C=m.useRef(null),L=m.useRef(null);m.useEffect(()=>{if(!o){x(!1);return}if(x(!0),!f||!r)return;const B=Date.now();M(_e);const T=setTimeout(()=>x(!1),_e),E=setInterval(()=>{const R=Date.now()-B;M(Math.max(0,_e-R))},250);return()=>{clearTimeout(T),clearInterval(E)}},[o,f]),m.useEffect(()=>{if(!o)return;g(Ue);let B=0;const T=()=>{const R=L.current,N=C.current;if(!R||!N)return;const O=R.clientWidth;if(!O)return;const $=N.scrollWidth;if(!$)return;const I=Math.min(1,O/$),P=Math.max(aK,Math.floor(Ue*I));g(P)};B=window.requestAnimationFrame(T);const E=new ResizeObserver(()=>{window.cancelAnimationFrame(B),B=window.requestAnimationFrame(T)});return y.current&&E.observe(y.current),()=>{window.cancelAnimationFrame(B),E.disconnect()}},[o]);const S=m.useMemo(()=>["panel-section flex w-full items-center justify-center border border-neutral-500/60 shadow-[0_1px_0_rgba(255,255,255,0.05)_inset,0_10px_24px_rgba(0,0,0,0.28)]",f?"rounded-none":"rounded","px-1 py-1 text-center font-semibold tracking-tight",a].filter(Boolean).join(" "),[a,f]),w=nK(h),H=w?{borderColor:us(w,.35),backgroundImage:`linear-gradient(90deg, rgba(23,23,23,0.96) 0%, rgba(38,38,38,0.94) 58%, ${us(w,.18)} 100%)`}:void 0;if(!o||!p)return null;const j=f?Math.ceil(v/1e3):null,A=r?{onClick:()=>x(!1),role:"button",tabIndex:0}:{};return l.jsx("div",{ref:y,className:S,style:{...H||{},fontSize:`${z}px`,lineHeight:1.1},...A,children:l.jsxs("span",{className:"flex w-full items-stretch gap-0.5 whitespace-nowrap rounded-md",children:[l.jsxs("span",{className:"flex flex-col justify-center border-r border-slate-700/60 px-0.5 text-[0.55em] font-semibold leading-tight text-slate-400",children:[l.jsx("span",{children:"Global"}),l.jsx("span",{children:"Objective"})]}),l.jsx("span",{ref:L,className:"flex-1 overflow-hidden text-slate-100",children:l.jsx("span",{ref:C,className:"block",children:o})}),f?l.jsxs("span",{className:"flex items-center border-l border-slate-700/60 px-0.5 text-[0.55em] font-semibold uppercase tracking-wide text-slate-400",children:[j,"s"]}):null]})})}const lK=3200;function rK(t={}){const a=typeof t.rewardName=="string"&&t.rewardName.trim()?t.rewardName.trim():"Unknown Event",r=Number.isFinite(Number(t.goal))?Math.max(1,Math.floor(Number(t.goal))):0,o=Number.isFinite(Number(t.count))?Math.max(0,Math.floor(Number(t.count))):r;return{rewardName:a,goal:r,count:o,ts:Date.now()}}function Zc(){const t=$2(),{value:a}=E1("audio",d2),r=Number.isFinite(a?.masterVolume)?a.masterVolume:d2.masterVolume,o=Number.isFinite(a?.alertVolume)?a.alertVolume:d2.alertVolume,h=Math.max(0,Math.min(1,r*o)),[f,p]=m.useState(null),x=m.useRef(null);return m.useEffect(()=>{x.current=new Audio("/tada.mp3"),x.current.volume=h,x.current.load()},[h]),m.useEffect(()=>{let z=null;function g(){const y=x.current;y&&(y.volume=h,y.currentTime=0,y.play().catch(()=>{}))}function v(y={}){const C=rK(y);p(C),g(),z&&clearTimeout(z),z=setTimeout(()=>{p(null)},lK)}function M(y){v(y?.detail||{})}return t.on("buttonBox:rewardRun",v),window.addEventListener("buttonBox:rewardRunLocalTest",M),()=>{z&&clearTimeout(z),t.off("buttonBox:rewardRun",v),window.removeEventListener("buttonBox:rewardRunLocalTest",M)}},[h,t]),f?l.jsx("div",{className:"pointer-events-none fixed inset-0 z-[120] flex items-center justify-center bg-black/75 px-1 py-1",children:l.jsx("div",{className:"pointer-events-auto w-full max-w-2xl",children:l.jsx("div",{className:"surface rounded-none border-2 border-cyan-300 bg-amber-100/95 px-1 py-1 text-center text-black shadow-2xl",children:l.jsxs("div",{className:"flex items-center justify-center gap-1 border-2 border-blue-600 bg-yellow-100 px-0.5 py-1",children:[l.jsx("img",{src:"/party1.gif",alt:"",className:"hidden shrink-0 sm:block"}),l.jsxs("div",{children:[l.jsxs("p",{className:"font-mono text-2xl font-bold text-red-700 sm:text-3xl",children:["Running event: ",f.rewardName,"!"]}),l.jsxs("p",{className:"font-mono text-xl font-bold text-blue-800 sm:text-2xl",children:[f.count,"/",f.goal]})]}),l.jsx("img",{src:"/party2.gif",alt:"",className:"hidden shrink-0 sm:block"})]})})})}):null}const iK=4e3;function hs(...t){return t.filter(Boolean).join(" ")}function sK(){const t=$2(),[a,r]=m.useState(!!t?.connected),[o,h]=m.useState(""),[f,p]=m.useState(!0),[x,z]=m.useState(!1),g=m.useRef(null);m.useEffect(()=>{const L=()=>{g.current&&(clearTimeout(g.current),g.current=null)},S=()=>{L(),p(!0),z(!1)},w=()=>{L(),g.current=setTimeout(()=>{z(!0)},iK)},H=()=>{r(!0),h(""),S(),w()},j=T=>{r(!1),h(typeof T=="string"?T:"disconnected"),S()},A=T=>{r(!1),h(T?.message||"connect error"),S()},B=()=>{r(!1),S()};return t.on("connect",H),t.on("disconnect",j),t.on("connect_error",A),t.io.on("reconnect_attempt",B),t.connected&&w(),()=>{L(),t.off("connect",H),t.off("disconnect",j),t.off("connect_error",A),t.io.off("reconnect_attempt",B)}},[t]);const v=typeof navigator<"u"?navigator.onLine===!1:!1,M=a?"Connected to socket.io":v?"Offline":"Reconnecting...",y=a?"":o,C=a?"bg-emerald-700 text-emerald-100":v?"bg-red-800 text-red-100":"bg-amber-800 text-amber-100";return l.jsx("div",{className:hs("fixed bottom-2 left-2 z-[120] transition-opacity duration-500",!f&&"hidden",x?"opacity-0 pointer-events-none":"opacity-100"),"aria-live":"polite",children:l.jsxs("div",{className:hs("rounded-sm px-2 py-1 text-xs",C),children:[l.jsx("span",{className:"font-semibold",children:M}),y?l.jsxs("span",{className:"ml-1 opacity-85",children:["(",y,")"]}):null]})})}function oK(){const[t,a]=m.useState(()=>typeof window>"u"||window.innerWidth>=1024?"desktop":window.innerWidth>window.innerHeight?"mobile-landscape":"mobile-portrait");return m.useEffect(()=>{function r(){if(typeof window>"u")return;const{innerWidth:o,innerHeight:h}=window;o>=1024?a("desktop"):o>h?a("mobile-landscape"):a("mobile-portrait")}return r(),window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),t}function uK({layout:t,onOpenHelpOverlay:a}){return l.jsxs("div",{className:`flex h-full ${H2} overflow-hidden`,children:[l.jsxs("div",{className:`flex min-w-0 flex-[1.22] flex-col ${H2} overflow-y-auto pr-0`,children:[l.jsx(Rc,{}),l.jsx(kv,{}),l.jsx(ov,{})]}),l.jsxs("div",{className:`flex min-w-0 flex-1 flex-col ${H2} overflow-y-auto`,children:[l.jsx(E7,{layout:t}),l.jsx(EQ,{layout:t,onOpenHelpOverlay:a})]})]})}function Wo({layout:t,onOpenHelpOverlay:a,roomPanelId:r}){const[o,h]=m.useState("chat"),f=o1(w=>!!w.session?.isVerified),p=o1(w=>String(w.session?.assignment?.roverId||"").trim()),x=o1(w=>{const H=String(w.session?.assignment?.roverId||"").trim();return H&&w.session?.audioForward?.[H]||null}),{state:z}=V2(),{value:g}=E1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),v=f?"bg-emerald-400":"bg-amber-400",M=!!z?.mic?.pttActive,y=!!g?.openMicEnabled,C=g?.pttMode==="clip"?"clip":"live",L=!!(p&&f&&(C==="clip"?M:y||M)),S=!!(p&&f&&C==="clip"&&x?.source==="upload"&&x?.state==="playing");return l.jsx("section",{className:"text-base",children:l.jsxs(Dc,{defaultTab:"chat",currentTab:o,onTabChange:h,children:[l.jsxs(Oc,{children:[l.jsx(i4,{id:"chat",children:"Chat"}),l.jsx(i4,{id:"vip",highlight:S?"green":L?"pink":"none",children:l.jsxs("span",{className:"inline-flex items-center gap-0.5",children:[l.jsx("span",{children:"VIP"}),l.jsx("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${v}`,"aria-hidden":"true",title:f?"Verified":"Not verified"})]})}),l.jsx(i4,{id:"roomcontrols",children:"Room Controls"}),l.jsx(i4,{id:"help",children:"Help"}),l.jsx(i4,{id:"settings",children:"Settings"})]}),l.jsxs(_c,{children:[l.jsx(s4,{id:"chat",children:l.jsxs("div",{className:u6,children:[l.jsx(k8,{nicknameLayout:"stacked"}),l.jsxs("div",{className:u6,children:[l.jsx("div",{className:`grid ${H2} md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:l.jsx(Uc,{})}),l.jsxs("div",{className:`grid ${H2} grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`,children:[l.jsx(Jo,{}),l.jsx(k7,{hideNicknameForm:!0})]})]})]})}),l.jsx(s4,{id:"vip",keepMounted:!0,children:l.jsx(Xo,{isActive:o==="vip"})}),l.jsx(s4,{id:"roomcontrols",children:l.jsxs("div",{className:u6,children:[l.jsx(Oo,{}),l.jsx(R7,{}),l.jsx(Fc,{panelId:r}),l.jsx(Ao,{})]})}),l.jsx(s4,{id:"help",children:l.jsx(Qo,{layout:t,onOpenOverlay:a})}),l.jsx(s4,{id:"settings",children:l.jsxs("div",{className:u6,children:[l.jsx(Io,{}),l.jsx(Lo,{})]})})]})]})})}function hK({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){return l.jsxs("div",{className:`flex flex-col ${H2}`,children:[l.jsx(Rc,{layoutFormat:"mobile-portrait"}),l.jsx(WI,{swapColumns:a}),l.jsxs("div",{className:`grid ${H2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[l.jsx(Hc,{panelId:"replay-sources-mobile-portrait"}),l.jsx(P7,{})]}),l.jsx(Wo,{layout:"mobile-portrait",onOpenHelpOverlay:t,roomPanelId:"mobile-portrait-room"})]})}function dK({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){const r="self-start h-[min(100svh,32rem)]",o=a?l.jsx(N7,{layout:"landscape",className:r}):l.jsx(j7,{layout:"landscape",className:r}),h=a?l.jsx(j7,{layout:"landscape",className:r}):l.jsx(N7,{layout:"landscape",className:r});return l.jsxs("div",{className:`flex flex-col ${H2}`,children:[l.jsxs("section",{className:`grid min-h-screen grid-cols-[minmax(0,0.7fr)_minmax(0,2.1fr)_minmax(0,0.7fr)] ${H2}`,children:[o,l.jsxs("div",{children:[l.jsx(Rc,{layoutFormat:"mobile-landscape"}),l.jsxs("div",{className:`grid ${H2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[l.jsx(Hc,{panelId:"replay-sources-mobile-landscape"}),l.jsx(P7,{})]})]}),h]}),l.jsx("div",{className:`flex flex-col ${H2} pb-0`,children:l.jsx(Wo,{layout:"mobile-landscape",onOpenHelpOverlay:t,roomPanelId:"mobile-landscape-room"})})]})}function fK(){const t=oK(),a=t==="desktop",r=QQ(t);return l.jsx("div",{className:`${RY} text-slate-100 ${a?"h-screen overflow-hidden":"min-h-screen"}`,children:l.jsx(mK,{layout:t,isDesktop:a,fullscreen:r})})}function mK({layout:t,isDesktop:a,fullscreen:r}){Y7(),Q7();const{visible:o,mode:h,isIOS:f,nativeSupported:p,enterFullscreen:x,dismiss:z,showPrompt:g}=r,{value:v,save:M}=E1("help",{showOnLoad:!0}),{value:y,status:C,save:L}=E1("quickstart",{showOnLoad:!0}),{value:S}=E1("page",{swapMobileControlColumns:!1}),w=!!S?.swapMobileControlColumns,H=w?"left":"right",j=!a&&(f||p),A=o1(k=>k.latestRequestedReplay),{clearReplayModal:B}=k2(),[T,E]=m.useState(!1),[R,N]=m.useState(!1);m.useEffect(()=>{C==="ready"&&N(y?.showOnLoad!==!1)},[C,y?.showOnLoad]);const O=m.useCallback(()=>E(!0),[]),$=m.useCallback(()=>E(!1),[]),I=m.useCallback(()=>N(!1),[]),P=m.useCallback(async()=>{if(f){g();return}await x()||g()},[x,f,g]),u1=m.useCallback(k=>{const D=!!k;L(U=>({...U??{},showOnLoad:D})),D||N(!1)},[L]),h1=m.useCallback(()=>{N(!1),E(!0)},[]),a1=m.useMemo(()=>a?l.jsx(uK,{layout:t,onOpenHelpOverlay:O}):t==="mobile-landscape"?l.jsx(dK,{onOpenHelpOverlay:O,swapMobileControlColumns:w}):l.jsx(hK,{onOpenHelpOverlay:O,swapMobileControlColumns:w}),[a,t,O,w]);return l.jsxs(xI,{children:[l.jsx(jI,{}),l.jsx(ZI,{}),l.jsxs("main",{className:`flex w-full flex-col ${H2} text-base ${a?"h-full overflow-hidden":""}`,children:[a?null:l.jsx(E7,{layout:t}),a1]}),l.jsx(Ac,{}),l.jsx(Zc,{}),l.jsx($Q,{}),l.jsx(_Q,{}),l.jsx(sK,{}),l.jsx(KQ,{visible:T,layout:t,onClose:$,showOnLoad:v?.showOnLoad!==!1,onToggleShowOnLoad:k=>M(D=>({...D??{},showOnLoad:!!k}))}),l.jsx(GQ,{visible:o,mode:h,onEnterFullscreen:x,onDismiss:z}),l.jsx(WQ,{visible:R,layout:t,showOnLoad:y?.showOnLoad!==!1,onToggleShowOnLoad:u1,onOpenHelp:h1,onClose:I}),l.jsx(_7,{replay:A,onClose:B}),j?l.jsx(IQ,{side:H,onClick:P}):null]})}function $c(){const{session:t,setRole:a,subscribeAll:r,connected:o}=m0(),[h,f]=m.useState(!1);return m.useEffect(()=>{let p=!1;async function x(){if(t?.mode==="lockdown"){f(!1);return}try{t?.role!=="spectator"&&await a("spectator"),await r(),p||f(!0)}catch(z){console.error("Failed to enter spectator mode",z),p||f(!1)}}return x(),()=>{p=!0}},[o,t?.mode,t?.role,a,r]),h}function vK(){const[t,a]=m.useState(()=>typeof window>"u"?!1:window.matchMedia("(max-aspect-ratio: 4/3)").matches);return m.useEffect(()=>{if(typeof window>"u")return;const r=window.matchMedia("(max-aspect-ratio: 4/3)"),o=h=>a(h.matches);return r.addEventListener?r.addEventListener("change",o):r.addListener(o),()=>{r.removeEventListener?r.removeEventListener("change",o):r.removeListener(o)}},[]),t}function pK({show:t=!1,roverId:a=null,sensors:r,batteryConfig:o,mobileHud:h=!1}){const f=G2(a),p=o1(v=>a?(v.session?.roster||[]).find(C=>String(C.id)===String(a))?.battery??null:null),x=r??f?.sensors??null,z=o??p,g=F8({charge:x?.batteryChargeMah??null,config:z});return!t||!g?.available?null:l.jsx("div",{className:"pointer-events-none absolute right-1 top-1/2 flex h-[70%] -translate-y-1/2 flex-col items-center justify-center rounded bg-black/60 px-0.5 pb-1 pt-1",children:l.jsx($7,{visual:g,orientation:"vertical",variant:"inline",compact:h,className:"h-full w-4"})})}const gK=U2.memo(pK);function xK({roverId:t=null,label:a,fitParent:r=!1,layoutFormat:o="desktop"}){return l.jsx("div",{className:`flex flex-col gap-0.5 ${r?"h-full":""}`,children:l.jsxs("div",{className:`relative w-full overflow-hidden bg-black ${r?"h-full flex-1":"aspect-[4/3]"}`,children:[l.jsx(H8,{roverId:t,label:a}),l.jsx(Eo,{roverId:t,variant:"spectator",mobileHud:!1}),l.jsx(Ro,{roverId:t,layoutFormat:o,variant:"spectator",mobileHud:!1,labelScale:1}),l.jsx(To,{roverId:t,compact:!1}),l.jsx(qo,{roverId:t,compact:!1}),l.jsx(gK,{show:!0,roverId:t,mobileHud:!1})]})})}function zK({rover:t}){return l.jsx("article",{className:"min-h-[16rem] rounded bg-zinc-900 p-0 sm:min-h-[18rem]",children:l.jsx("div",{className:"min-h-0 overflow-hidden rounded bg-black/20",children:l.jsx(xK,{roverId:t.id,label:t.name})})})}function MK({roster:t}){return t.length===0?l.jsx("p",{className:"col-span-full text-slate-400",children:"No rovers registered."}):l.jsx("section",{className:"grid grid-cols-1 gap-0.5 md:grid-cols-2",children:t.map(a=>l.jsx(zK,{rover:a},a.id))})}function bK(){return l.jsx("section",{className:"min-h-0",children:l.jsx("div",{className:"surface min-h-[14rem] overflow-hidden",children:l.jsx(Fc,{defaultOrientation:"horizontal",hideLayoutToggle:!0,hideHeader:!0,panelId:"spectator-secondary"})})})}function yK({className:t=""}){return l.jsx("div",{className:`panel ${t}`,children:l.jsx(Lo,{})})}function CK(){const{session:t}=m0(),a=o1(M=>M.latestReplay),{clearLatestReplay:r}=k2(),o=t?.mode==="lockdown";Y7(),Q7(),$c();const h=vK(),f=t?.roster??[];if(o)return l.jsx("div",{className:"flex min-h-screen items-center justify-center bg-black text-slate-200",children:l.jsxs("div",{className:"surface max-w-md space-y-0.5 p-1 text-center text-sm",children:[l.jsx("p",{className:"text-lg font-semibold text-white",children:"Spectate disabled during lockdown."}),l.jsx("p",{className:"text-slate-300",children:"Please wait until the server leaves lockdown to view streams."})]})});const p=h?"flex min-h-screen flex-col bg-black text-slate-100 md:h-screen md:overflow-hidden":"grid min-h-screen grid-cols-1 gap-0.5 bg-black text-slate-100 md:h-full md:min-h-0 md:grid-cols-[minmax(0,1fr)_18rem] lg:grid-cols-[minmax(0,1fr)_20rem]",x=h?"order-2 flex min-h-0 min-w-0 flex-1 flex-col gap-0.5 overflow-y-auto":"order-1 flex min-h-0 min-w-0 flex-col gap-0.5 md:overflow-y-auto",z=h?"order-1 grid w-full min-h-0 items-stretch gap-0.5 border-b border-slate-800/60 bg-slate-950/90 p-0.5 grid-cols-[minmax(0,1fr)_minmax(0,0.7fr)_minmax(0,1.9fr)_minmax(0,0.7fr)]":"order-2 flex min-h-0 min-w-0 flex-col gap-0.5 border-l border-slate-800/60 bg-slate-950/90 md:h-full md:overflow-y-auto",g="",v=h?"h-64":"";return l.jsxs("div",{className:"min-h-screen bg-black text-slate-100 md:h-screen md:overflow-hidden",children:[l.jsxs("main",{className:p,children:[l.jsxs("section",{className:z,children:[h?l.jsxs("div",{className:`${g} ${v} flex flex-col gap-0.5`,children:[l.jsx(E7,{layout:"desktop",dismissable:!1,className:"text-sm"}),l.jsx(R7,{}),l.jsx("div",{className:"min-h-0 flex-1",children:l.jsx(k7,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})})]}):l.jsxs("div",{className:g,children:[l.jsx(E7,{layout:"desktop",dismissable:!1,className:"text-sm"}),l.jsx(R7,{})]}),l.jsx("div",{className:`${g} ${h?`${v} overflow-y-auto`:""}`,children:l.jsx("div",{className:"panel h-full",children:l.jsx(P7,{title:"Rovers"})})}),h?null:l.jsx("div",{className:`${g} flex-1 min-h-0`,children:l.jsx(k7,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})}),l.jsx("div",{className:`${g} ${h?v:"flex-[1.1] min-h-0"}`,children:l.jsx(k8,{allowSpectatorInput:!0,hideSpectatorNotice:!0,fillHeight:!0})}),l.jsx("div",{className:`${g} ${h?v:""}`,children:l.jsx(yK,{className:`${h?"h-full":"h-40"} overflow-hidden`})})]}),l.jsxs("section",{className:x,children:[l.jsx(MK,{roster:f}),l.jsx(bK,{})]})]}),l.jsx(Ac,{}),l.jsx(Zc,{}),l.jsx(_7,{replay:a,onClose:r})]})}function wK(){return l.jsx(CK,{})}function HK({children:t}){return l.jsx("div",{className:"flex h-full w-full items-center justify-start overflow-hidden bg-black",children:l.jsx("div",{className:"relative flex items-center justify-center overflow-hidden bg-black",style:{width:"min(100%, calc(100vh * 4 / 3))",height:"min(100%, calc(100vw * 3 / 4))",maxWidth:"100%",maxHeight:"100%",aspectRatio:"4 / 3"},children:l.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-hidden",children:t})})})}function SK({roverId:t,session:a}){const r=a?.activeDrivers?.[t]||null,h=(a?.users||[]).find(x=>x.socketId===r)?.nickname||(r?r.slice(0,6):"No driver"),f=a?.mode,p=a?.turnQueues?.[t];return f==="turns"&&p?.current?`${h}`:h}function VK({rover:t,frame:a}){const r=a?.sensors?.batteryChargeMah??null,o=t?.battery??null;return F8({batteryState:t?.batteryState??null,charge:r,config:o})}function s3({children:t,className:a="",maxSize:r=1e3,minSize:o=14,style:h=void 0}){const f=m.useRef(null),p=m.useRef(null),[x,z]=m.useState(r);return m.useLayoutEffect(()=>{const g=f.current,v=p.current;if(!g||!v)return;let M=null;const y=()=>{const S=g.clientWidth;if(!S){C();return}let w=o,H=r,j=o;for(;w<=H;){const A=Math.floor((w+H)/2);v.style.fontSize=`${A}px`,v.scrollWidth<=S?(j=A,w=A+1):H=A-1}z(j)},C=()=>{M&&cancelAnimationFrame(M),M=requestAnimationFrame(y)};C();const L=new ResizeObserver(C);return L.observe(g),()=>{M&&cancelAnimationFrame(M),L.disconnect()}},[t,r,o]),l.jsx("div",{ref:f,className:"w-full min-w-0",children:l.jsx("div",{ref:p,className:`whitespace-nowrap ${a}`,style:{fontSize:`${x}px`,lineHeight:1.1,...h||{}},children:t})})}function ds({rover:t,frame:a,driverLabel:r,sessionInfo:o,videoMode:h="snapshot",snapshotFeed:f,withDivider:p=!1,showPreview:x=!0,variant:z="stacked"}){const g=VK({rover:t,frame:a}),v=g?.available?g.percentDisplay:null,M=z==="active";return l.jsxs("div",{className:`relative flex min-w-0 flex-1 flex-col gap-4 overflow-hidden bg-black px-0 py-0 ${p?"border-r border-slate-700/60":""}`,children:[l.jsx($7,{visual:g,orientation:M?"vertical":"horizontal",variant:"background"}),M?l.jsxs("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col justify-between text-center",children:[l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(C4,{rover:t,fallback:t.id,as:s3,className:"leading-none",maxSize:1e3,minSize:18})}),r?l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:r})}):l.jsx("div",{}),l.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:l.jsx("div",{className:"relative",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:v==null?"--%":`${v}%`})})})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"relative z-10 flex min-w-0 flex-col gap-1 text-center",children:[l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(C4,{rover:t,fallback:t.id,as:s3,className:"leading-none",maxSize:1e3,minSize:18})}),r?l.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:r})}):null,l.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:l.jsx("div",{className:"relative",children:l.jsx(s3,{className:"font-semibold leading-none text-white",maxSize:80,minSize:16,children:v==null?"--%":`${v}%`})})})]}),l.jsx("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col gap-4",children:l.jsx("div",{className:"flex w-full min-w-0 flex-1 flex-col items-center gap-4",children:x?l.jsx("div",{className:"mt-auto w-full",children:l.jsx("div",{className:"w-full aspect-[4/3]",children:l.jsx(H8,{sessionInfo:o,videoMode:h,snapshotFeed:f,audioSessionInfo:null,label:t.name||t.id,sensors:a?.sensors||null})})}):null})})]})]})}const AK=2e4,LK=3600*1e3;function BK(){const{session:t}=m0(),a=$c();Y7(),Q7();const r=t?.mode==="lockdown",o=!!t?.isLocalNetwork,h=nv(),f=t?.roster??[],[p,x]=m.useState(0),z=t?.activeDrivers||{},g=m.useMemo(()=>f.filter($=>z[$.id]),[f,z]),v=g.length?g:f,M=Bo(v.map($=>$.id),{enabled:!r&&!o,version:t?.mode}),y=m.useMemo(()=>o?v.map($=>({type:"rover",id:$.id,key:$.id})):[],[o,v]),C=sc(y,{enabled:!r&&o,version:t?.mode}),L=m.useMemo(()=>g.flatMap($=>{if(!$?.id||!$.media?.audioPublishUrl)return[];const I=String($.id);return[{type:"rover",id:`${I}-audio`,key:`${I}-audio`}]}),[g]),S=sc(L,{enabled:!r,version:t?.mode}),w=m.useMemo(()=>{if(!g.length)return[];if(!o){const I=g.filter(P=>M[P.id]?.objectUrl);return I.length?I:g}const $=g.filter(I=>{const P=C[I.id];return P?.url&&!P?.error});return $.length?$:g},[g,M,C,o]),H=m.useMemo(()=>w.map($=>({type:"rover",rover:$})),[w]),j=m.useMemo(()=>H.map($=>`r:${$.rover.id}`).join("|"),[H]);m.useEffect(()=>{x(0)},[j]),m.useEffect(()=>{if(!H.length)return;const $=setInterval(()=>{x(I=>(I+1)%H.length)},AK);return()=>clearInterval($)},[H.length,j]);const A=H.length?H[p%H.length]:null,B=A?.type==="rover"?A.rover:null,T=!o&&B&&M[B.id]||null,E=o&&B&&C[B.id]||null,R=B&&S[`${B.id}-audio`]||null,N=B&&h[B.id]||null,O=B?SK({roverId:B.id,session:t}):null;return r?l.jsx("div",{className:"relative flex h-screen w-screen items-center justify-center bg-black text-slate-200",children:l.jsxs("div",{className:"surface max-w-sm space-y-0.5 p-1 text-center text-sm",children:[l.jsx("p",{className:"text-lg font-semibold text-white",children:"Mini spectator is disabled in lockdown."}),l.jsx("p",{className:"text-slate-300",children:"It will automatically resume once lockdown ends."})]})}):g.length?l.jsxs("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:[l.jsx("section",{className:"relative flex h-full shrink-0 items-center justify-start overflow-hidden bg-black",style:{width:"min(100vw, calc(100vh * 4 / 3))"},children:a?B?l.jsx(HK,{children:o?l.jsx("div",{className:"relative h-full w-full",children:H.map($=>{const I=$.rover,P=B?.id===I.id;return l.jsx("div",{className:`absolute inset-0 ${P?"opacity-100":"opacity-0 pointer-events-none"}`,children:l.jsx(H8,{sessionInfo:C[I.id]||null,videoMode:"whep",snapshotFeed:null,audioSessionInfo:P?R:null,forceMute:!P,label:I.name||I.id,sensors:h[I.id]?.sensors||null})},I.id)})}):l.jsx(H8,{sessionInfo:null,videoMode:"snapshot",snapshotFeed:T,audioSessionInfo:R,label:B.name||B.id,sensors:N?.sensors||null})}):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:g.length?"No sources available.":"No active drivers."}):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"Switching to spectatorโฆ"})}),l.jsx("aside",{className:"flex h-full min-w-0 flex-1 flex-col border-l border-slate-800/60 bg-black",children:B?l.jsx(ds,{rover:B,frame:N,driverLabel:O,sessionInfo:o?E:null,videoMode:o?"whep":"snapshot",snapshotFeed:o?null:M[B.id]||null,showPreview:!1,variant:"active"}):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No active rover."})})]}):l.jsx("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:l.jsx("section",{className:"flex h-full w-full gap-x-3 bg-slate-900 px-0",children:f.length?f.map($=>l.jsx(ds,{rover:$,frame:h[$.id]||null,driverLabel:null,sessionInfo:o&&C[$.id]||null,videoMode:o?"whep":"snapshot",snapshotFeed:o?null:M[$.id]||null,showPreview:!0,withDivider:!1},$.id)):l.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No rovers available."})})})}function jK(){return m.useEffect(()=>{if(typeof window>"u")return;const t=setTimeout(()=>{const a=new URL(window.location.href);a.searchParams.set("refresh",Date.now().toString()),window.location.replace(a.toString())},LK);return()=>clearTimeout(t)},[]),l.jsxs(l.Fragment,{children:[l.jsx(BK,{}),l.jsx(Ac,{scale:3})]})}function tu(t){return String(t?.nickname||t?.socketId?.slice(0,6)||"unknown").trim()}function NK({roverId:t,session:a}){const r=a?.activeDrivers?.[t]||null;if(!r)return null;const o=(a?.users||[]).find(h=>h.socketId===r);return{socketId:r,label:tu(o||{socketId:r})}}function FK({rover:t,frame:a}){return F8({batteryState:t?.batteryState??null,charge:a?.sensors?.batteryChargeMah??null,config:t?.battery??null})}function kK(t){return t?.available?t.urgentActive?`${t.percentDisplay}% Low`:t.warnActive?`${t.percentDisplay}% Low`:`${t.percentDisplay}%`:"--"}function RK(t,a){const r=[];return t?.private?.enabled&&t?.private?.open&&r.push("Private"),(a?.urgentActive||a?.warnActive)&&r.push("Low"),r.join(" ยท ")}function EK(t){return t<=1?"grid-cols-1":t===2||t===4?"grid-cols-2":"grid-cols-3"}function TK(...t){return t.filter(Boolean).join(" ")}function qK({users:t=[]}){const a=m.useRef(null),r=m.useRef(null),o=m.useRef(null),[h,f]=m.useState(!1),p=m.useMemo(()=>t.filter(g=>g?.role!=="spectator").map(tu).filter(Boolean).sort((g,v)=>g.localeCompare(v)),[t]);m.useEffect(()=>{const g=a.current,v=o.current;if(!g||!v)return;const M=()=>{f(v.scrollWidth>g.clientWidth+4)};M();const y=new ResizeObserver(M);return y.observe(g),y.observe(v),()=>y.disconnect()},[p]),m.useEffect(()=>{const g=r.current;if(!g||!h)return;const v=g.animate([{transform:"translateX(0)"},{transform:"translateX(-50%)"}],{duration:42e3,iterations:1/0,easing:"linear"});return()=>v.cancel()},[h,p]);const z=(p.length?p:["No one online"]).map((g,v)=>l.jsx("span",{className:"shrink-0 px-[1.6vw] font-black tracking-normal text-slate-100",children:g},`${g}-${v}`));return l.jsx("div",{ref:a,className:"relative h-full min-w-0 overflow-hidden border-b border-slate-800/80 bg-black",children:l.jsxs("div",{ref:r,className:TK("flex h-full w-max items-center whitespace-nowrap text-[clamp(2.5rem,5.3vh,5.8rem)] leading-none"),children:[l.jsx("div",{ref:o,className:"flex h-full items-center",children:z}),h?l.jsx("div",{className:"flex h-full items-center","aria-hidden":"true",children:z}):null]})})}function Ze(...t){return t.filter(Boolean).join(" ")}function DK({rover:t,session:a}){const r=G2(t?.id),o=FK({rover:t,frame:r}),h=NK({roverId:t?.id,session:a}),f=RK(t,o),p=kK(o),x=!!h,z=!!o?.urgentActive,g=!!o?.warnActive,v=!!t?.locked;return l.jsxs("article",{className:Ze("relative min-h-0 overflow-hidden border border-slate-800 bg-black",v?"border-red-400 ring-4 ring-red-500/80":"",!v&&x?"ring-2 ring-sky-400/80":"",!v&&z?"ring-4 ring-red-500/90":!v&&g?"ring-2 ring-amber-300/80":""),children:[l.jsx($7,{visual:o,variant:"background",orientation:"vertical"}),l.jsxs("div",{className:"relative z-10 grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)_auto] gap-[0.55vh] p-[0.85vw] text-center",children:[l.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-start gap-[0.8vw]",children:[l.jsx("div",{className:"min-w-0",children:l.jsx(C4,{rover:t,fallback:t?.id,as:s3,className:"leading-none",maxSize:108,minSize:26})}),v?l.jsxs("div",{className:"max-w-[40vw] border-4 border-red-100 bg-red-700 px-[1vw] py-[0.55vh] text-center text-[clamp(2rem,5vh,5.2rem)] font-black leading-none text-white",children:[l.jsx("div",{children:"LOCKED"}),t?.lockReason?l.jsx("div",{className:"mt-[0.35vh] text-[clamp(1.2rem,2.9vh,3rem)] leading-none text-red-50",children:t.lockReason}):null]}):null]}),l.jsxs("div",{className:"grid min-h-0 min-w-0 grid-cols-[minmax(0,1.45fr)_minmax(0,0.85fr)] items-center gap-[1vw]",children:[l.jsx("div",{className:"min-w-0",children:l.jsx(s3,{className:Ze("font-black leading-none",x?"text-white":"text-slate-400"),maxSize:172,minSize:38,children:h?.label||"Idle"})}),l.jsx("div",{className:"min-w-0",children:l.jsx(s3,{className:Ze("font-black leading-none",z?"text-red-100":g?"text-amber-100":"text-slate-100"),maxSize:136,minSize:32,children:p})})]}),f?l.jsx("div",{className:"min-w-0 text-[clamp(1.25rem,2.5vh,2.6rem)] font-black leading-none text-amber-100",children:f}):l.jsx("div",{"aria-hidden":"true"})]})]})}function OK({roster:t=[],session:a}){return t.length?l.jsx("section",{className:`grid h-full min-h-0 ${EK(t.length)} auto-rows-fr gap-0.5 bg-slate-950 p-0.5`,children:t.map(r=>l.jsx(DK,{rover:r,session:a},r.id))}):l.jsx("section",{className:"flex h-full min-h-0 items-center justify-center border-b border-slate-800 bg-black text-[clamp(2.5rem,7vh,7rem)] font-black text-slate-500",children:"No rovers"})}function _K(){return l.jsx("section",{className:"h-full min-h-0 overflow-hidden border-t border-slate-800 bg-black p-[0.45vw]",children:l.jsx("div",{className:"origin-top-left",style:{width:"calc(100% / 3)",height:"calc(100% / 3)",transform:"scale(3)"},children:l.jsx(k8,{minimal:!0,fillHeight:!0,hideSpectatorNotice:!0})})})}function UK(){const{session:t}=m0(),a=o1(h=>h.latestReplay),{clearLatestReplay:r}=k2(),o=t?.mode==="lockdown";return Y7(),Q7(),$c(),o?l.jsx("div",{className:"flex h-screen w-screen items-center justify-center bg-black text-[clamp(2.5rem,8vh,8rem)] font-black text-slate-200",children:"Lockdown"}):l.jsxs("div",{className:"display-page flex h-screen w-screen flex-col overflow-hidden bg-black text-slate-100",children:[l.jsx("div",{className:"h-[8vh] min-h-[4rem] shrink-0",children:l.jsx(qK,{users:t?.users||[]})}),l.jsx("div",{className:"min-h-0 flex-[0.72]",children:l.jsx(OK,{roster:t?.roster||[],session:t})}),l.jsx("div",{className:"min-h-0 flex-[1.28]",children:l.jsx(_K,{})}),l.jsx(Zc,{}),l.jsx(_7,{replay:a,onClose:r})]})}function ZK(){return l.jsx(UK,{})}function s7(t){if(!t||!t.length)return null;const a=Math.floor(Math.random()*t.length);return t[a]||null}function $K(){if(typeof document>"u"||!document.body)return;const t=document.body.getElementsByTagName("*");if(!t||t.length<2)return;const a=s7(t),r=s7(t),o=a?.classList?.[0]||null;if(o&&r?.classList)try{r.classList.add(o)}catch{}const h=s7(t),f=s7(t),p=h?.classList?.[1]||null;if(p&&f?.classList)try{f.classList.add(p)}catch{}}function GK(){const t=o1(a=>!!a.session?.moderation?.isDeterred);return m.useEffect(()=>{if(!t)return;const a=window.setInterval(()=>{$K()},1);return()=>{window.clearInterval(a)}},[t]),null}wd.createRoot(document.getElementById("root")).render(l.jsx(m.StrictMode,{children:l.jsx(Xm,{children:l.jsx(ev,{children:l.jsx(av,{children:l.jsx(Ev,{children:l.jsxs(MI,{children:[l.jsx(GK,{}),l.jsx(Of,{children:l.jsxs(gf,{children:[l.jsx(p8,{path:"/",element:l.jsx(fK,{})}),l.jsx(p8,{path:"/spectate",element:l.jsx(wK,{})}),l.jsx(p8,{path:"/mini",element:l.jsx(jK,{})}),l.jsx(p8,{path:"/display",element:l.jsx(ZK,{})})]})})]})})})})})})); diff --git a/server/public/assets/index-D3sOXuVW.css b/server/public/assets/index-D3sOXuVW.css deleted file mode 100644 index 50ac7e41..00000000 --- a/server/public/assets/index-D3sOXuVW.css +++ /dev/null @@ -1 +0,0 @@ -*,: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}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pride-page-bg{background-color:#050505;background-image:linear-gradient(#0000,#0000),repeating-linear-gradient(45deg,#5bcefa 0 1.818%,#f5a9b8 1.818% 3.636%,#fff 3.636% 5.455%,#f5a9b8 5.455% 7.273%,#5bcefa 7.273% 9.091%,#e40303 9.091% 10.909%,#ff8c00 10.909% 12.727%,#ffed00 12.727% 14.545%,#00a651 14.545% 16.364%,#06f 16.364% 18.182%,#9b2fae 18.182% 20%);background-attachment:fixed}.panel{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-section{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-muted{border-radius:.375rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.surface{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.surface-muted{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.field-input{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.field-input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.field-input::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.field-input:focus{outline:2px solid transparent;outline-offset:2px;--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(1px + 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);--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.button-dark{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-dark:hover{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.button-danger{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-danger:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.chat-composer{container-type:inline-size;display:flex;flex-wrap:wrap;align-items:stretch;gap:.125rem;min-width:0;overflow:hidden}.chat-composer-nickname{flex:0 0 5rem;min-width:0;order:1}.chat-composer-input{flex:1 1 0%;min-width:0;order:2}.chat-composer-send{flex:0 0 auto;align-self:stretch;order:3}.chat-composer-tts{display:flex;flex:1 1 100%;align-items:center;gap:.125rem;min-width:0;overflow:hidden;order:4}@container (min-width: 44rem){.chat-composer{flex-wrap:nowrap}.chat-composer-nickname{flex-basis:7rem;order:1}.chat-composer-input{order:2}.chat-composer-tts{flex:0 1 auto;order:3}.chat-composer-send{order:4}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-\[calc\(100\%\+0\.125rem\)\]{bottom:calc(100% + .125rem)}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.z-\[70\]{z-index:70}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.mx-auto{margin-left:auto;margin-right:auto}.my-\[-0\.125rem\]{margin-top:-.125rem;margin-bottom:-.125rem}.-mt-0\.5{margin-top:-.125rem}.mb-0\.5{margin-bottom:.125rem}.ml-1{margin-left:.25rem}.mr-0{margin-right:0}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-\[0\.3vh\]{margin-top:.3vh}.mt-auto{margin-top:auto}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-64{height:16rem}.h-\[2px\]{height:2px}.h-\[3\.5rem\]{height:3.5rem}.h-\[70\%\]{height:70%}.h-\[7rem\]{height:7rem}.h-\[8vh\]{height:8vh}.h-\[calc\(1rem\+0\.25rem\)\]{height:1.25rem}.h-\[min\(100svh\,32rem\)\]{height:min(100svh,32rem)}.h-\[min\(60svh\,24rem\)\]{height:min(60svh,24rem)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[24rem\]{max-height:24rem}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-5{min-height:1.25rem}.min-h-\[10rem\]{min-height:10rem}.min-h-\[14rem\]{min-height:14rem}.min-h-\[16rem\]{min-height:16rem}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-\[4rem\]{min-height:4rem}.min-h-\[5rem\]{min-height:5rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-20{width:5rem}.w-28{width:7rem}.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-\[12\.5rem\]{width:12.5rem}.w-\[12rem\]{width:12rem}.w-\[20rem\]{width:20rem}.w-\[2px\]{width:2px}.w-\[3\.25rem\]{width:3.25rem}.w-\[4\.5rem\]{width:4.5rem}.w-\[5\.5rem\]{width:5.5rem}.w-\[5rem\]{width:5rem}.w-\[9rem\]{width:9rem}.w-\[calc\(1rem\+0\.25rem\)\]{width:1.25rem}.w-\[min\(42rem\,calc\(100vw-1rem\)\)\]{width:min(42rem,calc(100vw - 1rem))}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-28{min-width:7rem}.min-w-\[0\]{min-width:0}.min-w-\[3\.7rem\]{min-width:3.7rem}.min-w-\[9\.5rem\]{min-width:9.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[36vw\]{max-width:36vw}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80vw\]{max-width:80vw}.max-w-\[92\%\]{max-width:92%}.max-w-\[94\%\]{max-width:94%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-\[0\.72\]{flex:.72}.flex-\[1\.1\]{flex:1.1}.flex-\[1\.22\]{flex:1.22}.flex-\[1\.28\]{flex:1.28}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-top-left{transform-origin:top left}.-translate-x-1\/2{--tw-translate-x: -50%;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))}.-translate-y-1\/2{--tw-translate-y: -50%;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))}.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))}.transform{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}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,0\.7fr\)_minmax\(0\,2\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,.7fr) minmax(0,2.1fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1\.2fr\)_repeat\(4\,minmax\(0\,1fr\)\)\]{grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,0\.95fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr)}.grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,0\.22fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,.22fr)}.grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(0\,0\.85fr\)\]{grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr)}.grid-cols-\[minmax\(0\,1fr\)_4\.75rem\]{grid-template-columns:minmax(0,1fr) 4.75rem}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.7fr\)_minmax\(0\,1\.9fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.9fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_minmax\(0\,0\.75fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,.75fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto_1fr\]{grid-template-rows:auto auto 1fr}.grid-rows-\[auto_auto_1fr_auto\]{grid-template-rows:auto auto 1fr auto}.grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.grid-rows-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-rows:auto minmax(0,1fr) auto}.grid-rows-\[minmax\(0\,1fr\)_auto\]{grid-template-rows:minmax(0,1fr) auto}.grid-rows-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.\!flex-row{flex-direction:row!important}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-\[0\.55vh\]{gap:.55vh}.gap-\[0\.8vw\]{gap:.8vw}.gap-\[1vw\]{gap:1vw}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-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))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.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-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-amber-200\/30{border-color:#fde68a4d}.border-amber-200\/70{border-color:#fde68ab3}.border-amber-200\/90{border-color:#fde68ae6}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-300\/80{border-color:#fcd34dcc}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-400\/60{border-color:#fbbf2499}.border-amber-600\/60{border-color:#d9770699}.border-amber-700\/60{border-color:#b4530999}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-cyan-200\/90{border-color:#a5f3fce6}.border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.border-cyan-300\/70{border-color:#67e8f9b3}.border-cyan-500\/40{border-color:#06b6d466}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity))}.border-emerald-200\/70{border-color:#a7f3d0b3}.border-emerald-200\/90{border-color:#a7f3d0e6}.border-emerald-300{--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity))}.border-emerald-300\/70{border-color:#6ee7b7b3}.border-emerald-400\/60{border-color:#34d39999}.border-emerald-500\/40{border-color:#10b98166}.border-emerald-700\/60{border-color:#04785799}.border-emerald-700\/70{border-color:#047857b3}.border-fuchsia-300\/70{border-color:#f0abfcb3}.border-green-400{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity))}.border-indigo-200\/70{border-color:#c7d2feb3}.border-indigo-200\/95{border-color:#c7d2fef2}.border-indigo-300\/70{border-color:#a5b4fcb3}.border-indigo-400\/30{border-color:#818cf84d}.border-indigo-700{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.border-indigo-700\/60{border-color:#4338ca99}.border-neutral-500\/50{border-color:#73737380}.border-neutral-500\/60{border-color:#73737399}.border-neutral-600{--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity))}.border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.border-pink-200{--tw-border-opacity: 1;border-color:rgb(251 207 232 / var(--tw-border-opacity))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-red-300\/90{border-color:#fca5a5e6}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-red-400\/60{border-color:#f8717199}.border-rose-300{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity))}.border-sky-300{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity))}.border-sky-400\/50{border-color:#38bdf880}.border-slate-200\/30{border-color:#e2e8f04d}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.border-slate-400\/60{border-color:#94a3b899}.border-slate-500\/70{border-color:#64748bb3}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-slate-600\/40{border-color:#47556966}.border-slate-600\/60{border-color:#47556999}.border-slate-600\/70{border-color:#475569b3}.border-slate-600\/80{border-color:#475569cc}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-700\/60{border-color:#33415599}.border-slate-700\/70{border-color:#334155b3}.border-slate-700\/80{border-color:#334155cc}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-slate-800\/60{border-color:#1e293b99}.border-slate-800\/80{border-color:#1e293bcc}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-white\/40{border-color:#fff6}.border-white\/80{border-color:#fffc}.bg-amber-100\/95{background-color:#fef3c7f2}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-400\/80{background-color:#fbbf24cc}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-amber-600\/70{background-color:#d97706b3}.bg-amber-700\/20{background-color:#b4530933}.bg-amber-700\/30{background-color:#b453094d}.bg-amber-700\/35{background-color:#b4530959}.bg-amber-700\/80{background-color:#b45309cc}.bg-amber-800{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity))}.bg-amber-900\/40{background-color:#78350f66}.bg-amber-900\/60{background-color:#78350f99}.bg-amber-900\/90{background-color:#78350fe6}.bg-amber-950\/70{background-color:#451a03b3}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-black\/95{background-color:#000000f2}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-cyan-300\/80{background-color:#67e8f9cc}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.bg-cyan-500\/80{background-color:#06b6d4cc}.bg-cyan-900{--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity))}.bg-cyan-900\/45{background-color:#164e6373}.bg-cyan-900\/90{background-color:#164e63e6}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-emerald-500\/45{background-color:#10b98173}.bg-emerald-500\/80{background-color:#10b981cc}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-emerald-600\/70{background-color:#059669b3}.bg-emerald-600\/80{background-color:#059669cc}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.bg-emerald-700\/20{background-color:#04785733}.bg-emerald-700\/60{background-color:#04785799}.bg-emerald-800{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity))}.bg-emerald-900\/60{background-color:#064e3b99}.bg-emerald-900\/90{background-color:#064e3be6}.bg-emerald-950{--tw-bg-opacity: 1;background-color:rgb(2 44 34 / var(--tw-bg-opacity))}.bg-emerald-950\/50{background-color:#022c2280}.bg-fuchsia-200{--tw-bg-opacity: 1;background-color:rgb(245 208 254 / var(--tw-bg-opacity))}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-fuchsia-700{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity))}.bg-fuchsia-800{--tw-bg-opacity: 1;background-color:rgb(134 25 143 / var(--tw-bg-opacity))}.bg-fuchsia-900\/45{background-color:#701a7573}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-indigo-600\/70{background-color:#4f46e5b3}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}.bg-indigo-900\/60{background-color:#312e8199}.bg-indigo-950{--tw-bg-opacity: 1;background-color:rgb(30 27 75 / var(--tw-bg-opacity))}.bg-indigo-950\/90{background-color:#1e1b4be6}.bg-neutral-700{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.bg-neutral-800\/80{background-color:#262626cc}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.bg-neutral-900\/100{background-color:#171717}.bg-neutral-900\/70{background-color:#171717b3}.bg-neutral-900\/95{background-color:#171717f2}.bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\/45{background-color:#ef444473}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-600\/70{background-color:#dc2626b3}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.bg-red-700\/20{background-color:#b91c1c33}.bg-red-700\/60{background-color:#b91c1c99}.bg-red-800{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity))}.bg-red-900\/35{background-color:#7f1d1d59}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/45{background-color:#7f1d1d73}.bg-red-900\/50{background-color:#7f1d1d80}.bg-red-900\/80{background-color:#7f1d1dcc}.bg-rose-600{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity))}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-sky-700\/20{background-color:#0369a133}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-600\/70{background-color:#475569b3}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-700\/30{background-color:#3341554d}.bg-slate-700\/60{background-color:#33415599}.bg-slate-700\/70{background-color:#334155b3}.bg-slate-700\/80{background-color:#334155cc}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-800\/70{background-color:#1e293bb3}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-slate-900\/35{background-color:#0f172a59}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/70{background-color:#0f172ab3}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity))}.bg-slate-950\/80{background-color:#020617cc}.bg-slate-950\/90{background-color:#020617e6}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-zinc-900\/90{background-color:#18181be6}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-neutral-800{--tw-gradient-from: #262626 var(--tw-gradient-from-position);--tw-gradient-to: rgb(38 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-neutral-700{--tw-gradient-to: rgb(64 64 64 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #404040 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-neutral-600{--tw-gradient-to: #525252 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.fill-slate-200{fill:#e2e8f0}.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-2{padding:.5rem}.p-4{padding:1rem}.p-\[0\.45vw\]{padding:.45vw}.p-\[0\.85vw\]{padding:.85vw}.px-0{padding-left:0;padding-right:0}.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-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[0\.9vw\]{padding-left:.9vw;padding-right:.9vw}.px-\[1\.6vw\]{padding-left:1.6vw;padding-right:1.6vw}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.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-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[0\.45vh\]{padding-top:.45vh;padding-bottom:.45vh}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pr-0{padding-right:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.45rem\]{font-size:.45rem}.text-\[0\.55em\]{font-size:.55em}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.58rem\]{font-size:.58rem}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[1rem\]{font-size:1rem}.text-\[clamp\(0\.95rem\,1\.8vh\,1\.8rem\)\]{font-size:clamp(.95rem,1.8vh,1.8rem)}.text-\[clamp\(1\.6rem\,4\.2vh\,4\.4rem\)\]{font-size:clamp(1.6rem,4.2vh,4.4rem)}.text-\[clamp\(1rem\,2\.4vh\,2\.5rem\)\]{font-size:clamp(1rem,2.4vh,2.5rem)}.text-\[clamp\(2\.5rem\,7vh\,7rem\)\]{font-size:clamp(2.5rem,7vh,7rem)}.text-\[clamp\(2\.5rem\,8vh\,8rem\)\]{font-size:clamp(2.5rem,8vh,8rem)}.text-\[clamp\(2rem\,4\.2vh\,4\.6rem\)\]{font-size:clamp(2rem,4.2vh,4.6rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.text-amber-200\/80{color:#fde68acc}.text-amber-200\/85{color:#fde68ad9}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity))}.text-amber-50\/90{color:#fffbebe6}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-cyan-50{--tw-text-opacity: 1;color:rgb(236 254 255 / var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity))}.text-emerald-100\/80{color:#d1fae5cc}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity))}.text-emerald-50\/90{color:#ecfdf5e6}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity))}.text-fuchsia-50{--tw-text-opacity: 1;color:rgb(253 244 255 / var(--tw-text-opacity))}.text-fuchsia-900{--tw-text-opacity: 1;color:rgb(112 26 117 / var(--tw-text-opacity))}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity: 1;color:rgb(238 242 255 / var(--tw-text-opacity))}.text-indigo-50\/90{color:#eef2ffe6}.text-lime-300{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity))}.text-neutral-100{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity))}.text-neutral-50{--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity))}.text-red-100\/90{color:#fee2e2e6}.text-red-100\/95{color:#fee2e2f2}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-50{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity))}.text-sky-200{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-400\/60{color:#94a3b899}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.accent-cyan-400{accent-color:#22d3ee}.accent-cyan-500{accent-color:#06b6d4}.accent-emerald-400{accent-color:#34d399}.accent-emerald-500{accent-color:#10b981}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_0_rgba\(255\,255\,255\,0\.05\)_inset\,0_10px_24px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow: 0 1px 0 rgba(255,255,255,.05) inset,0 10px 24px rgba(0,0,0,.28);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-cyan-400\/60{outline-color:#22d3ee99}.ring-1{--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(1px + 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-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-4{--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(4px + 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-amber-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.ring-amber-300\/80{--tw-ring-color: rgb(252 211 77 / .8)}.ring-emerald-300\/70{--tw-ring-color: rgb(110 231 183 / .7)}.ring-red-500\/80{--tw-ring-color: rgb(239 68 68 / .8)}.ring-red-500\/90{--tw-ring-color: rgb(239 68 68 / .9)}.ring-sky-400\/80{--tw-ring-color: rgb(56 189 248 / .8)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);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: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)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;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-500{transition-duration:.5s}.duration-700{transition-duration:.7s}@keyframes batteryTickWarn{0%,49%{background-color:#fffffff2}50%,to{background-color:#ef4444f2}}.battery-tick-warn{animation:batteryTickWarn .4s steps(2,end) infinite}@keyframes batteryUrgentFlash{0%,49%{opacity:1}50%,to{opacity:.25}}.battery-urgent-flash{animation:batteryUrgentFlash .4s steps(2,end) infinite}.no-touch-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.\[clip-path\:circle\(50\%\)\]{clip-path:circle(50%)}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}body{margin:0;min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}html,body,*{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.55) transparent}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*::-webkit-scrollbar{width:2px;height:2px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#94a3b88c;border-radius:9999px}@supports (scrollbar-width: thin){@media(pointer:coarse){html,body,*{scrollbar-width:none}}}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.last\:mb-0:last-child{margin-bottom:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;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))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.hover\:border-green-100:hover{--tw-border-opacity: 1;border-color:rgb(220 252 231 / var(--tw-border-opacity))}.hover\:border-rose-500:hover{--tw-border-opacity: 1;border-color:rgb(244 63 94 / var(--tw-border-opacity))}.hover\:border-sky-500:hover{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.hover\:border-white\/60:hover{border-color:#fff9}.hover\:bg-amber-400:hover{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.hover\:bg-cyan-800:hover{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.hover\:bg-fuchsia-500:hover{--tw-bg-opacity: 1;background-color:rgb(217 70 239 / var(--tw-bg-opacity))}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity))}.hover\:bg-pink-400:hover{--tw-bg-opacity: 1;background-color:rgb(244 114 182 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.hover\:bg-rose-500:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:bg-slate-700\/70:hover{background-color:#334155b3}.hover\:bg-zinc-900:hover{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-emerald-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.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-amber-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.focus-visible\:ring-cyan-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus-visible\:ring-emerald-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity))}.focus-visible\:ring-indigo-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;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))}.active\:scale-\[0\.99\]:active{--tw-scale-x: .99;--tw-scale-y: .99;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))}.active\:brightness-125:active{--tw-brightness: brightness(1.25);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)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(max-width:520px){.max-\[520px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[520px\]\:justify-start{justify-content:flex-start}}@media(max-width:420px){.max-\[420px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[420px\]\:grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.max-\[420px\]\:justify-start{justify-content:flex-start}}@media(min-width:640px){.sm\:block{display:block}.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media(min-width:768px){.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:min-h-0{min-height:0px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[0\.9fr_1fr_1\.3fr\]{grid-template-columns:.9fr 1fr 1.3fr}.md\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.25fr\)_minmax\(0\,0\.9fr\)\]{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}} diff --git a/server/public/index.html b/server/public/index.html index 5d1b713d..ba3a8355 100644 --- a/server/public/index.html +++ b/server/public/index.html @@ -11,8 +11,8 @@