.three-d-tiles-control {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.three-d-tiles-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: #1f2a37;
}

.three-d-tiles-control-toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.three-d-tiles-control-icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.three-d-tiles-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  fill: none;
}

.three-d-tiles-control-panel {
  position: absolute;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  min-width: 260px;
  max-width: min(420px, calc(100% - 20px));
  max-height: 520px;
  overflow-y: auto;
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  display: none;
}

.three-d-tiles-control-panel.expanded {
  display: block;
}

.three-d-tiles-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: #1f2937;
  padding: 4px 0 8px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 10px;
}

.three-d-tiles-control-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.three-d-tiles-control-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: #6b7280;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.three-d-tiles-control-close:hover {
  color: #111827;
}

.three-d-tiles-control-content {
  max-height: 440px;
  overflow-y: auto;
}

.three-d-tiles-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.three-d-tiles-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #374151;
  font-size: 12px;
  font-weight: 500;
}

.three-d-tiles-input {
  width: 100%;
  box-sizing: border-box;
  padding: 7px 9px;
  font-size: 12px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  outline: none;
  color: #111827;
  background: #fff;
}

.three-d-tiles-input[type='number'] {
  min-height: 36px;
  padding-right: 4px;
}

.three-d-tiles-input[type='number']::-webkit-inner-spin-button,
.three-d-tiles-input[type='number']::-webkit-outer-spin-button {
  min-height: 30px;
  opacity: 1;
  width: 22px;
}

.three-d-tiles-input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.three-d-tiles-checkbox {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #374151;
  font-size: 12px;
  line-height: 1.2;
}

.three-d-tiles-checkbox input {
  margin: 0;
}

.three-d-tiles-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.three-d-tiles-actions.two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.three-d-tiles-button {
  min-height: 30px;
  border: 1px solid #d1d5db;
  background: #f9fafb;
  color: #111827;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 8px;
}

.three-d-tiles-button:hover:not(:disabled) {
  background: #eef2ff;
  border-color: #93c5fd;
}

.three-d-tiles-button:disabled {
  color: #9ca3af;
  cursor: not-allowed;
}

.three-d-tiles-status {
  border-top: 1px solid #e5e7eb;
  color: #4b5563;
  min-height: 18px;
  padding-top: 8px;
  word-break: break-word;
}

.three-d-tiles-status[data-status='loaded'] {
  color: #047857;
}

.three-d-tiles-status[data-status='error'] {
  color: #b91c1c;
}

.three-d-tiles-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.three-d-tiles-empty {
  color: #6b7280;
  margin: 0;
  padding: 2px 0;
}

.three-d-tiles-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  padding: 8px;
}

.three-d-tiles-list-item.active {
  border-color: #93c5fd;
  background: #eff6ff;
}

.three-d-tiles-list-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.three-d-tiles-list-title {
  border: none;
  background: transparent;
  color: #111827;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 0;
  text-align: left;
}

.three-d-tiles-list-url {
  color: #4b5563;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.three-d-tiles-list-status {
  color: #6b7280;
  text-transform: capitalize;
}

.three-d-tiles-list-status[data-status='loaded'] {
  color: #047857;
}

.three-d-tiles-list-status[data-status='error'] {
  color: #b91c1c;
  text-transform: none;
}

.three-d-tiles-list-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 96px;
}

.three-d-tiles-list-actions input {
  margin: 0;
}

.three-d-tiles-opacity {
  width: 58px;
}

.three-d-tiles-small-button {
  border: 1px solid #d1d5db;
  background: #fff;
  color: #111827;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  min-height: 24px;
  padding: 3px 6px;
}

.three-d-tiles-small-button:hover:not(:disabled) {
  background: #f9fafb;
}

.three-d-tiles-small-button:disabled {
  color: #9ca3af;
  cursor: not-allowed;
}

.three-d-tiles-control-content::-webkit-scrollbar {
  width: 6px;
}

.three-d-tiles-control-content::-webkit-scrollbar-track {
  background: transparent;
}

.three-d-tiles-control-content::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}
/* MapLibre GL Basemap Control */

.basemap-control {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  color-scheme: light;
  color: #1f2933;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.basemap-control-toggle {
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: none;
  color: #1f2933;
  cursor: pointer;
  outline: none;
}

.basemap-control-toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.basemap-control-toggle:focus-visible,
.basemap-control-close:focus-visible,
.basemap-control-result:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

.basemap-control-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 0;
}

.basemap-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: none;
  stroke: currentColor;
}

.basemap-control-panel {
  position: absolute;
  min-width: 280px;
  max-width: min(420px, calc(100vw - 24px));
  max-height: min(560px, calc(100vh - 24px));
  display: none;
  overflow: hidden;
  padding: 8px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(15, 23, 42, 0.12);
  z-index: 1000;
  font-size: 12px;
  line-height: 1.4;
}

.basemap-control-panel.expanded {
  display: flex;
  flex-direction: column;
}

.basemap-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 0 8px;
  border-bottom: 1px solid #e5e7eb;
}

.basemap-control-title {
  flex: 1 1 auto;
  font-size: 13px;
  font-weight: 650;
  color: #111827;
}

.basemap-control-close {
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}

.basemap-control-close:hover {
  color: #111827;
}

.basemap-control-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  padding-top: 8px;
}

.basemap-control-search-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.basemap-control-search,
.basemap-control-before-id,
.basemap-control-maptiler-key,
.basemap-control-mapbox-token,
.basemap-control-amazon-key,
.basemap-control-aws-region {
  position: relative;
}

.basemap-control-provider-settings {
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #f9fafb;
}

.basemap-control-provider-settings-summary {
  padding: 7px 9px;
  color: #374151;
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
}

.basemap-control-provider-settings-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 0 8px 8px;
}

.basemap-control-input,
.basemap-control-select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  color: #111827;
  font: inherit;
  outline: none;
}

.basemap-control-select option {
  background: #fff;
  color: #111827;
}

.basemap-control-input {
  height: 34px;
  padding: 7px 9px;
  font-size: 13px;
}

.basemap-control-select {
  height: 30px;
  padding: 4px 6px;
}

.basemap-control-input:focus,
.basemap-control-select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.basemap-control-filters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.basemap-control-status {
  min-height: 17px;
  color: #6b7280;
  font-size: 12px;
}

.basemap-control-status.is-error {
  color: #b91c1c;
}

.basemap-control-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 400px;
  overflow-y: auto;
  padding-right: 2px;
}

.basemap-control-result {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 8px;
  width: 100%;
  padding: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #fff;
  color: #111827;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.basemap-control-result:hover {
  border-color: #9ca3af;
  background: #f9fafb;
}

.basemap-control-result.is-active {
  border-color: #2563eb;
  background: #eff6ff;
}

.basemap-control-result:disabled {
  cursor: wait;
  opacity: 0.7;
}

.basemap-control-result-main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.basemap-control-result-name {
  overflow: hidden;
  color: #111827;
  font-size: 13px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.basemap-control-result-meta,
.basemap-control-result-attribution {
  overflow: hidden;
  color: #6b7280;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.basemap-control-result-type {
  align-self: start;
  padding: 2px 5px;
  border-radius: 3px;
  background: #eef2ff;
  color: #3730a3;
  font-size: 10px;
  font-weight: 650;
  text-transform: uppercase;
}

.basemap-control-result-attribution {
  grid-column: 1 / -1;
}

.basemap-control-empty {
  padding: 18px 8px;
  color: #6b7280;
  text-align: center;
}

.basemap-control-results::-webkit-scrollbar {
  width: 6px;
}

.basemap-control-results::-webkit-scrollbar-track {
  background: transparent;
}

.basemap-control-results::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: #d1d5db;
}

@media (max-width: 420px) {
  .basemap-control-panel {
    width: calc(100vw - 24px) !important;
  }

  .basemap-control-filters {
    grid-template-columns: 1fr;
  }
}
.maplibre-gl-colorbar,.maplibre-gl-legend,.maplibre-gl-html-control{box-sizing:border-box;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.maplibre-gl-colorbar *,.maplibre-gl-legend *,.maplibre-gl-html-control *{box-sizing:border-box}.maplibregl-ctrl input,.maplibregl-ctrl select,.maplibregl-ctrl textarea{color:#000!important}.maplibregl-ctrl input::-moz-placeholder{color:#888!important}.maplibregl-ctrl input::placeholder{color:#888!important}.maplibre-gl-legend-content::-webkit-scrollbar{width:6px}.maplibre-gl-colorbar::-webkit-scrollbar{width:6px}.maplibre-gl-html-control::-webkit-scrollbar{width:6px}.maplibre-gl-legend-content::-webkit-scrollbar-track{background:0 0}.maplibre-gl-colorbar::-webkit-scrollbar-track{background:0 0}.maplibre-gl-html-control::-webkit-scrollbar-track{background:0 0}.maplibre-gl-legend-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.maplibre-gl-colorbar::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.maplibre-gl-html-control::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.maplibre-gl-legend-content::-webkit-scrollbar-thumb:hover{background:#aaa}.maplibre-gl-colorbar::-webkit-scrollbar-thumb:hover{background:#aaa}.maplibre-gl-html-control::-webkit-scrollbar-thumb:hover{background:#aaa}.maplibre-gl-colorbar{background:#ffffffe6;border-radius:4px;padding:8px;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-colorbar-label{text-align:center;font-weight:600}.maplibre-gl-colorbar-bar-wrapper{align-items:stretch;display:flex}.maplibre-gl-colorbar-bar{border:1px solid #0003;border-radius:2px}.maplibre-gl-colorbar-ticks{justify-content:space-between;display:flex}.maplibre-gl-colorbar-tick{white-space:nowrap}.maplibre-gl-colorbar.horizontal,.maplibre-gl-colorbar.horizontal .maplibre-gl-colorbar-bar-wrapper{flex-direction:column}.maplibre-gl-colorbar.horizontal .maplibre-gl-colorbar-ticks{flex-direction:row;margin-top:4px}.maplibre-gl-colorbar.vertical,.maplibre-gl-colorbar.vertical .maplibre-gl-colorbar-bar-wrapper{flex-direction:row}.maplibre-gl-colorbar.vertical .maplibre-gl-colorbar-ticks{flex-direction:column-reverse;margin-left:4px}.maplibre-gl-colorbar.vertical .maplibre-gl-colorbar-label{writing-mode:vertical-rl;transform:rotate(180deg)}.maplibre-gl-legend{background:#ffffffe6;border-radius:4px;padding:10px;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-legend-header{justify-content:space-between;align-items:center;margin:0;display:flex}.maplibre-gl-legend-title{font-weight:600}.maplibre-gl-legend-toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibre-gl-legend-content{overflow-y:auto}.maplibre-gl-legend-item{align-items:center;gap:8px;padding:4px 0;display:flex}.maplibre-gl-legend-swatch{flex-shrink:0;display:inline-block}.maplibre-gl-legend-swatch-square{border-radius:2px}.maplibre-gl-legend-swatch-circle{border-radius:50%}.maplibre-gl-legend-swatch-line{border-radius:0}.maplibre-gl-legend-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.maplibre-gl-html-control{background:#ffffffe6;border-radius:4px;padding:10px;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-html-control-content{overflow:hidden}.maplibre-gl-html-control-content h1,.maplibre-gl-html-control-content h2,.maplibre-gl-html-control-content h3,.maplibre-gl-html-control-content h4{margin-top:0;margin-bottom:8px;font-weight:600}.maplibre-gl-html-control-content p{margin-top:0;margin-bottom:8px}.maplibre-gl-html-control-content p:last-child{margin-bottom:0}.maplibre-gl-html-control-content ul,.maplibre-gl-html-control-content ol{margin-top:0;margin-bottom:8px;padding-left:20px}.maplibre-gl-html-control-content a{color:#4a90d9;text-decoration:none}.maplibre-gl-html-control-content a:hover{text-decoration:underline}.maplibre-gl-html-control-content img{max-width:100%;height:auto}.maplibre-gl-html-control-content table{border-collapse:collapse;width:100%}.maplibre-gl-html-control-content th,.maplibre-gl-html-control-content td{text-align:left;border:1px solid #ddd;padding:4px 8px}.maplibre-gl-html-control-content th{background-color:#f5f5f5;font-weight:600}.maplibre-gl-basemap{background:#ffffffe6;border-radius:4px;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-basemap-icon-button{cursor:pointer;color:#333;background:0 0;border:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s;display:flex}.maplibre-gl-basemap-icon-button:hover{color:#0078d7}.maplibre-gl-basemap-header{-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.maplibre-gl-basemap-title{font-weight:600}.maplibre-gl-basemap-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:background-color .15s,color .15s;display:flex}.maplibre-gl-basemap-close:hover{color:#333;background:#0000001a}.maplibre-gl-basemap-content{overflow-y:auto}.maplibre-gl-basemap-search{width:100%;font-size:inherit;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;outline:none;padding:6px 10px}.maplibre-gl-basemap-search:focus{border-color:#0078d7;box-shadow:0 0 0 2px #0078d733}.maplibre-gl-basemap-list{margin:0;padding:0;list-style:none}.maplibre-gl-basemap-group{color:#666;border-top:1px solid #eee;padding:8px 0 4px;font-size:.9em;font-weight:600}.maplibre-gl-basemap-group:first-child{border-top:none;padding-top:0}.maplibre-gl-basemap-item{cursor:pointer;border-radius:4px;align-items:center;padding:6px 8px;transition:background-color .15s;display:flex}.maplibre-gl-basemap-item:hover{background:#0000000d}.maplibre-gl-basemap-item--selected{background:#0078d71a}.maplibre-gl-basemap-item--selected:hover{background:#0078d726}.maplibre-gl-basemap-item-radio{cursor:pointer;margin-right:8px}.maplibre-gl-basemap-gallery{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;display:grid}.maplibre-gl-basemap-gallery-item{cursor:pointer;border-radius:4px;flex-direction:column;align-items:center;padding:4px;transition:background-color .15s;display:flex}.maplibre-gl-basemap-gallery-item:hover{background:#0000000d}.maplibre-gl-basemap-gallery-item--selected{background:#0078d71a;outline:2px solid #0078d7}.maplibre-gl-basemap-thumbnail{-o-object-fit:cover;object-fit:cover;background-color:#f0f0f0;background-position:50%;background-size:cover;border:1px solid #0000001a;border-radius:4px;width:60px;height:60px}.maplibre-gl-basemap-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:70px;margin-top:4px;font-size:.75em;overflow:hidden}.maplibre-gl-basemap-dropdown{position:relative}.maplibre-gl-basemap-dropdown-button{cursor:pointer;width:100%;font-size:inherit;text-align:left;background:#fff;border:1px solid #ddd;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;font-family:inherit;display:flex}.maplibre-gl-basemap-dropdown-button:hover{border-color:#ccc}.maplibre-gl-basemap-dropdown-button:focus{border-color:#0078d7;outline:none;box-shadow:0 0 0 2px #0078d733}.maplibre-gl-basemap-dropdown-menu{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.maplibre-gl-basemap-loading{text-align:center;color:#666;padding:20px}.maplibre-gl-basemap-error{color:#d32f2f;padding:10px;font-size:.9em}.maplibre-gl-basemap-apikey-badge{color:#fff;background:#ff9800;border-radius:3px;margin-left:4px;padding:2px 6px;font-size:.7em}.maplibre-gl-basemap-dropdown-menu::-webkit-scrollbar{width:6px}.maplibre-gl-basemap-list::-webkit-scrollbar{width:6px}.maplibre-gl-basemap-gallery::-webkit-scrollbar{width:6px}.maplibre-gl-basemap-dropdown-menu::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.maplibre-gl-basemap-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.maplibre-gl-basemap-gallery::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.maplibre-gl-basemap-dropdown-menu::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.maplibre-gl-basemap-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.maplibre-gl-basemap-gallery::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.maplibre-gl-basemap-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.maplibre-gl-basemap-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.maplibre-gl-basemap-gallery::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.maplibre-gl-terrain{box-sizing:border-box;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.maplibre-gl-terrain *{box-sizing:border-box}.maplibre-gl-terrain-button{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-terrain-button:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-terrain-button:focus{outline:none;box-shadow:0 0 0 2px #0078d766}.maplibre-gl-terrain-button:focus:not(:focus-visible){box-shadow:none}.maplibre-gl-terrain-button--active{color:#0078d7;background:#0078d726}.maplibre-gl-terrain-button--active:hover{background:#0078d740}.maplibre-gl-terrain-button svg{flex-shrink:0;width:18px;height:18px}.maplibre-gl-search{background:#fffffff2;border-radius:4px;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-search-toggle{transition:color .15s}.maplibre-gl-search-toggle:hover{color:#0078d7!important}.maplibre-gl-search-input-wrapper{border-bottom:none}.maplibre-gl-search-input::-moz-placeholder{color:#999}.maplibre-gl-search-input::placeholder{color:#999}.maplibre-gl-search-input:focus{outline:none}.maplibre-gl-search-clear:hover,.maplibre-gl-search-collapse:hover{color:#333!important}.maplibre-gl-search-loader svg{animation:1s linear infinite maplibre-gl-search-spin}@keyframes maplibre-gl-search-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.maplibre-gl-search-results{scrollbar-width:thin;scrollbar-color:#0003 transparent}.maplibre-gl-search-results::-webkit-scrollbar{width:6px}.maplibre-gl-search-results::-webkit-scrollbar-track{background:0 0}.maplibre-gl-search-results::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.maplibre-gl-search-result{border-bottom:1px solid #0000000d}.maplibre-gl-search-result:last-child{border-bottom:none}.maplibre-gl-search-result:hover .maplibre-gl-search-result-name{color:#0078d7}.maplibre-gl-search-marker{justify-content:center;align-items:center;display:flex}.maplibre-gl-search-marker svg{filter:drop-shadow(0 2px 4px #0000004d);transition:transform .15s}.maplibre-gl-search-marker:hover svg{transform:scale(1.1)}@media (prefers-color-scheme:dark){.maplibre-gl-search{color:#e0e0e0;background:#282828f2}.maplibre-gl-search-input{color:#e0e0e0}.maplibre-gl-search-input::-moz-placeholder{color:#888}.maplibre-gl-search-input::placeholder{color:#888}.maplibre-gl-search-icon,.maplibre-gl-search-clear,.maplibre-gl-search-collapse,.maplibre-gl-search-toggle{color:#aaa!important}.maplibre-gl-search-result-detail{color:#999!important}.maplibre-gl-search-result:hover{background-color:#ffffff14!important}}.maplibre-gl-vector-dataset{box-sizing:border-box;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.maplibre-gl-vector-dataset *{box-sizing:border-box}.maplibre-gl-vector-dataset-button{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-vector-dataset-button:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-vector-dataset-button:focus{outline:none;box-shadow:0 0 0 2px #0078d766}.maplibre-gl-vector-dataset-button:focus:not(:focus-visible){box-shadow:none}.maplibre-gl-vector-dataset-button:disabled{cursor:not-allowed;opacity:.6}.maplibre-gl-vector-dataset-button--loading{animation:1s ease-in-out infinite vector-dataset-pulse}@keyframes vector-dataset-pulse{0%,to{opacity:1}50%{opacity:.5}}.maplibre-gl-vector-dataset-button svg{flex-shrink:0;width:18px;height:18px}.maplibre-gl-vector-dataset-dropzone{z-index:1000;pointer-events:none;background:#0078d726;border:3px dashed #0078d7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.maplibre-gl-vector-dataset-dropzone-content{background:#fffffff2;border-radius:8px;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex;box-shadow:0 4px 12px #00000026}.maplibre-gl-vector-dataset-dropzone-content svg{color:#0078d7}.maplibre-gl-vector-dataset-dropzone-content p{color:#333;margin:0;font-size:16px;font-weight:500}.maplibre-gl-vector-dataset-loading{z-index:1001;pointer-events:none;background:#ffffffd9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.maplibre-gl-vector-dataset-loading-content{background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:16px;padding:32px 48px;display:flex;box-shadow:0 4px 20px #00000026}.maplibre-gl-vector-dataset-spinner{border:3px solid #e0e0e0;border-top-color:#0078d7;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite vector-dataset-spin}@keyframes vector-dataset-spin{to{transform:rotate(360deg)}}.maplibre-gl-vector-dataset-loading-text{color:#333;text-align:center;margin:0;font-size:14px;font-weight:500}.maplibre-gl-vector-dataset-loading-progress{color:#666;text-align:center;margin:0;font-size:12px}.maplibre-gl-inspect{box-sizing:border-box;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.maplibre-gl-inspect *{box-sizing:border-box}.maplibre-gl-inspect-button{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-inspect-button:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-inspect-button--active{color:#0078d7;background:#0078d726}.maplibre-gl-inspect-button--active:hover{background:#0078d740}.maplibre-gl-inspect-popup .maplibregl-popup-content{color:#333;border-radius:4px;padding:0;font-size:13px;overflow:hidden}.maplibre-gl-inspect-popup .maplibregl-popup-close-button{color:#666;padding:4px 8px;font-size:18px;top:4px;right:4px}.maplibre-gl-inspect-popup .maplibregl-popup-close-button:hover{color:#333;background:#0000000d;border-radius:4px}.maplibre-gl-inspect-header{background:#0000000a;border-bottom:1px solid #00000014;align-items:center;gap:8px;padding:8px 32px 8px 12px;font-size:11px;display:flex}.maplibre-gl-inspect-geometry{color:#fff;text-transform:uppercase;background:#0078d7;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:500}.maplibre-gl-inspect-layer{color:#666;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.maplibre-gl-inspect-nav{flex-shrink:0;align-items:center;gap:4px;display:flex}.maplibre-gl-inspect-nav button{color:#666;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:12px;font-weight:700;display:flex}.maplibre-gl-inspect-nav button:hover:not(:disabled){color:#333;background:#00000014}.maplibre-gl-inspect-nav button:disabled{opacity:.4;cursor:not-allowed}.maplibre-gl-inspect-nav-count{color:#666;text-align:center;min-width:32px;font-size:11px}.maplibre-gl-inspect-content{padding:8px 12px;overflow-y:auto}.maplibre-gl-inspect-properties{border-collapse:collapse;width:100%}.maplibre-gl-inspect-properties tr{border-bottom:1px solid #0000000d}.maplibre-gl-inspect-properties tr:last-child{border-bottom:none}.maplibre-gl-inspect-properties td{vertical-align:top;padding:4px 0}.maplibre-gl-inspect-properties td.key{color:#666;white-space:nowrap;width:1%;padding-right:12px;font-weight:500}.maplibre-gl-inspect-properties td.value{color:#333;word-break:break-word}.maplibre-gl-inspect-properties td.value.null{color:#999;font-style:italic}.maplibre-gl-inspect-properties td.value pre{white-space:pre-wrap;word-break:break-word;background:#0000000a;border-radius:3px;margin:0;padding:4px 6px;font-size:11px;overflow-x:auto}.maplibre-gl-inspect-empty{text-align:center;color:#999;padding:12px;font-style:italic}.maplibre-gl-inspect-content::-webkit-scrollbar{width:6px}.maplibre-gl-inspect-content::-webkit-scrollbar-track{background:0 0}.maplibre-gl-inspect-content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.maplibre-gl-inspect-content::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.maplibre-gl-view-state{box-sizing:border-box;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.maplibre-gl-view-state *{box-sizing:border-box}.maplibre-gl-view-state-button{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-view-state-button:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-view-state-button:focus{outline:none;box-shadow:0 0 0 2px #0078d766}.maplibre-gl-view-state-button:focus:not(:focus-visible){box-shadow:none}.maplibre-gl-view-state-button--active{color:#0078d7;background:#0078d726}.maplibre-gl-view-state-button--active:hover{background:#0078d740}.maplibre-gl-view-state-button svg{flex-shrink:0;width:18px;height:18px}.maplibre-gl-view-state-panel{z-index:10;color:#333;background:#fffffff2;border-radius:4px;min-width:240px;padding:4px 0;font-size:12px;display:none;position:absolute;box-shadow:0 2px 8px #00000026}.maplibre-gl-view-state-panel--visible{display:block}.maplibregl-ctrl-bottom-left .maplibre-gl-view-state-panel,.maplibregl-ctrl-bottom-right .maplibre-gl-view-state-panel{margin-bottom:4px;bottom:100%}.maplibregl-ctrl-top-left .maplibre-gl-view-state-panel,.maplibregl-ctrl-top-right .maplibre-gl-view-state-panel{margin-top:4px;top:100%}.maplibregl-ctrl-top-left .maplibre-gl-view-state-panel,.maplibregl-ctrl-bottom-left .maplibre-gl-view-state-panel{left:0}.maplibregl-ctrl-top-right .maplibre-gl-view-state-panel,.maplibregl-ctrl-bottom-right .maplibre-gl-view-state-panel{right:0}.maplibre-gl-view-state-header{color:#555;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;padding:2px 10px 4px;font-size:11px;font-weight:600;display:flex}.maplibre-gl-view-state-row{align-items:baseline;padding:2px 10px;display:flex}.maplibre-gl-view-state-row:hover{background:#00000008}.maplibre-gl-view-state-label{color:#666;flex-shrink:0;min-width:52px;font-size:11px;font-weight:500}.maplibre-gl-view-state-value{color:#333;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all;flex:1;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px}.maplibre-gl-view-state-copy{color:#999;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-view-state-copy:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-view-state-copy svg{width:12px;height:12px}.maplibre-gl-view-state-bbox-section{border-top:1px solid #00000014;margin-top:2px;padding-top:2px}.maplibre-gl-view-state-bbox-toggle{white-space:nowrap;color:#0078d7;cursor:pointer;background:0 0;border:1px solid #0078d74d;border-radius:3px;justify-content:center;align-items:center;gap:4px;width:calc(100% - 20px);margin:4px 10px;padding:4px 8px;font-size:11px;font-weight:500;transition:background-color .15s,border-color .15s;display:flex}.maplibre-gl-view-state-bbox-toggle:hover{background:#0078d714;border-color:#0078d780}.maplibre-gl-view-state-bbox-toggle--active{background:#0078d726;border-color:#0078d7}.maplibre-gl-view-state-bbox-toggle svg{width:12px;height:12px}.maplibre-gl-view-state-bbox-result{padding:4px 10px}.maplibre-gl-view-state-bbox-value{color:#333;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all;background:#0000000a;border-radius:3px;padding:4px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:10px;line-height:1.4}.maplibre-gl-view-state-bbox-actions{gap:4px;margin-top:4px;display:flex}.maplibre-gl-view-state-bbox-action{color:#666;cursor:pointer;background:#0000000f;border:none;border-radius:3px;align-items:center;gap:2px;padding:2px 6px;font-size:10px;transition:background-color .15s,color .15s;display:flex}.maplibre-gl-view-state-bbox-action:hover{color:#333;background:#0000001a}.maplibre-gl-view-state-bbox-action--clear:hover{color:#dc2626;background:#dc26261a}.maplibre-gl-view-state-bbox-action svg{width:10px;height:10px}.maplibre-gl-control-grid{color:#1a1a1a;background:#ffffffe6;border-radius:4px;padding:10px;position:relative;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-control-grid--collapsed{padding:0}.maplibre-gl-control-grid--collapsed .maplibre-gl-control-grid-content{display:none!important}.maplibre-gl-control-grid-header{-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#1a1a1a}.maplibre-gl-control-grid-title{color:#1a1a1a}.maplibre-gl-control-grid-toggle{color:#1a1a1a;transition:color .15s}.maplibre-gl-control-grid-toggle:hover{color:#0078d7}.maplibre-gl-control-grid-wrench{color:#1a1a1a;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.maplibre-gl-control-grid-wrench svg{flex-shrink:0;width:20px;height:20px}.maplibre-gl-control-grid-wrench:hover{color:#0078d7}.maplibre-gl-control-grid-content>*{min-width:0;min-height:0}.maplibre-gl-control-grid input[type=number]{font-size:inherit;color:#1a1a1a;background:#ffffffe6;border:1px solid #0003;border-radius:2px}.maplibre-gl-control-grid input[type=number]:focus{border-color:#0078d7;outline:none}.maplibre-gl-control-grid-floating-panel{z-index:10;margin-top:10px;position:absolute;top:100%;right:0}.maplibre-gl-control-grid-floating-panel>.maplibregl-ctrl{margin-top:0!important;margin-bottom:0!important}.maplibre-gl-control-grid-floating-panel .maplibre-gl-view-state-panel{margin-top:0!important;position:static!important;top:auto!important;right:auto!important}.maplibre-gl-control-grid-floating-panel .maplibre-gl-minimap-control .minimap-panel{margin-top:0;position:relative;bottom:auto;left:auto}.maplibre-gl-control-grid-floating-panel .maplibre-gl-minimap-control{margin-right:8px!important}.maplibre-gl-control-grid-relocated{z-index:auto!important;position:static!important;inset:auto!important}.maplibre-gl-control-grid-relocated.streetview-panel,.maplibre-gl-control-grid-relocated.pc-control-panel{flex-direction:column!important;display:flex!important}.maplibre-gl-control-grid-placeholder--active{outline-offset:-2px;cursor:pointer;border-radius:4px;outline:2px solid #0078d7}@media (hover:hover){.maplibregl-ctrl .pc-btn-primary:not(:disabled):hover{color:#fff;background-color:#006cbd}.maplibregl-ctrl .pc-nav-btn.active:not(:disabled):hover{color:#fff;background-color:#006cbd;border-color:#006cbd}.maplibregl-ctrl .maplibre-gl-choropleth-btn--primary:not(:disabled):hover{color:#fff;background-color:#006cbd}.maplibregl-ctrl .usgs-lidar-btn-primary:not(:disabled):hover{color:#fff;background-color:#3a7fc8}.maplibregl-ctrl .colorbar-gui-panel .colorbar-gui-add-btn:not(:disabled):hover,.maplibregl-ctrl .legend-gui-panel .legend-gui-add-btn:not(:disabled):hover,.maplibregl-ctrl .html-gui-panel .html-gui-add-btn:not(:disabled):hover,.maplibregl-ctrl .print-panel .print-export-btn:not(:disabled):hover{color:#fff;background-color:#2563eb}}@media (prefers-color-scheme:dark){.maplibre-gl-control-grid{color:#e0e0e0;background:#282828e6}.maplibre-gl-control-grid input[type=number]{color:#e0e0e0;background:#ffffff1a;border-color:#fff3}.maplibre-gl-control-grid-toggle:hover,.maplibre-gl-control-grid-wrench:hover{color:#58a6ff}.maplibre-gl-control-grid-wrench,.maplibre-gl-control-grid-title,.maplibre-gl-control-grid-toggle{color:#e8e8e8}.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-globe,.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-fullscreen,.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-compass,.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-terrain{color:#1a1a1a;background:#fff;border-color:#0003}.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon,.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon,.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon,.maplibre-gl-control-grid .maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{filter:none}.maplibre-gl-control-grid-placeholder--active{outline-color:#58a6ff}}.maplibre-gl-cog-layer-button{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-cog-layer-button:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-cog-layer-button--active{color:#0078d7;background:#0078d726}.maplibre-gl-cog-layer-panel{color:#333;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-width:260px;padding:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.maplibre-gl-cog-layer-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.maplibre-gl-cog-layer-title{color:#333;font-size:13px;font-weight:600}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-close{cursor:pointer;color:#666;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:16px;line-height:1;display:flex}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-close:hover{color:#333;background-color:#00000014}.maplibre-gl-cog-layer-form-group{margin-bottom:8px}.maplibre-gl-cog-layer-form-group label{color:#555;margin-bottom:3px;font-size:11px;font-weight:500;display:block}.maplibre-gl-cog-layer-input,.maplibre-gl-cog-layer-select{color:#333;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:3px;outline:none;width:100%;padding:5px 8px;font-size:12px;transition:border-color .15s}.maplibre-gl-cog-layer-input:focus,.maplibre-gl-cog-layer-select:focus{border-color:#0078d7}.maplibre-gl-cog-layer-input::-moz-placeholder{color:#999}.maplibre-gl-cog-layer-input::placeholder{color:#999}.maplibre-gl-cog-layer-row{gap:8px;display:flex}.maplibre-gl-cog-layer-row .maplibre-gl-cog-layer-form-group{flex:1}.maplibre-gl-cog-layer-slider-row{align-items:center;gap:8px;display:flex}.maplibre-gl-cog-layer-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ddd;border-radius:2px;outline:none;flex:1;height:4px}.maplibre-gl-cog-layer-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#0078d7;border-radius:50%;width:14px;height:14px}.maplibre-gl-cog-layer-slider::-moz-range-thumb{cursor:pointer;background:#0078d7;border:none;border-radius:50%;width:14px;height:14px}.maplibre-gl-cog-layer-slider-value{color:#666;text-align:right;min-width:32px;font-size:11px}.maplibre-gl-cog-layer-buttons{gap:6px;margin-top:10px;display:flex}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-btn{cursor:pointer;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:3px;flex:1;padding:6px 10px;font-size:12px;transition:background-color .15s,border-color .15s}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-btn:hover{color:#333;background-color:#f5f5f5;border-color:#bbb}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-btn.maplibre-gl-cog-layer-btn--primary{color:#fff;background-color:#0078d7;border-color:#0078d7}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-btn.maplibre-gl-cog-layer-btn--primary:hover{color:#fff;background-color:#006cbd;border-color:#006cbd}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-btn.maplibre-gl-cog-layer-btn--danger{color:#d32f2f;border-color:#d32f2f}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-btn.maplibre-gl-cog-layer-btn--danger:hover{color:#d32f2f;background-color:#fce4e4}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-cog-layer-status{word-break:break-word;border-radius:3px;margin-top:8px;padding:6px 8px;font-size:11px}.maplibre-gl-cog-layer-status--info{color:#1565c0;background:#e3f2fd}.maplibre-gl-cog-layer-status--error{color:#c62828;background:#fce4e4}.maplibre-gl-cog-layer-status--success{color:#2e7d32;background:#e8f5e9}.maplibre-gl-cog-layer-list{border-top:1px solid #e0e0e0;margin-top:10px;padding-top:8px}.maplibre-gl-cog-layer-list-header{color:#555;margin-bottom:4px;font-size:11px;font-weight:600}.maplibre-gl-cog-layer-list-item{justify-content:space-between;align-items:center;gap:6px;padding:4px 0;display:flex}.maplibre-gl-cog-layer-list-label{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-list-remove{cursor:pointer;color:#999;background-color:#0000;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:14px;line-height:1;display:flex}.maplibre-gl-cog-layer-panel .maplibre-gl-cog-layer-list-remove:hover{color:#d32f2f;background-color:#d32f2f1a}.maplibre-gl-cog-layer-colormap-preview{border:1px solid #ccc;border-radius:2px;height:12px;margin-top:4px}.maplibre-gl-cog-layer-checkbox-group{margin-top:12px}.maplibre-gl-cog-layer-checkbox-label{cursor:pointer;color:#333;align-items:center;gap:8px;font-size:12px;display:flex}.maplibre-gl-cog-layer-checkbox{cursor:pointer;accent-color:#0078d7;width:16px;height:16px}.maplibre-gl-cog-layer-popup{max-height:200px;overflow-y:auto}.maplibre-gl-cog-layer-popup-table{border-collapse:collapse;width:100%;font-size:12px}.maplibre-gl-cog-layer-popup-table td{vertical-align:top;border-bottom:1px solid #eee;padding:3px 8px}.maplibre-gl-cog-layer-popup-table tr:last-child td{border-bottom:none}.maplibre-gl-cog-layer-popup-table td:first-child{color:#555;white-space:nowrap;padding-right:12px}.maplibre-gl-cog-layer-popup-table td:last-child{color:#333}.maplibregl-popup{z-index:10!important}.maplibre-gl-zarr-layer-button{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-zarr-layer-button:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-zarr-layer-button--active{color:#0078d7;background:#0078d726}.maplibre-gl-zarr-layer-panel{color:#333;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-width:260px;padding:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.maplibre-gl-zarr-layer-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.maplibre-gl-zarr-layer-title{color:#333;font-size:13px;font-weight:600}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-close{cursor:pointer;color:#666;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:16px;line-height:1;display:flex}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-close:hover{color:#333;background-color:#00000014}.maplibre-gl-zarr-layer-form-group{margin-bottom:8px}.maplibre-gl-zarr-layer-form-group label{color:#555;margin-bottom:3px;font-size:11px;font-weight:500;display:block}.maplibre-gl-zarr-layer-input,.maplibre-gl-zarr-layer-select{color:#333;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:3px;outline:none;width:100%;padding:5px 8px;font-size:12px;transition:border-color .15s}.maplibre-gl-zarr-layer-input:focus,.maplibre-gl-zarr-layer-select:focus{border-color:#0078d7}.maplibre-gl-zarr-layer-input::-moz-placeholder{color:#999}.maplibre-gl-zarr-layer-input::placeholder{color:#999}.maplibre-gl-zarr-layer-row{gap:8px;display:flex}.maplibre-gl-zarr-layer-row .maplibre-gl-zarr-layer-form-group{flex:1}.maplibre-gl-zarr-layer-slider-row{align-items:center;gap:8px;display:flex}.maplibre-gl-zarr-layer-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ddd;border-radius:2px;outline:none;flex:1;height:4px}.maplibre-gl-zarr-layer-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#0078d7;border-radius:50%;width:14px;height:14px}.maplibre-gl-zarr-layer-slider::-moz-range-thumb{cursor:pointer;background:#0078d7;border:none;border-radius:50%;width:14px;height:14px}.maplibre-gl-zarr-layer-slider-value{color:#666;text-align:right;min-width:32px;font-size:11px}.maplibre-gl-zarr-layer-buttons{gap:6px;margin-top:10px;display:flex}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-btn{cursor:pointer;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:3px;flex:1;padding:6px 10px;font-size:12px;transition:background-color .15s,border-color .15s}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-btn:hover{color:#333;background-color:#f5f5f5;border-color:#bbb}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-btn.maplibre-gl-zarr-layer-btn--primary{color:#fff;background-color:#0078d7;border-color:#0078d7}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-btn.maplibre-gl-zarr-layer-btn--primary:hover{color:#fff;background-color:#006cbd;border-color:#006cbd}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-btn.maplibre-gl-zarr-layer-btn--danger{color:#d32f2f;border-color:#d32f2f}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-btn.maplibre-gl-zarr-layer-btn--danger:hover{color:#d32f2f;background-color:#fce4e4}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-zarr-layer-status{word-break:break-word;border-radius:3px;margin-top:8px;padding:6px 8px;font-size:11px}.maplibre-gl-zarr-layer-status--info{color:#1565c0;background:#e3f2fd}.maplibre-gl-zarr-layer-status--error{color:#c62828;background:#fce4e4}.maplibre-gl-zarr-layer-status--success{color:#2e7d32;background:#e8f5e9}.maplibre-gl-zarr-layer-list{border-top:1px solid #e0e0e0;margin-top:10px;padding-top:8px}.maplibre-gl-zarr-layer-list-header{color:#555;margin-bottom:4px;font-size:11px;font-weight:600}.maplibre-gl-zarr-layer-list-item{justify-content:space-between;align-items:center;gap:6px;padding:4px 0;display:flex}.maplibre-gl-zarr-layer-list-label{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-list-remove{cursor:pointer;color:#999;background-color:#0000;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:14px;line-height:1;display:flex}.maplibre-gl-zarr-layer-panel .maplibre-gl-zarr-layer-list-remove:hover{color:#d32f2f;background-color:#d32f2f1a}.maplibre-gl-zarr-layer-colormap-preview{border:1px solid #ccc;border-radius:2px;height:12px;margin-top:4px}.maplibre-gl-zarr-layer-checkbox-group{margin-top:12px}.maplibre-gl-zarr-layer-checkbox-label{cursor:pointer;color:#333;align-items:center;gap:8px;font-size:12px;display:flex}.maplibre-gl-zarr-layer-checkbox{cursor:pointer;accent-color:#0078d7;width:16px;height:16px}.maplibre-gl-zarr-layer-popup{max-height:200px;overflow-y:auto}.maplibre-gl-zarr-layer-popup-table{border-collapse:collapse;width:100%;font-size:12px}.maplibre-gl-zarr-layer-popup-table td{vertical-align:top;border-bottom:1px solid #eee;padding:3px 8px}.maplibre-gl-zarr-layer-popup-table tr:last-child td{border-bottom:none}.maplibre-gl-zarr-layer-popup-table td:first-child{color:#555;white-space:nowrap;padding-right:12px}.maplibre-gl-zarr-layer-popup-table td:last-child{color:#333}.maplibre-gl-pmtiles-layer-button{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s,background-color .15s;display:flex}.maplibre-gl-pmtiles-layer-button:hover{color:#0078d7;background:#0078d71a}.maplibre-gl-pmtiles-layer-button--active{color:#0078d7;background:#0078d726}.maplibre-gl-pmtiles-layer-panel{color:#333;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-width:260px;padding:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.maplibre-gl-pmtiles-layer-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.maplibre-gl-pmtiles-layer-title{color:#333;font-size:13px;font-weight:600}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-close{cursor:pointer;color:#666;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:16px;line-height:1;display:flex}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-close:hover{color:#333;background-color:#00000014}.maplibre-gl-pmtiles-layer-form-group{margin-bottom:8px}.maplibre-gl-pmtiles-layer-form-group label{color:#555;margin-bottom:3px;font-size:11px;font-weight:500;display:block}.maplibre-gl-pmtiles-layer-input,.maplibre-gl-pmtiles-layer-select{color:#333;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:3px;outline:none;width:100%;padding:5px 8px;font-size:12px;transition:border-color .15s}.maplibre-gl-pmtiles-layer-input:focus,.maplibre-gl-pmtiles-layer-select:focus{border-color:#0078d7}.maplibre-gl-pmtiles-layer-input::-moz-placeholder{color:#999}.maplibre-gl-pmtiles-layer-input::placeholder{color:#999}.maplibre-gl-pmtiles-layer-row{gap:8px;display:flex}.maplibre-gl-pmtiles-layer-row .maplibre-gl-pmtiles-layer-form-group{flex:1}.maplibre-gl-pmtiles-layer-slider-row{align-items:center;gap:8px;display:flex}.maplibre-gl-pmtiles-layer-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ddd;border-radius:2px;outline:none;flex:1;height:4px}.maplibre-gl-pmtiles-layer-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#0078d7;border-radius:50%;width:14px;height:14px}.maplibre-gl-pmtiles-layer-slider::-moz-range-thumb{cursor:pointer;background:#0078d7;border:none;border-radius:50%;width:14px;height:14px}.maplibre-gl-pmtiles-layer-slider-value{color:#666;text-align:right;min-width:32px;font-size:11px}.maplibre-gl-pmtiles-layer-buttons{gap:6px;margin-top:10px;display:flex}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-btn{cursor:pointer;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:3px;flex:1;padding:6px 10px;font-size:12px;transition:background-color .15s,border-color .15s}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-btn:hover{color:#333;background-color:#f5f5f5;border-color:#bbb}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-btn.maplibre-gl-pmtiles-layer-btn--primary{color:#fff;background-color:#0078d7;border-color:#0078d7}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-btn.maplibre-gl-pmtiles-layer-btn--primary:hover{color:#fff;background-color:#006cbd;border-color:#006cbd}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-btn.maplibre-gl-pmtiles-layer-btn--danger{color:#d32f2f;border-color:#d32f2f}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-btn.maplibre-gl-pmtiles-layer-btn--danger:hover{color:#d32f2f;background-color:#fce4e4}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-pmtiles-layer-status{word-break:break-word;border-radius:3px;margin-top:8px;padding:6px 8px;font-size:11px}.maplibre-gl-pmtiles-layer-status--info{color:#1565c0;background:#e3f2fd}.maplibre-gl-pmtiles-layer-status--error{color:#c62828;background:#fce4e4}.maplibre-gl-pmtiles-layer-status--success{color:#2e7d32;background:#e8f5e9}.maplibre-gl-pmtiles-layer-list{border-top:1px solid #e0e0e0;margin-top:10px;padding-top:8px}.maplibre-gl-pmtiles-layer-list-header{color:#555;margin-bottom:4px;font-size:11px;font-weight:600}.maplibre-gl-pmtiles-layer-list-item{justify-content:space-between;align-items:center;gap:6px;padding:4px 0;display:flex}.maplibre-gl-pmtiles-layer-list-label{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-list-remove{cursor:pointer;color:#999;background-color:#0000;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:14px;line-height:1;display:flex}.maplibre-gl-pmtiles-layer-panel .maplibre-gl-pmtiles-layer-list-remove:hover{color:#d32f2f;background-color:#d32f2f1a}.maplibre-gl-pmtiles-layer-info{color:#666;background:#f5f5f5;border-radius:3px;margin-top:8px;padding:6px 8px;font-size:11px}.maplibre-gl-pmtiles-layer-info-item{margin-bottom:2px}.maplibre-gl-pmtiles-layer-info-item:last-child{margin-bottom:0}.maplibre-gl-pmtiles-layer-badge{color:#1565c0;background:#e3f2fd;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:500;display:inline-block}.maplibre-gl-pmtiles-layer-badge--raster{color:#e65100;background:#fff3e0}.maplibre-gl-pmtiles-layer-color-input{cursor:pointer;border:1px solid #ccc;border-radius:3px;width:60px;height:26px;padding:2px}.maplibre-gl-pmtiles-popup{color:#333;max-width:300px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px}.maplibre-gl-pmtiles-popup-header{color:#111;text-transform:capitalize;background:#f0f0f0;border-bottom:1px solid #ddd;padding:6px 8px 4px;font-size:13px;font-weight:700}.maplibre-gl-pmtiles-popup-content{max-height:300px;overflow-y:auto}.maplibre-gl-pmtiles-popup-table{border-collapse:collapse;table-layout:fixed;background:#fff;width:100%}.maplibre-gl-pmtiles-popup-table tr{background:#fff}.maplibre-gl-pmtiles-popup-table tr:last-child td{border-bottom:none}.maplibre-gl-pmtiles-popup-key{color:#222;vertical-align:top;white-space:nowrap;border-bottom:1px solid #eee;width:40%;padding:4px 8px;font-weight:600}.maplibre-gl-pmtiles-popup-value{color:#444;word-break:break-word;overflow-wrap:break-word;border-bottom:1px solid #eee;width:60%;padding:4px 8px}.maplibre-gl-pmtiles-popup-empty{color:#999;padding:8px;font-style:italic}.maplibre-gl-add-vector{position:relative}.maplibre-gl-add-vector-button{cursor:pointer;color:#333;background:0 0;border:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s;display:flex}.maplibre-gl-add-vector-button:hover{color:#0078d7}.maplibre-gl-add-vector-button:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-add-vector-button--active{color:#0078d7}.maplibre-gl-add-vector-panel{min-width:280px;padding:12px}.maplibre-gl-add-vector-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.maplibre-gl-add-vector-title{color:#333;font-size:14px;font-weight:600}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-close{color:#666;cursor:pointer;background-color:#0000;border:none;padding:0 4px;font-size:18px;line-height:1}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-close:hover{color:#333;background-color:#0000}.maplibre-gl-add-vector-form-group{margin-bottom:12px}.maplibre-gl-add-vector-form-group>label{color:#555;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.maplibre-gl-add-vector-input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-add-vector-input:focus{border-color:#0078d7;outline:none}.maplibre-gl-add-vector-input::-moz-placeholder{color:#999}.maplibre-gl-add-vector-input::placeholder{color:#999}.maplibre-gl-add-vector-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 10px;font-size:12px}.maplibre-gl-add-vector-select:focus{border-color:#0078d7;outline:none}.maplibre-gl-add-vector-slider-row{align-items:center;gap:10px;display:flex}.maplibre-gl-add-vector-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:#ddd;border-radius:2px;flex:1;height:4px}.maplibre-gl-add-vector-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#0078d7;border-radius:50%;width:14px;height:14px}.maplibre-gl-add-vector-slider::-moz-range-thumb{cursor:pointer;background:#0078d7;border:none;border-radius:50%;width:14px;height:14px}.maplibre-gl-add-vector-slider-value{color:#666;text-align:right;min-width:36px;font-size:12px}.maplibre-gl-add-vector-checkbox-group{margin-top:12px}.maplibre-gl-add-vector-checkbox-label{cursor:pointer;color:#333;align-items:center;gap:8px;font-size:12px;display:flex}.maplibre-gl-add-vector-checkbox{cursor:pointer;accent-color:#0078d7;width:16px;height:16px}.maplibre-gl-add-vector-buttons{gap:8px;margin-top:16px;display:flex}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-btn{color:#333;cursor:pointer;background-color:#f8f8f8;border:1px solid #ddd;border-radius:4px;flex:1;padding:8px 16px;font-size:12px;font-weight:500;transition:all .15s}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-btn:hover:not(:disabled){color:#333;background-color:#e0e0e0}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-btn.maplibre-gl-add-vector-btn--primary{color:#fff;background-color:#0078d7;border-color:#0078d7}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-btn.maplibre-gl-add-vector-btn--primary:hover:not(:disabled){color:#fff;background-color:#006bc1;border-color:#006bc1}.maplibre-gl-add-vector-status{border-radius:4px;margin-top:12px;padding:8px 10px;font-size:11px}.maplibre-gl-add-vector-status--info{color:#1565c0;background:#e3f2fd}.maplibre-gl-add-vector-status--error{color:#c62828;background:#ffebee}.maplibre-gl-add-vector-status--success{color:#2e7d32;background:#e8f5e9}.maplibre-gl-add-vector-list{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:12px}.maplibre-gl-add-vector-list-header{color:#555;margin-bottom:8px;font-size:12px;font-weight:500}.maplibre-gl-add-vector-list-item{background:#f8f8f8;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 8px;font-size:11px;display:flex}.maplibre-gl-add-vector-list-label{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px;overflow:hidden}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-list-remove{color:#999;cursor:pointer;background-color:#0000;border:none;padding:2px 6px;font-size:14px;line-height:1}.maplibre-gl-add-vector-panel .maplibre-gl-add-vector-list-remove:hover{color:#c62828;background-color:#0000}.maplibre-gl-add-vector-badge{color:#1565c0;text-transform:uppercase;background:#e3f2fd;border-radius:3px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.maplibre-gl-add-vector-badge--parquet{color:#e65100;background:#fff3e0}.maplibre-gl-add-vector-badge--fgb{color:#2e7d32;background:#e8f5e9}.maplibre-gl-add-vector-format-hint{color:#888;margin-top:4px;font-size:10px}.maplibre-gl-add-vector-input-mode{border:1px solid #ddd;border-radius:4px;gap:0;margin-bottom:12px;display:flex;overflow:hidden}.maplibre-gl-add-vector-mode-btn{color:#666;cursor:pointer;background:#f8f8f8;border:none;flex:1;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.maplibre-gl-add-vector-mode-btn:not(:last-child){border-right:1px solid #ddd}.maplibre-gl-add-vector-mode-btn:not(.maplibre-gl-add-vector-mode-btn--active):hover{color:#333;background:#e0e0e0}.maplibre-gl-add-vector-mode-btn--active{color:#fff;background:#0078d7}.maplibre-gl-add-vector-mode-btn--active:hover{color:#fff;background:#006bc1}@media (hover:hover){.maplibregl-ctrl .maplibre-gl-add-vector-mode-btn--active:not(:disabled):hover{color:#fff;background-color:#006bc1}.maplibregl-ctrl .maplibre-gl-add-vector-mode-btn:not(.maplibre-gl-add-vector-mode-btn--active):not(:disabled):hover{color:#333;background-color:#e0e0e0}}.maplibre-gl-add-vector-textarea{box-sizing:border-box;resize:vertical;color:#000;border:1px solid #ddd;border-radius:4px;width:100%;min-height:100px;padding:8px 10px;font-family:monospace;font-size:12px;transition:border-color .15s}.maplibre-gl-add-vector-textarea:focus{border-color:#0078d7;outline:none}.maplibre-gl-add-vector-textarea::-moz-placeholder{color:#999;font-family:inherit}.maplibre-gl-add-vector-textarea::placeholder{color:#999;font-family:inherit}.maplibre-gl-add-vector-color-row{align-items:center;gap:8px;display:flex}.maplibre-gl-add-vector-color-input{cursor:pointer;border:1px solid #ddd;border-radius:4px;width:36px;height:28px;padding:0}.maplibre-gl-add-vector-color-input::-webkit-color-swatch-wrapper{padding:2px}.maplibre-gl-add-vector-color-input::-webkit-color-swatch{border:none;border-radius:2px}.maplibre-gl-add-vector-popup{max-height:300px;overflow-y:auto}.maplibre-gl-add-vector-popup-table{border-collapse:collapse;width:100%;font-size:12px}.maplibre-gl-add-vector-popup-table td{vertical-align:top;border-bottom:1px solid #eee;padding:4px 8px}.maplibre-gl-add-vector-popup-table tr:last-child td{border-bottom:none}.maplibre-gl-add-vector-popup-table td:first-child{color:#555;white-space:nowrap;padding-right:12px}.maplibre-gl-add-vector-popup-table td:last-child{color:#333;word-break:break-word}.maplibre-gl-add-vector-viewport-loading{color:#1565c0;background:#e3f2fd;border-radius:4px;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;font-size:11px;display:flex}.maplibre-gl-add-vector-spinner{border:2px solid #1565c0;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite maplibre-gl-add-vector-spin}@keyframes maplibre-gl-add-vector-spin{to{transform:rotate(360deg)}}.maplibre-gl-add-vector-badge--viewport{color:#3949ab;background:#e8eaf6}.maplibre-gl-add-vector-viewport-checkbox-group{border-top:1px dashed #e0e0e0;margin-top:8px;padding-top:8px}.maplibre-gl-add-vector-minzoom-input{border:1px solid #ddd;border-radius:4px;width:60px;margin-left:8px;padding:4px 6px;font-size:12px}.maplibre-gl-add-vector-minzoom-input:focus{border-color:#0078d7;outline:none}.maplibre-gl-choropleth{position:relative}.maplibre-gl-choropleth-button{cursor:pointer;color:#333;background:0 0;border:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s;display:flex}.maplibre-gl-choropleth-button:hover{color:#0078d7}.maplibre-gl-choropleth-button:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-choropleth-button--active{color:#0078d7}.maplibre-gl-choropleth-panel{min-width:300px;padding:12px}.maplibre-gl-choropleth-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.maplibre-gl-choropleth-title{color:#333;font-size:13px;font-weight:600}.maplibre-gl-choropleth-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;transition:background-color .15s,color .15s;display:flex}.maplibre-gl-choropleth-close:hover{color:#333;background-color:#f0f0f0}.maplibre-gl-choropleth-form-group{margin-bottom:10px}.maplibre-gl-choropleth-form-group label{color:#555;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.maplibre-gl-choropleth-input{box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:6px 8px;font-size:12px;transition:border-color .15s}.maplibre-gl-choropleth-input:focus{border-color:#0078d7;outline:none}.maplibre-gl-choropleth-select{box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:6px 8px;font-size:12px;transition:border-color .15s}.maplibre-gl-choropleth-select:focus{border-color:#0078d7;outline:none}.maplibre-gl-choropleth-slider-row{align-items:center;gap:8px;display:flex}.maplibre-gl-choropleth-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ddd;border-radius:2px;outline:none;flex:1;height:4px}.maplibre-gl-choropleth-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#0078d7;border-radius:50%;width:14px;height:14px}.maplibre-gl-choropleth-slider-value{color:#666;text-align:right;min-width:32px;font-size:11px}.maplibre-gl-choropleth-checkbox-group{align-items:center;display:flex}.maplibre-gl-choropleth-checkbox-label{color:#333;cursor:pointer;align-items:center;font-size:12px;display:flex}.maplibre-gl-choropleth-checkbox{margin-right:6px}.maplibre-gl-choropleth-buttons{gap:8px;margin-top:12px;display:flex}.maplibre-gl-choropleth-btn{cursor:pointer;color:#333;background:#fff;border:1px solid #ccc;border-radius:4px;flex:1;padding:7px 12px;font-size:12px;transition:background-color .15s,border-color .15s}.maplibre-gl-choropleth-btn:hover{background:#f5f5f5}.maplibre-gl-choropleth-btn--primary{color:#fff;background:#0078d7;border-color:#0078d7}.maplibre-gl-choropleth-btn--primary:hover{background:#006cbd}.maplibre-gl-choropleth-btn--danger{color:#d32f2f;background:#fff;border-color:#d32f2f}.maplibre-gl-choropleth-btn--danger:hover{background:#fef0f0}.maplibre-gl-choropleth-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-choropleth-status{border-radius:4px;margin-top:8px;padding:8px;font-size:11px;line-height:1.4}.maplibre-gl-choropleth-status--info{color:#1565c0;background:#e3f2fd}.maplibre-gl-choropleth-status--error{color:#d32f2f;background:#fef0f0}.maplibre-gl-choropleth-status--success{color:#2e7d32;background:#e8f5e9}.maplibre-gl-choropleth-color-row{align-items:center;gap:8px;display:flex}.maplibre-gl-choropleth-color-input{cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:4px;width:32px;height:32px;padding:1px}.maplibre-gl-choropleth-format-hint{color:#999;margin-top:3px;font-size:10px}.maplibre-gl-choropleth-colormap-preview{border:1px solid #ddd;border-radius:3px;height:16px;margin-top:4px}.maplibre-gl-choropleth-row{gap:8px;display:flex}.maplibre-gl-choropleth-row>*{flex:1}.maplibre-gl-choropleth-layer-list{border-top:1px solid #e0e0e0;margin-top:12px;padding-top:8px}.maplibre-gl-choropleth-layer-header{color:#555;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:11px;font-weight:600}.maplibre-gl-choropleth-layer-item{background:#f8f9fa;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 8px;font-size:12px;display:flex}.maplibre-gl-choropleth-layer-label{text-overflow:ellipsis;white-space:nowrap;color:#333;flex:1;overflow:hidden}.maplibre-gl-choropleth-layer-remove{cursor:pointer;color:#999;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;font-size:16px;transition:color .15s,background .15s;display:flex}.maplibre-gl-choropleth-layer-remove:hover{color:#d32f2f;background:#fef0f0}.maplibre-gl-choropleth-popup{max-height:200px;overflow-y:auto}.maplibre-gl-choropleth-popup-table{border-collapse:collapse;width:100%;font-size:11px}.maplibre-gl-choropleth-popup-table td{vertical-align:top;border-bottom:1px solid #eee;padding:2px 6px}.maplibre-gl-choropleth-popup-table td:first-child{white-space:nowrap;color:#555;text-overflow:ellipsis;max-width:120px;overflow:hidden}.maplibre-gl-choropleth-popup-table td:last-child{word-wrap:break-word;overflow-wrap:break-word;max-width:160px}.maplibre-gl-choropleth-legend{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;margin-top:10px;padding:8px}.maplibre-gl-choropleth-legend-title{color:#333;margin-bottom:6px;font-size:11px;font-weight:600}.maplibre-gl-choropleth-legend-item{color:#555;align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.maplibre-gl-choropleth-legend-swatch{border:1px solid #00000026;border-radius:2px;flex-shrink:0;width:14px;height:14px}.maplibre-gl-choropleth-section-title{color:#888;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid #eee;margin-top:12px;margin-bottom:6px;padding-top:8px;font-size:10px;font-weight:700}.maplibre-gl-stac-layer{position:relative}.maplibre-gl-stac-layer-button{cursor:pointer;color:#333;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-stac-layer-button:hover{background-color:#f3f4f6}.maplibre-gl-stac-layer-button--active{color:#0078d7}.maplibre-gl-stac-layer-panel{min-width:280px;padding:12px}.maplibre-gl-stac-layer-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.maplibre-gl-stac-layer-title{color:#333;font-size:14px;font-weight:600}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-close{color:#444;cursor:pointer;background-color:#0000;border:none;padding:0 4px;font-size:20px;line-height:1}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-close:hover{color:#333;background-color:#0000}.maplibre-gl-stac-layer-form-group{margin-bottom:12px}.maplibre-gl-stac-layer-form-group>label{color:#333;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.maplibre-gl-stac-layer-input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-stac-layer-input:focus{border-color:#0078d7;outline:none}.maplibre-gl-stac-layer-input::-moz-placeholder{color:#666}.maplibre-gl-stac-layer-input::placeholder{color:#666}.maplibre-gl-stac-layer-input--half{width:calc(50% - 4px)}.maplibre-gl-stac-layer-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 10px;font-size:12px}.maplibre-gl-stac-layer-select:focus{border-color:#0078d7;outline:none}.maplibre-gl-stac-layer-rescale-row{gap:8px;display:flex}.maplibre-gl-stac-layer-slider-row{align-items:center;gap:10px;display:flex}.maplibre-gl-stac-layer-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:#ddd;border-radius:2px;flex:1;height:4px}.maplibre-gl-stac-layer-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#0078d7;border-radius:50%;width:14px;height:14px}.maplibre-gl-stac-layer-slider::-moz-range-thumb{cursor:pointer;background:#0078d7;border:none;border-radius:50%;width:14px;height:14px}.maplibre-gl-stac-layer-slider-value{color:#444;text-align:right;min-width:36px;font-size:12px}.maplibre-gl-stac-layer-checkbox-group{margin-top:12px}.maplibre-gl-stac-layer-checkbox-label{cursor:pointer;color:#333;align-items:center;gap:8px;font-size:12px;display:flex}.maplibre-gl-stac-layer-checkbox{cursor:pointer;accent-color:#0078d7;width:16px;height:16px}.maplibre-gl-stac-layer-buttons{gap:8px;margin-top:16px;display:flex}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-btn{color:#333;cursor:pointer;background-color:#f8f8f8;border:1px solid #ddd;border-radius:4px;flex:1;padding:8px 16px;font-size:12px;font-weight:500;transition:all .15s}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-btn:hover:not(:disabled){color:#333;background-color:#e0e0e0}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-btn.maplibre-gl-stac-layer-btn--primary{color:#fff;background-color:#0078d7;border-color:#0078d7}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-btn.maplibre-gl-stac-layer-btn--primary:hover:not(:disabled){color:#fff;background-color:#006bc1;border-color:#006bc1}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-btn.maplibre-gl-stac-layer-btn--secondary{background-color:#f0f0f0;border-color:#ccc}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-btn.maplibre-gl-stac-layer-btn--secondary:hover:not(:disabled){color:#333;background-color:#e0e0e0}.maplibre-gl-stac-layer-status{border-radius:4px;margin-top:12px;padding:8px 10px;font-size:11px}.maplibre-gl-stac-layer-status--info{color:#1565c0;background:#e3f2fd}.maplibre-gl-stac-layer-status--error{color:#c62828;background:#ffebee}.maplibre-gl-stac-layer-status--success{color:#2e7d32;background:#e8f5e9}.maplibre-gl-stac-layer-info{color:#333;background:#f5f5f5;border-radius:4px;margin-top:12px;padding:10px;font-size:11px}.maplibre-gl-stac-layer-info-title{word-break:break-all;margin-bottom:4px}.maplibre-gl-stac-layer-colormap-preview{border:1px solid #ccc;border-radius:2px;height:12px;margin-top:4px}.maplibre-gl-stac-layer-list{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:12px}.maplibre-gl-stac-layer-list-header{color:#333;margin-bottom:8px;font-size:12px;font-weight:500}.maplibre-gl-stac-layer-list-item{background:#f8f8f8;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 8px;font-size:11px;display:flex}.maplibre-gl-stac-layer-list-label{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px;overflow:hidden}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-list-remove{cursor:pointer;color:#666;background-color:#0000;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:14px;line-height:1;display:flex}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-list-remove:hover{color:#d32f2f;background-color:#d32f2f1a}.maplibre-gl-stac-layer-popup{max-height:200px;overflow-y:auto}.maplibre-gl-stac-layer-popup-table{border-collapse:collapse;width:100%;font-size:12px}.maplibre-gl-stac-layer-popup-table td{vertical-align:top;border-bottom:1px solid #eee;padding:3px 8px}.maplibre-gl-stac-layer-popup-table tr:last-child td{border-bottom:none}.maplibre-gl-stac-layer-popup-table td:first-child{color:#333;white-space:nowrap;padding-right:12px}.maplibre-gl-stac-layer-popup-table td:last-child{color:#333}.maplibre-gl-stac-layer-mode-toggle{margin-bottom:12px}.maplibre-gl-stac-layer-mode-buttons{border:1px solid #ddd;border-radius:4px;gap:0;display:flex;overflow:hidden}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-mode-btn{color:#444;cursor:pointer;background-color:#f8f8f8;border:none;flex:1;padding:6px 12px;font-size:11px;font-weight:500;transition:all .15s}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-mode-btn:first-child{border-right:1px solid #ddd}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-mode-btn:hover{color:#333;background-color:#e8e8e8}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-mode-btn.maplibre-gl-stac-layer-mode-btn--active{color:#fff;background-color:#0078d7}.maplibre-gl-stac-layer-panel .maplibre-gl-stac-layer-mode-btn.maplibre-gl-stac-layer-mode-btn--active:hover{color:#fff;background-color:#006bc1}.maplibre-gl-stac-layer-rgb-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.maplibre-gl-stac-layer-rgb-row:last-child{margin-bottom:0}.maplibre-gl-stac-layer-rgb-label{min-width:40px;font-size:11px;font-weight:600}.maplibre-gl-stac-layer-rgb-select{flex:1}.maplibre-gl-stac-search{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 2px 8px #00000026}.maplibre-gl-stac-search-button{cursor:pointer;color:#333;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .2s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-stac-search-button:hover{color:#333;background:#f0f0f0}.maplibre-gl-stac-search-button--active{color:#0078d7}.maplibre-gl-stac-search-panel{max-height:500px;padding:12px;overflow-y:auto}.maplibre-gl-stac-search-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.maplibre-gl-stac-search-title{color:#333;font-size:14px;font-weight:600}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-close{cursor:pointer;color:#666;background-color:#0000;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:18px;line-height:1;display:flex}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-close:hover{color:#333;background-color:#f0f0f0}.maplibre-gl-stac-search-form-group{margin-bottom:12px}.maplibre-gl-stac-search-form-group>label{color:#333;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.maplibre-gl-stac-search-input{box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px 10px;font-size:13px;transition:border-color .2s;color:#1a1a1a!important}.maplibre-gl-stac-search-input:focus{border-color:#0078d7;outline:none}.maplibre-gl-stac-search-input--half{width:calc(50% - 4px)}.maplibre-gl-stac-search-select{box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px 10px;font-size:13px;transition:border-color .2s;color:#1a1a1a!important}.maplibre-gl-stac-search-select:focus{border-color:#0078d7;outline:none}.maplibre-gl-stac-search-select:disabled{color:#999;cursor:not-allowed;background:#f5f5f5}.maplibre-gl-stac-search-select--flex{flex:1;min-width:0}.maplibre-gl-stac-search-row{align-items:center;gap:8px;display:flex}.maplibre-gl-stac-search-custom-url-row{gap:8px;margin-top:8px;display:flex}.maplibre-gl-stac-search-custom-url-row .maplibre-gl-stac-search-input{flex:1}.maplibre-gl-stac-search-custom-url-row .maplibre-gl-stac-search-btn{flex-shrink:0}.maplibre-gl-stac-search-date-row,.maplibre-gl-stac-search-rescale-row{gap:8px;display:flex}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn{cursor:pointer;white-space:nowrap;border:1px solid #ccc;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn.maplibre-gl-stac-search-btn--primary{color:#fff;background-color:#0078d7;border-color:#0078d7;width:100%}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn.maplibre-gl-stac-search-btn--primary:hover:not(:disabled){color:#fff;background-color:#006bc1;border-color:#006bc1}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn.maplibre-gl-stac-search-btn--secondary{color:#333;background-color:#f0f0f0;border-color:#ccc}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn.maplibre-gl-stac-search-btn--secondary:hover:not(:disabled){color:#333;background-color:#e8e8e8}.maplibre-gl-stac-search-hint-row{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.maplibre-gl-stac-search-hint{color:#555;font-size:11px}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn-clear-footprints{color:#e65100;cursor:pointer;background-color:#fff3e0;border:1px solid #ffe0b2;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:500;transition:all .15s}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn-clear-footprints:hover{color:#e65100;background-color:#ffe0b2;border-color:#ffcc80}.maplibre-gl-stac-search-status{border-radius:4px;margin-bottom:10px;padding:8px 10px;font-size:12px}.maplibre-gl-stac-search-status--info{color:#1565c0;background:#e3f2fd}.maplibre-gl-stac-search-status--error{color:#c62828;background:#ffebee}.maplibre-gl-stac-search-status--success{color:#2e7d32;background:#e8f5e9}.maplibre-gl-stac-search-list{border-top:1px solid #e0e0e0;margin-top:12px;padding-top:12px}.maplibre-gl-stac-search-list-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.maplibre-gl-stac-search-list-header{color:#333;font-size:12px;font-weight:600}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn-clear{color:#c62828;cursor:pointer;background-color:#ffebee;border:1px solid #ffcdd2;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .15s}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn-clear:hover{color:#c62828;background-color:#ffcdd2;border-color:#ef9a9a}.maplibre-gl-stac-search-list-item{background:#f8f8f8;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 8px;display:flex}.maplibre-gl-stac-search-list-label{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-list-remove{cursor:pointer;color:#888;background-color:#0000;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:8px;padding:0;font-size:14px;display:flex}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-list-remove:hover{color:#c62828;background-color:#ffebee}.maplibre-gl-stac-search-mode-row{gap:8px;display:flex}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn--toggle{color:#666;background-color:#f5f5f5;border:1px solid #ddd;flex:1;padding:8px 12px;font-size:12px}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn--toggle:hover:not(:disabled){color:#666;background-color:#e8e8e8}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn--toggle.active{color:#fff;background-color:#0078d7;border-color:#0078d7}.maplibre-gl-stac-search-panel .maplibre-gl-stac-search-btn--toggle.active:hover:not(:disabled){color:#fff;background-color:#006bc1}.maplibre-gl-stac-search-rgb-row{gap:8px;display:flex}.maplibre-gl-stac-search-rgb-channel{flex:1;min-width:0}.maplibre-gl-stac-search-rgb-label{color:#333;text-align:center;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.maplibre-gl-stac-search-select--small{padding:6px 8px;font-size:12px}.maplibre-gl-measure-control{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.maplibre-gl-measure-control .measure-button{color:#333;cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-measure-control .measure-button:hover{background-color:#f3f4f6}.maplibre-gl-measure-control .measure-button.active{color:#fff;background-color:#3b82f6}.maplibre-gl-measure-control .measure-button svg{width:18px;height:18px}.maplibre-gl-measure-control .measure-panel{z-index:1;background:#fffffff2;border-radius:4px;position:absolute;top:0;overflow:hidden;box-shadow:0 2px 8px #00000026}.maplibre-gl-measure-control .measure-panel.left{right:calc(100% + 8px)}.maplibre-gl-measure-control .measure-panel.right{left:calc(100% + 8px)}.maplibre-gl-measure-control .measure-header{color:#374151;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.maplibre-gl-measure-control .measure-panel .measure-close{cursor:pointer;color:#6b7280;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .15s;display:flex}.maplibre-gl-measure-control .measure-panel .measure-close:hover{color:#374151;background-color:#f3f4f6}.maplibre-gl-measure-control .measure-close svg{width:14px;height:14px}.maplibre-gl-measure-control .measure-content{padding:10px}.maplibre-gl-measure-control .measure-mode-toggle{gap:4px;margin-bottom:10px;display:flex}.maplibre-gl-measure-control .measure-panel .mode-btn{cursor:pointer;color:#374151;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;transition:all .15s;display:flex}.maplibre-gl-measure-control .measure-panel .mode-btn:hover{color:#374151;background-color:#f9fafb;border-color:#d1d5db}.maplibre-gl-measure-control .measure-panel .mode-btn.active{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.maplibre-gl-measure-control .measure-panel .mode-btn.active:hover{color:#fff;background-color:#2563eb}.maplibre-gl-measure-control .mode-btn svg{width:16px;height:16px}.maplibre-gl-measure-control .measure-unit{margin-bottom:10px}.maplibre-gl-measure-control .measure-unit label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.maplibre-gl-measure-control .measure-unit select{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:100%;padding:6px 8px;font-size:12px;transition:border-color .15s}.maplibre-gl-measure-control .measure-unit select:hover{border-color:#d1d5db}.maplibre-gl-measure-control .measure-unit select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-measure-control .measure-result{background:#f9fafb;border-radius:4px;margin-bottom:10px;padding:10px}.maplibre-gl-measure-control .result-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:500}.maplibre-gl-measure-control .result-value{color:#1f2937;font-size:18px;font-weight:600}.maplibre-gl-measure-control .result-unit{color:#6b7280;margin-left:4px;font-size:12px;font-weight:400}.maplibre-gl-measure-control .measure-segments{border-top:1px dashed #e5e7eb;margin-top:8px;padding-top:8px}.maplibre-gl-measure-control .segment-label{color:#9ca3af;margin-bottom:4px;font-size:10px}.maplibre-gl-measure-control .segment-list{flex-wrap:wrap;gap:4px;display:flex}.maplibre-gl-measure-control .segment-item{color:#4b5563;background:#e5e7eb;border-radius:3px;padding:2px 6px;font-size:10px}.maplibre-gl-measure-control .measure-instructions{color:#92400e;background:#fef3c7;border-radius:4px;margin-bottom:10px;padding:8px 10px;font-size:11px}.maplibre-gl-measure-control .measure-actions{gap:6px;display:flex}.maplibre-gl-measure-control .measure-panel .action-btn{cursor:pointer;color:#374151;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 10px;font-size:12px;transition:all .15s;display:flex}.maplibre-gl-measure-control .measure-panel .action-btn:hover{color:#374151;background-color:#f9fafb;border-color:#d1d5db}.maplibre-gl-measure-control .measure-panel .action-btn.primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.maplibre-gl-measure-control .measure-panel .action-btn.primary:hover{color:#fff;background-color:#2563eb}.maplibre-gl-measure-control .measure-panel .action-btn.danger{color:#dc2626;border-color:#fecaca}.maplibre-gl-measure-control .measure-panel .action-btn.danger:hover{color:#dc2626;background-color:#fef2f2;border-color:#fca5a5}.maplibre-gl-measure-control .measure-panel .action-btn svg{width:14px;height:14px}.maplibre-gl-measure-control .measure-panel .action-btn:disabled{opacity:.5;cursor:not-allowed}.measure-label{color:#1f2937;white-space:nowrap;pointer-events:none;background:#fffffff2;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:500;box-shadow:0 1px 4px #00000026}.measure-label.total{color:#fff;background:#3b82f6;font-weight:600}.measure-label.segment{background:#ffffffd9;padding:2px 6px;font-size:10px}.maplibre-gl-measure-control .measurements-list{max-height:150px;margin-bottom:10px;overflow-y:auto}.maplibre-gl-measure-control .measurement-item{background:#f9fafb;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 8px;transition:background .15s;display:flex}.maplibre-gl-measure-control .measurement-item:hover{background:#f3f4f6}.maplibre-gl-measure-control .measurement-info{align-items:center;gap:6px;display:flex}.maplibre-gl-measure-control .measurement-icon{color:#6b7280}.maplibre-gl-measure-control .measurement-icon svg{width:14px;height:14px}.maplibre-gl-measure-control .measurement-value{color:#374151;font-size:12px;font-weight:500}.maplibre-gl-measure-control .measure-panel .measurement-delete{cursor:pointer;color:#9ca3af;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:all .15s;display:flex}.maplibre-gl-measure-control .measure-panel .measurement-delete:hover{color:#dc2626;background-color:#fef2f2}.maplibre-gl-measure-control .measurement-delete svg{width:12px;height:12px}.maplibre-gl-measure-control .empty-state{text-align:center;color:#9ca3af;padding:16px;font-size:12px}.maplibre-gl-bookmark-control{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.maplibre-gl-bookmark-control .bookmark-button{color:#333;cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-bookmark-control .bookmark-button:hover{background-color:#f3f4f6}.maplibre-gl-bookmark-control .bookmark-button.active{color:#fff;background-color:#3b82f6}.maplibre-gl-bookmark-control .bookmark-button svg{width:18px;height:18px}.maplibre-gl-bookmark-control .bookmark-panel{z-index:1;background:#fffffff2;border-radius:4px;position:absolute;top:0;overflow:hidden;box-shadow:0 2px 8px #00000026}.maplibre-gl-bookmark-control .bookmark-panel.left{right:calc(100% + 8px)}.maplibre-gl-bookmark-control .bookmark-panel.right{left:calc(100% + 8px)}.maplibre-gl-bookmark-control .bookmark-header{color:#374151;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-close{cursor:pointer;color:#6b7280;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .15s;display:flex}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-close:hover{color:#374151;background-color:#f3f4f6}.maplibre-gl-bookmark-control .bookmark-close svg{width:14px;height:14px}.maplibre-gl-bookmark-control .bookmark-content{padding:10px}.maplibre-gl-bookmark-control .bookmark-add-form{gap:6px;margin-bottom:10px;display:flex}.maplibre-gl-bookmark-control .bookmark-name-input{color:#374151;border:1px solid #e5e7eb;border-radius:4px;flex:1;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-bookmark-control .bookmark-name-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-bookmark-control .bookmark-name-input::-moz-placeholder{color:#9ca3af}.maplibre-gl-bookmark-control .bookmark-name-input::placeholder{color:#9ca3af}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-add-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background-color .15s;display:flex}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-add-btn:hover{color:#fff;background-color:#2563eb}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-add-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.maplibre-gl-bookmark-control .bookmark-add-btn svg{width:16px;height:16px}.maplibre-gl-bookmark-control .bookmark-list{max-height:250px;overflow-y:auto}.maplibre-gl-bookmark-control .bookmark-empty{text-align:center;color:#9ca3af;padding:20px;font-size:12px}.maplibre-gl-bookmark-control .bookmark-empty svg{opacity:.5;width:32px;height:32px;margin-bottom:8px}.maplibre-gl-bookmark-control .bookmark-item{cursor:pointer;border-radius:4px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;transition:background-color .15s;display:flex}.maplibre-gl-bookmark-control .bookmark-item:hover{background:#f3f4f6}.maplibre-gl-bookmark-control .bookmark-item.active{background:#eff6ff}.maplibre-gl-bookmark-control .bookmark-item:last-child{margin-bottom:0}.maplibre-gl-bookmark-control .bookmark-icon{color:#6b7280;background:#f3f4f6;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.maplibre-gl-bookmark-control .bookmark-icon svg{width:14px;height:14px}.maplibre-gl-bookmark-control .bookmark-info{flex:1;min-width:0}.maplibre-gl-bookmark-control .bookmark-name{color:#374151;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.maplibre-gl-bookmark-control .bookmark-meta{color:#9ca3af;margin-top:2px;font-size:10px}.maplibre-gl-bookmark-control .bookmark-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.maplibre-gl-bookmark-control .bookmark-item:hover .bookmark-actions{opacity:1}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-action-btn{cursor:pointer;color:#9ca3af;background-color:#0000;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .15s;display:flex}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-action-btn:hover{color:#374151;background-color:#e5e7eb}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-action-btn.delete:hover{color:#dc2626;background-color:#fef2f2}.maplibre-gl-bookmark-control .bookmark-action-btn svg{width:14px;height:14px}.maplibre-gl-bookmark-control .bookmark-footer{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.maplibre-gl-bookmark-control .bookmark-footer-actions{gap:4px;display:flex}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-import-btn,.maplibre-gl-bookmark-control .bookmark-panel .bookmark-export-btn{cursor:pointer;color:#4b5563;background-color:#0000;border:1px solid #d1d5db;border-radius:4px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;transition:all .15s;display:flex}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-import-btn:hover,.maplibre-gl-bookmark-control .bookmark-panel .bookmark-export-btn:hover{color:#4b5563;background-color:#f3f4f6;border-color:#9ca3af}.maplibre-gl-bookmark-control .bookmark-import-btn svg,.maplibre-gl-bookmark-control .bookmark-export-btn svg{width:12px;height:12px}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-clear-btn{cursor:pointer;color:#dc2626;background-color:#0000;border:1px solid #fecaca;border-radius:4px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;transition:all .15s;display:flex}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-clear-btn:hover{color:#dc2626;background-color:#fef2f2;border-color:#fca5a5}.maplibre-gl-bookmark-control .bookmark-panel .bookmark-clear-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-bookmark-control .bookmark-clear-btn svg{width:12px;height:12px}.maplibre-gl-bookmark-control .bookmark-thumbnail{-o-object-fit:cover;object-fit:cover;background:#f3f4f6;border-radius:3px;flex-shrink:0;width:40px;height:28px}.maplibre-gl-bookmark-control .bookmark-rename-input{color:#374151;border:1px solid #3b82f6;border-radius:3px;width:100%;padding:4px 6px;font-size:13px}.maplibre-gl-bookmark-control .bookmark-rename-input:focus{outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-print-control{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.maplibre-gl-print-control .print-button{color:#333;cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-print-control .print-button:hover{background-color:#f3f4f6}.maplibre-gl-print-control .print-button.active{color:#fff;background-color:#3b82f6}.maplibre-gl-print-control .print-button svg{width:18px;height:18px}.maplibre-gl-print-control .print-panel{z-index:1;background:#fffffff2;border-radius:4px;position:absolute;top:0;overflow:hidden;box-shadow:0 2px 8px #00000026}.maplibre-gl-print-control .print-panel.left{right:calc(100% + 8px)}.maplibre-gl-print-control .print-panel.right{left:calc(100% + 8px)}.maplibre-gl-print-control .print-header{color:#374151;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.maplibre-gl-print-control .print-panel .print-close{cursor:pointer;color:#6b7280;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .15s;display:flex}.maplibre-gl-print-control .print-panel .print-close:hover{color:#374151;background-color:#f3f4f6}.maplibre-gl-print-control .print-close svg{width:14px;height:14px}.maplibre-gl-print-control .print-content{padding:10px}.maplibre-gl-print-control .print-field{margin-bottom:10px}.maplibre-gl-print-control .print-field label{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.maplibre-gl-print-control .print-input{color:#374151;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:100%;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-print-control .print-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-print-control .print-input::-moz-placeholder{color:#9ca3af}.maplibre-gl-print-control .print-input::placeholder{color:#9ca3af}.maplibre-gl-print-control .print-row{gap:10px;display:flex}.maplibre-gl-print-control .print-row .print-field{flex:1}.maplibre-gl-print-control .print-select{color:#374151;box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:100%;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-print-control .print-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-print-control .print-quality-wrapper{align-items:center;gap:8px;display:flex}.maplibre-gl-print-control .print-quality-range{cursor:pointer;accent-color:#3b82f6;flex:1;height:4px}.maplibre-gl-print-control .print-quality-value{color:#6b7280;text-align:right;min-width:28px;font-size:11px}.maplibre-gl-print-control .print-size-options{gap:16px;margin-bottom:8px;display:flex}.maplibre-gl-print-control .print-radio-label{color:#374151;cursor:pointer;text-transform:none;letter-spacing:normal;align-items:center;gap:4px;font-size:12px;font-weight:400;display:flex}.maplibre-gl-print-control .print-radio-label input[type=radio]{accent-color:#3b82f6}.maplibre-gl-print-control .print-checkbox-label{color:#374151;text-transform:none;letter-spacing:normal;cursor:pointer;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:400;display:flex}.maplibre-gl-print-control .print-checkbox-label:last-child{margin-bottom:0}.maplibre-gl-print-control .print-checkbox-label input[type=checkbox]{accent-color:#3b82f6}.maplibre-gl-print-control .print-custom-size{gap:8px;display:flex}.maplibre-gl-print-control .print-size-group{flex:1}.maplibre-gl-print-control .print-size-label{color:#9ca3af;text-transform:none;letter-spacing:normal;margin-bottom:2px;font-size:10px;font-weight:400;display:block}.maplibre-gl-print-control .print-size-input{color:#374151;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:100%;padding:6px 8px;font-size:12px}.maplibre-gl-print-control .print-size-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-print-control .print-panel .print-export-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;justify-content:center;align-items:center;gap:6px;width:100%;margin-bottom:6px;padding:10px;font-size:13px;font-weight:600;transition:background-color .15s;display:flex}.maplibre-gl-print-control .print-panel .print-export-btn:hover{color:#fff;background-color:#2563eb}.maplibre-gl-print-control .print-panel .print-export-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.maplibre-gl-print-control .print-export-btn svg{width:16px;height:16px}.maplibre-gl-print-control .print-panel .print-copy-btn{color:#4b5563;cursor:pointer;background-color:#0000;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-size:12px;transition:all .15s;display:flex}.maplibre-gl-print-control .print-panel .print-copy-btn:hover{color:#4b5563;background-color:#f3f4f6;border-color:#9ca3af}.maplibre-gl-print-control .print-panel .print-copy-btn:disabled{opacity:.5;cursor:not-allowed}.maplibre-gl-print-control .print-copy-btn svg{width:14px;height:14px}.maplibre-gl-print-control .print-feedback{text-align:center;color:#16a34a;opacity:0;padding:4px 0 0;font-size:12px;font-weight:600;transition:opacity .3s}.maplibre-gl-print-control .print-feedback.visible{opacity:1}.maplibre-gl-print-control .print-colorbar-settings{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;margin-top:8px;padding:8px}.maplibre-gl-print-control .print-colorbar-settings>label{margin-bottom:8px}.maplibre-gl-print-control .print-colorbar-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.maplibre-gl-print-control .print-colorbar-row:last-child{margin-bottom:0}.maplibre-gl-print-control .print-colorbar-sublabel{color:#6b7280;min-width:36px;font-size:11px}.maplibre-gl-print-control .print-colorbar-select{flex:1;padding:6px 8px}.maplibre-gl-print-control .print-colorbar-num{flex:none;width:70px;padding:6px 8px}.maplibre-gl-print-control .print-colorbar-units{flex:none;width:60px;padding:6px 8px}.maplibre-gl-minimap-control{position:relative}.maplibre-gl-minimap-control .minimap-button{color:#333;cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-minimap-control .minimap-button:hover{background:#f0f0f0}.maplibre-gl-minimap-control .minimap-button svg{width:18px;height:18px}.maplibre-gl-minimap-control .minimap-panel{background:#fff;border:2px solid #0000001a;border-radius:4px;position:absolute;bottom:36px;left:0;overflow:hidden;box-shadow:0 2px 8px #0003}.maplibre-gl-minimap-control .minimap-map{width:100%;height:100%;overflow:hidden}.maplibre-gl-minimap-control .minimap-map .maplibregl-canvas{width:100%!important;height:100%!important}.maplibre-gl-colorbar-gui-control{--maplibre-gl-gui-border-color:#e5e7eb;--maplibre-gl-gui-focus-color:#3b82f6;--maplibre-gl-gui-input-background:#fff;--maplibre-gl-gui-input-color:#374151;--maplibre-gl-gui-muted-color:currentColor;--maplibre-gl-gui-placeholder-color:#9ca3af;--maplibre-gl-gui-hover-background:#f3f4f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.maplibre-gl-colorbar-gui-control .colorbar-gui-button{cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-colorbar-gui-control .colorbar-gui-button:hover{background-color:#f3f4f6}.maplibre-gl-colorbar-gui-control .colorbar-gui-button.active{color:#fff;background-color:#3b82f6}.maplibre-gl-colorbar-gui-control .colorbar-gui-button.active:hover{color:#fff;background-color:#2563eb}.maplibre-gl-colorbar-gui-control .colorbar-gui-button svg{width:18px;height:18px}.maplibre-gl-colorbar-gui-control .colorbar-gui-panel{z-index:1;background:#fffffff2;border-radius:4px;position:absolute;top:0;overflow:hidden;box-shadow:0 2px 8px #00000026}.maplibre-gl-colorbar-gui-control .colorbar-gui-panel.left{right:calc(100% + 8px)}.maplibre-gl-colorbar-gui-control .colorbar-gui-panel.right{left:calc(100% + 8px)}.maplibre-gl-colorbar-gui-control .colorbar-gui-header{border-bottom:1px solid var(--maplibre-gl-gui-border-color);color:inherit;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.maplibre-gl-colorbar-gui-control .colorbar-gui-close{cursor:pointer;width:20px;height:20px;color:var(--maplibre-gl-gui-muted-color);background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.maplibre-gl-colorbar-gui-control .colorbar-gui-close:hover{background-color:var(--maplibre-gl-gui-hover-background);color:inherit}.maplibre-gl-colorbar-gui-control .colorbar-gui-close svg{width:14px;height:14px}.maplibre-gl-colorbar-gui-control .colorbar-gui-content{padding:10px}.maplibre-gl-colorbar-gui-control .colorbar-gui-field{margin-bottom:10px}.maplibre-gl-colorbar-gui-control .colorbar-gui-field label{color:var(--maplibre-gl-gui-muted-color);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.maplibre-gl-colorbar-gui-control .colorbar-gui-input{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-colorbar-gui-control .colorbar-gui-input:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-colorbar-gui-control .colorbar-gui-input::-moz-placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-colorbar-gui-control .colorbar-gui-input::placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-colorbar-gui-control .colorbar-gui-input[type=number]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;height:36px;padding-top:7px;padding-bottom:7px;padding-right:6px;line-height:20px}.maplibre-gl-colorbar-gui-control .colorbar-gui-input[type=number]::-webkit-inner-spin-button{opacity:1;width:18px;height:28px;margin:0}.maplibre-gl-colorbar-gui-control .colorbar-gui-input[type=number]::-webkit-outer-spin-button{opacity:1;width:18px;height:28px;margin:0}.maplibre-gl-colorbar-gui-control .colorbar-gui-select{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;cursor:pointer;border-radius:4px;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-colorbar-gui-control .colorbar-gui-select:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-colorbar-gui-control .colorbar-gui-row{gap:10px;display:flex}.maplibre-gl-colorbar-gui-control .colorbar-gui-row .colorbar-gui-field{flex:1}.maplibre-gl-colorbar-gui-control .colorbar-gui-preview{border:1px solid #00000026;border-radius:3px;height:16px;margin-bottom:10px}.maplibre-gl-colorbar-gui-control .colorbar-gui-mode-row{gap:12px;margin-bottom:10px;display:flex}.maplibre-gl-colorbar-gui-control .colorbar-gui-radio-label{color:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;align-items:center;gap:4px;font-size:12px;font-weight:400;display:flex}.maplibre-gl-colorbar-gui-control .colorbar-gui-radio-label input[type=radio]{accent-color:#3b82f6}.maplibre-gl-colorbar-gui-control .colorbar-gui-textarea{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;resize:vertical;border-radius:4px;min-height:50px;padding:8px 10px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:11px;transition:border-color .15s}.maplibre-gl-colorbar-gui-control .colorbar-gui-textarea:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-colorbar-gui-control .colorbar-gui-textarea::-moz-placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-colorbar-gui-control .colorbar-gui-textarea::placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-colorbar-gui-control .colorbar-gui-panel .colorbar-gui-add-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;margin-bottom:6px;padding:10px;font-size:13px;font-weight:600;transition:background-color .15s;display:flex}.maplibre-gl-colorbar-gui-control .colorbar-gui-panel .colorbar-gui-add-btn:hover{color:#fff;background-color:#2563eb}.maplibre-gl-colorbar-gui-control .colorbar-gui-panel .colorbar-gui-remove-btn{color:#dc2626;cursor:pointer;background-color:#0000;border:1px solid #fca5a5;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:8px;font-size:12px;transition:all .15s;display:flex}.maplibre-gl-colorbar-gui-control .colorbar-gui-panel .colorbar-gui-remove-btn:hover{background-color:#fef2f2;border-color:#ef4444}.maplibre-gl-legend-gui-control{--maplibre-gl-gui-border-color:#e5e7eb;--maplibre-gl-gui-focus-color:#3b82f6;--maplibre-gl-gui-input-background:#fff;--maplibre-gl-gui-input-color:#374151;--maplibre-gl-gui-muted-color:currentColor;--maplibre-gl-gui-placeholder-color:#9ca3af;--maplibre-gl-gui-hover-background:#f3f4f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.maplibre-gl-legend-gui-control .legend-gui-button{color:#333;cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-legend-gui-control .legend-gui-button:hover{background-color:#f3f4f6}.maplibre-gl-legend-gui-control .legend-gui-button.active{color:#fff;background-color:#3b82f6}.maplibre-gl-legend-gui-control .legend-gui-button.active:hover{color:#fff;background-color:#2563eb}.maplibre-gl-legend-gui-control .legend-gui-button svg{width:18px;height:18px}.maplibre-gl-legend-gui-control .legend-gui-panel{z-index:1;background:#fffffff2;border-radius:4px;position:absolute;top:0;overflow:hidden;box-shadow:0 2px 8px #00000026}.maplibre-gl-legend-gui-control .legend-gui-panel.left{right:calc(100% + 8px)}.maplibre-gl-legend-gui-control .legend-gui-panel.right{left:calc(100% + 8px)}.maplibre-gl-legend-gui-control .legend-gui-header{border-bottom:1px solid var(--maplibre-gl-gui-border-color);color:inherit;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.maplibre-gl-legend-gui-control .legend-gui-close{cursor:pointer;width:20px;height:20px;color:var(--maplibre-gl-gui-muted-color);background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.maplibre-gl-legend-gui-control .legend-gui-close:hover{background-color:var(--maplibre-gl-gui-hover-background);color:inherit}.maplibre-gl-legend-gui-control .legend-gui-close svg{width:14px;height:14px}.maplibre-gl-legend-gui-control .legend-gui-content{padding:10px}.maplibre-gl-legend-gui-control .legend-gui-field{margin-bottom:10px}.maplibre-gl-legend-gui-control .legend-gui-field label{color:var(--maplibre-gl-gui-muted-color);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.maplibre-gl-legend-gui-control .legend-gui-input{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-legend-gui-control .legend-gui-input:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-legend-gui-control .legend-gui-input::-moz-placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-legend-gui-control .legend-gui-input::placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-legend-gui-control .legend-gui-select{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;cursor:pointer;border-radius:4px;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-legend-gui-control .legend-gui-select:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-legend-gui-control .legend-gui-row{gap:10px;display:flex}.maplibre-gl-legend-gui-control .legend-gui-row .legend-gui-field{flex:1}.maplibre-gl-legend-gui-control .legend-gui-items-header{justify-content:space-between;align-items:center;display:flex}.maplibre-gl-legend-gui-control .legend-gui-add-item-btn{border:1px solid var(--maplibre-gl-gui-border-color);background:var(--maplibre-gl-gui-input-background);cursor:pointer;width:22px;height:22px;color:var(--maplibre-gl-gui-muted-color);border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.maplibre-gl-legend-gui-control .legend-gui-add-item-btn:hover{background-color:var(--maplibre-gl-gui-hover-background);border-color:var(--maplibre-gl-gui-focus-color);color:var(--maplibre-gl-gui-focus-color)}.maplibre-gl-legend-gui-control .legend-gui-add-item-btn svg{width:14px;height:14px}.maplibre-gl-legend-gui-control .legend-gui-items{margin-bottom:10px}.maplibre-gl-legend-gui-control .legend-gui-textarea{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;resize:vertical;border-radius:4px;min-height:60px;padding:8px 10px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:11px;transition:border-color .15s}.maplibre-gl-legend-gui-control .legend-gui-textarea:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-legend-gui-control .legend-gui-textarea::-moz-placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-legend-gui-control .legend-gui-textarea::placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-legend-gui-control .legend-gui-import-btn{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:inherit;cursor:pointer;background-color:#0000;border-radius:4px;justify-content:center;align-items:center;margin-top:6px;padding:6px;font-size:11px;transition:all .15s;display:flex}.maplibre-gl-legend-gui-control .legend-gui-import-btn:hover{background-color:var(--maplibre-gl-gui-hover-background);border-color:var(--maplibre-gl-gui-focus-color);color:var(--maplibre-gl-gui-focus-color)}.maplibre-gl-legend-gui-control .legend-gui-import-error{color:#dc2626;margin-top:4px;font-size:11px}.maplibre-gl-legend-gui-control .legend-gui-item-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.maplibre-gl-legend-gui-control .legend-gui-item-row:last-child{margin-bottom:0}.maplibre-gl-legend-gui-control .legend-gui-color-input{border:1px solid var(--maplibre-gl-gui-border-color);cursor:pointer;background:var(--maplibre-gl-gui-input-background);border-radius:4px;flex-shrink:0;width:32px;height:32px;padding:2px}.maplibre-gl-legend-gui-control .legend-gui-item-label{flex:1;min-width:0}.maplibre-gl-legend-gui-control .legend-gui-item-shape{flex:none;width:72px;padding:6px 4px}.maplibre-gl-legend-gui-control .legend-gui-delete-item-btn{cursor:pointer;width:24px;height:24px;color:var(--maplibre-gl-gui-muted-color);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.maplibre-gl-legend-gui-control .legend-gui-delete-item-btn:hover{color:#dc2626;background-color:#fef2f2}.maplibre-gl-legend-gui-control .legend-gui-delete-item-btn svg{width:14px;height:14px}.maplibre-gl-legend-gui-control .legend-gui-panel .legend-gui-add-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;margin-bottom:6px;padding:10px;font-size:13px;font-weight:600;transition:background-color .15s;display:flex}.maplibre-gl-legend-gui-control .legend-gui-panel .legend-gui-add-btn:hover{color:#fff;background-color:#2563eb}.maplibre-gl-legend-gui-control .legend-gui-panel .legend-gui-remove-btn{color:#dc2626;cursor:pointer;background-color:#0000;border:1px solid #fca5a5;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:8px;font-size:12px;transition:all .15s;display:flex}.maplibre-gl-legend-gui-control .legend-gui-panel .legend-gui-remove-btn:hover{background-color:#fef2f2;border-color:#ef4444}.maplibre-gl-html-gui-control{--maplibre-gl-gui-border-color:#e5e7eb;--maplibre-gl-gui-focus-color:#3b82f6;--maplibre-gl-gui-input-background:#fff;--maplibre-gl-gui-input-color:#374151;--maplibre-gl-gui-muted-color:currentColor;--maplibre-gl-gui-placeholder-color:#9ca3af;--maplibre-gl-gui-hover-background:#f3f4f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.maplibre-gl-html-gui-control .html-gui-button{color:#333;cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex;box-shadow:0 0 0 2px #0000001a}.maplibre-gl-html-gui-control .html-gui-button:hover{background-color:#f3f4f6}.maplibre-gl-html-gui-control .html-gui-button.active{color:#fff;background-color:#3b82f6}.maplibre-gl-html-gui-control .html-gui-button.active:hover{color:#fff;background-color:#2563eb}.maplibre-gl-html-gui-control .html-gui-button svg{width:18px;height:18px}.maplibre-gl-html-gui-control .html-gui-panel{z-index:1;background:#fffffff2;border-radius:4px;position:absolute;top:0;overflow:hidden;box-shadow:0 2px 8px #00000026}.maplibre-gl-html-gui-control .html-gui-panel.left{right:calc(100% + 8px)}.maplibre-gl-html-gui-control .html-gui-panel.right{left:calc(100% + 8px)}.maplibre-gl-html-gui-control .html-gui-header{border-bottom:1px solid var(--maplibre-gl-gui-border-color);color:inherit;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.maplibre-gl-html-gui-control .html-gui-close{cursor:pointer;width:20px;height:20px;color:var(--maplibre-gl-gui-muted-color);background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.maplibre-gl-html-gui-control .html-gui-close:hover{background-color:var(--maplibre-gl-gui-hover-background);color:inherit}.maplibre-gl-html-gui-control .html-gui-close svg{width:14px;height:14px}.maplibre-gl-html-gui-control .html-gui-content{padding:10px}.maplibre-gl-html-gui-control .html-gui-field{margin-bottom:10px}.maplibre-gl-html-gui-control .html-gui-field label{color:var(--maplibre-gl-gui-muted-color);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.maplibre-gl-html-gui-control .html-gui-input{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-html-gui-control .html-gui-input:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-html-gui-control .html-gui-input::-moz-placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-html-gui-control .html-gui-input::placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-html-gui-control .html-gui-select{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;cursor:pointer;border-radius:4px;padding:8px 10px;font-size:12px;transition:border-color .15s}.maplibre-gl-html-gui-control .html-gui-select:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-html-gui-control .html-gui-textarea{border:1px solid var(--maplibre-gl-gui-border-color);width:100%;color:var(--maplibre-gl-gui-input-color);background:var(--maplibre-gl-gui-input-background);box-sizing:border-box;resize:vertical;border-radius:4px;min-height:80px;padding:8px 10px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:11px;transition:border-color .15s}.maplibre-gl-html-gui-control .html-gui-textarea:focus{border-color:var(--maplibre-gl-gui-focus-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.maplibre-gl-html-gui-control .html-gui-textarea::-moz-placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-html-gui-control .html-gui-textarea::placeholder{color:var(--maplibre-gl-gui-placeholder-color)}.maplibre-gl-html-gui-control .html-gui-row{gap:10px;display:flex}.maplibre-gl-html-gui-control .html-gui-row .html-gui-field{flex:1}.maplibre-gl-html-gui-control .html-gui-preview{border:1px solid var(--maplibre-gl-gui-border-color);background:var(--maplibre-gl-gui-input-background);color:var(--maplibre-gl-gui-input-color);border-radius:4px;min-height:30px;max-height:120px;padding:8px;font-size:12px;overflow-y:auto}.maplibre-gl-html-gui-control .html-gui-checkbox-label{color:inherit;text-transform:none;letter-spacing:normal;cursor:pointer;align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:400;display:flex}.maplibre-gl-html-gui-control .html-gui-checkbox-label input[type=checkbox]{accent-color:#3b82f6}.maplibre-gl-html-gui-control .html-gui-panel .html-gui-add-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;margin-bottom:6px;padding:10px;font-size:13px;font-weight:600;transition:background-color .15s;display:flex}.maplibre-gl-html-gui-control .html-gui-panel .html-gui-add-btn:hover{color:#fff;background-color:#2563eb}.maplibre-gl-html-gui-control .html-gui-panel .html-gui-remove-btn{color:#dc2626;cursor:pointer;background-color:#0000;border:1px solid #fca5a5;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:8px;font-size:12px;transition:all .15s;display:flex}.maplibre-gl-html-gui-control .html-gui-panel .html-gui-remove-btn:hover{background-color:#fef2f2;border-color:#ef4444}.geo-editor-control{box-shadow:none;background:0 0}.geo-editor-toolbar{background:#fff;border-radius:4px;gap:4px;padding:4px;display:inline-flex;box-shadow:0 0 0 2px #0000001a}.geo-editor-toolbar--collapsed{gap:0;padding:0}.geo-editor-toolbar--vertical{flex-direction:column}.geo-editor-toolbar--horizontal{flex-direction:row}.geo-editor-tools-wrapper{flex-direction:column;gap:4px;display:flex}.geo-editor-toolbar--horizontal .geo-editor-tools-wrapper{flex-direction:row}.geo-editor-collapse-btn{flex-shrink:0;width:30px;height:30px;margin-bottom:4px}.geo-editor-toolbar--horizontal .geo-editor-collapse-btn{margin-bottom:0;margin-right:4px}.geo-editor-toolbar--collapsed .geo-editor-collapse-btn{margin:0}.geo-editor-tool-group{flex-direction:column;gap:2px;display:flex}.geo-editor-toolbar--horizontal .geo-editor-tool-group{flex-direction:row}.geo-editor-tool-group:not(:last-child){border-bottom:1px solid #e5e5e5;padding-bottom:4px}.geo-editor-toolbar--horizontal .geo-editor-tool-group:not(:last-child){border-bottom:none;border-right:1px solid #e5e5e5;padding-bottom:0;padding-right:4px}.geo-editor-tool-group-label{text-transform:uppercase;color:#666;letter-spacing:.5px;padding:2px 4px;font-size:9px;font-weight:600}.geo-editor-tool-buttons{flex-direction:column;gap:2px;display:flex}.geo-editor-toolbar--horizontal .geo-editor-tool-buttons{flex-direction:row}.geo-editor-toolbar--vertical.geo-editor-toolbar--columns-2 .geo-editor-tool-buttons{grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.geo-editor-toolbar--vertical.geo-editor-toolbar--columns-3 .geo-editor-tool-buttons{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.geo-editor-toolbar--vertical.geo-editor-toolbar--columns-4 .geo-editor-tool-buttons{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.geo-editor-tool-button{color:#333;cursor:pointer;background:#f5f5f5;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .15s;display:flex}.geo-editor-tool-button:hover{background:#e8e8e8}.geo-editor-tool-button:active{background:#ddd}.geo-editor-tool-button--active,.geo-editor-tool-button.geo-editor-tool-button--active{color:#fff!important;background:#38f!important}.geo-editor-tool-button--active:hover,.geo-editor-tool-button.geo-editor-tool-button--active:hover{background:#27e!important}.geo-editor-tool-button:disabled{opacity:.5;cursor:not-allowed}.geo-editor-tool-button[data-history]:disabled{opacity:.4;cursor:not-allowed}.geo-editor-tool-button[data-history]:disabled:hover{background:#f5f5f5}.geo-editor-tool-button svg{width:18px;height:18px}.geo-editor-tool-button--active svg{color:#fff!important}.geo-editor-tool-button--active svg path,.geo-editor-tool-button--active svg polygon,.geo-editor-tool-button--active svg rect,.geo-editor-tool-button--active svg circle,.geo-editor-tool-button--active svg ellipse,.geo-editor-tool-button--active svg line,.geo-editor-tool-button--active svg text{fill:#fff!important;color:#fff!important}.geo-editor-tool-button--active svg path[fill=none],.geo-editor-tool-button--active svg polygon[fill=none],.geo-editor-tool-button--active svg rect[fill=none],.geo-editor-tool-button--active svg circle[fill=none],.geo-editor-tool-button--active svg ellipse[fill=none],.geo-editor-tool-button--active svg line[fill=none]{fill:none!important;stroke:#fff!important}.geo-editor-tool-button--active svg [stroke],.geo-editor-tool-button--active svg path[stroke],.geo-editor-tool-button--active svg polygon[stroke],.geo-editor-tool-button--active svg rect[stroke],.geo-editor-tool-button--active svg circle[stroke],.geo-editor-tool-button--active svg ellipse[stroke],.geo-editor-tool-button--active svg line[stroke]{stroke:#fff!important}.geo-editor-tool-button[title]{position:relative}.geo-editor-dialog-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.geo-editor-dialog{background:#fff;border-radius:8px;width:90%;max-width:400px;max-height:80vh;overflow:auto;box-shadow:0 4px 20px #0003}.geo-editor-dialog-header{border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.geo-editor-dialog-title{color:#333;margin:0;font-size:16px;font-weight:600}.geo-editor-dialog-close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:flex}.geo-editor-dialog-close:hover{color:#333;background:#f5f5f5}.geo-editor-dialog-body{padding:20px}.geo-editor-dialog-footer{border-top:1px solid #e5e5e5;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.geo-editor-form-group{margin-bottom:16px}.geo-editor-form-group:last-child{margin-bottom:0}.geo-editor-label{color:#333;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.geo-editor-input{border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .15s}.geo-editor-input:focus{border-color:#38f;outline:none;box-shadow:0 0 0 3px #3388ff1a}.geo-editor-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:#e5e5e5;border-radius:3px;width:100%;height:6px}.geo-editor-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#38f;border-radius:50%;width:16px;height:16px;-webkit-transition:transform .15s;transition:transform .15s}.geo-editor-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.geo-editor-slider::-moz-range-thumb{cursor:pointer;background:#38f;border:none;border-radius:50%;width:16px;height:16px}.geo-editor-btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.geo-editor-btn--primary{color:#fff;background:#38f}.geo-editor-btn--primary:hover{background:#27e}.geo-editor-btn--secondary{color:#333;background:#f5f5f5}.geo-editor-btn--secondary:hover{background:#e8e8e8}.geo-editor-btn--danger{color:#fff;background:#dc3545}.geo-editor-btn--danger:hover{background:#c82333}.geo-editor-btn:disabled{opacity:.5;cursor:not-allowed}.geo-editor-stats{background:#f8f9fa;border-radius:4px;gap:20px;margin-bottom:16px;padding:12px;display:flex}.geo-editor-stat{flex-direction:column;align-items:center;display:flex}.geo-editor-stat-value{color:#333;font-size:20px;font-weight:600}.geo-editor-stat-label{text-transform:uppercase;color:#666;letter-spacing:.5px;font-size:11px}.geo-editor-stat--highlight .geo-editor-stat-value{color:#38f}.geo-editor-stat--success .geo-editor-stat-value{color:#28a745}.geo-editor-message{border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:13px}.geo-editor-message--info{color:#0056b3;background:#e7f3ff;border:1px solid #b8daff}.geo-editor-message--warning{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.geo-editor-message--error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.geo-editor-message--success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.geo-editor-selection-highlight{stroke:#38f;stroke-width:3px;stroke-dasharray:5 5;fill:#3388ff1a;animation:.5s linear infinite geo-editor-dash}@keyframes geo-editor-dash{to{stroke-dashoffset:-10px}}.geo-editor-properties-popup .maplibregl-popup-content{max-height:300px;padding:10px;overflow-y:auto}.geo-editor-popup-table{border-collapse:collapse;width:100%;font-size:12px}.geo-editor-popup-table td{border-bottom:1px solid #e0e0e0;padding:4px 8px}.geo-editor-popup-table tr:last-child td{border-bottom:none}.geo-editor-popup-key{color:#333;white-space:nowrap;vertical-align:top;font-weight:600}.geo-editor-popup-value{color:#666;word-break:break-word}.geo-editor-popup-empty{color:#999;text-align:center;padding:8px;font-style:italic}@media (width<=768px){.geo-editor-toolbar{padding:2px}.geo-editor-tool-button{width:36px;height:36px}.geo-editor-dialog{max-width:95%;margin:10px}}.geo-editor-attribute-panel{z-index:1000;background:#fff;border-radius:8px;flex-direction:column;width:300px;max-height:80vh;transition:transform .3s,opacity .3s;display:flex;position:absolute;top:10px;overflow:hidden;box-shadow:0 2px 12px #00000026}.geo-editor-attribute-panel--right{right:10px}.geo-editor-attribute-panel--left{left:10px}.geo-editor-attribute-panel--hidden{opacity:0;pointer-events:none}.geo-editor-attribute-panel--right.geo-editor-attribute-panel--hidden{transform:translate(100%)}.geo-editor-attribute-panel--left.geo-editor-attribute-panel--hidden{transform:translate(-100%)}.geo-editor-attribute-panel-header{background:#f8f9fa;border-bottom:1px solid #e5e5e5;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.geo-editor-attribute-panel-title{color:#333;margin:0;font-size:14px;font-weight:600}.geo-editor-attribute-panel-close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:flex}.geo-editor-attribute-panel-close:hover{color:#333;background:#e8e8e8}.geo-editor-attribute-panel-body{flex:1;padding:16px;overflow-y:auto}.geo-editor-attribute-panel-footer{background:#f8f9fa;border-top:1px solid #e5e5e5;flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.geo-editor-attribute-form-group{margin-bottom:16px}.geo-editor-attribute-form-group:last-child{margin-bottom:0}.geo-editor-attribute-label{color:#333;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.geo-editor-attribute-label--required:after{content:" *";color:#dc3545}.geo-editor-attribute-input,.geo-editor-attribute-select,.geo-editor-attribute-textarea{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.geo-editor-attribute-input:focus,.geo-editor-attribute-select:focus,.geo-editor-attribute-textarea:focus{border-color:#38f;outline:none;box-shadow:0 0 0 3px #3388ff1a}.geo-editor-attribute-input:disabled,.geo-editor-attribute-select:disabled,.geo-editor-attribute-textarea:disabled{cursor:not-allowed;color:#666;background-color:#f5f5f5}.geo-editor-attribute-textarea{resize:vertical;min-height:80px}.geo-editor-attribute-input[type=color]{cursor:pointer;height:40px;padding:4px}.geo-editor-attribute-input[type=date]{cursor:pointer}.geo-editor-attribute-checkbox-wrapper{align-items:center;gap:8px;display:flex}.geo-editor-attribute-checkbox{cursor:pointer;accent-color:#38f;width:18px;height:18px}.geo-editor-attribute-checkbox-label{color:#333;cursor:pointer;font-size:14px}.geo-editor-attribute-readonly{color:#666;word-break:break-word;background-color:#f8f9fa;border:1px solid #e5e5e5;border-radius:4px;padding:8px 12px;font-size:14px}.geo-editor-attribute-readonly-null{color:#999;font-style:italic}.geo-editor-attribute-extra-section{border-top:1px dashed #ddd;margin-top:24px;padding-top:16px}.geo-editor-attribute-extra-section-title{text-transform:uppercase;color:#666;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:600}.geo-editor-attribute-error{color:#dc3545;margin-top:4px;font-size:12px}.geo-editor-attribute-input--error,.geo-editor-attribute-select--error,.geo-editor-attribute-textarea--error{border-color:#dc3545}.geo-editor-attribute-input--error:focus,.geo-editor-attribute-select--error:focus,.geo-editor-attribute-textarea--error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.geo-editor-attribute-empty{text-align:center;color:#666;padding:32px 16px;font-size:14px}.geo-editor-attribute-geometry-badge{text-transform:uppercase;letter-spacing:.5px;color:#0056b3;background:#e7f3ff;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}@media (width<=768px){.geo-editor-attribute-panel{width:calc(100% - 20px);max-width:320px}}.marker-wrapper svg circle,.marker-wrapper svg path{fill-opacity:.5!important}.lidar-control{background:#fff;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 0 0 2px #0000001a}.lidar-control-toggle{cursor:pointer;color:#1f2a37;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;display:flex}.lidar-control-toggle:hover{background-color:#0000000d}.lidar-control-toggle .lidar-control-icon{justify-content:center;align-items:center;width:100%;height:100%;line-height:0;display:flex;position:relative}.lidar-control-toggle .lidar-control-icon svg{stroke:currentColor;fill:none;width:22px;height:22px;display:block}.lidar-control-panel{z-index:1000;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#0000004d transparent;background:#fff;border-radius:4px;width:380px;padding:8px;font-size:12px;line-height:1.4;display:none;position:absolute;overflow:hidden auto;box-shadow:0 0 0 2px #0000001a}.lidar-control-panel::-webkit-scrollbar{width:6px}.lidar-control-panel::-webkit-scrollbar-track{background:0 0}.lidar-control-panel::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:3px}.lidar-control-panel::-webkit-scrollbar-thumb:hover{background-color:#00000080}.lidar-control-panel.expanded{display:block}.lidar-control-header{color:#333;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:4px 0 8px;font-weight:600;display:flex}.lidar-control-title{flex:auto;font-size:13px}.lidar-control-close{color:#999;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:18px;line-height:1;transition:color .2s;display:flex}.lidar-control-close:hover{color:#333}.lidar-control-content{scrollbar-width:thin;scrollbar-color:#0000004d transparent;position:relative;overflow:hidden auto}.lidar-control-content::-webkit-scrollbar{width:6px}.lidar-control-content::-webkit-scrollbar-track{background:0 0}.lidar-control-content::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:3px}.lidar-control-content::-webkit-scrollbar-thumb:hover{background-color:#00000080}.lidar-control-section{border-bottom:1px solid #e0e0e0;margin-bottom:12px;padding-bottom:12px}.lidar-control-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.lidar-control-section-header{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:600}.lidar-control-group{margin-bottom:10px}.lidar-control-group:last-child{margin-bottom:0}.lidar-control-label{color:#555;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.lidar-control-label-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.lidar-control-value{color:#666;font-size:11px;font-weight:500}.lidar-control-input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;outline:none;width:100%;padding:6px 8px;font-size:12px;transition:border-color .15s,box-shadow .15s}.lidar-control-input:focus{border-color:#159895;box-shadow:0 0 0 2px #15989526}.lidar-control-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;outline:none;width:100%;padding:6px 8px;font-size:12px}.lidar-control-select:focus{border-color:#159895;box-shadow:0 0 0 2px #15989526}.lidar-control-slider{-webkit-appearance:none;background:#e0e0e0;border-radius:2px;outline:none;width:100%;height:4px;margin-top:4px}.lidar-control-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#159895;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0003}.lidar-control-slider::-moz-range-thumb{cursor:pointer;background:#159895;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0003}.lidar-control-button{color:#fff;cursor:pointer;background:#159895;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;font-weight:500;transition:background-color .15s;display:inline-flex}.lidar-control-button:hover{background:#128784}.lidar-control-button:disabled{cursor:not-allowed;background:#ccc}.lidar-control-button.secondary{color:#333;background:#f0f0f0}.lidar-control-button.secondary:hover{background:#e0e0e0}.lidar-share-section{z-index:2;background:#fff;flex-direction:column;gap:6px;padding-top:10px;display:flex;position:sticky;bottom:0}.lidar-share-button{width:100%}.lidar-share-status{color:#555;text-align:center;min-height:16px;font-size:11px}.lidar-file-input-wrapper{width:100%;display:block;position:relative;overflow:hidden}.lidar-file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.lidar-file-input-label{cursor:pointer;color:#666;text-align:center;background:#f8f9fa;border:2px dashed #ddd;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:12px;transition:border-color .15s,background .15s;display:flex}.lidar-file-input-label:hover,.lidar-file-input-label.drag-over{background:#f0faf9;border-color:#159895}.lidar-file-input-label svg{color:#999}.lidar-pointclouds-section{min-height:40px}.lidar-pointclouds-list{scrollbar-width:none;max-height:150px;overflow:hidden auto}.lidar-pointclouds-empty{color:#999;text-align:center;padding:12px 0;font-size:11px;font-style:italic}.lidar-pointcloud-item{background:#f8f9fa;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px;display:flex}.lidar-pointcloud-item:last-child{margin-bottom:0}.lidar-pointcloud-info{flex:1;min-width:0;margin-right:8px}.lidar-pointcloud-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.lidar-pointcloud-details{color:#888;margin-top:2px;font-size:10px}.lidar-pointcloud-actions{gap:4px;display:flex}.lidar-control-panel .lidar-pointcloud-action{cursor:pointer;color:#333;white-space:nowrap;box-sizing:border-box;background:#f0f0f0;border:1px solid #ccc;border-radius:3px;justify-content:center;align-items:center;width:64px;height:auto;padding:4px 10px;font-size:10px;font-weight:500;line-height:1.2;display:inline-flex}.lidar-control-panel .lidar-pointcloud-action:hover{background:#e0e0e0;border-color:#bbb}.lidar-control-panel .lidar-pointcloud-action.remove{color:#dc3545;background:#fff5f5;border-color:#dc3545}.lidar-control-panel .lidar-pointcloud-action.remove:hover{color:#fff;background:#dc3545}.lidar-loading{color:#666;z-index:100;background:#fffffff2;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;font-size:12px;display:none;position:absolute;inset:0}.lidar-loading.active{display:flex}.lidar-loading-spinner{border:3px solid #e0e0e0;border-top-color:#159895;border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite lidar-spin}.lidar-loading-text{color:#333;margin-bottom:8px;font-size:13px;font-weight:500}.lidar-loading-progress{color:#666;font-size:11px}.lidar-loading-bar{background:#e0e0e0;border-radius:2px;width:200px;height:4px;margin-top:12px;overflow:hidden}.lidar-loading-bar-fill{background:#159895;border-radius:2px;width:0%;height:100%;transition:width .2s}@keyframes lidar-spin{to{transform:rotate(360deg)}}.lidar-error{color:#c62828;word-wrap:break-word;overflow-wrap:break-word;background:#fff5f5;border:1px solid #ffcdd2;border-radius:4px;max-height:120px;margin-top:8px;padding:8px;font-size:11px;overflow-y:auto}.lidar-control-flex{align-items:center;gap:8px;display:flex}.lidar-control-flex-col{flex-direction:column;gap:8px;display:flex}.lidar-pointclouds-list{scrollbar-width:thin;scrollbar-color:#0000004d transparent}.lidar-pointclouds-list::-webkit-scrollbar{width:6px}.lidar-pointclouds-list::-webkit-scrollbar-track{background:0 0}.lidar-pointclouds-list::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:3px}.lidar-classification-legend{border:1px solid #e0e0e0;border-radius:4px;margin-top:8px;overflow:hidden}.lidar-classification-legend-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;gap:8px;padding:6px 8px;display:flex}.lidar-legend-action-btn{cursor:pointer;color:#fff;background-color:#159895;border:1px solid #128583;border-radius:3px;flex:1;padding:4px 8px;font-size:10px;font-weight:500;transition:background-color .15s,border-color .15s}.lidar-control-panel .lidar-legend-action-btn{color:#fff;background-color:#159895;border:1px solid #128583}.lidar-legend-action-btn:hover,.lidar-legend-action-btn:focus-visible,.lidar-control-panel .lidar-classification-legend-header button.lidar-legend-action-btn:hover,.lidar-control-panel .lidar-classification-legend-header button.lidar-legend-action-btn:focus-visible{color:#fff;background-color:#0f6d6b;border-color:#0b5b59}.lidar-classification-legend-list{scrollbar-width:thin;scrollbar-color:#0000004d transparent;max-height:180px;padding:4px 0;overflow-y:auto}.lidar-classification-legend-list::-webkit-scrollbar{width:6px}.lidar-classification-legend-list::-webkit-scrollbar-track{background:0 0}.lidar-classification-legend-list::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:3px}.lidar-classification-legend-item{cursor:pointer;align-items:center;gap:8px;padding:4px 8px;display:flex}.lidar-classification-legend-item:hover{background:#f8f9fa}.lidar-classification-legend-item input[type=checkbox]{cursor:pointer;flex-shrink:0;margin:0}.lidar-classification-swatch{border:1px solid #00000026;border-radius:3px;flex-shrink:0;width:16px;height:16px}.lidar-classification-label{color:#333;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lidar-classification-empty{text-align:center;color:#888;padding:12px 8px;font-size:11px;font-style:italic}.lidar-colormap-group{margin-bottom:10px}.lidar-colormap-row{align-items:center;gap:8px;display:flex}.lidar-colormap-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;outline:none;flex:1;padding:6px 8px;font-size:12px}.lidar-colormap-select:focus{border-color:#159895;box-shadow:0 0 0 2px #15989526}.lidar-colormap-preview{border:1px solid #00000026;border-radius:2px;flex-shrink:0;width:50px;height:14px}.lidar-colorbar{margin:8px 0}.lidar-colorbar-label{color:#555;margin-bottom:4px;font-size:11px;font-weight:500}.lidar-colorbar-gradient{border:1px solid #00000026;border-radius:2px;width:100%;height:14px;display:block}.lidar-colorbar-labels{color:#666;justify-content:space-between;margin-top:2px;font-size:10px;display:flex}.lidar-colorbar-min,.lidar-colorbar-max{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace}.lidar-color-range{margin:8px 0}.lidar-color-range-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.lidar-range-reset-btn{cursor:pointer;color:#555;background:#f0f0f0;border:1px solid #ccc;border-radius:3px;padding:2px 8px;font-size:10px}.lidar-range-reset-btn:hover{background:#e0e0e0;border-color:#999}.lidar-range-reset-btn:active{background:#d0d0d0}.lidar-range-mode{gap:16px;margin-bottom:8px;display:flex}.lidar-range-mode label{cursor:pointer;color:#555;align-items:center;gap:4px;font-size:11px;display:flex}.lidar-range-mode input[type=radio]{cursor:pointer;margin:0}.lidar-control-panel .lidar-pointcloud-action.info{color:#1565c0;background:#e3f2fd;border-color:#90caf9}.lidar-control-panel .lidar-pointcloud-action.info:hover{color:#fff;background:#1565c0}.lidar-metadata-backdrop{z-index:10000;background:#00000080;position:fixed;inset:0}.lidar-metadata-panel{z-index:10001;background:#fff;border-radius:8px;width:500px;max-width:90vw;max-height:80vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 10px 40px #0000004d}.lidar-metadata-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.lidar-metadata-title{color:#333;font-size:16px;font-weight:600}.lidar-metadata-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;display:flex}.lidar-metadata-close:hover{color:#333;background:#e0e0e0}.lidar-metadata-content{max-height:calc(80vh - 65px);padding:16px 20px;overflow-y:auto}.lidar-metadata-section{border:1px solid #e0e0e0;border-radius:4px;margin-bottom:12px;overflow:hidden}.lidar-metadata-section:last-child{margin-bottom:0}.lidar-metadata-section-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#555;background:#f8f9fa;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.lidar-metadata-section-header:hover{background:#f0f0f0}.lidar-metadata-section-toggle{color:#888;font-size:10px}.lidar-metadata-section-title{flex:1}.lidar-metadata-section-body{border-top:1px solid #e0e0e0;padding:12px}.lidar-metadata-row{justify-content:space-between;padding:4px 0;font-size:12px;display:flex}.lidar-metadata-label{color:#666;font-weight:500}.lidar-metadata-value{color:#333;text-align:right;word-break:break-all;max-width:60%}.lidar-metadata-subheader{color:#888;text-transform:uppercase;letter-spacing:.5px;border-top:1px dashed #e0e0e0;margin:12px 0 6px;padding-top:8px;font-size:11px;font-weight:600}.lidar-metadata-subheader:first-child{border-top:none;margin-top:0;padding-top:0}.lidar-metadata-wkt{margin-top:8px}.lidar-metadata-copy-btn{color:#fff;cursor:pointer;background:#159895;border:none;border-radius:4px;margin-bottom:8px;padding:6px 12px;font-size:11px;font-weight:500;display:block}.lidar-metadata-copy-btn:hover{background:#128784}.lidar-metadata-code{white-space:pre;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;max-height:200px;margin:0;padding:10px;font-family:Monaco,Consolas,monospace;font-size:10px;overflow:auto}.lidar-metadata-table{border-collapse:collapse;width:100%;font-size:11px}.lidar-metadata-table th,.lidar-metadata-table td{text-align:left;border-bottom:1px solid #e0e0e0;padding:6px 8px}.lidar-metadata-table th{color:#555;background:#f8f9fa;font-weight:600}.lidar-metadata-table tr:last-child td{border-bottom:none}.lidar-crosssection-section{margin-top:8px}.lidar-section-collapsible{align-items:center;gap:6px;display:flex}.lidar-section-toggle{color:#888;width:12px;font-size:10px}.lidar-section-body,.lidar-crosssection-panel{padding:8px 0}.lidar-crosssection-header{color:#555;margin-bottom:8px;font-size:12px;font-weight:600;display:none}.lidar-crosssection-controls{gap:8px;margin-bottom:10px;display:flex}.lidar-crosssection-draw,.lidar-crosssection-clear{flex:1;padding:6px 12px;font-size:11px}.lidar-crosssection-draw.active{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9}.lidar-crosssection-chart{border:1px solid #e0e0e0;border-radius:4px;margin:10px 0;overflow:hidden}.lidar-profile-chart-container{background:#fff;position:relative}.lidar-profile-chart{display:block}.lidar-profile-tooltip{color:#fff;pointer-events:none;z-index:100;white-space:nowrap;background:#000000d9;border-radius:4px;padding:6px 10px;font-size:11px;line-height:1.5;position:absolute}.lidar-crosssection-stats{background:#f8f9fa;border-radius:4px;grid-template-columns:1fr 1fr;gap:4px 12px;padding:8px;font-size:11px;display:grid}.lidar-crosssection-stat{justify-content:space-between;display:flex}.lidar-crosssection-stat-label{color:#666}.lidar-crosssection-stat-value{color:#333;font-weight:500}.lidar-chart-popup-backdrop{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lidar-chart-popup{background:#fff;border-radius:8px;flex-direction:column;width:750px;max-width:95vw;height:520px;max-height:95vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;box-shadow:0 10px 40px #0000004d}.lidar-chart-popup-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.lidar-chart-popup-title{color:#333;font-size:14px;font-weight:600}.lidar-chart-popup-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:24px;line-height:1;display:flex}.lidar-chart-popup-close:hover{color:#333;background:#e0e0e0}.lidar-chart-popup-content{flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:hidden}.lidar-chart-popup-stats{color:#555;background:#f8f9fa;border-top:1px solid #e0e0e0;flex-wrap:wrap;flex-shrink:0;gap:24px;padding:12px 16px;font-size:13px;display:flex}.lidar-chart-popup-stats span{white-space:nowrap}.lidar-chart-popup-resize{cursor:nwse-resize;background:linear-gradient(135deg,#0000 50%,#ccc 50% 60%,#0000 60% 70%,#ccc 70% 80%,#0000 80%);border-radius:0 0 8px;width:20px;height:20px;position:absolute;bottom:0;right:0}.lidar-chart-popup-resize:hover{background:linear-gradient(135deg,#0000 50%,#999 50% 60%,#0000 60% 70%,#999 70% 80%,#0000 80%)}.pc-control{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;line-height:1.4}.pc-control-toggle{cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .15s;display:flex}.pc-control-toggle:hover{background-color:#f0f0f0}.pc-control-icon{justify-content:center;align-items:center;display:flex}.pc-control-icon svg{stroke:#333}.pc-control-panel{z-index:1000;background:#fff;border-radius:8px;flex-direction:column;display:none;position:absolute;overflow:hidden;box-shadow:0 4px 20px #00000026}.pc-control-panel.expanded{display:flex}.pc-control-header{background:#f8f9fa;border-bottom:1px solid #e5e5e5;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.pc-control-title{color:#1a1a1a;font-size:14px;font-weight:600}.pc-control-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;transition:all .15s;display:flex}.pc-control-close:hover{color:#333;background:#e5e5e5}.pc-control-nav{background:#fafafa;border-bottom:1px solid #e5e5e5;gap:8px;padding:8px 12px;display:flex}.pc-nav-btn{cursor:pointer;color:#666;background:#fff;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .15s}.pc-nav-btn:hover{background:#f5f5f5;border-color:#ccc}.pc-nav-btn.active{color:#fff;background:#0078d4;border-color:#0078d4}.pc-control-content{flex:1;padding:12px;overflow-y:auto}.pc-control-content::-webkit-scrollbar{width:6px}.pc-control-content::-webkit-scrollbar-track{background:#f1f1f1}.pc-control-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.pc-control-content::-webkit-scrollbar-thumb:hover{background:#aaa}.pc-loading{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.pc-spinner{border:3px solid #e5e5e5;border-top-color:#0078d4;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite pc-spin}@keyframes pc-spin{to{transform:rotate(360deg)}}.pc-error{color:#d13438;text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.pc-collection-browser{flex-direction:column;gap:12px;display:flex}.pc-search-box{z-index:1;background:#fff;position:sticky;top:0}.pc-search-input{border:1px solid #ddd;border-radius:4px;outline:none;width:100%;padding:8px 12px;font-size:13px;transition:border-color .15s}.pc-search-input:focus{border-color:#0078d4}.pc-collection-list{flex-direction:column;gap:8px;display:flex}.pc-collection-item{cursor:pointer;border:1px solid #e5e5e5;border-radius:6px;padding:12px;transition:all .15s}.pc-collection-item:hover{background:#f8f9fa;border-color:#0078d4}.pc-collection-title{color:#1a1a1a;margin-bottom:4px;font-weight:600}.pc-collection-description{color:#666;margin-bottom:8px;font-size:12px}.pc-collection-keywords{flex-wrap:wrap;gap:4px;display:flex}.pc-tag{color:#0078d4;background:#e8f4fd;border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.pc-search-panel{flex-direction:column;gap:16px;display:flex}.pc-btn-back{color:#0078d4;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:13px}.pc-btn-back:hover{text-decoration:underline}.pc-selected-collection{background:#f8f9fa;border-radius:6px;padding:12px}.pc-collection-name{margin-top:4px;font-weight:600;display:block}.pc-form-group{flex-direction:column;gap:6px;display:flex}.pc-label{color:#666;font-size:12px;font-weight:500}.pc-input{border:1px solid #ddd;border-radius:4px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.pc-input:focus{border-color:#0078d4}.pc-bbox-display{background:#f5f5f5;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.pc-bbox-text{color:#666;font-family:monospace;font-size:12px}.pc-date-inputs{align-items:center;gap:8px;display:flex}.pc-date-inputs .pc-input{flex:1}.pc-date-separator{color:#999;font-size:12px}.pc-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .15s}.pc-btn:hover{background:#f5f5f5}.pc-btn-primary{color:#fff;background:#0078d4;border-color:#0078d4}.pc-btn-primary:hover{background:#006cbd}.pc-btn-small{padding:4px 10px;font-size:12px}.pc-btn-icon{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .15s;display:flex}.pc-btn-icon:hover{color:#333;background:#e5e5e5}.pc-results{flex-direction:column;gap:12px;display:flex}.pc-results-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pc-results-count{color:#666;font-size:12px}.pc-results-list{flex-direction:column;gap:8px;display:flex}.pc-results-empty{text-align:center;color:#666;padding:30px 20px}.pc-result-item{cursor:pointer;border:1px solid #e5e5e5;border-radius:6px;align-items:center;gap:12px;padding:10px;transition:all .15s;display:flex}.pc-result-item:hover{background:#f8f9fa;border-color:#0078d4}.pc-result-thumbnail{background:#f5f5f5;border-radius:4px;flex-shrink:0;width:60px;height:60px;overflow:hidden}.pc-result-thumbnail img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.pc-result-info{flex:1;min-width:0}.pc-result-title{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.pc-result-date,.pc-result-cloud{color:#666;margin-top:2px;font-size:11px}.pc-result-actions{flex-shrink:0}.pc-item-details{flex-direction:column;gap:16px;display:flex}.pc-details-header{flex-direction:column;gap:8px;display:flex}.pc-details-title{word-break:break-all;margin:0;font-size:14px;font-weight:600}.pc-details-meta{background:#f8f9fa;border-radius:6px;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;display:grid}.pc-meta-item{flex-direction:column;gap:2px;display:flex}.pc-meta-item .pc-value{color:#1a1a1a;font-weight:500}.pc-details-section{flex-direction:column;gap:8px;display:flex}.pc-section-title{color:#333;margin:0;font-size:12px;font-weight:600}.pc-assets-list{flex-direction:column;gap:6px;max-height:150px;display:flex;overflow-y:auto}.pc-asset-item{background:#f8f9fa;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.pc-asset-info{flex:1;min-width:0}.pc-asset-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.pc-asset-type{color:#666;font-size:11px}.pc-details-actions{border-top:1px solid #e5e5e5;padding-top:8px}.pc-details-actions .pc-btn{width:100%}.pc-layers-empty{text-align:center;color:#666;padding:30px 20px}.pc-layers-empty p{margin:0 0 8px}.pc-layers-list{flex-direction:column;gap:8px;display:flex}.pc-layer-item{border:1px solid #e5e5e5;border-radius:6px;padding:10px}.pc-layer-header{align-items:center;gap:8px;display:flex}.pc-layer-visibility{flex-shrink:0}.pc-layer-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;overflow:hidden}.pc-layer-controls{border-top:1px solid #f0f0f0;margin-top:10px;padding-top:10px}.pc-opacity-label{color:#666;margin-bottom:6px;font-size:11px;display:block}.pc-opacity-value{color:#333;font-weight:500}.pc-opacity-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e5e5;border-radius:2px;outline:none;width:100%;height:4px}.pc-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#0078d4;border-radius:50%;width:14px;height:14px}.pc-opacity-slider::-moz-range-thumb{cursor:pointer;background:#0078d4;border:none;border-radius:50%;width:14px;height:14px}.pc-cloud-cover-input{align-items:center;gap:12px;display:flex}.pc-cloud-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e5e5;border-radius:2px;outline:none;flex:1;height:4px}.pc-cloud-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#0078d4;border-radius:50%;width:14px;height:14px}.pc-cloud-slider::-moz-range-thumb{cursor:pointer;background:#0078d4;border:none;border-radius:50%;width:14px;height:14px}.pc-cloud-value{color:#333;text-align:right;min-width:40px;font-size:12px;font-weight:500}.pc-rescale-inputs{align-items:center;gap:8px;display:flex}.pc-rescale-inputs .pc-input{flex:1;min-width:0}.pc-rescale-separator{color:#999;flex-shrink:0;font-size:12px}.pc-custom-viz{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:6px;flex-direction:column;gap:12px;padding:12px;display:flex}.pc-hint{color:#666;margin-top:4px;font-size:11px;display:block}.maplibre-gl-splat{position:relative}.maplibre-gl-splat-button{cursor:pointer;color:#333;background:0 0;border:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:color .15s;display:flex}.maplibre-gl-splat-button:hover,.maplibre-gl-splat-button.active{color:#0078d7}.maplibre-gl-splat-panel{min-width:280px;padding:12px}.maplibre-gl-splat-panel input{font-family:inherit}.maplibre-gl-splat-panel input:focus{border-color:#0078d7;outline:none}.maplibre-gl-splat-panel button:hover:not(:disabled){opacity:.9}.maplibre-gl-splat-panel button:disabled{cursor:not-allowed}.streetview-control{background:#fff;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 0 0 2px #0000001a}.streetview-control-toggle{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;transition:background-color .2s;display:flex}.streetview-control-toggle:hover{background-color:#0000000d}.streetview-control-toggle:active{background-color:#0000001a}.streetview-control-toggle:focus-visible{box-shadow:0 0 0 2px #4a90d9}.streetview-control-icon{justify-content:center;align-items:center;display:flex}.streetview-control-icon svg{fill:currentColor;width:18px;height:18px}.streetview-control.active .streetview-control-toggle{color:#1976d2;background-color:#0000001a}.streetview-panel{z-index:1000;background:#fff;border-radius:4px;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:none;position:absolute;overflow:hidden;box-shadow:0 2px 10px #0003}.streetview-panel.expanded{display:flex}.streetview-panel-header{background:#f5f5f5;border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:center;min-height:36px;padding:8px 12px;display:flex}.streetview-panel-title{color:#333;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.streetview-panel-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:background-color .2s,color .2s;display:flex}.streetview-panel-close:hover{color:#333;background-color:#0000001a}.streetview-panel-close svg{width:16px;height:16px}.streetview-panel-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.streetview-panel-resize{cursor:se-resize;opacity:0;width:16px;height:16px;transition:opacity .2s;position:absolute}.streetview-panel:hover .streetview-panel-resize{opacity:.5}.streetview-panel-resize:before{content:"";border-bottom:2px solid #999;border-right:2px solid #999;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.streetview-panel[data-position=top-right] .streetview-panel-resize,.streetview-panel[data-position=top-left] .streetview-panel-resize{bottom:0}.streetview-panel[data-position=bottom-right] .streetview-panel-resize,.streetview-panel[data-position=bottom-left] .streetview-panel-resize{top:0;transform:rotate(180deg)}.streetview-panel[data-position=top-right] .streetview-panel-resize,.streetview-panel[data-position=bottom-right] .streetview-panel-resize{left:0;transform:scaleX(-1)}.streetview-panel[data-position=top-left] .streetview-panel-resize,.streetview-panel[data-position=bottom-left] .streetview-panel-resize{right:0}.streetview-api-keys{background:#fff;flex:1;grid-template-columns:1fr;align-content:start;gap:8px;min-height:0;padding:12px;display:grid;overflow:auto}.streetview-api-keys[hidden]{display:none}.streetview-api-key-field{gap:4px;margin:0;display:grid}.streetview-api-key-label{color:#444;font-size:11px;font-weight:600;line-height:1.2}.streetview-api-key-input{box-sizing:border-box;color:#222;width:100%;min-width:0;height:28px;font:inherit;background:#fff;border:1px solid #d0d0d0;border-radius:4px;outline:none;padding:5px 8px;font-size:12px}.streetview-api-key-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d229}.streetview-api-key-input::-moz-placeholder{color:#888}.streetview-api-key-input::placeholder{color:#888}.streetview-api-key-apply{color:#fff;cursor:pointer;min-height:28px;font:inherit;background:#1976d2;border:none;border-radius:4px;justify-self:end;padding:5px 10px;font-size:12px;font-weight:600}.streetview-api-key-apply:hover{background:#1565c0}.streetview-api-key-apply:active{background:#0d47a1}.streetview-provider-tabs{background:#fafafa;border-bottom:1px solid #e0e0e0;flex-shrink:0;display:flex}.streetview-provider-tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 16px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.streetview-provider-tab:hover:not(:disabled){color:#333;background:#f0f0f0}.streetview-provider-tab.active{color:#1976d2;background:#fff;border-bottom-color:#1976d2}.streetview-provider-tab:disabled{opacity:.4;cursor:not-allowed}.streetview-provider-tab .provider-icon{flex-shrink:0;width:16px;height:16px}.streetview-provider-tab .provider-icon svg{width:100%;height:100%}.streetview-provider-tab .provider-label{white-space:nowrap}.streetview-provider-tabs.single-provider .streetview-provider-tab{cursor:default}.streetview-provider-tabs.single-provider .streetview-provider-tab:hover{background:0 0}.streetview-viewer{background:#1a1a1a;flex:1;min-height:200px;position:relative;overflow:hidden}.streetview-viewer iframe{border:none;width:100%;height:100%;display:block}.streetview-viewer .mapillary-viewer{width:100%;height:100%}.streetview-viewer-loading{color:#fff;z-index:10;background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.streetview-viewer-loading-text{color:#fffc;font-size:13px}.streetview-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:32px;height:32px;animation:1s linear infinite streetview-spin}@keyframes streetview-spin{to{transform:rotate(360deg)}}.streetview-viewer-initial{color:#666;text-align:center;background:#f5f5f5;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.streetview-viewer-initial-icon{opacity:.5;width:48px;height:48px;margin-bottom:12px}.streetview-viewer-initial-icon svg{fill:currentColor;width:100%;height:100%}.streetview-viewer-initial-text{font-size:14px;line-height:1.5}.streetview-viewer-initial-hint{color:#999;margin-top:4px;font-size:12px}.streetview-marker{cursor:pointer;width:32px;height:32px;position:relative}.streetview-marker-dot{z-index:1;background:#ff5722;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 4px #0000004d}.streetview-marker-direction{transform-origin:50% calc(100% + 6px);filter:drop-shadow(0 1px 2px #0000004d);z-index:0;border-bottom:24px solid #1976d2;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;transition:transform .15s ease-out;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(0)}.streetview-marker.no-direction .streetview-marker-direction{display:none}.streetview-marker:hover .streetview-marker-dot{transform:translate(-50%,-50%)scale(1.1)}.streetview-marker.selected .streetview-marker-dot:after{content:"";background:inherit;border-radius:50%;width:100%;height:100%;animation:1.5s ease-out infinite streetview-marker-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes streetview-marker-pulse{0%{opacity:.8;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(2.5)}}.streetview-marker{--marker-color:#ff5722;--marker-direction-color:#1976d2}.streetview-marker .streetview-marker-dot{background:var(--marker-color)}.streetview-marker .streetview-marker-direction{border-bottom-color:var(--marker-direction-color)}.streetview-no-data{text-align:center;color:#666;background:#f5f5f5;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:200px;padding:32px 20px;display:flex}.streetview-no-data-icon{opacity:.4;width:48px;height:48px;margin-bottom:16px}.streetview-no-data-icon svg{fill:currentColor;width:100%;height:100%}.streetview-no-data-title{color:#333;margin-bottom:8px;font-size:15px;font-weight:600}.streetview-no-data-message{color:#666;max-width:280px;font-size:13px;line-height:1.5}.streetview-no-data-action{margin-top:16px}.streetview-no-data-button{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:4px;padding:8px 20px;font-size:13px;font-weight:500;transition:background-color .2s}.streetview-no-data-button:hover{background:#1565c0}.streetview-no-data-button:active{background:#0d47a1}.streetview-no-data-button:disabled{opacity:.5;cursor:not-allowed}.streetview-no-data.searching .streetview-no-data-icon{animation:1s ease-in-out infinite streetview-no-data-pulse}@keyframes streetview-no-data-pulse{0%,to{opacity:.4}50%{opacity:.7}}.streetview-no-data.error .streetview-no-data-icon{color:#d32f2f;opacity:.6}.streetview-no-data.error .streetview-no-data-title{color:#d32f2f}.mapillary-attribution-container{height:16px;font-size:9px;font-weight:300;line-height:initial;z-index:10;background-color:#00000080;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:absolute;bottom:0;right:0}.mapillary-attribution-image-container{color:#fff;vertical-align:middle;height:100%;margin-left:8px;text-decoration:none;display:inline-block}.mapillary-attribution-image-container:hover,.mapillary-attribution-image-container:active,.mapillary-attribution-image-container:visited{color:#fff}.mapillary-attribution-compact .mapillary-attribution-image-container{margin-left:4px}.mapillary-attribution-username{vertical-align:middle;line-height:16px;display:inline-block}.mapillary-attribution-date{vertical-align:middle;color:#fff;margin-left:4px;margin-right:8px;line-height:16px;display:inline-block}.mapillary-attribution-compact .mapillary-attribution-date{margin-right:6px}.mapillary-attribution-icon-container{vertical-align:middle;height:100%;margin-left:8px;display:inline-block}.mapillary-attribution-compact .mapillary-attribution-icon-container{margin-left:6px}.mapillary-attribution-image-container .mapillary-attribution-icon-container{margin-left:2px;margin-right:2px}.mapillary-attribution-logo{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MSIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDYxIDE0Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIzLjk5NDgzMDMgMi44MTQ1MjI4NUwyMy45OTQ4MzAzIDExLjMxMzg1MyAyMi4zNzA4NjM3IDExLjMxMzg1MyAyMi4zNzA4NjM3IDYuODkyMjM2MTQgMjAuNTQzOTAxMiAxMS4zMTM4NTMgMTkuNjYwMjcyNCAxMS4zMTM4NTMgMTcuODMzMzA5OSA2Ljg5MjIzNjE0IDE3LjgzMzMwOTkgMTEuMzEzODUzIDE2LjIwOTM0MzMgMTEuMzEzODUzIDE2LjIwOTM0MzMgMi44MTQ1MjI4NSAxNy44ODEwNzM3IDIuODE0NTIyODUgMjAuMTAyMDg2OCA4LjE2OTU5MjExIDIyLjMyMzEgMi44MTQ1MjI4NSAyMy45OTQ4MzAzIDIuODE0NTIyODUgMjMuOTk0ODMwMyAyLjgxNDUyMjg1ek0zMS4wODE5NTg0IDQuNjY5MTQ1NDZMMzIuNTAyOTI5MiA0LjY2OTE0NTQ2IDMyLjUwMjkyOTIgNS4yMjE4NDc1NkMzMi41OTg0NTcyIDUuMDI1MzMwMjggMzIuNzg5NTEwMSA0Ljg1NzQ3NDI4IDMzLjA3NjA5MzkgNC43MTgyNzQ1MyAzMy4zNjI2Nzc3IDQuNTc5MDc0NzkgMzMuNjc3MTE5MSA0LjUwOTQ3NTk2IDM0LjAxOTQyNzUgNC41MDk0NzU5NiAzNC4zNDU4MTQ1IDQuNTA5NDc1OTYgMzQuNjUyMjk1NCA0LjU4NTIxNTg2IDM0LjkzODg3OTEgNC43MzY2OTc5NCAzNS4yMjU0NjI5IDQuODg4MTgwMDEgMzUuNDc0MjI5OCA1LjExMTMwNTY3IDM1LjY4NTE4NzMgNS40MDYwODE2IDM1Ljg5NjE0NDggNS43MDA4NTc1MiAzNi4wNjMzMTYyIDYuMDY1MjI3ODYgMzYuMTg2NzA2NCA2LjQ5OTIwMzUzIDM2LjMxMDA5NjYgNi45MzMxNzkyIDM2LjM3MTc5MDggNy40Mjg1NTkxIDM2LjM3MTc5MDggNy45ODUzNTgwNyAzNi4zNzE3OTA4IDguNTU4NTMzNDkgMzYuMzEyMDg2OCA5LjA2MjEwMTQ4IDM2LjE5MjY3NjkgOS40OTYwNzcxNSAzNi4wNzMyNjcgOS45MzAwNTI4MiAzNS45MTAwNzU5IDEwLjI5NDQyMzIgMzUuNzAzMDk4NyAxMC41ODkxOTkxIDM1LjQ5NjEyMTUgMTAuODgzOTc1IDM1LjI1MTMzNDkgMTEuMTA1MDUzNiAzNC45Njg3MzE1IDExLjI1MjQ0MTYgMzQuNjg2MTI4IDExLjM5OTgyOTYgMzQuMzc3NjU3MSAxMS40NzM1MjI1IDM0LjA0MzMwOTMgMTEuNDczNTIyNSAzMy42ODUwNzk2IDExLjQ3MzUyMjUgMzMuMzk2NTEgMTEuNDE2MjA1OCAzMy4xNzc1OTE4IDExLjMwMTU3MDcgMzIuOTU4NjczNyAxMS4xODY5MzU2IDMyLjgwMTQ1MyAxMS4wNDM2NDM5IDMyLjcwNTkyNTEgMTAuODcxNjkxM0wzMi43MDU5MjUxIDEzLjUyMDU0MjMgMzEuMDgxOTU4NCAxMy44Nzg3ODc2IDMxLjA4MTk1ODQgNC42NjkxNDU0NiAzMS4wODE5NTg0IDQuNjY5MTQ1NDZ6TTMzLjYzNzMxNzcgOS44ODkxMDk3NkMzNC40MjU0MjMgOS44ODkxMDk3NiAzNC44MTk0Njk4IDkuMjU4NjI2MjYgMzQuODE5NDY5OCA3Ljk5NzY0MDM0IDM0LjgxOTQ2OTggNy4zODM1MjM4MiAzNC43MjE5NTMyIDYuOTE2ODAyMjcgMzQuNTI2OTE3IDYuNTk3NDYxNjggMzQuMzMxODgwOCA2LjI3ODEyMTA5IDM0LjA1MTI3MTggNi4xMTg0NTMxOSAzMy42ODUwODE0IDYuMTE4NDUzMTkgMzMuNDE0NDE4OSA2LjExODQ1MzE5IDMzLjE4OTUzMzYgNi4yMTQ2NjMzNCAzMy4wMTA0MTg4IDYuNDA3MDg2NTEgMzIuODMxMzAzOSA2LjU5OTUwOTY5IDMyLjY5Mzk4NDYgNi44MjY3MjkzOSAzMi41OTg0NTY3IDcuMDg4NzUyNDRMMzIuNTk4NDU2NyA4Ljk4MDIyMTg2QzMyLjcwOTkwNTkgOS4yODMxODYgMzIuODU5MTY2MSA5LjUxMDQwNTcxIDMzLjA0NjI0MTYgOS42NjE4ODc3OCAzMy4yMzMzMTcxIDkuODEzMzY5ODYgMzMuNDMwMzQwNSA5Ljg4OTEwOTc2IDMzLjYzNzMxNzcgOS44ODkxMDk3NkwzMy42MzczMTc3IDkuODg5MTA5NzYgMzMuNjM3MzE3NyA5Ljg4OTEwOTc2ek0zOC43MTIyMTMzIDQuNjY5MTQ1NDZMMzguNzEyMjEzMyAxMS4zMTM4NTMgMzcuMDc2MzA1OCAxMS4zMTM4NTMgMzcuMDc2MzA1OCA0LjY2OTE0NTQ2IDM4LjcxMjIxMzMgNC42NjkxNDU0NiAzOC43MTIyMTMzIDQuNjY5MTQ1NDZ6TTM3LjA3NjMwNTggMy4xOTUyNzMxOUMzNy4wNzYzMDU4IDIuOTU3ODE0OCAzNy4xNTE5MzA5IDIuNzUzMTEyMzYgMzcuMzAzMTgzNSAyLjU4MTE1OTc0IDM3LjQ1NDQzNiAyLjQwOTIwNzExIDM3LjY0OTQ2OTMgMi4zMjMyMzIwOSAzNy44ODgyODkxIDIuMzIzMjMyMDkgMzguMTExMTg3NiAyLjMyMzIzMjA5IDM4LjMwNDIzMDcgMi40MDkyMDcxMSAzOC40Njc0MjQyIDIuNTgxMTU5NzQgMzguNjMwNjE3OCAyLjc1MzExMjM2IDM4LjcxMjIxMzMgMi45NTc4MTQ4IDM4LjcxMjIxMzMgMy4xOTUyNzMxOSAzOC43MTIyMTMzIDMuNDI0NTQzMzUgMzguNjMwNjE3OCAzLjYxOTAxMDY3IDM4LjQ2NzQyNDIgMy43Nzg2ODA5NiAzOC4zMDQyMzA3IDMuOTM4MzUxMjYgMzguMTExMTg3NiA0LjAxODE4NTIxIDM3Ljg4ODI4OTEgNC4wMTgxODUyMSAzNy42NDk0NjkzIDQuMDE4MTg1MjEgMzcuNDU0NDM2IDMuOTM4MzUxMjYgMzcuMzAzMTgzNSAzLjc3ODY4MDk2IDM3LjE1MTkzMDkgMy42MTkwMTA2NyAzNy4wNzYzMDU4IDMuNDI0NTQzMzUgMzcuMDc2MzA1OCAzLjE5NTI3MzE5TDM3LjA3NjMwNTggMy4xOTUyNzMxOSAzNy4wNzYzMDU4IDMuMTk1MjczMTl6TTM5LjU2MDAxOTQgMi45MjUwNjMyN0w0MS4xODM5ODYgMi4zNjAwNzg5IDQxLjE4Mzk4NiAxMS4zMTM4NTMgMzkuNTYwMDE5NCAxMS4zMTM4NTMgMzkuNTYwMDE5NCAyLjkyNTA2MzI3IDM5LjU2MDAxOTQgMi45MjUwNjMyN3pNNDIuMDMxNzkyMSAyLjkyNTA2MzI3TDQzLjY1NTc1ODcgMi4zNjAwNzg5IDQzLjY1NTc1ODcgMTEuMzEzODUzIDQyLjAzMTc5MjEgMTEuMzEzODUzIDQyLjAzMTc5MjEgMi45MjUwNjMyNyA0Mi4wMzE3OTIxIDIuOTI1MDYzMjd6TTUyLjQ2Nzg0OTEgNC42NjkxNDU0Nkw1Mi40Njc4NDkxIDUuMTIzNTg5NDFDNTIuNTc5Mjk4MyA0LjkzNTI2MDM0IDUyLjc2MjM5MDggNC43ODU4Mjc1NyA1My4wMTcxMzE5IDQuNjc1Mjg2NTkgNTMuMjcxODczMSA0LjU2NDc0NTYyIDUzLjUzODU1MTIgNC41MDk0NzU5NiA1My44MTcxNzQzIDQuNTA5NDc1OTYgNTQuMDAwMjY5NSA0LjUwOTQ3NTk2IDU0LjE3NzM5MTUgNC41MzgxMzQzIDU0LjM0ODU0NTcgNC41OTU0NTE4NSA1NC41MTk2OTk5IDQuNjUyNzY5MzkgNTQuNjUzMDM5IDQuNzQ2OTMyNTEgNTQuNzQ4NTY2OSA0Ljg3Nzk0NDAzTDU0LjE2MzQ2MTMgNi4zNjQwOTg1N0M1My45NjQ0NDQ4IDYuMTgzOTU3NzMgNTMuNzQ1NTI5OSA2LjA5Mzg4ODY2IDUzLjUwNjcxMDEgNi4wOTM4ODg2NiA1My4zMDc2OTM2IDYuMDkzODg4NjYgNTMuMTI2NTkxMyA2LjE2OTYyODU2IDUyLjk2MzM5NzcgNi4zMjExMTA2MyA1Mi44MDAyMDQyIDYuNDcyNTkyNzEgNTIuNjY2ODY1MSA2LjcwODAwMDUxIDUyLjU2MzM3NjUgNy4wMjczNDExTDUyLjU2MzM3NjUgMTEuMzEzODUzIDUwLjkzOTQwOTkgMTEuMzEzODUzIDUwLjkzOTQwOTkgNC42NjkxNDU0NiA1Mi40Njc4NDkxIDQuNjY5MTQ1NDYgNTIuNDY3ODQ5MSA0LjY2OTE0NTQ2ek00OC40NjE2MDg4IDEwLjgyOTMxOTJDNDguMDI4ODg4MiAxMS4yMTU4NzI0IDQ3LjUyNDc0MDUgMTEuNDg0MTExIDQ2Ljk4NjY2NzQgMTEuNDg0MTExIDQ1LjEyMzA5NDEgMTEuNDg0MTExIDQ0LjM0MTk0NzMgOS45MjgwNTIxIDQ0LjM0MTk0NzMgOC4wMDg1NTYxNiA0NC4zNDE5NDczIDYuMDg5MDYwMjMgNDUuMTIzMDk0MSA0LjUzMzAwMTMzIDQ2Ljk4NjY2NzQgNC41MzMwMDEzMyA0Ny41NjU5MDA3IDQuNTMzMDAxMzMgNDguMDU4MTgzNSA0Ljc4MzA1OTI5IDQ4LjQ2MTYwODggNS4xNTg1MTc4Mkw0OC40NjE2MDg4IDQuNjIzMDg3MTcgNTAuMTE2NTEzOSA0LjYyMzA4NzE3IDUwLjExNjUxMzkgMTEuMzk0MDI1MiA0OC40NjE2MDg4IDExLjM5NDAyNTIgNDguNDYxNjA4OCAxMC44MjkzMTkyIDQ4LjQ2MTYwODggMTAuODI5MzE5MnpNNDguNDYxNjA4OCA5LjE1MTIyMDIxQzQ4LjI1NDM5MjQgOS42MTI3NDY0MyA0Ny44ODgwNjAxIDkuOTAwOTc4NTIgNDcuMzU4NTk4MyA5LjkxMDM5ODE0IDQ2LjM1NzM2OTUgOS45MjgyMTA5MyA0NS45NzMyNTE2IDkuMDgwNTg1NDcgNDUuOTU1MjA2MSA4LjAyNjg3Nzc4IDQ1LjkzNzE2MDcgNi45NzMxNzAwOSA0Ni4yOTIwMjEyIDYuMTEyMzk3NzMgNDcuMjkzMjUgNi4wOTQ1ODUwNiA0Ny44MDk0MTU2IDYuMDg1NDAyMDUgNDguMjI3OTIyMiA2LjQyMTYyMDk0IDQ4LjQ2MTYwODggNi45NjI1MjM2TDQ4LjQ2MTYwODggOS4xNTEyMjAyMSA0OC40NjE2MDg4IDkuMTUxMjIwMjF6TTI4Ljc4NjM2ODkgMTAuODI5MzE5MkMyOC4zNTM2NDg0IDExLjIxNTg3MjQgMjcuODQ5NTAwNyAxMS40ODQxMTEgMjcuMzExNDI3NiAxMS40ODQxMTEgMjUuNDQ3ODU0MiAxMS40ODQxMTEgMjQuNjY2NzA3NSA5LjkyODA1MjEgMjQuNjY2NzA3NSA4LjAwODU1NjE2IDI0LjY2NjcwNzUgNi4wODkwNjAyMyAyNS40NDc4NTQyIDQuNTMzMDAxMzMgMjcuMzExNDI3NiA0LjUzMzAwMTMzIDI3Ljg5MDY2MDkgNC41MzMwMDEzMyAyOC4zODI5NDM2IDQuNzgzMDU5MjkgMjguNzg2MzY4OSA1LjE1ODUxNzgyTDI4Ljc4NjM2ODkgNC42MjMwODcxNyAzMC40NDEyNzQgNC42MjMwODcxNyAzMC40NDEyNzQgMTEuMzk0MDI1MiAyOC43ODYzNjg5IDExLjM5NDAyNTIgMjguNzg2MzY4OSAxMC44MjkzMTkyIDI4Ljc4NjM2ODkgMTAuODI5MzE5MiAyOC43ODYzNjg5IDEwLjgyOTMxOTJ6TTI4Ljc4NjM2ODkgOS4xNTEyMjAyMUMyOC41NzkxNTI2IDkuNjEyNzQ2NDMgMjguMjEyODIwMiA5LjkwMDk3ODUyIDI3LjY4MzM1ODQgOS45MTAzOTgxNCAyNi42ODIxMjk2IDkuOTI4MjEwOTMgMjYuMjk4MDExNyA5LjA4MDU4NTQ3IDI2LjI3OTk2NjMgOC4wMjY4Nzc3OCAyNi4yNjE5MjA4IDYuOTczMTcwMDkgMjYuNjE2NzgxMyA2LjExMjM5NzczIDI3LjYxODAxMDEgNi4wOTQ1ODUwNiAyOC4xMzQxNzU3IDYuMDg1NDAyMDUgMjguNTUyNjgyNCA2LjQyMTYyMDk0IDI4Ljc4NjM2ODkgNi45NjI1MjM2TDI4Ljc4NjM2ODkgOS4xNTEyMjAyMSAyOC43ODYzNjg5IDkuMTUxMjIwMjEgMjguNzg2MzY4OSA5LjE1MTIyMDIxek01Ny43NDU1ODIzIDEzLjY3MjA0ODZMNTYuMDQ5OTcwMSAxMy42NzIwNDg2IDU3LjA2NDk0OTIgMTAuNzM2NTg2MyA1NC45Mzk0NjM1IDQuNjY5MTQ1NDYgNTYuNzMwNjAzMSA0LjY2OTE0NTQ2IDU3LjkzNjYzNzIgOC41MjU3Nzc5MSA1OS4xNDI2NzEyIDQuNjY5MTQ1NDYgNjAuODk3OTg4IDQuNjY5MTQ1NDYgNTcuNzQ1NTgyMyAxMy42NzIwNDg2IDU3Ljc0NTU4MjMgMTMuNjcyMDQ4NnpNNi4zODE1NDI3NCA5LjY1MDUwNjdDNi4xNDAwNzQxMiA5LjUyNzg2NDA0IDYuMDgxMjQwMDYgOS4zMTcwOTQ1MyA2LjIxMDQ0MDM3IDkuMDg4NjU1NjUgNi4yNzYxNDk0MSA4Ljk3MjQ3NTYxIDYuNDE4NTkyMzQgOC43NDA3NDQyMiA2LjUzNDY4MTY4IDguNTUzOTgyMiA2LjY5NDMyNzI0IDguMjk3MTQ3ODYgNi45MjcwMTQzNCA4LjI5NjM3NTg4IDcuMDU4MzU4NjYgOC4zNzI1MzM2MiA3LjE4OTcwMjk4IDguNDQ4NjkxMzUgOS4wNDg1MzYwNCA5LjQyMDg3MDYzIDkuMTY4NzQ4NzEgOS40ODY3MDY1NiA5LjQ1MjU5MjYgOS42NDIxNTcxMSA5Ljg3MTE4NjI5IDkuMjg2MjM3NDEgOS42ODM0MjI1MSA4Ljk3NDQxMzI2IDkuNTkzNzUzMzIgOC44MjU0OTczMSA4LjgxMDM5MzggNy40MDQ0NzgzIDguNTYxNDk3OCA2LjkzNjEwNDM4IDguNDQ4MjUxNTYgNi43MjI5OTY5NiA4LjQ3OTIxMDA1IDYuNTMxMzIyNTEgOC43MzE2NDcgNi40MDM3NzQ2MyA4Ljg1NjU2NDM2IDYuMzQwNjU4MSA5LjA4MDA0MjM5IDYuMjA4OTA3OTggOS4yNzM5NDc2MiA2LjA5MTkwNTg2IDkuNDcxODkyMTkgNS45NzI0NjY0IDkuNzM1MzQ4OCA2LjA2MjIzODg1IDkuODQyNDU1NTUgNi4yNDAyMjYyMSA5Ljk0OTU2MjI5IDYuNDE4MjEzNTcgMTMuMTIwOTE4MiAxMi4yMjk0MDE5IDEzLjIyMjE1MTcgMTIuNDA5ODE2OSAxMy40MjMxMjk0IDEyLjc2Nzk5MjggMTMuMDMyMjg1MyAxMy4xNTExMTM3IDEyLjY2Mjk0OSAxMi45NTMwOTQgMTIuNDc4MTQzNiAxMi44NTQwMTA1IDYuNjIzMDExMzYgOS43NzMxNDkzNiA2LjM4MTU0Mjc0IDkuNjUwNTA2N3pNLjIwMDE0NjA2MiA2LjQwMDgxMjA1Qy0uMTExNTU0MjgyIDYuMjMyNzQxMDYtLjA1NDU0NDIzMjggNS43OTYwNDA1Mi4zMzg3ODI2NDggNS42ODQ2NjAzNi42NzIwMzAwODMgNS41OTAyOTMxNyAzLjM3ODIwNjQ3IDQuNjg4MjYzNCA0LjE5NzE1MTE1IDQuNDE0OTAwNyA0LjM0NDc5NDQzIDQuMzY1NjE3NTcgNC40NjAwNTgwOSA0LjI1MjI4MjMyIDQuNTA5NjU3NTcgNC4xMDc1ODY3IDQuNzg4NTg4NTMgMy4yOTM4NjY3MSA1LjcyMDI0NTU2LjU3NTk2MTMzNCA1LjgyNDY4OTExLjI3MTI2OTc5IDUuOTQ3NzA0OC0uMDg3NjAxOTc5IDYuMzkzMDQwNzctLjA4ODkxODQ4NjcgNi41NzQ1NDY3MS4yNTg1MDIyNTEgNi42MzkwMTU2Ni4zODE5MDIzNDYgOS4wODk0MDQ4NCA0Ljc5ODEzNTQzIDkuMTc0NjU5NDYgNC45ODU0NzA1MSA5LjI1OTkxNDA4IDUuMTcyODA1NTkgOS4yMDQ5ODczMSA1LjM4MDMxNDM0IDkuMDExNzY0MDYgNS41MDAwMDUxNSA4LjgxODU0MDggNS42MTk2OTU5NiA4LjUwMzQzNTIyIDUuNzk4NzIwNjUgOC4zOTM2NTA3IDUuODY2NTQzMjMgOC4xOTQ4OTQ2MyA1Ljk4OTMzMDU3IDguMDA0MzkxMzUgNS45MDM4NDMyNCA3LjkxMzY1NTAxIDUuNzEzNjQ4MTYgNy44MjI5MTg2NiA1LjUyMzQ1MzA3IDcuMTIzODc4MjggNC4yOTYyNjg4NiA2LjgzODgyOTUyIDMuNzc1Mjc3OTUgNi42OTYzNDk0MSAzLjUxNDg2MzQxIDYuMjY3MTEzMiAzLjQxNDkyNzk2IDYuMTIyODM3MjEgMy44MzU4MjE1OSA2LjAxODQ4NDg4IDQuMTQwMjQ2NjkgNS43NzUyNjI2NCA0Ljg0OTc5NDM5IDUuNjQ4NjQ1NTcgNS4yMTkxNzIgNS42MDAyMDM3NSA1LjM2MDQ5MDQgNS40Nzc0MTk0NCA1LjQ4MjEyNTU0IDUuMzMzOTgxMjQgNS41MjkzNzAwMSA0Ljk3ODAxNjMgNS42NDY2MTQ3OCA0LjMwMTYyOTQ0IDUuODY5Mzk3NDQgMy45MDY3MjM3NSA1Ljk5OTQ2ODE4IDMuNjI0OTE0NjkgNi4wOTIyODgxIDMuNDg3OTM1MjMgNi41MjE1MDI1NyAzLjg2ODQxNzc2IDYuNzAyMjQ2NzQgMy45NDc4OTUyNSA2Ljc0MDAwMTY3IDUuNjYwOTcxNTMgNy42NTQwNDM5MSA1LjgzNzcyMDU0IDcuNzM3NjQ1NTggNi4wMTQ0Njk1NCA3LjgyMTI0NzI0IDYuMTEyNzUyODEgOC4wNjI1Nzk0NSA2LjAwOTI1MzE2IDguMjMzNTUwMDQgNS44NjgwODA0IDguNDY2NzUyNjggNS42ODczNDc5NiA4Ljc2MjcyMDUyIDUuNjIxNzg2MiA4Ljg1ODgwODE1IDUuNTA4MTU4MzggOS4wMjUzNDE2MyA1LjI4NDk1MDc3IDkuMDgwODAyODYgNS4wOTc0ODk5NiA4Ljk4MjUxMDc2IDQuOTEwMDI5MTUgOC44ODQyMTg2Ni4zMTE1MjIyODkgNi40NjA4NjY4OS4yMDAxNDYwNjIgNi40MDA4MTIwNXoiLz48L2c+ICA8L3N2Zz4gIA==);background-repeat:no-repeat;background-size:contain;width:44px;height:10px;margin-top:3px}.mapillary-attribution-compact .mapillary-attribution-logo{background-size:cover;width:11px}.mapillary-bearing-indicator-container{pointer-events:none;z-index:10;width:40px;height:40px;position:absolute;bottom:34px;right:10px}.mapillary-bearing-indicator-container.mapillary-bearing-compact{bottom:16px;right:2px;transform:scale(.6)}.mapillary-bearing-indicator-background{opacity:.5;transform-origin:50%;width:40px;height:40px;position:absolute;top:0;left:0}.mapillary-bearing-indicator-background-circle{pointer-events:auto;background-color:#000;border-radius:50%;width:40px;height:40px;position:absolute;top:0;left:0}.mapillary-bearing-indicator-background-arrow-container{width:12px;height:8px;position:absolute;top:-3.5px;left:14px;overflow:hidden}.mapillary-bearing-indicator-background-arrow{background-color:#000;border-radius:2px;width:12px;height:12px;position:absolute;top:2px;left:0;transform:rotate(45deg)}.mapillary-bearing-north-container{transform-origin:50% 100%;width:8px;height:21px;position:absolute;top:-1px;left:16px}.mapillary-bearing-north{border-bottom:4px solid #fff;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute}.mapillary-cover-container{z-index:100;background-color:#00000080;position:absolute;inset:0;overflow:hidden}.mapillary-cover-background{z-index:0;background-position:50%;background-size:cover;margin:-3px;position:absolute;inset:0}.mapillary-cover-indicator{z-index:0;cursor:pointer;background-color:#0003;margin:-3px;transition:opacity .1s ease-in-out;position:absolute;inset:0}.mapillary-cover-indicator:hover{opacity:0}.mapillary-cover-button{letter-spacing:1px;z-index:1;pointer-events:none;background-color:#00000080;border-radius:64px;width:128px;height:128px;margin-top:-64px;margin-left:-64px;transition:opacity .2s ease-in-out;position:absolute;top:50%;left:50%}.mapillary-cover-compact .mapillary-cover-button{width:72px;height:72px;margin-top:-36px;margin-left:-36px}.mapillary-cover-button-icon{pointer-events:none;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01Ny43NDc4MjExLDU2LjkzMTc4NDUgTDQwLjkxNDUzODEsNjQuNjM0MjkyIEMzOC40NjQ1MzU5LDY1Ljc1NDY0MzIgMzQuNzg1NzMyMiw2NS43NTMzNDM1IDMyLjc2MzkxMDMsNjQuNjMyOTkyMyBDMzAuNzczNzU4Niw2My41Mjk1MzczIDMxLjE4ODAwNCw2MS43Nzg4MjYxIDMzLjYyNTMzODIsNjAuNzE5NTYxMyBMNjAuMjgzOTk3MSw0OS4xNTIxMzAyIEM2Mi4yODU1NTAxLDQ4LjI4MjYyMzMgNjUuNTAwNzAzLDQ4LjI4MjYyMzMgNjcuNTE2MTkwOCw0OS4xNTIxMzAyIEw5NC4zNDIwNjgyLDYwLjcyNjA1OTkgQzk2Ljc5NDYwNCw2MS43ODQwMjUgOTcuMjM0MTg1Niw2My41MzYwMzU5IDk1LjI2MDUwMjMsNjQuNjM5NDkwOCBDOTMuMjU1MTQ4OSw2NS43NTk4NDIgODkuNTczODExNSw2NS43NTk4NDIgODcuMTA4NjA3Nyw2NC42MzgxOTExIEw3MC42MjEzMjk1LDU3LjE0MDMxMjIgTDcxLjc5NzkzNTgsNzcuMzkyODQ3MiBDNzEuODk1MjAzMSw3OS4wODYzOTEyIDY4LjU0MjcyMzIsODAuNSA2NC4zNDU5NjMsODAuNSBDNjAuMTQ5MjAyOSw4MC41IDU2Ljc3NzI2OTUsNzkuMDg2MzkxMiA1Ni44NTExOTI2LDc3LjM5Mjg0NzIgTDU3Ljc0NzgyMTEsNTYuOTMxNzg0NSBaIi8+PC9nPiAgPC9zdmc+ICA=);background-repeat:no-repeat;background-size:contain;width:100%;height:100%;position:absolute}.mapillary-cover-compact .mapillary-cover-button-icon{width:72px;height:72px}.mapillary-cover-logo{z-index:1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNTciIGhlaWdodD0iNTIiIHZpZXdCb3g9IjAgMCAxNTcgNTIiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICA8cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii41IiBkPSJNODMuMjMwNCAxOS4wNjg2TDgzLjIzMDQgMjAuMjk1NkM4Mi44NDQ0IDE5LjkxNDYgODIuNDIzNCAxOS41ODI2IDgxLjk2MTQgMTkuMzQwNiA4MS4xMTI0IDE4Ljg5NTYgODAuMTkyNCAxOC42NzE2IDc5LjIyODQgMTguNjcxNiA3OC41MzQ0IDE4LjY3MTYgNzcuODY4NCAxOC43NzM2IDc3LjIzNjQgMTguOTgwNkw3NC4yMDI0IDE4Ljk4MDYgNjcuNDg3NCAxOC45Nzg2QzY3LjAyNzQgMTguODYzNiA2Ni41NDk0IDE4LjgwMzYgNjYuMDU2NCAxOC44MDM2IDY0LjIwMzQgMTguODAzNiA2Mi42OTU0IDE5LjM4MjYgNjEuNTQ0NCAyMC4zOTA2TDYxLjU0NDQgMTUuNDU3NiA1NC45MzA0IDE1LjQ1NzYgNTEuOTAwNCAyMi43MDE2IDQ4Ljg3MDQgMTUuNDU3NiA0Mi4yNTY0IDE1LjQ1NzYgNDIuMjU2NCAzNi4wMDY2IDYxLjU0NDQgMzYuMDA2NiA2MS41NDQ0IDM0Ljc1MTZDNjIuNjk1NCAzNS43NTg2IDY0LjIwMzQgMzYuMzM4NiA2Ni4wNTY0IDM2LjMzODYgNjYuNTIwNCAzNi4zMzg2IDY2Ljk3NDQgMzYuMjc3NiA2Ny40MTc0IDM2LjE2MjZMNzEuNDYwNCAzNi4xNjI2IDcxLjQ2MDQgNDEuNDg1NiA3OC42NDk0IDM5LjkxMzYgNzguNjQ5NCAzNi4yOTM2Qzc4Ljg1MjQgMzYuMzA5NiA3OS4wNjA0IDM2LjMxNzYgNzkuMjc1NCAzNi4zMTc2IDgwLjI0NzQgMzYuMzE3NiA4MS4xNjg0IDM2LjA5OTYgODIuMDEwNCAzNS42NjM2IDgyLjQ1MzQgMzUuNDM0NiA4Mi44NTk0IDM1LjE0NzYgODMuMjMwNCAzNC44MDk2TDgzLjIzMDQgMzYuMDA2NiA4OC4xMDg0IDM2LjAwNjYgOTAuNDQzNCAzNi4wMDY2IDkyLjk2MTQgMzYuMDA2NiA5NS4yOTY0IDM2LjAwNjYgMTAwLjE1MDQgMzYuMDA2NiAxMDAuMTUwNCAzNC43MjU2QzEwMS4zMDU0IDM1Ljc0OTYgMTAyLjgyMTQgMzYuMzM4NiAxMDQuNjkwNCAzNi4zMzg2IDEwNS4xNTQ0IDM2LjMzODYgMTA1LjYwODQgMzYuMjc3NiAxMDYuMDUxNCAzNi4xNjI2TDExMi44MzY0IDM2LjE2MjYgMTE3LjY0MTQgMzYuMTYxNiAxMTcuNjQxNCAyNi4wMzE2IDExOS41ODM0IDI3Ljc3NDYgMTIwLjA5NjQgMjYuNDc4NiAxMjIuMzYwNCAzMi44ODY2IDExOS42NzE0IDQwLjU5NzYgMTI3LjIzMTQgNDAuNTk3NiAxMzQuODM0NCAxOS4wNjg2IDEyNy4wOTM0IDE5LjA2ODYgMTI2LjE5MjQgMjEuOTI3NiAxMjUuMjkwNCAxOS4wNjg2IDExOS45NTk0IDE5LjA2ODZDMTE5Ljg5ODQgMTkuMDQ0NiAxMTkuODQwNCAxOS4wMTE2IDExOS43NzY0IDE4Ljk5MDYgMTE5LjIzNjQgMTguODExNiAxMTguNjc1NCAxOC42NzE2IDExOC4xMDI0IDE4LjY3MTYgMTE3LjQ0ODQgMTguNjcxNiAxMTYuODEwNCAxOC43NzM2IDExNi4xOTc0IDE4Ljk4MDZMMTEyLjgzNjQgMTguOTgwNiAxMDYuMTIxNCAxOC45Nzg2QzEwNS42NjE0IDE4Ljg2MzYgMTA1LjE4MzQgMTguODAzNiAxMDQuNjkwNCAxOC44MDM2IDEwMi44MjE0IDE4LjgwMzYgMTAxLjMwNTQgMTkuMzkyNiAxMDAuMTUwNCAyMC40MTY2TDEwMC4xNTA0IDEzLjc2NjYgOTUuMjk2NCAxNS40NDE2IDk1LjI5NjQgMTMuNzY2NiA4OS41MTg0IDE1Ljc1OTZDODkuNDc4NCAxNS43MTQ2IDg5LjQ0OTQgMTUuNjY0NiA4OS40MDc0IDE1LjYyMDYgODguNzE1NCAxNC44OTc2IDg3LjgxNzQgMTQuNTAxNiA4Ni44MjU0IDE0LjUwMTYgODUuNzkyNCAxNC41MDE2IDg0Ljg2MjQgMTQuOTA3NiA4NC4xODA0IDE1LjY3NTYgODMuNTU1NCAxNi4zODA2IDgzLjIzMDQgMTcuMjUyNiA4My4yMzA0IDE4LjE5ODZMODMuMjMwNCAxOS4wNjg2ek0zOS44ODkxIDM1LjM0NUMzOS44NTAxIDM1LjI3NiAzOS41MDExIDM0LjY0NCAzOC44MDIxIDMzLjM3NSAzOC44NTMxIDMzLjQ2OCAzNy4xMTExIDMwLjMwNyAzNi41NTgxIDI5LjMwNiAzNC4zNDkxIDI1LjMwMSAzMy4yOTIxIDIzLjM4OCAzMy4xNzYxIDIzLjE5NyAzMi45MzUxIDIyLjc5OSAzMi41OTUxIDIyLjQ4OSAzMi4yMDkxIDIyLjI1OCAzMi4yMzMxIDIxLjgyIDMyLjE2MTEgMjEuMzcgMzEuOTY0MSAyMC45NDEgMzEuODU1MSAyMC43MDIgMzEuMDg0MSAxOS4zMSAyOS4zMjQxIDE2LjE1MSAyOS4yNDIxIDE2LjAwMyAyNi44MDUxIDExLjYzMiAyNi43NzUxIDExLjU3NSAyNS42MzMxIDkuNDA4IDIyLjQ3NDEgOS40NDYgMjEuNjMzMSAxMS44NzlMMjEuMjE3MSAxMy4wODIgMjAuNDYyMSAxNS4yNjYgMTkuMjAxMSAxOC45MTVDMTUuNjQ5MSAyMC4wODkgMTIuNTg3MSAyMS4wOTMgMTIuMTM2MSAyMS4yMiA5LjcxMzEgMjEuOTAxIDkuMTY3MSAyNS4wODcgMTEuNDU5MSAyNi4zMTMgMTEuNjU1MSAyNi40MTggMjAuNjMzMSAzMS4xMSAyMS4xNjIxIDMxLjM4NSAyMS42MTgxIDMxLjYyMiAyMi4xMTIxIDMxLjcyMSAyMi41OTUxIDMxLjY5OSAyMi44NjAxIDMyLjEwNiAyMy4yMzIxIDMyLjQ1OSAyMy43MjQxIDMyLjcwNiAyNC4xMTgxIDMyLjkwNSAzNS42MzAxIDM4LjkwOCAzNi4xMDQxIDM5LjE2IDM4LjU2MjEgNDAuNDY4IDQxLjI5NDEgMzcuODI3IDM5Ljg4OTEgMzUuMzQ1Ii8+ICA8cGF0aCBmaWxsPSIjRkZGIiBkPSJNNTkuNTQ0NCAxNy40NTczTDU5LjU0NDQgMzQuMDA3MyA1Ni4zNTU0IDM0LjAwNzMgNTYuMzU1NCAyNS4zOTczIDUyLjc2ODQgMzQuMDA3MyA1MS4wMzM0IDM0LjAwNzMgNDcuNDQ1NCAyNS4zOTczIDQ3LjQ0NTQgMzQuMDA3MyA0NC4yNTY0IDM0LjAwNzMgNDQuMjU2NCAxNy40NTczIDQ3LjUzOTQgMTcuNDU3MyA1MS45MDA0IDI3Ljg4NDMgNTYuMjYxNCAxNy40NTczIDU5LjU0NDQgMTcuNDU3M3pNNzMuNDYxNCAyMS4wNjgzTDc2LjI1MTQgMjEuMDY4MyA3Ni4yNTE0IDIyLjE0NDNDNzYuNDM4NCAyMS43NjIzIDc2LjgxMzQgMjEuNDM2MyA3Ny4zNzY0IDIxLjE2NDMgNzcuOTM4NCAyMC44OTQzIDc4LjU1NjQgMjAuNzU4MyA3OS4yMjg0IDIwLjc1ODMgNzkuODY5NCAyMC43NTgzIDgwLjQ3MDQgMjAuOTA1MyA4MS4wMzQ0IDIxLjIwMDMgODEuNTk2NCAyMS40OTUzIDgyLjA4NTQgMjEuOTMwMyA4Mi40OTk0IDIyLjUwMzMgODIuOTEzNCAyMy4wNzczIDgzLjI0MjQgMjMuNzg3MyA4My40ODQ0IDI0LjYzMjMgODMuNzI2NCAyNS40NzczIDgzLjg0NzQgMjYuNDQxMyA4My44NDc0IDI3LjUyNTMgODMuODQ3NCAyOC42NDIzIDgzLjczMDQgMjkuNjIyMyA4My40OTY0IDMwLjQ2NzMgODMuMjYxNCAzMS4zMTIzIDgyLjk0MDQgMzIuMDIxMyA4Mi41MzQ0IDMyLjU5NjMgODIuMTI4NCAzMy4xNzAzIDgxLjY0NzQgMzMuNjAwMyA4MS4wOTI0IDMzLjg4NzMgODAuNTM4NCAzNC4xNzQzIDc5LjkzMTQgMzQuMzE3MyA3OS4yNzU0IDM0LjMxNzMgNzguNTcyNCAzNC4zMTczIDc4LjAwNDQgMzQuMjA2MyA3Ny41NzU0IDMzLjk4MjMgNzcuMTQ1NCAzMy43NjAzIDc2LjgzNjQgMzMuNDgwMyA3Ni42NDk0IDMzLjE0NTNMNzYuNjQ5NCAzOC4zMDMzIDczLjQ2MTQgMzkuMDAxMyA3My40NjE0IDIxLjA2ODN6TTc4LjQ3ODQgMzEuMjMyM0M4MC4wMjU0IDMxLjIzMjMgODAuNzk5NCAzMC4wMDUzIDgwLjc5OTQgMjcuNTUwMyA4MC43OTk0IDI2LjM1MzMgODAuNjA4NCAyNS40NDUzIDgwLjIyNDQgMjQuODIzMyA3OS44NDE0IDI0LjIwMTMgNzkuMjkxNCAyMy44OTEzIDc4LjU3MjQgMjMuODkxMyA3OC4wNDA0IDIzLjg5MTMgNzcuNTk4NCAyNC4wNzgzIDc3LjI0NzQgMjQuNDUyMyA3Ni44OTU0IDI0LjgyNzMgNzYuNjI2NCAyNS4yNjkzIDc2LjQzODQgMjUuNzc5M0w3Ni40Mzg0IDI5LjQ2MzNDNzYuNjU3NCAzMC4wNTMzIDc2Ljk1MDQgMzAuNDk1MyA3Ny4zMTc0IDMwLjc5MDMgNzcuNjg0NCAzMS4wODUzIDc4LjA3MTQgMzEuMjMyMyA3OC40Nzg0IDMxLjIzMjN6TTg1LjIzMDQgMzQuMDA3M0w4OC40NDM0IDM0LjAwNzMgODguNDQzNCAyMS4wNjkzIDg1LjIzMDQgMjEuMDY5MyA4NS4yMzA0IDM0LjAwNzN6TTg1LjIzMDQgMTguMTk4M0M4NS4yMzA0IDE3LjczNjMgODUuMzc5NCAxNy4zMzgzIDg1LjY3NjQgMTcuMDAzMyA4NS45NzM0IDE2LjY2ODMgODYuMzU2NCAxNi41MDEzIDg2LjgyNTQgMTYuNTAxMyA4Ny4yNjI0IDE2LjUwMTMgODcuNjQxNCAxNi42NjgzIDg3Ljk2MjQgMTcuMDAzMyA4OC4yODM0IDE3LjMzODMgODguNDQzNCAxNy43MzYzIDg4LjQ0MzQgMTguMTk4MyA4OC40NDM0IDE4LjY0NTMgODguMjgzNCAxOS4wMjMzIDg3Ljk2MjQgMTkuMzM1MyA4Ny42NDE0IDE5LjY0NTMgODcuMjYyNCAxOS44MDEzIDg2LjgyNTQgMTkuODAxMyA4Ni4zNTY0IDE5LjgwMTMgODUuOTczNCAxOS42NDUzIDg1LjY3NjQgMTkuMzM1MyA4NS4zNzk0IDE5LjAyMzMgODUuMjMwNCAxOC42NDUzIDg1LjIzMDQgMTguMTk4M3pNOTAuMTA3NCAxNy42NzMzTDkzLjI5NjQgMTYuNTcyMyA5My4yOTY0IDM0LjAwNzMgOTAuMTA3NCAzNC4wMDczIDkwLjEwNzQgMTcuNjczM3pNOTQuOTYxNCAxNy42NzMzTDk4LjE1MDQgMTYuNTcyMyA5OC4xNTA0IDM0LjAwNzMgOTQuOTYxNCAzNC4wMDczIDk0Ljk2MTQgMTcuNjczM3pNMTE1LjQ1MzQgMjEuMDY4M0wxMTUuNDUzNCAyMS45NTMzQzExNS42NzE0IDIxLjU4NzMgMTE2LjAzMjQgMjEuMjk2MyAxMTYuNTMyNCAyMS4wODAzIDExNy4wMzI0IDIwLjg2NTMgMTE3LjU1NTQgMjAuNzU4MyAxMTguMTAzNCAyMC43NTgzIDExOC40NjI0IDIwLjc1ODMgMTE4LjgxMDQgMjAuODEzMyAxMTkuMTQ2NCAyMC45MjUzIDExOS40ODI0IDIxLjAzNjMgMTE5Ljc0NDQgMjEuMjIwMyAxMTkuOTMxNCAyMS40NzUzTDExOC43ODM0IDI0LjM2OTNDMTE4LjM5MjQgMjQuMDE4MyAxMTcuOTYxNCAyMy44NDMzIDExNy40OTM0IDIzLjg0MzMgMTE3LjEwMjQgMjMuODQzMyAxMTYuNzQ3NCAyMy45OTAzIDExNi40MjY0IDI0LjI4NTMgMTE2LjEwNjQgMjQuNTgwMyAxMTUuODQ0NCAyNS4wMzgzIDExNS42NDE0IDI1LjY2MDNMMTE1LjY0MTQgMzQuMDA3MyAxMTIuNDUyNCAzNC4wMDczIDExMi40NTI0IDIxLjA2ODMgMTE1LjQ1MzQgMjEuMDY4M3pNMTA3LjU4NjQgMzMuMDYzM0MxMDYuNzM3NCAzMy44MTUzIDEwNS43NDc0IDM0LjMzODMgMTA0LjY5MDQgMzQuMzM4MyAxMDEuMDMxNCAzNC4zMzgzIDk5LjQ5ODQgMzEuMzA5MyA5OS40OTg0IDI3LjU3MDMgOTkuNDk4NCAyMy44MzMzIDEwMS4wMzE0IDIwLjgwNDMgMTA0LjY5MDQgMjAuODA0MyAxMDUuODI4NCAyMC44MDQzIDEwNi43OTU0IDIxLjI5MDMgMTA3LjU4NjQgMjIuMDIxM0wxMDcuNTg2NCAyMC45NzgzIDExMC44MzY0IDIwLjk3ODMgMTEwLjgzNjQgMzQuMTYyMyAxMDcuNTg2NCAzNC4xNjIzIDEwNy41ODY0IDMzLjA2MzN6TTEwNy41ODY0IDI5Ljc5NjNDMTA3LjE3OTQgMzAuNjk0MyAxMDYuNDYxNCAzMS4yNTYzIDEwNS40MjA0IDMxLjI3MzMgMTAzLjQ1NTQgMzEuMzA5MyAxMDIuNzAxNCAyOS42NTgzIDEwMi42NjU0IDI3LjYwNjMgMTAyLjYyOTQgMjUuNTU1MyAxMDMuMzI3NCAyMy44NzkzIDEwNS4yOTM0IDIzLjg0NDMgMTA2LjMwNjQgMjMuODI2MyAxMDcuMTI4NCAyNC40ODAzIDEwNy41ODY0IDI1LjUzNDNMMTA3LjU4NjQgMjkuNzk2M3pNNjguOTUzNCAzMy4wNjMzQzY4LjEwMzQgMzMuODE1MyA2Ny4xMTM0IDM0LjMzODMgNjYuMDU2NCAzNC4zMzgzIDYyLjM5NzQgMzQuMzM4MyA2MC44NjM0IDMxLjMwOTMgNjAuODYzNCAyNy41NzAzIDYwLjg2MzQgMjMuODMzMyA2Mi4zOTc0IDIwLjgwNDMgNjYuMDU2NCAyMC44MDQzIDY3LjE5NDQgMjAuODA0MyA2OC4xNjE0IDIxLjI5MDMgNjguOTUzNCAyMi4wMjEzTDY4Ljk1MzQgMjAuOTc4MyA3Mi4yMDI0IDIwLjk3ODMgNzIuMjAyNCAzNC4xNjIzIDY4Ljk1MzQgMzQuMTYyMyA2OC45NTM0IDMzLjA2MzN6TTY4Ljk1MzQgMjkuNzk2M0M2OC41NDU0IDMwLjY5NDMgNjcuODI2NCAzMS4yNTYzIDY2Ljc4NzQgMzEuMjczMyA2NC44MjE0IDMxLjMwOTMgNjQuMDY2NCAyOS42NTgzIDY0LjAzMTQgMjcuNjA2MyA2My45OTY0IDI1LjU1NTMgNjQuNjkyNCAyMy44NzkzIDY2LjY1ODQgMjMuODQ0MyA2Ny42NzI0IDIzLjgyNjMgNjguNDk0NCAyNC40ODAzIDY4Ljk1MzQgMjUuNTM0M0w2OC45NTM0IDI5Ljc5NjN6TTEyNS44MTY0IDM4LjU5OTNMMTIyLjQ4NzQgMzguNTk5MyAxMjQuNDgwNCAzMi44ODMzIDEyMC4zMDY0IDIxLjA2ODMgMTIzLjgyNDQgMjEuMDY4MyAxMjYuMTkyNCAyOC41NzgzIDEyOC41NjA0IDIxLjA2ODMgMTMyLjAwNjQgMjEuMDY4MyAxMjUuODE2NCAzOC41OTkzek0yNC42MjQgMzAuOTIwMUMyNC4xNDYgMzAuNjgwMSAyNC4wMyAzMC4yNjcxIDI0LjI4NiAyOS44MTgxIDI0LjQxNiAyOS41OTExIDI0LjY5NyAyOS4xMzcxIDI0LjkyNyAyOC43NzExIDI1LjI0MiAyOC4yNjcxIDI1LjcwMyAyOC4yNjYxIDI1Ljk2MiAyOC40MTUxIDI2LjIyMiAyOC41NjUxIDI5Ljg5NyAzMC40NzAxIDMwLjEzNSAzMC41OTkxIDMwLjY5NiAzMC45MDMxIDMxLjUyMyAzMC4yMDYxIDMxLjE1MiAyOS41OTUxIDMwLjk3NSAyOS4zMDMxIDI5LjQyNiAyNi41MTcxIDI4LjkzNCAyNS41OTkxIDI4LjcxIDI1LjE4MTEgMjguNzcxIDI0LjgwNTEgMjkuMjcgMjQuNTU1MSAyOS41MTggMjQuNDMyMSAyOS45NTkgMjQuMTczMSAzMC4zNDMgMjMuOTQzMSAzMC43MzQgMjMuNzA5MSAzMS4yNTUgMjMuODg2MSAzMS40NjcgMjQuMjM0MSAzMS42NzggMjQuNTgzMSAzNy45NDkgMzUuOTc2MSAzOC4xNDkgMzYuMzI5MSAzOC41NDYgMzcuMDMyMSAzNy43NzMgMzcuNzgzMSAzNy4wNDMgMzcuMzk1MSAzNi42NzggMzcuMjAwMSAyNS4xMDIgMzEuMTYwMSAyNC42MjQgMzAuOTIwMU0xMi40MDIgMjQuNTQ5MUMxMS43ODYgMjQuMjIwMSAxMS44OTkgMjMuMzYzMSAxMi42NzcgMjMuMTQ2MSAxMy4zMzUgMjIuOTYwMSAxOC42ODYgMjEuMTkxMSAyMC4zMDUgMjAuNjU2MSAyMC41OTcgMjAuNTYwMSAyMC44MjUgMjAuMzM3MSAyMC45MjMgMjAuMDU0MSAyMS40NzUgMTguNDU4MSAyMy4zMTYgMTMuMTMwMSAyMy41MjMgMTIuNTMyMSAyMy43NjYgMTEuODI5MSAyNC42NDYgMTEuODI2MSAyNS4wMDUgMTIuNTA4MSAyNS4xMzMgMTIuNzQ5MSAyOS45NzggMjEuNDA3MSAzMC4xNDYgMjEuNzc0MSAzMC4zMTUgMjIuMTQyMSAzMC4yMDYgMjIuNTQ5MSAyOS44MjQgMjIuNzgzMSAyOS40NDIgMjMuMDE4MSAyOC44MTkgMjMuMzY5MSAyOC42MDIgMjMuNTAyMSAyOC4yMDkgMjMuNzQyMSAyNy44MzIgMjMuNTc1MSAyNy42NTMgMjMuMjAyMSAyNy40NzQgMjIuODI5MSAyNi4wOTIgMjAuNDI0MSAyNS41MjggMTkuNDAyMSAyNS4yNDcgMTguODkyMSAyNC4zOTggMTguNjk1MSAyNC4xMTIgMTkuNTIxMSAyMy45MDYgMjAuMTE3MSAyMy40MjUgMjEuNTA5MSAyMy4xNzUgMjIuMjMyMSAyMy4wNzkgMjIuNTEwMSAyMi44MzYgMjIuNzQ4MSAyMi41NTMgMjIuODQxMSAyMS44NDkgMjMuMDcwMSAyMC41MTIgMjMuNTA4MSAxOS43MzEgMjMuNzYzMSAxOS4xNzQgMjMuOTQ0MSAxOC45MDMgMjQuNzg2MSAxOS42NTUgMjUuMTQxMSAxOS44MTIgMjUuMjE0MSAyMy4xOTkgMjcuMDA2MSAyMy41NDkgMjcuMTcwMSAyMy44OTggMjcuMzM0MSAyNC4wOTMgMjcuODA3MSAyMy44ODggMjguMTQzMSAyMy42MDkgMjguNjAwMSAyMy4yNTEgMjkuMTgwMSAyMy4xMjIgMjkuMzY4MSAyMi44OTcgMjkuNjk0MSAyMi40NTYgMjkuODAzMSAyMi4wODUgMjkuNjEwMSAyMS43MTQgMjkuNDE4MSAxMi42MjMgMjQuNjY3MSAxMi40MDIgMjQuNTQ5MSIvPjwvZz4gIDwvc3ZnPiAg);background-repeat:no-repeat;background-size:contain;width:157px;height:52px;margin-left:-73px;transition:opacity .2s ease-in-out;position:absolute;bottom:0;left:50%}.mapillary-cover-compact .mapillary-cover-logo{width:104px;height:35px;margin-left:-49px}.mapillary-cover-done{visibility:hidden;opacity:0}.mapillary-cover.mapillary-cover-loading .mapillary-cover-button,.mapillary-cover.mapillary-cover-loading .mapillary-cover-logo{opacity:0}.mapillary-cover-spinner{z-index:1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4NCIgaGVpZ2h0PSI4NCIgdmlld0JveD0iMCAwIDg0IDg0Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZD0iTTQyLDg0IEM2NS4xOTYsODQgODQsNjUuMTk2IDg0LDQyIEM4NCwxOC44MDQgNjUuMTk2LDAgNDIsMCBDMTguODA0LDAgMCwxOC44MDQgMCw0MiBDMCw2NS4xOTYgMTguODA0LDg0IDQyLDg0Ii8+ICA8cGF0aCBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik00Miw4My45OTg1MTA0IEM0MC4zNDMxNDU4LDgzLjk5ODUxMDQgMzksODIuNjU1MzY0NiAzOSw4MC45OTg1MTA0IEMzOSw3OS4zNDE2NTYxIDQwLjM0MzE0NTgsNzcuOTk4NTEwNCA0Miw3Ny45OTg1MTA0IEM2MS44ODIyODg2LDc3Ljk5ODUxMDQgNzgsNjEuODgwNzk5IDc4LDQxLjk5ODUxMDQgQzc4LDIyLjIzNDkyOTQgNjIuMDY2MzMxNiw2LjE3MDg3ODA2IDQyLjMxODc2ODIsNS45OTk4ODk5NCBDNDAuNjYxOTc2LDUuOTg1NTQ0MjggMzkuMzMwNTEwMSw0LjYzMDgxOTQyIDM5LjM0NDg1NTgsMi45NzQwMjcyOCBDMzkuMzU5MjAxNCwxLjMxNzIzNTE0IDQwLjcxMzkyNjMsLTAuMDE0MjMwODE0NiA0Mi4zNzA3MTg0LDAuMDAwMTE0ODQyOTUyIEM2NS40MTA5MTU3LDAuMTk5NjEyODggODQsMTguOTQwODA5MSA4NCw0MS45OTg1MTA0IEM4NCw2NS4xOTQ1MDc1IDY1LjE5NTk5NzEsODMuOTk4NTEwNCA0Miw4My45OTg1MTA0IFoiLz48L2c+ICA8L3N2Zz4gIA==);background-repeat:no-repeat;background-size:100%;width:32px;height:32px;margin-top:-16px;margin-left:-16px;animation:1s linear infinite rotate;position:absolute;top:50%;left:50%}@keyframes rotate{to{transform:rotate(360deg)}}.mapillary-direction-perspective{pointer-events:none;transform-style:preserve-3d;z-index:10;display:block;position:absolute}.mapillary-direction-circle,.mapillary-direction-circle-sequence,.mapillary-direction-circle-inactive,.mapillary-direction-circle-highlight,.mapillary-direction-circle-sequence-highlight{border-radius:50%;position:absolute}.mapillary-direction-circle,.mapillary-direction-circle-sequence,.mapillary-direction-circle-highlight,.mapillary-direction-circle-sequence-highlight{pointer-events:auto}.mapillary-direction-circle:hover,.mapillary-direction-circle-sequence:hover,.mapillary-direction-circle-highlight:hover,.mapillary-direction-circle-sequence-highlight:hover{cursor:pointer}.mapillary-direction-circle,.mapillary-direction-circle-sequence{background:0 0}.mapillary-direction-circle-inactive{z-index:-1;background:0 0}.mapillary-direction-circle-highlight,.mapillary-direction-circle-sequence-highlight{background:#0006}.mapillary-direction-arrow-step,.mapillary-direction-arrow-spherical,.mapillary-direction-arrow-inactive{pointer-events:none;width:75%;height:44.0775%;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.mapillary-direction-arrow-step,.mapillary-direction-arrow-inactive{background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgNTguNzciPgogICAgPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTk3LjQ0LDQzLjgyTDU2LjE4LDIuNTZhOC43NSw4Ljc1LDAsMCwwLTEyLjM3LDBoMEwyLjU2LDQzLjhBOC43NSw4Ljc1LDAsMCwwLDE0Ljk0LDU2LjE4bDM1LTM1TDg1LjA1LDU2LjJBOC43NSw4Ljc1LDAsMSwwLDk3LjQ0LDQzLjgyaDBaIi8+Cjwvc3ZnPg==) no-repeat}.mapillary-direction-arrow-inactive{opacity:.2;z-index:-1}.mapillary-direction-arrow-spherical{background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgNTguNzciPgogICAgPHBhdGggZmlsbD0iI0Y1REVCMyIgZD0iTTk3LjQ0LDQzLjgyTDU2LjE4LDIuNTZhOC43NSw4Ljc1LDAsMCwwLTEyLjM3LDBoMEwyLjU2LDQzLjhBOC43NSw4Ljc1LDAsMCwwLDE0Ljk0LDU2LjE4bDM1LTM1TDg1LjA1LDU2LjJBOC43NSw4Ljc1LDAsMSwwLDk3LjQ0LDQzLjgyaDBaIi8+Cjwvc3ZnPg==) no-repeat}.mapillary-direction-turn-circle,.mapillary-direction-turn-circle-sequence,.mapillary-direction-turn-circle-highlight,.mapillary-direction-turn-circle-sequence-highlight{pointer-events:auto;border-radius:50%;position:absolute}.mapillary-direction-turn-circle,.mapillary-direction-turn-circle-sequence{background:0 0}.mapillary-direction-turn-circle-highlight,.mapillary-direction-turn-circle-sequence-highlight{background:#0006}.mapillary-direction-turn-circle:hover,.mapillary-direction-turn-circle-sequence:hover,.mapillary-direction-turn-circle-highlight:hover,.mapillary-direction-turn-circle-sequence-highlight:hover{cursor:pointer}.mapillary-direction-turn-left,.mapillary-direction-turn-right,.mapillary-direction-turn-around{pointer-events:none;filter:drop-shadow(0 2px 1px #000c);position:absolute;top:50%}.mapillary-direction-turn-left,.mapillary-direction-turn-right{width:58.794%;height:70%}.mapillary-direction-turn-around{width:75%;height:63.2475%;left:50%}.mapillary-direction-turn-left{background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTE5LjA2Ij4KICAgIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik05OS4yLDc2Qzk4LDY0LjkxLDk1LjA2LDU2LjYsODkuNTcsNTAsNzksMzcuMzgsNjAuMywzMi43MiwyNC40MiwzMi4zOUw0NC44OSwxMS45M0E3LDcsMCwwLDAsMzUsMmgwbC0zMywzM2E3LDcsMCwwLDAsMCw5Ljg4TDM1LDc3Ljg1YTcsNywwLDEsMCw5LjktOS45TDI0Ljc5LDQ3Ljg5QzU2LDQ4LjE4LDcxLDUxLjkzLDc3LjcyLDYwYzMuMjEsMy44OCw1LjE4LDkuNDIsNi4xMSwxNy43NywwLjg1LDcuNTkuODcsMTYuMjIsMC4zNCwzMy4zNmE3Ljc0LDcuNzQsMCwxLDAsMTUuNDYuNDhDMTAwLjE5LDkzLjcyLDEwMC4xNiw4NC42LDk5LjIsNzZaIi8+Cjwvc3ZnPg==) no-repeat;left:45%;transform:translate(-50%,-50%)}.mapillary-direction-turn-right{background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTE5LjA2Ij4KICAgIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik05OS4yLDc2Qzk4LDY0LjkxLDk1LjA2LDU2LjYsODkuNTcsNTAsNzksMzcuMzgsNjAuMywzMi43MiwyNC40MiwzMi4zOUw0NC44OSwxMS45M0E3LDcsMCwwLDAsMzUsMmgwbC0zMywzM2E3LDcsMCwwLDAsMCw5Ljg4TDM1LDc3Ljg1YTcsNywwLDEsMCw5LjktOS45TDI0Ljc5LDQ3Ljg5QzU2LDQ4LjE4LDcxLDUxLjkzLDc3LjcyLDYwYzMuMjEsMy44OCw1LjE4LDkuNDIsNi4xMSwxNy43NywwLjg1LDcuNTkuODcsMTYuMjIsMC4zNCwzMy4zNmE3Ljc0LDcuNzQsMCwxLDAsMTUuNDYuNDhDMTAwLjE5LDkzLjcyLDEwMC4xNiw4NC42LDk5LjIsNzZaIi8+Cjwvc3ZnPg==) no-repeat;left:55%;transform:translate(-50%,-50%)scaleX(-1)}.mapillary-direction-turn-around{background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgODQuMzMiPgogICAgPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTY1LjQ3LDBDNTYsMCw0Ni44Niw1LjM5LDQwLjIxLDE2LjA3LDMzLjQ3LDI3LDI5LjM2LDQzLjE4LDI4LjQzLDY1TDEwLDQ2LjU5YTUuODcsNS44NywwLDAsMC04LjMsOC4zTDI5LjQ0LDgyLjYxYTUuODgsNS44OCwwLDAsMCw4LjMsMEw2NS40Nyw1NWE1Ljg4LDUuODgsMCwxLDAtOC4zMi04LjMyTDM5LjMyLDY0LjQ3YzAuOTItMTkuNTYsNC41LTMzLjcsMTAuMTEtNDIuNzIsNC43Mi03LjYyLDEwLjQ1LTExLDE2LjEtMTFhMTYuNjQsMTYuNjQsMCwwLDEsMTQuNzgsOEM4NiwyNyw4OS4yMSw0MS44NSw4OS4yMSw2NC40N2E1LjM5LDUuMzksMCwxLDAsMTAuNzksMEMxMDAuMDUsMTguNzgsODcuMjIsMCw2NS40NywwWiIvPgo8L3N2Zz4=) no-repeat;transform:translate(-50%,-50%)}@media (hover:hover){.mapillary-direction-circle:hover,.mapillary-direction-circle-sequence:hover,.mapillary-direction-turn-circle:hover,.mapillary-direction-turn-circle-sequence:hover{background:#0006}}.mapillary-viewer{-webkit-tap-highlight-color:#0000;background-color:#0f0f0f;position:relative;overflow:hidden}.mapillary-interactive{cursor:grab}.mapillary-interactive:active{cursor:grabbing}.mapillary-viewer .mapillary-dom{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.mapillary-dom .mapillary-dom-renderer{pointer-events:auto}.mapillary-viewer div{box-sizing:content-box}.mapillary-viewer input:focus{background:0 0}.mapillary-navigation-sequence,.mapillary-navigation-spatial{pointer-events:none;z-index:10;position:absolute}.mapillary-navigation-sequence{margin-left:-40px;top:12px;left:50%}.mapillary-navigation-spatial{margin-left:-100px;bottom:18px;left:50%}.mapillary-navigation-spatial-bottom{margin-left:40px}.mapillary-navigation-button{pointer-events:auto;cursor:pointer;filter:drop-shadow(0 2px #000);background-repeat:no-repeat;background-size:contain;width:36px;height:36px;margin:0 2px;display:inline-block}.mapillary-navigation-prev,.mapillary-navigation-left{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDkwLDkwKSI+PGcgaWQ9ImFycm93LXVwIiBmaWxsPSIjRkZGRkZGIj48cGF0aCBkPSJNODguODg0MzgxNyw0NS43Mzc4ODA2IEM4OC4yOTk4ODUzLDQ1Ljk0OTc5MTYgODcuNzUxNTY5Miw0Ni4yODk5Mjk5IDg3LjI4MzA4NTMsNDYuNzU4NDEzOCBMMzEuMzYzMzk0NywxMDIuNjc4MTA0IEMyOS42NDYwNjE0LDEwNC4zOTU0MzggMjkuNjUxODM2MywxMDcuMTcwNDk4IDMxLjM2NzAwMzEsMTA4Ljg4NTY2NCBMNDAuNjg2NzQ1MywxMTguMjA1NDA3IEM0Mi40MDAzOTY3LDExOS45MTkwNTggNDUuMTgxMTMxMywxMTkuOTIyMTg5IDQ2Ljg5NDMwNTIsMTE4LjIwOTAxNSBMOTAuODAwOTI3Niw3NC4zMDIzOTI2IEwxMzQuNDUwNTUsMTE3Ljk1MjAxNSBDMTM2LjE2Nzg4MywxMTkuNjY5MzQ5IDEzOC45NDI5NDMsMTE5LjY2MzU3NCAxNDAuNjU4MTEsMTE3Ljk0ODQwNyBMMTQ5Ljk3Nzg1MiwxMDguNjI4NjY1IEMxNTEuNjkxNTA0LDEwNi45MTUwMTMgMTUxLjY5NDYzNSwxMDQuMTM0Mjc5IDE0OS45ODE0NjEsMTAyLjQyMTEwNSBMOTQuMDYxNzcwMSw0Ni41MDE0MTQxIEM5Mi42NTczMTA5LDQ1LjA5Njk1NDkgOTAuNTQ1NDIzMSw0NC44NDQ5NDQ1IDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBMODguODg0MzgxNyw0NS43Mzc4ODA2IFoiIGlkPSJBcnJvdyIgPjwvcGF0aD48cGF0aCBkPSJNOTAsMTcwLjEzODgxMiBDMTM0LjI1OTQ0NCwxNzAuMTM4ODEyIDE3MC4xMzg4MTIsMTM0LjI1OTQ0NCAxNzAuMTM4ODEyLDkwIEMxNzAuMTM4ODEyLDQ1Ljc0MDU1NjIgMTM0LjI1OTQ0NCw5Ljg2MTE4Nzg1IDkwLDkuODYxMTg3ODUgQzQ1Ljc0MDU1NjIsOS44NjExODc4NSA5Ljg2MTE4Nzg1LDQ1Ljc0MDU1NjIgOS44NjExODc4NSw5MCBDOS44NjExODc4NSwxMzQuMjU5NDQ0IDQ1Ljc0MDU1NjIsMTcwLjEzODgxMiA5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIFogTTAsOTAgQzAsNDAuMjk0MzcyNSA0MC4yOTQzNzI1LDAgOTAsMCBDMTM5LjcwNTYyNywwIDE4MCw0MC4yOTQzNzI1IDE4MCw5MCBDMTgwLDEzOS43MDU2MjcgMTM5LjcwNTYyNywxODAgOTAsMTgwIEM0MC4yOTQzNzI1LDE4MCAwLDEzOS43MDU2MjcgMCw5MCBaIiBpZD0iQ2lyY2xlIj48L3BhdGg+PC9nPjwvZz48L3N2Zz4=)}.DirectionNext,.DirectionRight{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgOTAsOTApIj48ZyBpZD0iYXJyb3ctdXAiIGZpbGw9IiNGRkZGRkYiPjxwYXRoIGQ9Ik04OC44ODQzODE3LDQ1LjczNzg4MDYgQzg4LjI5OTg4NTMsNDUuOTQ5NzkxNiA4Ny43NTE1NjkyLDQ2LjI4OTkyOTkgODcuMjgzMDg1Myw0Ni43NTg0MTM4IEwzMS4zNjMzOTQ3LDEwMi42NzgxMDQgQzI5LjY0NjA2MTQsMTA0LjM5NTQzOCAyOS42NTE4MzYzLDEwNy4xNzA0OTggMzEuMzY3MDAzMSwxMDguODg1NjY0IEw0MC42ODY3NDUzLDExOC4yMDU0MDcgQzQyLjQwMDM5NjcsMTE5LjkxOTA1OCA0NS4xODExMzEzLDExOS45MjIxODkgNDYuODk0MzA1MiwxMTguMjA5MDE1IEw5MC44MDA5Mjc2LDc0LjMwMjM5MjYgTDEzNC40NTA1NSwxMTcuOTUyMDE1IEMxMzYuMTY3ODgzLDExOS42NjkzNDkgMTM4Ljk0Mjk0MywxMTkuNjYzNTc0IDE0MC42NTgxMSwxMTcuOTQ4NDA3IEwxNDkuOTc3ODUyLDEwOC42Mjg2NjUgQzE1MS42OTE1MDQsMTA2LjkxNTAxMyAxNTEuNjk0NjM1LDEwNC4xMzQyNzkgMTQ5Ljk4MTQ2MSwxMDIuNDIxMTA1IEw5NC4wNjE3NzAxLDQ2LjUwMTQxNDEgQzkyLjY1NzMxMDksNDUuMDk2OTU0OSA5MC41NDU0MjMxLDQ0Ljg0NDk0NDUgODguODg0MzgxNyw0NS43Mzc4ODA2IEw4OC44ODQzODE3LDQ1LjczNzg4MDYgWiIgaWQ9IkFycm93IiA+PC9wYXRoPjxwYXRoIGQ9Ik05MCwxNzAuMTM4ODEyIEMxMzQuMjU5NDQ0LDE3MC4xMzg4MTIgMTcwLjEzODgxMiwxMzQuMjU5NDQ0IDE3MC4xMzg4MTIsOTAgQzE3MC4xMzg4MTIsNDUuNzQwNTU2MiAxMzQuMjU5NDQ0LDkuODYxMTg3ODUgOTAsOS44NjExODc4NSBDNDUuNzQwNTU2Miw5Ljg2MTE4Nzg1IDkuODYxMTg3ODUsNDUuNzQwNTU2MiA5Ljg2MTE4Nzg1LDkwIEM5Ljg2MTE4Nzg1LDEzNC4yNTk0NDQgNDUuNzQwNTU2MiwxNzAuMTM4ODEyIDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgWiBNMCw5MCBDMCw0MC4yOTQzNzI1IDQwLjI5NDM3MjUsMCA5MCwwIEMxMzkuNzA1NjI3LDAgMTgwLDQwLjI5NDM3MjUgMTgwLDkwIEMxODAsMTM5LjcwNTYyNyAxMzkuNzA1NjI3LDE4MCA5MCwxODAgQzQwLjI5NDM3MjUsMTgwIDAsMTM5LjcwNTYyNyAwLDkwIFoiIGlkPSJDaXJjbGUiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==)}.mapillary-navigation-forward{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoMCA5MCw5MCkiPjxnIGlkPSJhcnJvdy11cCIgZmlsbD0iI0ZGRkZGRiI+PHBhdGggZD0iTTg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBDODguMjk5ODg1Myw0NS45NDk3OTE2IDg3Ljc1MTU2OTIsNDYuMjg5OTI5OSA4Ny4yODMwODUzLDQ2Ljc1ODQxMzggTDMxLjM2MzM5NDcsMTAyLjY3ODEwNCBDMjkuNjQ2MDYxNCwxMDQuMzk1NDM4IDI5LjY1MTgzNjMsMTA3LjE3MDQ5OCAzMS4zNjcwMDMxLDEwOC44ODU2NjQgTDQwLjY4Njc0NTMsMTE4LjIwNTQwNyBDNDIuNDAwMzk2NywxMTkuOTE5MDU4IDQ1LjE4MTEzMTMsMTE5LjkyMjE4OSA0Ni44OTQzMDUyLDExOC4yMDkwMTUgTDkwLjgwMDkyNzYsNzQuMzAyMzkyNiBMMTM0LjQ1MDU1LDExNy45NTIwMTUgQzEzNi4xNjc4ODMsMTE5LjY2OTM0OSAxMzguOTQyOTQzLDExOS42NjM1NzQgMTQwLjY1ODExLDExNy45NDg0MDcgTDE0OS45Nzc4NTIsMTA4LjYyODY2NSBDMTUxLjY5MTUwNCwxMDYuOTE1MDEzIDE1MS42OTQ2MzUsMTA0LjEzNDI3OSAxNDkuOTgxNDYxLDEwMi40MjExMDUgTDk0LjA2MTc3MDEsNDYuNTAxNDE0MSBDOTIuNjU3MzEwOSw0NS4wOTY5NTQ5IDkwLjU0NTQyMzEsNDQuODQ0OTQ0NSA4OC44ODQzODE3LDQ1LjczNzg4MDYgTDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBaIiBpZD0iQXJyb3ciID48L3BhdGg+PHBhdGggZD0iTTkwLDE3MC4xMzg4MTIgQzEzNC4yNTk0NDQsMTcwLjEzODgxMiAxNzAuMTM4ODEyLDEzNC4yNTk0NDQgMTcwLjEzODgxMiw5MCBDMTcwLjEzODgxMiw0NS43NDA1NTYyIDEzNC4yNTk0NDQsOS44NjExODc4NSA5MCw5Ljg2MTE4Nzg1IEM0NS43NDA1NTYyLDkuODYxMTg3ODUgOS44NjExODc4NSw0NS43NDA1NTYyIDkuODYxMTg3ODUsOTAgQzkuODYxMTg3ODUsMTM0LjI1OTQ0NCA0NS43NDA1NTYyLDE3MC4xMzg4MTIgOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBaIE0wLDkwIEMwLDQwLjI5NDM3MjUgNDAuMjk0MzcyNSwwIDkwLDAgQzEzOS43MDU2MjcsMCAxODAsNDAuMjk0MzcyNSAxODAsOTAgQzE4MCwxMzkuNzA1NjI3IDEzOS43MDU2MjcsMTgwIDkwLDE4MCBDNDAuMjk0MzcyNSwxODAgMCwxMzkuNzA1NjI3IDAsOTAgWiIgaWQ9IkNpcmNsZSI+PC9wYXRoPjwvZz48L2c+PC9zdmc+)}.mapillary-navigation-backward{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDkwLDkwKSI+PGcgaWQ9ImFycm93LXVwIiBmaWxsPSIjRkZGRkZGIj48cGF0aCBkPSJNODguODg0MzgxNyw0NS43Mzc4ODA2IEM4OC4yOTk4ODUzLDQ1Ljk0OTc5MTYgODcuNzUxNTY5Miw0Ni4yODk5Mjk5IDg3LjI4MzA4NTMsNDYuNzU4NDEzOCBMMzEuMzYzMzk0NywxMDIuNjc4MTA0IEMyOS42NDYwNjE0LDEwNC4zOTU0MzggMjkuNjUxODM2MywxMDcuMTcwNDk4IDMxLjM2NzAwMzEsMTA4Ljg4NTY2NCBMNDAuNjg2NzQ1MywxMTguMjA1NDA3IEM0Mi40MDAzOTY3LDExOS45MTkwNTggNDUuMTgxMTMxMywxMTkuOTIyMTg5IDQ2Ljg5NDMwNTIsMTE4LjIwOTAxNSBMOTAuODAwOTI3Niw3NC4zMDIzOTI2IEwxMzQuNDUwNTUsMTE3Ljk1MjAxNSBDMTM2LjE2Nzg4MywxMTkuNjY5MzQ5IDEzOC45NDI5NDMsMTE5LjY2MzU3NCAxNDAuNjU4MTEsMTE3Ljk0ODQwNyBMMTQ5Ljk3Nzg1MiwxMDguNjI4NjY1IEMxNTEuNjkxNTA0LDEwNi45MTUwMTMgMTUxLjY5NDYzNSwxMDQuMTM0Mjc5IDE0OS45ODE0NjEsMTAyLjQyMTEwNSBMOTQuMDYxNzcwMSw0Ni41MDE0MTQxIEM5Mi42NTczMTA5LDQ1LjA5Njk1NDkgOTAuNTQ1NDIzMSw0NC44NDQ5NDQ1IDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBMODguODg0MzgxNyw0NS43Mzc4ODA2IFoiIGlkPSJBcnJvdyIgPjwvcGF0aD48cGF0aCBkPSJNOTAsMTcwLjEzODgxMiBDMTM0LjI1OTQ0NCwxNzAuMTM4ODEyIDE3MC4xMzg4MTIsMTM0LjI1OTQ0NCAxNzAuMTM4ODEyLDkwIEMxNzAuMTM4ODEyLDQ1Ljc0MDU1NjIgMTM0LjI1OTQ0NCw5Ljg2MTE4Nzg1IDkwLDkuODYxMTg3ODUgQzQ1Ljc0MDU1NjIsOS44NjExODc4NSA5Ljg2MTE4Nzg1LDQ1Ljc0MDU1NjIgOS44NjExODc4NSw5MCBDOS44NjExODc4NSwxMzQuMjU5NDQ0IDQ1Ljc0MDU1NjIsMTcwLjEzODgxMiA5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIFogTTAsOTAgQzAsNDAuMjk0MzcyNSA0MC4yOTQzNzI1LDAgOTAsMCBDMTM5LjcwNTYyNywwIDE4MCw0MC4yOTQzNzI1IDE4MCw5MCBDMTgwLDEzOS43MDU2MjcgMTM5LjcwNTYyNywxODAgOTAsMTgwIEM0MC4yOTQzNzI1LDE4MCAwLDEzOS43MDU2MjcgMCw5MCBaIiBpZD0iQ2lyY2xlIj48L3BhdGg+PC9nPjwvZz48L3N2Zz4=)}.mapillary-navigation-turn-left{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDkwLDkwKSI+PGcgaWQ9ImFycm93LXVwIiBmaWxsPSIjRkZGRkZGIj48cGF0aCBkPSJNODguODg0MzgxNyw0NS43Mzc4ODA2IEM4OC4yOTk4ODUzLDQ1Ljk0OTc5MTYgODcuNzUxNTY5Miw0Ni4yODk5Mjk5IDg3LjI4MzA4NTMsNDYuNzU4NDEzOCBMMzEuMzYzMzk0NywxMDIuNjc4MTA0IEMyOS42NDYwNjE0LDEwNC4zOTU0MzggMjkuNjUxODM2MywxMDcuMTcwNDk4IDMxLjM2NzAwMzEsMTA4Ljg4NTY2NCBMNDAuNjg2NzQ1MywxMTguMjA1NDA3IEM0Mi40MDAzOTY3LDExOS45MTkwNTggNDUuMTgxMTMxMywxMTkuOTIyMTg5IDQ2Ljg5NDMwNTIsMTE4LjIwOTAxNSBMOTAuODAwOTI3Niw3NC4zMDIzOTI2IEwxMzQuNDUwNTUsMTE3Ljk1MjAxNSBDMTM2LjE2Nzg4MywxMTkuNjY5MzQ5IDEzOC45NDI5NDMsMTE5LjY2MzU3NCAxNDAuNjU4MTEsMTE3Ljk0ODQwNyBMMTQ5Ljk3Nzg1MiwxMDguNjI4NjY1IEMxNTEuNjkxNTA0LDEwNi45MTUwMTMgMTUxLjY5NDYzNSwxMDQuMTM0Mjc5IDE0OS45ODE0NjEsMTAyLjQyMTEwNSBMOTQuMDYxNzcwMSw0Ni41MDE0MTQxIEM5Mi42NTczMTA5LDQ1LjA5Njk1NDkgOTAuNTQ1NDIzMSw0NC44NDQ5NDQ1IDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBMODguODg0MzgxNyw0NS43Mzc4ODA2IFoiIGlkPSJBcnJvdyIgPjwvcGF0aD48cGF0aCBkPSJNOTAsMTcwLjEzODgxMiBDMTM0LjI1OTQ0NCwxNzAuMTM4ODEyIDE3MC4xMzg4MTIsMTM0LjI1OTQ0NCAxNzAuMTM4ODEyLDkwIEMxNzAuMTM4ODEyLDQ1Ljc0MDU1NjIgMTM0LjI1OTQ0NCw5Ljg2MTE4Nzg1IDkwLDkuODYxMTg3ODUgQzQ1Ljc0MDU1NjIsOS44NjExODc4NSA5Ljg2MTE4Nzg1LDQ1Ljc0MDU1NjIgOS44NjExODc4NSw5MCBDOS44NjExODc4NSwxMzQuMjU5NDQ0IDQ1Ljc0MDU1NjIsMTcwLjEzODgxMiA5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIFogTTAsOTAgQzAsNDAuMjk0MzcyNSA0MC4yOTQzNzI1LDAgOTAsMCBDMTM5LjcwNTYyNywwIDE4MCw0MC4yOTQzNzI1IDE4MCw5MCBDMTgwLDEzOS43MDU2MjcgMTM5LjcwNTYyNywxODAgOTAsMTgwIEM0MC4yOTQzNzI1LDE4MCAwLDEzOS43MDU2MjcgMCw5MCBaIiBpZD0iQ2lyY2xlIj48L3BhdGg+PC9nPjwvZz48L3N2Zz4=)}.mapillary-navigation-turn-right{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgOTAsOTApIj48ZyBpZD0iYXJyb3ctdXAiIGZpbGw9IiNGRkZGRkYiPjxwYXRoIGQ9Ik04OC44ODQzODE3LDQ1LjczNzg4MDYgQzg4LjI5OTg4NTMsNDUuOTQ5NzkxNiA4Ny43NTE1NjkyLDQ2LjI4OTkyOTkgODcuMjgzMDg1Myw0Ni43NTg0MTM4IEwzMS4zNjMzOTQ3LDEwMi42NzgxMDQgQzI5LjY0NjA2MTQsMTA0LjM5NTQzOCAyOS42NTE4MzYzLDEwNy4xNzA0OTggMzEuMzY3MDAzMSwxMDguODg1NjY0IEw0MC42ODY3NDUzLDExOC4yMDU0MDcgQzQyLjQwMDM5NjcsMTE5LjkxOTA1OCA0NS4xODExMzEzLDExOS45MjIxODkgNDYuODk0MzA1MiwxMTguMjA5MDE1IEw5MC44MDA5Mjc2LDc0LjMwMjM5MjYgTDEzNC40NTA1NSwxMTcuOTUyMDE1IEMxMzYuMTY3ODgzLDExOS42NjkzNDkgMTM4Ljk0Mjk0MywxMTkuNjYzNTc0IDE0MC42NTgxMSwxMTcuOTQ4NDA3IEwxNDkuOTc3ODUyLDEwOC42Mjg2NjUgQzE1MS42OTE1MDQsMTA2LjkxNTAxMyAxNTEuNjk0NjM1LDEwNC4xMzQyNzkgMTQ5Ljk4MTQ2MSwxMDIuNDIxMTA1IEw5NC4wNjE3NzAxLDQ2LjUwMTQxNDEgQzkyLjY1NzMxMDksNDUuMDk2OTU0OSA5MC41NDU0MjMxLDQ0Ljg0NDk0NDUgODguODg0MzgxNyw0NS43Mzc4ODA2IEw4OC44ODQzODE3LDQ1LjczNzg4MDYgWiIgaWQ9IkFycm93IiA+PC9wYXRoPjxwYXRoIGQ9Ik05MCwxNzAuMTM4ODEyIEMxMzQuMjU5NDQ0LDE3MC4xMzg4MTIgMTcwLjEzODgxMiwxMzQuMjU5NDQ0IDE3MC4xMzg4MTIsOTAgQzE3MC4xMzg4MTIsNDUuNzQwNTU2MiAxMzQuMjU5NDQ0LDkuODYxMTg3ODUgOTAsOS44NjExODc4NSBDNDUuNzQwNTU2Miw5Ljg2MTE4Nzg1IDkuODYxMTg3ODUsNDUuNzQwNTU2MiA5Ljg2MTE4Nzg1LDkwIEM5Ljg2MTE4Nzg1LDEzNC4yNTk0NDQgNDUuNzQwNTU2MiwxNzAuMTM4ODEyIDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgWiBNMCw5MCBDMCw0MC4yOTQzNzI1IDQwLjI5NDM3MjUsMCA5MCwwIEMxMzkuNzA1NjI3LDAgMTgwLDQwLjI5NDM3MjUgMTgwLDkwIEMxODAsMTM5LjcwNTYyNyAxMzkuNzA1NjI3LDE4MCA5MCwxODAgQzQwLjI5NDM3MjUsMTgwIDAsMTM5LjcwNTYyNyAwLDkwIFoiIGlkPSJDaXJjbGUiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==)}.mapillary-navigation-turn-around{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEzNSA5MCw5MCkiPjxnIGlkPSJhcnJvdy11cCIgZmlsbD0iI0ZGRkZGRiI+PHBhdGggZD0iTTg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBDODguMjk5ODg1Myw0NS45NDk3OTE2IDg3Ljc1MTU2OTIsNDYuMjg5OTI5OSA4Ny4yODMwODUzLDQ2Ljc1ODQxMzggTDMxLjM2MzM5NDcsMTAyLjY3ODEwNCBDMjkuNjQ2MDYxNCwxMDQuMzk1NDM4IDI5LjY1MTgzNjMsMTA3LjE3MDQ5OCAzMS4zNjcwMDMxLDEwOC44ODU2NjQgTDQwLjY4Njc0NTMsMTE4LjIwNTQwNyBDNDIuNDAwMzk2NywxMTkuOTE5MDU4IDQ1LjE4MTEzMTMsMTE5LjkyMjE4OSA0Ni44OTQzMDUyLDExOC4yMDkwMTUgTDkwLjgwMDkyNzYsNzQuMzAyMzkyNiBMMTM0LjQ1MDU1LDExNy45NTIwMTUgQzEzNi4xNjc4ODMsMTE5LjY2OTM0OSAxMzguOTQyOTQzLDExOS42NjM1NzQgMTQwLjY1ODExLDExNy45NDg0MDcgTDE0OS45Nzc4NTIsMTA4LjYyODY2NSBDMTUxLjY5MTUwNCwxMDYuOTE1MDEzIDE1MS42OTQ2MzUsMTA0LjEzNDI3OSAxNDkuOTgxNDYxLDEwMi40MjExMDUgTDk0LjA2MTc3MDEsNDYuNTAxNDE0MSBDOTIuNjU3MzEwOSw0NS4wOTY5NTQ5IDkwLjU0NTQyMzEsNDQuODQ0OTQ0NSA4OC44ODQzODE3LDQ1LjczNzg4MDYgTDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBaIiBpZD0iQXJyb3ciID48L3BhdGg+PHBhdGggZD0iTTkwLDE3MC4xMzg4MTIgQzEzNC4yNTk0NDQsMTcwLjEzODgxMiAxNzAuMTM4ODEyLDEzNC4yNTk0NDQgMTcwLjEzODgxMiw5MCBDMTcwLjEzODgxMiw0NS43NDA1NTYyIDEzNC4yNTk0NDQsOS44NjExODc4NSA5MCw5Ljg2MTE4Nzg1IEM0NS43NDA1NTYyLDkuODYxMTg3ODUgOS44NjExODc4NSw0NS43NDA1NTYyIDkuODYxMTg3ODUsOTAgQzkuODYxMTg3ODUsMTM0LjI1OTQ0NCA0NS43NDA1NTYyLDE3MC4xMzg4MTIgOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBaIE0wLDkwIEMwLDQwLjI5NDM3MjUgNDAuMjk0MzcyNSwwIDkwLDAgQzEzOS43MDU2MjcsMCAxODAsNDAuMjk0MzcyNSAxODAsOTAgQzE4MCwxMzkuNzA1NjI3IDEzOS43MDU2MjcsMTgwIDkwLDE4MCBDNDAuMjk0MzcyNSwxODAgMCwxMzkuNzA1NjI3IDAsOTAgWiIgaWQ9IkNpcmNsZSI+PC9wYXRoPjwvZz48L2c+PC9zdmc+)}.mapillary-popup{pointer-events:none;display:flex;position:absolute;top:0;left:0}.mapillary-popup-content,.mapillary-popup-content-clean{position:relative}.mapillary-popup-capture-pointer{pointer-events:auto}.mapillary-popup-content{background:#fff;border:1px solid #000;border-radius:2px;padding:5px 10px}.mapillary-popup-float-bottom,.mapillary-popup-float-bottom-left,.mapillary-popup-float-bottom-right{flex-direction:column}.mapillary-popup-float-top,.mapillary-popup-float-top-left,.mapillary-popup-float-top-right{flex-direction:column-reverse}.mapillary-popup-float-left{flex-direction:row-reverse}.mapillary-popup-float-right{flex-direction:row}.mapillary-popup-tip,.mapillary-popup-tip-inner{z-index:1;border:7px solid #0000;width:0;height:0;position:relative}.mapillary-popup-float-top .mapillary-popup-tip{border-top-color:#000;border-bottom:none;align-self:center}.mapillary-popup-float-top .mapillary-popup-tip-inner{border-top-color:#fff;border-bottom:none;position:relative;top:-8px;left:-7px}.mapillary-popup-float-top-right .mapillary-popup-tip{border-top-color:#000;border-bottom:none;border-left:none;align-self:flex-start}.mapillary-popup-float-top-right .mapillary-popup-tip-inner{border-top-color:#fff;border-bottom:none;border-left:none;position:relative;top:-9px;left:1px}.mapillary-popup-float-top-left .mapillary-popup-tip{border-top-color:#000;border-bottom:none;border-right:none;align-self:flex-end}.mapillary-popup-float-top-left .mapillary-popup-tip-inner{border-top-color:#fff;border-bottom:none;border-right:none;position:relative;top:-9px;left:-8px}.mapillary-popup-float-bottom .mapillary-popup-tip{border-top:none;border-bottom-color:#000;align-self:center}.mapillary-popup-float-bottom .mapillary-popup-tip-inner{border-top:none;border-bottom-color:#fff;position:relative;bottom:-1px;left:-7px}.mapillary-popup-float-bottom-right .mapillary-popup-tip{border-top:none;border-bottom-color:#000;border-left:none;align-self:flex-start}.mapillary-popup-float-bottom-right .mapillary-popup-tip-inner{border-top:none;border-bottom-color:#fff;border-left:none;position:relative;bottom:-2px;left:1px}.mapillary-popup-float-bottom-left .mapillary-popup-tip{border-top:none;border-bottom-color:#000;border-right:none;align-self:flex-end}.mapillary-popup-float-bottom-left .mapillary-popup-tip-inner{border-top:none;border-bottom-color:#fff;border-right:none;position:relative;bottom:-2px;left:-8px}.mapillary-popup-float-left .mapillary-popup-tip{border-left-color:#000;border-right:none;align-self:center}.mapillary-popup-float-left .mapillary-popup-tip-inner{border-left-color:#fff;border-right:none;position:relative;top:-7px;left:-8px}.mapillary-popup-float-right .mapillary-popup-tip{border-left:none;border-right-color:#000;align-self:center}.mapillary-popup-float-right .mapillary-popup-tip-inner{border-left:none;border-right-color:#fff;position:relative;top:-7px;left:1px}.mapillary-popup-float-top-left .mapillary-popup-content{border-bottom-right-radius:0}.mapillary-popup-float-top-right .mapillary-popup-content{border-bottom-left-radius:0}.mapillary-popup-float-bottom-left .mapillary-popup-content{border-top-right-radius:0}.mapillary-popup-float-bottom-right .mapillary-popup-content{border-top-left-radius:0}.mapillary-sequence-container{pointer-events:none;z-index:10;width:100%;font-size:0;position:absolute;top:14px}.mapillary-sequence-stepper,.mapillary-sequence-controls{cursor:pointer;position:absolute;left:50%}.mapillary-sequence-stepper{transform:translate(-50%)}.mapillary-sequence-expander-button,.mapillary-sequence-playback-button,.mapillary-sequence-timeline-button{pointer-events:auto;height:100%;display:inline-block}.mapillary-sequence-expander-button{background:#00000080;width:18.1818%}.mapillary-sequence-expander-bar{background-color:#fff;border-radius:1px;width:12.5%;height:53.3333%;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.mapillary-sequence-playback-button,.mapillary-sequence-timeline-button{background:#00000080;width:0;transition:width .15s ease-out}.mapillary-sequence-speed-container,.mapillary-sequence-position-container,.mapillary-sequence-position-container-inactive{vertical-align:top;pointer-events:auto;background:#00000080;height:100%;padding-right:3px;display:inline-block}.mapillary-sequence-speed-container{padding-left:3px}.mapillary-sequence-position-container,.mapillary-sequence-position-container-inactive{padding-left:16px}.mapillary-sequence-speed,.mapillary-sequence-position{cursor:pointer;-webkit-appearance:none;background:0 0;outline:none;height:16px;margin:7px 0 0;padding:0}.mapillary-sequence-position-container-inactive .mapillary-sequence-position{cursor:default}.mapillary-sequence-fast-icon,.mapillary-sequence-fast-icon-gray,.mapillary-sequence-timeline-icon,.mapillary-sequence-timeline-icon-gray,.mapillary-sequence-slow-icon,.mapillary-sequence-switch-icon,.mapillary-sequence-close-icon{opacity:0;background-repeat:no-repeat;background-size:contain;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.mapillary-sequence-fast-icon,.mapillary-sequence-timeline-icon{transition-property:opacity;transition-delay:0s}.mapillary-sequence-fast-icon,.mapillary-sequence-fast-icon-gray,.mapillary-sequence-timeline-icon,.mapillary-sequence-timeline-icon-gray,.mapillary-sequence-slow-icon{width:66.6667%;height:80%}.mapillary-sequence-switch-icon,.mapillary-sequence-close-icon{width:44.4444%;height:53.3333%}.mapillary-sequence-fast-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+CiAgICAgIGZhc3QKICAgIDwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgPHBhdGggZD0iTTIwLjE0ODQgMTMuNWMtMi4xNTE3IDAtMi41NDc4Ljg2Mi0zLjU2NzYgMS4zNjA1LTEuODUzMy45MDYtMy4wOTkzIDIuMDcyNi0zLjA5OTMgNC4yNjQ1IDAgMS4xNjE0LS4wMTAzIDEuODc1LS4zNzAzIDEuODc1LS42NTc1IDAtLjk5MzgtLjY5MS0xLjI5ODgtMS4yMi0uMjA4Mi4wNjktLjQyNjcuMTAxMi0uNjQ1Ny4wOTUtLjg0MzcgMC01LjQ2My0xLjY4NjctNS40NjMtMi42MjUgMC0uNTUxLjM3MDMtLjg0Ny4zNzAzLTEuNXYtLjAxYy0uMDE2NS0uNTUzNC0uMjg2Ny0xLjA2NzMtLjczMDgtMS4zOS0uNTk0My0uNDMwNS0xLjA0NC0xLjAzNS0xLjI4ODItMS43MzIzLS4xNzkyLjA4NjMtLjM3NS4xMzE1LS41NzM1LjEzMjNDMi43NzA1IDEyLjc1IDIgMTEuODczIDIgMTAuNWMwLTEuMzY5NC4yNjYtMS44NzUuNTU1Ni0xLjg3NS4zNzU0IDAgLjQ2My4xODc1LjQ2My4xODc1cy4yNTY4LS45NDEuNzc5OC0uOTQxYy4yNzEyLjAwMzcuNTE3Ny4xNjAyLjYzOS40MDU3Ljg4MDItMS4wMDk3IDIuMTU5LTEuNTY5NiAzLjQ4ODQtMS41MjcyIDUuMzcyIDAgNS43Mjk3IDMuMzc1IDcuNDA3NSAzLjM3NS42MjE0IDAgMS4xMTEtLjg5MjcgMS4xMTEtMS4xMjUgMC0uNzIwNi0zLjMzMzMtMi4wNzU3LTMuMzMzMy01LjI1IDAtLjQ5Ni4zOTM1LS43NS45MjYtLjc1LjQ2MyAwIDEuNDUxMy42MTA0IDIuMDM3IDEuNS44OTUgMS4zNTk0Ljc1OSAzIDEuODUyIDMuNzUuNDA5LjI4MDggMS40NTE4LjI2MDMgMi4yMjIuNzUuNzcwNS40ODk3IDEuMjQ2NCAxLjMwMjcgMS40ODE2IDEuNS4yMTcuMTkwMy4zNTAyLjQ2LjM3MDQuNzUgMCAuMzYxMy0uODA1MyAyLjI1LTEuODUxNiAyLjI1em0tOC44ODkgM2MtLjk5MDctLjAxODgtMS45NjY1LS4yNDg0LTIuODY0LS42NzM4LS4wNTkyLjIxOTgtLjA5MjUuNDQ2LS4wOTkuNjczOCAwIC42MjczLjQ3OTcuODY4IDIuMjIyIDEuNS4zOTE2LjEzNC43Njk3LjMwNTIgMS4xMjkzLjUxMTMuMDQwNC0uNjgzLjExNTQtMS4zNjMyLjIyNS0yLjAzODMtLjIwMDQuMDE0My0uNDAyMi4wMjctLjYxMzMuMDI3eiIgaWQ9ImEiLz4KICAgIDwvZGVmcz4KICAgIDx1c2UgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiB4bGluazpocmVmPSIjYSIvPgogIDwvc3ZnPg==)}.mapillary-sequence-fast-icon-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPHRpdGxlPgogICAgZmFzdAogIDwvdGl0bGU+CiAgPGRlZnM+CiAgICA8cGF0aCBkPSJNMjAuMTQ4NCAxMy41Yy0yLjE1MTcgMC0yLjU0NzguODYyLTMuNTY3NiAxLjM2MDUtMS44NTMzLjkwNi0zLjA5OTMgMi4wNzI2LTMuMDk5MyA0LjI2NDUgMCAxLjE2MTQtLjAxMDMgMS44NzUtLjM3MDMgMS44NzUtLjY1NzUgMC0uOTkzOC0uNjkxLTEuMjk4OC0xLjIyLS4yMDgyLjA2OS0uNDI2Ny4xMDEyLS42NDU3LjA5NS0uODQzNyAwLTUuNDYzLTEuNjg2Ny01LjQ2My0yLjYyNSAwLS41NTEuMzcwMy0uODQ3LjM3MDMtMS41di0uMDFjLS4wMTY1LS41NTM0LS4yODY3LTEuMDY3My0uNzMwOC0xLjM5LS41OTQzLS40MzA1LTEuMDQ0LTEuMDM1LTEuMjg4Mi0xLjczMjMtLjE3OTIuMDg2My0uMzc1LjEzMTUtLjU3MzUuMTMyM0MyLjc3MDUgMTIuNzUgMiAxMS44NzMgMiAxMC41YzAtMS4zNjk0LjI2Ni0xLjg3NS41NTU2LTEuODc1LjM3NTQgMCAuNDYzLjE4NzUuNDYzLjE4NzVzLjI1NjgtLjk0MS43Nzk4LS45NDFjLjI3MTIuMDAzNy41MTc3LjE2MDIuNjM5LjQwNTcuODgwMi0xLjAwOTcgMi4xNTktMS41Njk2IDMuNDg4NC0xLjUyNzIgNS4zNzIgMCA1LjcyOTcgMy4zNzUgNy40MDc1IDMuMzc1LjYyMTQgMCAxLjExMS0uODkyNyAxLjExMS0xLjEyNSAwLS43MjA2LTMuMzMzMy0yLjA3NTctMy4zMzMzLTUuMjUgMC0uNDk2LjM5MzUtLjc1LjkyNi0uNzUuNDYzIDAgMS40NTEzLjYxMDQgMi4wMzcgMS41Ljg5NSAxLjM1OTQuNzU5IDMgMS44NTIgMy43NS40MDkuMjgwOCAxLjQ1MTguMjYwMyAyLjIyMi43NS43NzA1LjQ4OTcgMS4yNDY0IDEuMzAyNyAxLjQ4MTYgMS41LjIxNy4xOTAzLjM1MDIuNDYuMzcwNC43NSAwIC4zNjEzLS44MDUzIDIuMjUtMS44NTE2IDIuMjV6bS04Ljg4OSAzYy0uOTkwNy0uMDE4OC0xLjk2NjUtLjI0ODQtMi44NjQtLjY3MzgtLjA1OTIuMjE5OC0uMDkyNS40NDYtLjA5OS42NzM4IDAgLjYyNzMuNDc5Ny44NjggMi4yMjIgMS41LjM5MTYuMTM0Ljc2OTcuMzA1MiAxLjEyOTMuNTExMy4wNDA0LS42ODMuMTE1NC0xLjM2MzIuMjI1LTIuMDM4My0uMjAwNC4wMTQzLS40MDIyLjAyNy0uNjEzMy4wMjd6IiBpZD0iYSIvPgogIDwvZGVmcz4KICA8dXNlIGZpbGw9IiNEN0RBREQiIGZpbGwtcnVsZT0ibm9uemVybyIgeGxpbms6aHJlZj0iI2EiLz4KPC9zdmc+)}.mapillary-sequence-timeline-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+ICA8cGF0aCBpZD0ic2NydWJiZXItYSIgZD0iTTksNiBMMTUsNiBDMTYuMTA0NTY5NSw2IDE3LDYuODk1NDMwNSAxNyw4IEwxNywxNiBDMTcsMTcuMTA0NTY5NSAxNi4xMDQ1Njk1LDE4IDE1LDE4IEw5LDE4IEM3Ljg5NTQzMDUsMTggNywxNy4xMDQ1Njk1IDcsMTYgTDcsOCBDNyw2Ljg5NTQzMDUgNy44OTU0MzA1LDYgOSw2IFogTTIwLjYzMzY4ODEsMTMgTDE5LDEzIEMxOC40NDc3MTUzLDEzIDE4LDEyLjU1MjI4NDcgMTgsMTIgQzE4LDExLjQ0NzcxNTMgMTguNDQ3NzE1MywxMSAxOSwxMSBMMjAuNjMzNjg4MSwxMSBDMjAuNDEyNjQzLDEwLjYxNzU2OTMgMjAuNDY1NzExMywxMC4xMjAwNzUxIDIwLjc5Mjg5MzIsOS43OTI4OTMyMiBDMjEuMTgzNDE3NSw5LjQwMjM2ODkzIDIxLjgxNjU4MjUsOS40MDIzNjg5MyAyMi4yMDcxMDY4LDkuNzkyODkzMjIgTDIzLjcwNzEwNjgsMTEuMjkyODkzMiBDMjMuODg4MDcxMiwxMS40NzM4NTc2IDI0LDExLjcyMzg1NzYgMjQsMTIgQzI0LDEyLjI3NjE0MjQgMjMuODg4MDcxMiwxMi41MjYxNDI0IDIzLjcwNzEwNjgsMTIuNzA3MTA2OCBMMjIuMjA3MTA2OCwxNC4yMDcxMDY4IEMyMS44MTY1ODI1LDE0LjU5NzYzMTEgMjEuMTgzNDE3NSwxNC41OTc2MzExIDIwLjc5Mjg5MzIsMTQuMjA3MTA2OCBDMjAuNDY1NzExMywxMy44Nzk5MjQ5IDIwLjQxMjY0MywxMy4zODI0MzA3IDIwLjYzMzY4ODEsMTMgWiBNMy4zNjYzMTE4NiwxMyBDMy41ODczNTcwNCwxMy4zODI0MzA3IDMuNTM0Mjg4NjgsMTMuODc5OTI0OSAzLjIwNzEwNjc4LDE0LjIwNzEwNjggQzIuODE2NTgyNDksMTQuNTk3NjMxMSAyLjE4MzQxNzUxLDE0LjU5NzYzMTEgMS43OTI4OTMyMiwxNC4yMDcxMDY4IEwwLjI5Mjg5MzIxOSwxMi43MDcxMDY4IEMwLjExMTkyODgxMywxMi41MjYxNDI0IDAsMTIuMjc2MTQyNCAwLDEyIEMwLDExLjcyMzg1NzYgMC4xMTE5Mjg4MTMsMTEuNDczODU3NiAwLjI5Mjg5MzIxOSwxMS4yOTI4OTMyIEwxLjc5Mjg5MzIyLDkuNzkyODkzMjIgQzIuMTgzNDE3NTEsOS40MDIzNjg5MyAyLjgxNjU4MjQ5LDkuNDAyMzY4OTMgMy4yMDcxMDY3OCw5Ljc5Mjg5MzIyIEMzLjUzNDI4ODY4LDEwLjEyMDA3NTEgMy41ODczNTcwNCwxMC42MTc1NjkzIDMuMzY2MzExODYsMTEgTDUsMTEgQzUuNTUyMjg0NzUsMTEgNiwxMS40NDc3MTUzIDYsMTIgQzYsMTIuNTUyMjg0NyA1LjU1MjI4NDc1LDEzIDUsMTMgTDMuMzY2MzExODYsMTMgWiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHVzZSBmaWxsPSIjRkZGIiB4bGluazpocmVmPSIjc2NydWJiZXItYSIvPjwvZz4gIDwvc3ZnPiAg)}.mapillary-sequence-timeline-icon-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+ICA8cGF0aCBpZD0ic2NydWJiZXItYSIgZD0iTTksNiBMMTUsNiBDMTYuMTA0NTY5NSw2IDE3LDYuODk1NDMwNSAxNyw4IEwxNywxNiBDMTcsMTcuMTA0NTY5NSAxNi4xMDQ1Njk1LDE4IDE1LDE4IEw5LDE4IEM3Ljg5NTQzMDUsMTggNywxNy4xMDQ1Njk1IDcsMTYgTDcsOCBDNyw2Ljg5NTQzMDUgNy44OTU0MzA1LDYgOSw2IFogTTIwLjYzMzY4ODEsMTMgTDE5LDEzIEMxOC40NDc3MTUzLDEzIDE4LDEyLjU1MjI4NDcgMTgsMTIgQzE4LDExLjQ0NzcxNTMgMTguNDQ3NzE1MywxMSAxOSwxMSBMMjAuNjMzNjg4MSwxMSBDMjAuNDEyNjQzLDEwLjYxNzU2OTMgMjAuNDY1NzExMywxMC4xMjAwNzUxIDIwLjc5Mjg5MzIsOS43OTI4OTMyMiBDMjEuMTgzNDE3NSw5LjQwMjM2ODkzIDIxLjgxNjU4MjUsOS40MDIzNjg5MyAyMi4yMDcxMDY4LDkuNzkyODkzMjIgTDIzLjcwNzEwNjgsMTEuMjkyODkzMiBDMjMuODg4MDcxMiwxMS40NzM4NTc2IDI0LDExLjcyMzg1NzYgMjQsMTIgQzI0LDEyLjI3NjE0MjQgMjMuODg4MDcxMiwxMi41MjYxNDI0IDIzLjcwNzEwNjgsMTIuNzA3MTA2OCBMMjIuMjA3MTA2OCwxNC4yMDcxMDY4IEMyMS44MTY1ODI1LDE0LjU5NzYzMTEgMjEuMTgzNDE3NSwxNC41OTc2MzExIDIwLjc5Mjg5MzIsMTQuMjA3MTA2OCBDMjAuNDY1NzExMywxMy44Nzk5MjQ5IDIwLjQxMjY0MywxMy4zODI0MzA3IDIwLjYzMzY4ODEsMTMgWiBNMy4zNjYzMTE4NiwxMyBDMy41ODczNTcwNCwxMy4zODI0MzA3IDMuNTM0Mjg4NjgsMTMuODc5OTI0OSAzLjIwNzEwNjc4LDE0LjIwNzEwNjggQzIuODE2NTgyNDksMTQuNTk3NjMxMSAyLjE4MzQxNzUxLDE0LjU5NzYzMTEgMS43OTI4OTMyMiwxNC4yMDcxMDY4IEwwLjI5Mjg5MzIxOSwxMi43MDcxMDY4IEMwLjExMTkyODgxMywxMi41MjYxNDI0IDAsMTIuMjc2MTQyNCAwLDEyIEMwLDExLjcyMzg1NzYgMC4xMTE5Mjg4MTMsMTEuNDczODU3NiAwLjI5Mjg5MzIxOSwxMS4yOTI4OTMyIEwxLjc5Mjg5MzIyLDkuNzkyODkzMjIgQzIuMTgzNDE3NTEsOS40MDIzNjg5MyAyLjgxNjU4MjQ5LDkuNDAyMzY4OTMgMy4yMDcxMDY3OCw5Ljc5Mjg5MzIyIEMzLjUzNDI4ODY4LDEwLjEyMDA3NTEgMy41ODczNTcwNCwxMC42MTc1NjkzIDMuMzY2MzExODYsMTEgTDUsMTEgQzUuNTUyMjg0NzUsMTEgNiwxMS40NDc3MTUzIDYsMTIgQzYsMTIuNTUyMjg0NyA1LjU1MjI4NDc1LDEzIDUsMTMgTDMuMzY2MzExODYsMTMgWiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHVzZSBmaWxsPSIjRDdEQUREIiB4bGluazpocmVmPSIjc2NydWJiZXItYSIvPjwvZz4gIDwvc3ZnPiAg)}.mapillary-sequence-slow-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHRpdGxlPiAgc2xvdzwvdGl0bGU+PGRlZnM+ICA8cGF0aCBkPSJNMTguOTMzNyAxMy4yMjIybC0uNzgxNiAxLjg5NjNjLjMzMTcuMjUwMyAxLjMzNSAxLjEwMDIgMS4zMzUgMi4yNTE2LS4wMjIzLjMxMy0uMTU4LjYwNy0uMzgxNi44MjctLjA3NjguMDgwMy0uMTgzNC4xMjU0LS4yOTQ2LjEyNDNoLTIuNjU4Yy0uMTQ1MiAwLS4yNzk2LS4wNzY3LS4zNTM0LS4yMDE3bC0uNzEzNi0xLjIwNzRjLS4xMjAyLS4yMDM3LS4xNDY4LS40NDkyLS4wNzMtLjY3NGwuMTI0OC0uMzgwNUg3LjRjLjM2MS40MjM0LjU2ODguOTU2My41ODk4IDEuNTEyNS0uMDIyLjMxMy0uMTU3Ny42MDctLjM4MTMuODI2Ny0uMDc2Ny4wODA0LS4xODM0LjEyNTUtLjI5NDYuMTI0NEg0LjY1NmMtLjE0NTIgMC0uMjc5Ni0uMDc2Ny0uMzUzNS0uMjAxN2wtLjcxMzYtMS4yMDc1Yy0uMTIwNC0uMjAzNi0uMTQ3LS40NDkyLS4wNzMyLS42NzRsLjAwODItLjAyNDZjLS42MjkuNDgzMi0xLjM4NC43NzQ3LTIuMTc0My44Mzk2LS4xMTk3LjAxNzYtLjIzODUtLjAzNzItLjMwMy0uMTM5Ny0uMDY0My0uMTAyNS0uMDYyLS4yMzM0LjAwNTctLjMzMzdDMy40MjQ2IDEzLjQwMTUgMi43MDggNi4wMDIyIDExLjMxMyA2LjAwMjJjMi42OTQ1LS4wNTkgNS4yNzU1IDEuMDg1IDcuMDQxNyAzLjEyMTcuNzg2LS4yNDIyIDEuNDY1LS43NDY3IDEuOTI0Mi0xLjQyOTIuMzUzLS40NTM0Ljk3MjQtLjYwMyAxLjQ5MzUtLjM2MDdsMS45ODg3LjkyNWMuMTY0NS4wNzYzLjI1OTguMjUxLjIzNS40MzA4LS4yMDI1IDEuNDU1NC0xLjc4ODYgMy43NjYyLTUuMDYyNSA0LjUzMjR6IiBpZD0iYSIvPjwvZGVmcz48dXNlIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgeGxpbms6aHJlZj0iI2EiLz4gIDwvc3ZnPiAg)}.mapillary-sequence-switch-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDx0aXRsZT4KICAgICAgcGxheV9kaXJlY3Rpb24KICAgIDwvdGl0bGU+CiAgICA8cGF0aCBkPSJNNiA0aDhjLjU1MjMgMCAxIC40NDc3IDEgMXMtLjQ0NzcgMS0xIDFINnYyLjA1ODRjLS4wMDM0LjE2NjgtLjExMTguMzE4Mi0uMjgxNS4zOTM0LS4xNjk4LjA3NS0uMzczLjA2MTctLjUyOC0uMDM1TC4yMTQzIDUuMzU4NEMuMDggNS4yNzcgMCA1LjE0MyAwIDVjMC0uMTQzLjA4LS4yNzcuMjE0My0uMzU4NWw0Ljk3NjItMy4wNTgzYy4xNTUtLjA5NjcuMzU4My0uMTEuNTI4LS4wMzUuMTY5OC4wNzUyLjI3OC4yMjY2LjI4MTUuMzkzNFY0em00IDZWNy45NDE2Yy4wMDM0LS4xNjY4LjExMTctLjMxODIuMjgxNS0uMzkzNC4xNjk3LS4wNzUuMzczLS4wNjE3LjUyOC4wMzVsNC45NzYyIDMuMDU4M0MxNS45MiAxMC43MjMgMTYgMTAuODU3IDE2IDExYzAgLjE0My0uMDguMjc3LS4yMTQzLjM1ODRsLTQuOTc2MiAzLjA1ODRjLS4xNTUuMDk2Ny0uMzU4Mi4xMS0uNTI4LjAzNS0uMTY5Ny0uMDc1Mi0uMjc4LS4yMjY2LS4yODE1LS4zOTM0VjEySDJjLS41NTIzIDAtMS0uNDQ3Ny0xLTFzLjQ0NzctMSAxLTFoOHoiIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogIDwvc3ZnPg==)}.mapillary-sequence-close-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDx0aXRsZT4KICAgICAgY2xvc2UKICAgIDwvdGl0bGU+CiAgICA8cGF0aCBkPSJNOS4yNzM0IDguMDA0N2wzLjQ0MTMgMy40NDE0Yy4yMzE1LjIyOS4zMjI3LjU2NDYuMjM5Ljg3OTMtLjA4MzguMzE0Ny0uMzI5Ni41NjA0LS42NDQzLjY0NC0uMzE0Ny4wODQtLjY1LS4wMDczLS44NzktLjIzODhMNy45ODg4IDkuMjg5bC0zLjQzNjUgMy40MzY1Yy0uMzU2LjM0Ni0uOTI0LjM0MTctMS4yNzUtLjAwOTMtLjM1MS0uMzUxLS4zNTUtLjkxOS0uMDA5LTEuMjc1bDMuNDM2Mi0zLjQzNjQtMy40NDk1LTMuNDQ5NmMtLjM0NDQtLjM1NjMtLjMzOTYtLjkyMy4wMTA4LTEuMjczNC4zNTA0LS4zNTA0LjkxNy0uMzU1MiAxLjI3MzMtLjAxMDhMNy45ODkgNi43MjA1bDMuNDU0NC0zLjQ1NDVjLjIyOTQtLjIyOTQuNTYzOC0uMzE5Ljg3NzItLjIzNS4zMTM1LjA4NC41NTgzLjMyODcuNjQyMy42NDIyLjA4MzguMzEzNC0uMDA1OC42NDc4LS4yMzUyLjg3NzJMOS4yNzM0IDguMDA0N3oiIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogIDwvc3ZnPg==)}.mapillary-sequence-icon-visible{opacity:1}.mapillary-sequence-controls-expanded .mapillary-sequence-fast-icon,.mapillary-sequence-controls-expanded .mapillary-sequence-timeline-icon{opacity:1;transition-delay:.12s;transition:all .2s ease-in;transition-property:opacity}.mapillary-sequence-controls-expanded .mapillary-sequence-playback-button,.mapillary-sequence-controls-expanded .mapillary-sequence-timeline-button{width:40.9091%}.mapillary-sequence-playback,.mapillary-sequence-timeline{width:405px;min-width:271px;max-width:80%;height:30px;padding-left:5px;position:absolute;left:50%;transform:translate(-50%)}.mapillary-sequence-switch-button,.mapillary-sequence-switch-button-inactive,.mapillary-sequence-slow-container,.mapillary-sequence-fast-container,.mapillary-sequence-close-button{pointer-events:auto;background:#00000080;width:36px;height:100%;display:inline-block}.mapillary-sequence-switch-button,.mapillary-sequence-switch-button-inactive,.mapillary-sequence-close-button{cursor:pointer}.mapillary-sequence-play,.mapillary-sequence-play-inactive,.mapillary-sequence-stop,.mapillary-sequence-step-next,.mapillary-sequence-step-next-inactive,.mapillary-sequence-step-next-highlight,.mapillary-sequence-step-prev,.mapillary-sequence-step-prev-inactive,.mapillary-sequence-step-prev-highlight{pointer-events:auto;width:33.3333%;height:100%;display:inline-block}.mapillary-sequence-play-inactive,.mapillary-sequence-step-next-inactive,.mapillary-sequence-step-prev-inactive{cursor:default}.mapillary-sequence-play,.mapillary-sequence-play-inactive,.mapillary-sequence-stop,.mapillary-sequence-step-next,.mapillary-sequence-step-next-inactive,.mapillary-sequence-step-prev,.mapillary-sequence-step-prev-inactive,.mapillary-sequence-step-next-highlight,.mapillary-sequence-step-prev-highlight{background:#00000080}.mapillary-sequence-switch-button,.mapillary-sequence-switch-button-inactive,.mapillary-sequence-position-container,.mapillary-sequence-position-container-inactive{border-top-left-radius:8px;border-bottom-left-radius:8px}.mapillary-sequence-close-button{border-top-right-radius:8px;border-bottom-right-radius:8px}.mapillary-sequence-play .mapillary-sequence-icon,.mapillary-sequence-play-inactive .mapillary-sequence-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBwbGF5CiAgPC90aXRsZT4KICA8cGF0aCBkPSJNMTQuODk1MiA4LjY4NjVMMy41MDgyIDE1Ljc1N0MyLjY3ODMgMTYuMzAyIDIgMTUuODk4IDIgMTQuODY1VjEuMTM2QzIgLjEgMi42NzgzLS4zMDEgMy41MDk2LjI0M2wxMS4zODcgNy4wNzNjLS4wMDE0IDAgLjQwNDMuMjg2Ny40MDQzLjY4NTMgMCAuMzk4OC0uNDA1OC42ODU1LS40MDU4LjY4NTV6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==)}.mapillary-sequence-stop .mapillary-sequence-icon,.mapillary-sequence-stop-inactive .mapillary-sequence-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBzdG9wCiAgPC90aXRsZT4KICA8cGF0aCBkPSJNMCAxLjk5NEMwIC44OTMuODk0NSAwIDEuOTk0IDBoMTIuMDEyQzE1LjEwNyAwIDE2IC44OTQ1IDE2IDEuOTk0djEyLjAxMkMxNiAxNS4xMDcgMTUuMTA1NSAxNiAxNC4wMDYgMTZIMS45OTRDLjg5MyAxNiAwIDE1LjEwNTUgMCAxNC4wMDZWMS45OTR6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==)}.mapillary-sequence-step-prev .mapillary-sequence-icon,.mapillary-sequence-step-prev-inactive .mapillary-sequence-icon,.mapillary-sequence-step-prev-highlight .mapillary-sequence-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBjaGV2cm9ubGVmdAogIDwvdGl0bGU+CiAgPHBhdGggZD0iTTYuMjY4IDguMDAwMmw1LjUyMTUtNS45NDczYy40NzEtLjQ2OTcuNDcxLTEuMjI5NiAwLTEuNzAxLS40NzEtLjQ2OTQtMS4yMzIzLS40Njk0LTEuNzAzNCAwTDMuMzUzNCA3LjE0OGMtLjQ3MS40NzE0LS40NzEgMS4yMzMgMCAxLjcwMjZsNi43MzI4IDYuNzk2Yy40Njk1LjQ3MyAxLjIzMjQuNDY5NSAxLjcwMzUgMCAuNDcxLS40Njc4LjQ3MS0xLjIyOTUgMC0xLjcwMDhMNi4yNjggOC4wMDAyeiIgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=)}.mapillary-sequence-step-next .mapillary-sequence-icon,.mapillary-sequence-step-next-inactive .mapillary-sequence-icon,.mapillary-sequence-step-next-highlight .mapillary-sequence-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBjaGV2cm9ucmlnaHQKICA8L3RpdGxlPgogIDxwYXRoIGQ9Ik05Ljg3NSA4LjAwMDJMNC4zNTMyIDIuMDUzYy0uNDcxLS40Njk3LS40NzEtMS4yMjk2IDAtMS43MDEuNDcxMi0uNDY5NCAxLjIzMjMtLjQ2OTQgMS43MDM0IDBsNi43MzI4IDYuNzk2Yy40NzEuNDcxNC40NzEgMS4yMzMgMCAxLjcwMjZsLTYuNzMyOCA2Ljc5NmMtLjQ2OTMuNDczLTEuMjMyMi40Njk1LTEuNzAzNCAwLS40NzEtLjQ2NzgtLjQ3MS0xLjIyOTUgMC0xLjcwMDhMOS44NzUgOC4wMDAyeiIgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=)}.mapillary-sequence-play-inactive .mapillary-sequence-icon,.mapillary-sequence-stop-inactive .mapillary-sequence-icon,.mapillary-sequence-step-next-inactive .mapillary-sequence-icon,.mapillary-sequence-step-prev-inactive .mapillary-sequence-icon,.mapillary-sequence-switch-button-inactive .mapillary-sequence-switch-icon{opacity:.35}.mapillary-sequence-icon{background-repeat:no-repeat;background-size:contain;width:44.4444%;height:53.3333%;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.mapillary-sequence-speed::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-6px}.mapillary-sequence-position::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-6px}.mapillary-sequence-position-container-inactive .mapillary-sequence-position::-webkit-slider-thumb{box-shadow:none;background:0 0;border:none}.mapillary-sequence-speed::-webkit-slider-runnable-track{background-color:#fff;border-radius:2px;height:4px}.mapillary-sequence-position::-webkit-slider-runnable-track{background-color:#fff;border-radius:2px;height:4px}.mapillary-sequence-position-container-inactive .mapillary-sequence-position::-webkit-slider-runnable-track{background-color:#d7dadd}.mapillary-sequence-speed::-moz-focus-outer{border:0}.mapillary-sequence-position::-moz-focus-outer{border:0}.mapillary-sequence-speed::-moz-range-track{background-color:#fff;border-radius:2px;height:4px}.mapillary-sequence-position::-moz-range-track{background-color:#fff;border-radius:2px;height:4px}.mapillary-sequence-position-container-inactive .mapillary-sequence-position::-moz-range-track{background-color:#d7dadd}.mapillary-sequence-speed::-moz-range-thumb{cursor:pointer;background:#dee5ed;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:-6px;box-shadow:1px 2px 4px #00000080}.mapillary-sequence-position::-moz-range-thumb{cursor:pointer;background:#ff861b;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:-6px;box-shadow:1px 2px 4px #00000080}.mapillary-sequence-position-container-inactive .mapillary-sequence-position::-moz-range-thumb{box-shadow:none;background:0 0;border:none}.mapillary-sequence-speed::-ms-track{background-color:#fff;border-radius:2px;height:2px}.mapillary-sequence-position::-ms-track{background-color:#fff;border-radius:2px;height:2px}.mapillary-sequence-position-container-inactive .mapillary-sequence-position::-ms-track{background-color:#d7dadd}.mapillary-sequence-speed::-ms-fill-lower{background:0 0;height:0}.mapillary-sequence-position::-ms-fill-lower{background:0 0;height:0}.mapillary-sequence-speed::-ms-fill-upper{background:0 0;height:0}.mapillary-sequence-position::-ms-fill-upper{background:0 0;height:0}.mapillary-sequence-speed::-ms-thumb{cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:0}.mapillary-sequence-position::-ms-thumb{cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:0}.mapillary-sequence-position-container-inactive .mapillary-sequence-position::-ms-thumb{box-shadow:none;background:0 0;border:none}.mapillary-sequence-speed::-ms-tooltip{display:none}.mapillary-sequence-position::-ms-tooltip{display:none}@media (hover:hover){.mapillary-sequence-play:hover,.mapillary-sequence-stop:hover,.mapillary-sequence-step-prev:hover,.mapillary-sequence-step-next:hover,.mapillary-sequence-play-inactive:hover,.mapillary-sequence-step-prev-inactive:hover,.mapillary-sequence-step-next-inactive:hover,.mapillary-sequence-switch-button-inactive:hover,.mapillary-sequence-playback-button:hover,.mapillary-sequence-timeline-button:hover,.mapillary-sequence-switch-button:hover,.mapillary-sequence-close-button:hover{background:#00000080}}.mapillary-slider-container{pointer-events:none;z-index:10;height:30px;padding-left:5px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.mapillary-slider-border{pointer-events:auto;cursor:default;background:#00000080;border-top-left-radius:8px;border-bottom-left-radius:8px;width:8px;height:100%;display:inline-block}.mapillary-slider-mode-button,.mapillary-slider-mode-button-2d,.mapillary-slider-mode-button-inactive,.mapillary-slider-mode-button-2d-inactive{pointer-events:auto;background:#00000080;width:26px;height:100%;display:inline-block}.mapillary-slider-mode-button,.mapillary-slider-mode-button-2d{cursor:default}.mapillary-slider-mode-button-inactive,.mapillary-slider-mode-button-2d-inactive{cursor:pointer}.mapillary-slider-mode-icon,.mapillary-slider-mode-icon-2d{opacity:1;background-repeat:no-repeat;background-size:contain;width:18px;height:18px;margin-left:4px;position:relative;top:50%;transform:translateY(-50%)}.mapillary-slider-mode-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE4IDE3di44NjRjMCAuNTA1IDAgLjk5Ni0uMDM0IDEuNDEyLS4wMzcuNDU4LS4xMjUuOTk3LS40MDIgMS41NGE0IDQgMCAwIDEtMS43NDggMS43NDhjLS41NDMuMjc3LTEuMDgyLjM2NS0xLjU0LjQwMi0uNDE2LjAzNC0uOTA3LjAzNC0xLjQxMi4wMzRINi4xMzZjLS41MDUgMC0uOTk2IDAtMS40MTItLjAzNC0uNDU4LS4wMzctLjk5Ny0uMTI1LTEuNTQtLjQwMmE0IDQgMCAwIDEtMS43NDgtMS43NDhjLS4yNzctLjU0My0uMzY1LTEuMDgyLS40MDItMS41NEExOC4zNiAxOC4zNiAwIDAgMSAxIDE3Ljg2NHYtNi43MjhjMC0uNTA1IDAtLjk5Ni4wMzQtMS40MTIuMDM3LS40NTguMTI1LS45OTcuNDAyLTEuNTRhNCA0IDAgMCAxIDEuNzQ4LTEuNzQ4Yy41NDMtLjI3NyAxLjA4Mi0uMzY1IDEuNTQtLjQwMkM1LjE0IDYgNS42MyA2IDYuMTM2IDZIN3YyaC0uOGMtMS4xMiAwLTEuNjggMC0yLjEwOC4yMThhMiAyIDAgMCAwLS44NzQuODc0QzMgOS41MiAzIDEwLjA4IDMgMTEuMnY2LjZjMCAxLjEyIDAgMS42OC4yMTggMi4xMDhhMiAyIDAgMCAwIC44NzQuODc0QzQuNTIgMjEgNS4wOCAyMSA2LjIgMjFoNi42YzEuMTIgMCAxLjY4IDAgMi4xMDgtLjIxOGEyIDIgMCAwIDAgLjg3NC0uODc0QzE2IDE5LjQ4IDE2IDE4LjEyIDE2IDE3aDJ6TTE2LjUxIDcuMjM2djMuNzFoLjc4YzEuMDk0IDAgMS42Ny0uNTYzIDEuNjctMS44NiAwLTEuMjkzLS41NzYtMS44NS0xLjY2Ny0xLjg1aC0uNzg0eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNy4zMjcgMi42MzhDNyAzLjI4IDcgNC4xMiA3IDUuOHY2LjRjMCAxLjY4IDAgMi41Mi4zMjcgMy4xNjJhMyAzIDAgMCAwIDEuMzExIDEuMzExQzkuMjggMTcgMTAuMTIgMTcgMTEuOCAxN2g2LjRjMS42OCAwIDIuNTIgMCAzLjE2Mi0uMzI3YTMgMyAwIDAgMCAxLjMxMS0xLjMxMUMyMyAxNC43MiAyMyAxMy44OCAyMyAxMi4yVjUuOGMwLTEuNjggMC0yLjUyLS4zMjctMy4xNjJhMyAzIDAgMCAwLTEuMzExLTEuMzExQzIwLjcyIDEgMTkuODggMSAxOC4yIDFoLTYuNGMtMS42OCAwLTIuNTIgMC0zLjE2Mi4zMjdhMyAzIDAgMCAwLTEuMzExIDEuMzExem03LjAzNCA3LjcyOWMuMDAzLjk5NC0uOTMyIDEuNzEyLTIuMjM5IDEuNzEyLTEuMjc4IDAtMi4xODctLjcwNy0yLjIwNy0xLjcyNGgxLjIzOGMuMDIzLjQyNi40My43MS45NzIuNzEuNTYzIDAgLjk2LS4zMTguOTU3LS43OC4wMDMtLjQ3LS40MDktLjgtMS4wNjgtLjhoLS41NDJ2LS45MDNoLjU0MmMuNTYgMCAuOTUtLjMxLjk0Ni0uNzY3LjAwMy0uNDM3LS4zMy0uNzM4LS44MjctLjczOC0uNTAyIDAtLjkwOS4yODctLjkyMy43M2gtMS4xNzljLjAxNy0xLjAwNi45MTUtMS43MDUgMi4xMDgtMS43MDUgMS4yMDUgMCAyLjAwOS43MjIgMi4wMDYgMS42NC4wMDMuNjUzLS40NDYgMS4xMTMtMS4wOTcgMS4yM3YuMDQ1Yy44NTUuMTA4IDEuMzE2LjYyNSAxLjMxMyAxLjM1em01LjgyNy0xLjI4MmMwIDEuODE4LTEuMDc0IDIuOTE1LTIuODQ2IDIuOTE1aC0yLjA2M1Y2LjE4MmgyLjA4YzEuNzU1IDAgMi44MyAxLjA5IDIuODMgMi45MDN6IiBmaWxsPSIjZmZmIi8+PC9zdmc+)}.mapillary-slider-mode-icon-2d{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEzLjM0NSAxMC4yMzZ2My43MWguNzgxYzEuMDk0IDAgMS42Ny0uNTYzIDEuNjctMS44NiAwLTEuMjkzLS41NzYtMS44NS0xLjY2Ny0xLjg1aC0uNzg0eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNC4zMjcgNS42MzhDNCA2LjI4IDQgNy4xMiA0IDguOHY2LjRjMCAxLjY4IDAgMi41Mi4zMjcgMy4xNjJhMyAzIDAgMCAwIDEuMzExIDEuMzExQzYuMjggMjAgNy4xMiAyMCA4LjggMjBoNi40YzEuNjggMCAyLjUyIDAgMy4xNjItLjMyN2EzIDMgMCAwIDAgMS4zMTEtMS4zMTFDMjAgMTcuNzIgMjAgMTYuODggMjAgMTUuMlY4LjhjMC0xLjY4IDAtMi41Mi0uMzI3LTMuMTYyYTMgMyAwIDAgMC0xLjMxMS0xLjMxMUMxNy43MiA0IDE2Ljg4IDQgMTUuMiA0SDguOGMtMS42OCAwLTIuNTIgMC0zLjE2Mi4zMjdhMyAzIDAgMCAwLTEuMzExIDEuMzExek0xMS4xODcgMTVINy4wNHYtLjg4NmwyLjA3LTEuOTE4Yy41MTgtLjUuODEtLjgyNy44MTMtMS4yOS0uMDAzLS41MTEtLjM4OS0uODMtLjkwMy0uODMtLjUzNCAwLS44OTguMzM5LS44OTguODk4SDYuOTU1Yy0uMDAzLTEuMTQyLjg1NS0xLjg3MiAyLjA3My0xLjg3MiAxLjI1NiAwIDIuMDQ2Ljc4MiAyLjA1MSAxLjc5LjAwMy43NDQtLjM4NiAxLjI5My0xLjQxMSAyLjIzbC0uODU1LjgzMnYuMDRoMi4zNzRWMTV6bTUuODM3LTIuOTE1YzAgMS44MTgtMS4wNzQgMi45MTUtMi44NDYgMi45MTVoLTIuMDYzVjkuMTgyaDIuMDhjMS43NTUgMCAyLjgzIDEuMDkgMi44MyAyLjkwM3oiIGZpbGw9IiNmZmYiLz48L3N2Zz4gIA==)}.mapillary-slider-mode-button-inactive .mapillary-slider-mode-icon,.mapillary-slider-mode-button-2d-inactive .mapillary-slider-mode-icon-2d{opacity:.35}.mapillary-slider-position-container{vertical-align:top;pointer-events:auto;background:#00000080;border-top-right-radius:8px;border-bottom-right-radius:8px;height:100%;padding-left:8px;padding-right:16px;display:inline-block}.mapillary-slider-position{pointer-events:auto;cursor:pointer;-webkit-appearance:none;background:0 0;outline:none;height:16px;margin:7px 0 0;padding:0}.mapillary-slider-position::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-6px}.mapillary-slider-position::-webkit-slider-runnable-track{background-color:#fff;border-radius:2px;height:4px}.mapillary-slider-position::-moz-focus-outer{border:0}.mapillary-slider-position::-moz-range-track{background-color:#fff;border-radius:2px;height:4px}.mapillary-slider-position::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:-6px}.mapillary-slider-position::-ms-track{background-color:#fff;border-radius:2px;height:2px}.mapillary-slider-position::-ms-fill-lower{background:0 0;height:0}.mapillary-slider-position::-ms-fill-upper{background:0 0;height:0}.mapillary-slider-position::-ms-thumb{cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:0}.mapillary-slider-position::-ms-tooltip{display:none}.mapillary-viewer.component-tag-create .mapillary-interactive,.mapillary-viewer.component-tag-edit-crosshair .mapillary-interactive{cursor:crosshair}.mapillary-viewer.component-tag-edit-move .mapillary-interactive{cursor:move}.mapillary-viewer.component-tag-edit-nesw-resize .mapillary-interactive{cursor:nesw-resize}.mapillary-viewer.component-tag-edit-nwse-resize .mapillary-interactive{cursor:nwse-resize}.mapillary-tag-container{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:12px}.mapillary-tag-completer,.mapillary-tag-interactor,.mapillary-tag-mover,.mapillary-tag-resizer,.mapillary-tag-spot-interactor,.mapillary-tag-symbol,.mapillary-tag-vertex{position:absolute;top:0;left:0}.mapillary-tag-symbol{cursor:pointer;pointer-events:auto}.mapillary-tag-mover,.mapillary-tag-resizer{pointer-events:auto}.mapillary-tag-mover{opacity:.2;cursor:move;border-radius:7px;width:14px;height:14px}.mapillary-tag-mover:hover{opacity:.5}.mapillary-tag-resizer{opacity:0;cursor:crosshair;border-radius:7px;width:14px;height:14px}.mapillary-tag-resizer:hover{opacity:.3}.mapillary-tag-vertex{pointer-events:none;border-radius:3px;width:6px;height:6px}.mapillary-tag-dot{pointer-events:none;background-color:green;border-radius:1.5px;width:3px;height:3px}.mapillary-tag-vertex.mapillary-tag-larger{border-radius:4px;width:8px;height:8px}.mapillary-tag-interactor,.mapillary-tag-completer,.mapillary-tag-spot-interactor{pointer-events:auto;opacity:0;border-radius:7px;width:14px;height:14px}.mapillary-tag-completer.mapillary-tag-larger{border-radius:8px;width:16px;height:16px}.mapillary-tag-interactor,.mapillary-tag-completer{cursor:pointer}.mapillary-tag-spot-interactor{cursor:move}.mapillary-tag-completer{background:#32cd32}.mapillary-tag-interactor{background:#ff4500}.mapillary-tag-completer:hover,.mapillary-tag-interactor:hover{opacity:.6}.mapillary-tag-spot-interactor:hover{opacity:.3}.mapillary-zoom-container{pointer-events:none;z-index:10;width:32px;height:66px;position:absolute;bottom:90px;right:14px}.mapillary-zoom-in-button,.mapillary-zoom-in-button-inactive,.mapillary-zoom-out-button,.mapillary-zoom-out-button-inactive{pointer-events:auto;cursor:pointer;background:#00000080;width:100%;height:32px}.mapillary-zoom-in-button,.mapillary-zoom-in-button-inactive{border-top-left-radius:8px;border-top-right-radius:8px}.mapillary-zoom-out-button,.mapillary-zoom-out-button-inactive{border-bottom-right-radius:8px;border-bottom-left-radius:8px;margin-top:2px}.mapillary-zoom-in-button-inactive,.mapillary-zoom-out-button-inactive{cursor:default}.mapillary-zoom-in-icon,.mapillary-zoom-out-icon{opacity:1;background-repeat:no-repeat;background-size:contain;width:32px;height:32px;position:relative;top:0;left:0}.mapillary-zoom-compact.mapillary-zoom-container{width:16px;height:34px;bottom:58px}.mapillary-zoom-compact .mapillary-zoom-in-button,.mapillary-zoom-compact .mapillary-zoom-in-button-inactive,.mapillary-zoom-compact .mapillary-zoom-out-button,.mapillary-zoom-compact .mapillary-zoom-out-button-inactive,.mapillary-zoom-compact .mapillary-zoom-in-icon,.mapillary-zoom-compact .mapillary-zoom-out-icon{width:16px;height:16px}.mapillary-zoom-compact .mapillary-zoom-in-button,.mapillary-zoom-compact .mapillary-zoom-in-button-inactive{border-top-left-radius:4px;border-top-right-radius:4px}.mapillary-zoom-compact .mapillary-zoom-out-button,.mapillary-zoom-compact .mapillary-zoom-out-button-inactive{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.mapillary-zoom-in-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDMwIDMwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE2LDE0IEwyMSwxNCBDMjEuNTUyMjg0NywxNCAyMiwxNC40NDc3MTUzIDIyLDE1IEMyMiwxNS41NTIyODQ3IDIxLjU1MjI4NDcsMTYgMjEsMTYgTDE2LDE2IEwxNiwyMSBDMTYsMjEuNTUyMjg0NyAxNS41NTIyODQ3LDIyIDE1LDIyIEMxNC40NDc3MTUzLDIyIDE0LDIxLjU1MjI4NDcgMTQsMjEgTDE0LDE2IEw5LDE2IEM4LjQ0NzcxNTI1LDE2IDgsMTUuNTUyMjg0NyA4LDE1IEM4LDE0LjQ0NzcxNTMgOC40NDc3MTUyNSwxNCA5LDE0IEwxNCwxNCBMMTQsOSBDMTQsOC40NDc3MTUyNSAxNC40NDc3MTUzLDggMTUsOCBDMTUuNTUyMjg0Nyw4IDE2LDguNDQ3NzE1MjUgMTYsOSBMMTYsMTQgWiIvPjwvZz4gIDwvc3ZnPiAg)}.mapillary-zoom-out-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDMwIDMwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIyLDE1IEMyMiwxNS41NTIyODQ3IDIxLjU1MjI4NDcsMTYgMjEsMTYgTDksMTYgQzguNDQ3NzE1MjUsMTYgOCwxNS41NTIyODQ3IDgsMTUgQzgsMTQuNDQ3NzE1MyA4LjQ0NzcxNTI1LDE0IDksMTQgTDIxLDE0IEMyMS41NTIyODQ3LDE0IDIyLDE0LjQ0NzcxNTMgMjIsMTUgWiIvPjwvZz4gIDwvc3ZnPiAg)}.mapillary-zoom-in-button-inactive .mapillary-zoom-in-icon,.mapillary-zoom-out-button-inactive .mapillary-zoom-out-icon{opacity:.35}.swipe-control{background:#fff;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 0 0 2px #0000001a}.swipe-control-toggle{cursor:pointer;color:#1f2a37;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;display:flex}.swipe-control-toggle:hover{background-color:#0000000d}.swipe-control-toggle:focus{box-shadow:0 0 0 2px #4a90d966}.swipe-control-icon{justify-content:center;align-items:center;display:flex}.swipe-control-icon svg{width:22px;height:22px}.swipe-slider{z-index:100;pointer-events:none;position:absolute}.swipe-slider-vertical{cursor:ew-resize;will-change:left;backface-visibility:hidden;background:linear-gradient(#ffffffe6,#ffffffb3);border-left:1px solid #0000004d;border-right:1px solid #0000004d;width:4px;top:0;bottom:0;transform:translate(-50%)translateZ(0)}.swipe-slider-horizontal{cursor:ns-resize;will-change:top;backface-visibility:hidden;background:linear-gradient(90deg,#ffffffe6,#ffffffb3);border-top:1px solid #0000004d;border-bottom:1px solid #0000004d;height:4px;left:0;right:0;transform:translateY(-50%)translateZ(0)}.swipe-slider-handle{pointer-events:auto;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .1s,box-shadow .1s;display:flex;position:absolute;box-shadow:0 2px 6px #0000004d}.swipe-slider-vertical .swipe-slider-handle{cursor:ew-resize;top:50%;left:50%;transform:translate(-50%,-50%)}.swipe-slider-horizontal .swipe-slider-handle{cursor:ns-resize;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}.swipe-slider-handle:hover{box-shadow:0 4px 12px #00000059}.swipe-slider.dragging .swipe-slider-handle{transition:box-shadow .1s;transform:translate(-50%,-50%)scale(1.1);box-shadow:0 4px 12px #0006}.swipe-slider-horizontal.dragging .swipe-slider-handle{transition:box-shadow .1s;transform:translate(-50%,-50%)rotate(90deg)scale(1.1)}.swipe-handle-icon{color:#666;transition:color .1s}.swipe-slider:hover .swipe-handle-icon,.swipe-slider.dragging .swipe-handle-icon{color:#333}.swipe-control-panel{z-index:1000;background:#fff;border-radius:4px;flex-direction:column;min-width:240px;max-width:320px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;line-height:1.4;display:none;position:absolute;overflow:hidden;box-shadow:0 0 0 2px #0000001a}.swipe-control-panel.expanded{display:flex}.swipe-control-header{color:#333;background:#fafafa;border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.swipe-control-title{flex:1;font-size:13px}.swipe-control-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:18px;line-height:1;transition:background-color .1s,color .1s;display:flex}.swipe-control-close:hover{color:#333;background-color:#0000000d}.swipe-control-content{flex:1;min-height:0;padding:12px;overflow-y:auto}.swipe-control-group{margin-bottom:14px}.swipe-control-group:last-child{margin-bottom:0}.swipe-control-label{color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.swipe-control-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;outline:none;width:100%;padding:8px 10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.swipe-control-select:hover{border-color:#bbb}.swipe-control-select:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926}.swipe-control-divider{background:#e0e0e0;height:1px;margin:14px 0}.swipe-layer-list{background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;max-height:140px;overflow-y:auto}.swipe-layer-item{cursor:pointer;border-bottom:1px solid #eee;align-items:center;gap:8px;padding:8px 10px;transition:background-color .1s;display:flex}.swipe-layer-item:last-child{border-bottom:none}.swipe-layer-item:hover{background:#f0f0f0}.swipe-layer-item input[type=checkbox]{cursor:pointer;accent-color:#4a90d9;width:14px;height:14px;margin:0}.swipe-layer-item label{color:#333;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.swipe-control-content,.swipe-layer-list{scrollbar-width:thin;scrollbar-color:#ccc transparent}.swipe-control-content::-webkit-scrollbar{width:6px}.swipe-layer-list::-webkit-scrollbar{width:6px}.swipe-control-content::-webkit-scrollbar-track{background:0 0}.swipe-layer-list::-webkit-scrollbar-track{background:0 0}.swipe-control-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.swipe-layer-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.swipe-control-content::-webkit-scrollbar-thumb:hover{background:#aaa}.swipe-layer-list::-webkit-scrollbar-thumb:hover{background:#aaa}.swipe-toggle-switch{justify-content:space-between;align-items:center;gap:8px;display:flex}.swipe-toggle-label{color:#333;cursor:pointer;font-size:12px;font-weight:500}.swipe-toggle-slider{cursor:pointer;flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.swipe-toggle-slider input{opacity:0;width:0;height:0;position:absolute}.swipe-toggle-track{background-color:#ccc;border-radius:10px;transition:background-color .2s;position:absolute;inset:0}.swipe-toggle-track:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;bottom:2px;left:2px;box-shadow:0 1px 3px #0003}.swipe-toggle-slider input:checked+.swipe-toggle-track{background-color:#4a90d9}.swipe-toggle-slider input:checked+.swipe-toggle-track:before{transform:translate(16px)}.swipe-toggle-slider input:focus+.swipe-toggle-track{box-shadow:0 0 0 2px #4a90d94d}.swipe-layer-list:empty:after{content:"No layers available";color:#999;text-align:center;padding:12px;font-size:11px;font-style:italic;display:block}.usgs-lidar-control{background:#fff;border-radius:4px}.usgs-lidar-control-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;display:flex}.usgs-lidar-control-toggle:hover{background-color:#0000000d}.usgs-lidar-control-icon{justify-content:center;align-items:center;display:flex}.usgs-lidar-control-icon svg{stroke:#333;width:22px;height:22px}.usgs-lidar-control-panel{z-index:10;background:#fff;border-radius:8px;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;display:none;position:absolute;overflow:hidden;box-shadow:0 4px 20px #00000026}.usgs-lidar-control-panel.expanded{display:flex}.usgs-lidar-control-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.usgs-lidar-control-title{color:#333;font-size:14px;font-weight:600}.usgs-lidar-control-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;display:flex}.usgs-lidar-control-close:hover{color:#333;background-color:#00000014}.usgs-lidar-panel-content{flex:1;padding:0;overflow-y:auto}.usgs-lidar-section{border-bottom:1px solid #e9ecef}.usgs-lidar-section:last-child{border-bottom:none}.usgs-lidar-section-header{color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;padding:10px 16px;font-size:12px;font-weight:600}.usgs-lidar-section-header span{color:#888;margin-left:4px;font-weight:400}.usgs-lidar-section-content{padding:12px 16px}.usgs-lidar-button-row{gap:8px;margin-bottom:8px;display:flex}.usgs-lidar-button-row:last-child{margin-bottom:0}.usgs-lidar-btn{cursor:pointer;border:none;border-radius:6px;flex:1;padding:8px 12px;font-size:13px;font-weight:500;transition:background-color .15s,opacity .15s}.usgs-lidar-btn:disabled{opacity:.5;cursor:not-allowed}.usgs-lidar-btn-primary{color:#fff;background:#4a90d9}.usgs-lidar-btn-primary:hover:not(:disabled){background:#3a7fc8}.usgs-lidar-btn-secondary{color:#495057;background:#e9ecef}.usgs-lidar-btn-secondary:hover:not(:disabled){background:#dee2e6}.usgs-lidar-btn-danger{color:#fff;background:#dc3545}.usgs-lidar-btn-danger:hover:not(:disabled){background:#c82333}.usgs-lidar-btn-full{flex:1;width:100%}.usgs-lidar-btn-icon{cursor:pointer;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:16px;transition:background-color .15s;display:flex}.usgs-lidar-btn-icon:hover{background:#f8f9fa}.usgs-lidar-btn-remove{color:#dc3545}.usgs-lidar-btn-remove:hover{background:#fff5f5}.usgs-lidar-bbox-info{color:#1864ab;word-break:break-all;background:#e7f5ff;border-radius:4px;margin-bottom:8px;padding:8px 10px;font-size:12px}.usgs-lidar-loading{color:#666;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.usgs-lidar-spinner{border:2px solid #e9ecef;border-top-color:#4a90d9;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite usgs-lidar-spin}@keyframes usgs-lidar-spin{to{transform:rotate(360deg)}}.usgs-lidar-error{color:#c92a2a;background:#fff5f5;border-radius:4px;padding:8px 10px;font-size:12px}.usgs-lidar-results-list{border:1px solid #e9ecef;border-radius:6px;max-height:200px;margin-bottom:8px;overflow-y:auto}.usgs-lidar-result-item{border-bottom:1px solid #f1f3f5;align-items:center;gap:8px;padding:8px 10px;transition:background-color .15s;display:flex}.usgs-lidar-result-item:last-child{border-bottom:none}.usgs-lidar-result-item:hover{background:#f8f9fa}.usgs-lidar-result-item.selected{background:#e7f5ff}.usgs-lidar-result-item.loaded{opacity:.7}.usgs-lidar-result-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px}.usgs-lidar-result-info{flex:1;min-width:0}.usgs-lidar-result-name{color:#333;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.usgs-lidar-result-meta{color:#868e96;font-size:11px}.usgs-lidar-loaded-badge{color:#2b8a3e;background:#d3f9d8;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px}.usgs-lidar-loaded-list{margin-bottom:10px}.usgs-lidar-loaded-item{border-bottom:1px solid #f1f3f5;align-items:center;gap:8px;padding:6px 0;display:flex}.usgs-lidar-loaded-item:last-child{border-bottom:none}.usgs-lidar-loaded-name{color:#333;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.usgs-lidar-loaded-points{color:#868e96;flex-shrink:0;font-size:11px}.usgs-lidar-control-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.usgs-lidar-control-row:last-child{margin-bottom:0}.usgs-lidar-control-row label{color:#555;flex-shrink:0;width:70px;font-size:12px}.usgs-lidar-select{cursor:pointer;background:#fff;border:1px solid #dee2e6;border-radius:4px;flex:1;padding:6px 8px;font-size:12px}.usgs-lidar-select:focus{border-color:#4a90d9;outline:none}.usgs-lidar-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e9ecef;border-radius:2px;outline:none;flex:1;height:4px}.usgs-lidar-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#4a90d9;border-radius:50%;width:14px;height:14px}.usgs-lidar-slider::-moz-range-thumb{cursor:pointer;background:#4a90d9;border:none;border-radius:50%;width:14px;height:14px}.usgs-lidar-slider-value{text-align:right;color:#666;flex-shrink:0;width:30px;font-size:12px}.usgs-lidar-slider-value-wide{width:55px}.usgs-lidar-notification{color:#fff;z-index:10;background:#2b8a3e;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;animation:.2s ease-out usgs-lidar-notification-in;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0003}.usgs-lidar-notification.error{background:#c92a2a}@keyframes usgs-lidar-notification-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.usgs-lidar-checkbox-row{cursor:pointer;align-items:center;gap:8px;margin-bottom:10px;display:flex}.usgs-lidar-checkbox-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px}.usgs-lidar-checkbox-row label{color:#555;cursor:pointer;flex:1;font-size:12px}.usgs-lidar-checkbox-group{margin-bottom:12px}.usgs-lidar-dual-range-row{align-items:center;gap:12px;margin-top:8px;margin-bottom:12px;display:flex}.usgs-lidar-dual-range-row label{color:#555;flex-shrink:0;width:70px;font-size:12px}.usgs-lidar-dual-range-slider{flex:1;height:20px;position:relative}.usgs-lidar-dual-range-track{pointer-events:none;background:#e9ecef;border-radius:2px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.usgs-lidar-dual-range-fill{pointer-events:none;background:#4a90d9;border-radius:2px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.usgs-lidar-dual-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none;background:0 0;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;left:0}.usgs-lidar-dual-range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;pointer-events:auto;background:#4a90d9;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}.usgs-lidar-dual-range-input::-moz-range-thumb{cursor:pointer;pointer-events:auto;background:#4a90d9;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}.usgs-lidar-dual-range-input::-webkit-slider-runnable-track{background:0 0;height:4px}.usgs-lidar-dual-range-input::-moz-range-track{background:0 0;height:4px}.usgs-lidar-dual-range-value{text-align:right;color:#666;flex-shrink:0;width:75px;font-size:12px}.usgs-lidar-classification-legend{border:1px solid #e9ecef;border-radius:6px;margin-bottom:12px;overflow:hidden}.usgs-lidar-classification-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;gap:6px;padding:8px 10px;display:flex}.usgs-lidar-btn-small{cursor:pointer;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:4px 8px;font-size:11px;transition:background-color .15s}.usgs-lidar-btn-small:hover{background:#f8f9fa}.usgs-lidar-classification-list{max-height:180px;padding:4px 0;overflow-y:auto}.usgs-lidar-classification-item{cursor:pointer;align-items:center;gap:8px;padding:6px 10px;transition:background-color .15s;display:flex}.usgs-lidar-classification-item:hover{background:#f8f9fa}.usgs-lidar-classification-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:14px;height:14px}.usgs-lidar-classification-swatch{border:1px solid #0000001a;border-radius:3px;flex-shrink:0;width:16px;height:16px}.usgs-lidar-classification-label{color:#333;cursor:pointer;flex:1;font-size:12px}.usgs-lidar-classification-empty{text-align:center;color:#868e96;padding:12px 10px;font-size:12px;font-style:italic}.usgs-lidar-source-toggle{border-bottom:1px solid #e9ecef;gap:16px;margin-bottom:12px;padding:8px 0;display:flex}.usgs-lidar-source-option{color:#555;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.usgs-lidar-source-option input[type=radio]{cursor:pointer;width:14px;height:14px;margin:0}.usgs-lidar-source-option:hover{color:#333}.usgs-lidar-colormap-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:12px;padding:10px}.usgs-lidar-colorbar-container{align-items:center;gap:8px;margin-top:8px;margin-bottom:8px;display:flex}.usgs-lidar-colorbar-canvas{border:1px solid #e9ecef;border-radius:4px;flex:1;height:16px}.usgs-lidar-colorbar-label{color:#666;min-width:40px;font-size:11px}.usgs-lidar-colorbar-min{text-align:left}.usgs-lidar-colorbar-max{text-align:right}.usgs-lidar-color-range-section{margin-top:10px}.usgs-lidar-color-range-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.usgs-lidar-color-range-header span{color:#555;font-size:12px;font-weight:500}.usgs-lidar-color-range-mode{gap:16px;margin-bottom:8px;display:flex}.usgs-lidar-radio-option{color:#555;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.usgs-lidar-radio-option input[type=radio]{cursor:pointer;width:14px;height:14px;margin:0}.usgs-lidar-radio-option:hover{color:#333}.usgs-lidar-btn-info{color:#4a90d9}.usgs-lidar-btn-info:hover{background:#e7f5ff}.usgs-lidar-section-collapsible{align-items:center;gap:6px;display:flex}.usgs-lidar-section-toggle{color:#888;font-size:10px;transition:transform .15s}.usgs-lidar-section-body{padding:0}.usgs-lidar-crosssection-section .usgs-lidar-section-body{padding:12px 16px}.usgs-lidar-crosssection-section .lidar-crosssection-panel{box-shadow:none;background:0 0;border:none;padding:0}
.duckdb-control{color:#1f2933;background:#fff;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 0 0 2px #0000001a}.duckdb-control-toggle{color:#1f2933;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:29px;height:29px;padding:0;display:flex}.duckdb-control-toggle:hover{background-color:#0000000d}.duckdb-control-icon{justify-content:center;align-items:center;width:100%;height:100%;line-height:0;display:flex}.duckdb-control-icon svg{fill:none;stroke:currentColor;width:22px;height:22px;display:block}.duckdb-control-panel{z-index:1000;background:#fff;border-radius:4px;min-width:300px;max-width:min(460px,100% - 20px);max-height:min(620px,100% - 20px);padding:0;font-size:12px;line-height:1.4;display:none;position:absolute;overflow:hidden;box-shadow:0 0 0 2px #0000001a}.duckdb-control-panel.expanded{display:block}.duckdb-control-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.duckdb-control-title{flex:auto;font-size:13px}.duckdb-control-close{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:18px;line-height:1;display:flex}.duckdb-control-close:hover{color:#111827}.duckdb-control-content{max-height:560px;padding:10px 12px 12px;overflow-y:auto}.duckdb-control-section{border-bottom:1px solid #edf0f2;flex-direction:column;gap:8px;padding:0 0 10px;display:flex}.duckdb-control-section+.duckdb-control-section{padding-top:10px}.duckdb-control-section:last-child{border-bottom:none;padding-bottom:0}.duckdb-control-section-title{color:#111827;font-size:12px;font-weight:700}.duckdb-control-label{color:#4b5563;font-size:12px;font-weight:600;display:block}.duckdb-control-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.duckdb-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.duckdb-control-input,.duckdb-control-file,.duckdb-control-textarea{box-sizing:border-box;font:inherit;border:1px solid #d1d5db;border-radius:4px;width:100%;min-width:0;padding:7px 8px}.duckdb-control-textarea{resize:vertical;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;line-height:1.35}.duckdb-control-input:focus,.duckdb-control-textarea:focus{border-color:#287e9b;outline:none;box-shadow:0 0 0 3px #287e9b26}.duckdb-control-button,.duckdb-control-secondary-button{cursor:pointer;font:inherit;border:none;border-radius:4px;justify-content:center;align-items:center;min-height:32px;padding:7px 10px;font-weight:600;display:inline-flex}.duckdb-control-button{color:#fff;background:#287e9b}.duckdb-control-button:hover{background:#1f5469}.duckdb-control-secondary-button{color:#1f2933;background:#eef2f7}.duckdb-control-secondary-button:hover{background:#e1e7ef}.duckdb-control-button:disabled,.duckdb-control-secondary-button:disabled,.duckdb-control-input:disabled,.duckdb-control-file:disabled,.duckdb-control-textarea:disabled{cursor:not-allowed;opacity:.55}.duckdb-control-placeholder,.duckdb-control-status,.duckdb-control-error{border-radius:4px;margin:0;padding:8px}.duckdb-control-placeholder{color:#6b7280;text-align:center}.duckdb-control-status{color:#155e75;background:#ecfeff}.duckdb-control-error{color:#b91c1c;background:#fef2f2}.duckdb-control-summary-row{grid-template-columns:78px minmax(0,1fr);align-items:start;gap:8px;display:grid}.duckdb-control-summary-row span{color:#6b7280}.duckdb-control-summary-row strong{color:#111827;overflow-wrap:anywhere;font-weight:600}.duckdb-control-check{align-items:center;gap:6px;min-height:24px;display:flex}.duckdb-control-check span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duckdb-control-properties{grid-template-columns:minmax(72px,max-content) minmax(0,1fr);gap:4px 8px;margin:0;display:grid}.duckdb-control-properties dt{color:#6b7280;text-overflow:ellipsis;font-weight:600;overflow:hidden}.duckdb-control-properties dd{overflow-wrap:anywhere;margin:0}.duckdb-control-content::-webkit-scrollbar{width:6px}.duckdb-control-content::-webkit-scrollbar-track{background:0 0}.duckdb-control-content::-webkit-scrollbar-thumb{background:#c7ced8;border-radius:3px}.duckdb-popup{color:#1f2933;font:12px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.maplibregl-popup.duckdb-attribute-popup,.maplibregl-popup.duckdb-attribute-popup.maplibregl-popup{z-index:10000;max-width:min(320px,100vw - 24px)!important}.maplibregl-popup.duckdb-attribute-popup .maplibregl-popup-content{box-sizing:border-box;max-width:min(320px,100vw - 24px);overflow:hidden}.duckdb-popup strong{overflow-wrap:anywhere;margin-bottom:6px;display:block}.duckdb-popup table{border-collapse:collapse;table-layout:fixed;width:100%;max-width:100%}.duckdb-popup th,.duckdb-popup td{overflow-wrap:anywhere;text-align:left;vertical-align:top;word-break:break-word;border-top:1px solid #e5e7eb;max-width:0;padding:3px 5px}.duckdb-popup th{color:#6b7280;width:34%;font-weight:600}
/*$vite$:1*//**
 * MapLibre GL EnviroAtlas Control Styles
 *
 * Theming is driven by CSS custom properties. The light palette is
 * the default; the dark palette applies automatically through
 * prefers-color-scheme when the control theme is 'auto', or
 * explicitly through [data-theme="dark"]. Explicit data-theme
 * attributes always win over the media query.
 */

/* Light palette (default) */
.enviroatlas-control,
.enviroatlas-panel {
  --ea-bg: #ffffff;
  --ea-fg: #1f2a37;
  --ea-muted: #6b7280;
  --ea-border: #e0e0e0;
  --ea-accent: #4a90d9;
  --ea-accent-fg: #ffffff;
  --ea-hover: rgba(0, 0, 0, 0.05);
  --ea-input-bg: #ffffff;
  --ea-scrollbar: #cccccc;
  --ea-scrollbar-hover: #aaaaaa;
  --ea-shadow: rgba(0, 0, 0, 0.1);
  --ea-error: #c0392b;
  --ea-notice-bg: #eef5fc;
}

/* Dark palette via OS preference (theme: 'auto') */
@media (prefers-color-scheme: dark) {
  .enviroatlas-control:not([data-theme='light']),
  .enviroatlas-panel:not([data-theme='light']) {
    --ea-bg: #1f2937;
    --ea-fg: #e5e7eb;
    --ea-muted: #9ca3af;
    --ea-border: #374151;
    --ea-accent: #5ba3e8;
    --ea-accent-fg: #0f1722;
    --ea-hover: rgba(255, 255, 255, 0.08);
    --ea-input-bg: #111827;
    --ea-scrollbar: #4b5563;
    --ea-scrollbar-hover: #6b7280;
    --ea-shadow: rgba(0, 0, 0, 0.45);
    --ea-error: #f1948a;
    --ea-notice-bg: #1d2c40;
  }
}

/* Explicit dark theme (theme: 'dark') overrides the media query */
.enviroatlas-control[data-theme='dark'],
.enviroatlas-panel[data-theme='dark'] {
  --ea-bg: #1f2937;
  --ea-fg: #e5e7eb;
  --ea-muted: #9ca3af;
  --ea-border: #374151;
  --ea-accent: #5ba3e8;
  --ea-accent-fg: #0f1722;
  --ea-hover: rgba(255, 255, 255, 0.08);
  --ea-input-bg: #111827;
  --ea-scrollbar: #4b5563;
  --ea-scrollbar-hover: #6b7280;
  --ea-shadow: rgba(0, 0, 0, 0.45);
  --ea-error: #f1948a;
  --ea-notice-bg: #1d2c40;
}

/* Container - matches maplibregl-ctrl styling. The doubled class bumps
   specificity above maplibre-gl.css's .maplibregl-ctrl-group background
   regardless of stylesheet import order, so the button follows the
   theme palette in dark mode. */
.enviroatlas-control.enviroatlas-control {
  background: var(--ea-bg);
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--ea-shadow);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Toggle button - 29x29 to match navigation control */
.enviroatlas-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: var(--ea-fg);
  border-radius: 4px;
}

.enviroatlas-toggle:hover {
  background-color: var(--ea-hover);
}

.enviroatlas-toggle .enviroatlas-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.enviroatlas-toggle .enviroatlas-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  fill: none;
}

/* Panel - positioned dynamically by JavaScript for floating behavior */
.enviroatlas-panel {
  position: absolute;
  /* Position is set dynamically by _updatePanelPosition() */
  background: var(--ea-bg);
  color: var(--ea-fg);
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--ea-shadow);
  width: min(var(--ea-panel-width, 360px), var(--ea-panel-max-w, calc(100vw - 20px)));
  min-width: 200px;
  max-height: var(--ea-panel-max-h, 70vh);
  overflow: hidden;
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  display: none;
  flex-direction: column;
}

.enviroatlas-panel.expanded {
  display: flex;
}

/* Panel header */
.enviroatlas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: var(--ea-fg);
  padding: 4px 0 8px 0;
  border-bottom: 1px solid var(--ea-border);
  margin-bottom: 8px;
  flex: 0 0 auto;
}

.enviroatlas-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.enviroatlas-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--ea-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.enviroatlas-close:hover {
  color: var(--ea-fg);
}

/* Search */
.enviroatlas-search {
  flex: 0 0 auto;
  margin-bottom: 8px;
}

.enviroatlas-search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 7px 10px;
  font-size: 12px;
  color: var(--ea-fg);
  background: var(--ea-input-bg);
  border: 1px solid var(--ea-border);
  border-radius: 4px;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.enviroatlas-search-input::-moz-placeholder {
  color: var(--ea-muted);
}

.enviroatlas-search-input::placeholder {
  color: var(--ea-muted);
}

.enviroatlas-search-input:focus {
  border-color: var(--ea-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ea-accent) 18%, transparent);
}

/* "Insert before" row */
.enviroatlas-before-row {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.enviroatlas-before-label {
  flex: 0 0 auto;
  color: var(--ea-muted);
  font-size: 11px;
}

.enviroatlas-before-select {
  flex: 1 1 auto;
  min-width: 0;
  padding: 4px 6px;
  font-size: 11px;
  color: var(--ea-fg);
  background: var(--ea-input-bg);
  border: 1px solid var(--ea-border);
  border-radius: 4px;
  outline: none;
}

.enviroatlas-before-select:focus {
  border-color: var(--ea-accent);
}

/* Inline notice */
.enviroatlas-notice {
  flex: 0 0 auto;
  margin-bottom: 8px;
  padding: 6px 8px;
  border-radius: 4px;
  background: var(--ea-notice-bg);
  color: var(--ea-fg);
  font-size: 11px;
}

.enviroatlas-notice-error {
  color: var(--ea-error);
}

/* Browse region (tree or search results) - scrolls vertically */
.enviroatlas-browse {
  flex: 1 1 auto;
  min-height: 60px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Rows shared by tree, results, and added layers */
.enviroatlas-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 4px;
  border-radius: 4px;
  min-width: 0;
}

.enviroatlas-row:hover {
  background: var(--ea-hover);
}

.enviroatlas-row-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ea-fg);
  cursor: pointer;
}

.enviroatlas-leaf {
  cursor: default;
}

.enviroatlas-folder-row .enviroatlas-row-name {
  font-weight: 600;
}

.enviroatlas-count {
  flex: 0 0 auto;
  min-width: 18px;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  color: var(--ea-muted);
  background: var(--ea-hover);
  border-radius: 8px;
  padding: 0 5px;
  line-height: 15px;
}

.enviroatlas-badge {
  flex: 0 0 auto;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.4px;
  color: var(--ea-muted);
  border: 1px solid var(--ea-border);
  border-radius: 3px;
  padding: 0 4px;
  line-height: 14px;
}

/* Caret (expand/collapse) and small icon buttons */
.enviroatlas-caret,
.enviroatlas-icon-btn,
.enviroatlas-add-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--ea-muted);
  cursor: pointer;
  border-radius: 4px;
  line-height: 0;
}

.enviroatlas-caret svg {
  transition: transform 0.15s ease;
}

.enviroatlas-caret.expanded svg {
  transform: rotate(90deg);
}

.enviroatlas-caret:hover,
.enviroatlas-icon-btn:hover {
  color: var(--ea-fg);
  background: var(--ea-hover);
}

.enviroatlas-add-btn {
  color: var(--ea-accent);
  border: 1px solid var(--ea-border);
}

.enviroatlas-add-btn:hover {
  background: var(--ea-accent);
  color: var(--ea-accent-fg);
  border-color: var(--ea-accent);
}

.enviroatlas-legend-btn.active {
  color: var(--ea-accent);
}

/* Tree nesting */
.enviroatlas-services {
  margin-left: 14px;
}

.enviroatlas-sublayers {
  margin-left: 18px;
}

/* Search results */
.enviroatlas-result-row {
  align-items: flex-start;
  padding: 5px 4px;
}

.enviroatlas-result-text {
  flex: 1 1 auto;
  min-width: 0;
}

.enviroatlas-result-text .enviroatlas-row-name {
  cursor: default;
  display: block;
}

.enviroatlas-breadcrumb {
  color: var(--ea-muted);
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Status / placeholder rows */
.enviroatlas-status {
  margin: 4px 0;
  padding: 4px;
  color: var(--ea-muted);
  font-size: 11px;
}

.enviroatlas-status-error {
  color: var(--ea-error);
  cursor: pointer;
}

/* Added layers section */
.enviroatlas-added-slot {
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.enviroatlas-added {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-top: 1px solid var(--ea-border);
  margin-top: 8px;
  padding-top: 6px;
}

.enviroatlas-section-title {
  flex: 0 0 auto;
  font-weight: 600;
  font-size: 12px;
  color: var(--ea-fg);
  margin-bottom: 4px;
}

.enviroatlas-added-list {
  overflow-y: auto;
  max-height: 180px;
}

.enviroatlas-added-item {
  border-bottom: 1px solid var(--ea-border);
  padding-bottom: 4px;
  margin-bottom: 4px;
}

.enviroatlas-added-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.enviroatlas-visibility {
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--ea-accent);
  cursor: pointer;
}

.enviroatlas-added-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 4px 2px 24px;
}

.enviroatlas-opacity-label {
  flex: 0 0 auto;
  color: var(--ea-muted);
  font-size: 10px;
}

.enviroatlas-opacity {
  flex: 1 1 auto;
  min-width: 0;
  height: 4px;
  accent-color: var(--ea-accent);
  cursor: pointer;
}

.enviroatlas-opacity-value {
  flex: 0 0 auto;
  width: 32px;
  text-align: right;
  color: var(--ea-muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

/* Legend */
.enviroatlas-legend {
  padding: 2px 4px 4px 24px;
}

.enviroatlas-legend-layer {
  font-weight: 600;
  font-size: 11px;
  color: var(--ea-fg);
  margin: 4px 0 2px;
}

.enviroatlas-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 1px 0;
}

.enviroatlas-legend-swatch {
  flex: 0 0 auto;
  border-radius: 2px;
}

.enviroatlas-legend-label {
  color: var(--ea-fg);
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Scrollbar styling */
.enviroatlas-browse,
.enviroatlas-added-list,
.enviroatlas-panel {
  scrollbar-width: thin;
  scrollbar-color: var(--ea-scrollbar) transparent;
}

.enviroatlas-browse::-webkit-scrollbar,
.enviroatlas-added-list::-webkit-scrollbar {
  width: 6px;
}

.enviroatlas-browse::-webkit-scrollbar-track,
.enviroatlas-added-list::-webkit-scrollbar-track {
  background: transparent;
}

.enviroatlas-browse::-webkit-scrollbar-thumb,
.enviroatlas-added-list::-webkit-scrollbar-thumb {
  background: var(--ea-scrollbar);
  border-radius: 3px;
}

.enviroatlas-browse::-webkit-scrollbar-thumb:hover,
.enviroatlas-added-list::-webkit-scrollbar-thumb:hover {
  background: var(--ea-scrollbar-hover);
}

/* Form elements kept for custom panel content */
.enviroatlas-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ea-accent-fg);
  background: var(--ea-accent);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: filter 0.15s;
}

.enviroatlas-button:hover {
  filter: brightness(0.92);
}

.enviroatlas-button:disabled {
  background: var(--ea-border);
  cursor: not-allowed;
}

.enviroatlas-divider {
  height: 1px;
  background: var(--ea-border);
  margin: 12px 0;
}

/* Resize handle - sits on the panel's free edge (right by default,
   left when the panel is right-anchored) */
.enviroatlas-resizer {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 6px;
  cursor: ew-resize;
  touch-action: none;
  border-radius: 3px;
}

.enviroatlas-panel.enviroatlas-resize-left .enviroatlas-resizer {
  right: auto;
  left: 0;
}

.enviroatlas-resizer:hover,
.enviroatlas-panel.enviroatlas-resizing .enviroatlas-resizer {
  background: color-mix(in srgb, var(--ea-accent) 35%, transparent);
}

.enviroatlas-panel.enviroatlas-resizing {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Small screens: tighten padding so more content fits */
@media (max-width: 480px) {
  .enviroatlas-panel {
    font-size: 11px;
    padding: 6px;
  }
}
/*$vite$:1*/.esri-wayback-control {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  color: #1f2933;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.esri-wayback-control-toggle {
  align-items: center;
  background: none;
  border: none;
  color: #1f2933;
  cursor: pointer;
  display: flex;
  height: 29px;
  justify-content: center;
  outline: none;
  padding: 0;
  width: 29px;
}

.esri-wayback-control-toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.esri-wayback-control-icon {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  line-height: 0;
  position: relative;
  width: 100%;
}

.esri-wayback-control-icon svg {
  display: block;
  fill: none;
  height: 22px;
  stroke: currentColor;
  width: 22px;
}

.esri-wayback-control-panel {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  display: none;
  font-size: 12px;
  line-height: 1.4;
  max-height: 540px;
  max-width: min(420px, calc(100% - 20px));
  min-width: 260px;
  overflow: hidden;
  padding: 8px;
  position: absolute;
  z-index: 1000;
}

.esri-wayback-control-panel.expanded {
  display: block;
}

.esri-wayback-control-header {
  align-items: center;
  border-bottom: 1px solid #dde3ea;
  color: #24313f;
  display: flex;
  font-weight: 700;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 4px 0 8px;
}

.esri-wayback-control-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.esri-wayback-control-close {
  align-items: center;
  background: transparent;
  border: none;
  color: #697586;
  cursor: pointer;
  display: flex;
  font-size: 18px;
  height: 20px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 20px;
}

.esri-wayback-control-close:hover {
  color: #1f2933;
}

.esri-wayback-control-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 488px;
  overflow: hidden;
}

.esri-wayback-status {
  color: #5f6b7a;
  margin: 0;
  padding: 8px 0;
}

.esri-wayback-status-error {
  color: #a33120;
  font-weight: 600;
}

.esri-wayback-summary {
  background: #f4f7f9;
  border: 1px solid #dde3ea;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px;
}

.esri-wayback-summary-label,
.esri-wayback-summary-detail,
.esri-wayback-release-count {
  color: #697586;
  font-size: 11px;
}

.esri-wayback-summary-value {
  color: #14212d;
  font-size: 15px;
}

.esri-wayback-label {
  color: #3f4e5d;
  font-weight: 600;
}

.esri-wayback-slider {
  border: 1px solid #dde3ea;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  background: #fff;
}

.esri-wayback-slider-label-row,
.esri-wayback-slider-endpoints,
.esri-wayback-slider-controls {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.esri-wayback-range {
  accent-color: #2b7bb9;
  cursor: pointer;
  margin: 2px 0;
  width: 100%;
}

.esri-wayback-slider-endpoints {
  color: #697586;
  font-size: 11px;
}

.esri-wayback-slider-controls {
  gap: 8px;
}

.esri-wayback-slider-button {
  background: #f4f7f9;
  border: 1px solid #ccd6e0;
  border-radius: 4px;
  color: #24313f;
  cursor: pointer;
  flex: 1 1 0;
  font-size: 13px;
  font-weight: 700;
  height: 28px;
}

.esri-wayback-slider-button:hover:not(:disabled) {
  background: #e8f3fb;
  border-color: #2b7bb9;
}

.esri-wayback-slider-button:disabled {
  color: #9aa6b2;
  cursor: not-allowed;
}

.esri-wayback-persistent {
  border: 1px solid #dde3ea;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
}

.esri-wayback-persistent-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.esri-wayback-input {
  border: 1px solid #ccd6e0;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 13px;
  outline: none;
  padding: 7px 9px;
  width: 100%;
}

.esri-wayback-input:focus {
  border-color: #2b7bb9;
  box-shadow: 0 0 0 3px rgba(43, 123, 185, 0.16);
}

.esri-wayback-add-layer-button {
  background: #24313f;
  border: none;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  min-height: 30px;
  padding: 7px 10px;
}

.esri-wayback-add-layer-button:hover:not(:disabled) {
  background: #324456;
}

.esri-wayback-add-layer-button:disabled {
  background: #ccd6e0;
  cursor: not-allowed;
}

.esri-wayback-persistent-status {
  color: #5f6b7a;
  font-size: 11px;
  margin: 0;
  overflow-wrap: anywhere;
}

.esri-wayback-metadata {
  border-top: 1px solid #dde3ea;
  padding-top: 8px;
}

.esri-wayback-metadata h3 {
  color: #24313f;
  font-size: 12px;
  margin: 0 0 6px;
}

.esri-wayback-metadata dl {
  display: grid;
  grid-template-columns: minmax(72px, 0.75fr) minmax(0, 1.25fr);
  margin: 0;
  row-gap: 4px;
}

.esri-wayback-metadata dt {
  color: #697586;
  font-weight: 600;
}

.esri-wayback-metadata dd {
  color: #1f2933;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
/*$vite$:1*//**
 * MapLibre GL FEMA WMS Control Styles
 *
 * Theming uses CSS custom properties. Light values are the defaults;
 * dark values apply automatically via prefers-color-scheme, or can be
 * forced with a `dark` class (and back with a `light` class) on the
 * control/panel/popup elements or any ancestor.
 */

/* ---------------------------------------------------------------------------
 * Theme tokens
 * ------------------------------------------------------------------------ */

.plugin-control.fema-wms-control,
.plugin-control-panel.fema-wms-panel,
.fema-wms-popup {
  --fw-bg: #ffffff;
  --fw-fg: #1f2a37;
  --fw-muted: #6b7280;
  --fw-border: #e0e0e0;
  --fw-accent: #2f7cc4;
  --fw-accent-hover: #2565a3;
  --fw-accent-contrast: #ffffff;
  --fw-input-bg: #ffffff;
  --fw-input-border: #d0d5dd;
  --fw-row-hover: rgba(0, 0, 0, 0.045);
  --fw-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  --fw-scroll-thumb: #c7cdd4;
  --fw-scroll-thumb-hover: #aab2bb;
  --fw-error: #b3261e;
  /* Legends are dark-on-transparent images; keep their backdrop light in
     both themes so they stay readable. */
  --fw-legend-bg: #ffffff;
}

@media (prefers-color-scheme: dark) {
  .plugin-control.fema-wms-control:not(.light):not(.light *),
  .plugin-control-panel.fema-wms-panel:not(.light):not(.light *),
  .fema-wms-popup:not(.light):not(.light *) {
    --fw-bg: #20262e;
    --fw-fg: #e5e7eb;
    --fw-muted: #9aa3af;
    --fw-border: #3a4350;
    --fw-accent: #6ab0f3;
    --fw-accent-hover: #8ec2f6;
    --fw-accent-contrast: #10151c;
    --fw-input-bg: #161b22;
    --fw-input-border: #3a4350;
    --fw-row-hover: rgba(255, 255, 255, 0.07);
    --fw-shadow: 0 0 0 2px rgba(0, 0, 0, 0.45);
    --fw-scroll-thumb: #4b5563;
    --fw-scroll-thumb-hover: #5f6b7a;
    --fw-error: #ff8a80;
  }
}

.plugin-control.fema-wms-control.dark,
.plugin-control-panel.fema-wms-panel.dark,
.fema-wms-popup.dark,
.dark .plugin-control.fema-wms-control:not(.light):not(.light *),
.dark .plugin-control-panel.fema-wms-panel:not(.light):not(.light *),
.dark .fema-wms-popup:not(.light):not(.light *) {
  --fw-bg: #20262e;
  --fw-fg: #e5e7eb;
  --fw-muted: #9aa3af;
  --fw-border: #3a4350;
  --fw-accent: #6ab0f3;
  --fw-accent-hover: #8ec2f6;
  --fw-accent-contrast: #10151c;
  --fw-input-bg: #161b22;
  --fw-input-border: #3a4350;
  --fw-row-hover: rgba(255, 255, 255, 0.07);
  --fw-shadow: 0 0 0 2px rgba(0, 0, 0, 0.45);
  --fw-scroll-thumb: #4b5563;
  --fw-scroll-thumb-hover: #5f6b7a;
  --fw-error: #ff8a80;
}

/* ---------------------------------------------------------------------------
 * Container and toggle button
 * ------------------------------------------------------------------------ */

/* Container - matches maplibregl-ctrl styling.
   The compound selectors out-specify maplibre-gl's own
   `.maplibregl-ctrl-group` background and `:not(:empty)` box-shadow rules,
   which would otherwise force a white button in dark mode regardless of
   stylesheet load order. */
.plugin-control.fema-wms-control,
.maplibregl-ctrl.plugin-control.fema-wms-control,
.maplibregl-ctrl-group.plugin-control.fema-wms-control:not(:empty) {
  background: var(--fw-bg);
  border-radius: 4px;
  box-shadow: var(--fw-shadow);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Toggle button - 29x29 to match navigation control */
.fema-wms-control .plugin-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  /* The icon uses currentColor, so this keeps it readable in both themes */
  color: var(--fw-fg);
}

.fema-wms-control .plugin-control-toggle:hover,
.maplibregl-ctrl.plugin-control.fema-wms-control button.plugin-control-toggle:not(:disabled):hover {
  background-color: var(--fw-row-hover);
}

.fema-wms-control .plugin-control-toggle:focus-visible {
  outline: 2px solid var(--fw-accent);
  outline-offset: -2px;
  border-radius: 4px;
}

.fema-wms-control .plugin-control-toggle .plugin-control-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.fema-wms-control .plugin-control-toggle .plugin-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  fill: none;
}

/* ---------------------------------------------------------------------------
 * Panel
 * ------------------------------------------------------------------------ */

/* Panel - positioned dynamically by JavaScript for floating behavior */
.plugin-control-panel.fema-wms-panel {
  position: absolute;
  /* Position is set dynamically by _updatePanelPosition() */
  background: var(--fw-bg);
  color: var(--fw-fg);
  border-radius: 4px;
  box-shadow: var(--fw-shadow);
  box-sizing: border-box;
  min-width: 240px;
  /* Stay usable on small screens: never exceed the viewport.
     The height cap is refined per position by _updatePanelPosition();
     the width is user-resizable via the drag handle. */
  max-width: calc(100vw - 20px);
  max-height: min(500px, calc(100vh - 80px));
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  display: none;
}

.plugin-control-panel.fema-wms-panel.expanded {
  /* Flex column so the header stays pinned and only the content scrolls */
  display: flex;
  flex-direction: column;
}

/* Panel header */
.fema-wms-panel .plugin-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: var(--fw-fg);
  padding: 4px 0 8px 0;
  border-bottom: 1px solid var(--fw-border);
  margin-bottom: 8px;
  flex: 0 0 auto;
}

.fema-wms-panel .plugin-control-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.fema-wms-panel .plugin-control-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--fw-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fema-wms-panel .plugin-control-close:hover {
  color: var(--fw-fg);
}

/* Width drag-resize handle, positioned by JS on the edge facing away
   from the control's anchor corner */
.fema-wms-panel .plugin-control-resize-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8px;
  cursor: ew-resize;
  touch-action: none;
  border-radius: 4px;
  transition: background-color 0.15s;
}

.fema-wms-panel .plugin-control-resize-handle-right {
  right: -3px;
}

.fema-wms-panel .plugin-control-resize-handle-left {
  left: -3px;
}

.fema-wms-panel .plugin-control-resize-handle:hover,
.plugin-control-panel-resizing.fema-wms-panel .plugin-control-resize-handle {
  background: color-mix(in srgb, var(--fw-accent) 40%, transparent);
}

.plugin-control-panel-resizing.fema-wms-panel {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Content scrolls within the panel; header stays visible */
.fema-wms-panel .plugin-control-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.fema-wms-panel .plugin-control-placeholder {
  margin: 0;
  color: var(--fw-muted);
  font-size: 12px;
  text-align: center;
  padding: 16px 0;
}

/* Scrollbar styling */
.fema-wms-panel .plugin-control-content::-webkit-scrollbar,
.fema-wms-popup-body::-webkit-scrollbar {
  width: 6px;
}

.fema-wms-panel .plugin-control-content::-webkit-scrollbar-track,
.fema-wms-popup-body::-webkit-scrollbar-track {
  background: transparent;
}

.fema-wms-panel .plugin-control-content::-webkit-scrollbar-thumb,
.fema-wms-popup-body::-webkit-scrollbar-thumb {
  background: var(--fw-scroll-thumb);
  border-radius: 3px;
}

.fema-wms-panel .plugin-control-content::-webkit-scrollbar-thumb:hover,
.fema-wms-popup-body::-webkit-scrollbar-thumb:hover {
  background: var(--fw-scroll-thumb-hover);
}

/* ---------------------------------------------------------------------------
 * Generic form elements
 * ------------------------------------------------------------------------ */

.fema-wms-panel .plugin-control-group {
  margin-bottom: 12px;
}

.fema-wms-panel .plugin-control-group:last-child {
  margin-bottom: 0;
}

.fema-wms-panel .plugin-control-label {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--fw-muted);
}

.fema-wms-panel .plugin-control-input {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  font-size: 12px;
  color: var(--fw-fg);
  background: var(--fw-input-bg);
  border: 1px solid var(--fw-input-border);
  border-radius: 4px;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.fema-wms-panel .plugin-control-input::-moz-placeholder {
  color: var(--fw-muted);
}

.fema-wms-panel .plugin-control-input::placeholder {
  color: var(--fw-muted);
}

.fema-wms-panel .plugin-control-input:focus {
  border-color: var(--fw-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--fw-accent) 20%, transparent);
}

.fema-wms-panel .plugin-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--fw-accent-contrast);
  background: var(--fw-accent);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
}

.fema-wms-panel .plugin-control-button:hover {
  background: var(--fw-accent-hover);
}

.fema-wms-panel .plugin-control-button:focus {
  outline: 2px solid var(--fw-accent);
  outline-offset: 2px;
}

.fema-wms-panel .plugin-control-button:disabled {
  background: var(--fw-scroll-thumb);
  cursor: not-allowed;
}

/* Utility classes */
.fema-wms-panel .plugin-control-flex {
  display: flex;
  gap: 8px;
}

.fema-wms-panel .plugin-control-flex-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fema-wms-panel .plugin-control-divider {
  height: 1px;
  background: var(--fw-border);
  margin: 12px 0;
}

/* ---------------------------------------------------------------------------
 * FEMA WMS panel content
 * ------------------------------------------------------------------------ */

.fema-wms-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fema-wms-search {
  flex: 0 0 auto;
}

.fema-wms-status {
  flex: 0 0 auto;
  color: var(--fw-muted);
  font-size: 11px;
  padding: 0 2px;
}

.fema-wms-status-error {
  color: var(--fw-error);
}

.fema-wms-before {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--fw-border);
}

.fema-wms-before-label {
  flex: 0 0 auto;
  color: var(--fw-muted);
  font-size: 11px;
  white-space: nowrap;
}

.fema-wms-before-select {
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
}

/* Keep native dropdown options readable in dark mode */
.fema-wms-before-select option {
  background: var(--fw-input-bg);
  color: var(--fw-fg);
}

.fema-wms-layer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fema-wms-layer-row {
  border-radius: 4px;
  padding: 2px 4px;
}

.fema-wms-layer-row:hover {
  background: var(--fw-row-hover);
}

.fema-wms-layer-row[hidden] {
  display: none;
}

.fema-wms-layer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 24px;
}

.fema-wms-layer-label {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
}

.fema-wms-layer-checkbox {
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--fw-accent);
  cursor: pointer;
}

.fema-wms-layer-title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--fw-fg);
}

.fema-wms-layer-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}

.fema-wms-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--fw-muted);
  cursor: pointer;
  transition: color 0.15s, background-color 0.15s;
}

.fema-wms-action svg {
  stroke: currentColor;
  fill: none;
}

.fema-wms-action:hover:not(:disabled) {
  color: var(--fw-accent);
  background: var(--fw-row-hover);
}

.fema-wms-action[aria-expanded='true'] {
  color: var(--fw-accent);
}

.fema-wms-action:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.fema-wms-layer-body {
  padding: 2px 0 6px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fema-wms-layer-body[hidden] {
  display: none;
}

.fema-wms-opacity {
  display: flex;
  align-items: center;
  gap: 6px;
}

.fema-wms-opacity-label {
  flex: 0 0 auto;
  color: var(--fw-muted);
  font-size: 11px;
}

.fema-wms-opacity-slider {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  accent-color: var(--fw-accent);
  cursor: pointer;
}

.fema-wms-opacity-value {
  flex: 0 0 auto;
  width: 32px;
  text-align: right;
  color: var(--fw-muted);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
}

/* Legend images are dark-on-transparent PNGs; always show them on a light
   backdrop so they remain readable in dark mode. */
.fema-wms-legend {
  background: var(--fw-legend-bg);
  border: 1px solid var(--fw-border);
  border-radius: 4px;
  padding: 4px;
  overflow-x: auto;
}

.fema-wms-legend[hidden] {
  display: none;
}

.fema-wms-legend-img {
  display: block;
  max-width: 100%;
}

/* ---------------------------------------------------------------------------
 * Feature info popup
 * ------------------------------------------------------------------------ */

.fema-wms-popup {
  position: absolute;
  /* left/top are set per click; anchor the box above the point */
  transform: translate(-50%, calc(-100% - 10px));
  background: var(--fw-bg);
  color: var(--fw-fg);
  border-radius: 6px;
  box-shadow: var(--fw-shadow);
  width: -moz-max-content;
  width: max-content;
  min-width: 160px;
  max-width: min(320px, calc(100vw - 20px));
  z-index: 1001;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 12px;
  line-height: 1.4;
}

.fema-wms-popup-arrow {
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 12px;
  height: 12px;
  transform: translateX(-50%) rotate(45deg);
  background: var(--fw-bg);
}

/* Flipped variant: popup opens below the clicked point */
.fema-wms-popup-below {
  transform: translate(-50%, 14px);
}

.fema-wms-popup-below .fema-wms-popup-arrow {
  bottom: auto;
  top: -6px;
}

.fema-wms-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 8px;
  border-bottom: 1px solid var(--fw-border);
  font-weight: 600;
}

.fema-wms-popup-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--fw-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fema-wms-popup-close:hover {
  color: var(--fw-fg);
}

.fema-wms-popup-body {
  padding: 6px 8px;
  max-height: min(240px, 40vh);
  overflow-y: auto;
  position: relative;
  background: var(--fw-bg);
  border-radius: 0 0 6px 6px;
}

.fema-wms-popup-table {
  border-collapse: collapse;
  width: 100%;
}

.fema-wms-popup-table th,
.fema-wms-popup-table td {
  text-align: left;
  vertical-align: top;
  padding: 2px 6px 2px 0;
  border-bottom: 1px solid var(--fw-border);
  font-weight: 400;
  overflow-wrap: anywhere;
}

.fema-wms-popup-table th {
  color: var(--fw-muted);
  white-space: nowrap;
}

.fema-wms-popup-table tr:last-child th,
.fema-wms-popup-table tr:last-child td {
  border-bottom: none;
}

.fema-wms-popup-empty {
  margin: 4px 0;
  color: var(--fw-muted);
}

.fema-wms-popup-pre {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 11px;
}

.fema-wms-popup-html {
  overflow-x: auto;
}
/*$vite$:1*//* ============================================================================
   GeoEditor Control Styles
   ============================================================================ */

/* Base control container */
.geo-editor-control {
  background: transparent;
  box-shadow: none;
}

/* Toolbar container */
.geo-editor-toolbar {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

/* Collapsed toolbar - minimal padding and no gap */
.geo-editor-toolbar--collapsed {
  padding: 0;
  gap: 0;
}

.geo-editor-toolbar--vertical {
  flex-direction: column;
}

.geo-editor-toolbar--horizontal {
  flex-direction: row;
}

/* Tools wrapper (for collapse/expand functionality) */
.geo-editor-tools-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.geo-editor-toolbar--horizontal .geo-editor-tools-wrapper {
  flex-direction: row;
}

/* Collapse button */
.geo-editor-collapse-btn {
  margin-bottom: 4px;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
}

.geo-editor-toolbar--horizontal .geo-editor-collapse-btn {
  margin-bottom: 0;
  margin-right: 4px;
}

/* No margin when collapsed */
.geo-editor-toolbar--collapsed .geo-editor-collapse-btn {
  margin: 0;
}

/* Tool group */
.geo-editor-tool-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.geo-editor-toolbar--horizontal .geo-editor-tool-group {
  flex-direction: row;
}

.geo-editor-tool-group:not(:last-child) {
  padding-bottom: 4px;
  border-bottom: 1px solid #e5e5e5;
}

.geo-editor-toolbar--horizontal .geo-editor-tool-group:not(:last-child) {
  padding-bottom: 0;
  padding-right: 4px;
  border-bottom: none;
  border-right: 1px solid #e5e5e5;
}

.geo-editor-tool-group-label {
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  color: #666;
  padding: 2px 4px;
  letter-spacing: 0.5px;
}

.geo-editor-tool-buttons {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.geo-editor-toolbar--horizontal .geo-editor-tool-buttons {
  flex-direction: row;
}

/* Multi-column layout for button groups (vertical orientation only) */
.geo-editor-toolbar--vertical.geo-editor-toolbar--columns-2 .geo-editor-tool-buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
}

.geo-editor-toolbar--vertical.geo-editor-toolbar--columns-3 .geo-editor-tool-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

.geo-editor-toolbar--vertical.geo-editor-toolbar--columns-4 .geo-editor-tool-buttons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
}

/* Tool button */
.geo-editor-tool-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: #f5f5f5;
  color: #333;
  cursor: pointer;
  transition: all 0.15s ease;
}

.geo-editor-tool-button:hover {
  background: #e8e8e8;
}

.geo-editor-tool-button:active {
  background: #ddd;
}

.geo-editor-tool-button--active,
.geo-editor-tool-button.geo-editor-tool-button--active {
  background: #3388ff !important;
  background-color: #3388ff !important;
  color: #fff !important;
}

.geo-editor-tool-button--active:hover,
.geo-editor-tool-button.geo-editor-tool-button--active:hover {
  background: #2277ee !important;
  background-color: #2277ee !important;
}

.geo-editor-tool-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* History button disabled states */
.geo-editor-tool-button[data-history]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.geo-editor-tool-button[data-history]:disabled:hover {
  background: #f5f5f5;
}

.geo-editor-tool-button svg {
  width: 18px;
  height: 18px;
}

/* Active button icons - force white color with high specificity */
.geo-editor-tool-button--active svg {
  color: #fff !important;
}

.geo-editor-tool-button--active svg path,
.geo-editor-tool-button--active svg polygon,
.geo-editor-tool-button--active svg rect,
.geo-editor-tool-button--active svg circle,
.geo-editor-tool-button--active svg ellipse,
.geo-editor-tool-button--active svg line,
.geo-editor-tool-button--active svg text {
  fill: #fff !important;
  color: #fff !important;
}

/* For stroke-only elements - stroke white, preserve fill:none */
.geo-editor-tool-button--active svg path[fill="none"],
.geo-editor-tool-button--active svg polygon[fill="none"],
.geo-editor-tool-button--active svg rect[fill="none"],
.geo-editor-tool-button--active svg circle[fill="none"],
.geo-editor-tool-button--active svg ellipse[fill="none"],
.geo-editor-tool-button--active svg line[fill="none"] {
  fill: none !important;
  stroke: #fff !important;
}

/* Elements with explicit stroke attribute */
.geo-editor-tool-button--active svg [stroke],
.geo-editor-tool-button--active svg path[stroke],
.geo-editor-tool-button--active svg polygon[stroke],
.geo-editor-tool-button--active svg rect[stroke],
.geo-editor-tool-button--active svg circle[stroke],
.geo-editor-tool-button--active svg ellipse[stroke],
.geo-editor-tool-button--active svg line[stroke] {
  stroke: #fff !important;
}

/* Tooltip styling */
.geo-editor-tool-button[title] {
  position: relative;
}

/* ============================================================================
   Dialog Styles
   ============================================================================ */

.geo-editor-dialog-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

.geo-editor-dialog {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  max-width: 400px;
  width: 90%;
  max-height: 80vh;
  overflow: auto;
}

.geo-editor-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e5e5;
}

.geo-editor-dialog-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.geo-editor-dialog-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #666;
  cursor: pointer;
  transition: all 0.15s ease;
}

.geo-editor-dialog-close:hover {
  background: #f5f5f5;
  color: #333;
}

.geo-editor-dialog-body {
  padding: 20px;
}

.geo-editor-dialog-footer {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 16px 20px;
  border-top: 1px solid #e5e5e5;
}

/* ============================================================================
   Form Controls
   ============================================================================ */

.geo-editor-form-group {
  margin-bottom: 16px;
}

.geo-editor-form-group:last-child {
  margin-bottom: 0;
}

.geo-editor-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  margin-bottom: 6px;
}

.geo-editor-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.15s ease;
}

.geo-editor-input:focus {
  outline: none;
  border-color: #3388ff;
  box-shadow: 0 0 0 3px rgba(51, 136, 255, 0.1);
}

.geo-editor-slider {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: #e5e5e5;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

.geo-editor-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #3388ff;
  cursor: pointer;
  -webkit-transition: transform 0.15s ease;
  transition: transform 0.15s ease;
}

.geo-editor-slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
}

.geo-editor-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: none;
  border-radius: 50%;
  background: #3388ff;
  cursor: pointer;
}

/* ============================================================================
   Buttons
   ============================================================================ */

.geo-editor-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}

.geo-editor-btn--primary {
  background: #3388ff;
  color: #fff;
}

.geo-editor-btn--primary:hover {
  background: #2277ee;
}

.geo-editor-btn--secondary {
  background: #f5f5f5;
  color: #333;
}

.geo-editor-btn--secondary:hover {
  background: #e8e8e8;
}

.geo-editor-btn--danger {
  background: #dc3545;
  color: #fff;
}

.geo-editor-btn--danger:hover {
  background: #c82333;
}

.geo-editor-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ============================================================================
   Stats Display
   ============================================================================ */

.geo-editor-stats {
  display: flex;
  gap: 20px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 4px;
  margin-bottom: 16px;
}

.geo-editor-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.geo-editor-stat-value {
  font-size: 20px;
  font-weight: 600;
  color: #333;
}

.geo-editor-stat-label {
  font-size: 11px;
  text-transform: uppercase;
  color: #666;
  letter-spacing: 0.5px;
}

.geo-editor-stat--highlight .geo-editor-stat-value {
  color: #3388ff;
}

.geo-editor-stat--success .geo-editor-stat-value {
  color: #28a745;
}

/* ============================================================================
   Messages
   ============================================================================ */

.geo-editor-message {
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 13px;
  margin-bottom: 16px;
}

.geo-editor-message--info {
  background: #e7f3ff;
  color: #0056b3;
  border: 1px solid #b8daff;
}

.geo-editor-message--warning {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeeba;
}

.geo-editor-message--error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.geo-editor-message--success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

/* ============================================================================
   Selection Highlight
   ============================================================================ */

.geo-editor-selection-highlight {
  stroke: #3388ff;
  stroke-width: 3;
  stroke-dasharray: 5, 5;
  fill: rgba(51, 136, 255, 0.1);
  animation: geo-editor-dash 0.5s linear infinite;
}

@keyframes geo-editor-dash {
  to {
    stroke-dashoffset: -10;
  }
}

/* ============================================================================
   Feature Properties Popup
   ============================================================================ */

.geo-editor-properties-popup .maplibregl-popup-content {
  padding: 10px;
  max-height: 300px;
  overflow-y: auto;
}

.geo-editor-popup-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 12px;
}

.geo-editor-popup-table td {
  padding: 4px 8px;
  border-bottom: 1px solid #e0e0e0;
}

.geo-editor-popup-table tr:last-child td {
  border-bottom: none;
}

.geo-editor-popup-key {
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  vertical-align: top;
}

.geo-editor-popup-value {
  color: #666;
  word-break: break-word;
}

.geo-editor-popup-empty {
  color: #999;
  font-style: italic;
  padding: 8px;
  text-align: center;
}

/* ============================================================================
   Responsive Adjustments
   ============================================================================ */

@media (max-width: 768px) {
  .geo-editor-toolbar {
    padding: 2px;
  }

  .geo-editor-tool-button {
    width: 36px;
    height: 36px;
  }

  .geo-editor-dialog {
    max-width: 95%;
    margin: 10px;
  }
}

/* ============================================================================
   Attribute Editing Panel
   ============================================================================ */

.geo-editor-attribute-panel {
  position: absolute;
  top: 10px;
  width: 300px;
  max-height: 80vh;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  z-index: 1000;
  transition: transform 0.3s ease, opacity 0.3s ease;
  overflow: hidden;
}

.geo-editor-attribute-panel--right {
  right: 10px;
}

.geo-editor-attribute-panel--left {
  left: 10px;
}

/* Position offsets are applied via inline styles for customization */

.geo-editor-attribute-panel--hidden {
  opacity: 0;
  pointer-events: none;
}

.geo-editor-attribute-panel--right.geo-editor-attribute-panel--hidden {
  transform: translateX(100%);
}

.geo-editor-attribute-panel--left.geo-editor-attribute-panel--hidden {
  transform: translateX(-100%);
}

/* Panel Header */
.geo-editor-attribute-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e5e5;
  background: #f8f9fa;
  flex-shrink: 0;
}

.geo-editor-attribute-panel-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.geo-editor-attribute-panel-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #666;
  cursor: pointer;
  transition: all 0.15s ease;
}

.geo-editor-attribute-panel-close:hover {
  background: #e8e8e8;
  color: #333;
}

/* Panel Body */
.geo-editor-attribute-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

/* Panel Footer */
.geo-editor-attribute-panel-footer {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 12px 16px;
  border-top: 1px solid #e5e5e5;
  background: #f8f9fa;
  flex-shrink: 0;
}

/* Attribute Form Groups */
.geo-editor-attribute-form-group {
  margin-bottom: 16px;
}

.geo-editor-attribute-form-group:last-child {
  margin-bottom: 0;
}

.geo-editor-attribute-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  margin-bottom: 6px;
}

.geo-editor-attribute-label--required::after {
  content: ' *';
  color: #dc3545;
}

/* Attribute Input Controls */
.geo-editor-attribute-input,
.geo-editor-attribute-select,
.geo-editor-attribute-textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.geo-editor-attribute-input:focus,
.geo-editor-attribute-select:focus,
.geo-editor-attribute-textarea:focus {
  outline: none;
  border-color: #3388ff;
  box-shadow: 0 0 0 3px rgba(51, 136, 255, 0.1);
}

.geo-editor-attribute-input:disabled,
.geo-editor-attribute-select:disabled,
.geo-editor-attribute-textarea:disabled {
  background-color: #f5f5f5;
  cursor: not-allowed;
  color: #666;
}

.geo-editor-attribute-textarea {
  min-height: 80px;
  resize: vertical;
}

.geo-editor-attribute-input[type="color"] {
  padding: 4px;
  height: 40px;
  cursor: pointer;
}

.geo-editor-attribute-input[type="date"] {
  cursor: pointer;
}

/* Checkbox styling */
.geo-editor-attribute-checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.geo-editor-attribute-checkbox {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #3388ff;
}

.geo-editor-attribute-checkbox-label {
  font-size: 14px;
  color: #333;
  cursor: pointer;
}

/* Read-only field styling */
.geo-editor-attribute-readonly {
  background-color: #f8f9fa;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 14px;
  color: #666;
  word-break: break-word;
}

.geo-editor-attribute-readonly-null {
  color: #999;
  font-style: italic;
}

/* Extra properties section */
.geo-editor-attribute-extra-section {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px dashed #ddd;
}

.geo-editor-attribute-extra-section-title {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: #666;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

/* Validation error */
.geo-editor-attribute-error {
  font-size: 12px;
  color: #dc3545;
  margin-top: 4px;
}

.geo-editor-attribute-input--error,
.geo-editor-attribute-select--error,
.geo-editor-attribute-textarea--error {
  border-color: #dc3545;
}

.geo-editor-attribute-input--error:focus,
.geo-editor-attribute-select--error:focus,
.geo-editor-attribute-textarea--error:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

/* Empty state */
.geo-editor-attribute-empty {
  text-align: center;
  padding: 32px 16px;
  color: #666;
  font-size: 14px;
}

/* Geometry type badge */
.geo-editor-attribute-geometry-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 8px;
  background: #e7f3ff;
  color: #0056b3;
}

/* Responsive adjustments for attribute panel */
@media (max-width: 768px) {
  .geo-editor-attribute-panel {
    width: calc(100% - 20px);
    max-width: 320px;
  }
}

/* ============================================================================
   Geoman Vertex Marker Transparency
   ============================================================================ */

/* Make Geoman's vertex marker fills semi-transparent while keeping outlines opaque */
.marker-wrapper svg circle {
  fill-opacity: 0.5 !important;
}

.marker-wrapper svg path {
  fill-opacity: 0.5 !important;
}

/**
 * maplibre-gl-nasa-earthdata control styles
 *
 * Theme-aware via CSS custom properties. Light is the default; dark values
 * apply automatically with `prefers-color-scheme: dark` and can be forced
 * with the `ne-theme-dark` / `ne-theme-light` classes (set by the `theme`
 * control option).
 */

/* Theme variables (light defaults) */
.maplibre-gl-nasa-earthdata {
  --ne-bg: #ffffff;
  --ne-fg: #1f2a37;
  --ne-fg-muted: #6b7280;
  --ne-border: #e0e0e0;
  --ne-input-border: #d1d5db;
  --ne-input-bg: #ffffff;
  --ne-accent: #2563eb;
  --ne-accent-hover: #1d4ed8;
  --ne-accent-fg: #ffffff;
  --ne-danger: #dc2626;
  --ne-danger-hover: #b91c1c;
  --ne-hover: rgba(0, 0, 0, 0.05);
  --ne-row-bg: #f8fafc;
  --ne-badge-bg: #eef2f7;
  --ne-badge-fg: #4b5563;
  --ne-scrollbar: #c7cdd4;
  --ne-scrollbar-hover: #9aa3ad;
  --ne-shadow: rgba(0, 0, 0, 0.1);
  color-scheme: light;
}

/* Dark theme: follow OS preference unless explicitly forced light */
@media (prefers-color-scheme: dark) {
  .maplibre-gl-nasa-earthdata:not(.ne-theme-light) {
    --ne-bg: #1f2937;
    --ne-fg: #f3f4f6;
    --ne-fg-muted: #9ca3af;
    --ne-border: #374151;
    --ne-input-border: #4b5563;
    --ne-input-bg: #111827;
    --ne-accent: #3b82f6;
    --ne-accent-hover: #60a5fa;
    --ne-accent-fg: #ffffff;
    --ne-danger: #ef4444;
    --ne-danger-hover: #f87171;
    --ne-hover: rgba(255, 255, 255, 0.08);
    --ne-row-bg: #111827;
    --ne-badge-bg: #374151;
    --ne-badge-fg: #d1d5db;
    --ne-scrollbar: #4b5563;
    --ne-scrollbar-hover: #6b7280;
    --ne-shadow: rgba(0, 0, 0, 0.4);
    color-scheme: dark;
  }
}

/* Explicit dark theme (overrides OS preference) */
.maplibre-gl-nasa-earthdata.ne-theme-dark {
  --ne-bg: #1f2937;
  --ne-fg: #f3f4f6;
  --ne-fg-muted: #9ca3af;
  --ne-border: #374151;
  --ne-input-border: #4b5563;
  --ne-input-bg: #111827;
  --ne-accent: #3b82f6;
  --ne-accent-hover: #60a5fa;
  --ne-accent-fg: #ffffff;
  --ne-danger: #ef4444;
  --ne-danger-hover: #f87171;
  --ne-hover: rgba(255, 255, 255, 0.08);
  --ne-row-bg: #111827;
  --ne-badge-bg: #374151;
  --ne-badge-fg: #d1d5db;
  --ne-scrollbar: #4b5563;
  --ne-scrollbar-hover: #6b7280;
  --ne-shadow: rgba(0, 0, 0, 0.4);
  color-scheme: dark;
}

/* Container - matches maplibregl-ctrl styling. The compound selector beats
   maplibre's own .maplibregl-ctrl-group background rule so the toggle button
   stays dark (with a light icon) in dark mode. */
.maplibregl-ctrl-group.plugin-control.maplibre-gl-nasa-earthdata,
.plugin-control.maplibre-gl-nasa-earthdata {
  background: var(--ne-bg, #fff);
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--ne-shadow, rgba(0, 0, 0, 0.1));
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Toggle button - 29x29 to match navigation control */
.maplibre-gl-nasa-earthdata .plugin-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: var(--ne-fg, #1f2a37);
}

.maplibre-gl-nasa-earthdata .plugin-control-toggle:hover {
  background-color: var(--ne-hover, rgba(0, 0, 0, 0.05));
}

.maplibre-gl-nasa-earthdata .plugin-control-toggle .plugin-control-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.maplibre-gl-nasa-earthdata .plugin-control-toggle .plugin-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  fill: none;
}

/* Panel - positioned dynamically by JavaScript for floating behavior */
.plugin-control-panel.maplibre-gl-nasa-earthdata {
  position: absolute;
  /* Position is set dynamically by _updatePanelPosition() */
  box-sizing: border-box;
  background: var(--ne-bg, #fff);
  color: var(--ne-fg, #1f2a37);
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--ne-shadow, rgba(0, 0, 0, 0.1));
  min-width: 240px;
  max-width: calc(100vw - 20px);
  max-height: min(70vh, 520px);
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  display: none;
}

.plugin-control-panel.maplibre-gl-nasa-earthdata.expanded {
  display: flex;
  flex-direction: column;
}

/* Resize handle - sits on the panel's outer edge; the control flips it to
   the right edge (.nasa-resize-handle-right) when the panel is anchored to
   the left side of the map */
.nasa-resize-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -3px;
  width: 8px;
  cursor: ew-resize;
  touch-action: none;
  border-radius: 4px;
  z-index: 1;
}

.nasa-resize-handle-right {
  left: auto;
  right: -3px;
}

.nasa-resize-handle:hover,
.nasa-resizing .nasa-resize-handle {
  background: color-mix(in srgb, var(--ne-accent, #2563eb) 35%, transparent);
}

.plugin-control-panel.maplibre-gl-nasa-earthdata.nasa-resizing {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Small screens: let the panel fill the viewport width */
@media (max-width: 480px) {
  .plugin-control-panel.maplibre-gl-nasa-earthdata {
    width: calc(100vw - 20px) !important;
    max-height: 60vh;
  }

  /* Width is pinned to the viewport, so resizing is disabled */
  .nasa-resize-handle {
    display: none;
  }
}

/* Panel header */
.maplibre-gl-nasa-earthdata .plugin-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: var(--ne-fg, #333);
  padding: 4px 0 8px 0;
  border-bottom: 1px solid var(--ne-border, #e0e0e0);
  margin-bottom: 8px;
  flex: 0 0 auto;
}

.maplibre-gl-nasa-earthdata .plugin-control-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.maplibre-gl-nasa-earthdata .plugin-control-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--ne-fg-muted, #999);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.maplibre-gl-nasa-earthdata .plugin-control-close:hover {
  color: var(--ne-fg, #333);
}

/* Content - column flex so the results list is the scrollable region */
.maplibre-gl-nasa-earthdata .plugin-control-content {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
}

/* Search input */
.maplibre-gl-nasa-earthdata .plugin-control-input {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  font-size: 13px;
  color: var(--ne-fg, #1f2a37);
  background: var(--ne-input-bg, #fff);
  border: 1px solid var(--ne-input-border, #ddd);
  border-radius: 4px;
  outline: none;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}

.maplibre-gl-nasa-earthdata .plugin-control-input::-moz-placeholder {
  color: var(--ne-fg-muted, #888);
}

.maplibre-gl-nasa-earthdata .plugin-control-input::placeholder {
  color: var(--ne-fg-muted, #888);
}

.maplibre-gl-nasa-earthdata .plugin-control-input:focus {
  border-color: var(--ne-accent, #4a90d9);
  box-shadow: 0 0 0 3px
    color-mix(in srgb, var(--ne-accent, #4a90d9) 20%, transparent);
}

.nasa-search {
  flex: 0 0 auto;
}

/* Meta line ("Showing X of Y layers") */
.nasa-meta {
  flex: 0 0 auto;
  color: var(--ne-fg-muted, #888);
  font-size: 11px;
  padding: 6px 2px;
}

/* "Insert before" row */
.nasa-insert-row {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.nasa-insert-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 500;
  color: var(--ne-fg-muted, #555);
  white-space: nowrap;
}

.nasa-insert-select {
  flex: 1 1 auto;
  min-width: 0;
  padding: 5px 6px;
  font-size: 12px;
  color: var(--ne-fg, #1f2a37);
  background: var(--ne-input-bg, #fff);
  border: 1px solid var(--ne-input-border, #ddd);
  border-radius: 4px;
  outline: none;
  font-family: inherit;
}

.nasa-insert-select:focus {
  border-color: var(--ne-accent, #4a90d9);
}

/* Scrollable body holding the categories and the added-layers section */
.nasa-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  scrollbar-width: thin;
  scrollbar-color: var(--ne-scrollbar, #ccc) transparent;
}

.nasa-body::-webkit-scrollbar {
  width: 6px;
}

.nasa-body::-webkit-scrollbar-track {
  background: transparent;
}

.nasa-body::-webkit-scrollbar-thumb {
  background: var(--ne-scrollbar, #ccc);
  border-radius: 3px;
}

.nasa-body::-webkit-scrollbar-thumb:hover {
  background: var(--ne-scrollbar-hover, #aaa);
}

/* Category groups */
.nasa-results {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nasa-category-header {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 7px 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ne-fg, #1f2a37);
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.nasa-category-header:hover {
  background: var(--ne-hover, rgba(0, 0, 0, 0.05));
}

.nasa-category-chevron {
  display: flex;
  align-items: center;
  color: var(--ne-fg-muted, #888);
  transition: transform 0.15s ease;
}

.nasa-category-chevron svg {
  stroke: currentColor;
  fill: none;
}

.nasa-category-header.expanded .nasa-category-chevron {
  transform: rotate(90deg);
}

.nasa-category-name {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nasa-category-count {
  flex: 0 0 auto;
  padding: 1px 8px;
  font-size: 10px;
  font-weight: 600;
  border-radius: 8px;
  background: var(--ne-badge-bg, #eef2f7);
  color: var(--ne-badge-fg, #4b5563);
}

.nasa-category-layers {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 2px 0 8px 18px;
}

/* Added layers section */
.nasa-added-section {
  flex: 0 0 auto;
}

.nasa-added-heading {
  font-size: 12px;
  font-weight: 600;
  color: var(--ne-fg, #1f2a37);
  padding: 8px 2px 6px;
  margin-top: 4px;
  border-top: 1px solid var(--ne-border, #e0e0e0);
}

.nasa-added-card {
  background: var(--ne-row-bg, #f8fafc);
  border: 1px solid var(--ne-border, #e0e0e0);
  border-radius: 4px;
  padding: 6px 8px;
  margin-bottom: 6px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nasa-added-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nasa-added-vis {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.nasa-added-checkbox {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--ne-accent, #2563eb);
  cursor: pointer;
}

.nasa-added-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 500;
  color: var(--ne-fg, #1f2a37);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nasa-added-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 2px;
}

.nasa-icon-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--ne-fg-muted, #888);
  cursor: pointer;
}

.nasa-icon-button svg {
  stroke: currentColor;
  fill: none;
}

.nasa-icon-button:hover {
  background: var(--ne-hover, rgba(0, 0, 0, 0.05));
  color: var(--ne-fg, #1f2a37);
}

.nasa-icon-button.active {
  color: var(--ne-accent, #2563eb);
}

.nasa-icon-button-danger:hover {
  color: var(--ne-danger, #dc2626);
}

.nasa-opacity-value {
  flex: 0 0 auto;
  font-size: 11px;
  color: var(--ne-fg-muted, #888);
  min-width: 32px;
  text-align: right;
}

.nasa-legend-image {
  display: block;
  max-width: 100%;
  border-radius: 4px;
  background: #fff;
  padding: 2px;
}

/* Status messages (loading, error, empty) */
.nasa-status {
  margin: 0;
  color: var(--ne-fg-muted, #888);
  font-size: 12px;
  text-align: center;
  padding: 16px 4px;
}

.nasa-status-error {
  color: var(--ne-danger, #dc2626);
}

/* Layer row */
.nasa-layer-row {
  background: var(--ne-row-bg, #f8fafc);
  border: 1px solid var(--ne-border, #e0e0e0);
  border-radius: 4px;
  padding: 6px 8px;
  flex: 0 0 auto;
}

.nasa-layer-row-added {
  border-color: var(--ne-accent, #2563eb);
}

.nasa-layer-main {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nasa-layer-info {
  flex: 1 1 auto;
  min-width: 0;
}

.nasa-layer-title {
  color: var(--ne-fg, #1f2a37);
  font-size: 12px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nasa-layer-badges {
  display: flex;
  gap: 4px;
  margin-top: 2px;
}

.nasa-badge {
  display: inline-block;
  padding: 1px 6px;
  font-size: 10px;
  border-radius: 8px;
  background: var(--ne-badge-bg, #eef2f7);
  color: var(--ne-badge-fg, #4b5563);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.nasa-badge-time {
  background: color-mix(in srgb, var(--ne-accent, #2563eb) 15%, transparent);
  color: var(--ne-accent, #2563eb);
}

/* Add/Remove button */
.nasa-layer-action {
  flex: 0 0 auto;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--ne-accent-fg, #fff);
  background: var(--ne-accent, #2563eb);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
}

.nasa-layer-action:hover {
  background: var(--ne-accent-hover, #1d4ed8);
}

.nasa-layer-action-remove {
  background: var(--ne-danger, #dc2626);
}

.nasa-layer-action-remove:hover {
  background: var(--ne-danger-hover, #b91c1c);
}

/* Per-layer controls (date, opacity) */
.nasa-layer-controls {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--ne-border, #e0e0e0);
}

.nasa-control-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 500;
  color: var(--ne-fg-muted, #555);
}

.nasa-date {
  flex: 1 1 auto;
  min-width: 0;
  padding: 4px 6px;
  font-size: 12px;
  color: var(--ne-fg, #1f2a37);
  background: var(--ne-input-bg, #fff);
  border: 1px solid var(--ne-input-border, #ddd);
  border-radius: 4px;
  outline: none;
  font-family: inherit;
}

.nasa-date:focus {
  border-color: var(--ne-accent, #4a90d9);
}

.nasa-opacity {
  flex: 1 1 auto;
  min-width: 0;
  accent-color: var(--ne-accent, #2563eb);
}

/* Generic form helpers (kept from the template for consumer use) */
.maplibre-gl-nasa-earthdata .plugin-control-group {
  margin-bottom: 12px;
}

.maplibre-gl-nasa-earthdata .plugin-control-group:last-child {
  margin-bottom: 0;
}

.maplibre-gl-nasa-earthdata .plugin-control-label {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--ne-fg-muted, #555);
}

.maplibre-gl-nasa-earthdata .plugin-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ne-accent-fg, white);
  background: var(--ne-accent, #4a90d9);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
}

.maplibre-gl-nasa-earthdata .plugin-control-button:hover {
  background: var(--ne-accent-hover, #3a7bc8);
}

.maplibre-gl-nasa-earthdata .plugin-control-button:focus {
  outline: 2px solid var(--ne-accent, #4a90d9);
  outline-offset: 2px;
}

.maplibre-gl-nasa-earthdata .plugin-control-button:disabled {
  background: var(--ne-fg-muted, #ccc);
  cursor: not-allowed;
}

.maplibre-gl-nasa-earthdata .plugin-control-flex {
  display: flex;
  gap: 8px;
}

.maplibre-gl-nasa-earthdata .plugin-control-flex-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.maplibre-gl-nasa-earthdata .plugin-control-divider {
  height: 1px;
  background: var(--ne-border, #e0e0e0);
  margin: 12px 0;
}
/*$vite$:1*//**
 * MapLibre GL National Map Control Styles
 *
 * Theming is driven by CSS custom properties. Light values are the defaults;
 * dark values apply automatically via prefers-color-scheme (theme: 'auto')
 * or explicitly via the .national-map-theme-dark class. The
 * .national-map-theme-light class re-declares light values so a forced light
 * theme wins over the dark media query.
 */

.national-map,
.national-map-panel {
  --nm-bg: #fff;
  --nm-fg: #1f2a37;
  --nm-fg-strong: #333;
  --nm-muted: #888;
  --nm-border: #e0e0e0;
  --nm-input-border: #ddd;
  --nm-accent: #4a90d9;
  --nm-accent-hover: #3a7bc8;
  --nm-accent-ring: rgba(74, 144, 217, 0.15);
  --nm-row-hover: rgba(0, 0, 0, 0.04);
  --nm-btn-hover: rgba(0, 0, 0, 0.05);
  --nm-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  --nm-scroll-thumb: #ccc;
  --nm-scroll-thumb-hover: #aaa;
  --nm-disabled: #ccc;
  --nm-disabled-fg: #f7f7f7;
}

@media (prefers-color-scheme: dark) {
  .national-map:not(.national-map-theme-light),
  .national-map-panel:not(.national-map-theme-light) {
    --nm-bg: #1f2933;
    --nm-fg: #e5e7eb;
    --nm-fg-strong: #f3f4f6;
    --nm-muted: #9ca3af;
    --nm-border: #374151;
    --nm-input-border: #4b5563;
    --nm-accent: #5aa0e6;
    --nm-accent-hover: #6cb0f0;
    --nm-accent-ring: rgba(90, 160, 230, 0.25);
    --nm-row-hover: rgba(255, 255, 255, 0.06);
    --nm-btn-hover: rgba(255, 255, 255, 0.08);
    --nm-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
    --nm-scroll-thumb: #4b5563;
    --nm-scroll-thumb-hover: #6b7280;
    --nm-disabled: #4b5563;
    --nm-disabled-fg: #9ca3af;
  }
}

.national-map.national-map-theme-dark,
.national-map-panel.national-map-theme-dark {
  --nm-bg: #1f2933;
  --nm-fg: #e5e7eb;
  --nm-fg-strong: #f3f4f6;
  --nm-muted: #9ca3af;
  --nm-border: #374151;
  --nm-input-border: #4b5563;
  --nm-accent: #5aa0e6;
  --nm-accent-hover: #6cb0f0;
  --nm-accent-ring: rgba(90, 160, 230, 0.25);
  --nm-row-hover: rgba(255, 255, 255, 0.06);
  --nm-btn-hover: rgba(255, 255, 255, 0.08);
  --nm-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
  --nm-scroll-thumb: #4b5563;
  --nm-scroll-thumb-hover: #6b7280;
  --nm-disabled: #4b5563;
  --nm-disabled-fg: #9ca3af;
}

/* Container - matches maplibregl-ctrl styling. The extra .maplibregl-ctrl-group
 * selector outweighs MapLibre's own background rule regardless of CSS import
 * order, so the button follows the theme (dark icon on light, light on dark). */
.national-map,
.national-map.maplibregl-ctrl-group {
  background: var(--nm-bg);
  border-radius: 4px;
  box-shadow: var(--nm-shadow);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Toggle button - 29x29 to match navigation control */
.national-map-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: var(--nm-fg);
}

.national-map-toggle:hover {
  background-color: var(--nm-btn-hover);
}

/* Visible keyboard focus for icon-only and group toggle buttons */
.national-map-toggle:focus-visible,
.national-map-close:focus-visible,
.national-map-remove-btn:focus-visible,
.national-map-group-toggle:focus-visible {
  outline: 2px solid var(--nm-accent);
  outline-offset: -2px;
}

.national-map-toggle .national-map-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.national-map-toggle .national-map-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentcolor;
  fill: none;
}

/* Panel - positioned dynamically by JavaScript for floating behavior.
 * Flex column: fixed header, scrollable content. JS constrains max-height to
 * the map height so small screens get a vertical scrollbar. */
.national-map-panel {
  position: absolute;
  /* Position is set dynamically by _updatePanelPosition() */
  background: var(--nm-bg);
  color: var(--nm-fg);
  border-radius: 4px;
  box-shadow: var(--nm-shadow);
  min-width: 240px;
  max-width: calc(100% - 20px);
  max-height: calc(100% - 60px); /* safety net; refined by JS */
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  display: none;
  flex-direction: column;
  box-sizing: border-box;
}

.national-map-panel.expanded {
  display: flex;
}

/* Panel header */
.national-map-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: var(--nm-fg-strong);
  padding: 4px 0 8px 0;
  border-bottom: 1px solid var(--nm-border);
  margin-bottom: 8px;
  flex: 0 0 auto;
}

.national-map-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.national-map-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--nm-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.national-map-close:hover {
  color: var(--nm-fg-strong);
}

/* Content - scrollable area below the header */
.national-map-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

/* Scrollbar styling */
.national-map-content::-webkit-scrollbar {
  width: 6px;
}

.national-map-content::-webkit-scrollbar-track {
  background: transparent;
}

.national-map-content::-webkit-scrollbar-thumb {
  background: var(--nm-scroll-thumb);
  border-radius: 3px;
}

.national-map-content::-webkit-scrollbar-thumb:hover {
  background: var(--nm-scroll-thumb-hover);
}

/* Search box */
.national-map-search {
  width: 100%;
  padding: 6px 10px;
  margin-bottom: 8px;
  font-size: 12px;
  font-family: inherit;
  color: var(--nm-fg);
  background: var(--nm-bg);
  border: 1px solid var(--nm-input-border);
  border-radius: 4px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.national-map-search::-moz-placeholder {
  color: var(--nm-muted);
}

.national-map-search::placeholder {
  color: var(--nm-muted);
}

.national-map-search:focus {
  border-color: var(--nm-accent);
  box-shadow: 0 0 0 3px var(--nm-accent-ring);
}

/* Insert-before selector */
.national-map-beforeid-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.national-map-beforeid-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 500;
  color: var(--nm-muted);
  white-space: nowrap;
}

.national-map-beforeid-select {
  flex: 1 1 auto;
  min-width: 0;
  padding: 4px 6px;
  font-size: 11px;
  font-family: inherit;
  color: var(--nm-fg);
  background: var(--nm-bg);
  border: 1px solid var(--nm-input-border);
  border-radius: 4px;
  cursor: pointer;
}

.national-map-beforeid-select:focus-visible {
  outline: 2px solid var(--nm-accent);
  outline-offset: -2px;
}

/* Catalog groups */
.national-map-group {
  margin-bottom: 4px;
}

.national-map-group:last-child {
  margin-bottom: 0;
}

.national-map-group-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nm-muted);
  padding: 4px 0;
}

/* Collapsible group header */
.national-map-group-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 2px 4px;
  border: none;
  background: transparent;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  border-radius: 4px;
}

.national-map-group-toggle:hover {
  background: var(--nm-row-hover);
}

.national-map-group-toggle .national-map-group-title {
  flex: 1 1 auto;
  padding: 2px 0;
}

.national-map-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nm-muted);
  transition: transform 0.15s ease;
}

.national-map-chevron.expanded {
  transform: rotate(90deg);
}

.national-map-chevron svg {
  stroke: currentcolor;
  fill: none;
  display: block;
}

.national-map-group-count {
  font-size: 10px;
  font-weight: 600;
  color: var(--nm-muted);
  background: var(--nm-row-hover);
  border-radius: 8px;
  padding: 1px 6px;
}

/* Catalog rows */
.national-map-service-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 4px;
  border-radius: 4px;
}

.national-map-service-row:hover {
  background: var(--nm-row-hover);
}

.national-map-service-info {
  flex: 1 1 auto;
  min-width: 0;
}

.national-map-service-title {
  font-size: 12px;
  font-weight: 500;
  color: var(--nm-fg);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.national-map-service-desc {
  font-size: 11px;
  color: var(--nm-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.national-map-add-btn {
  flex: 0 0 auto;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 500;
  font-family: inherit;
  color: #fff;
  background: var(--nm-accent);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
}

.national-map-add-btn:hover {
  background: var(--nm-accent-hover);
}

.national-map-add-btn:focus-visible {
  outline: 2px solid var(--nm-accent);
  outline-offset: 2px;
}

.national-map-add-btn:disabled {
  background: var(--nm-disabled);
  color: var(--nm-disabled-fg);
  cursor: not-allowed;
}

/* Active layers */
.national-map-active.has-layers {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--nm-border);
  margin-bottom: 8px;
}

.national-map-active-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 4px;
}

.national-map-active-row:hover {
  background: var(--nm-row-hover);
}

.national-map-visibility {
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--nm-accent);
  cursor: pointer;
}

.national-map-active-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  color: var(--nm-fg);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.national-map-opacity {
  flex: 0 0 70px;
  width: 70px;
  margin: 0;
  accent-color: var(--nm-accent);
  cursor: pointer;
}

.national-map-remove-btn {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--nm-muted);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  border-radius: 4px;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.national-map-remove-btn:hover {
  color: var(--nm-fg-strong);
  background: var(--nm-btn-hover);
}

/* Resize handle - vertical strip on the panel edge facing away from the
 * anchored corner (left edge for right corners, right edge for left corners) */
.national-map-resize-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 6px;
  cursor: ew-resize;
  touch-action: none;
  border-radius: 4px;
}

.national-map-resize-handle.handle-left {
  left: -2px;
}

.national-map-resize-handle.handle-right {
  right: -2px;
}

.national-map-resize-handle:hover,
.national-map-panel.resizing .national-map-resize-handle {
  background: var(--nm-accent-ring);
}

.national-map-panel.resizing {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Empty search result */
.national-map-empty {
  margin: 0;
  color: var(--nm-muted);
  font-size: 12px;
  text-align: center;
  padding: 16px 0;
}
/*$vite$:1*//**
 * MapLibre GL Overture Maps Control Styles
 *
 * Colors are driven by CSS custom properties so the control adapts to
 * light and dark color schemes. The scheme follows `prefers-color-scheme`
 * by default and can be forced with the `.ovt-theme-light` /
 * `.ovt-theme-dark` classes (set via the `theme` option).
 */

.overture-control,
.overture-control-panel,
.overture-popup-content {
  --ovt-bg: #ffffff;
  --ovt-fg: #1f2a37;
  --ovt-text: #333333;
  --ovt-muted: #888888;
  --ovt-border: #e0e0e0;
  --ovt-input-border: #dddddd;
  --ovt-input-bg: #ffffff;
  --ovt-hover: rgba(0, 0, 0, 0.05);
  --ovt-accent: #4a90d9;
  --ovt-scrollbar: #cccccc;
  --ovt-scrollbar-hover: #aaaaaa;
  --ovt-error-bg: #fdecea;
  --ovt-error-fg: #b3261e;
}

/* Dark scheme via system preference (unless a scheme is forced) */
@media (prefers-color-scheme: dark) {
  .overture-control:not(.ovt-theme-light),
  .overture-control-panel:not(.ovt-theme-light),
  .overture-popup-content:not(.ovt-theme-light) {
    --ovt-bg: #1f2733;
    --ovt-fg: #e8edf3;
    --ovt-text: #dde3ea;
    --ovt-muted: #9aa5b1;
    --ovt-border: #38424e;
    --ovt-input-border: #46515e;
    --ovt-input-bg: #2a3441;
    --ovt-hover: rgba(255, 255, 255, 0.08);
    --ovt-accent: #6aaae4;
    --ovt-scrollbar: #4a5663;
    --ovt-scrollbar-hover: #5d6b7a;
    --ovt-error-bg: #43292b;
    --ovt-error-fg: #f2b8b5;
  }
}

/* Forced dark scheme */
.overture-control.ovt-theme-dark,
.overture-control-panel.ovt-theme-dark,
.overture-popup-content.ovt-theme-dark {
  --ovt-bg: #1f2733;
  --ovt-fg: #e8edf3;
  --ovt-text: #dde3ea;
  --ovt-muted: #9aa5b1;
  --ovt-border: #38424e;
  --ovt-input-border: #46515e;
  --ovt-input-bg: #2a3441;
  --ovt-hover: rgba(255, 255, 255, 0.08);
  --ovt-accent: #6aaae4;
  --ovt-scrollbar: #4a5663;
  --ovt-scrollbar-hover: #5d6b7a;
  --ovt-error-bg: #43292b;
  --ovt-error-fg: #f2b8b5;
}

/* Container - matches maplibregl-ctrl styling.
   The compound selector raises specificity above maplibre's default
   .maplibregl-ctrl-group white background so the icon (currentColor)
   keeps good contrast in dark mode regardless of stylesheet order. */
.maplibregl-ctrl-group.overture-control {
  background: var(--ovt-bg);
}

.overture-control {
  background: var(--ovt-bg);
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Toggle button - 29x29 to match navigation control */
.overture-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--ovt-fg);
}

.overture-control-toggle:hover {
  background-color: var(--ovt-hover);
}

.overture-control-toggle:focus-visible,
.overture-control-close:focus-visible {
  outline: 2px solid var(--ovt-accent);
  outline-offset: 2px;
}

.overture-control-toggle .overture-control-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.overture-control-toggle .overture-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentcolor;
  fill: none;
}

/* Panel - positioned dynamically by JavaScript for floating behavior */
.overture-control-panel {
  position: absolute;
  box-sizing: border-box;
  /* Position is set dynamically by _updatePanelPosition() */
  background: var(--ovt-bg);
  color: var(--ovt-text);
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  min-width: 240px;
  max-width: min(600px, calc(100vw - 20px));
  max-height: min(500px, calc(100vh - 80px));
  overflow-y: auto;
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  display: none;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.overture-control-panel.expanded {
  /* Flex column so the content area absorbs overflow and scrolls */
  display: flex;
  flex-direction: column;
}

.overture-control-panel.resizing {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Panel resize handle - sits on the edge away from the anchored side */
.overture-resize-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8px;
  cursor: ew-resize;
  touch-action: none;
  z-index: 2;
}

.overture-control-panel.ovt-anchor-left .overture-resize-handle {
  right: 0;
}

.overture-control-panel.ovt-anchor-right .overture-resize-handle {
  left: 0;
}

.overture-resize-handle::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 2px;
  height: 28px;
  border-radius: 2px;
  background: var(--ovt-border);
  transform: translateY(-50%);
}

.overture-control-panel.ovt-anchor-left .overture-resize-handle::before {
  right: 2px;
}

.overture-control-panel.ovt-anchor-right .overture-resize-handle::before {
  left: 2px;
}

.overture-resize-handle:hover::before {
  background: var(--ovt-accent);
}

/* Panel header */
.overture-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: var(--ovt-text);
  padding: 4px 0 8px 0;
  border-bottom: 1px solid var(--ovt-border);
  margin-bottom: 8px;
}

.overture-control-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.overture-control-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--ovt-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.overture-control-close:hover {
  color: var(--ovt-text);
}

/* Content */
.overture-control-content {
  flex: 1 1 auto;
  min-height: 0;
  max-height: min(400px, calc(100vh - 160px));
  overflow-y: auto;
}

/* Scrollbar styling */
.overture-control-content::-webkit-scrollbar,
.overture-control-panel::-webkit-scrollbar,
.overture-popup-content::-webkit-scrollbar {
  width: 6px;
}

.overture-control-content::-webkit-scrollbar-track,
.overture-control-panel::-webkit-scrollbar-track,
.overture-popup-content::-webkit-scrollbar-track {
  background: transparent;
}

.overture-control-content::-webkit-scrollbar-thumb,
.overture-control-panel::-webkit-scrollbar-thumb,
.overture-popup-content::-webkit-scrollbar-thumb {
  background: var(--ovt-scrollbar);
  border-radius: 3px;
}

.overture-control-content::-webkit-scrollbar-thumb:hover,
.overture-control-panel::-webkit-scrollbar-thumb:hover,
.overture-popup-content::-webkit-scrollbar-thumb:hover {
  background: var(--ovt-scrollbar-hover);
}

/* Release selector */
.overture-release-row {
  margin-bottom: 10px;
}

.overture-control-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--ovt-text);
}

.overture-release-select {
  display: block;
  width: 100%;
  margin-top: 4px;
  padding: 5px 8px;
  font-size: 12px;
  color: var(--ovt-text);
  background: var(--ovt-input-bg);
  border: 1px solid var(--ovt-input-border);
  border-radius: 4px;
  outline: none;
}

.overture-release-select:focus {
  border-color: var(--ovt-accent);
}

/* Error message */
.overture-control-error {
  margin: 0 0 10px 0;
  padding: 6px 8px;
  border-radius: 4px;
  background: var(--ovt-error-bg);
  color: var(--ovt-error-fg);
  font-size: 11px;
}

/* Transient notice (e.g. export feedback). Kept as an aria-live region in
   the DOM; collapses when empty so screen readers still announce updates. */
.overture-control-notice {
  margin: 0 0 10px 0;
  padding: 6px 8px;
  border-radius: 4px;
  background: var(--ovt-hover);
  color: var(--ovt-text);
  font-size: 11px;
  border-left: 3px solid var(--ovt-accent);
}

.overture-control-notice:empty {
  display: none;
}

/* Feature inspection toggle */
.overture-inspect-row {
  margin: 0 0 10px 0;
}

.overture-inspect-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--ovt-text);
  font-size: 12px;
  font-weight: 500;
}

.overture-inspect-checkbox {
  margin: 0;
  accent-color: var(--ovt-accent);
  cursor: pointer;
}

/* Theme groups */
.overture-control-themes {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.overture-theme-group {
  border-radius: 4px;
}

.overture-theme-header {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 4px;
}

.overture-theme-header:hover {
  background: var(--ovt-hover);
}

.overture-theme-caret {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--ovt-muted);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease;
}

.overture-theme-group.expanded .overture-theme-caret {
  transform: rotate(90deg);
}

.overture-theme-caret:focus-visible {
  outline: 2px solid var(--ovt-accent);
  outline-offset: 1px;
}

.overture-theme-toggle {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--ovt-text);
}

.overture-theme-checkbox {
  margin: 0;
  accent-color: var(--ovt-accent);
  cursor: pointer;
}

.overture-theme-name {
  flex: 1 1 auto;
  font-size: 12px;
  font-weight: 600;
}

/* Layer rows (shown when the theme group is expanded) */
.overture-theme-layers {
  display: none;
  flex-direction: column;
  gap: 4px;
  padding: 2px 4px 6px 22px;
}

.overture-theme-group.expanded .overture-theme-layers {
  display: flex;
}

.overture-layer-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 3px 4px;
  border-radius: 4px;
}

.overture-layer-row:hover {
  background: var(--ovt-hover);
}

.overture-layer-head {
  display: flex;
  align-items: center;
  gap: 6px;
}

.overture-layer-toggle {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--ovt-text);
  min-width: 0;
}

.overture-layer-checkbox {
  margin: 0;
  accent-color: var(--ovt-accent);
  cursor: pointer;
}

.overture-layer-swatch {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.overture-layer-name {
  flex: 1 1 auto;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.overture-layer-style-btn,
.overture-layer-export-btn {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--ovt-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.overture-layer-style-btn svg,
.overture-layer-export-btn svg {
  stroke: currentcolor;
  fill: none;
}

.overture-layer-style-btn:hover,
.overture-layer-export-btn:hover:not(:disabled) {
  background: var(--ovt-hover);
  color: var(--ovt-text);
}

.overture-layer-row.editing .overture-layer-style-btn {
  color: var(--ovt-accent);
}

.overture-layer-export-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.overture-layer-style-btn:focus-visible,
.overture-layer-export-btn:focus-visible {
  outline: 2px solid var(--ovt-accent);
  outline-offset: 1px;
}

/* Inline per-layer style editor (shown when the row is editing) */
.overture-layer-editor {
  display: none;
  flex-direction: column;
  gap: 4px;
  padding: 4px 4px 6px 24px;
}

.overture-layer-row.editing .overture-layer-editor {
  display: flex;
}

.overture-style-field {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ovt-muted);
  font-size: 11px;
}

.overture-style-field > span {
  flex: 0 0 48px;
}

.overture-style-field input[type='range'] {
  flex: 1 1 auto;
  margin: 0;
  accent-color: var(--ovt-accent);
  cursor: pointer;
}

.overture-style-field input[type='range']:disabled {
  opacity: 0.4;
  cursor: default;
}

.overture-layer-color {
  flex: 0 0 auto;
  width: 28px;
  height: 18px;
  padding: 0;
  border: none;
  border-radius: 3px;
  background: none;
  cursor: pointer;
}

.overture-layer-color::-webkit-color-swatch-wrapper {
  padding: 0;
}

.overture-layer-color::-webkit-color-swatch {
  border: 1px solid var(--ovt-border);
  border-radius: 3px;
}

.overture-layer-color::-moz-color-swatch {
  border: 1px solid var(--ovt-border);
  border-radius: 3px;
}

.overture-layer-color:focus-visible {
  outline: 2px solid var(--ovt-accent);
  outline-offset: 1px;
}

/* Hint text */
.overture-control-hint {
  margin: 10px 0 0 0;
  color: var(--ovt-muted);
  font-size: 11px;
}

/* Inspect popup */
.overture-popup .maplibregl-popup-content {
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 6px;
  overflow: hidden;
}

.overture-popup-content {
  background: var(--ovt-bg);
  color: var(--ovt-text);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 12px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  padding: 8px 10px;
  max-height: 240px;
  overflow-y: auto;
  min-width: 180px;
}

.overture-popup-heading {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--ovt-border);
}

.overture-popup-table {
  border-collapse: collapse;
  width: 100%;
}

.overture-popup-table td {
  padding: 2px 4px;
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.overture-popup-key {
  color: var(--ovt-muted);
  white-space: nowrap;
}

.overture-popup-value {
  color: var(--ovt-text);
}

.overture-popup-empty {
  color: var(--ovt-muted);
}

/* Form elements (generic, kept for custom panel content) */
.overture-control-group {
  margin-bottom: 12px;
}

.overture-control-group:last-child {
  margin-bottom: 0;
}

.overture-control-input {
  width: 100%;
  padding: 8px 10px;
  font-size: 14px;
  color: var(--ovt-text);
  background: var(--ovt-input-bg);
  border: 1px solid var(--ovt-input-border);
  border-radius: 4px;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.overture-control-input:focus {
  border-color: var(--ovt-accent);
  box-shadow: 0 0 0 3px rgba(74, 144, 217, 0.15);
}

.overture-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: white;
  background: var(--ovt-accent);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
}

.overture-control-button:hover {
  filter: brightness(0.92);
}

.overture-control-button:focus {
  outline: 2px solid var(--ovt-accent);
  outline-offset: 2px;
}

.overture-control-button:disabled {
  background: var(--ovt-scrollbar);
  cursor: not-allowed;
}

/* Utility classes */
.overture-control-flex {
  display: flex;
  gap: 8px;
}

.overture-control-flex-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.overture-control-divider {
  height: 1px;
  background: var(--ovt-border);
  margin: 12px 0;
}

/* Small screens: keep the panel inside the viewport with vertical scrolling */
@media (max-width: 480px) {
  .overture-control-panel {
    min-width: 200px;
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 100px);
  }

  .overture-control-content {
    max-height: calc(100vh - 150px);
  }
}
/*$vite$:1*//**
 * Planetary Computer Control Styles
 */

/* ============ Control Container ============ */
.pc-control {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}

.pc-control-toggle {
  width: 29px;
  height: 29px;
  padding: 0;
  border: none;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background-color 0.15s;
}

.pc-control-toggle:hover {
  background-color: #f0f0f0;
}

.pc-control-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pc-control-icon svg {
  stroke: #333;
}

/* ============ Panel ============ */
.pc-control-panel {
  position: absolute;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  display: none;
  flex-direction: column;
  overflow: hidden;
}

.pc-control-panel.expanded {
  display: flex;
}

/* ============ Header ============ */
.pc-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e5e5;
  background: #f8f9fa;
  border-radius: 8px 8px 0 0;
}

.pc-control-title {
  font-weight: 600;
  font-size: 14px;
  color: #1a1a1a;
}

.pc-control-close {
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 20px;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.15s;
}

.pc-control-close:hover {
  background: #e5e5e5;
  color: #333;
}

/* ============ Navigation ============ */
.pc-control-nav {
  display: flex;
  padding: 8px 12px;
  gap: 8px;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
}

.pc-nav-btn {
  padding: 6px 12px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  color: #666;
  transition: all 0.15s;
}

.pc-nav-btn:hover {
  background: #f5f5f5;
  border-color: #ccc;
}

.pc-nav-btn.active {
  background: #0078d4;
  border-color: #0078d4;
  color: #fff;
}

/* ============ Content Area ============ */
.pc-control-content {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
}

.pc-control-content::-webkit-scrollbar {
  width: 6px;
}

.pc-control-content::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.pc-control-content::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.pc-control-content::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

/* ============ Loading & Error States ============ */
.pc-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: #666;
  gap: 12px;
}

.pc-spinner {
  width: 24px;
  height: 24px;
  border: 3px solid #e5e5e5;
  border-top-color: #0078d4;
  border-radius: 50%;
  animation: pc-spin 0.8s linear infinite;
}

@keyframes pc-spin {
  to { transform: rotate(360deg); }
}

.pc-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 20px;
  color: #d13438;
  text-align: center;
}

/* ============ Collection Browser ============ */
.pc-collection-browser {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pc-search-box {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}

.pc-search-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s;
}

.pc-search-input:focus {
  border-color: #0078d4;
}

.pc-collection-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pc-collection-item {
  padding: 12px;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
}

.pc-collection-item:hover {
  border-color: #0078d4;
  background: #f8f9fa;
}

.pc-collection-title {
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 4px;
}

.pc-collection-description {
  font-size: 12px;
  color: #666;
  margin-bottom: 8px;
}

.pc-collection-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.pc-tag {
  display: inline-block;
  padding: 2px 8px;
  background: #e8f4fd;
  color: #0078d4;
  font-size: 11px;
  border-radius: 10px;
}

/* ============ Search Panel ============ */
.pc-search-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pc-btn-back {
  background: none;
  border: none;
  padding: 0;
  color: #0078d4;
  cursor: pointer;
  font-size: 13px;
  text-align: left;
}

.pc-btn-back:hover {
  text-decoration: underline;
}

.pc-selected-collection {
  padding: 12px;
  background: #f8f9fa;
  border-radius: 6px;
}

.pc-collection-name {
  display: block;
  font-weight: 600;
  margin-top: 4px;
}

.pc-open-collection-page {
  margin-top: 8px;
}

.pc-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pc-label {
  font-size: 12px;
  color: #666;
  font-weight: 500;
}

.pc-input {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s;
}

.pc-input:focus {
  border-color: #0078d4;
}

.pc-bbox-display {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 8px 12px;
  background: #f5f5f5;
  border-radius: 4px;
}

.pc-bbox-text {
  font-size: 12px;
  color: #666;
  font-family: monospace;
  word-break: break-word;
}

.pc-bbox-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-start;
  white-space: nowrap;
}

.pc-bbox-coordinates {
  min-width: 0;
}

.pc-date-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pc-date-inputs .pc-input {
  flex: 1;
}

.pc-date-separator {
  color: #999;
  font-size: 12px;
}

/* ============ Buttons ============ */
.pc-btn {
  padding: 8px 16px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.15s;
}

.pc-btn:hover {
  background: #f5f5f5;
}

.pc-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.pc-btn:disabled:hover {
  background: #fff;
}

.pc-btn-primary {
  background: #0078d4;
  border-color: #0078d4;
  color: #fff;
}

.pc-btn-primary:hover {
  background: #006cbd;
}

.pc-search-btn {
  width: 100%;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
}

.pc-search-btn-loading,
.pc-search-btn-loading:disabled,
.pc-search-btn-loading:disabled:hover {
  background: #005a9e;
  border-color: #005a9e;
  color: #fff;
  opacity: 1;
}

.pc-search-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: pc-spin 0.8s linear infinite;
}

.pc-btn-small {
  padding: 4px 10px;
  font-size: 12px;
}

.pc-btn-active {
  background: #e8f4fd;
  border-color: #0078d4;
  color: #005a9e;
}

.pc-btn-active:hover {
  background: #d7ecfb;
}

/* ============ Bounding Box Drawing ============ */
.pc-bbox-drawing,
.pc-bbox-drawing canvas,
.pc-inspector-active,
.pc-inspector-active canvas {
  cursor: crosshair !important;
}

.pc-bbox-overlay {
  position: absolute;
  inset: 0;
  z-index: 999;
  pointer-events: none;
}

.pc-bbox-box {
  position: absolute;
  display: none;
  border: 2px solid #0078d4;
  background: rgba(0, 120, 212, 0.16);
  box-sizing: border-box;
}

.pc-bbox-instructions {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 10px;
  border-radius: 4px;
  background: rgba(26, 26, 26, 0.82);
  color: #fff;
  font-size: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  white-space: nowrap;
}

.pc-btn-icon {
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  color: #666;
  transition: all 0.15s;
}

.pc-btn-icon:hover {
  background: #e5e5e5;
  color: #333;
}

.pc-inspect-active {
  background: #0078d4;
  color: #fff;
}

.pc-inspect-active:hover {
  background: #006cbd;
  color: #fff;
}

.pc-layer-controls-active {
  background: #e8f4fd;
  color: #005a9e;
}

.pc-layer-controls-active:hover {
  background: #d7ecfb;
  color: #005a9e;
}

/* ============ Results ============ */
.pc-results {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pc-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pc-results-count {
  font-size: 12px;
  color: #666;
}

.pc-results-toolbar {
  display: flex;
  gap: 8px;
}

.pc-results-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pc-results-empty {
  padding: 30px 20px;
  text-align: center;
  color: #666;
}

.pc-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
}

.pc-result-item:hover {
  border-color: #0078d4;
  background: #f8f9fa;
}

.pc-result-selected {
  border-color: #ff8c00;
  background: #fff8e5;
  box-shadow: inset 3px 0 0 #ff8c00;
}

.pc-result-selected:hover {
  border-color: #ff8c00;
  background: #fff4d6;
}

.pc-result-thumbnail {
  width: 60px;
  height: 60px;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
  background: #f5f5f5;
}

.pc-result-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.pc-result-info {
  flex: 1;
  min-width: 0;
}

.pc-result-title {
  font-weight: 500;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12px;
}

.pc-result-date,
.pc-result-cloud {
  font-size: 11px;
  color: #666;
  margin-top: 2px;
}

.pc-result-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* ============ Item Details ============ */
.pc-item-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pc-details-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pc-details-title {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  word-break: break-all;
}

.pc-details-meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 6px;
}

.pc-meta-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pc-meta-item .pc-value {
  font-weight: 500;
  color: #1a1a1a;
}

.pc-details-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pc-section-title {
  font-size: 12px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.pc-assets-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 150px;
  overflow-y: auto;
}

.pc-asset-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px;
  background: #f8f9fa;
  border-radius: 4px;
}

.pc-asset-info {
  flex: 1;
  min-width: 0;
}

.pc-asset-name {
  font-weight: 500;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pc-asset-type {
  font-size: 11px;
  color: #666;
}

.pc-details-actions {
  padding-top: 8px;
  border-top: 1px solid #e5e5e5;
}

.pc-details-actions .pc-btn {
  width: 100%;
}

/* ============ Data API Tools ============ */
.pc-tool-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.pc-tool-output {
  min-height: 0;
}

.pc-tool-loading,
.pc-tool-success,
.pc-tool-error {
  padding: 8px;
  border-radius: 4px;
  font-size: 12px;
}

.pc-tool-loading {
  background: #f5f5f5;
  color: #666;
}

.pc-tool-success {
  margin-bottom: 8px;
  background: #edf7ed;
  color: #107c10;
}

.pc-tool-error {
  background: #fde7e9;
  color: #a4262c;
}

.pc-stats-card {
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  background: #fff;
}

.pc-stats-title {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 8px;
  color: #333;
}

.pc-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.pc-stats-grid > div,
.pc-point-values > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
}

.pc-stats-grid > div > span,
.pc-point-values > div > span {
  color: #666;
}

.pc-stats-grid > div > strong,
.pc-point-values > div > strong {
  color: #1a1a1a;
  font-weight: 600;
}

.pc-histogram {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 42px;
  margin-top: 10px;
  padding-top: 6px;
  border-top: 1px solid #f0f0f0;
}

.pc-histogram span {
  flex: 1;
  min-width: 2px;
  background: #0078d4;
  border-radius: 1px 1px 0 0;
}

.pc-legend-card {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 6px;
  padding: 6px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  background: #fff;
}

.pc-legend-title {
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #333;
}

.pc-legend-ramp {
  width: 100%;
  height: 12px;
  border: 1px solid #ddd;
  border-radius: 2px;
}

.pc-legend-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 2px;
  font-size: 10px;
  color: #666;
}

.pc-tilejson-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  background: #fff;
}

.pc-tilejson-card > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
}

.pc-tilejson-card > div > span {
  flex-shrink: 0;
  color: #666;
}

.pc-tilejson-card > div > strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #1a1a1a;
  text-align: right;
}

/* ============ Layers ============ */
.pc-layers-empty {
  padding: 30px 20px;
  text-align: center;
  color: #666;
}

.pc-layers-empty p {
  margin: 0 0 8px;
}

.pc-layers-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pc-layer-item {
  padding: 8px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
}

.pc-layer-header {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pc-layer-visibility {
  flex-shrink: 0;
}

.pc-layer-name {
  flex: 1;
  font-weight: 500;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pc-layer-controls {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #f0f0f0;
}

.pc-layer-controls-hidden {
  display: none;
}

.pc-inspector-panel {
  padding: 10px;
  border: 1px solid #cfe8ff;
  border-radius: 6px;
  background: #f3f9ff;
}

.pc-inspector-title {
  font-weight: 600;
  font-size: 12px;
  color: #1a1a1a;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pc-inspector-hint,
.pc-inspector-coords {
  font-size: 12px;
  color: #666;
  margin-bottom: 8px;
}

.pc-point-values {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pc-point-json {
  max-height: 120px;
  overflow: auto;
  margin: 0;
  padding: 8px;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-size: 11px;
}

.pc-opacity-label {
  display: block;
  font-size: 11px;
  color: #666;
  margin-bottom: 0;
  white-space: nowrap;
}

.pc-opacity-value {
  font-weight: 500;
  color: #333;
}

.pc-opacity-slider {
  width: 100%;
  height: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: #e5e5e5;
  border-radius: 2px;
  outline: none;
}

.pc-opacity-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #0078d4;
  cursor: pointer;
}

.pc-opacity-slider::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #0078d4;
  cursor: pointer;
  border: none;
}

/* ============ Cloud Cover Slider ============ */
.pc-cloud-cover-input {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pc-cloud-slider {
  flex: 1;
  height: 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: #e5e5e5;
  border-radius: 2px;
  outline: none;
}

.pc-cloud-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #0078d4;
  cursor: pointer;
}

.pc-cloud-slider::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #0078d4;
  cursor: pointer;
  border: none;
}

.pc-cloud-value {
  font-size: 12px;
  font-weight: 500;
  color: #333;
  min-width: 40px;
  text-align: right;
}

/* ============ Rescale Inputs ============ */
.pc-rescale-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pc-rescale-inputs .pc-input {
  flex: 1;
  min-width: 0;
}

.pc-rescale-separator {
  color: #999;
  font-size: 12px;
  flex-shrink: 0;
}

/* ============ Custom Visualization ============ */
.pc-custom-viz {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e5e5e5;
}

.pc-advanced-render {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pc-advanced-render summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: #333;
}

.pc-advanced-render[open] summary {
  margin-bottom: 10px;
}

.pc-advanced-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pc-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pc-checkbox-group label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #333;
}

.pc-hint {
  font-size: 11px;
  color: #666;
  margin-top: 4px;
  display: block;
}
/**
 * MapLibre GL Raster Control Styles
 *
 * All colors flow through the --mlr-* custom properties below; the dark
 * theme only swaps the variable values (and the native widget color-scheme),
 * following the user's prefers-color-scheme setting automatically.
 */

.mlr-control,
.mlr-control-panel,
.mlr-inspect-popup {
  --mlr-bg: #fff;
  --mlr-surface-muted: #f1f3f5;
  --mlr-surface-soft: #f7f8f9;
  --mlr-text: #333;
  --mlr-text-strong: #1f2a37;
  --mlr-text-soft: #555;
  --mlr-text-muted: #777;
  --mlr-text-faint: #999;
  --mlr-border: #ddd;
  --mlr-border-soft: #e0e0e0;
  --mlr-border-faint: #eee;
  --mlr-border-strong: #c4c9d0;
  --mlr-accent: #4a90d9;
  --mlr-accent-strong: #3a7bc8;
  --mlr-accent-soft: rgba(74, 144, 217, 0.12);
  --mlr-hover: rgba(0, 0, 0, 0.05);
  --mlr-error: #c0392b;
  --mlr-disabled-bg: #ccc;
  --mlr-disabled-text: #ccc;
  --mlr-scrollbar: #ccc;
  --mlr-scrollbar-hover: #aaa;
  --mlr-shadow: rgba(0, 0, 0, 0.1);
  --mlr-histogram-neutral: #1f2a37;

  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  .mlr-control,
  .mlr-control-panel,
  .mlr-inspect-popup {
    --mlr-bg: #23282e;
    --mlr-surface-muted: #2e343b;
    --mlr-surface-soft: #2a3036;
    --mlr-text: #e3e6e9;
    --mlr-text-strong: #f0f2f4;
    --mlr-text-soft: #c4cad0;
    --mlr-text-muted: #9aa3ab;
    --mlr-text-faint: #828b93;
    --mlr-border: #454d55;
    --mlr-border-soft: #3a4148;
    --mlr-border-faint: #343b42;
    --mlr-border-strong: #525a63;
    --mlr-accent: #5b9ce0;
    --mlr-accent-strong: #6faae6;
    --mlr-accent-soft: rgba(91, 156, 224, 0.2);
    --mlr-hover: rgba(255, 255, 255, 0.08);
    --mlr-error: #e07b6e;
    --mlr-disabled-bg: #4a5158;
    --mlr-disabled-text: #5f666d;
    --mlr-scrollbar: #4a5158;
    --mlr-scrollbar-hover: #5f666d;
    --mlr-shadow: rgba(0, 0, 0, 0.35);
    --mlr-histogram-neutral: #cfd6dd;

    color-scheme: dark;
  }
}

/* Container - matches maplibregl-ctrl styling. The doubled selector
   outranks maplibre-gl's `.maplibregl-ctrl-group { background: #fff }`
   regardless of stylesheet order, so the button follows the theme (a white
   button with a light icon has no contrast in dark mode). */
.mlr-control,
.maplibregl-ctrl.mlr-control {
  background: var(--mlr-bg);
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--mlr-shadow);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Toggle button - 29x29 to match navigation control */
.mlr-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: var(--mlr-text-strong);
}

.mlr-control-toggle:hover {
  background-color: var(--mlr-hover);
}

.mlr-control-toggle .mlr-control-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.mlr-control-toggle .mlr-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentcolor;
  fill: none;
}

/* Panel - positioned dynamically by JavaScript for floating behavior */
.mlr-control-panel {
  position: absolute;
  /* Position is set dynamically by _updatePanelPosition() */
  background: var(--mlr-bg);
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--mlr-shadow);
  min-width: 240px;
  max-width: 420px;
  max-height: min(80vh, 720px);
  overflow-y: auto;
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  display: none;
}

.mlr-control-panel.expanded {
  display: block;
}

/* Panel header */
.mlr-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: var(--mlr-text);
  padding: 4px 0 8px 0;
  border-bottom: 1px solid var(--mlr-border-soft);
  margin-bottom: 8px;
}

.mlr-control-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.mlr-control-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--mlr-text-faint);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mlr-control-close:hover {
  color: var(--mlr-text);
}

/* Content */
.mlr-control-content {
  max-height: min(72vh, 660px);
  overflow-y: auto;
  /* Histogram drag handles are centered on the chart edges and poke a few
     pixels past the content box; clip them instead of growing a horizontal
     scrollbar. */
  overflow-x: hidden;
  /* Keep the vertical scrollbar off the controls: reserve its track space
     and add a small gap so right edges stay fully visible while scrolling. */
  scrollbar-gutter: stable;
  padding-right: 6px;
}

.mlr-control-placeholder {
  margin: 0;
  color: var(--mlr-text-muted);
  font-size: 12px;
  text-align: center;
  padding: 16px 0;
}

/* Scrollbar styling */
.mlr-control-content::-webkit-scrollbar {
  width: 6px;
}

.mlr-control-content::-webkit-scrollbar-track {
  background: transparent;
}

.mlr-control-content::-webkit-scrollbar-thumb {
  background: var(--mlr-scrollbar);
  border-radius: 3px;
}

.mlr-control-content::-webkit-scrollbar-thumb:hover {
  background: var(--mlr-scrollbar-hover);
}

/* Form elements */
.mlr-control-group {
  margin-bottom: 12px;
}

.mlr-control-group:last-child {
  margin-bottom: 0;
}

.mlr-control-label {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--mlr-text-soft);
}

.mlr-control-input {
  width: 100%;
  padding: 8px 10px;
  font-size: 14px;
  border: 1px solid var(--mlr-border);
  border-radius: 4px;
  background: var(--mlr-bg);
  color: var(--mlr-text);
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.mlr-control-input:focus {
  border-color: var(--mlr-accent);
  box-shadow: 0 0 0 3px var(--mlr-accent-soft);
}

.mlr-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: white;
  background: var(--mlr-accent);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
}

.mlr-control-button:hover {
  background: var(--mlr-accent-strong);
}

.mlr-control-button:focus {
  outline: 2px solid var(--mlr-accent);
  outline-offset: 2px;
}

.mlr-control-button:disabled {
  background: var(--mlr-disabled-bg);
  cursor: not-allowed;
}

/* Utility classes */
.mlr-control-flex {
  display: flex;
  gap: 8px;
}

.mlr-control-flex-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mlr-control-divider {
  height: 1px;
  background: var(--mlr-border-soft);
  margin: 12px 0;
}

/* ------------------------------------------------------------------ */
/* Raster panel UI (.mlr-*)                                            */
/* ------------------------------------------------------------------ */

.mlr-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: var(--mlr-text);
}

.mlr-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mlr-section-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mlr-text-muted);
  border-bottom: 1px solid var(--mlr-border-faint);
  padding-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mlr-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.mlr-row > .mlr-input {
  flex: 1;
  min-width: 0;
}

.mlr-row > .mlr-select {
  flex: 1;
  min-width: 0;
}

.mlr-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
}

.mlr-field:last-child {
  margin-bottom: 0;
}

.mlr-field-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--mlr-text-soft);
}

/* Collapsible field (e.g. Rescale) */
.mlr-collapsible > summary {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  list-style-position: inside;
}

.mlr-collapsible > summary:hover {
  color: var(--mlr-text);
}

.mlr-collapsible[open] > summary {
  margin-bottom: 4px;
}

.mlr-input {
  width: 100%;
  box-sizing: border-box;
  padding: 5px 8px;
  font-size: 12px;
  border: 1px solid var(--mlr-border);
  border-radius: 4px;
  background: var(--mlr-bg);
  color: var(--mlr-text);
  outline: none;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}

.mlr-input:focus {
  border-color: var(--mlr-accent);
  box-shadow: 0 0 0 3px var(--mlr-accent-soft);
}

.mlr-select {
  width: 100%;
  box-sizing: border-box;
  padding: 5px 6px;
  font-size: 12px;
  border: 1px solid var(--mlr-border);
  border-radius: 4px;
  background: var(--mlr-bg);
  color: var(--mlr-text);
  outline: none;
}

.mlr-select:focus {
  border-color: var(--mlr-accent);
}

.mlr-button {
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 500;
  color: white;
  background: var(--mlr-accent);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
  flex-shrink: 0;
}

.mlr-button:hover {
  background: var(--mlr-accent-strong);
}

.mlr-button:disabled {
  background: var(--mlr-disabled-bg);
  cursor: not-allowed;
}

/* Add data */
.mlr-drop-zone {
  border: 1.5px dashed var(--mlr-border-strong);
  border-radius: 4px;
  padding: 12px;
  text-align: center;
  cursor: pointer;
  background: var(--mlr-surface-soft);
  color: var(--mlr-text-muted);
  font-size: 11px;
  transition:
    border-color 0.15s,
    background-color 0.15s;
}

.mlr-drop-zone:hover,
.mlr-drop-zone.dragover {
  border-color: var(--mlr-accent);
  background: var(--mlr-accent-soft);
  color: var(--mlr-accent);
}

/* Layer list */
.mlr-layer-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mlr-layer-row {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 4px;
  border-radius: 4px;
}

.mlr-layer-row:hover {
  background: var(--mlr-hover);
}

.mlr-layer-row.selected {
  background: var(--mlr-accent-soft);
}

.mlr-layer-row.errored .mlr-layer-name {
  color: var(--mlr-error);
}

.mlr-layer-row input[type='checkbox'] {
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: var(--mlr-accent);
}

.mlr-layer-name {
  flex: 1;
  min-width: 0;
  border: none;
  background: none;
  text-align: left;
  font-size: 12px;
  color: var(--mlr-text);
  cursor: pointer;
  padding: 2px 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mlr-layer-row.selected .mlr-layer-name {
  font-weight: 600;
}

.mlr-icon-button {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--mlr-text-muted);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  border-radius: 3px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    color 0.15s,
    background-color 0.15s;
}

.mlr-icon-button:hover {
  color: var(--mlr-text);
  background: var(--mlr-hover);
}

.mlr-icon-button:disabled {
  color: var(--mlr-disabled-text);
  cursor: default;
  background: transparent;
}

.mlr-empty {
  color: var(--mlr-text-faint);
  font-size: 11px;
  text-align: center;
  padding: 6px 0;
}

.mlr-error {
  color: var(--mlr-error);
  font-size: 11px;
  padding: 4px 0;
  overflow-wrap: anywhere;
}

/* Settings */
.mlr-band-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.mlr-rescale {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mlr-rescale-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mlr-preset-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.mlr-preset-button {
  padding: 2px 8px;
  font-size: 11px;
  border: 1px solid var(--mlr-border);
  border-radius: 4px;
  background: var(--mlr-bg);
  color: var(--mlr-text-soft);
  cursor: pointer;
  transition:
    background-color 0.15s,
    border-color 0.15s;
}

.mlr-preset-button:hover {
  border-color: var(--mlr-accent);
}

.mlr-preset-button.active {
  background: var(--mlr-accent);
  border-color: var(--mlr-accent);
  color: #fff;
}

.mlr-slider {
  width: 100%;
  margin: 0;
  accent-color: var(--mlr-accent);
}

/* Histogram */
.mlr-histogram {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mlr-histogram-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.mlr-histogram-wrap {
  position: relative;
  cursor: crosshair;
  touch-action: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.mlr-histogram-wrap.dragging {
  cursor: grabbing;
}

.mlr-histogram-svg {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  width: 100%;
}

.mlr-histogram-bg {
  fill: var(--mlr-surface-muted);
}

.mlr-histogram-handle {
  position: absolute;
  top: 50%;
  border-radius: 50%;
  background: var(--mlr-bg);
  border: 1.5px solid currentcolor;
  transform: translate(-50%, -50%);
  cursor: ew-resize;
  box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Colormap picker */
.mlr-colormap-picker {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mlr-colormap-preview {
  display: block;
  width: 100%;
  border-radius: 2px;
  image-rendering: auto;
}

/* Settings header + inspect toggle */
.mlr-settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--mlr-border-faint);
  padding-bottom: 4px;
}

.mlr-settings-header .mlr-section-title {
  border-bottom: none;
  padding-bottom: 0;
  flex: 1;
  min-width: 0;
}

.mlr-inspect-toggle {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  border: 1px solid var(--mlr-border);
  border-radius: 4px;
  background: var(--mlr-bg);
  color: var(--mlr-text-soft);
  cursor: pointer;
  transition:
    background-color 0.15s,
    border-color 0.15s,
    color 0.15s;
}

.mlr-inspect-toggle:hover {
  background: var(--mlr-hover);
}

.mlr-inspect-toggle.active {
  background: var(--mlr-accent);
  border-color: var(--mlr-accent-strong);
  color: #fff;
}

/* Inspector popup */
.mlr-inspect-popup .maplibregl-popup-content {
  background: var(--mlr-bg);
  color: var(--mlr-text);
  border-radius: 6px;
  box-shadow: 0 1px 4px var(--mlr-shadow);
  padding: 8px 24px 8px 10px;
}

.mlr-inspect-popup .maplibregl-popup-close-button {
  color: var(--mlr-text-muted);
  font-size: 16px;
  padding: 0 4px;
}

.mlr-inspect-popup .maplibregl-popup-close-button:hover {
  background: var(--mlr-hover);
  color: var(--mlr-text);
}

/* Tip color must follow the popup anchor so the triangle matches the bg. */
.mlr-inspect-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip,
.mlr-inspect-popup.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,
.mlr-inspect-popup.maplibregl-popup-anchor-top-right .maplibregl-popup-tip {
  border-bottom-color: var(--mlr-bg);
}

.mlr-inspect-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,
.mlr-inspect-popup.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,
.mlr-inspect-popup.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip {
  border-top-color: var(--mlr-bg);
}

.mlr-inspect-popup.maplibregl-popup-anchor-left .maplibregl-popup-tip {
  border-right-color: var(--mlr-bg);
}

.mlr-inspect-popup.maplibregl-popup-anchor-right .maplibregl-popup-tip {
  border-left-color: var(--mlr-bg);
}

.mlr-inspect-content {
  font-size: 12px;
  line-height: 1.4;
  min-width: 130px;
}

.mlr-inspect-title {
  font-weight: 600;
  color: var(--mlr-text-strong);
  margin-bottom: 2px;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mlr-inspect-coord {
  color: var(--mlr-text-muted);
  font-variant-numeric: tabular-nums;
  margin-bottom: 6px;
}

.mlr-inspect-bands {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mlr-inspect-band {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.mlr-inspect-band-label {
  color: var(--mlr-text-soft);
}

.mlr-inspect-band-value {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--mlr-text-strong);
}

.mlr-inspect-band-nodata .mlr-inspect-band-value {
  font-weight: 400;
  color: var(--mlr-text-faint);
}

.mlr-inspect-message {
  color: var(--mlr-text-soft);
}
/*$vite$:1*//* Import all component styles */
/* Main control container - matches maplibregl-ctrl styling */
.streetview-control {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Toggle button - 29x29 to match navigation control */
.streetview-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: #333;
  transition: background-color 0.2s;
  border-radius: 4px;
}
.streetview-control-toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.streetview-control-toggle:active {
  background-color: rgba(0, 0, 0, 0.1);
}
.streetview-control-toggle:focus-visible {
  box-shadow: 0 0 0 2px #4a90d9;
}
/* Street view icon (person/pegman) */
.streetview-control-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.streetview-control-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
/* Active state when panel is open */
.streetview-control.active .streetview-control-toggle {
  background-color: rgba(0, 0, 0, 0.1);
  color: #1976d2;
}
/* Panel container */
.streetview-panel {
  position: absolute;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  display: none;
  flex-direction: column;
  overflow: hidden;
  z-index: 1000;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.streetview-panel.expanded {
  display: flex;
}
/* Panel header */
.streetview-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-bottom: 1px solid #e0e0e0;
  background: #f5f5f5;
  min-height: 36px;
  flex-shrink: 0;
}
.streetview-panel-title {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.streetview-panel-close {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background-color 0.2s, color 0.2s;
  flex-shrink: 0;
}
.streetview-panel-close:hover {
  background-color: rgba(0, 0, 0, 0.1);
  color: #333;
}
.streetview-panel-close svg {
  width: 16px;
  height: 16px;
}
/* Panel content area */
.streetview-panel-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}
/* Resize handle */
.streetview-panel-resize {
  position: absolute;
  width: 16px;
  height: 16px;
  cursor: se-resize;
  opacity: 0;
  transition: opacity 0.2s;
}
.streetview-panel:hover .streetview-panel-resize {
  opacity: 0.5;
}
.streetview-panel-resize::before {
  content: '';
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
}
/* Position-specific resize handle placement */
.streetview-panel[data-position="top-right"] .streetview-panel-resize,
.streetview-panel[data-position="top-left"] .streetview-panel-resize {
  bottom: 0;
}
.streetview-panel[data-position="bottom-right"] .streetview-panel-resize,
.streetview-panel[data-position="bottom-left"] .streetview-panel-resize {
  top: 0;
  transform: rotate(180deg);
}
.streetview-panel[data-position="top-right"] .streetview-panel-resize,
.streetview-panel[data-position="bottom-right"] .streetview-panel-resize {
  left: 0;
  transform: scaleX(-1);
}
.streetview-panel[data-position="top-left"] .streetview-panel-resize,
.streetview-panel[data-position="bottom-left"] .streetview-panel-resize {
  right: 0;
}
.streetview-api-keys {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-content: start;
  flex: 1;
  min-height: 0;
  padding: 12px;
  background: #fff;
  overflow: auto;
}
.streetview-api-keys[hidden] {
  display: none;
}
.streetview-api-key-field {
  display: grid;
  gap: 4px;
  margin: 0;
}
.streetview-api-key-label {
  color: #444;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}
.streetview-api-key-input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 28px;
  padding: 5px 8px;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: 12px;
  outline: none;
}
.streetview-api-key-input:focus {
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.16);
}
.streetview-api-key-input::-moz-placeholder {
  color: #888;
}
.streetview-api-key-input::placeholder {
  color: #888;
}
.streetview-api-key-apply {
  justify-self: end;
  min-height: 28px;
  padding: 5px 10px;
  border: none;
  border-radius: 4px;
  background: #1976d2;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
}
.streetview-api-key-apply:hover {
  background: #1565c0;
}
.streetview-api-key-apply:active {
  background: #0d47a1;
}
/* Provider tabs container */
.streetview-provider-tabs {
  display: flex;
  border-bottom: 1px solid #e0e0e0;
  background: #fafafa;
  flex-shrink: 0;
}
/* Individual tab button */
.streetview-provider-tab {
  flex: 1;
  padding: 8px 16px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: #666;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.streetview-provider-tab:hover:not(:disabled) {
  background: #f0f0f0;
  color: #333;
}
.streetview-provider-tab.active {
  color: #1976d2;
  border-bottom-color: #1976d2;
  background: #fff;
}
.streetview-provider-tab:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
/* Provider icon */
.streetview-provider-tab .provider-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.streetview-provider-tab .provider-icon svg {
  width: 100%;
  height: 100%;
}
/* Provider label */
.streetview-provider-tab .provider-label {
  white-space: nowrap;
}
/* Single provider - full width tab */
.streetview-provider-tabs.single-provider .streetview-provider-tab {
  cursor: default;
}
.streetview-provider-tabs.single-provider .streetview-provider-tab:hover {
  background: transparent;
}
/* Viewer container */
.streetview-viewer {
  flex: 1;
  position: relative;
  min-height: 200px;
  background: #1a1a1a;
  overflow: hidden;
}
/* Google iframe viewer */
.streetview-viewer iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
/* MapillaryJS container */
.streetview-viewer .mapillary-viewer {
  width: 100%;
  height: 100%;
}
/* Loading overlay */
.streetview-viewer-loading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  gap: 12px;
  z-index: 10;
}
.streetview-viewer-loading-text {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}
/* Spinner animation */
.streetview-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: streetview-spin 1s linear infinite;
}
@keyframes streetview-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Initial state - click prompt */
.streetview-viewer-initial {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  color: #666;
  text-align: center;
  padding: 20px;
}
.streetview-viewer-initial-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  opacity: 0.5;
}
.streetview-viewer-initial-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.streetview-viewer-initial-text {
  font-size: 14px;
  line-height: 1.5;
}
.streetview-viewer-initial-hint {
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}
/* Marker container */
.streetview-marker {
  width: 32px;
  height: 32px;
  position: relative;
  cursor: pointer;
}
/* Marker dot (center point) */
.streetview-marker-dot {
  width: 16px;
  height: 16px;
  background: #ff5722;
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
/* Direction indicator (arrow/cone) */
.streetview-marker-direction {
  position: absolute;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 24px solid #1976d2;
  top: -6px;
  left: 50%;
  transform-origin: center calc(100% + 6px);
  transform: translateX(-50%) rotate(0deg);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
  transition: transform 0.15s ease-out;
  z-index: 0;
}
/* Marker with direction hidden */
.streetview-marker.no-direction .streetview-marker-direction {
  display: none;
}
/* Marker hover state */
.streetview-marker:hover .streetview-marker-dot {
  transform: translate(-50%, -50%) scale(1.1);
}
/* Marker pulse animation for selection */
.streetview-marker.selected .streetview-marker-dot::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: inherit;
  transform: translate(-50%, -50%);
  animation: streetview-marker-pulse 1.5s ease-out infinite;
}
@keyframes streetview-marker-pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}
/* Custom color support via CSS variables */
.streetview-marker {
  --marker-color: #ff5722;
  --marker-direction-color: #1976d2;
}
.streetview-marker .streetview-marker-dot {
  background: var(--marker-color);
}
.streetview-marker .streetview-marker-direction {
  border-bottom-color: var(--marker-direction-color);
}
/* No data message container */
.streetview-no-data {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 20px;
  text-align: center;
  color: #666;
  background: #f5f5f5;
  height: 100%;
  min-height: 200px;
}
/* No data icon */
.streetview-no-data-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  opacity: 0.4;
}
.streetview-no-data-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
/* No data title */
.streetview-no-data-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}
/* No data message */
.streetview-no-data-message {
  font-size: 13px;
  line-height: 1.5;
  max-width: 280px;
  color: #666;
}
/* Action button container */
.streetview-no-data-action {
  margin-top: 16px;
}
/* Retry/search button */
.streetview-no-data-button {
  padding: 8px 20px;
  background: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: background-color 0.2s;
}
.streetview-no-data-button:hover {
  background: #1565c0;
}
.streetview-no-data-button:active {
  background: #0d47a1;
}
.streetview-no-data-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
/* Searching state */
.streetview-no-data.searching .streetview-no-data-icon {
  animation: streetview-no-data-pulse 1s ease-in-out infinite;
}
@keyframes streetview-no-data-pulse {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.7;
  }
}
/* Error state */
.streetview-no-data.error .streetview-no-data-icon {
  color: #d32f2f;
  opacity: 0.6;
}
.streetview-no-data.error .streetview-no-data-title {
  color: #d32f2f;
}
/**
 * MapLibre GL Swipe Control Styles
 */

/* ============================================
   Control Button (Toggle)
   ============================================ */
.swipe-control {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.swipe-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: #1f2a37;
}

.swipe-control-toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.swipe-control-toggle:focus {
  box-shadow: 0 0 0 2px rgba(74, 144, 217, 0.4);
}

.swipe-control-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.swipe-control-icon svg {
  width: 22px;
  height: 22px;
}

/* ============================================
   Slider
   ============================================ */
.swipe-slider {
  position: absolute;
  z-index: 100;
  pointer-events: none;
}

.swipe-slider-vertical {
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.7));
  border-left: 1px solid rgba(0, 0, 0, 0.3);
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  cursor: ew-resize;
  transform: translateX(-50%) translateZ(0);
  will-change: left;
  backface-visibility: hidden;
}

.swipe-slider-horizontal {
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.7));
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  cursor: ns-resize;
  transform: translateY(-50%) translateZ(0);
  will-change: top;
  backface-visibility: hidden;
}

.swipe-slider-handle {
  position: absolute;
  pointer-events: auto;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  width: 32px;
  height: 32px;
}

.swipe-slider-vertical .swipe-slider-handle {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  cursor: ew-resize;
}

.swipe-slider-horizontal .swipe-slider-handle {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  cursor: ns-resize;
}

.swipe-slider-handle:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.swipe-slider.dragging .swipe-slider-handle {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  transition: box-shadow 0.1s ease;
}

.swipe-slider-horizontal.dragging .swipe-slider-handle {
  transform: translate(-50%, -50%) rotate(90deg) scale(1.1);
  transition: box-shadow 0.1s ease;
}

.swipe-handle-icon {
  color: #666;
  transition: color 0.1s ease;
}

.swipe-slider:hover .swipe-handle-icon,
.swipe-slider.dragging .swipe-handle-icon {
  color: #333;
}

/* ============================================
   Panel
   ============================================ */
.swipe-control-panel {
  position: absolute;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  min-width: 240px;
  max-width: 320px;
  overflow: hidden;
  z-index: 1000;
  font-size: 12px;
  line-height: 1.4;
  display: none;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  /* Enable flexbox for proper content scrolling */
  flex-direction: column;
}

.swipe-control-panel.expanded {
  display: flex;
}

.swipe-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: #333;
  padding: 10px 12px;
  border-bottom: 1px solid #e0e0e0;
  background: #fafafa;
  flex-shrink: 0;
}

.swipe-control-title {
  flex: 1;
  font-size: 13px;
}

.swipe-control-close {
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  color: #999;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  transition: background-color 0.1s ease, color 0.1s ease;
}

.swipe-control-close:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #333;
}

.swipe-control-content {
  padding: 12px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.swipe-control-group {
  margin-bottom: 14px;
}

.swipe-control-group:last-child {
  margin-bottom: 0;
}

.swipe-control-label {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #555;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.swipe-control-select {
  width: 100%;
  padding: 8px 10px;
  font-size: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  outline: none;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.swipe-control-select:hover {
  border-color: #bbb;
}

.swipe-control-select:focus {
  border-color: #4a90d9;
  box-shadow: 0 0 0 2px rgba(74, 144, 217, 0.15);
}

.swipe-control-divider {
  height: 1px;
  background: #e0e0e0;
  margin: 14px 0;
}

/* ============================================
   Layer List
   ============================================ */
.swipe-layer-list {
  max-height: 140px;
  overflow-y: auto;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
}

.swipe-layer-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  cursor: pointer;
  border-bottom: 1px solid #eee;
  transition: background-color 0.1s ease;
}

.swipe-layer-item:last-child {
  border-bottom: none;
}

.swipe-layer-item:hover {
  background: #f0f0f0;
}

.swipe-layer-item input[type='checkbox'] {
  margin: 0;
  cursor: pointer;
  width: 14px;
  height: 14px;
  accent-color: #4a90d9;
}

.swipe-layer-item label {
  flex: 1;
  font-size: 11px;
  color: #333;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ============================================
   Scrollbar
   ============================================ */
/* Firefox scrollbar */
.swipe-control-content,
.swipe-layer-list {
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
}

/* Webkit (Chrome, Safari, Edge) scrollbar */
.swipe-control-content::-webkit-scrollbar,
.swipe-layer-list::-webkit-scrollbar {
  width: 6px;
}

.swipe-control-content::-webkit-scrollbar-track,
.swipe-layer-list::-webkit-scrollbar-track {
  background: transparent;
}

.swipe-control-content::-webkit-scrollbar-thumb,
.swipe-layer-list::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.swipe-control-content::-webkit-scrollbar-thumb:hover,
.swipe-layer-list::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

/* ============================================
   Toggle Switch
   ============================================ */
.swipe-toggle-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.swipe-toggle-label {
  font-size: 12px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
}

.swipe-toggle-slider {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
  cursor: pointer;
  flex-shrink: 0;
}

.swipe-toggle-slider input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.swipe-toggle-track {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  border-radius: 10px;
  transition: background-color 0.2s ease;
}

.swipe-toggle-track::before {
  content: '';
  position: absolute;
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: #fff;
  border-radius: 50%;
  transition: transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.swipe-toggle-slider input:checked + .swipe-toggle-track {
  background-color: #4a90d9;
}

.swipe-toggle-slider input:checked + .swipe-toggle-track::before {
  transform: translateX(16px);
}

.swipe-toggle-slider input:focus + .swipe-toggle-track {
  box-shadow: 0 0 0 2px rgba(74, 144, 217, 0.3);
}

/* ============================================
   Empty State
   ============================================ */
.swipe-layer-list:empty::after {
  content: 'No layers available';
  display: block;
  padding: 12px;
  color: #999;
  font-size: 11px;
  text-align: center;
  font-style: italic;
}
/**
 * MapLibre GL Vector Control Styles
 *
 * Colors are driven by custom properties with light defaults and a
 * prefers-color-scheme dark override, so the panel renders properly in
 * both themes. The variables are defined on both roots because the
 * panel element is appended to the map container, outside the control.
 */

.vector-control,
.vector-control-panel,
.vector-control-popup {
  --vc-bg: #fff;
  --vc-text: #333;
  --vc-text-strong: #1f2a37;
  --vc-text-soft: #475467;
  --vc-muted: #98a2b3;
  --vc-border: #e0e0e0;
  --vc-border-soft: #e9edf2;
  --vc-item-bg: #fafbfc;
  --vc-hover: rgba(0, 0, 0, 0.05);
  --vc-accent: #4a90d9;
  --vc-accent-hover: #3a7bc8;
  --vc-accent-soft: rgba(74, 144, 217, 0.06);
  --vc-accent-text: #fff;
  --vc-error: #d9534a;
  --vc-input-bg: #fff;
  --vc-input-border: #d0d5dd;
  --vc-scrollbar: #ccc;
  --vc-scrollbar-hover: #aaa;
  --vc-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

@media (prefers-color-scheme: dark) {
  .vector-control,
  .vector-control-panel,
  .vector-control-popup {
    --vc-bg: #1f2937;
    --vc-text: #e5e7eb;
    --vc-text-strong: #f3f4f6;
    --vc-text-soft: #cbd5e1;
    --vc-muted: #8b96a5;
    --vc-border: #374151;
    --vc-border-soft: #2c3543;
    --vc-item-bg: #273141;
    --vc-hover: rgba(255, 255, 255, 0.08);
    --vc-accent: #5ba0e8;
    --vc-accent-hover: #6fb0f2;
    --vc-accent-soft: rgba(91, 160, 232, 0.12);
    --vc-accent-text: #fff;
    --vc-error: #f08c85;
    --vc-input-bg: #111827;
    --vc-input-border: #4b5563;
    --vc-scrollbar: #4b5563;
    --vc-scrollbar-hover: #6b7280;
    --vc-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
  }
}

/* Container - matches maplibregl-ctrl styling.
   The doubled class selector outranks maplibre-gl's own
   `.maplibregl-ctrl-group { background: #fff }` regardless of
   stylesheet order, so the button follows the system theme too -
   otherwise dark mode renders a light icon on a white button. */
.vector-control,
.vector-control.maplibregl-ctrl-group {
  background: var(--vc-bg);
  border-radius: 4px;
  box-shadow: var(--vc-shadow);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Toggle button - 29x29 to match navigation control */
.vector-control-toggle {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: var(--vc-text-strong);
}

.vector-control-toggle:hover {
  background-color: var(--vc-hover);
}

.vector-control-toggle .vector-control-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.vector-control-toggle .vector-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentcolor;
  fill: none;
}

/* Panel - positioned dynamically by JavaScript for floating behavior.
   A flex column so the header stays put and the content scrolls when
   the JS-computed max-height kicks in on small screens. */
.vector-control-panel {
  position: absolute;
  /* Position and max-height/max-width are set by _updatePanelPosition() */
  background: var(--vc-bg);
  border-radius: 4px;
  box-shadow: var(--vc-shadow);
  min-width: 240px;
  max-width: 420px;
  max-height: 500px;
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--vc-text);
  display: none;
  flex-direction: column;
  box-sizing: border-box;
}

.vector-control-panel.expanded {
  display: flex;
}

/* Panel header */
.vector-control-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: var(--vc-text);
  padding: 4px 0 8px 0;
  border-bottom: 1px solid var(--vc-border);
  margin-bottom: 8px;
}

.vector-control-title {
  flex: 1 1 auto;
  font-size: 13px;
}

.vector-control-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--vc-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vector-control-close:hover {
  color: var(--vc-text);
}

/* Content - the scrolling region of the panel */
.vector-control-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

/* Scrollbar styling */
.vector-control-content::-webkit-scrollbar {
  width: 6px;
}

.vector-control-content::-webkit-scrollbar-track {
  background: transparent;
}

.vector-control-content::-webkit-scrollbar-thumb {
  background: var(--vc-scrollbar);
  border-radius: 3px;
}

.vector-control-content::-webkit-scrollbar-thumb:hover {
  background: var(--vc-scrollbar-hover);
}

/* Form elements */
.vector-control-group {
  margin-bottom: 12px;
}

.vector-control-group:last-child {
  margin-bottom: 0;
}

.vector-control-label {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--vc-text-soft);
}

.vector-control-input {
  width: 100%;
  padding: 8px 10px;
  font-size: 14px;
  border: 1px solid var(--vc-input-border);
  border-radius: 4px;
  outline: none;
  background: var(--vc-input-bg);
  color: var(--vc-text);
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}

.vector-control-input::-moz-placeholder {
  color: var(--vc-muted);
}

.vector-control-input::placeholder {
  color: var(--vc-muted);
}

.vector-control-input:focus {
  border-color: var(--vc-accent);
  box-shadow: 0 0 0 3px var(--vc-accent-soft);
}

.vector-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--vc-accent-text);
  background: var(--vc-accent);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
}

.vector-control-button:hover {
  background: var(--vc-accent-hover);
}

.vector-control-button:focus {
  outline: 2px solid var(--vc-accent);
  outline-offset: 2px;
}

.vector-control-button:disabled {
  background: var(--vc-muted);
  cursor: not-allowed;
}

/* Utility classes */
.vector-control-flex {
  display: flex;
  gap: 8px;
}

.vector-control-flex-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vector-control-divider {
  height: 1px;
  background: var(--vc-border);
  margin: 12px 0;
  flex: 0 0 auto;
}

/* ------------------------------------------------------------------ */
/* Vector data UI                                                      */
/* ------------------------------------------------------------------ */

/* Drop zone */
.vector-control-dropzone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 10px;
  border: 1.5px dashed var(--vc-input-border);
  border-radius: 6px;
  color: var(--vc-text-soft);
  font-size: 12px;
  cursor: pointer;
  transition: border-color 0.15s, background-color 0.15s, color 0.15s;
  margin-bottom: 8px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.vector-control-dropzone:hover,
.vector-control-dropzone.dragover {
  border-color: var(--vc-accent);
  background: var(--vc-accent-soft);
  color: var(--vc-accent);
}

.vector-control-svg-icon {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

/* URL row */
.vector-control-url-row {
  margin-bottom: 8px;
}

.vector-control-url-row .vector-control-input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 6px 8px;
  font-size: 12px;
}

.vector-control-url-row .vector-control-button {
  flex: 0 0 auto;
  padding: 6px 12px;
  font-size: 12px;
}

/* Streaming toggle */
.vector-control-stream-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--vc-text-soft);
  margin-bottom: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Status line */
.vector-control-status {
  font-size: 11px;
  color: var(--vc-accent);
  padding: 4px 2px;
  overflow-wrap: break-word;
}

.vector-control-status.error {
  color: var(--vc-error);
}

/* Section title */
.vector-control-section-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vc-muted);
  margin-bottom: 6px;
}

/* Layer list */
.vector-control-layer-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vector-control-empty {
  font-size: 12px;
  color: var(--vc-muted);
  text-align: center;
  padding: 10px 0;
}

.vector-control-layer-item {
  border: 1px solid var(--vc-border-soft);
  border-radius: 6px;
  padding: 6px;
  background: var(--vc-item-bg);
}

.vector-control-layer-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.vector-control-layer-name-wrap {
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
}

.vector-control-layer-name {
  font-size: 12px;
  font-weight: 500;
  color: var(--vc-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vector-control-layer-meta {
  font-size: 10px;
  color: var(--vc-muted);
}

.vector-control-layer-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}

.vector-control-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--vc-text-soft);
  cursor: pointer;
  padding: 0;
  transition: background-color 0.15s, color 0.15s;
}

.vector-control-icon-btn:hover {
  background: var(--vc-hover);
  color: var(--vc-text-strong);
}

/* Style editor */
.vector-control-style-editor {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--vc-border-soft);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.vector-control-style-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--vc-text-soft);
}

.vector-control-style-label {
  flex: 0 0 44px;
}

.vector-control-color {
  width: 36px;
  height: 22px;
  padding: 0;
  border: 1px solid var(--vc-input-border);
  border-radius: 4px;
  background: none;
  cursor: pointer;
}

.vector-control-range {
  flex: 1 1 auto;
  min-width: 0;
  accent-color: var(--vc-accent);
}

.vector-control-range-value {
  flex: 0 0 28px;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--vc-text-soft);
}

.vector-control-select {
  flex: 1 1 auto;
  font-size: 11px;
  padding: 3px 6px;
  border: 1px solid var(--vc-input-border);
  border-radius: 4px;
  background: var(--vc-input-bg);
  color: var(--vc-text);
}

/* Attribute picker popup */
.vector-control-popup {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 12px;
  color: var(--vc-text);
  max-height: 240px;
  overflow-y: auto;
}

.vector-control-popup-title {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 4px;
  color: var(--vc-text-strong);
}

.vector-control-popup-table {
  border-collapse: collapse;
  width: 100%;
}

.vector-control-popup-table td {
  padding: 2px 8px 2px 0;
  vertical-align: top;
  border-bottom: 1px solid var(--vc-border-soft);
  overflow-wrap: anywhere;
}

.vector-control-popup-table tr:last-child td {
  border-bottom: none;
}

.vector-control-popup-key {
  font-weight: 500;
  color: var(--vc-text-soft);
  white-space: nowrap;
}

.vector-control-popup-empty {
  color: var(--vc-muted);
}

/* Theme the MapLibre popup chrome around our content in dark mode */
@media (prefers-color-scheme: dark) {
  .maplibregl-popup:has(.vector-control-popup) .maplibregl-popup-content {
    background: #1f2937;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
  }

  .maplibregl-popup:has(.vector-control-popup) .maplibregl-popup-close-button {
    color: #8b96a5;
  }

  .maplibregl-popup-anchor-top:has(.vector-control-popup) .maplibregl-popup-tip,
  .maplibregl-popup-anchor-top-left:has(.vector-control-popup) .maplibregl-popup-tip,
  .maplibregl-popup-anchor-top-right:has(.vector-control-popup) .maplibregl-popup-tip {
    border-bottom-color: #1f2937;
  }

  .maplibregl-popup-anchor-bottom:has(.vector-control-popup) .maplibregl-popup-tip,
  .maplibregl-popup-anchor-bottom-left:has(.vector-control-popup) .maplibregl-popup-tip,
  .maplibregl-popup-anchor-bottom-right:has(.vector-control-popup) .maplibregl-popup-tip {
    border-top-color: #1f2937;
  }

  .maplibregl-popup-anchor-left:has(.vector-control-popup) .maplibregl-popup-tip {
    border-right-color: #1f2937;
  }

  .maplibregl-popup-anchor-right:has(.vector-control-popup) .maplibregl-popup-tip {
    border-left-color: #1f2937;
  }
}

.vector-control-checkbox {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--vc-accent);
  cursor: pointer;
}
/*$vite$:1*/.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}/* Layer Control Styles */

/* Control button */
.maplibregl-ctrl-layer-control {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.maplibregl-ctrl-layer-control button {
  background: none;
  border: none;
  padding: 0;
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  color: #1f2a37;
}

.maplibregl-ctrl-layer-control button:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.maplibregl-ctrl-layer-control .layer-control-icon {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.maplibregl-ctrl-layer-control .layer-control-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  fill: none;
}

/* Panel - positioned dynamically by JavaScript for floating behavior */
.layer-control-panel {
  position: absolute;
  /* Position is set dynamically by updatePanelPosition() */
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  min-width: 240px;
  max-width: 420px;
  max-height: 600px;
  overflow-y: auto;
  z-index: 1000;
  padding: 8px;
  font-size: 12px;
  line-height: 1.4;
  display: none;
}

.layer-control-panel.expanded {
  display: block;
}

/* Panel header */
.layer-control-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
  color: #333;
  padding: 4px 0 8px 0;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 8px;
}

.layer-control-panel-title {
  flex: 1 1 auto;
  font-size: 13px;
}

/* Width control */
.layer-control-width-control {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  font-size: 11px;
  color: #5c6a7d;
  flex-shrink: 0;
  margin-left: auto;
}

.layer-control-width-slider {
  position: relative;
  width: 130px;
  height: 16px;
  border-radius: 8px;
  cursor: ew-resize;
  display: flex;
  align-items: center;
  justify-content: center;
  touch-action: none;
  background: transparent;
  padding: 0 8px;
  box-sizing: border-box;
}

.layer-control-width-value {
  min-width: 44px;
  text-align: right;
  font-feature-settings: 'tnum';
  color: #3a4756;
}

.layer-control-width-track {
  position: absolute;
  left: 8px;
  right: 8px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, #d0d7e2, #2f6fed);
  pointer-events: none;
}

.layer-control-width-thumb {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #2f6fed;
  transform: translateY(-50%);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}

/* Action buttons (Show All / Hide All) */
.layer-control-actions {
  display: flex;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 4px;
}

.layer-control-action-btn {
  flex: 1;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  color: #ffffff !important;
  background: #2f6fed !important;
  border: 1px solid #2f6fed !important;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  width: auto;
  height: auto;
}

.layer-control-action-btn:hover {
  background: #1d5bd6 !important;
  border-color: #1d5bd6 !important;
  color: #ffffff !important;
}

.layer-control-action-btn:active {
  background: #1a4fc2 !important;
  border-color: #1a4fc2 !important;
}

/* Layer items */
.layer-control-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f0;
  box-sizing: border-box;
}

.layer-control-item:last-child {
  border-bottom: none;
}

.layer-control-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  min-height: 20px;
}

.layer-control-checkbox {
  margin: 0;
  cursor: pointer;
}

.layer-control-name {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
  font-weight: 500;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Layer symbol/icon */
.layer-control-symbol {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.layer-control-symbol svg {
  width: 16px;
  height: 16px;
  display: block;
}

.layer-control-opacity {
  flex: 0 0 auto;
  width: 100px;
  min-width: 100px;
  max-width: 100px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  background: linear-gradient(to right, #ddd 0%, #333 100%);
  border-radius: 8px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
}

.layer-control-opacity::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 2px solid #333;
  border-radius: 50%;
  cursor: pointer;
}

.layer-control-opacity::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: #fff;
  border: 2px solid #333;
  border-radius: 50%;
  cursor: pointer;
}

/* Style button */
.layer-control-style-button {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 16px;
  color: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.1s ease;
  flex-shrink: 0;
}

.layer-control-style-button:hover {
  background-color: rgba(0, 0, 0, 0.07);
}

.layer-control-style-button[disabled] {
  cursor: not-allowed;
  opacity: 0.45;
}

/* Style editor */
.layer-control-style-editor {
  display: none;
  width: 100%;
  background: #f7f9fc;
  border: 1px solid #dfe3eb;
  border-radius: 6px;
  padding: 10px;
  margin-top: 6px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  align-self: stretch;
  box-sizing: border-box;
}

.layer-control-style-editor.expanded {
  display: block;
}

.layer-control-style-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 8px;
  color: #2f3c4a;
}

.layer-control-style-close,
.layer-control-style-close-secondary {
  border: none;
  background: none;
  cursor: pointer;
  color: #556372;
  font-size: 14px;
}

.layer-control-style-controls {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.layer-style-control {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
}

.layer-style-control label {
  font-weight: 500;
  color: #3a4756;
}

.layer-style-color-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.layer-style-color {
  width: 36px;
  height: 20px;
  padding: 0;
  border: none;
  cursor: pointer;
}

.layer-style-color-text {
  flex: 1;
  height: 22px;
  border: 1px solid #d0d7e2;
  border-radius: 4px;
  padding: 2px 6px;
  font-family: monospace;
  font-size: 11px;
  background-color: #fff;
}

.layer-style-slider-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}

.layer-style-slider {
  flex: 1;
  cursor: pointer;
}

.layer-style-value {
  min-width: 38px;
  text-align: right;
  font-family: monospace;
  color: #3a4756;
}

.layer-control-style-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 10px;
}

.layer-control-style-action {
  border: none;
  padding: 5px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 500;
}

.layer-control-style-apply {
  background-color: #2f6fed;
  color: #fff;
}

.layer-control-style-apply:hover {
  background-color: #2557b8;
}

.layer-control-style-reset {
  background-color: #e4e8f1;
  color: #2f3c4a;
  border: 1px solid #c6cedd;
}

.layer-control-style-reset:hover {
  background-color: #d7deed;
}

.layer-control-style-close-secondary {
  background-color: #f7f9fc;
  color: #2f3c4a;
  border: 1px solid #d7deed;
}

.layer-control-style-close-secondary:hover {
  background-color: #e9edf7;
}

.layer-control-style-empty {
  margin: 0;
  font-size: 11px;
  color: #5c6a7d;
}

/* Style control groups */
.style-control-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

.style-control-group:last-child {
  margin-bottom: 0;
}

.style-control-label {
  font-size: 11px;
  font-weight: 600;
  color: #3a4756;
  margin: 0;
}

.style-control-input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.style-control-slider {
  flex: 1;
  height: 18px;
  cursor: pointer;
  background: linear-gradient(to right, #e0e6ed 0%, #2f6fed 100%);
  border-radius: 9px;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.style-control-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 2px solid #2f6fed;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.style-control-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: #fff;
  border: 2px solid #2f6fed;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.style-control-value {
  min-width: 48px;
  text-align: right;
  font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
  font-size: 11px;
  color: #3a4756;
  font-weight: 500;
}

.style-control-color-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.style-control-color-picker {
  width: 40px;
  height: 28px;
  padding: 2px;
  border: 1px solid #d0d7e2;
  border-radius: 4px;
  cursor: pointer;
  background: #fff;
}

.style-control-color-value {
  flex: 1;
  height: 28px;
  padding: 4px 8px;
  border: 1px solid #d0d7e2;
  border-radius: 4px;
  font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
  font-size: 11px;
  color: #3a4756;
  background: #fff;
  text-align: center;
  font-weight: 500;
}

/* Custom scrollbar */
.layer-control-panel::-webkit-scrollbar {
  width: 6px;
}

.layer-control-panel::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.layer-control-panel::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.layer-control-panel::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Style button */
.layer-control-style-button {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border: 1px solid #ddd;
  border-radius: 3px;
  background: white;
  color: #666;
  cursor: pointer;
  font-size: 16px;
  padding: 0;
  line-height: 1;
  transition: all 0.2s ease;
}

.layer-control-style-button:hover {
  background: #f5f5f5;
  border-color: #2f6fed;
  color: #2f6fed;
}

.layer-control-style-button:active {
  background: #e8e8e8;
}

/* Style editor */
.layer-control-style-editor {
  display: block;
  margin-top: 8px;
  padding: 12px;
  background: #f7fafc;
  border: 1px solid #e0e6ed;
  border-radius: 4px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
}

.style-editor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e6ed;
}

.style-editor-title {
  font-size: 13px;
  font-weight: 600;
  color: #333;
}

.style-editor-close {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: #999;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
}

.style-editor-close:hover {
  color: #333;
}

.style-editor-controls {
  margin-bottom: 12px;
  min-height: 40px;
  color: #666;
  font-size: 12px;
}

.style-editor-section-header {
  font-size: 12px;
  font-weight: 600;
  color: #555;
  margin: 8px 0 4px;
  padding-bottom: 2px;
  border-bottom: 1px solid #e0e6ed;
}

.style-editor-section-header:first-child {
  margin-top: 0;
}

.style-editor-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 8px;
  border-top: 1px solid #e0e6ed;
}

.style-editor-button {
  padding: 8px 16px;
  min-width: 70px;
  border: 1px solid #ddd;
  border-radius: 3px;
  background: white;
  color: #333;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.style-editor-button:hover {
  background: #f5f5f5;
  border-color: #bbb;
}

.style-editor-button:active {
  background: #e0e0e0;
}

.layer-control-style-editor .style-editor-button-reset {
  background: #fb923c !important;
  color: #ffffff !important;
  border-color: #f97316 !important;
  font-weight: 600;
}

.layer-control-style-editor .style-editor-button-reset:hover {
  background: #f97316 !important;
  border-color: #ea580c !important;
  color: #ffffff !important;
}

.layer-control-style-editor .style-editor-button-close {
  background: #6b7280 !important;
  color: #ffffff !important;
  border-color: #4b5563 !important;
  font-weight: 600;
}

.layer-control-style-editor .style-editor-button-close:hover {
  background: #4b5563 !important;
  border-color: #374151 !important;
  color: #ffffff !important;
}

.layer-control-style-editor .style-editor-button-remove {
  background: #ef4444 !important;
  color: #ffffff !important;
  border-color: #dc2626 !important;
  font-weight: 600;
}

.layer-control-style-editor .style-editor-button-remove:hover {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

/* ===== Background Legend Panel ===== */
.layer-control-background-legend {
  display: block;
  margin-top: 8px;
  padding: 10px;
  background: #f7fafc;
  border: 1px solid #e0e6ed;
  border-radius: 4px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
}

.background-legend-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e0e6ed;
}

.background-legend-title {
  font-size: 12px;
  font-weight: 600;
  color: #333;
}

.background-legend-close {
  width: 18px;
  height: 18px;
  border: none;
  background: transparent;
  color: #999;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
}

.background-legend-close:hover {
  color: #333;
}

/* Quick action buttons */
.background-legend-actions {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}

.layer-control-background-legend .background-legend-action-btn {
  flex: 1;
  padding: 5px 10px;
  border: 1px solid #2f6fed;
  border-radius: 3px;
  background: #2f6fed;
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  width: auto;
  height: auto;
}

.layer-control-background-legend .background-legend-action-btn:hover {
  background: #1d5bd6 !important;
  background-color: #1d5bd6 !important;
  border-color: #1d5bd6;
  color: #ffffff;
}

.layer-control-background-legend .background-legend-action-btn:active {
  background: #1a4fc2 !important;
  background-color: #1a4fc2 !important;
  border-color: #1a4fc2;
}

/* Filter row */
.background-legend-filter {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  padding: 6px 8px;
  background: #eef2f7;
  border-radius: 3px;
}

.background-legend-filter-checkbox {
  margin: 0;
  cursor: pointer;
}

.background-legend-filter-label {
  font-size: 11px;
  color: #444;
  font-weight: 500;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Layer list container */
.background-legend-layer-list {
  max-height: 200px;
  overflow-y: auto;
  padding-right: 4px;
}

/* Individual layer row */
.background-legend-layer-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
  border-bottom: 1px solid #f0f4f8;
}

.background-legend-layer-row:last-child {
  border-bottom: none;
}

.background-legend-checkbox {
  margin: 0;
  cursor: pointer;
  flex-shrink: 0;
}

/* Layer symbol in background legend */
.background-legend-layer-symbol {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.background-legend-layer-symbol svg {
  width: 14px;
  height: 14px;
  display: block;
}

.background-legend-layer-name {
  flex: 1;
  font-size: 11px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.background-legend-layer-type {
  flex-shrink: 0;
  font-size: 9px;
  color: #888;
  background: #e8ecf0;
  padding: 2px 5px;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: 500;
}

/* Empty state */
.background-legend-empty {
  font-size: 11px;
  color: #888;
  text-align: center;
  padding: 12px;
  margin: 0;
}

/* Active state for legend button */
.layer-control-background-legend-button.active {
  background: #e8ecf0;
  border-color: #2f6fed;
  color: #2f6fed;
}

/* Custom scrollbar for legend layer list */
.background-legend-layer-list::-webkit-scrollbar {
  width: 4px;
}

.background-legend-layer-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 2px;
}

.background-legend-layer-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 2px;
}

.background-legend-layer-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Custom layer info panel */
.layer-control-custom-info-text {
  margin: 0;
  padding: 8px;
  font-size: 11px;
  line-height: 1.5;
  color: #666;
  background: #f0f4f8;
  border-radius: 4px;
  border-left: 3px solid #2f6fed;
}

/* ===== Context Menu Styles ===== */
.layer-control-context-menu {
  position: absolute;
  z-index: 1001;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
  min-width: 180px;
  padding: 4px 0;
  font-size: 12px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.context-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  cursor: pointer;
  color: #333;
  transition: background-color 0.1s ease;
}

.context-menu-item:hover {
  background: #f5f7fa;
}

.context-menu-item:active {
  background: #e8ecf0;
}

.context-menu-item-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 14px;
}

.context-menu-item-label {
  flex: 1;
}

.context-menu-item-danger {
  color: #dc3545;
}

.context-menu-item-danger:hover {
  background: #fef2f2;
}

.context-menu-item-danger .context-menu-item-icon {
  color: #dc3545;
}

.context-menu-item[disabled] {
  color: #aaa;
  cursor: not-allowed;
}

.context-menu-item[disabled]:hover {
  background: transparent;
}

.context-menu-separator {
  height: 1px;
  background: #e8e8e8;
  margin: 4px 0;
}

/* Layer name input for renaming */
.layer-control-name-input {
  flex: 1;
  min-width: 80px;
  padding: 2px 6px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid #2f6fed;
  border-radius: 3px;
  outline: none;
  background: #fff;
  color: #333;
}

.layer-control-name-input:focus {
  box-shadow: 0 0 0 2px rgba(47, 111, 237, 0.2);
}

/* ===== Drag and Drop Styles ===== */
.layer-control-drag-handle {
  width: 16px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  color: #999;
  font-size: 12px;
  flex-shrink: 0;
  touch-action: none;
  transition: color 0.1s ease;
}

.layer-control-drag-handle:hover {
  color: #666;
}

.layer-control-drag-handle:active {
  cursor: grabbing;
}

.layer-control-drag-handle-disabled {
  color: #ddd;
  cursor: default;
  pointer-events: none;
}

.layer-control-drag-handle-disabled:hover {
  color: #ddd;
}

.layer-control-drag-handle svg {
  width: 12px;
  height: 12px;
}

/* Dragging state for the item */
.layer-control-item.dragging {
  opacity: 0.5;
}

/* Floating dragged element */
.layer-control-item-dragging {
  position: fixed;
  z-index: 1002;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  pointer-events: none;
  padding: 4px 8px;
  opacity: 0.95;
}

/* Drop placeholder */
.layer-control-drop-placeholder {
  background: #e8f0fe;
  border: 2px dashed #2f6fed;
  border-radius: 4px;
  margin: 2px 0;
  min-height: 32px;
  box-sizing: border-box;
}

/* Prevent text selection during drag */
.layer-control-panel.dragging-active {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.layer-control-panel.dragging-active * {
  cursor: grabbing !important;
}

/* ===== Inline Remove Confirmation ===== */
.layer-control-remove-confirm {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  padding: 12px;
  margin-top: 8px;
  animation: confirmSlideIn 0.15s ease-out;
}

@keyframes confirmSlideIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.layer-control-remove-confirm-message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #991b1b;
  font-size: 13px;
  font-weight: 500;
}

.layer-control-remove-confirm-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.layer-control-remove-confirm-buttons {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.layer-control-remove-confirm-btn {
  padding: 6px 14px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid;
  transition: all 0.15s ease;
}

.layer-control-remove-confirm-btn-cancel {
  background: #ffffff;
  color: #374151;
  border-color: #d1d5db;
}

.layer-control-remove-confirm-btn-cancel:hover {
  background: #f3f4f6;
  border-color: #9ca3af;
}

.layer-control-remove-confirm-btn-confirm {
  background: #dc2626;
  color: #ffffff;
  border-color: #b91c1c;
}

.layer-control-remove-confirm-btn-confirm:hover {
  background: #b91c1c;
  border-color: #991b1b;
}/*$vite$:1*/