:root{--vibrant-purple: #a259f7;--deep-purple: #4c4772;--vibrant-red: #f44336;--dark-bg: #181825;--menu-bg: #24263a;--flyout-bg: #2f3350;--light-text: #ececff;--muted-text: #b1b3c7;--panel-border-soft: rgba(255, 255, 255, 0.08);--panel-border-strong: rgba(255, 255, 255, 0.14);--aggregation-blue: #3b82f6;--vibrant-green: #22d37a}.menu-panel{position:absolute;z-index:1;height:100%;display:flex;flex-direction:column;background:var(--dark-bg);padding:5px;border-radius:2px;border-top-left-radius:0;box-sizing:border-box}.layer-menu{flex:1;width:350px;background-color:var(--menu-bg)}.layer-menu-content{height:100%;display:flex;flex-direction:column;padding:.5rem;box-sizing:border-box}.layer-menu-control-panel{display:flex;gap:.2rem;margin-top:1rem;margin-bottom:.5rem}.control-panel-btn{background:var(--dark-bg);color:var(--muted-text);border:1px solid var(--panel-border-soft);border-radius:4px;padding:4px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:1}.control-panel-btn i{font-size:14px}.control-panel-btn:hover{background:var(--vibrant-purple);color:#fff;border-color:var(--vibrant-purple)}.layer-info-group{display:flex;align-items:center;gap:.5rem;min-width:0}.layer-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.layer-name::-webkit-scrollbar{display:none}.layer-control-group{display:flex;gap:.2rem}.layer-settings-btn{color:#fff;background:rgba(0,0,0,0);border:none;cursor:pointer;transition:all .2s ease}.layer-settings-btn:hover{color:var(--vibrant-purple)}.layer-order-group{display:flex;flex-direction:column;gap:.1rem}.layer-move-btn{background:rgba(0,0,0,0);color:var(--muted-text);border:none;cursor:pointer;transition:all .2s ease}.layer-move-btn i{font-size:12px}.layer-move-btn:hover{color:var(--vibrant-purple)}.layer-move-btn:disabled{color:var(--panel-border-soft)}.map-plugin-layer-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;border:1px solid var(--panel-border-soft);background:rgba(0,0,0,.1);border-radius:4px;padding:6px}.layer-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem;border:1px solid rgba(255,255,255,.05);border-radius:6px;background:rgba(0,0,0,.2);cursor:pointer;color:var(--muted-text);transition:all .2s ease}.layer-menu-item:hover{background:rgba(162,89,247,.1);border-color:var(--deep-purple);color:var(--light-text)}.selected-layer-menu-item{background:rgba(162,89,247,.2);border-color:var(--deep-purple);color:var(--light-text)}.layer-visibility-checkbox{accent-color:var(--vibrant-purple);margin:0 !important}.flyout{position:absolute;left:100%;top:0;height:100%;width:550px;display:flex;flex-direction:column;transform:translateX(-100%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}.flyout.flyout--visible{transform:translateX(0);opacity:1;pointer-events:auto;background-color:var(--flyout-bg);color:var(--light-text)}.flyout-close-btn-wrapper{text-align:right;padding:.5rem .3rem .2rem .5rem}.flyout-close-btn{background:rgba(0,0,0,0);color:var(--muted-text);border:none;font-size:18px;cursor:pointer;transition:color .2s ease}.flyout-close-btn:hover{color:var(--vibrant-red)}.flyout-content{flex:1;min-height:0;display:flex;flex-direction:column;gap:.5rem;padding:0 .5rem .75rem .5rem;box-sizing:border-box;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--panel-border-soft, #4a4a5e) rgba(0,0,0,0)}.flyout-content::-webkit-scrollbar{width:6px}.flyout-content::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.flyout-content::-webkit-scrollbar-thumb{background-color:var(--panel-border-soft, #4a4a5e);border-radius:10px}.flyout-content::-webkit-scrollbar-thumb:hover{background-color:var(--muted-text, #6a6a7e)}.flyout-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .5rem 1rem 0}.flyout-title{margin:0}.flyout-subtitle{color:var(--muted-text);margin:0}.layer-settings-action-group{display:flex;gap:.5rem}.submit-button{background:rgba(0,0,0,0);color:var(--vibrant-green);border:1.5px solid var(--vibrant-green);border-radius:8px;font-weight:500;padding:.6em 1.2em;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.submit-button:hover:not(:disabled){background:rgba(34,211,122,.08);color:#eafff4;border-color:var(--vibrant-green)}.submit-button:disabled{background:rgba(0,0,0,0);color:var(--muted-text);border-color:var(--panel-border-strong);cursor:not-allowed;opacity:.6}.submit-button--danger{color:var(--vibrant-red);border-color:var(--vibrant-red)}.submit-button--danger:hover:not(:disabled){background:rgba(244,67,54,.08);color:#ffebee;border-color:var(--vibrant-red)}.flyout-filters{width:100%;display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box}.flyout-search-group{width:100%;display:flex;gap:.2rem;align-items:center}.flyout-advanced-label{margin-left:.25em;font-size:.98em;color:var(--muted-text);cursor:pointer;user-select:none;margin:0 .5em 0 .5em}.flyout-search-group input[type=checkbox]{align-self:center;width:1.2em;height:1.2em;accent-color:var(--vibrant-purple);margin:0 .2em 0 .5em}.flyout-advanced-apply{background:rgba(0,0,0,0);color:var(--muted-text);border:1.5px solid var(--panel-border-strong);border-radius:8px;padding:.5em 1em;margin-left:2rem;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.flyout-advanced-apply:hover{background:rgba(162,89,247,.1);color:var(--light-text);border-color:var(--vibrant-purple)}.flyout-select{align-self:flex-start}.flyout-select:disabled{opacity:.3}.flyout-text-input,.flyout-number-input,.flyout-select{background:var(--dark-bg);color:var(--light-text);border:1.5px solid var(--panel-border-strong);border-radius:8px;padding:.5em 1em;transition:border-color .2s,box-shadow .2s;outline:none}.flyout .flyout-text-input:focus,.flyout .flyout-text-input:focus-visible,.flyout .flyout-number-input:focus,.flyout .flyout-number-input:focus-visible,.flyout .flyout-select:focus,.flyout .flyout-select:focus-visible{border-color:var(--vibrant-purple) !important;box-shadow:0 0 0 2px rgba(162,89,247,.25) !important;outline:none !important}.flyout-number-input{color-scheme:dark}.use-name-button{margin-left:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center}.use-name-button--active{background:var(--vibrant-purple);color:#fff;border-color:var(--vibrant-purple)}.flyout-search-input--error{border-color:var(--vibrant-red) !important;box-shadow:0 0 0 2px rgba(244,67,54,.25) !important}.flyout-select option{background:var(--menu-bg);color:var(--light-text)}.flyout-search-input::placeholder{color:var(--muted-text);opacity:1}.flyout-search-input--error::placeholder{color:var(--vibrant-red) !important;opacity:.8}.flyout-filter-group{display:flex;align-items:center;gap:.5rem}.flyout-action-group{flex:1;display:flex;justify-content:space-between;margin:0 .5em 0 0}.flyout-select-all{background:rgba(0,0,0,0);color:var(--muted-text);border:1.5px solid var(--panel-border-strong);border-radius:8px;font-weight:500;padding:.4em .8em;cursor:pointer;transition:all .2s ease}.flyout-select-all:hover:not(:disabled){background:rgba(162,89,247,.1);color:var(--light-text);border-color:var(--vibrant-purple)}.flyout-select-all:disabled{opacity:.6;cursor:not-allowed;border-color:var(--panel-border-soft)}.flyout-results{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:.5rem;flex:1;min-height:0;overflow-y:auto;padding:.5rem;border:1px solid var(--panel-border-soft);border-radius:4px;background:rgba(0,0,0,.1);align-content:start;align-items:start}.flyout-result-item{display:flex;border:4px solid var(--panel-border-soft)}.flyout-result-item.aggregated{border-color:var(--aggregation-blue)}.flyout-result-item.aggregated .flyout-result-header i{color:var(--aggregation-blue)}.flyout-result-item.previewed{border-color:var(--vibrant-purple)}.flyout-result-item.previewed .flyout-result-header i{color:var(--vibrant-purple)}.flyout-result-item.aggregated.previewed{border-image:linear-gradient(to right, var(--aggregation-blue) 50%, var(--vibrant-purple) 50%) 1}.flyout-result-info{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.flyout-result-header{display:flex;align-items:center;gap:.5rem}.flyout-result-header i{font-size:18px;color:var(--light-text)}.flyout-result-title{font-weight:550;color:var(--light-text);margin:0;letter-spacing:.2px}.flyout-result-description{color:var(--muted-text);margin:.15rem 0 0 0;font-style:italic;display:block}.flyout-result-title,.flyout-result-description{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.flyout-result-info{min-width:0}.flyout-result-controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.3rem}.flyout-result-controls input[type=checkbox]{accent-color:var(--aggregation-blue);width:16px;height:16px;cursor:pointer;margin-bottom:1rem}.flyout-result-controls button,.flyout-result-controls a{background:var(--dark-bg);color:var(--muted-text);border:1px solid var(--panel-border-soft);border-radius:4px;padding:4px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.flyout-result-controls button i,.flyout-result-controls a i{font-size:16px}.flyout-result-controls button:hover,.flyout-result-controls a:hover{background:var(--vibrant-purple);color:#fff;border-color:var(--vibrant-purple)}.flyout-result-controls button.active{background:var(--vibrant-purple);color:#fff;border-color:var(--vibrant-purple)}.flyout-setting-group{display:flex;flex-direction:column}.flyout-setting-group-title{font-weight:500;font-size:13px;letter-spacing:.3px;margin:.5rem 0 .25rem 0}.flyout-setting-group-content{display:grid;grid-template-columns:1fr 1fr;row-gap:1.25rem;column-gap:1.2rem;align-items:center;border:1px solid var(--panel-border-soft, rgba(255, 255, 255, 0.08));background-color:rgba(0,0,0,.15);border-radius:8px;padding:1.25rem 1rem}.col-span-2{grid-column:span 2}.flyout-setting{display:flex;flex-direction:column;gap:.5rem;width:100%}.flyout-setting-horizontal{display:grid;grid-template-columns:100px minmax(0, 1fr);align-items:center;gap:.75rem;width:100%}.flyout-setting-horizontal label{color:#e0e0e0;word-wrap:break-word}.flyout-setting-horizontal input:not([type=checkbox]):not([type=range]),.flyout-setting-horizontal select{width:100%;height:32px;box-sizing:border-box}.flyout-hatch-fill-button{background:rgba(0,0,0,0);min-width:0;height:150px;border:1px solid var(--panel-border-soft);border-radius:4px;padding:4px 8px;cursor:pointer;transition:all .2s ease}.flyout-hatch-fill-image{width:100%;height:100%;object-fit:contain}.flyout-hatch-fill-button:hover{border-color:var(--vibrant-purple)}.flyout-opacity-slider-group{display:flex;align-items:center;gap:1rem}.flyout-layer-opacity-input{flex:1;accent-color:var(--vibrant-purple)}.flyout-opacity-value{border:1px solid var(--panel-border-soft);border-radius:4px;padding:.2rem .5rem;background:rgba(0,0,0,.1)}.map-control-button{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.08);padding:0;cursor:pointer;background:var(--dark-bg);color:var(--light-text);transition:all .25s ease}.map-control-button i{font-size:20px}.map-control-button.--control-active,.map-control-button:hover{background:rgba(30,30,40,.9) !important;border-color:rgba(255,255,255,.2);color:var(--light-text);transform:translateY(-1px)}.map-control-button.--control-active>i{color:var(--vibrant-purple)}.control-panel{position:absolute;right:calc(100% + 8px);top:0;display:flex;flex-direction:column;gap:.5rem;padding:.6rem;background:rgba(22,22,28,.85);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25);pointer-events:none;opacity:0;visibility:hidden;cursor:default}.control-panel.--control-panel-open{opacity:1;visibility:visible;pointer-events:auto;width:max-content}.maplayer-label{font-weight:500;font-size:13px;letter-spacing:.3px}.overlay-checkbox{accent-color:var(--vibrant-purple)}.add-layer-button{background:rgba(0,0,0,0);color:var(--muted-text);border:1px solid var(--panel-border-strong);border-radius:8px;font-weight:500;padding:.6em 1.2em;margin-bottom:.2rem;cursor:pointer;transition:all .2s ease}.add-layer-button:hover{background:rgba(162,89,247,.1);border-color:var(--vibrant-purple);color:var(--light-text)}.selected-only-toggle{position:relative}.selected-only-switch{position:relative;display:flex;align-items:center;font-size:.98em;color:var(--muted-text);cursor:pointer;user-select:none}.selected-only-switch>input{appearance:none;z-index:-1;position:absolute;left:-6px;top:-8px;display:block;margin:0;width:40px;height:40px;opacity:0;pointer-events:none}.selected-only-switch>span::before{content:"";display:inline-block;margin:5px 10px 5px 0;border-radius:7px;width:36px;height:14px;background-color:var(--panel-border-strong);vertical-align:top;transition:background-color .2s,opacity .2s}.selected-only-switch>span::after{content:"";position:absolute;top:2px;left:0px;border-radius:50%;width:20px;height:20px;background-color:var(--muted-text);box-shadow:0 2px 4px rgba(0,0,0,.25);transition:background-color .2s,transform .2s}.selected-only-switch>input:checked+span::before{background-color:rgba(162,89,247,.4)}.selected-only-switch>input:checked+span::after{background-color:var(--vibrant-purple);transform:translateX(16px)}.selected-only-switch:hover>span::after{filter:brightness(1.2)}.selected-only-switch>input:disabled+span::before{background-color:var(--panel-border-soft)}.selected-only-switch>input:disabled+span::after{background-color:rgba(255,255,255,.1)}.global-busy-overlay{position:absolute;left:50%;top:45%;z-index:1000;width:60px;aspect-ratio:1;--g: conic-gradient(from -90deg at 10px 10px,var(--vibrant-purple) 90deg,#0000 0);background:var(--g),var(--g),var(--g);background-size:50% 50%;animation:l16 1s infinite}@keyframes l16{0%{background-position:0 0,10px 10px,20px 20px}50%{background-position:0 20px,10px 10px,20px 0}100%{background-position:20px 20px,10px 10px,0 0}}.global-busy-overlay.hidden{display:none}.div-disabled{opacity:.5}.div-disabled *{pointer-events:none}
