:root{--header-height: 4rem;--border-radius: .5rem;--min-sidebar-width: 15rem;--active-color: #61dafb;--bad-color: #ff4d4d}[data-theme=dark]{color-scheme:only dark;--bg-color-1: #1a1a1a;--bg-color-2: #282c34;--text-color-1: #ffffff;--text-color-2: #cccccc;--accent-color: #ffffff}[data-theme=light]{color-scheme:only light;--bg-color-2: #f0f0f0;--bg-color-1: #ffffff;--text-color-1: #000000;--text-color-2: #333333;--accent-color: #000000}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}button{border-radius:8px;border:1px solid transparent;padding:.6em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-color-2);color:var(--text-color-2);cursor:pointer}button:hover{opacity:.5}button:focus-visible{outline:4px auto -webkit-focus-ring-color}input[type=file]{display:none}button:has(.lucide-trash2):hover{color:var(--bad-color)}.pageContainer{height:100vh;display:flex;flex-direction:column;align-items:stretch}.mainHeader{background-color:var(--bg-color-1);color:var(--text-color-1);padding:.5rem;display:flex;height:var(--header-height);box-sizing:border-box}.mainHeader>.logo{display:flex;height:calc(var(--header-height) - 1em);padding:.5em 1em .5em .5em;box-sizing:border-box;margin:0}.mainHeader>.logo>a{display:flex}.mainContainer{display:flex;flex-direction:row;flex:1;height:calc(100vh - var(--header-height));box-sizing:border-box}.mapFlexContainer{flex:1;position:relative}.mapContainer{position:absolute;top:0;left:0;right:0;bottom:0}.mapContainer canvas{outline:none}.settings{position:relative;text-wrap:nowrap;margin-left:auto;flex-shrink:0}.settingsPopover{position:absolute;z-index:200;top:100%;right:0;box-shadow:0 2px 15px #000000b3;background-color:var(--bg-color-2);color:var(--text-color-2);padding:var(--border-radius) 0;border-radius:var(--border-radius)}.settingsPopover>ul{list-style-type:none;padding:0;margin:0}.settingsPopover>ul>li{background-color:var(--bg-color-1)}.settingsPopover>ul button,.settingsPopover>ul a{width:100%;padding:.5em;gap:.3rem;background-color:var(--bg-color-2);border-radius:0;display:flex;align-items:center;border:none}.settingsPopover>ul a{color:var(--text-color-2);text-decoration:none;font-weight:500;box-sizing:border-box}.settingsPopover li>a:hover{opacity:.5}.basemap{position:relative;text-wrap:nowrap;margin-left:auto}.basemapPopover{position:absolute;z-index:200;top:0;right:100%;box-shadow:0 2px 15px #000000b3;background-color:var(--bg-color-2);color:var(--text-color-2);padding:var(--border-radius) 0;border-radius:var(--border-radius)}.basemapPopover>ul{list-style-type:none;padding:0;margin:0}.basemapPopover>ul>li{background-color:var(--bg-color-1)}.basemapPopover>ul>li button{padding-block:.3em}.basemapPopover>ul>li button.active{background-color:var(--active-color)}.toolButton{display:flex;align-items:center;height:100%}.toolButton>svg{height:100%;width:100%}.cover{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease-in-out}.modal{font-size:1rem;background-color:var(--bg-color-1);color:var(--text-color-1);border-radius:var(--border-radius);padding:2em;margin:1em;width:24em;overflow-y:auto;box-shadow:0 2px 15px #0000004d;position:relative;box-sizing:border-box;max-height:calc(100vh - 4em)}.modalCloseButton{position:absolute;top:1em;right:1em;background:none;border:none;cursor:pointer;color:var(--text-color-2);display:flex}.modalHeader{display:flex;align-items:center;gap:.5em}.modalHeader h3{margin:0}.modalHeader>button{padding:0;background:none;display:flex;align-items:center;border:none;width:1.3em;position:relative;top:.1em}.modalDescription{margin:-.5em 0 0;font-style:italic}.modal>form{display:flex;flex-direction:column;gap:1em}.modal.loading:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3em;height:3em;border-radius:50%;border:.4em solid var(--active-color);border-top-color:transparent;animation:spin 1s linear infinite;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}input#outputLayerName{padding:.5em;border:.1rem solid var(--accent-color);border-radius:var(--border-radius);position:relative;background:none}input#outputLayerName:focus{outline:none;border-color:var(--active-color)}label[for=outputLayerName],.toolInputLabel{margin-bottom:-1em}.toolNumberInput{padding:var(--border-radius) 0;border-radius:var(--border-radius);border:.1em solid var(--accent-color);font-size:1em;background:none}.toolNumberInput:focus{outline:none;border-color:var(--active-color)}.modalErrorMessage{color:var(--bad-color);font-size:.875em;margin:0 0 -.5em}.selectLayersContainer{position:relative;padding:var(--border-radius) 0;border:solid .1em var(--accent-color);border-radius:var(--border-radius);cursor:pointer}.selectLayersContainer:has(.selectListContainer){border-color:var(--active-color)}.selectedList{padding:0;list-style:none;margin:0;-webkit-user-select:none;user-select:none;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;max-height:200px}.selectedList>p{margin:0;font-style:italic;padding:0 0 0 1em}.selectedList .layerItem{line-height:normal}.selectListContainer{overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;position:fixed;width:100%;border-radius:var(--border-radius);padding:var(--border-radius) 0;background-color:var(--bg-color-2);max-height:200px;z-index:100;box-shadow:0 2px 15px #000000b3;box-sizing:border-box;cursor:default}.selectListContainer h4{margin:0 0 var(--border-radius) 1.5em}.selectList{list-style:none;padding:0;background-color:var(--bg-color-1);margin:0;-webkit-user-select:none;user-select:none}.selectList .layerItem{background-color:var(--bg-color-2);cursor:pointer}.selectList .layerItem:hover{opacity:.5}.selectList>p{background-color:var(--bg-color-2);margin:0}.selectItem{line-height:2em;background-color:var(--bg-color-2);padding:0 1em;cursor:pointer;text-wrap:nowrap;text-overflow:ellipsis;overflow:hidden}.selectItem:hover{opacity:.5}.selectLayersContainer.select,.selectLayersContainer.select .selectedList{scrollbar-gutter:unset}.selectLayersContainer.select .layerName{padding-left:1em}.resizeHandle{font-size:.4rem;background:none;cursor:ew-resize;position:absolute;height:100%;width:.5em;right:-.5em;bottom:0;z-index:10}.resizeHandle.resizing{width:calc(var(--min-sidebar-width) * 2);right:calc(-1 * var(--min-sidebar-width));border-top:calc(var(--header-height)) solid transparent}.resizeHandle:before{content:"";position:absolute;height:100%;width:1em;top:0;left:-.5em;background-color:transparent;transition:background-color .2s ease;pointer-events:none}.resizeHandle:hover:before{background-color:var(--accent-color);pointer-events:unset}.resizeHandle.resizing:before{background-color:var(--active-color);left:calc(var(--min-sidebar-width) - .5em)}.sidebarContainer:not(.open)>.resizeHandle:before{width:1.5em}.colorPicker{position:relative}.colorPickerButton{width:2em;background:none;padding:.2em;display:flex;align-items:center;flex-shrink:0;box-sizing:border-box}.colorPickerButton svg{width:100%;height:100%;padding-top:.1em}.polygonShrinker{padding:.1em;display:flex}.colorPickerPopover{position:absolute;z-index:2;box-shadow:0 2px 15px #000000b3;border-radius:var(--border-radius);top:100%;left:-50%}div.react-colorful>:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}div.react-colorful>:last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.layerItem{display:flex;align-items:center;flex-direction:row;gap:.2rem;background-color:var(--bg-color-1);color:var(--text-color-1);line-height:2.6em;padding:0 .5rem 0 0}.layerListItem.hovering .layerItem,.layerItem:has(input),.layerItem:has(.layerMenu.open),.layerItem:has(.colorPickerPopover){background-color:var(--bg-color-2);color:var(--text-color-2)}.layerIndex{width:1.6em;text-align:right;flex-shrink:0;margin-right:.1em}.layerItem button{background:none;padding:.2em;display:flex;align-items:center}.layerListItem.hovering .layerMenu,.layerMenu.open,.layerItem:has(.colorPickerPopover) .layerMenu,.layerItem:has(input) .layerMenu{display:block}.layerMenu{position:relative;display:none}.layerMenuPopover{position:absolute;z-index:2;top:100%;right:-50%;text-wrap:nowrap;box-shadow:0 2px 15px #000000b3;background-color:var(--bg-color-2);color:var(--text-color-2);padding:var(--border-radius) 0;border-radius:var(--border-radius)}.layerMenuPopover>ul{list-style-type:none;padding:0;margin:0}.layerMenuPopover>ul>li{background-color:var(--bg-color-1)}.layerMenuPopover>ul button{width:100%;padding:.5em;gap:.3rem;background-color:var(--bg-color-2);border-radius:0}.layerNameContainer{flex-grow:1;position:relative;overflow:hidden;display:flex;align-items:stretch;justify-content:stretch}.layerName{text-wrap:nowrap;text-overflow:ellipsis;overflow:hidden}.layerNameContainer>form,.layerName{flex-grow:1}.layerNameContainer form input{box-sizing:border-box;width:100%;outline:none}.layerList{padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.layerListItem{list-style-type:none;margin:0;padding:0;cursor:grab;-webkit-user-select:none;user-select:none;position:relative}.layerListItem:active{cursor:grabbing}.sidebarContainer{width:auto;position:relative;max-width:100vw;transition:max-width 0s ease;display:flex;justify-content:flex-end}.sidebarContainer:not(.open){max-width:0}.sidebar{min-width:var(--min-sidebar-width);max-width:calc(100vw - var(--min-sidebar-width));background-color:var(--bg-color-1);color:var(--text-color-1);display:flex;flex-direction:column;height:100%;box-sizing:border-box}.layerListContainer{flex-grow:1;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin}.sidebarFooter{display:flex;align-items:center;justify-content:center;padding:.5rem}.sidebarFooter button{display:flex;align-items:center;gap:.5rem}.sidebarHeader{scrollbar-gutter:stable;scrollbar-width:thin;overflow-y:auto;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:1.6em 0 .6em}.sidebarHeader>h2{margin:0 0 0 1em}.sidebarHeaderActions>button,.sidebarHeaderActions>div>button{display:flex;padding:.5em .7em;background:none}.sidebarHeaderActions{display:flex}.attributeTable{height:calc(100vh - 4em);width:calc(100vw - 4em);max-width:60em;max-height:40em;font-size:1rem;background-color:var(--bg-color-1);color:var(--text-color-1);border-radius:var(--border-radius);padding:2em;position:relative;box-sizing:border-box;display:flex;flex-direction:column}.attributeTable .modalDescription{margin:.5em 0 0}.tableContainerContainer{flex-grow:1;overflow:hidden}.tableContainer{flex-grow:1;overflow:auto;scrollbar-width:thin;scrollbar-gutter:stable}.tableContainer table{min-width:100%;border-collapse:collapse;text-wrap:nowrap}.tableContainer thead{position:sticky;top:0;background-color:var(--bg-color-1);z-index:10}.tableContainer th{padding:0}.tableContainer thead:after{content:"";display:block;height:1px;width:100%;bottom:-1px;background-color:var(--text-color-1);position:absolute}.tableContainer tbody td{padding:.3em 1em .3em 0}.tableContainer tbody td:has(button),.tableContainer thead th:first-child{padding:0;position:sticky;left:0;background-color:var(--bg-color-1)}.tableContainer thead th:first-child{z-index:11}tr.selected td:has(button){background-color:var(--bg-color-2)}.tableContainer tbody button{background:none;padding:.3em 1em;display:flex;border:0}.tableContainer tbody tr.selected{background-color:var(--bg-color-2)}.tableContainer thead button{background:none;border:none;display:flex;align-items:center;padding:.5em 0;text-align:left}.tableContainer .selectAll{background:none;padding:.3em 1em;display:flex;border:0}.sortIcon{width:1.2em;height:1.2em;fill:var(--text-color-1);padding:0 .7em 0 .3em}.sortIcon svg{width:100%;height:100%}.tableInputHeader{display:flex;gap:1em;margin-top:1em}.tableInputHeader>:first-child{flex-grow:1}.openFilterButton{padding:.2em 3em;display:flex;align-items:center;gap:.5em;border:.2em solid transparent}.openFilterButton.active{border-color:var(--active-color)}.tableFooter{display:flex;justify-content:space-between;align-items:center;padding:0 .5em;margin-bottom:.5em}.tableFooterRight{display:flex;align-items:center;gap:.5em}.tablePagination{display:flex}.tablePagination button{background:none;padding:.5em 0;display:flex;border:none}.tablePagination button:disabled{opacity:.3}.attributeTable .modalErrorMessage{margin:0}.filterContainer{border:.1em solid var(--accent-color);border-radius:var(--border-radius);padding:var(--border-radius);margin:.5em 0}.filterSubContainer{max-height:12em;overflow-y:auto;flex-shrink:0;scrollbar-width:thin}.filterHeader{display:flex;align-items:center;justify-content:space-between;padding-bottom:.3em}.filterHeader button{display:flex;align-items:center}.filterConnector{display:flex;align-items:center;gap:.5em}.filterContainer .filterConnector>.selectLayersContainer{width:4em}.filterContainer .filterConnector>.selectLayersContainer .selectListContainer{scrollbar-gutter:unset}.filterRows{display:flex;flex-direction:column;gap:.5em}.filterRow{display:flex;align-items:stretch}.filterToggle.active{background-color:var(--active-color);color:#000}.filterRow>div{padding-block:.2em;border-radius:.2em}.filterContainer .selectLayersContainer{width:12em;display:inline-block;scrollbar-gutter:unset}.filterRow .layerItem button{padding:0}.filterRow input[type=text],.filterRow input[type=number]{padding:.2em 0;border:solid .1em var(--accent-color);border-radius:.2em;cursor:pointer;font-size:inherit;box-sizing:border-box;background:none}.filterRow input[type=text]:focus,.filterRow input[type=number]:focus{outline:none;border-color:var(--active-color)}.filterRow>button{display:flex;align-items:center;padding:0 1em}
