/* vgis_tools.css version v54 - 2026-06-08T12:55:00Z - styles Print menu PDF scope, paper, and Global zoom controls. */

/* === TOP MAP TOOL BLOCK === */
#mapTopToolsDock{
  position:fixed;
  top:8px;
  left:8px;
  z-index:9400;
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  justify-content:flex-start;
  gap:0;
  max-width:calc(100vw - 8px);
  pointer-events:none;
  --top-tools-menu-font-family:var(--nomen-active-font-family, "Segoe UI", Arial, sans-serif);
  --top-tools-menu-font-size:12px;
  --top-tools-menu-pin-font-size:13px;
}
:root[data-nomen-font-mode="widmanstadius"] #mapTopToolsDock{
  --top-tools-menu-font-size:14px;
  --top-tools-menu-pin-font-size:15px;
}
#mapTopToolsDock > *,
#mapTopToolsMenu > *,
.map-top-tool-group > *{
  pointer-events:auto;
}
.map-top-tools-menu{
  display:none;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  max-width:100vw;
  margin-top:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  box-sizing:border-box;
}
.map-top-tool-group{
  --tool-group-color:#111;
  position:relative;
  display:none;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  min-width:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.map-top-tool-group--file{ --tool-group-color:#202124; }
.map-top-tool-group--calculate{ --tool-group-color:#365a8c; }
.map-top-tool-group--draw{ --tool-group-color:#2f7d4e; }
.map-top-tool-group--display{ --tool-group-color:#9f3d42; }
.map-top-tool-group--play{ --tool-group-color:#a85d17; }
.map-top-tool-group--print{ --tool-group-color:#4b5563; }
.map-top-tool-group--about{ --tool-group-color:#0f766e; }
.map-top-tool-group__title{
  display:none;
}
.map-top-tool-item{
  position:relative;
  display:none;
  align-items:center;
  justify-content:stretch;
  width:100%;
}
.map-top-tool-field{
  display:none;
  flex-direction:column;
  gap:3px;
  width:100%;
  min-width:170px;
  padding:6px 10px;
  box-sizing:border-box;
  background:#fff;
  color:#3c4043;
  font:400 11px/1.2 var(--top-tools-menu-font-family);
}
.map-top-tool-field span{
  font:600 10px/1.1 var(--top-tools-menu-font-family);
  color:#5f6368;
}
.map-top-tool-field select{
  width:100%;
  min-height:26px;
  border:1px solid rgba(60,64,67,.28);
  border-radius:3px;
  background:#fff;
  color:#202124;
  padding:3px 6px;
  font:400 var(--top-tools-menu-font-size)/1.2 var(--top-tools-menu-font-family);
  letter-spacing:0;
}
.map-top-tool-field.is-disabled{
  opacity:.58;
}
.map-top-tool-field.is-disabled select{
  cursor:not-allowed;
}
.map-tools-toggle,
.map-top-tool-btn{
  appearance:none;
  border:1px solid rgba(60,64,67,.32);
  background:#f8f9fa;
  color:#202124;
  border-radius:4px;
  padding:6px 11px;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:600 var(--top-tools-menu-font-size)/1.15 var(--top-tools-menu-font-family);
  letter-spacing:0;
  box-shadow:0 1px 3px rgba(0,0,0,.16);
  cursor:pointer;
  white-space:nowrap;
  box-sizing:border-box;
}
.map-top-tool-item .map-top-tool-btn{
  padding-right:28px;
}
.map-top-tool-pin{
  appearance:none;
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  z-index:1;
  display:none;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  padding:0;
  border:1px solid rgba(60,64,67,.34);
  border-radius:3px;
  background:#f8f9fa;
  color:#3f444a;
  box-shadow:none;
  cursor:pointer;
  font:700 var(--top-tools-menu-pin-font-size)/1 var(--top-tools-menu-font-family);
  letter-spacing:0;
}
.map-top-tool-item.is-pinned .map-top-tool-pin{
  background:#e8f0fe;
  color:#174ea6;
  border-color:#9bbcf5;
}
.map-tools-toggle{
  min-width:76px;
  background:#f1f3f4;
  color:#202124;
  border-color:rgba(60,64,67,.34);
  border-radius:4px;
  min-height:30px;
  padding:6px 13px;
}
#mapTopToolsDock:not(.is-open) .map-top-tools-menu{
  display:flex;
  margin-top:0;
  margin-left:6px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
#mapTopToolsDock:not(.is-open) .map-top-tool-group{
  display:contents;
}
#mapTopToolsDock:not(.is-open) .map-top-tools-menu .map-top-tool-btn{
  display:none;
}
#mapTopToolsDock:not(.is-open) .map-top-tools-menu .map-top-tool-item{
  display:none;
}
#mapTopToolsDock:not(.is-open) .map-top-tools-menu .map-top-tool-field{
  display:none;
}
#mapTopToolsDock:not(.is-open) .map-top-tools-menu .map-top-tool-btn.is-pinned{
  display:inline-flex;
  order:20;
}
#mapTopToolsDock:not(.is-open) .map-top-tools-menu .map-top-tool-item.is-pinned{
  display:inline-flex;
  order:20;
}
#mapTopToolsDock:not(.is-open) .map-top-tool-item.is-pinned .map-top-tool-btn,
#mapTopToolsDock:not(.is-open) .map-top-tool-item.is-pinned .map-top-tool-pin{
  display:inline-flex;
}
#mapTopToolsDock:not(.is-open) .map-top-tool-item.is-pinned .map-top-tool-btn{
  width:auto;
  min-height:30px;
  border-radius:4px;
  background:#f8f9fa;
  box-shadow:0 1px 4px rgba(0,0,0,.16);
}
#mapTopToolsDock:not(.is-open) .map-top-tool-group__title{
  display:none;
}
#mapTopToolsDock.is-open .map-top-tools-menu{
  display:flex;
  margin-left:6px;
  justify-content:flex-start;
}
#mapTopToolsDock.is-open .map-top-tool-group{
  display:flex;
}
#mapTopToolsDock.is-open .map-top-tool-group.is-expanded{
  border:1px solid rgba(60,64,67,.32);
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.18), inset 3px 0 0 var(--tool-group-color);
  z-index:1;
}
#mapTopToolsDock.is-open .map-top-tool-group__title{
  appearance:none;
  position:relative;
  border:1px solid transparent;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  width:max-content;
  min-width:0;
  min-height:28px;
  padding:5px 8px;
  border-radius:0;
  background:rgba(255,255,255,.96);
  color:#202124;
  font:600 var(--top-tools-menu-font-size)/1.15 var(--top-tools-menu-font-family);
  letter-spacing:0;
  white-space:nowrap;
  box-shadow:none;
  cursor:pointer;
  box-sizing:border-box;
}
#mapTopToolsDock.is-open .map-top-tool-group__title:hover{
  background:#e9ecef;
}
#mapTopToolsDock.is-open .map-top-tool-group__title::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  opacity:.7;
}
#mapTopToolsDock.is-open .map-top-tool-group__title[aria-expanded="true"]{
  background:#e8f0fe;
  border-color:rgba(60,64,67,.32);
  color:#174ea6;
}
#mapTopToolsDock.is-open .map-top-tools-menu .map-top-tool-btn{
  display:none;
  width:100%;
  min-width:max-content;
  min-height:29px;
  justify-content:flex-start;
  border:0;
  border-radius:2px;
  background:#fff;
  color:#202124;
  padding:6px 28px 6px 12px;
  font:400 var(--top-tools-menu-font-size)/1.2 var(--top-tools-menu-font-family);
  box-shadow:none;
}
#mapTopToolsDock.is-open .map-top-tools-menu .map-top-tool-item{
  display:none;
  width:100%;
  min-width:max-content;
}
#mapTopToolsDock.is-open .map-top-tools-menu .map-top-tool-field{
  display:none;
}
#mapTopToolsDock.is-open .map-top-tool-group.is-expanded .map-top-tool-btn{
  display:flex;
}
#mapTopToolsDock.is-open .map-top-tool-group.is-expanded .map-top-tool-field{
  display:flex;
}
#mapTopToolsDock.is-open .map-top-tool-group.is-expanded .map-top-tool-btn:hover{
  background:#e8f0fe;
  color:#174ea6;
}
#mapTopToolsDock.is-open .map-top-tool-group.is-expanded .map-top-tool-item{
  display:flex;
}
#mapTopToolsDock.is-open .map-top-tool-group.is-expanded .map-top-tool-pin,
#mapTopToolsDock.is-open .map-top-tool-item.is-pinned .map-top-tool-pin{
  display:flex;
}
#mapTopToolsDock.is-open .map-top-tool-group.is-expanded .map-top-tool-item .map-top-tool-btn,
#mapTopToolsDock.is-open .map-top-tool-item.is-pinned .map-top-tool-btn{
  display:flex;
}
#mapTopToolsMenu #balloonGameFab{
  position:static !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:29px;
  border-radius:2px !important;
  box-shadow:none !important;
  gap:6px;
}
#mapTopToolsMenu #balloonGameFab svg{
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.vgis-file-menu-doc-panel{
  position:fixed;
  left:50%;
  top:72px;
  transform:translateX(-50%);
  z-index:9600;
  display:none;
  width:min(680px, calc(100vw - 32px));
  height:min(620px, calc(100vh - 104px));
  min-width:280px;
  min-height:190px;
  resize:both;
  overflow:hidden;
  border:1px solid rgba(32,33,36,.32);
  border-radius:6px;
  background:#fff;
  color:#202124;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  font:12px/1.35 var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
  box-sizing:border-box;
}
.vgis-file-menu-doc-panel.is-open{
  display:flex;
  flex-direction:column;
}
.vgis-file-menu-doc-head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:5px 7px 5px 10px;
  border-bottom:1px solid rgba(32,33,36,.16);
  background:#f1f3f4;
  cursor:move;
  box-sizing:border-box;
}
.vgis-file-menu-doc-title{
  flex:1 1 auto;
  min-width:0;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vgis-file-menu-doc-popout,
.vgis-file-menu-doc-close{
  flex:0 0 auto;
  appearance:none;
  border:1px solid rgba(32,33,36,.28);
  border-radius:4px;
  background:#fff;
  color:#202124;
  min-height:24px;
  padding:3px 8px;
  font:600 11px/1.1 var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
  cursor:pointer;
}
.vgis-file-menu-doc-close{
  width:26px;
  padding:0;
  font-size:14px;
}
.vgis-file-menu-doc-body{
  flex:1 1 auto;
  margin:0;
  padding:12px 14px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:normal;
  background:#fff;
  color:#202124;
  font:12px/1.45 "Segoe UI", Arial, sans-serif;
}
.vgis-language-dock{
  position:fixed;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  z-index:9460;
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  pointer-events:none;
  transition:transform .16s ease;
}
.vgis-language-dock.is-open{
  transform:translateX(-50%);
}
.vgis-language-dock__toggle{
  appearance:none;
  border:1px solid rgba(0,0,0,.28);
  border-radius:14px;
  min-width:58px;
  min-height:38px;
  padding:7px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.96);
  color:#111;
  font:800 12px/1 sans-serif;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  cursor:pointer;
  pointer-events:auto;
}
.vgis-language-dock__code{
  letter-spacing:0;
}
.vgis-language-dock__selectHost,
.vgis-language-dock__nativeSelect{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}
.vgis-language-dock__menu{
  display:none;
  gap:4px;
  align-items:stretch;
  justify-content:center;
  flex-wrap:wrap;
  max-width:min(520px, calc(100vw - 24px));
  margin-bottom:6px;
  padding:7px;
  border:1px solid rgba(0,0,0,.22);
  border-radius:10px;
  background:rgba(255,255,255,.98);
  box-shadow:0 2px 12px rgba(0,0,0,.16);
  pointer-events:auto;
}
.vgis-language-dock.is-open .vgis-language-dock__menu{
  display:flex;
}
.vgis-language-dock__option{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  border-radius:8px;
  padding:5px 7px;
  display:grid;
  grid-template-columns:auto;
  grid-template-rows:auto auto;
  row-gap:3px;
  align-items:center;
  justify-items:center;
  background:#fff;
  color:#111;
  font:800 11px/1 sans-serif;
  cursor:pointer;
}
.vgis-language-dock__option em{
  font:600 9px/1.1 sans-serif;
  color:#555;
  font-style:normal;
}
.vgis-language-dock__option.is-active{
  border-color:#111;
  background:#111;
  color:#fff;
}
.vgis-language-dock__option.is-active em{
  color:#ddd;
}
@media (max-width: 900px){
  .vgis-language-dock{
    bottom:70px;
  }
}
.vgis-distance-ruler{
  position:fixed;
  inset:0;
  z-index:9390;
  pointer-events:none;
}
.vgis-distance-ruler__toggle{
  position:fixed;
  left:8px;
  top:242px;
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid #111;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#111;
  box-shadow:0 2px 12px rgba(0,0,0,.22);
  cursor:pointer;
  pointer-events:auto;
}
.vgis-distance-ruler__toggle.is-active{
  background:#111;
  color:#facc15;
  border-color:#facc15;
}
.vgis-distance-ruler__toggle svg{
  width:23px;
  height:23px;
}
.vgis-distance-ruler__menu{
  position:fixed;
  left:56px;
  top:242px;
  display:none;
  gap:5px;
  padding:6px;
  border:2px solid #111;
  border-radius:10px;
  background:rgba(255,255,255,.97);
  box-shadow:0 2px 12px rgba(0,0,0,.22);
  pointer-events:auto;
}
.vgis-distance-ruler__menu.is-open{
  display:flex;
}
.vgis-distance-ruler__menu button{
  appearance:none;
  border:1px solid rgba(0,0,0,.22);
  border-radius:7px;
  background:#fff;
  color:#111;
  padding:5px 8px;
  font:800 11px/1 sans-serif;
  cursor:pointer;
}
.vgis-distance-ruler__menu button.is-active{
  background:#111;
  color:#facc15;
  border-color:#111;
}
.vgis-distance-ruler__profile{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:25px;
  padding:4px 7px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:7px;
  background:#fff;
  color:#111;
  font:800 11px/1 sans-serif;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}
.vgis-distance-ruler__profile input{
  width:13px;
  height:13px;
  margin:0;
  accent-color:#111;
}
.vgis-distance-ruler__status{
  position:fixed;
  left:56px;
  top:290px;
  display:none;
  max-width:min(360px, calc(100vw - 78px));
  padding:5px 8px;
  border-radius:7px;
  background:#111;
  color:#facc15;
  font:800 11px/1.25 sans-serif;
  pointer-events:auto;
  cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.24);
}
.vgis-distance-ruler__status.is-visible{
  display:block;
}
.vgis-distance-ruler__frameCanvas{
  position:fixed;
  display:none;
  pointer-events:none;
  z-index:9391;
}
.vgis-distance-ruler__frameCanvas.is-visible{
  display:block;
}
.vgis-distance-ruler__mapLabel{
  background:#111;
  border:1px solid #fff;
  color:#facc15;
  box-shadow:0 1px 6px rgba(0,0,0,.28);
  font:900 12px/1 sans-serif;
  padding:4px 6px;
}
.vgis-distance-ruler--crosshair,
.vgis-distance-ruler--crosshair *{
  cursor:crosshair !important;
}
.leaflet-container.vgis-distance-ruler--crosshair .leaflet-interactive{
  pointer-events:none;
}
.leaflet-container.vgis-distance-ruler--active .nomen-label,
.leaflet-container.vgis-distance-ruler--active .curve-name-label,
.leaflet-container.vgis-distance-ruler--active .crater-name-label{
  pointer-events:none !important;
}
.vgis-distance-ruler__frame{
  position:fixed;
  display:none;
  width:240px;
  height:160px;
  left:calc(50vw - 120px);
  top:calc(50vh - 80px);
  border:3px dashed #fff;
  outline:3px solid #111;
  box-sizing:border-box;
  background:repeating-linear-gradient(90deg, rgba(0,0,0,.1) 0 8px, rgba(255,255,255,.18) 8px 16px);
  cursor:move;
  pointer-events:auto;
  touch-action:none;
  user-select:none;
}
.vgis-distance-ruler__frame.is-visible{
  display:block;
}
.vgis-distance-ruler__label{
  position:absolute;
  padding:3px 6px;
  border-radius:4px;
  background:#111;
  color:#facc15;
  font:900 12px/1 sans-serif;
  letter-spacing:0;
  white-space:nowrap;
  box-shadow:0 1px 5px rgba(0,0,0,.26);
}
.vgis-distance-ruler__label--top{
  left:50%;
  top:-26px;
  transform:translateX(-50%);
}
.vgis-distance-ruler__label--left{
  left:-8px;
  top:50%;
  transform:translate(-100%, -50%) rotate(-90deg);
  transform-origin:right center;
}
.vgis-distance-ruler__hint{
  position:absolute;
  right:5px;
  bottom:5px;
  padding:2px 5px;
  border-radius:4px;
  background:rgba(0,0,0,.78);
  color:#facc15;
  font:800 10px/1 sans-serif;
}
.vgis-distance-ruler__handle{
  position:absolute;
  right:-8px;
  bottom:-8px;
  width:18px;
  height:18px;
  border:2px solid #111;
  background:#facc15;
  cursor:nwse-resize;
  box-sizing:border-box;
}
#mapTopToolsMenu #balloonGameFab.is-active{
  background:#e8f0fe;
  border-color:#9bbcf5;
  color:#174ea6;
  transform:none;
}
.map-tools-toggle:hover,
#mapTopToolsDock:not(.is-open) .map-top-tool-item.is-pinned .map-top-tool-btn:hover{
  background:#e9ecef;
}
#mapTopToolsDock:not(.is-open) .map-top-tool-item.is-pinned .map-top-tool-pin:hover,
#mapTopToolsDock.is-open .map-top-tool-pin:hover{
  background:#e8f0fe;
  color:#174ea6;
  border-color:#9bbcf5;
}
.map-top-tool-btn.is-active,
#mapTopToolsDock.is-open .map-top-tools-menu .map-top-tool-btn.is-active{
  background:#dbeafe;
  color:#174ea6;
}
#mapTopToolsDock.is-open .map-top-tools-menu .map-top-tool-btn.is-active{
  box-shadow:inset 3px 0 0 #174ea6;
}
#mapTopToolsDock.is-open .map-top-tools-menu .map-top-tool-btn.is-active:hover{
  background:#dbeafe;
}
.map-top-tool-btn.is-pinned:not(.is-active){
  border-color:rgba(17,17,17,.35);
}

.map-top-tool-btn:disabled,
.map-top-tool-btn.vgis-projection-disabled-button{
  background:rgba(226,232,240,.96);
  color:#64748b;
  border-color:rgba(100,116,139,.28);
  box-shadow:none;
  cursor:not-allowed;
  filter:grayscale(1);
}

.map-top-tool-btn.is-active{
  background:#dbeafe;
  color:#174ea6;
}
.map-tools-toggle:focus-visible,
.map-top-tool-group__title:focus-visible,
.map-top-tool-btn:focus-visible{
  outline:2px solid #174ea6;
  outline-offset:1px;
}
.map-tool-window{
  position:fixed;
  z-index:9390;
  display:none;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.18);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
  overflow:hidden;
  min-width:260px;
  min-height:180px;
  touch-action:none;
  user-select:none;
}
.map-tool-window.is-open{
  display:block;
}
.map-tool-window.is-minimized{
  height:38px !important;
  min-height:38px !important;
  overflow:hidden;
}
.map-tool-window.is-minimized .map-tool-window__body,
.map-tool-window.is-minimized .map-tool-window__resize{
  display:none;
}
.map-tool-window.is-minimized .map-tool-window__header{
  border-radius:16px;
  border-bottom:1px solid rgba(0,0,0,.16);
}
.map-tool-window__header{
  height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 12px;
  background:rgba(245,245,245,.98);
  border-bottom:1px solid rgba(0,0,0,.08);
  cursor:move;
  touch-action:none;
  user-select:none;
}
.map-tool-window__title{
  font:700 13px/1 sans-serif;
  color:#111;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:move;
}
.map-tool-window__actions{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.map-tool-window__hint{
  font:600 11px/1 sans-serif;
  color:#666;
  cursor:move;
  user-select:none;
}
.map-tool-window__close{
  appearance:none;
  border:0;
  background:transparent;
  color:#333;
  font:700 18px/1 sans-serif;
  cursor:pointer;
  padding:0;
  width:22px;
  height:22px;
}
.map-tool-window__minimize{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  border-radius:50%;
  background:#fff;
  color:#333;
  font:800 17px/1 sans-serif;
  cursor:pointer;
  padding:0;
  width:22px;
  height:22px;
}
.map-tool-window__close:focus-visible,
.map-tool-window__minimize:focus-visible,
.map-tool-window__collapse:focus-visible{
  outline:2px solid #1d6fff;
  outline-offset:2px;
}
.map-tool-window__body{
  position:absolute;
  left:0;
  right:0;
  top:39px;
  bottom:0;
  background:#fff;
}
.map-tool-window__viewport{
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:74px;
  overflow:hidden;
  background:rgba(255,255,255,.96);
}
.map-tool-window__viewport--profile{
  bottom:58px;
}
.map-tool-window__viewport canvas,
.map-tool-window__viewport img{
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
}
.map-tool-window__empty{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  text-align:center;
  font:600 13px/1.4 sans-serif;
  color:#666;
}
.map-tool-window__footer{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  min-height:74px;
  padding:8px 10px 10px;
  border-top:1px solid rgba(0,0,0,.08);
  background:rgba(250,250,250,.98);
}
.map-tool-window__footer--profile{
  min-height:58px;
  padding:8px 10px;
}
.map-tool-window__status{
  font:600 11px/1.3 sans-serif;
  color:#444;
  margin:0 0 6px;
}
.map-tool-window__sliderRow{
  display:flex;
  align-items:center;
  gap:8px;
  margin:4px 0;
}
.map-tool-window__sliderRow label{
  width:34px;
  flex:0 0 34px;
  font:700 11px/1 sans-serif;
  color:#333;
}
.map-tool-window__sliderRow input[type="range"]{
  flex:1 1 auto;
  margin:0;
}
.map-tool-window__sliderVal{
  width:70px;
  flex:0 0 70px;
  text-align:right;
  font:600 11px/1 sans-serif;
  color:#333;
}
.map-tool-window__footerActions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.map-tool-window__submit{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font:700 12px/1 sans-serif;
  cursor:pointer;
}
.map-tool-window__submit:disabled{
  opacity:.55;
  cursor:progress;
}
.map-tool-window__helpText{
  margin:2px 0 6px 42px;
  font:500 10px/1.25 sans-serif;
  color:#666;
}
.map-tool-window__resize{
  position:absolute;
  right:0;
  bottom:0;
  width:22px;
  height:22px;
  cursor:nwse-resize;
  touch-action:none;
  background:
    linear-gradient(135deg, transparent 0 46%, rgba(0,0,0,.22) 46% 54%, transparent 54% 100%),
    linear-gradient(135deg, transparent 0 66%, rgba(0,0,0,.22) 66% 74%, transparent 74% 100%);
  opacity:.95;
}
.map-tool-window__resize--nw{
  left:0;
  top:0;
  right:auto;
  bottom:auto;
  background:
    linear-gradient(315deg, transparent 0 46%, rgba(0,0,0,.22) 46% 54%, transparent 54% 100%),
    linear-gradient(315deg, transparent 0 66%, rgba(0,0,0,.22) 66% 74%, transparent 74% 100%);
}
#profileToolPanel .map-tool-window__viewport{
  background:#fff;
}
#profileToolPanel .map-tool-window__footer--profile{
  gap:10px;
}
#profileToolPanel .map-tool-window__footerActions{
  align-items:flex-start;
}
#profileToolPanel .map-tool-window__buttonRow{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex:0 0 auto;
}
#profileToolSummary{
  flex:1 1 auto;
  min-width:0;
  font:600 11px/1.3 sans-serif;
  color:#333;
}
#profileToolNew{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:8px 12px;
  font:700 12px/1 sans-serif;
  cursor:pointer;
}
#profileToolSubmit[disabled]{
  opacity:.45;
  cursor:default;
}
#threeDToolPanel{
  min-width:420px;
  min-height:420px;
  background:transparent;
}
#threeDToolPanel .map-tool-window__body{
  background:transparent;
}
#threeDToolPanel .map-tool-window__viewport{
  bottom:126px;
  background:rgba(8,8,10,.98);
  min-height:220px;
}
#threeDToolPanel .map-tool-window__footer{
  min-height:126px;
}
#threeDToolPanel .map-tool-window__footerActions{
  align-items:flex-start;
  justify-content:flex-start;
  flex-wrap:wrap;
  padding-right:18px;
  padding-bottom:4px;
}
#threeDToolPanel .map-tool-window__footerActions > *{
  position:relative;
  z-index:8;
}
#threeDToolStatus{
  flex:1 1 100% !important;
  min-width:0;
}
#threeDToolSubmit{
  margin-left:auto;
}
#threeDToolCanvas{
  display:none;
  background:transparent;
}
#threeDToolControls{
  position:absolute;
  inset:0;
  z-index:7;
  display:none;
  pointer-events:none;
}
#threeDToolPanel.is-open #threeDToolControls{
  display:block;
}
#threeDToolViewLabel{
  flex:1 1 100%;
  max-width:none;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  color:#111;
  font:700 11px/1.3 sans-serif;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}
#threeDToolUp{
  top:12px;
  left:50%;
  transform:translateX(-50%);
}
#threeDToolLeft{
  left:12px;
  top:50%;
  transform:translateY(-50%);
}
#threeDToolRight{
  right:12px;
  top:50%;
  transform:translateY(-50%);
}
#threeDToolDown{
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
}
.three-d-tool__navBtn{
  position:absolute;
  width:52px;
  height:52px;
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(22,24,28,.94);
  color:#fff;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
  font:700 24px/1 sans-serif;
  cursor:pointer;
  pointer-events:auto;
}
.three-d-tool__navBtn:hover:not(:disabled){
  background:rgba(36,38,44,.98);
  border-color:rgba(255,255,255,.30);
}
.three-d-tool__navBtn:disabled{
  opacity:.45;
  cursor:default;
}
#threeDToolExaggeration{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(17,20,24,.10);
  color:#111;
  font:700 12px/1 sans-serif;
  white-space:nowrap;
}
#threeDToolExaggerationSelect{
  min-width:72px;
  padding:2px 6px;
  border:1px solid rgba(17,20,24,.18);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#111;
  font:600 12px/1.2 sans-serif;
}
#threeDToolNorth{
  position:absolute;
  top:10px;
  right:10px;
  z-index:5;
  display:none;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#111;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  pointer-events:none;
}
#threeDToolNorthArrow{
  display:inline-flex;
  width:18px;
  height:18px;
  align-items:center;
  justify-content:center;
  font:700 18px/1 sans-serif;
  transform-origin:50% 50%;
}
#threeDToolNorthLabel{
  font:700 12px/1 sans-serif;
  letter-spacing:.04em;
}
#threeDToolDebug{
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(11,13,17,.92);
  color:#dfe7f2;
  font:12px/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space:pre-wrap;
  border:1px solid rgba(255,255,255,.10);
}
#threeDToolRasterBtn{
  display:inline-flex;
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:8px 12px;
  min-height:34px;
  font:700 12px/1 sans-serif;
  cursor:pointer;
}
#threeDToolRasterBtn{
  min-width:122px;
  justify-content:center;
}
.three-d-tool__mode,
.three-d-tool__checkbox{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  color:#111;
  font:700 12px/1 sans-serif;
  white-space:nowrap;
}
.three-d-tool__mode select{
  height:34px;
  min-width:112px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:8px;
  background:#fff;
  color:#111;
  padding:0 28px 0 10px;
  font:700 12px/1 sans-serif;
}
.three-d-tool__mode select:disabled{
  opacity:.62;
  cursor:wait;
}
.three-d-tool__checkbox{
  padding:0 4px;
}
.three-d-tool__checkbox input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:#111;
}
.three-d-tool__checkbox.is-disabled{
  opacity:.54;
  color:#555;
  cursor:not-allowed;
}
.three-d-tool__checkbox input:disabled{
  cursor:not-allowed;
  filter:grayscale(1);
}

#contourTraceToolPanel .map-tool-window__viewport{
  bottom:154px;
  background:#fff;
}
#contourTraceToolPanel .map-tool-window__footer{
  min-height:154px;
}
#contourTraceToolPanel .map-tool-window__empty{
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  padding:14px 16px;
}
#contourTraceToolPanel .map-tool-window__buttonRow{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:6px;
}
#contourTraceToolClear{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:8px 12px;
  font:700 12px/1 sans-serif;
  cursor:pointer;
}
#threeDToolPanel .map-tool-window__resize,
#threeDToolPanel .map-tool-window__resize--nw{
  width:16px;
  height:16px;
  z-index:7;
}

#minMaxToolPanel{
  min-width:320px;
  min-height:210px;
}
#minMaxToolPanel .map-tool-window__header{
  background:rgba(245,245,245,.96);
  border:1px solid rgba(0,0,0,.16);
  border-bottom:none;
  border-radius:16px 16px 0 0;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
#minMaxToolPanel .map-tool-window__body{
  padding:7px 8px 8px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.16);
  border-top:none;
  border-radius:0 0 16px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  overflow:hidden;
}
.minmax-tool-window__compact{
  display:flex;
  flex-direction:column;
  gap:3px;
  height:100%;
  min-height:0;
}
.minmax-selection-outline{
  position:fixed;
  display:none;
  z-index:9388;
  box-sizing:border-box;
  border:2px dotted rgba(0,0,0,.86);
  box-shadow:0 0 0 1px rgba(255,255,255,.95), inset 0 0 0 1px rgba(255,255,255,.85);
  pointer-events:none;
}
.minmax-selection-outline.is-visible{
  display:block;
}
.leaflet-container.minmax-map-selecting,
.leaflet-container.minmax-map-selecting *{
  cursor:crosshair !important;
}
.three-d-selection-outline{
  position:fixed;
  display:none;
  z-index:9389;
  box-sizing:border-box;
  border:2px dashed rgba(20,20,20,.86);
  box-shadow:0 0 0 1px rgba(255,255,255,.95), inset 0 0 0 1px rgba(255,255,255,.8);
  pointer-events:none;
}
.three-d-selection-outline.is-visible{
  display:block;
}
.leaflet-container.three-d-map-selecting,
.leaflet-container.three-d-map-selecting *{
  cursor:crosshair !important;
}
.three-d-tool__roi{
  appearance:none;
  border:1px solid #bcd1ea;
  border-radius:8px;
  background:#f5f9ff;
  color:#16345f;
  font:600 11px/1.1 system-ui, sans-serif;
  padding:5px 8px;
  white-space:nowrap;
  cursor:pointer;
  pointer-events:auto;
}
.three-d-tool__roi:disabled{
  opacity:.5;
  cursor:default;
}
#minMaxToolPanel .map-tool-window__footer{
  display:none;
}
#minMaxToolPanel .map-tool-window__status{
  margin:0 0 3px;
  line-height:1.15;
}
.minmax-tool-window__results{
  display:grid;
  gap:2px;
  max-height:400px;
  overflow:auto;
  flex:1 1 auto;
  min-height:18px;
}
.minmax-tool-window__help{
  display:grid;
  gap:6px;
  color:#2f3744;
}
.minmax-tool-window__helpTitle{
  font:800 11px/1.15 sans-serif;
  color:#111827;
}
.minmax-tool-window__helpSvg{
  width:100%;
  height:auto;
  border:1px solid rgba(0,0,0,.1);
  border-radius:6px;
  background:#fff;
}
.minmax-tool-window__helpList{
  display:grid;
  gap:3px;
  min-width:0;
}
.minmax-tool-window__helpItem{
  font:600 10.5px/1.2 sans-serif;
  color:#374151;
}
.minmax-tool-window__helpItem b{
  color:#111827;
}
/* On-the-fly DTM contour-field labels: tiny grey digits set into a line break,
   rotated to follow the major contour. Rendered as Leaflet divIcon markers. */
.vgis-contour-label{
  background:none !important;
  border:none !important;
  pointer-events:none;
}
.vgis-contour-label span{
  position:absolute;
  left:0;
  top:0;
  display:inline-block;
  white-space:nowrap;
  transform-origin:center center;
  font:700 9px/1 sans-serif;
  color:#555555;
  letter-spacing:.2px;
}
/* === Tool-window text-size control ===
   Every tool header gets an "A+" button (injected by vgis_tool_window_service)
   that cycles a global multiplier --tool-fs on :root. These rules scale the
   explanatory help text + status/readout lines; bases match the defaults, so
   --tool-fs:1 leaves the current sizes unchanged. */
:root{ --tool-fs:1; }
.map-tool-window__status{ font-size:calc(11px * var(--tool-fs, 1)) !important; }
.map-tool-help__title,
.slope-tool-window__helpTitle,
.minmax-tool-window__helpTitle,
.radar-mask-tool-window__helpTitle,
.surface-roughness-tool-window__helpTitle,
.sorter-tool-window__helpTitle{ font-size:calc(11px * var(--tool-fs, 1)) !important; }
.map-tool-help__item,
.slope-tool-window__helpItem,
.minmax-tool-window__helpItem,
.radar-mask-tool-window__helpItem,
.surface-roughness-tool-window__helpItem,
.sorter-tool-window__helpItem{ font-size:calc(10.5px * var(--tool-fs, 1)) !important; }
.minmax-tool-window__row,
.sorter-tool-window__row,
.slope-tool-window__results,
.radar-mask-tool-window__results{ font-size:calc(11px * var(--tool-fs, 1)) !important; }
.map-tool-window__fontsize{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  border-radius:50%;
  background:#fff;
  color:#333;
  font:800 12px/1 sans-serif;
  cursor:pointer;
  padding:0;
  width:22px;
  height:22px;
  flex:0 0 auto;
}
.map-tool-window__fontsize.is-active{
  background:#1f66d1;
  border-color:#13458c;
  color:#fff;
}
.magic-tool-window .map-tool-window__fontsize{
  background:rgba(255,255,255,.12);
  color:#f3e3b6;
  border-color:rgba(243,227,182,.5);
}
/* Shared tool methodology help block (labeled sketch + bullet list). Used by
   tools whose idle/empty area shows a "how it works" explanation. Self-contained
   so it can fill and scroll inside an absolutely positioned __empty overlay. */
.map-tool-help{
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
  align-self:stretch;
  max-height:100%;
  overflow-y:auto;
  text-align:left;
  color:#2f3744;
}
/* Never let a short overlay compress these into each other (was overlapping in a
   grid when the viewport was short); each block keeps its intrinsic height. */
.map-tool-help > *{
  flex:0 0 auto;
}
.map-tool-help__title{
  font:800 11px/1.15 sans-serif;
  color:#111827;
}
.map-tool-help__svg{
  display:block;
  width:100%;
  height:auto;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.1);
  border-radius:6px;
  background:#fff;
}
.map-tool-help__list{
  display:grid;
  gap:3px;
  min-width:0;
}
.map-tool-help__item{
  font:600 10.5px/1.2 sans-serif;
  color:#374151;
}
.map-tool-help__item b{
  color:#111827;
}
.minmax-tool-window__layerFilters{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:3px;
  margin:2px 0 3px;
}
.minmax-tool-window__layerFilters label{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  font:700 10px/1.1 sans-serif;
  color:#333;
  white-space:nowrap;
}
.minmax-tool-window__layerFilters input{
  width:13px;
  height:13px;
  margin:0;
  flex:0 0 auto;
}
.minmax-tool-window__row{
  display:grid;
  grid-template-columns:minmax(94px, 1fr) auto auto;
  gap:8px;
  align-items:center;
  font:600 11px/1.2 sans-serif;
  color:#222;
}
.minmax-tool-window__name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.minmax-tool-window__pair{
  white-space:nowrap;
  border-radius:4px;
  padding:2px 3px;
  outline:none;
  cursor:pointer;
}
.minmax-tool-window__pair.is-hovered,
.minmax-tool-window__pair:hover,
.minmax-tool-window__pair:focus-visible{
  background:rgba(0,0,0,.08);
}
.minmax-tool-window__dot{
  display:inline-block;
  width:13px;
  height:13px;
  margin-right:4px;
  vertical-align:-3px;
}
.minmax-symbol{
  --minmax-color:#1f66d1;
  position:relative;
  display:inline-block;
  width:13px;
  height:13px;
  box-sizing:border-box;
  color:var(--minmax-color);
  vertical-align:top;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 1px rgba(0,0,0,.55));
  transform-origin:center;
}
.minmax-symbol--star{
  background:var(--minmax-color);
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 92%,50% 70%,21% 92%,32% 57%,2% 35%,39% 35%);
}
.minmax-symbol--square{
  background:var(--minmax-color);
  border:1px solid rgba(0,0,0,.78);
}
.minmax-symbol--triangle-up{
  background:var(--minmax-color);
  clip-path:polygon(50% 4%,96% 94%,4% 94%);
}
.minmax-symbol--triangle-down{
  background:var(--minmax-color);
  clip-path:polygon(4% 6%,96% 6%,50% 96%);
}
.minmax-tool-window__pair.is-hovered .minmax-symbol,
.minmax-tool-window__pair:hover .minmax-symbol,
.minmax-tool-window__pair:focus-visible .minmax-symbol{
  transform:scale(1.15);
}
.minmax-map-marker{
  width:24px !important;
  height:24px !important;
  margin-left:-12px !important;
  margin-top:-12px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
}
.minmax-map-marker--with-value{
  width:84px !important;
  justify-content:flex-start;
  gap:4px;
}
.minmax-map-marker .minmax-symbol{
  width:20px;
  height:20px;
}
.minmax-map-marker__value{
  display:inline-block;
  white-space:nowrap;
  padding:1px 4px;
  border-radius:4px;
  background:rgba(255,255,255,.86);
  color:#111;
  font:700 11px/1.1 sans-serif;
  text-shadow:0 1px 1px rgba(255,255,255,.9);
  box-shadow:0 0 0 1px rgba(0,0,0,.18), 0 1px 3px rgba(0,0,0,.2);
}
.minmax-map-marker.is-active .minmax-symbol{
  transform:scale(1.28);
  filter:drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 3px rgba(0,0,0,.85));
}
.minmax-map-marker.is-active .minmax-map-marker__value{
  box-shadow:0 0 0 2px rgba(255,255,255,.95), 0 1px 4px rgba(0,0,0,.35);
}
.minmax-tool-window__error,
.minmax-tool-window__empty{
  grid-column:2 / -1;
  color:#777;
  font-weight:600;
}
.minmax-tool-window__buttons{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  margin-top:4px;
}
.minmax-tool-window__select,
.minmax-tool-window__clear{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 9px;
  font:700 11px/1 sans-serif;
  cursor:pointer;
}
.minmax-tool-window__select{
  background:#eef4ff;
  border-color:rgba(35,99,180,.28);
}
#minMaxToolPanel .map-tool-window__submit{
  padding:5px 10px;
}

#slopeToolPanel{
  min-width:220px;
  min-height:180px;
}
#slopeToolPanel.is-minimized{
  width:190px !important;
  height:38px !important;
  min-width:190px;
  min-height:38px;
  overflow:hidden;
}
#slopeToolPanel.is-minimized .map-tool-window__body,
#slopeToolPanel.is-minimized .map-tool-window__resize{
  display:none;
}
#slopeToolPanel.is-minimized .map-tool-window__header{
  border-radius:16px;
  border-bottom:1px solid rgba(0,0,0,.16);
}
#slopeToolPanel .map-tool-window__header{
  background:rgba(245,245,245,.96);
  border:1px solid rgba(0,0,0,.16);
  border-bottom:none;
  border-radius:16px 16px 0 0;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
#slopeToolPanel .map-tool-window__body{
  box-sizing:border-box;
  padding:8px 9px 24px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.16);
  border-top:none;
  border-radius:0 0 16px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  overflow:auto;
}
#slopeToolPanel .slope-tool-window__compact{
  box-sizing:border-box;
  min-height:100%;
}
.slope-tool-window__compact{
  display:flex;
  flex-direction:column;
  gap:6px;
  height:100%;
  min-height:0;
}
.slope-selection-outline{
  position:fixed;
  display:none;
  z-index:9388;
  box-sizing:border-box;
  border:2px dotted rgba(0,0,0,.86);
  box-shadow:0 0 0 1px rgba(255,255,255,.95), inset 0 0 0 1px rgba(255,255,255,.85);
  pointer-events:none;
}
.slope-selection-outline.is-visible{
  display:block;
}
.slope-tool-image-overlay{
  image-rendering:pixelated;
  image-rendering:crisp-edges;
}
.slope-tool-image-overlay--smooth{
  image-rendering:auto;
}
.slope-tool-peak-basin-triangle{
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
}
.slope-tool-peak-basin-triangle span{
  display:block;
  width:0;
  height:0;
  filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 1px 2px rgba(0,0,0,.38));
}
.slope-tool-peak-basin-triangle--peak span{
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-bottom:15px solid #ef4444;
  transform:translateY(-1px);
}
.slope-tool-peak-basin-triangle--basin span{
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-top:15px solid #2563eb;
  transform:translateY(1px);
}
.leaflet-container.slope-map-selecting,
.leaflet-container.slope-map-selecting *{
  cursor:crosshair !important;
}
#slopeToolPanel .map-tool-window__status{
  margin:0;
  line-height:1.15;
}
.slope-tool-window__control{
  display:grid;
  grid-template-columns:68px minmax(0, 1fr) 52px;
  gap:6px;
  align-items:center;
  font:700 10.5px/1.15 sans-serif;
  color:#222;
}
.slope-tool-window__control[hidden]{
  display:none;
}
.slope-tool-window__control.is-disabled{
  color:#8a8a8a;
  opacity:.58;
}
.slope-tool-window__control label{
  min-width:0;
  white-space:nowrap;
}
.slope-tool-window__control input[type="range"]{
  width:100%;
  min-width:0;
}
.slope-tool-window__control input[type="range"]:disabled,
.slope-tool-window__control select:disabled{
  cursor:not-allowed;
  filter:grayscale(1);
  opacity:.55;
}
.slope-tool-window__control select{
  grid-column:2 / -1;
  min-width:0;
  width:100%;
  padding:4px 6px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  font:700 11px/1.1 sans-serif;
  color:#111;
}
.slope-tool-window__control span{
  text-align:right;
  white-space:nowrap;
  color:#333;
}
.slope-tool-window__scale{
  display:grid;
  gap:3px;
}
.slope-tool-window__bar{
  height:14px;
  border-radius:3px;
  border:1px solid rgba(0,0,0,.22);
  background:linear-gradient(90deg, rgb(225,242,254) 0%, rgb(125,211,252) 12%, rgb(34,197,94) 28%, rgb(250,204,21) 50%, rgb(249,115,22) 76%, rgb(185,28,28) 100%);
}
.slope-tool-window__scaleLabels{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font:700 10px/1 sans-serif;
  color:#444;
}
.slope-tool-window__results{
  display:grid;
  gap:3px;
  min-height:96px;
  max-height:184px;
  overflow:auto;
  padding:5px 6px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:6px;
  background:rgba(248,250,252,.92);
  font:600 11px/1.2 sans-serif;
}
.slope-tool-window__row{
  display:grid;
  grid-template-columns:minmax(78px, .68fr) minmax(0, 1fr);
  gap:6px;
  align-items:center;
}
.slope-tool-window__row span{
  color:#555;
}
.slope-tool-window__row b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#111;
}
.slope-tool-window__empty{
  color:#777;
  font-weight:600;
}
.slope-tool-window__detail{
  display:grid;
  gap:4px;
  padding:5px;
  border:1px solid rgba(17,24,39,.12);
  border-radius:6px;
  background:#fff;
}
.slope-tool-window__detailTitle{
  font:800 11px/1.15 sans-serif;
  color:#111827;
}
.slope-tool-window__detailHint{
  font:700 10px/1.18 sans-serif;
  color:#64748b;
}
.slope-tool-window__histTitle{
  margin-top:2px;
  font:800 10px/1.1 sans-serif;
  color:#374151;
}
.slope-tool-window__hist{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:3px;
  align-items:end;
  height:38px;
  padding:3px 3px 0;
  border:1px solid rgba(15,23,42,.1);
  border-radius:5px;
  background:linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
}
.slope-tool-window__histBar{
  display:block;
  min-height:2px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(180deg, #f97316 0%, #b91c1c 100%);
}
.slope-tool-window__histScale{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font:700 9.5px/1 sans-serif;
  color:#64748b;
}
.slope-tool-window__help{
  display:grid;
  gap:6px;
  color:#2f3744;
}
.slope-tool-window__helpTitle{
  font:800 11px/1.15 sans-serif;
  color:#111827;
}
.slope-tool-window__helpGrid{
  display:grid;
  grid-template-columns:96px minmax(0, 1fr);
  gap:7px;
  align-items:start;
}
.slope-tool-window__helpSvg{
  width:96px;
  height:72px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:6px;
  background:#fff;
}
.slope-tool-window__helpList{
  display:grid;
  gap:3px;
  min-width:0;
}
.slope-tool-window__helpItem{
  font:600 10.5px/1.18 sans-serif;
  color:#374151;
}
.slope-tool-window__helpItem b{
  color:#111827;
}
.slope-tool-window__roseWrap{
  display:flex;
  flex-direction:column;
  gap:5px;
  align-items:center;
  justify-content:center;
  margin:2px auto 5px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.slope-tool-window__rose{
  width:112px;
  height:112px;
  overflow:visible;
  font:700 7px/1 sans-serif;
  fill:#333;
}
.slope-tool-window__roseStats{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  font:700 10px/1.15 sans-serif;
  color:#333;
}
.slope-tool-window__buttons{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  flex-wrap:wrap;
  margin-top:3px;
  padding-bottom:2px;
  flex:0 0 auto;
}
.slope-tool-form-outline,
.slope-tool-peak-basin-outline,
.slope-tool-peak-basin-triangle{
  cursor:pointer;
}
#slopeToolPanel .slope-tool-window__results{
  flex:1 1 84px;
  min-height:72px;
  max-height:132px;
}
.slope-tool-window__select,
.slope-tool-window__clear{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 9px;
  font:700 11px/1 sans-serif;
  cursor:pointer;
}
.slope-tool-window__select{
  background:#eef4ff;
  border-color:rgba(35,99,180,.28);
}
.slope-tool-window__select.is-active{
  background:#dbeafe;
  border-color:rgba(37,99,235,.55);
}
#slopeToolPanel .map-tool-window__submit{
  padding:5px 11px;
}

#surfaceRoughnessToolPanel{
  min-width:240px;
  min-height:180px;
}
#surfaceRoughnessToolPanel .map-tool-window__body{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:0;
  height:calc(100% - 38px);
  padding:8px 9px 10px;
  overflow:auto;
}
.surface-roughness-tool-window__control{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr) 54px;
  gap:6px;
  align-items:center;
  font:700 10.5px/1.15 sans-serif;
  color:#222;
}
.surface-roughness-tool-window__control label{
  white-space:nowrap;
}
.surface-roughness-tool-window__control select{
  grid-column:2 / -1;
  width:100%;
  min-width:0;
  padding:4px 6px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  font:700 11px/1.1 sans-serif;
}
.surface-roughness-tool-window__control input[type="range"]{
  width:100%;
  min-width:0;
}
.surface-roughness-tool-window__control span{
  text-align:right;
  white-space:nowrap;
  color:#333;
}
.surface-roughness-tool-window__scale{
  display:grid;
  gap:3px;
}
.surface-roughness-tool-window__bar{
  height:14px;
  border-radius:3px;
  border:1px solid rgba(0,0,0,.22);
  background:linear-gradient(90deg, #f1f5f9 0%, #93c5fd 22%, #22c55e 48%, #facc15 72%, #b91c1c 100%);
}
.surface-roughness-tool-window__scaleLabels{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  font:700 10px/1 sans-serif;
  color:#444;
}
.surface-roughness-tool-window__results{
  display:grid;
  gap:3px;
  flex:1 1 auto;
  min-height:78px;
  overflow:auto;
  padding:6px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:6px;
  background:rgba(248,250,252,.92);
  font:600 11px/1.2 sans-serif;
}
.surface-roughness-tool-window__row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
}
.surface-roughness-tool-window__row span{
  color:#555;
}
.surface-roughness-tool-window__row b{
  min-width:0;
  text-align:right;
}
.surface-roughness-tool-window__empty{
  color:#555;
}
.surface-roughness-tool-window__help{
  display:grid;
  gap:5px;
}
.surface-roughness-tool-window__helpTitle{
  color:#111;
  font:800 12px/1.15 sans-serif;
}
.surface-roughness-tool-window__helpItem{
  color:#555;
}
.surface-roughness-tool-window__buttons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.surface-roughness-tool-window__clear{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 10px;
  font:700 11px/1 sans-serif;
  cursor:pointer;
}
#surfaceRoughnessToolPanel .map-tool-window__submit{
  padding:5px 11px;
}
.surface-roughness-tool-image-overlay{
  image-rendering:auto;
}

#radarMaskToolPanel{
  min-width:260px;
  min-height:220px;
}
#radarMaskToolPanel .map-tool-window__body{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:0;
  height:calc(100% - 38px);
  padding:8px 9px 10px;
  overflow:auto;
}
.radar-mask-tool-window__control{
  display:grid;
  grid-template-columns:78px minmax(0, 1fr) 58px;
  gap:6px;
  align-items:center;
  font:700 10.5px/1.15 sans-serif;
  color:#222;
}
.radar-mask-tool-window__control label{
  white-space:nowrap;
}
.radar-mask-tool-window__control select{
  grid-column:2 / -1;
  width:100%;
  min-width:0;
  padding:4px 6px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  font:700 11px/1.1 sans-serif;
}
.radar-mask-tool-window__layerRow select{
  grid-column:2;
}
.radar-mask-tool-window__scopeRow select{
  grid-column:2;
}
.radar-mask-tool-window__iconBtn{
  appearance:none;
  display:inline-grid;
  place-items:center;
  width:26px;
  height:24px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  color:#111;
  font:800 14px/1 sans-serif;
  cursor:pointer;
}
.radar-mask-tool-window__smallBtn{
  appearance:none;
  min-width:0;
  height:24px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  color:#111;
  font:800 10px/1 sans-serif;
  cursor:pointer;
  padding:0 5px;
}
.radar-mask-tool-window__smallBtn:disabled,
.radar-mask-tool-window__iconBtn:disabled{
  opacity:.55;
  cursor:default;
}
.radar-mask-tool-window__control input[type="range"]{
  width:100%;
  min-width:0;
}
.radar-mask-tool-window__control input[type="range"]:disabled{
  opacity:.55;
}
.radar-mask-tool-window__control span{
  text-align:right;
  white-space:nowrap;
  color:#333;
}
.radar-mask-tool-window__scale{
  display:grid;
  gap:3px;
}
.radar-mask-tool-window__bar{
  height:14px;
  border-radius:3px;
  border:1px solid rgba(0,0,0,.22);
  background:linear-gradient(90deg, #050505 0%, #555 38%, #b8b8b8 72%, #fff 100%);
}
.radar-mask-tool-window__scaleLabels{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  font:700 10px/1 sans-serif;
  color:#444;
}
.radar-mask-tool-window__results{
  display:grid;
  gap:3px;
  flex:1 1 auto;
  min-height:92px;
  overflow:auto;
  padding:6px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:6px;
  background:rgba(248,250,252,.92);
  font:600 11px/1.2 sans-serif;
}
.radar-mask-tool-window__row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
}
.radar-mask-tool-window__row span{
  color:#555;
}
.radar-mask-tool-window__row b{
  min-width:0;
  text-align:right;
}
.radar-mask-tool-window__help{
  display:grid;
  gap:5px;
}
.radar-mask-tool-window__helpTitle{
  color:#111;
  font:800 12px/1.15 sans-serif;
}
.radar-mask-tool-window__helpItem,
.radar-mask-tool-window__empty{
  color:#555;
}
.radar-mask-tool-window__table{
  width:100%;
  border-collapse:collapse;
  margin-top:4px;
  font:600 10.5px/1.15 sans-serif;
}
.radar-mask-tool-window__table th,
.radar-mask-tool-window__table td{
  padding:3px 4px;
  border-bottom:1px solid rgba(0,0,0,.08);
  text-align:left;
}
.radar-mask-tool-window__table td:nth-child(2),
.radar-mask-tool-window__table td:nth-child(3){
  text-align:right;
}
.radar-mask-tool-window__buttons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.radar-mask-tool-window__clear{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 10px;
  font:700 11px/1 sans-serif;
  cursor:pointer;
}
#radarMaskToolPanel .map-tool-window__submit{
  padding:5px 11px;
}
.radar-mask-result-outline{
  pointer-events:auto;
}

#sorterToolPanel{
  min-width:360px;
  min-height:360px;
  font-family:var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
}
.sorter-tool-window__control{
  display:grid;
  grid-template-columns:92px minmax(0, 1fr) auto;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
  font-size:12px;
}
.sorter-tool-window__control label{
  color:#475569;
  font-weight:700;
}
.sorter-tool-window__control select{
  min-width:0;
  width:100%;
  border:1px solid rgba(15,23,42,.22);
  border-radius:5px;
  padding:5px 7px;
  background:#fff;
  color:#111827;
  font:inherit;
}
.sorter-tool-window__iconBtn,
.sorter-tool-window__smallBtn{
  border:1px solid rgba(15,23,42,.2);
  background:#f8fafc;
  color:#334155;
  border-radius:5px;
  min-height:27px;
  padding:4px 8px;
  font-size:12px;
  line-height:1.1;
  cursor:pointer;
}
.sorter-tool-window__iconBtn{
  width:30px;
  padding:0;
  font-size:15px;
}
.sorter-tool-window__iconBtn:disabled,
.sorter-tool-window__smallBtn:disabled{
  opacity:.55;
  cursor:default;
}
.sorter-tool-window__control input[type="range"]{
  width:100%;
  min-width:0;
}
.sorter-tool-window__control span{
  color:#475569;
  font-weight:700;
  text-align:right;
  white-space:nowrap;
}
.sorter-tool-window__results{
  min-height:150px;
  max-height:285px;
  overflow:auto;
  border:1px solid rgba(15,23,42,.12);
  border-radius:6px;
  background:#fff;
  padding:8px;
  box-sizing:border-box;
}
.sorter-tool-window__tableWrap{
  overflow-x:auto;
  overflow-y:visible;
  max-width:100%;
}
.sorter-tool-window__tableScrollTop{
  height:14px;
  max-width:100%;
  margin:0 0 4px;
  overflow-x:auto;
  overflow-y:hidden;
}
.sorter-tool-window__tableScrollSpacer{
  height:1px;
}
.sorter-tool-window__table{
  width:auto;
  min-width:940px;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:11px;
  line-height:1.25;
}
.sorter-tool-window__table th,
.sorter-tool-window__table td{
  border-bottom:1px solid rgba(15,23,42,.1);
  padding:4px 5px;
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
}
.sorter-tool-window__table th{
  position:relative;
  background:#f8fafc;
  -webkit-user-select:none;
  user-select:none;
}
.sorter-tool-window__table th[draggable="true"]{
  cursor:grab;
}
.sorter-tool-window__table th.is-dragging{
  opacity:.55;
}
.sorter-tool-window__table th.is-drop-target{
  box-shadow:inset 3px 0 0 #2563eb;
}
.sorter-tool-window__table tbody tr:hover{
  background:#eef6ff;
}
.sorter-tool-window__headerCell{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  padding-right:7px;
}
.sorter-tool-window__headerLabel{
  overflow:hidden;
  min-width:0;
  text-overflow:ellipsis;
}
.sorter-tool-window__columnTools{
  display:inline-flex;
  flex:0 0 auto;
  gap:1px;
}
.sorter-tool-window__columnTools button{
  appearance:none;
  width:15px;
  height:15px;
  border:1px solid rgba(15,23,42,.18);
  border-radius:3px;
  background:#fff;
  color:#334155;
  padding:0;
  font:800 11px/1 var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
  cursor:pointer;
}
.sorter-tool-window__columnTools button:disabled{
  opacity:.32;
  cursor:default;
}
.sorter-tool-window__resizeHandle{
  position:absolute;
  top:0;
  right:-3px;
  width:7px;
  height:100%;
  cursor:col-resize;
  touch-action:none;
}
.sorter-tool-window__resizeHandle::after{
  content:"";
  position:absolute;
  top:5px;
  bottom:5px;
  left:3px;
  border-left:1px solid rgba(15,23,42,.22);
}
#sorterToolPanel.is-column-resizing,
#sorterToolPanel.is-column-resizing *{
  cursor:col-resize !important;
  -webkit-user-select:none;
  user-select:none;
}
.sorter-tool-window__sortBtn{
  appearance:none;
  border:0;
  background:transparent;
  color:#334155;
  font:800 11px/1.15 var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
  padding:0;
  overflow:hidden;
  min-width:0;
  cursor:pointer;
  white-space:nowrap;
  text-align:left;
  text-overflow:ellipsis;
}
.sorter-tool-window__sortBtn:hover{
  color:#0f172a;
  text-decoration:underline;
}
.sorter-tool-window__help,
.sorter-tool-window__empty{
  color:#475569;
  font-size:12px;
  line-height:1.35;
}
.sorter-tool-window__helpTitle{
  margin-bottom:6px;
  color:#0f172a;
  font-weight:800;
}
.sorter-tool-window__helpItem{
  margin-bottom:6px;
}
.sorter-tool-window__summary{
  display:grid;
  grid-template-columns:1fr;
  gap:3px;
  margin-bottom:8px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(15,23,42,.12);
  color:#475569;
  font-size:11px;
}
.sorter-tool-window__summary div{
  display:flex;
  justify-content:space-between;
  gap:8px;
}
.sorter-tool-window__summary b{
    color:#111827;
    text-align:right;
  }
.sorter-tool-window__rowLimit{
    margin:0 0 7px;
    padding:5px 7px;
    border:1px solid rgba(37,99,235,.18);
    border-radius:5px;
    background:#eff6ff;
    color:#1e3a8a;
    font-size:11px;
    font-weight:700;
  }
.sorter-tool-window__list{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.sorter-tool-window__resultRow{
  background:#f8fafc;
  cursor:pointer;
}
.sorter-tool-window__resultRow.is-selected{
  background:#fff7cc;
}
.sorter-tool-window__resultMain{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.sorter-tool-window__resultName{
  overflow:hidden;
  color:#111827;
  font-weight:800;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.sorter-tool-window__resultMeta{
  overflow:hidden;
  color:#64748b;
  font-size:11px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.sorter-tool-window__resultValue{
  color:#111827;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.sorter-tool-window__buttons{
  margin-top:8px;
}
.sorter-tool-window__exportButtons{
  justify-content:flex-start;
  gap:6px;
  margin-top:8px;
}
.sorter-tool-window__exportButtons button{
  appearance:none;
  border:1px solid rgba(15,23,42,.18);
  background:#f8fafc;
  color:#111827;
  border-radius:999px;
  padding:4px 9px;
  font:800 11px/1 var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
  cursor:pointer;
}
.sorter-tool-window__exportButtons button:disabled{
  opacity:.45;
  cursor:default;
}
.sorter-tool-window__clear{
    appearance:none;
    border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 10px;
    font:700 11px/1 var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
    cursor:pointer;
  }
.sorter-tool-window__stop{
    appearance:none;
    border:1px solid rgba(185,28,28,.24);
    background:#fee2e2;
    color:#991b1b;
    border-radius:999px;
    padding:5px 10px;
    font:800 11px/1 var(--top-tools-menu-font-family, "Segoe UI", Arial, sans-serif);
    cursor:pointer;
  }
.sorter-tool-window__stop:disabled{
    opacity:.45;
    cursor:default;
  }
#sorterToolPanel .map-tool-window__submit{
    padding:5px 11px;
  }
.sorter-result-highlight{
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.34));
  }
.sorter-focus-outline{
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.34));
  }
.sorter-roi-preview,
.sorter-focus-flash{
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));
  }

#combinedSimilarityToolPanel{
  min-width:420px;
  min-height:560px;
}
#combinedSimilarityToolPanel .map-tool-window__header{
  background:rgba(245,245,245,.96);
  border:1px solid rgba(0,0,0,.16);
  border-bottom:none;
  border-radius:16px 16px 0 0;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
#combinedSimilarityToolPanel .map-tool-window__body{
  padding:8px 9px 9px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.16);
  border-top:none;
  border-radius:0 0 16px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  overflow:hidden;
}
.combined-similarity-tool-window__compact{
  display:flex;
  flex-direction:column;
  gap:6px;
  height:100%;
  min-height:0;
  overflow:auto;
  padding-right:2px;
}
.combined-similarity-selection-outline{
  position:fixed;
  display:none;
  z-index:9388;
  box-sizing:border-box;
  border:2px dotted rgba(242,72,45,.92);
  box-shadow:0 0 0 1px rgba(255,255,255,.95), inset 0 0 0 1px rgba(255,255,255,.85);
  pointer-events:none;
}
.combined-similarity-selection-outline.is-visible{
  display:block;
}
.combined-similarity-image-overlay{
  image-rendering:pixelated;
  image-rendering:crisp-edges;
}
.combined-similarity-sample-roi-layer,
.combined-similarity-roi-draw-layer,
.combined-similarity-layer-preview{
  pointer-events:none;
}
.leaflet-container.combined-similarity-map-selecting,
.leaflet-container.combined-similarity-map-selecting *{
  cursor:crosshair !important;
}
.leaflet-container.combined-similarity-map-selecting .leaflet-interactive,
.leaflet-container.combined-similarity-map-selecting .nomen-label,
.leaflet-container.combined-similarity-map-selecting .curve-name-label,
.leaflet-container.combined-similarity-map-selecting .crater-name-label{
  pointer-events:none !important;
}
#combinedSimilarityToolPanel .map-tool-window__status{
  margin:0;
  line-height:1.15;
}
.combined-similarity-tool-window__help{
  margin:0;
  padding:6px 7px;
  border:1px solid rgba(242,72,45,.24);
  border-radius:7px;
  background:#fff7ed;
  color:#2f3743;
  font:600 10.5px/1.25 sans-serif;
}
.combined-similarity-tool-window__help summary{
  cursor:pointer;
  color:#111827;
  font:800 11px/1.2 sans-serif;
}
.combined-similarity-tool-window__help summary::-webkit-details-marker{
  display:none;
}
.combined-similarity-tool-window__help summary::before{
  content:'?';
  display:inline-grid;
  place-items:center;
  width:14px;
  height:14px;
  margin-right:5px;
  border-radius:999px;
  background:#f97316;
  color:#fff;
  font:800 10px/1 sans-serif;
}
.combined-similarity-tool-window__helpBody{
  display:grid;
  gap:6px;
  max-height:230px;
  overflow:auto;
  margin-top:6px;
  padding-right:2px;
}
.combined-similarity-tool-window__helpBlock{
  display:grid;
  gap:3px;
}
.combined-similarity-tool-window__helpBlock b{
  color:#111827;
  font:800 10.5px/1.15 sans-serif;
}
.combined-similarity-tool-window__helpBlock p,
.combined-similarity-tool-window__helpBlock ul{
  margin:0;
}
.combined-similarity-tool-window__helpBlock ul{
  display:grid;
  gap:3px;
  padding-left:16px;
}
.combined-similarity-tool-window__helpBlock li{
  margin:0;
}
.combined-similarity-tool-window__sources,
.combined-similarity-tool-window__metrics{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:5px;
  margin:0;
  padding:6px 7px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:7px;
  background:rgba(248,250,252,.92);
  min-width:0;
}
.combined-similarity-tool-window__sources{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.combined-similarity-tool-window__metrics{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.combined-similarity-tool-window__sources legend,
.combined-similarity-tool-window__metrics legend{
  padding:0 4px;
  font:700 10px/1 sans-serif;
  color:#555;
}
.combined-similarity-tool-window__sources label,
.combined-similarity-tool-window__metrics label{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  font:700 10px/1.15 sans-serif;
  color:#222;
  white-space:nowrap;
}
.combined-similarity-tool-window__metrics label{
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.05;
  min-height:20px;
}
.combined-similarity-tool-window__sources input,
.combined-similarity-tool-window__metrics input{
  width:13px;
  height:13px;
  margin:0;
  flex:0 0 auto;
}
.combined-similarity-tool-window__metricRelation{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:70px minmax(0, 1fr);
  gap:6px;
  align-items:center;
  margin-top:1px;
  min-width:0;
}
.combined-similarity-tool-window__metricRelation label{
  font:700 10px/1.15 sans-serif;
  color:#555;
}
.combined-similarity-tool-window__metricRelation select{
  min-width:0;
  width:100%;
  padding:4px 6px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  color:#111;
  font:700 10px/1.1 sans-serif;
}
.combined-similarity-tool-window__control{
  display:grid;
  grid-template-columns:92px minmax(0, 1fr) 62px;
  gap:7px;
  align-items:center;
  font:700 11px/1.15 sans-serif;
  color:#222;
}
.combined-similarity-tool-window__control label{
  min-width:0;
  white-space:nowrap;
}
.combined-similarity-tool-window__control input[type="range"],
.combined-similarity-tool-window__control input[type="number"]{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.combined-similarity-tool-window__control select{
  grid-column:2 / -1;
  min-width:0;
  width:100%;
  padding:4px 6px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  font:700 11px/1.1 sans-serif;
  color:#111;
}
.combined-similarity-tool-window__control span{
  text-align:right;
  white-space:nowrap;
  color:#333;
}
.combined-similarity-tool-window__roiSummary{
  grid-column:2 / -1;
  min-width:0;
  color:#555;
  font:600 10px/1.15 sans-serif;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.combined-similarity-tool-window__roiList{
  display:grid;
  gap:4px;
  min-height:42px;
  max-height:108px;
  overflow:auto;
  padding:4px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:6px;
  background:rgba(255,255,255,.92);
  font:600 10px/1.15 sans-serif;
}
.combined-similarity-tool-window__roiEmpty{
  color:#777;
  padding:5px 4px;
}
.combined-similarity-tool-window__roiItem{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:6px;
  align-items:center;
  padding:4px 5px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:6px;
  background:#f8fafc;
}
.combined-similarity-tool-window__roiItem.is-editing{
  border-color:rgba(242,72,45,.42);
  background:#fff3ee;
}
.combined-similarity-tool-window__roiItem span,
.combined-similarity-tool-window__roiItem b,
.combined-similarity-tool-window__roiItem em{
  min-width:0;
}
.combined-similarity-tool-window__roiItem span{
  display:grid;
  gap:1px;
}
.combined-similarity-tool-window__roiItem em{
  color:#666;
  font-style:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.combined-similarity-tool-window__roiItem div{
  display:flex;
  gap:4px;
}
.combined-similarity-tool-window__roiItem button,
.combined-similarity-tool-window__toggle{
  font:700 10px/1 sans-serif;
}
.combined-similarity-tool-window__roiItem button{
  appearance:none;
  border:1px solid rgba(0,0,0,.14);
  border-radius:999px;
  background:#fff;
  color:#111;
  padding:4px 6px;
  cursor:pointer;
}
.combined-similarity-tool-window__toggle{
  display:flex;
  align-items:center;
  gap:5px;
  color:#222;
  min-width:0;
}
.combined-similarity-tool-window__toggle input{
  width:13px;
  height:13px;
  margin:0;
  flex:0 0 auto;
}
.combined-similarity-tool-window__control.is-disabled,
.combined-similarity-tool-window__toggle.is-disabled{
  opacity:.55;
}
.combined-similarity-tool-window__control.is-disabled input,
.combined-similarity-tool-window__control.is-disabled select{
  cursor:not-allowed;
}
.combined-similarity-tool-window__layerRow select{
  grid-column:2;
}
.combined-similarity-tool-window__layerRow button{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 7px;
  font:700 10px/1 sans-serif;
  cursor:pointer;
}
.combined-similarity-tool-window__layerRow.is-disabled{
  opacity:.55;
}
.combined-similarity-tool-window__results{
  display:grid;
  gap:3px;
  min-height:72px;
  max-height:120px;
  overflow:auto;
  padding:5px 6px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:6px;
  background:rgba(248,250,252,.92);
  font:600 11px/1.2 sans-serif;
}
.combined-similarity-tool-window__row,
.combined-similarity-tool-window__band{
  display:grid;
  grid-template-columns:minmax(76px, .55fr) minmax(0, 1fr);
  gap:7px;
  align-items:start;
}
.combined-similarity-tool-window__row span,
.combined-similarity-tool-window__band span{
  color:#555;
}
.combined-similarity-tool-window__row b,
.combined-similarity-tool-window__band b{
  min-width:0;
  overflow-wrap:anywhere;
  color:#111;
}
.combined-similarity-tool-window__empty{
  color:#777;
  font-weight:600;
}
.combined-similarity-tool-window__buttons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  margin-top:1px;
}
.combined-similarity-tool-window__select,
.combined-similarity-tool-window__clear{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 8px;
  font:700 10px/1 sans-serif;
  cursor:pointer;
}
.combined-similarity-tool-window__select{
  background:#fff1ec;
  border-color:rgba(242,72,45,.30);
}
#combinedSimilarityToolPanel .map-tool-window__submit{
  padding:5px 11px;
}

.layer-exploder-tool-window__compact{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:auto auto auto auto auto auto minmax(70px, 1fr) auto auto;
  gap:7px;
  padding:10px;
  box-sizing:border-box;
  overflow:auto;
  background:#f8fafc;
}
#layerExploderToolPanel .map-tool-window__status{
  min-height:16px;
  margin:0;
}
.layer-exploder-tool-window__control{
  display:grid;
  grid-template-columns:74px minmax(0, 1fr);
  gap:6px;
  align-items:center;
  min-width:0;
  color:#222;
  font:700 11px/1.2 sans-serif;
}
.layer-exploder-tool-window__sourceRow{
  grid-template-columns:74px minmax(0, 1fr) auto auto;
}
.layer-exploder-tool-window__sublayerRow[hidden]{
  display:none !important;
}
.layer-exploder-tool-window__sublayerRow{
  grid-template-columns:74px minmax(0, 1fr) auto;
}
.layer-exploder-tool-window__control label{
  color:#444;
}
.layer-exploder-tool-window__control select,
.layer-exploder-tool-window__control input[type="text"]{
  min-width:0;
  width:100%;
  box-sizing:border-box;
  padding:5px 7px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  color:#111;
  font:700 11px/1.2 sans-serif;
}
.layer-exploder-tool-window__control select:disabled{
  color:#777;
  background:#eef1f5;
}
.layer-exploder-tool-window__sourceRow button,
.layer-exploder-tool-window__sublayerRow button,
.layer-exploder-tool-window__buttons button:not(.map-tool-window__submit){
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 8px;
  font:700 10px/1 sans-serif;
  cursor:pointer;
}
.layer-exploder-tool-window__summary{
  min-height:70px;
  overflow:auto;
  padding:7px 8px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:7px;
  background:#fff;
  color:#2f3743;
  font:600 11px/1.35 sans-serif;
  -webkit-user-select:text;
  user-select:text;
}
.layer-exploder-tool-window__notice{
  padding:7px 8px;
  border:1px solid rgba(203,120,32,.24);
  border-radius:7px;
  background:#fff7ed;
  color:#633c14;
  font:700 10px/1.3 sans-serif;
}
.layer-exploder-tool-window__buttons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin:0;
}
#layerExploderToolPanel .map-tool-window__submit{
  padding:6px 11px;
}

.layer-developer-tool-window__compact{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:auto auto auto auto auto minmax(66px, auto) minmax(120px, 1fr) auto auto;
  gap:7px;
  padding:10px;
  box-sizing:border-box;
  overflow:auto;
  background:#f8fafc;
}
#layerDeveloperToolPanel .map-tool-window__status{
  min-height:16px;
  margin:0;
}
.layer-developer-tool-window__control{
  display:grid;
  grid-template-columns:70px minmax(0, 1fr);
  gap:6px;
  align-items:center;
  min-width:0;
  color:#222;
  font:700 11px/1.2 sans-serif;
}
.layer-developer-tool-window__sourceRow{
  grid-template-columns:70px minmax(0, 1fr) auto auto;
}
.layer-developer-tool-window__sublayerRow[hidden]{
  display:none !important;
}
.layer-developer-tool-window__control label{
  color:#444;
}
.layer-developer-tool-window__control select,
.layer-developer-tool-window__control input{
  min-width:0;
  width:100%;
  box-sizing:border-box;
  padding:5px 7px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  background:#fff;
  color:#111;
  font:700 11px/1.2 sans-serif;
}
.layer-developer-tool-window__sourceRow button,
.layer-developer-tool-window__geometry button,
.layer-developer-tool-window__buttons button:not(.map-tool-window__submit){
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 8px;
  font:700 10px/1 sans-serif;
  cursor:pointer;
}
.layer-developer-tool-window__geometry{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.layer-developer-tool-window__summary{
  min-height:58px;
  overflow:auto;
  padding:7px 8px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:7px;
  background:#fff;
  color:#2f3743;
  font:600 11px/1.35 sans-serif;
  -webkit-user-select:text;
  user-select:text;
}
.layer-developer-tool-window__form{
  display:grid;
  gap:7px;
  min-height:120px;
  overflow:auto;
  padding:7px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:7px;
  background:#fff;
}
.layer-developer-tool-window__field{
  display:grid;
  grid-template-columns:minmax(90px, 34%) minmax(0, 1fr);
  gap:7px;
  align-items:center;
  font:700 10.5px/1.2 sans-serif;
  color:#333;
}
.layer-developer-tool-window__fieldName{
  cursor:help;
  text-decoration:underline dotted rgba(51,51,51,.35);
  text-underline-offset:2px;
}
.layer-developer-tool-window__field input,
.layer-developer-tool-window__field textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid rgba(0,0,0,.16);
  border-radius:6px;
  padding:5px 6px;
  font:600 11px/1.2 sans-serif;
  resize:vertical;
}
.layer-developer-tool-window__field input[type="checkbox"]{
  width:18px;
  height:18px;
  justify-self:start;
}
.layer-developer-tool-window__empty,
.layer-developer-tool-window__draftList{
  color:#555;
  font:600 11px/1.3 sans-serif;
}
.layer-developer-tool-window__draftList{
  min-height:48px;
  max-height:96px;
  overflow:auto;
  padding:6px 8px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:7px;
  background:#fff;
}
.layer-developer-tool-window__draftItem + .layer-developer-tool-window__draftItem{
  margin-top:3px;
}
.layer-developer-tool-window__buttons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin:0;
}
#layerDeveloperToolPanel .map-tool-window__submit{
  padding:6px 11px;
}

.leaflet-container.layer-developer-map-drawing,
.leaflet-container.layer-developer-map-drawing .leaflet-interactive{
  cursor:crosshair !important;
}
.leaflet-container.layer-developer-map-middle-panning,
.leaflet-container.layer-developer-map-middle-panning .leaflet-interactive{
  cursor:grabbing !important;
}

.vgis-layer-changelog{
  position:fixed;
  z-index:10040;
  left:50%;
  top:96px;
  width:min(620px, calc(100vw - 28px));
  max-height:min(520px, calc(100vh - 124px));
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  border:1px solid rgba(0,0,0,.22);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 38px rgba(0,0,0,.24);
  overflow:hidden;
}
.vgis-layer-changelog[hidden]{
  display:none !important;
}
.vgis-layer-changelog__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  background:#f1f5f9;
  border-bottom:1px solid rgba(0,0,0,.12);
  color:#111;
  font:800 13px/1.2 sans-serif;
}
.vgis-layer-changelog__close{
  appearance:none;
  border:0;
  background:transparent;
  color:#111;
  font:900 20px/1 sans-serif;
  cursor:pointer;
}
.vgis-layer-changelog__body{
  overflow:auto;
  padding:10px;
  display:grid;
  gap:8px;
  font:600 11px/1.35 sans-serif;
  color:#222;
}
.vgis-layer-changelog__entry{
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:7px;
  background:#fbfdff;
}
.vgis-layer-changelog__props,
.vgis-layer-changelog__empty{
  color:#555;
}

.user-defined-layer-block{
  margin:0 0 8px 0;
  padding:0 0 7px 0;
  border-bottom:1px solid rgba(0,0,0,.12);
}
.user-defined-layer-block[hidden]{
  display:none !important;
}
.user-defined-layer-title{
  font-weight:800 !important;
  margin-top:0 !important;
  margin-bottom:3px !important;
  width:100%;
  letter-spacing:0;
}
.user-defined-layer-body{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.user-layer-row{
  min-width:0;
  flex-wrap:nowrap;
  gap:5px;
}
.user-layer-name{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.user-layer-color{
  appearance:none;
  width:22px;
  height:22px;
  padding:0;
  border:1px solid rgba(0,0,0,.2);
  border-radius:6px;
  background:#fff;
  cursor:pointer;
  flex:0 0 auto;
}
.user-layer-color::-webkit-color-swatch-wrapper{
  padding:2px;
}
.user-layer-color::-webkit-color-swatch{
  border:0;
  border-radius:4px;
}
.user-layer-color::-moz-color-swatch{
  border:0;
  border-radius:4px;
}
.user-layer-actions{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  flex:0 0 auto;
}
.user-layer-action{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:6px;
  width:22px;
  height:22px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:800 12px/1 sans-serif;
  cursor:pointer;
}
.user-layer-action svg{
  width:14px;
  height:14px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.user-layer-action--save{
  color:#194f7a;
  border-color:rgba(25,79,122,.28);
}
.user-layer-action--edit{
  color:#4b5563;
  border-color:rgba(75,85,99,.28);
}
.user-layer-action--delete{
  color:#8f1d1d;
  border-color:rgba(143,29,29,.28);
}
.user-layer-info{
  border-radius:999px;
  color:#7a4a12;
  border-color:rgba(122,74,18,.28);
  background:#fff7ed;
}

.legend-row-mainline{
  display:flex !important;
  align-items:center;
  gap:3px;
  min-width:0;
  width:100%;
}
.legend-row-mainline--dtm{
  flex-wrap:wrap;
  align-items:flex-start;
}
.legend-row-mainline > label{
  flex:1 1 auto;
  min-width:0;
}
.legend-row-mainline--dtm > label{
  flex:1 1 calc(100% - 84px);
}
.legend-row-mainline--dtm > br{
  display:block !important;
  flex:0 0 100%;
  height:0;
}
.legend-row-mainline--dtm > img{
  display:block;
  flex:0 0 130px;
  width:130px;
  max-width:calc(100% - 22px);
  margin:4px 0 0 22px;
}
.legend-row-actions{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
  flex:0 0 auto;
  white-space:nowrap;
}
.legend-list-btn,
.legend-row-actions .download-icon,
.legend-row-actions .legend-info{
  flex:0 0 auto;
  margin-left:0;
}
.legend-list-btn{
  appearance:none;
  border:1px solid rgba(34,91,140,.28);
  background:#f4f9ff;
  color:#194f7a;
  border-radius:6px;
  width:22px;
  height:22px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:900 11px/1 sans-serif;
  cursor:pointer;
}
.legend-list-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
  filter:grayscale(1);
}
.legend-row-actions .download-icon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.72;
}
.legend-row-actions .legend-info{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.legend-layer-list-modal{
  position:fixed;
  inset:0;
  z-index:70000;
  pointer-events:none;
  box-sizing:border-box;
}
.legend-layer-list-panel{
  pointer-events:auto;
  width:min(980px, calc(100vw - 36px));
  max-height:none;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.28);
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.25);
}
.legend-layer-list-panel.map-tool-window{
  min-width:340px;
  min-height:180px;
  touch-action:none;
  user-select:none;
}
.legend-layer-list-panel.map-tool-window.is-open{
  display:flex;
}
.legend-layer-list-panel.map-tool-window.is-minimized{
  height:38px !important;
  min-height:38px !important;
}
.legend-layer-list-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  border-bottom:1px solid rgba(0,0,0,.12);
  background:#f5f7fa;
  cursor:move;
}
.legend-layer-list-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:800 13px/1.2 sans-serif;
  color:#1f2937;
  cursor:move;
}
.legend-layer-list-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.legend-layer-list-close{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  border-radius:7px;
  width:26px;
  height:26px;
  background:#fff;
  color:#333;
  font:900 14px/1 sans-serif;
  cursor:pointer;
}
.legend-layer-list-body{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
}
.legend-layer-list-controls{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  padding:8px 12px;
  border-bottom:1px solid rgba(0,0,0,.10);
  background:#fff;
  font:12px/1.2 sans-serif;
}
.legend-layer-list-controls label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-weight:700;
}
.legend-layer-list-controls select,
.legend-layer-list-controls input{
  border:1px solid #b8c2cc;
  border-radius:6px;
  padding:3px 6px;
  font:12px/1.2 sans-serif;
}
.legend-layer-list-range{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.legend-layer-list-range input{
  width:58px;
}
.legend-layer-list-btn{
  appearance:none;
  border:1px solid #8fa2b8;
  border-radius:6px;
  background:#f8fafc;
  color:#24364b;
  padding:4px 7px;
  font:700 12px/1.1 sans-serif;
  cursor:pointer;
}
.legend-layer-list-color-controls{
  display:inline-flex;
  flex-direction:column;
  align-items:stretch;
  gap:3px;
}
.legend-layer-list-color-select-label{
  display:flex !important;
  flex-direction:column;
  align-items:stretch !important;
  gap:2px !important;
  font-size:10px;
  color:#475569;
}
.legend-layer-list-color-select{
  max-width:160px;
}
.legend-layer-list-status{
  margin-left:auto;
  color:#4b5563;
  font-weight:700;
}
.legend-layer-list-color-window.map-tool-window{
  min-width:220px;
  min-height:120px;
  width:290px;
  height:310px;
  background:#fff;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.22);
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  pointer-events:auto;
}
.legend-layer-list-color-window.map-tool-window.is-open{
  display:block;
}
.legend-layer-list-color-window.map-tool-window.is-minimized{
  height:38px !important;
  min-height:38px !important;
}
.legend-layer-list-color-window__header{
  border-radius:10px 10px 0 0;
}
.legend-layer-list-color-legend{
  position:absolute;
  left:0;
  right:0;
  top:39px;
  bottom:0;
  width:auto;
  max-height:none;
  overflow:auto;
  padding:8px 9px;
  border:0;
  border-radius:0;
  background:rgba(255,255,255,.97);
  box-shadow:none;
  font:11px/1.25 sans-serif;
  color:#1f2937;
}
.legend-layer-list-color-legend__title{
  font:800 12px/1.2 sans-serif;
  margin:0 0 6px;
}
.legend-layer-list-color-legend__warning{
  margin:0 0 6px;
  padding:5px 6px;
  border-radius:6px;
  background:#fff7d6;
  color:#6b4e00;
  font-weight:800;
}
.legend-layer-list-color-legend__item{
  appearance:none;
  width:100%;
  border:0;
  background:transparent;
  color:#1f2937;
  text-align:left;
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  margin:2px 0;
  padding:3px 4px;
  border-radius:5px;
  cursor:pointer;
}
.legend-layer-list-color-legend__item:hover{
  background:#f1f5f9;
}
.legend-layer-list-color-legend__item.is-active{
  background:#dbeafe;
  box-shadow:inset 0 0 0 1px #60a5fa;
  font-weight:800;
}
.legend-layer-list-color-legend__swatch{
  width:13px;
  height:13px;
  flex:0 0 13px;
  border:2px solid #fff;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(0,0,0,.28);
}
.legend-layer-list-scroller{
  overflow:auto;
  min-height:0;
}
.legend-layer-list-table{
  border-collapse:collapse;
  width:max-content;
  min-width:100%;
  font:11px/1.25 sans-serif;
}
.legend-layer-list-table th,
.legend-layer-list-table td{
  border:1px solid #dde3ea;
  padding:4px 6px;
  max-width:220px;
  vertical-align:top;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.legend-layer-list-editable-cell{
  padding:2px 4px !important;
}
.legend-layer-list-cell-input{
  display:block;
  width:100%;
  min-width:92px;
  max-width:260px;
  box-sizing:border-box;
  border:1px solid transparent;
  border-radius:3px;
  background:transparent;
  color:#111827;
  padding:3px 5px;
  font:inherit;
}
.legend-layer-list-cell-input:hover,
.legend-layer-list-cell-input:focus{
  border-color:rgba(37,99,235,.36);
  background:#fff;
  outline:none;
  box-shadow:0 0 0 2px rgba(37,99,235,.10);
}
.legend-layer-list-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#eef2f7;
  font-weight:800;
}
.legend-layer-list-table tbody tr.is-selected{
  background:#edf6ff;
}
.legend-layer-list-table tbody tr:hover{
  background:#f6faff;
}
.legend-layer-list-sort-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:#1f2937;
  padding:0;
  font:800 11px/1.2 sans-serif;
  cursor:pointer;
}
.legend-layer-list-jump{
  appearance:none;
  border:1px solid rgba(25,79,122,.25);
  border-radius:5px;
  background:#f4f9ff;
  color:#194f7a;
  padding:2px 5px;
  font:800 10px/1.1 sans-serif;
  cursor:pointer;
}

.legend-extrema-markers{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  width:100%;
  margin:0 0 6px 0;
  box-sizing:border-box;
  min-width:0;
}
.legend-extrema-markers.is-disabled{
  opacity:.58;
}
.legend-extrema-markers input[type="checkbox"]{
  width:13px;
  height:13px;
  margin:3px 3px 3px 4px;
  flex:0 0 auto;
}
.legend-extrema-markers__label{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#222;
  font:400 12px/1.2 sans-serif;
}
.legend-extrema-markers__select{
  flex:0 0 auto;
  max-width:58px;
  min-width:50px;
  box-sizing:border-box;
  padding:2px 16px 2px 5px;
  border:1px solid #6f7b8a;
  border-radius:4px;
  background:#fff;
  color:#23314d;
  font:600 10px/1.2 sans-serif;
}
.legend-extrema-markers__swatch{
  display:inline-block;
  width:9px;
  height:12px;
  margin-right:4px;
  vertical-align:-2px;
  position:relative;
  background:#fff;
  clip-path:polygon(50% 4%, 76% 96%, 24% 96%);
  filter:drop-shadow(0 0 1px rgba(0,0,0,.45));
}
.legend-extrema-markers__swatch::after{
  content:"";
  position:absolute;
  inset:1px;
  background:#d62828;
  clip-path:polygon(50% 4%, 76% 96%, 24% 96%);
}
.legend-extrema-markers__swatch--low,
.legend-extrema-markers__swatch--low::after{
  clip-path:polygon(24% 4%, 76% 4%, 50% 96%);
}
.legend-extrema-markers__swatch--low::after{
  background:#1f66d1;
}
.legend-extrema-markers__swatch--high::after{
  background:#d62828;
}
.extrema-map-marker{
  width:96px !important;
  height:24px !important;
  margin-left:0 !important;
  margin-top:0 !important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  background:transparent;
  border:0;
  pointer-events:auto;
}
.extrema-map-marker__triangle{
  flex:0 0 auto;
  width:14px;
  height:19px;
  position:relative;
  background:#fff;
  clip-path:polygon(50% 4%, 76% 96%, 24% 96%);
  filter:drop-shadow(0 0 1px rgba(0,0,0,.72));
}
.extrema-map-marker__triangle::after{
  content:"";
  position:absolute;
  inset:1px;
  background:
    linear-gradient(to bottom, transparent 0%, rgba(255,190,190,.52) 45%, transparent 68%),
    #d62828;
  background-size:100% 180%, auto;
  background-position:0 20px, 0 0;
  clip-path:polygon(50% 4%, 76% 96%, 24% 96%);
  animation:extremaTriangleStripeUp 1.35s linear infinite;
}
.extrema-map-marker--low .extrema-map-marker__triangle,
.extrema-map-marker--low .extrema-map-marker__triangle::after{
  clip-path:polygon(24% 4%, 76% 4%, 50% 96%);
}
.extrema-map-marker--low .extrema-map-marker__triangle::after{
  background:
    linear-gradient(to bottom, transparent 0%, rgba(170,218,255,.50) 45%, transparent 68%),
    #1f66d1;
  background-size:100% 180%, auto;
  background-position:0 -20px, 0 0;
  animation:extremaTriangleStripeDown 1.35s linear infinite;
}
.extrema-map-marker--high .extrema-map-marker__triangle::after{
  background:
    linear-gradient(to bottom, transparent 0%, rgba(255,190,190,.52) 45%, transparent 68%),
    #d62828;
  background-size:100% 180%, auto;
  background-position:0 20px, 0 0;
  animation:extremaTriangleStripeUp 1.35s linear infinite;
}
@keyframes extremaTriangleStripeUp{
  from{ background-position:0 20px, 0 0; }
  to{ background-position:0 -20px, 0 0; }
}
@keyframes extremaTriangleStripeDown{
  from{ background-position:0 -20px, 0 0; }
  to{ background-position:0 20px, 0 0; }
}
.extrema-map-marker__value{
  display:inline-block;
  white-space:nowrap;
  padding:1px 4px;
  border-radius:4px;
  background:rgba(255,255,255,.86);
  color:#111;
  font:900 10px/1 "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  font-stretch:condensed;
  letter-spacing:0;
  text-shadow:0 1px 1px rgba(255,255,255,.92);
  box-shadow:0 0 0 1px rgba(0,0,0,.18), 0 1px 3px rgba(0,0,0,.2);
}

#featureCooccurrenceToolPanel{
  --fc-main-column:360px;
  min-width:360px;
  min-height:420px;
  max-height:calc(100vh - 24px);
}
#featureCooccurrenceToolPanel.is-collapsed{
  min-height:0;
  height:auto !important;
  max-height:36px;
  overflow:hidden;
}
#featureCooccurrenceToolPanel.is-collapsed .map-tool-window__body,
#featureCooccurrenceToolPanel.is-collapsed .map-tool-window__resize{
  display:none;
}
#featureCooccurrenceToolPanel .map-tool-window__header{
  flex:0 0 auto;
  background:rgba(245,245,245,.96);
  border:1px solid rgba(0,0,0,.16);
  border-bottom:none;
  border-radius:16px 16px 0 0;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.map-tool-window__collapse{
  width:22px;
  height:22px;
  padding:0;
  border:1px solid rgba(0,0,0,.16);
  border-radius:50%;
  background:#fff;
  color:#111;
  font:900 14px/1 sans-serif;
  cursor:pointer;
}
.feature-cooccurrence-header-lang{
  min-width:70px;
  max-width:92px;
  height:22px;
  margin-right:5px;
  padding:1px 5px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:999px;
  background:#fff;
  color:#111;
  font:800 10px/1.1 sans-serif;
}
.feature-cooccurrence-text-size-btn{
  width:25px;
  height:22px;
  padding:0;
  border:1px solid rgba(0,0,0,.16);
  border-radius:999px;
  background:#fff;
  color:#111;
  font:900 10px/1 sans-serif;
  cursor:pointer;
}
.feature-cooccurrence-text-size-btn:disabled{
  color:#999;
  background:#eee;
  cursor:not-allowed;
}
#featureCooccurrenceToolPanel .map-tool-window__body{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:8px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.16);
  border-top:none;
  border-radius:0 0 16px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  overflow:hidden;
  overscroll-behavior:contain;
}
.feature-cooccurrence-run-popup{
  position:fixed;
  z-index:10030;
  top:84px;
  left:calc(50vw + 20px);
  width:min(380px, calc(100vw - 24px));
  max-height:min(56vh, 330px);
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  border:1px solid rgba(37,93,165,.28);
  border-radius:10px;
  background:rgba(255,255,255,.98);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
  overflow:hidden;
}
.feature-cooccurrence-run-popup[hidden]{
  display:none;
}
.feature-cooccurrence-run-popup__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 9px;
  background:#edf4ff;
  color:#17293d;
  font:900 12px/1.15 sans-serif;
  cursor:move;
  user-select:none;
  touch-action:none;
}
.feature-cooccurrence-run-popup.is-dragging{
  opacity:.94;
  cursor:move;
}
.feature-cooccurrence-run-popup__head button{
  appearance:none;
  width:22px;
  height:22px;
  padding:0;
  border:1px solid rgba(0,0,0,.16);
  border-radius:50%;
  background:#fff;
  color:#111;
  font:900 15px/1 sans-serif;
  cursor:pointer;
}
.feature-cooccurrence-run-popup__body{
  overflow:auto;
  padding:8px 10px 10px;
  color:#1f2a36;
  font:700 11px/1.32 sans-serif;
}
.feature-cooccurrence-run-popup__body p{
  margin:0 0 6px;
}
.feature-cooccurrence-run-preview-legend{
  display:grid;
  gap:4px;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(0,0,0,.10);
  font:700 10px/1.2 sans-serif;
}
.feature-cooccurrence-run-preview-legend__title{
  color:#415061;
  font:800 10px/1.2 sans-serif;
}
.feature-cooccurrence-run-preview-legend__item{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.feature-cooccurrence-run-preview-legend__item span{
  width:30px;
  height:12px;
  border:1px solid rgba(0,0,0,.22);
  border-radius:2px;
}
.feature-cooccurrence-run-preview-legend__item .is-more-a{
  background:#2158a8;
}
.feature-cooccurrence-run-preview-legend__item .is-balanced{
  background:#d9dce2;
}
.feature-cooccurrence-run-preview-legend__item .is-more-b{
  background:#d99a25;
}
.feature-cooccurrence-run-preview-legend__note{
  color:#526070;
  font:700 9px/1.25 sans-serif;
}
.feature-cooccurrence-tool-window__layout{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0, var(--fc-main-column, 360px)) 8px minmax(0, 1fr);
  gap:6px;
  align-items:stretch;
  transition:grid-template-columns .18s ease;
}
#featureCooccurrenceToolPanel.is-side-collapsed .feature-cooccurrence-tool-window__layout{
  grid-template-columns:minmax(0, 1fr) 0 42px;
}
.feature-cooccurrence-tool-window__main,
.feature-cooccurrence-tool-window__side{
  min-height:0;
  overflow:auto;
}
.feature-cooccurrence-tool-window__main{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.feature-cooccurrence-tool-window__splitter{
  min-width:8px;
  width:8px;
  min-height:0;
  border:1px solid rgba(0,0,0,.10);
  border-radius:999px;
  background:rgba(230,235,242,.86);
  cursor:col-resize;
  position:relative;
  touch-action:none;
}
.feature-cooccurrence-tool-window__splitter::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  left:3px;
  width:2px;
  border-radius:999px;
  background:rgba(63,82,110,.42);
}
.feature-cooccurrence-tool-window__splitter:hover,
#featureCooccurrenceToolPanel.is-column-splitting .feature-cooccurrence-tool-window__splitter{
  background:#d8e5f6;
  border-color:rgba(37,93,165,.35);
}
#featureCooccurrenceToolPanel.is-column-splitting{
  cursor:col-resize;
  user-select:none;
}
#featureCooccurrenceToolPanel.is-side-collapsed .feature-cooccurrence-tool-window__splitter{
  display:none;
}
.feature-cooccurrence-block{
  min-height:0;
  border:1px solid rgba(0,0,0,.10);
  border-radius:8px;
  background:#f7fafc;
}
.feature-cooccurrence-block > summary,
.feature-cooccurrence-tool-window__layers > summary,
.feature-cooccurrence-tool-window__groups > summary,
.feature-cooccurrence-tool-window__infoWrap > summary{
  display:flex;
  align-items:center;
  gap:5px;
  list-style:none;
  cursor:pointer;
  padding:5px 7px;
  border-radius:7px;
  background:#e9eef5;
  color:#243244;
  font:900 11px/1.15 sans-serif;
}
.feature-cooccurrence-block > summary::-webkit-details-marker,
.feature-cooccurrence-tool-window__layers > summary::-webkit-details-marker,
.feature-cooccurrence-tool-window__groups > summary::-webkit-details-marker,
.feature-cooccurrence-tool-window__infoWrap > summary::-webkit-details-marker{
  display:none;
}
.feature-cooccurrence-block > summary::before,
.feature-cooccurrence-tool-window__layers > summary::before,
.feature-cooccurrence-tool-window__groups > summary::before,
.feature-cooccurrence-tool-window__infoWrap > summary::before{
  content:"▾";
  flex:0 0 auto;
  color:#536171;
  font:900 10px/1 sans-serif;
}
.feature-cooccurrence-block:not([open]) > summary::before,
.feature-cooccurrence-tool-window__layers:not([open]) > summary::before,
.feature-cooccurrence-tool-window__groups:not([open]) > summary::before,
.feature-cooccurrence-tool-window__infoWrap:not([open]) > summary::before{
  content:"▸";
}
.feature-cooccurrence-block > summary::after,
.feature-cooccurrence-tool-window__layers > summary::after,
.feature-cooccurrence-tool-window__groups > summary::after,
.feature-cooccurrence-tool-window__infoWrap > summary::after{
  content:"_";
  margin-left:auto;
  color:#6a7682;
  font:900 13px/1 sans-serif;
}
.feature-cooccurrence-tool-window__setup{
  flex:0 0 auto;
  background:#f8fbff;
}
.feature-cooccurrence-tool-window__side{
  background:#fff8eb;
}
#featureCooccurrenceToolPanel.is-side-collapsed .feature-cooccurrence-tool-window__side{
  overflow:visible;
  padding-bottom:0;
  background:#eadfca;
}
#featureCooccurrenceToolPanel.is-side-collapsed .feature-cooccurrence-tool-window__side > :not(summary){
  display:none !important;
}
#featureCooccurrenceToolPanel.is-side-collapsed .feature-cooccurrence-tool-window__side > summary{
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  min-height:100%;
  padding:6px 4px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
  background:#ded2b8;
}
.feature-cooccurrence-tool-window__resultsWrap{
  flex:0 0 auto;
  background:#f5f8f2;
}
.feature-cooccurrence-tool-window__setup[open],
.feature-cooccurrence-tool-window__resultsWrap[open],
.feature-cooccurrence-tool-window__side[open]{
  padding-bottom:6px;
}
#featureCooccurrenceToolPanel.is-side-collapsed .feature-cooccurrence-tool-window__side[open]{
  padding-bottom:0;
}
.feature-cooccurrence-tool-window__controls{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  justify-content:start;
  gap:5px;
  padding:6px;
}
.feature-cooccurrence-tool-window__controls label{
  display:grid;
  grid-template-columns:minmax(42px, .58fr) minmax(56px, 1fr);
  align-items:center;
  justify-content:start;
  gap:5px;
  min-width:0;
  font:700 9px/1.08 sans-serif;
  color:#333;
}
.feature-cooccurrence-tool-window__controls label.is-disabled{
  color:#888;
  opacity:.58;
}
.feature-cooccurrence-tool-window__controls label.is-inapplicable{
  display:none !important;
}
.feature-cooccurrence-tool-window__controls input,
.feature-cooccurrence-tool-window__controls select{
  min-width:0;
  width:100%;
  box-sizing:border-box;
  font:700 10px/1.08 sans-serif;
}
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-tool-window__controls label,
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-tool-window__controls input,
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-tool-window__controls select,
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-layer-row,
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-layer-row select,
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-group-row,
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-tool-window__info,
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-tool-window__results{
  font-size:9px;
}
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-tool-window__controls label,
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-tool-window__controls input,
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-tool-window__controls select,
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-layer-row,
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-layer-row select,
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-group-row,
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-tool-window__info,
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-tool-window__results{
  font-size:11px;
}
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-tool-window__controls label,
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-tool-window__controls input,
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-tool-window__controls select,
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-layer-row,
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-layer-row select,
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-group-row,
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-tool-window__info,
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-tool-window__results{
  font-size:12px;
}
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-tool-window__controls label,
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-tool-window__controls input,
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-tool-window__controls select,
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-layer-row,
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-layer-row select,
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-group-row,
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-tool-window__info,
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-tool-window__results{
  font-size:13px;
}
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-tool-window__controls label,
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-tool-window__controls input,
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-tool-window__controls select,
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-layer-row,
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-layer-row select,
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-group-row,
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-tool-window__info,
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-tool-window__results{
  font-size:14px;
}
.feature-cooccurrence-tool-window__controls select:disabled{
  background:#eceff3;
  color:#777;
  border-color:rgba(0,0,0,.12);
  cursor:not-allowed;
}
.feature-cooccurrence-tool-window__modes{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:3px;
}
.feature-cooccurrence-tool-window__method{
  display:block;
  padding:4px 6px 2px;
}
.feature-cooccurrence-tool-window__method label{
  display:grid;
  grid-template-columns:56px minmax(0, 1fr);
  align-items:center;
  gap:6px;
  font:800 11px/1.1 sans-serif;
  color:#222;
}
.feature-cooccurrence-tool-window__method select{
  min-width:0;
  width:100%;
  box-sizing:border-box;
  font:700 12px/1.2 sans-serif;
}
.feature-cooccurrence-mode-row,
.feature-cooccurrence-layer-header,
.feature-cooccurrence-layer-row{
  display:grid;
  align-items:center;
  min-width:0;
  border-radius:5px;
  background:rgba(0,0,0,.035);
  font:700 10px/1.15 sans-serif;
  color:#222;
}
.feature-cooccurrence-mode-row{
  grid-template-columns:15px minmax(0, 1fr) 20px;
  gap:4px;
  padding:3px 4px;
}
.feature-cooccurrence-mode-row span,
.feature-cooccurrence-layer-row span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.feature-cooccurrence-layer-name{
  display:flex;
  align-items:center;
  gap:4px;
}
.feature-cooccurrence-layer-name__text{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.feature-cooccurrence-geometry-icon{
  position:relative;
  flex:0 0 12px;
  width:12px;
  height:12px;
  display:inline-block;
}
.feature-cooccurrence-geometry-icon::before,
.feature-cooccurrence-geometry-icon::after{
  content:'';
  position:absolute;
  box-sizing:border-box;
}
.feature-cooccurrence-geometry-icon.is-point::before{
  left:3px;
  top:3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#1b1b1b;
}
.feature-cooccurrence-geometry-icon.is-line::before{
  left:0;
  top:5px;
  width:12px;
  height:2px;
  border-radius:2px;
  background:#1b1b1b;
  transform:rotate(-28deg);
  transform-origin:center;
}
.feature-cooccurrence-geometry-icon.is-polygon::before{
  inset:1px;
  border:2px solid #1b1b1b;
  border-radius:2px;
  background:rgba(255,255,255,.55);
}
.feature-cooccurrence-geometry-icon.is-mixed::before{
  left:1px;
  top:1px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#1b1b1b;
}
.feature-cooccurrence-geometry-icon.is-mixed::after{
  right:0;
  bottom:1px;
  width:7px;
  height:7px;
  border:2px solid #1b1b1b;
  border-radius:2px;
  background:rgba(255,255,255,.65);
}
.feature-cooccurrence-geometry-icon.is-unknown::before{
  inset:2px;
  border:1px dashed rgba(0,0,0,.65);
  border-radius:50%;
}
.feature-cooccurrence-mode-row button{
  width:18px;
  height:18px;
  padding:0;
  border:1px solid rgba(0,0,0,.18);
  border-radius:50%;
  background:#fff;
  color:#111;
  font:800 11px/1 sans-serif;
  cursor:pointer;
}
.feature-cooccurrence-tool-window__layers,
.feature-cooccurrence-tool-window__groups{
  min-height:0;
  margin:6px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  background:rgba(255,255,255,.72);
  font:700 11px/1.2 sans-serif;
}
.feature-cooccurrence-tool-window__layers[open]{
  flex:0 0 auto;
  overflow:visible;
}
#featureCooccurrenceLayerList{
  display:grid;
  gap:3px;
  box-sizing:border-box;
  height:min(42vh, 260px);
  min-height:150px;
  max-height:calc(100vh - 190px);
  overflow:auto;
  resize:vertical;
  padding:4px 0 16px;
  background:
    linear-gradient(rgba(70,86,108,.74), rgba(70,86,108,.74)) center calc(100% - 7px) / 66px 5px no-repeat;
}
.feature-cooccurrence-layer-bulk{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  gap:4px;
  padding:3px 4px;
  background:#f6f8fb;
  border:1px solid rgba(0,0,0,.06);
  border-radius:5px;
}
.feature-cooccurrence-layer-bulk button{
  appearance:none;
  flex:1 1 0;
  min-width:0;
  padding:3px 5px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:999px;
  background:#fff;
  color:#111;
  font:800 9px/1.05 sans-serif;
  cursor:pointer;
}
.feature-cooccurrence-layer-row{
  grid-template-columns:15px 20px minmax(72px, 1fr) 34px 62px;
  gap:4px;
  padding:3px 4px;
}
.feature-cooccurrence-layer-header{
  position:sticky;
  top:28px;
  z-index:2;
  grid-template-columns:15px 20px minmax(72px, 1fr) 34px 62px;
  gap:4px;
  padding:3px 4px;
  background:#f6f8fb;
  border:1px solid rgba(0,0,0,.06);
  color:#536171;
  font:800 8px/1.1 sans-serif;
  text-transform:uppercase;
}
.feature-cooccurrence-layer-header span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.feature-cooccurrence-layer-row input[type="color"]{
  width:18px;
  height:18px;
  padding:0;
  border:0;
  background:transparent;
}
.feature-cooccurrence-layer-row em{
  color:#666;
  font:800 8px/1 sans-serif;
  font-style:normal;
  letter-spacing:0;
  text-align:center;
}
.feature-cooccurrence-layer-row select{
  min-width:0;
  width:62px;
  font:700 9px/1.05 sans-serif;
}
.feature-cooccurrence-tool-window__groupEditor,
.feature-cooccurrence-group-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 24px auto auto;
  gap:5px;
  align-items:center;
}
.feature-cooccurrence-tool-window__groupEditor{
  padding:0 6px;
}
.feature-cooccurrence-group-block{
  display:grid;
  gap:3px;
  padding:4px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:6px;
  background:rgba(255,255,255,.72);
}
.feature-cooccurrence-group-contents{
  color:#454545;
  font:600 9px/1.25 sans-serif;
  overflow-wrap:anywhere;
}
.feature-cooccurrence-tool-window__roiControls{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto auto;
  gap:5px;
  align-items:end;
  padding:4px 0;
  margin:0 6px 4px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.feature-cooccurrence-tool-window__roiControls label{
  display:grid;
  gap:2px;
  min-width:0;
  font:700 10px/1.1 sans-serif;
  color:#333;
}
.feature-cooccurrence-tool-window__roiControls label.is-disabled{
  color:#777;
}
.feature-cooccurrence-tool-window__groupEditor input[type="text"],
.feature-cooccurrence-group-row input[type="text"],
.feature-cooccurrence-tool-window__roiControls input,
.feature-cooccurrence-tool-window__roiControls select{
  min-width:0;
  width:100%;
  box-sizing:border-box;
  font:700 11px/1.1 sans-serif;
}
.feature-cooccurrence-tool-window__roiControls input:disabled,
.feature-cooccurrence-tool-window__roiControls button:disabled{
  opacity:.58;
  cursor:not-allowed;
}
.feature-cooccurrence-tool-window__groupEditor input[type="color"],
.feature-cooccurrence-group-row input[type="color"]{
  width:22px;
  height:20px;
  padding:0;
  border:0;
  background:transparent;
}
.feature-cooccurrence-tool-window__groupEditor button,
.feature-cooccurrence-group-row button,
.feature-cooccurrence-tool-window__roiControls button{
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:4px 7px;
  font:700 10px/1 sans-serif;
  cursor:pointer;
}
.feature-cooccurrence-options-window{
  min-width:300px;
  min-height:220px;
}
.feature-cooccurrence-options-window__body{
  overflow:auto;
  padding:8px;
  color:#222;
  font:400 10px/1.25 sans-serif;
}
.feature-cooccurrence-options-lang label{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  margin-bottom:5px;
  font:700 10px/1.2 sans-serif;
}
.feature-cooccurrence-options-window h4{
  margin:6px 0 2px;
  font:800 10px/1.2 sans-serif;
}
.feature-cooccurrence-options-window p{
  margin:0 0 5px;
}
#featureCooccurrenceGroupList{
  display:grid;
  gap:3px;
  margin-top:5px;
  padding:0 6px 6px;
}
.feature-cooccurrence-tool-window__groupHint,
.feature-cooccurrence-empty{
  padding:4px 6px;
  color:#666;
  font:600 10px/1.25 sans-serif;
}
.feature-cooccurrence-tool-window__infoWrap{
  flex:0 0 auto;
  min-height:0;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(40,83,135,.12);
  border-radius:8px;
  background:#eef4fb;
  font:700 11px/1.2 sans-serif;
}
.feature-cooccurrence-tool-window__infoWrap[open]{
  padding-bottom:6px;
}
.feature-cooccurrence-tool-window__infoWrap summary{
  position:static;
  cursor:pointer;
  padding:4px 6px;
  border-radius:6px;
  background:rgba(240,244,249,.92);
  border:1px solid rgba(40,83,135,.12);
  color:#243244;
}
.feature-cooccurrence-tool-window__info{
  flex:0 0 auto;
  box-sizing:border-box;
  height:min(34vh, 240px);
  min-height:150px;
  max-height:calc(100vh - 190px);
  overflow:auto;
  resize:vertical;
  margin:4px 6px 6px;
  padding:6px 6px 18px;
  border-radius:7px;
  background:
    linear-gradient(rgba(70,86,108,.74), rgba(70,86,108,.74)) center calc(100% - 7px) / 66px 5px no-repeat,
    rgba(240,244,249,.92);
  border:1px solid rgba(40,83,135,.12);
  color:#222;
  font:400 10px/1.25 sans-serif;
}
.feature-cooccurrence-tool-window__info.is-attention{
  border-color:rgba(40,111,210,.6);
  box-shadow:0 0 0 2px rgba(40,111,210,.12);
}
.feature-cooccurrence-info-title{
  margin-bottom:3px;
  font:800 11px/1.2 sans-serif;
}
.feature-cooccurrence-info-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:4px;
}
.feature-cooccurrence-info-graphic{
  --fc-graphic-title-size:11.5px;
  --fc-graphic-heading-size:14px;
  --fc-graphic-text-size:11.7px;
  --fc-graphic-tiny-size:10px;
  --fc-graphic-caption-size:10.5px;
  display:grid;
  gap:4px;
  margin:5px 0 8px;
  padding:5px;
  border:1px solid rgba(40,83,135,.13);
  border-radius:7px;
  background:rgba(255,255,255,.72);
}
.feature-cooccurrence-info-graphic__title{
  color:#415061;
  font:700 var(--fc-graphic-title-size)/1.2 sans-serif;
}
.feature-cooccurrence-info-graphic__svg{
  display:block;
  width:100%;
  height:auto;
  max-height:190px;
}
.feature-cooccurrence-info-graphic__panel,
.feature-cooccurrence-info-graphic__cell{
  stroke:rgba(39,57,82,.24);
  stroke-width:1;
}
.feature-cooccurrence-info-graphic__panel{
  fill:#fff;
}
.feature-cooccurrence-info-graphic__radius{
  fill:rgba(67,112,174,.08);
  stroke:rgba(49,104,183,.55);
  stroke-dasharray:3 3;
  stroke-width:1.2;
}
.feature-cooccurrence-info-graphic__mask{
  fill:rgba(120,130,145,.22);
  stroke:rgba(54,65,80,.72);
  stroke-width:1.3;
}
.feature-cooccurrence-info-graphic__sourceArea{
  fill:rgba(70,130,235,.12);
  stroke:rgba(70,130,235,.75);
  stroke-width:1.3;
}
.feature-cooccurrence-info-graphic__target{
  fill:rgba(221,154,37,.18);
  stroke:rgba(128,90,23,.8);
  stroke-width:1.3;
}
.feature-cooccurrence-info-graphic__source{
  fill:#d34a3a;
  stroke:#fff;
  stroke-width:1.5;
}
.feature-cooccurrence-info-graphic__dot{
  stroke:#fff;
  stroke-width:1;
}
.feature-cooccurrence-info-graphic__axis{
  fill:none;
  stroke:rgba(58,73,92,.55);
  stroke-width:1;
}
.feature-cooccurrence-info-graphic__trend{
  fill:none;
  stroke-width:2;
}
.feature-cooccurrence-info-graphic__arrow{
  fill:none;
  stroke:#2f4d6f;
  stroke-width:1.7;
}
.feature-cooccurrence-info-graphic__threshold{
  stroke:#111;
  stroke-dasharray:3 2;
  stroke-width:1.2;
}
.feature-cooccurrence-info-graphic__bar{
  stroke:rgba(0,0,0,.18);
  stroke-width:1;
}
.feature-cooccurrence-info-graphic__text,
.feature-cooccurrence-info-graphic__tiny,
.feature-cooccurrence-info-graphic__heading,
.feature-cooccurrence-info-graphic__label{
  fill:#243244;
  font-family:sans-serif;
  text-anchor:middle;
  paint-order:stroke;
  stroke:rgba(255,255,255,.88);
  stroke-linejoin:round;
  stroke-width:3px;
}
.feature-cooccurrence-info-graphic__heading{
  font-size:var(--fc-graphic-heading-size);
  font-weight:700;
}
.feature-cooccurrence-info-graphic__text{
  font-size:var(--fc-graphic-text-size);
  font-weight:500;
}
.feature-cooccurrence-info-graphic__text--bold,
.feature-cooccurrence-info-graphic__label{
  font-weight:800;
}
.feature-cooccurrence-info-graphic__tiny{
  font-size:var(--fc-graphic-tiny-size);
  font-weight:700;
}
.feature-cooccurrence-info-graphic__tiny[text-anchor="start"]{
  text-anchor:start;
}
.feature-cooccurrence-info-graphic__caption{
  margin:0;
  color:#445062;
  font:400 var(--fc-graphic-caption-size)/1.28 sans-serif;
}
#featureCooccurrenceToolPanel.is-text-smaller .feature-cooccurrence-info-graphic{
  --fc-graphic-title-size:10.8px;
  --fc-graphic-heading-size:12.8px;
  --fc-graphic-text-size:10.8px;
  --fc-graphic-tiny-size:9.3px;
  --fc-graphic-caption-size:9.8px;
}
#featureCooccurrenceToolPanel.is-text-larger .feature-cooccurrence-info-graphic{
  --fc-graphic-title-size:12.5px;
  --fc-graphic-heading-size:15.5px;
  --fc-graphic-text-size:13px;
  --fc-graphic-tiny-size:11.2px;
  --fc-graphic-caption-size:11.8px;
}
#featureCooccurrenceToolPanel.is-text-largest .feature-cooccurrence-info-graphic{
  --fc-graphic-title-size:13.5px;
  --fc-graphic-heading-size:17px;
  --fc-graphic-text-size:14.2px;
  --fc-graphic-tiny-size:12.2px;
  --fc-graphic-caption-size:12.8px;
}
#featureCooccurrenceToolPanel.is-text-huge .feature-cooccurrence-info-graphic{
  --fc-graphic-title-size:14.5px;
  --fc-graphic-heading-size:19px;
  --fc-graphic-text-size:15.5px;
  --fc-graphic-tiny-size:13.2px;
  --fc-graphic-caption-size:13.8px;
}
#featureCooccurrenceToolPanel.is-text-maximum .feature-cooccurrence-info-graphic{
  --fc-graphic-title-size:15.5px;
  --fc-graphic-heading-size:21px;
  --fc-graphic-text-size:17px;
  --fc-graphic-tiny-size:14.3px;
  --fc-graphic-caption-size:15px;
}
.feature-cooccurrence-info-lang{
  display:flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
  font:700 10px/1.2 sans-serif;
  color:#334;
}
.feature-cooccurrence-info-lang select{
  min-width:54px;
  max-width:72px;
  padding:1px 4px;
  border:1px solid rgba(70,88,120,.35);
  border-radius:5px;
  background:#fff;
  font:700 10px/1.2 sans-serif;
}
.feature-cooccurrence-tool-window__info p{
  margin:3px 0 6px;
  font-weight:400;
}
.feature-cooccurrence-tool-window__info ul{
  margin:3px 0 6px;
  padding-left:16px;
}
.feature-cooccurrence-tool-window__info li{
  margin:2px 0;
}
.feature-cooccurrence-tool-window__info pre{
  margin:3px 0 0;
  white-space:pre-wrap;
  font:400 10px/1.25 Consolas, monospace;
}
.feature-cooccurrence-tool-window__sources{
  margin:3px 0 0;
  padding-left:15px;
}
.feature-cooccurrence-tool-window__sources a{
  color:#1d4f8f;
  text-decoration:underline;
}
.feature-cooccurrence-tool-window__results{
  min-height:46px;
  max-height:155px;
  overflow:auto;
  padding:6px;
  font:600 10px/1.25 sans-serif;
}
.feature-cooccurrence-tool-window__results.is-elevation-report{
  max-height:min(52vh, 440px);
}
.feature-cooccurrence-elevation-report{
  display:grid;
  gap:7px;
}
.feature-cooccurrence-elevation-report__stats{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.feature-cooccurrence-elevation-report__stats span{
  padding:3px 6px;
  border:1px solid rgba(40,83,135,.14);
  border-radius:5px;
  background:#fff;
}
.feature-cooccurrence-elevation-report__stats span[title]{
  cursor:help;
}
.feature-cooccurrence-elevation-report__note{
  margin:0;
  color:#333;
  font:600 10px/1.25 sans-serif;
}
.feature-cooccurrence-polygon-mask-legend{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:5px;
  padding:6px;
  border:1px solid rgba(40,83,135,.14);
  border-radius:7px;
  background:#fff;
  font:800 10px/1.25 sans-serif;
}
.feature-cooccurrence-polygon-mask-legend span{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.feature-cooccurrence-polygon-mask-legend i{
  flex:0 0 24px;
  width:24px;
  height:12px;
  border:1px solid rgba(0,0,0,.28);
  border-radius:3px;
}
.feature-cooccurrence-elevation-chart{
  width:100%;
  min-height:220px;
  border:1px solid rgba(40,83,135,.14);
  border-radius:8px;
  background:#fff;
}
.feature-cooccurrence-elevation-chart rect{
  fill:#fff;
}
.feature-cooccurrence-elevation-chart__grid line{
  stroke:rgba(0,0,0,.10);
  stroke-width:1;
}
.feature-cooccurrence-elevation-chart__grid text{
  fill:#48515d;
  font:600 9px/1 sans-serif;
  text-anchor:middle;
}
.feature-cooccurrence-elevation-chart__grid g line + text{
  text-anchor:end;
}
.feature-cooccurrence-elevation-chart__axis{
  stroke:#303a45;
  stroke-width:1.2;
}
.feature-cooccurrence-elevation-chart__raw{
  fill:#3867d6;
  opacity:.22;
}
.feature-cooccurrence-elevation-chart__bin{
  fill:#ef7b2d;
  stroke:#111;
  stroke-width:.8;
}
.feature-cooccurrence-elevation-chart__line{
  fill:none;
  stroke:#ef7b2d;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.feature-cooccurrence-elevation-chart__xlabel,
.feature-cooccurrence-elevation-chart__ylabel{
  fill:#202833;
  font:700 10px/1 sans-serif;
  text-anchor:middle;
}
.feature-cooccurrence-tool-window__results table{
  width:100%;
  border-collapse:collapse;
}
.feature-cooccurrence-tool-window__results th,
.feature-cooccurrence-tool-window__results td{
  padding:2px 4px;
  border-bottom:1px solid rgba(0,0,0,.08);
  text-align:left;
}
.feature-cooccurrence-summary{
  margin-bottom:4px;
  padding:4px 6px;
  border-radius:6px;
  background:rgba(255,255,255,.72);
  line-height:1.25;
  font-weight:800;
}
#featureCooccurrenceToolPanel .feature-cooccurrence-tool-window__info,
#featureCooccurrenceToolPanel .feature-cooccurrence-tool-window__results,
#featureCooccurrenceToolPanel .feature-cooccurrence-tool-window__groupHint,
#featureCooccurrenceToolPanel .feature-cooccurrence-group-contents,
#featureCooccurrenceOptionsPanel .feature-cooccurrence-options-window__body,
#featureCooccurrenceReportPanel .feature-cooccurrence-report-window__body{
  -webkit-user-select:text;
  user-select:text;
}
.feature-cooccurrence-tool-window__buttons{
  position:static;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  margin:0;
  padding:4px 6px 6px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.94));
  border-bottom:1px solid rgba(0,0,0,.08);
}
.feature-cooccurrence-tool-window__buttons button:not(.map-tool-window__submit){
  appearance:none;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 8px;
  font:700 10px/1 sans-serif;
  cursor:pointer;
}
.feature-cooccurrence-tool-window__buttons .map-tool-window__submit{
  margin-right:auto;
  padding:5px 10px;
}
.feature-cooccurrence-opacity-control{
  flex:1 1 160px;
  display:grid;
  grid-template-columns:auto minmax(70px, 1fr) 34px;
  align-items:center;
  gap:5px;
  min-width:150px;
  padding:3px 6px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:999px;
  background:rgba(255,255,255,.85);
  color:#333;
  font:800 9px/1.1 sans-serif;
}
.feature-cooccurrence-opacity-control.is-disabled{
  color:#777;
  opacity:.58;
}
.feature-cooccurrence-opacity-control.is-inapplicable{
  display:none !important;
}
.feature-cooccurrence-opacity-control input{
  min-width:0;
  width:100%;
}
.feature-cooccurrence-opacity-control output{
  text-align:right;
  color:#526070;
  font:800 9px/1.1 sans-serif;
}
.feature-cooccurrence-preview-toggle{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:max-content;
  padding:3px 6px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:999px;
  background:rgba(255,255,255,.85);
  color:#333;
  font:800 9px/1.1 sans-serif;
}
.feature-cooccurrence-preview-toggle.is-disabled{
  color:#777;
  opacity:.58;
}
.feature-cooccurrence-preview-toggle.is-inapplicable{
  display:none !important;
}
.feature-cooccurrence-preview-toggle input{
  width:12px;
  height:12px;
  margin:0;
}
.feature-cooccurrence-tool-window__resize{
  right:3px;
  bottom:3px;
  border-radius:0 0 12px 0;
  background:
    linear-gradient(135deg, transparent 0 43%, rgba(0,0,0,.45) 43% 51%, transparent 51% 100%),
    linear-gradient(135deg, transparent 0 62%, rgba(0,0,0,.45) 62% 70%, transparent 70% 100%);
}
.feature-cooccurrence-options-window__resize{
  right:3px;
  bottom:3px;
  border-radius:0 0 12px 0;
}
.feature-cooccurrence-report-window{
  display:none;
  position:fixed;
  z-index:1220;
  overflow:hidden;
}
.feature-cooccurrence-report-window.is-open{
  display:block;
}
.feature-cooccurrence-report-window.is-minimized{
  height:36px !important;
  min-height:36px !important;
}
.feature-cooccurrence-report-window.is-minimized .feature-cooccurrence-report-window__body,
.feature-cooccurrence-report-window.is-minimized .feature-cooccurrence-report-window__resize{
  display:none;
}
.feature-cooccurrence-report-window__json{
  appearance:none;
  border:1px solid rgba(40,83,135,.22);
  border-radius:5px;
  background:#fff;
  color:#1f2c3d;
  font:800 10px/1.2 sans-serif;
  padding:3px 6px;
  white-space:nowrap;
}
.feature-cooccurrence-report-window__json:hover{
  background:#eef4ff;
}
.feature-cooccurrence-report-window__body{
  height:calc(100% - 35px);
  overflow:auto;
  padding:8px;
}
.feature-cooccurrence-report-window__resize{
  right:3px;
  bottom:3px;
  border-radius:0 0 12px 0;
  z-index:3;
}
.feature-cooccurrence-report-window .feature-cooccurrence-elevation-report{
  max-height:none;
}
.feature-cooccurrence-report-window .feature-cooccurrence-elevation-chart{
  width:100%;
  max-width:680px;
}
.feature-cooccurrence-report-summary{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between;
}
.feature-cooccurrence-report-reopen{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  border-radius:999px;
  background:#fff;
  color:#111;
  cursor:pointer;
  flex:0 0 auto;
  font:700 10px/1 sans-serif;
  padding:5px 8px;
}
.feature-cooccurrence-polygon-mask-report__basis{
  margin:8px 0;
  padding:8px;
  border-radius:8px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.08);
}
.feature-cooccurrence-polygon-mask-report__basis h4{
  margin:0 0 6px;
  font:800 12px/1.2 sans-serif;
}
.feature-cooccurrence-polygon-mask-report__basis ul{
  margin:0;
  padding-left:16px;
}
.feature-cooccurrence-polygon-mask-report__basis li{
  margin:3px 0;
}
.feature-cooccurrence-polygon-mask-report__evaluation{
  margin-top:8px;
  padding:8px;
  border-radius:8px;
  background:rgba(246,248,252,.95);
  border:1px solid rgba(0,0,0,.08);
}
.feature-cooccurrence-polygon-mask-report__evaluation h4{
  margin:0 0 6px;
  font:800 12px/1.2 sans-serif;
}
.feature-cooccurrence-polygon-mask-report__evaluation p{
  margin:4px 0;
}

@media (max-width:760px){
  #featureCooccurrenceToolPanel{
    min-width:340px;
    width:min(420px, calc(100vw - 18px)) !important;
  }
  .feature-cooccurrence-tool-window__layout{
    grid-template-columns:minmax(0, 1fr);
  }
  .feature-cooccurrence-tool-window__splitter{
    display:none;
  }
  .feature-cooccurrence-tool-window__controls,
  .feature-cooccurrence-tool-window__modes,
  .feature-cooccurrence-tool-window__roiControls{
    grid-template-columns:1fr;
  }
}
#contourTraceToolProgress{
  margin-top:6px;
  padding:7px 8px 8px;
  border-radius:10px;
  background:rgba(243,247,252,.92);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
#contourTraceToolProgressTrack{
  height:8px;
  border-radius:999px;
  background:rgba(0,0,0,.08);
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
#contourTraceToolProgressBar{
  width:0%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1d6fff,#42b7ff);
  transition:width .18s ease;
}
#contourTraceToolProgressText{
  margin-top:4px;
  font:600 11px/1.25 sans-serif;
  color:#37506b;
}

.contour-auto-legend__item{
  display:flex;
  align-items:center;
  gap:7px;
  font:600 11px/1.2 sans-serif;
  color:#1e2936;
}
.contour-auto-legend__swatch{
  width:14px;
  height:14px;
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.16);
  flex:0 0 14px;
}
.contour-auto-legend__swatch--peak{ background:rgba(181,136,49,.62); }
.contour-auto-legend__swatch--basin{ background:rgba(74,144,226,.58); }
.contour-auto-legend__swatch--plain{ background:rgba(90,170,98,.48); }
.contour-auto-legend__swatch--ring{ background:rgba(160,88,204,.52); }
.contour-auto-legend__swatch--ring-ridge{ background:rgba(160,88,204,.52); }
.contour-auto-legend__swatch--ring-trench{ background:rgba(110,96,220,.54); }
.contour-auto-legend__swatch--scarp{ background:rgba(255,255,255,.95); box-shadow:inset 0 0 0 1px rgba(0,0,0,.5); }
#contourTraceToolLegend{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 10px;
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(243,247,252,.88);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
#contourTraceToolLegend .contour-auto-legend__item:last-child{
  grid-column:1 / -1;
}

#threeDToolPanel.is-viewport-transparent .map-tool-window__viewport{
  background:transparent;
}
#threeDToolPanel.is-viewport-transparent #threeDToolCanvas{
  background:transparent !important;
}
#threeDToolPanel.is-viewport-transparent #threeDToolEmpty{
  background:transparent;
}
#threeDToolPreviewGrid,
#threeDToolCanvas,
#threeDToolNorth,
#threeDToolEmpty,
#threeDToolViewport{
  transition:opacity .16s ease, background-color .16s ease;
}
@media (max-width: 720px){
  #mapTopToolsDock{
    top:8px;
    left:8px;
    gap:0;
    max-width:calc(100vw - 8px);
  }
  #mapTopToolsDock.is-open .map-top-tools-menu{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:flex-start;
    max-width:calc(100vw - 16px);
  }
  .map-tools-toggle,
  .map-top-tool-group__title,
  .map-top-tool-btn{
    min-height:32px;
    padding:6px 10px;
    font-size:var(--top-tools-menu-font-size);
  }
  .map-top-tool-item .map-top-tool-btn{
    padding-right:24px;
  }
  #mapTopToolsDock.is-open .map-top-tool-group{
    min-width:0;
    width:max-content;
  }
}

@media (max-width: 520px){
  #mapTopToolsDock.is-open{
    width:min(360px, 100vw);
    align-items:start;
  }
  #mapTopToolsDock.is-open .map-tools-toggle{
    min-width:86px;
  }
  #mapTopToolsDock.is-open .map-top-tools-menu{
    display:flex;
    flex-wrap:wrap;
    width:auto;
  }
  #mapTopToolsDock.is-open .map-top-tool-group__title,
  #mapTopToolsDock.is-open .map-top-tool-btn{
    min-width:0;
    padding-left:6px;
    padding-right:6px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #mapTopToolsDock.is-open .map-top-tool-item .map-top-tool-btn{
    padding-right:22px;
  }
  #mapTopToolsDock:not(.is-open){
    width:auto;
  }
  #mapTopToolsDock:not(.is-open) .map-top-tools-menu .map-top-tool-btn.is-pinned{
    max-width:44vw;
  }
  #mapTopToolsDock:not(.is-open) .map-top-tools-menu .map-top-tool-item.is-pinned{
    max-width:44vw;
  }
}



/* Late inline style block */

.leaflet-popup-content{
  max-height:50vh;
  overflow-y:auto;
}


.leaflet-popup-content-wrapper{
  max-width: 90vw !important;
  min-width: 250px !important;
  background: rgba(255,255,255,0.6) !important;
  backdrop-filter: blur(4px);
}

.leaflet-popup-tip{
  background: rgba(255,255,255,0.6) !important;
}

 /* GPS permission panel */
#gpsErrorBox{
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 12px 16px;
  font: 14px sans-serif;
  max-width: 90vw;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
  z-index: 9999;
  display: none;
}

/* legend info icon + sticky tooltip (DO NOT toggle layer) */
.legend-info{
  color:#1e88ff;
  font-weight:bold;
  margin-left:4px;
  cursor:help;
  user-select:none;
  display:inline-block;
  line-height:1;
}

/* saját, X-szel zárható tooltip az ikon mellett */
.legend-info-tip{
  position:fixed;
  background:#fff;
  border:1px solid #666;
  padding:8px 10px 8px 10px;
  font:12px/1.35 sans-serif;
  border-radius:6px;
  box-shadow:0 2px 10px rgba(0,0,0,.25);
  max-width:320px;
  z-index:65000;
}
.legend-info-tip .close{
  position:absolute;
  right:6px;
  top:4px;
  cursor:pointer;
  font-weight:bold;
}
.legend-info-tip .body{
  padding-right:14px; /* hely az X-nek */
  white-space:normal;
}



/* v8 additions: topo source selector rows + selection cursor + frame labels */
.vgis-selection-crosshair,
.vgis-selection-crosshair * {
  cursor: crosshair !important;
}

.tool-frame-label {
  background: transparent !important;
  border: 0 !important;
}

#profileToolPanel .map-tool-window__selectRow label,
#threeDToolPanel .map-tool-window__selectRow label {
  width: 48px;
  flex: 0 0 48px;
}

#profileToolPanel .map-tool-window__selectRow select,
#threeDToolPanel .map-tool-window__selectRow select {
  flex: 1 1 auto;
  min-width: 0;
  height: 28px;
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 8px;
  background: #fff;
  color: #111;
  padding: 0 8px;
  font: 600 12px/1 sans-serif;
}

.map-tool-window__sourceRow {
  margin-top: 2px;
}

#threeDToolRasterBtn.is-active{
  background:#111;
  color:#fff;
  border-color:rgba(0,0,0,.36);
}

.boundary-tool__body{
  inset:39px 0 0 0;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:auto;
  background:#fff;
}
.boundary-tool__help{
  font:12px/1.35 sans-serif;
  color:#333;
}
.boundary-tool__help code{
  font:600 11px/1 monospace;
  background:rgba(0,0,0,.05);
  padding:1px 4px;
  border-radius:4px;
}
.boundary-tool__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:end;
}
.boundary-tool__field{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.boundary-tool__field > span,
.boundary-tool__inline > span{
  font:700 11px/1 sans-serif;
  color:#444;
}
.boundary-tool__field select{
  width:100%;
  min-width:0;
  height:32px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:8px;
  background:#fff;
  padding:0 10px;
  font:600 12px/1 sans-serif;
}
.boundary-tool__field select:disabled{
  opacity:.55;
}
.boundary-tool__miniBtn{
  appearance:none;
  height:32px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:8px;
  background:#f7f7f7;
  color:#111;
  padding:0 12px;
  font:700 12px/1 sans-serif;
  cursor:pointer;
}
.boundary-tool__miniBtn:hover{
  background:#efefef;
}
.boundary-tool__row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.boundary-tool__inline{
  display:flex;
  align-items:center;
  gap:8px;
}
.boundary-tool__inline--grow{
  flex:1 1 180px;
}
.boundary-tool__inline input[type="range"]{
  flex:1 1 auto;
  min-width:120px;
}
.boundary-tool__value{
  min-width:38px;
  text-align:right;
  font:700 12px/1 monospace;
  color:#222;
}
.boundary-tool__check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:600 12px/1 sans-serif;
  color:#333;
}
.boundary-tool__status{
  margin:0;
}
.boundary-tool__meta{
  font:12px/1.35 monospace;
  color:#444;
  white-space:pre-wrap;
  background:rgba(0,0,0,.035);
  border-radius:8px;
  padding:8px 10px;
}
.boundary-anchor-marker{
  width:12px;
  height:12px;
  border:2px solid #111;
  background:#fff;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.7);
}
.boundary-tool__outlineClose{
  background:transparent;
  border:0;
}
.boundary-tool__outlineCloseButton{
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border:2px solid #fff;
  border-radius:50%;
  background:#111;
  color:#fff;
  font:800 14px/1 Arial, sans-serif;
  box-shadow:0 1px 6px rgba(0,0,0,.45);
  cursor:pointer;
  box-sizing:border-box;
}
.boundary-tool__outlineCloseButton:hover{
  background:#b3261e;
}


.map-top-tool-btn--magic{
  background:linear-gradient(180deg, rgba(92,48,118,.98), rgba(42,20,58,.98));
  border-color:rgba(248,214,112,.48);
  color:#f7e7b8;
}
.map-top-tool-btn--magic.is-active{
  background:linear-gradient(180deg, rgba(132,72,166,.98), rgba(56,22,80,.98));
  color:#fff4c8;
  box-shadow:0 0 0 1px rgba(248,214,112,.34), 0 6px 18px rgba(52,18,74,.38);
}

.magic-tool-window{
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
body.vgis-magic-active #map{
  filter:brightness(.68) contrast(1.02);
}
.magic-tool-window__header{
  height:34px;
  margin:0 6px;
  padding:0 8px;
  border:1px solid rgba(245,216,146,.34);
  border-bottom:none;
  border-radius:16px 16px 0 0;
  background:linear-gradient(180deg, rgba(76,40,100,.92), rgba(42,22,59,.82));
  backdrop-filter:blur(4px);
  gap:8px;
}
.magic-tool-window .map-tool-window__title,
.magic-tool-window .map-tool-window__close{
  color:#f3e3b6;
}
.magic-tool-window__body{
  top:32px;
  background:transparent;
  pointer-events:none;
}
.magic-card-shell{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:6px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(104,76,44,.14), rgba(38,22,15,.05));
  box-shadow:0 22px 46px rgba(0,0,0,.34), 0 0 0 1px rgba(248,220,153,.18), inset 0 0 0 1px rgba(255,243,210,.08);
  pointer-events:none;
}
.magic-card-shell.is-busy{
  cursor:progress;
}
.magic-card-shell__viewport{
  position:relative;
  flex:1 1 auto;
  min-height:220px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(241,217,163,.30);
  background:rgba(255,255,255,.02);
  backdrop-filter:brightness(1.45) contrast(1.06) saturate(1.02);
  box-shadow:inset 0 0 0 1px rgba(255,245,216,.08);
}
.magic-card-shell.is-zoom-locked .magic-card-shell__viewport{
  background:#090907;
  backdrop-filter:none;
}
.magic-card-shell.is-zoom-locked .magic-card-shell__viewport::after{
  content:"Zoom 3+ required";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  color:#f3e3b6;
  background:rgba(0,0,0,.72);
  font:700 13px/1.35 sans-serif;
  text-align:center;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#magicToolFrame{
  position:absolute;
  inset:8px;
  z-index:1;
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,.01);
  backdrop-filter:brightness(1.38) contrast(1.05) saturate(1.02);
  box-shadow:inset 0 0 0 1px rgba(243,220,166,.42);
}
#magicToolFrame::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.magic-card-shell__symbols{
  position:absolute;
  inset:8px;
  z-index:3;
  overflow:visible;
  border-radius:12px;
  pointer-events:none;
}
.magic-card-shell__geology{
  position:absolute;
  inset:8px;
  z-index:2;
  overflow:hidden;
  border-radius:12px;
  pointer-events:none;
}
.magic-card-shell__geologySvg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  pointer-events:auto;
}
.magic-card-shell__geologySvg path{
  fill:rgba(255,214,79,.14);
  stroke:rgba(15,17,18,.50);
  stroke-width:.55;
  vector-effect:non-scaling-stroke;
  pointer-events:visiblePainted;
  cursor:help;
}
.magic-card-shell__geologySvg path.magic-geology-unit--0{ fill:rgba(255,214,79,.16); }
.magic-card-shell__geologySvg path.magic-geology-unit--1{ fill:rgba(236,142,36,.15); }
.magic-card-shell__geologySvg path.magic-geology-unit--2{ fill:rgba(91,176,103,.14); }
.magic-card-shell__geologySvg path.magic-geology-unit--3{ fill:rgba(82,152,218,.14); }
.magic-card-shell__geologySvg path:hover{
  stroke:rgba(255,255,255,.95);
  stroke-width:1.4;
  fill-opacity:.26;
}
.magic-card-shell__symbol{
  appearance:none;
  position:absolute;
  width:22px;
  height:22px;
  margin:-11px 0 0 -11px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
  z-index:2;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.42));
}
.magic-card-shell__symbol:hover,
.magic-card-shell__symbol:focus-visible{
  z-index:8;
}
.magic-card-shell.is-moving .magic-card-shell__geology,
.magic-card-shell.is-moving .magic-card-shell__symbols{
  visibility:hidden;
}
.magic-card-shell__symbol:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
.magic-card-shell__symbol::after{
  content:attr(data-magic-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  z-index:10;
  min-width:132px;
  max-width:220px;
  padding:6px 7px;
  border:1px solid rgba(0,0,0,.72);
  border-radius:6px;
  background:rgba(255,255,255,.94);
  color:#111;
  box-shadow:0 2px 8px rgba(0,0,0,.28);
  font:700 10px/1.25 sans-serif;
  text-align:left;
  white-space:pre-line;
  transform:translate(-50%, 4px);
  opacity:0;
  pointer-events:none;
  transition:opacity .08s ease-out, transform .08s ease-out;
}
.magic-card-shell__symbol:hover::after,
.magic-card-shell__symbol:focus-visible::after{
  opacity:1;
  transform:translate(-50%, 0);
}
.magic-card-shell__symbol span,
.magic-card-shell__symbol span::before,
.magic-card-shell__symbol span::after{
  position:absolute;
  content:"";
  box-sizing:border-box;
}
.magic-card-shell__symbol span{
  inset:4px;
  border-radius:50%;
  border:2px solid #fff3c7;
  background:rgba(255,216,88,.72);
  box-shadow:0 0 0 1px rgba(0,0,0,.86), 0 2px 7px rgba(0,0,0,.42);
}
.magic-symbol--impact span{
  border-color:#111;
  background:#ffd750;
}
.magic-symbol--impact_parabola span{
  border:2px dashed #111;
  background:rgba(255,215,80,.40);
}
.magic-symbol--splotch span{
  border:2px solid #fff;
  background:#111;
  box-shadow:0 0 0 1px rgba(0,0,0,.72), 0 0 0 4px rgba(120,120,120,.82), 0 2px 5px rgba(0,0,0,.34);
}
.magic-symbol--aeolian span{
  border:2px dotted #111;
  background:rgba(255,255,255,.82);
}
.magic-symbol--mass_wasting span{
  border-radius:3px;
  border-color:#1c1c1c;
  background:#e6c9a0;
  transform:rotate(-18deg);
}
.magic-symbol--channels span{
  inset:9px 1px;
  height:4px;
  border-radius:4px;
  border:1px solid #10243b;
  background:#bcdcff;
  transform:rotate(-26deg);
}
.magic-symbol--volcanic span{
  border-radius:50% 50% 45% 45%;
  border-color:#4b0d0d;
  background:#d9483d;
}
.magic-symbol--volcanotectonic span{
  border:2px dashed #7c2fc4;
  background:rgba(208,168,255,.38);
}
.magic-symbol--tectonic span{
  inset:9px 2px;
  height:4px;
  border-radius:4px;
  border:1px solid #111;
  background:#2b63d9;
  transform:rotate(-18deg);
}
.magic-symbol--source-impact_parabola_austin span,
.magic-symbol--source-impact_parabola_ganey span,
.magic-symbol--source-impact_splotch span{
  border-style:dashed;
  background:rgba(255,215,80,.38);
}
.magic-symbol--source-volc_active span,
.magic-symbol--source-volc_intmed span{
  inset:2px;
  border:1px solid #700;
  border-radius:0;
  background:#d00;
  clip-path:polygon(50% 5%, 96% 95%, 4% 95%);
}
.magic-symbol--source-volc_active span::before{
  left:50%;
  top:-5px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#111;
  box-shadow:-5px -2px 0 -1px rgba(0,0,0,.75), 5px -3px 0 0 rgba(0,0,0,.65);
  transform:translateX(-50%);
}
.magic-symbol--source-volc_pyrflow span,
.magic-symbol--source-volc_festflow span{
  inset:9px 2px;
  height:4px;
  border:1px solid #9a4d00;
  border-radius:4px;
  background:#ffb347;
  transform:rotate(20deg);
}
.magic-symbol--source-volc_large span{
  border-width:3px;
  background:rgba(217,72,61,.22);
}
.magic-symbol--source-volc_radialflow span{
  inset:3px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.magic-symbol--source-volc_radialflow span::before{
  left:7px;
  top:7px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:yellow;
  box-shadow:
    0 -8px 0 -2px orange,
    0 8px 0 -2px orange,
    -8px 0 0 -2px orange,
    8px 0 0 -2px orange,
    -6px -6px 0 -2px orange,
    6px -6px 0 -2px orange,
    -6px 6px 0 -2px orange,
    6px 6px 0 -2px orange,
    0 0 0 1px rgba(0,0,0,.35);
}
.magic-symbol--source-volc_small span{
  inset:5px;
  border:2px solid #fff;
  background:#df0000;
  box-shadow:0 0 0 2px rgba(112,0,0,.88), 0 2px 7px rgba(0,0,0,.48);
}
.magic-symbol--source-volc_dome span,
.magic-symbol--source-volc_domeslide span{
  inset:5px 3px 7px;
  border:1px solid #069;
  border-radius:12px 12px 2px 2px;
  background:#6cf;
  box-shadow:0 0 0 1px rgba(255,255,255,.78), 0 2px 5px rgba(0,0,0,.34);
}
.magic-symbol--source-volc_domeslide span::after{
  right:-5px;
  bottom:-4px;
  width:8px;
  height:6px;
  border-radius:50%;
  background:#8b5e34;
  border:1px solid #6f4c2a;
}
.magic-symbol--source-volc_dome span,
.magic-symbol--source-volc_domeslide span,
.magic-symbol--source-volc_ssd span{
  border-color:#7b2d7d;
  background:#e5a8e5;
}
.magic-symbol--source-volc_dome span,
.magic-symbol--source-volc_domeslide span{
  border-color:#069;
  background:#6cf;
}
.magic-symbol--source-volc_ssd span{
  inset:5px;
  border-color:#a50;
  background:orange;
}
.magic-symbol--source-volctect_nova span{
  border-radius:0;
  transform:rotate(45deg);
  border-color:#9c7a00;
  background:#f2c200;
}
.magic-symbol--source-volctect_arachnoid span{
  inset:4px;
  border:2px solid #d9d9d9;
  background:transparent;
  box-shadow:0 0 0 1px rgba(0,0,0,.45), 0 2px 5px rgba(0,0,0,.28);
}
.magic-symbol--source-volctect_arachnoid span::before,
.magic-symbol--source-volctect_arachnoid span::after{
  top:-5px;
  bottom:-5px;
  width:2px;
  background:#d9d9d9;
  left:50%;
  transform-origin:50% 50%;
}
.magic-symbol--source-volctect_arachnoid span::before{
  transform:translateX(-50%) rotate(26deg);
}
.magic-symbol--source-volctect_arachnoid span::after{
  transform:translateX(-50%) rotate(-26deg);
}
.magic-symbol--source-volctect_corona span{
  border:2px dashed #111;
  background:transparent;
}
.magic-symbol--source-tect_rift span,
.magic-symbol--source-tect_groovebelt span,
.magic-symbol--source-tect_tessera span{
  inset:4px;
  border-radius:2px;
  opacity:.78;
}
.magic-symbol--source-tect_rift span{
  border-color:#593a7a;
  background:rgba(148,0,211,.38);
}
.magic-symbol--source-tect_groovebelt span{
  border-color:#9400d3;
  background:rgba(72,61,139,.50);
}
.magic-symbol--source-tect_tessera span{
  border-color:#aa0;
  background:rgba(255,255,0,.55);
}
.magic-symbol--source-tect_mtnbelt span,
.magic-symbol--source-tect_valley span,
.magic-symbol--source-tect_wrinkle span{
  inset:9px 2px;
  height:4px;
  border-radius:4px;
}
.magic-symbol--source-tect_mtnbelt span{
  border-color:#111;
  background:#111;
}
.magic-symbol--source-tect_valley span{
  border-color:#455c7a;
  background:#83a7d8;
}
.magic-symbol--source-tect_wrinkle span{
  border-color:#b35900;
  background:#f2a34a;
}
.magic-card-shell__symbol.is-flashing span{
  animation:magicSymbolFlash .72s ease-out 1;
}
@keyframes magicSymbolFlash{
  0%{ transform:scale(.8); box-shadow:0 0 0 1px rgba(0,0,0,.72), 0 0 0 0 rgba(255,255,255,.92); filter:brightness(1.2); }
  42%{ transform:scale(1.85); box-shadow:0 0 0 1px rgba(0,0,0,.72), 0 0 0 8px rgba(255,255,255,.58); filter:brightness(1.75); }
  100%{ transform:scale(1); box-shadow:0 0 0 1px rgba(0,0,0,.72), 0 0 0 14px rgba(255,255,255,0); filter:brightness(1); }
}
.magic-card-shell__centerDot{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  width:14px;
  height:14px;
  margin:-7px 0 0 -7px;
  border-radius:50%;
  border:1px solid rgba(255,241,198,.86);
  box-shadow:0 0 0 1px rgba(0,0,0,.48), 0 0 16px rgba(255,224,133,.18);
}
.magic-card-shell__centerDot::before,
.magic-card-shell__centerDot::after{
  content:"";
  position:absolute;
  background:rgba(255,241,198,.76);
}
.magic-card-shell__centerDot::before{
  left:50%;
  top:-11px;
  width:1px;
  height:34px;
  transform:translateX(-50%);
}
.magic-card-shell__centerDot::after{
  top:50%;
  left:-11px;
  width:34px;
  height:1px;
  transform:translateY(-50%);
}
.magic-card-shell__status{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid rgba(244,221,170,.20);
  background:rgba(15,11,10,.56);
  color:#ecd9a8;
  font:600 11px/1.35 sans-serif;
  pointer-events:none;
}
.magic-card-shell__controls{
  flex:0 0 auto;
  padding:6px;
  border-radius:12px;
  border:1px solid rgba(244,221,170,.24);
  background:rgba(28,16,13,.50);
  color:#f1e7d0;
  pointer-events:auto;
}
.magic-card-shell__controls[hidden]{
  display:none;
}
.magic-card-shell__controlsTitle{
  margin:0 0 6px;
  color:#ebd8a4;
  font:700 10px/1.2 sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.magic-card-shell__controlsBar{
  display:flex;
  align-items:center;
  gap:6px;
}
.magic-card-shell__controlsToggle{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex:1 1 auto;
  min-width:0;
  min-height:26px;
  padding:0 8px;
  border:1px solid rgba(244,221,170,.24);
  border-radius:8px;
  background:rgba(15,11,10,.34);
  color:#f1e7d0;
  font:800 11px/1 sans-serif;
  text-align:left;
  cursor:pointer;
}
.magic-card-shell__controlsToggle span:first-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.magic-card-shell__controlsToggle span:last-child{
  flex:0 0 auto;
  width:14px;
  text-align:center;
  color:#fff3cf;
  font:900 13px/1 sans-serif;
}
.magic-card-shell__geologyToggle{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
  min-height:26px;
  padding:0 7px;
  border:1px solid rgba(244,221,170,.22);
  border-radius:8px;
  background:rgba(15,11,10,.30);
  color:#f7efe0;
  font:800 10px/1 sans-serif;
  cursor:pointer;
}
.magic-card-shell__geologyToggle input{
  flex:0 0 auto;
  width:12px;
  height:12px;
  margin:0;
}
.magic-card-shell__categoryGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:5px 8px;
  margin-top:6px;
}
.magic-card-shell__categoryGrid[hidden]{
  display:none;
}
.magic-card-shell__category{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:#f7efe0;
  font:700 11px/1.25 sans-serif;
  cursor:pointer;
}
.magic-card-shell__category input{
  flex:0 0 auto;
  width:13px;
  height:13px;
  margin:0;
}
.magic-card-shell__showBtn{
  appearance:none;
  flex:0 0 auto;
  min-height:26px;
  margin:0;
  padding:0 10px;
  border:1px solid rgba(245,216,146,.40);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(141,94,178,.72), rgba(72,41,104,.58));
  color:#fff3cf;
  font:800 11px/1.1 sans-serif;
  letter-spacing:.04em;
  cursor:pointer;
}
.magic-card-shell__showBtn:disabled{
  opacity:.52;
  cursor:not-allowed;
}
.magic-card-shell__data{
  flex:0 1 180px;
  min-height:88px;
  overflow:auto;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(244,221,170,.24);
  background:rgba(28,16,13,.54);
  color:#f1e7d0;
  backdrop-filter:blur(2px);
  box-shadow:inset 0 1px 0 rgba(255,246,219,.10);
  pointer-events:auto;
}
.magic-card-shell__empty{
  font:600 12px/1.45 sans-serif;
  color:#f1e7d0;
}
.magic-card-shell__rows{
  display:grid;
  gap:6px;
}

.magic-card-shell__row{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.magic-card-shell__label{
  font:700 11px/1.35 sans-serif;
  color:#ebd8a4;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.magic-card-shell__value{
  font:600 12px/1.4 sans-serif;
  color:#f7efe0;
  word-break:break-word;
}
.magic-card-shell__resultGroup{
  margin:0 0 10px;
}
.magic-card-shell__resultGroup:last-child{
  margin-bottom:0;
}
.magic-card-shell__resultGroup h4{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 6px;
  color:#ebd8a4;
  font:800 11px/1.25 sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.magic-card-shell__resultGroup h4 span{
  color:#f7efe0;
  font-weight:700;
}
.magic-card-shell__resultItem{
  appearance:none;
  display:block;
  width:100%;
  padding:7px 0;
  border-top:1px solid rgba(244,221,170,.18);
  border-right:0;
  border-bottom:0;
  border-left:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.magic-card-shell__resultItem:hover,
.magic-card-shell__resultItem:focus-visible{
  background:rgba(255,238,184,.08);
  outline:0;
}
.magic-card-shell__resultName{
  color:#fff6df;
  font:800 12px/1.25 sans-serif;
  overflow-wrap:anywhere;
}
.magic-card-shell__resultMeta{
  margin-top:2px;
  color:#ecd9a8;
  font:700 11px/1.3 sans-serif;
  overflow-wrap:anywhere;
}
.magic-card-shell__resultSource{
  margin-top:2px;
  color:#d9c696;
  font:600 10px/1.3 sans-serif;
  overflow-wrap:anywhere;
}
.magic-tool-window__modebtn{
  appearance:none;
  border:1px solid rgba(245,216,146,.34);
  background:linear-gradient(180deg, rgba(111,72,141,.52), rgba(62,34,88,.40));
  color:#f3e3b6;
  border-radius:10px;
  padding:3px 7px;
  font:600 11px/1.15 sans-serif;
  cursor:pointer;
  pointer-events:auto;
}
.magic-tool-window__modebtn:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.magic-tool-window__modebtn.is-active{
  box-shadow:0 0 0 1px rgba(249,226,162,.24) inset, 0 0 10px rgba(255,223,137,.10);
  background:linear-gradient(180deg, rgba(141,94,178,.68), rgba(72,41,104,.52));
}
.magic-tool-window .map-tool-window__close{
  pointer-events:auto;
}
.magic-tool-window .map-tool-window__resize{
  opacity:1;
  background:
    linear-gradient(135deg, transparent 0 46%, rgba(244,221,170,.44) 46% 54%, transparent 54% 100%),
    linear-gradient(135deg, transparent 0 66%, rgba(244,221,170,.44) 66% 74%, transparent 74% 100%);
}
.magic-tool-window .map-tool-window__resize--nw{
  background:
    linear-gradient(315deg, transparent 0 46%, rgba(244,221,170,.44) 46% 54%, transparent 54% 100%),
    linear-gradient(315deg, transparent 0 66%, rgba(244,221,170,.44) 66% 74%, transparent 74% 100%);
}
@media (max-width: 700px){
  #magicToolPanel{
    left:10px !important;
    top:74px !important;
    width:min(282px, calc(100vw - 20px)) !important;
    height:404px !important;
  }
  .magic-tool-window__header{
    margin:0 4px;
    padding:0 6px;
  }
  .magic-card-shell{
    gap:5px;
    padding:5px;
    border-radius:18px;
  }
  .magic-card-shell__viewport{
    min-height:132px;
  }
  .magic-card-shell__categoryGrid{
    grid-template-columns:1fr;
  }
  .magic-card-shell__controls{
    padding:7px 9px;
  }
  .magic-card-shell__data{
    padding:8px 10px;
    flex-basis:138px;
  }
  .magic-card-shell__row{
    grid-template-columns:94px minmax(0,1fr);
    gap:6px;
  }
  .magic-tool-window__modebtn{
    padding:2px 5px;
    font-size:10px;
  }
}
