:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body,#root{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));width:var(--toastify-container-width);box-sizing:border-box;color:#fff;flex-direction:column;display:flex;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y:0;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;word-break:break-word;flex:auto;align-items:center;margin-bottom:1rem;display:flex;position:relative}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{width:100%;transform:translate3d(0,var(--y),0)scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g)*1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{flex-shrink:0;width:22px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;padding:0;transition:all .3s;position:absolute;top:6px;right:6px}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{z-index:1;opacity:.7;transform-origin:0;width:100%;height:100%;position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0;overflow:hidden}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0)scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0)perspective(400px)}30%{transform:translate3d(0,var(--y),0)perspective(400px)rotate3d(1,0,0,-20deg);opacity:1}to{transform:translate3d(0,var(--y),0)perspective(400px)rotate3d(1,0,0,90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ConnectionPage{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.ConnectionForm{background:#fff;border-radius:8px;min-width:400px;padding:2rem;box-shadow:0 4px 6px #0000001a}.ConnectionForm h1{text-align:center;color:#333;margin:0 0 2rem}.FormGroup{margin-bottom:1.5rem}.FormGroup label{color:#555;margin-bottom:.5rem;font-weight:500;display:block}.FormGroup input[type=text]{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.FormGroup input:disabled{cursor:not-allowed;background-color:#f5f5f5}.CheckboxLabel{cursor:pointer;align-items:center;gap:.5rem;display:flex!important}.CheckboxLabel input[type=checkbox]{cursor:pointer;width:auto;margin:0}.HelpText{color:#888;margin-top:.5rem;font-size:.85rem;font-weight:400;line-height:1.4;display:block}.Error{color:#e74c3c;white-space:pre-line;background-color:#fee;border-radius:4px;margin-bottom:1rem;padding:.5rem;font-size:.9rem}.ConnectionForm button{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;font-weight:500;transition:background-color .2s}.ConnectionForm button:hover:not(:disabled){background-color:#5568d3}.ConnectionForm button:disabled{cursor:not-allowed;background-color:#ccc}.LayerSettingsPanel{color:#fff;z-index:10000;background-color:#1e1e1ef2;flex-direction:column;width:400px;height:100vh;display:flex;position:fixed;top:0;right:0;overflow:hidden;box-shadow:-2px 0 10px #00000080}.LayerSettingsPanelHeader{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px;display:flex}.HeaderButtons{align-items:center;gap:10px;display:flex}.ResetButton{color:#fff;cursor:pointer;background-color:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .2s}.ResetButton:hover{background-color:#fff3;border-color:#fff6}.LayerSettingsPanelHeader h2{margin:0;font-size:20px;font-weight:500}.CloseButton{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;transition:color .2s;display:flex}.LayerSettingsPanelContent{flex:1;padding:10px;overflow-y:auto}.LayerItem{background-color:#ffffff0d;border-radius:6px;margin-bottom:8px;overflow:hidden}.LayerItemHeader{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;transition:background-color .2s;display:flex}.LayerItemHeader:hover{background-color:#ffffff1a}.LayerName{font-size:14px;font-weight:500}.LayerControls{align-items:center;gap:12px;display:flex}.ToggleSwitch{cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.ToggleSwitch input[type=checkbox]{cursor:pointer;width:16px;height:16px}.ExpandIcon{color:#fff9;text-align:center;width:20px;font-size:12px}.LayerItemDetails{background-color:#0003;border-top:1px solid #ffffff1a;padding:12px 16px}.DetailRow{justify-content:space-between;padding:6px 0;font-size:12px;display:flex}.DetailLabel{color:#ffffffb3}.DetailValue{color:#ffffffe6;font-family:monospace}.DetailValue.Editable{cursor:pointer;border-radius:3px;padding:2px 6px;transition:background-color .2s}.DetailValue.Editable:hover{background-color:#ffffff1a}.DetailInput{color:#fff;background-color:#ffffff1a;border:1px solid #fff3;border-radius:4px;outline:none;width:150px;padding:4px 8px;font-family:monospace;font-size:12px}.DetailInput:focus{background-color:#ffffff26;border-color:#007bffcc}.DetailInput.NumberInput{width:80px}.DetailInput.ColorInput{cursor:pointer;width:60px;height:24px;padding:2px}.DetailSelect{color:#fff;cursor:pointer;background-color:#ffffff1a;border:1px solid #fff3;border-radius:4px;outline:none;padding:4px 8px;font-size:12px}.DetailSelect:focus{background-color:#ffffff26;border-color:#007bffcc}.DetailSelect option{color:#fff;background-color:#1e1e1e}.DetailHint{color:#ffffff80;margin-left:8px;font-size:11px;font-style:italic}.MapEditor{z-index:10000;background-color:#1a1a1a;flex-direction:column;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.EditorHeader{background-color:#1e1e1ef2;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.EditorHeader h2{color:#fff;margin:0;font-size:18px}.EditorContent{flex:1;display:flex;overflow:hidden}.Toolbar{background-color:#1e1e1ef2;border-right:1px solid #ffffff1a;flex-direction:column;gap:10px;width:200px;padding:20px;display:flex;overflow:hidden}.ToolbarToggle:hover{color:#fff;background-color:#282828f2}.ToolbarOptions{background-color:#1e1e1ef2;border-top:1px solid #ffffff1a;border-right:1px solid #ffffff1a;width:200px;padding:10px;transition:width .3s;overflow:hidden}.ToolButton{color:#fff;cursor:pointer;text-align:left;background-color:#ffffff1a;border:1px solid #fff3;border-radius:4px;width:100%;padding:12px;font-size:14px;transition:all .2s}.ToolButton:hover{background-color:#fff3;border-color:#fff6}.ToolButton.active{background-color:#2196f3cc;border-color:#2196f3}.EditorCanvas{flex:1;position:relative;overflow:hidden}.EditorMapCanvas{width:100%;height:100%;display:block}.EditorMapCanvas.cursor-brush,.EditorMapCanvas.cursor-eraser{cursor:none}.BrushIndicator{pointer-events:none;box-sizing:border-box;z-index:1000;position:absolute}.BrushIndicator-eraser{background-color:#ff4d4d33;border:2px solid #ff4d4dcc}.BrushIndicator-brush{background-color:#2196f333;border:2px solid #2196f3cc}.PropertyPanel{background-color:#1e1e1ef2;border-left:1px solid #ffffff1a;width:300px;padding:20px;overflow-y:auto}.PropertySection{margin-bottom:24px}.PropertySection h3{color:#fff;margin:0 0 16px;font-size:16px;font-weight:600}.PropertyRow{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.PropertyRow label{color:#ffffffe6;min-width:80px;font-size:14px}.PropertyRow input{color:#fff;background-color:#ffffff1a;border:1px solid #fff3;border-radius:4px;flex:1;padding:6px 8px;font-size:14px}.PropertyRow input:focus{border-color:#2196f3cc;outline:none}.PropertyRow span{color:#fff;font-size:14px}.DeleteButton{color:#fff;cursor:pointer;background-color:#ff4d4dcc;border:1px solid #ff4d4d;border-radius:4px;width:100%;margin-top:12px;padding:8px;font-size:14px;font-weight:600;transition:all .2s}.DeleteButton:hover{background-color:#ff4d4d;border-color:#ff4d4d}.MapView{width:100vw;height:100vh;margin:0;padding:0;position:fixed;top:0;left:0;overflow:hidden}.MapCanvas{width:100%;height:100%;display:block}.ViewControls{z-index:10;flex-direction:column;gap:10px;display:flex;position:absolute;top:50px;right:20px}.ViewButton{color:#fff;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;background-color:#000000b3;border:1px solid #ffffff4d;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.ViewButton:hover{background-color:#ffffff1a;border-color:#ffffff80}.ViewButton.active{background-color:#007bffcc;border-color:#007bff}.SettingsButton{color:#fff;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;background-color:#000000b3;border:1px solid #ffffff4d;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:8px 16px;font-size:18px;transition:all .2s;display:flex}.SettingsButton:hover{background-color:#ffffff1a;border-color:#ffffff80}.BottomControls{z-index:10;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:20px;right:20px}.FocusRobotButton{color:#fff;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;white-space:nowrap;background-color:#000000b3;border:1px solid #ffffff4d;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.FocusRobotButton:hover{background-color:#ffffff1a;border-color:#ffffff80}.FocusRobotButton.active{background-color:#00c800cc;border-color:#00c800}.TopoPointInfoPanel{z-index:20;pointer-events:auto;background-color:#000000e6;border:1px solid #ffffff4d;border-radius:8px;width:300px;position:absolute;top:50px;right:20px;box-shadow:0 4px 12px #00000080}.TopoPointInfoHeader{border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;padding:16px;display:flex}.TopoPointInfoHeader h3{color:#fff;margin:0;font-size:18px;font-weight:600}.CloseButton{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:24px;transition:color .2s;display:flex}.CloseButton:hover{color:#f44}.TopoPointInfoContent{padding:16px}.InfoRow{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.InfoLabel{color:#ffffffb3;font-size:14px}.InfoValue{color:#fff;font-size:14px;font-weight:500}.NavigateButton{color:#fff;cursor:pointer;background-color:#007bffcc;border:1px solid #007bff;border-radius:4px;width:100%;margin-top:16px;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.NavigateButton:hover{background-color:#007bff;border-color:#007bff}.CoordinateDisplay{z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;background-color:#000c;border:1px solid #ffffff4d;border-radius:4px;padding:12px 16px;font-family:Courier New,monospace;position:absolute;bottom:20px;left:20px}.CoordinateRow{gap:12px;margin-bottom:6px;font-size:13px;display:flex}.CoordinateRow:last-child{margin-bottom:0}.CoordinateLabel{color:#ffffffb3;min-width:60px}.CoordinateValue{color:#fff;font-weight:500}.ManualControlPanel{z-index:20;pointer-events:auto;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.ControlButtonRow{justify-content:center;gap:8px;display:flex}.ControlButton{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#000c;border:2px solid #ffffff80;border-radius:8px;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;font-weight:700;transition:all .2s;display:flex}.ControlButton:hover{background-color:#fff3;border-color:#fffc}.ControlButton:active{background-color:#007bffcc;border-color:#007bff;transform:scale(.95)}.ImageDisplay{-webkit-user-select:none;user-select:none;box-shadow:0 4px 12px #00000080}.ImageDisplay:hover{border-color:#fffc}.ImageResizeHandle:hover{background-color:#ffffffe6}.RelocalizeControls{z-index:10;flex-direction:row;gap:10px;display:flex;position:fixed}.RelocalizeButton{color:#fff;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;background-color:#000000b3;border:1px solid #ffffff4d;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.RelocalizeButton:hover{background-color:#ffffff1a;border-color:#ffffff80}.RelocalizeButton.ConfirmButton{background-color:#007bffcc;border-color:#007bff}.RelocalizeButton.ConfirmButton:hover{background-color:#007bff}.RelocalizeButton.CancelButton{background-color:#dc3545cc;border-color:#dc3545}.RelocalizeButton.CancelButton:hover{background-color:#dc3545}#root{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.read-the-docs{color:#888}.Toastify__toast-container--top-center{top:1em!important;left:50%!important;transform:translate(-50%)!important}
