.jiejing {
    background-color: white; /* 设置背景颜色为白色 */
    overflow: hidden; /* 隐藏超出边框的内容 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px; /* 调整按钮的宽度*/ 
    height: 30px; /* 调整按钮的高度 */
}

.jiejing img {
    max-width: 18px; /* 设置图标最大宽度为80%，可根据需要调整 */
    max-height: 30px; /* 设置图标最大高度为80%，可根据需要调整 */
    border-radius: 5px; /* 设置图标的圆润边角，与按钮一致 */
    margin: auto; /* 使用auto将图像水平和垂直居中 */
}

.jiejing:hover {
    background-color: #f0f0f0; /* 悬停时的背景色，可以根据需要调整 */
    cursor: pointer; /* 鼠标悬停时显示手型指示器 */
}

.jiejing {
    display: block;
    text-align: center;
    font-size: 12px; /* 文字描述的字体大小，可以根据需要调整 */
}







.jiejing2 {
    background-color: white; /* 设置背景颜色为白色 */
    overflow: hidden; /* 隐藏超出边框的内容 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px; /* 调整按钮的宽度*/ 
    height: 30px; /* 调整按钮的高度 */
}

.jiejing2 img {
    max-width: 100%; /* 设置图标最大宽度为80%，可根据需要调整 */
    max-height: 100%; /* 设置图标最大高度为80%，可根据需要调整 */
    border-radius: 5px; /* 设置图标的圆润边角，与按钮一致 */
    margin: auto; /* 使用auto将图像水平和垂直居中 */
}

.jiejing2:hover {
    background-color: #f0f0f0; /* 悬停时的背景色，可以根据需要调整 */
    cursor: pointer; /* 鼠标悬停时显示手型指示器 */
}

.jiejing2 {
    display: block;
    text-align: center;
    font-size: 12px; /* 文字描述的字体大小，可以根据需要调整 */
}






.jiejing3 {
    background-color: white; /* 设置背景颜色为白色 */
    overflow: hidden; /* 隐藏超出边框的内容 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px; /* 调整按钮的宽度*/ 
    height: 30px; /* 调整按钮的高度 */
}

.jiejing3 img {
    max-width: 100%; /* 设置图标最大宽度为80%，可根据需要调整 */
    max-height: 100%; /* 设置图标最大高度为80%，可根据需要调整 */
    border-radius: 5px; /* 设置图标的圆润边角，与按钮一致 */
    margin: auto; /* 使用auto将图像水平和垂直居中 */
}

.jiejing3:hover {
    background-color: #f0f0f0; /* 悬停时的背景色，可以根据需要调整 */
    cursor: pointer; /* 鼠标悬停时显示手型指示器 */
}

.jiejing3 {
    display: block;
    text-align: center;
    font-size: 12px; /* 文字描述的字体大小，可以根据需要调整 */
}







.menuBar {
    width: 30px; /* 调整按钮的宽度*/ 
    height: 30px; /* 调整按钮的高度 */
    background-color: greenyellow; /* 设置背景颜色为白色 */
    overflow: hidden; /* 隐藏超出边框的内容 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.menuBar img {
    max-width: 100%; /* 设置图标最大宽度为80%，可根据需要调整 */
    max-height: 100%; /* 设置图标最大高度为80%，可根据需要调整 */
    border-radius: 5px; /* 设置图标的圆润边角，与按钮一致 */
}

.menuBar:hover {
    background-color: #f0f0f0; /* 悬停时的背景色，可以根据需要调整 */
    cursor: pointer; /* 鼠标悬停时显示手型指示器 */
}

.menuBar {
    display: block;
    text-align: center;
    font-size: 12px; /* 文字描述的字体大小，可以根据需要调整 */
}










.iss-locator-button {
    /*position: absolute !important;*/
    /*top: 220px !important;*/
    /*left: 0px !important;*/
    width: 30px; /* 调整按钮的宽度*/ 
    height: 30px; /* 调整按钮的高度 */
    background-color: white; /* 设置背景颜色为白色 */
    border: 2px solid #ccc; /* 设置边框 */
    border-radius: 5px; /* 设置圆润的边角，可以根据需要调整数值 */
    overflow: hidden; /* 隐藏超出边框的内容 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.iss-locator-button img {
    max-width: 75%; /* 设置图标最大宽度为80%，可根据需要调整 */
    max-height: 75%; /* 设置图标最大高度为80%，可根据需要调整 */
    border-radius: 5px; /* 设置图标的圆润边角，与按钮一致 */
}

.iss-locator-button:hover {
    background-color: #f0f0f0; /* 悬停时的背景色，可以根据需要调整 */
    cursor: pointer; /* 鼠标悬停时显示手型指示器 */
}

.icon-description {
    display: block;
    text-align: center;
    font-size: 12px; /* 文字描述的字体大小，可以根据需要调整 */
}









.shiguangji {
    background-color: white; /* 设置背景颜色为白色 */
    overflow: hidden; /* 隐藏超出边框的内容 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.shiguangji img {
    max-width: 100%; /* 设置图标最大宽度为80%，可根据需要调整 */
    max-height: 100%; /* 设置图标最大高度为80%，可根据需要调整 */
    border-radius: 5px; /* 设置图标的圆润边角，与按钮一致 */
}

.shiguangji:hover {
    background-color: #f0f0f0; /* 悬停时的背景色，可以根据需要调整 */
    cursor: pointer; /* 鼠标悬停时显示手型指示器 */
}

.shiguangji {
    display: block;
    text-align: center;
    font-size: 12px; /* 文字描述的字体大小，可以根据需要调整 */
}





.leaflet-control-better-filelayer {
    background-color: aqua;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNzE0MTM2NDU3NzkyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEzODEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iODAiIGhlaWdodD0iODAiPjxwYXRoIGQ9Ik0wIDBoMTAyNHYxMDI0SDB6IiBmaWxsPSIjRkZGRkZGIiBmaWxsLW9wYWNpdHk9Ii4wMSIgcC1pZD0iMTM4MiI+PC9wYXRoPjxwYXRoIGQ9Ik0xODIuODU3MTQzIDczMS40Mjg1NzFhMzYuNTcxNDI5IDM2LjU3MTQyOSAwIDAgMSAzNi41NzE0MjggMzYuNTcxNDI5djM2LjU3MTQyOWg1ODUuMTQyODU4di0zNi41NzE0MjlhMzYuNTcxNDI5IDM2LjU3MTQyOSAwIDAgMSAzNi41NzE0MjgtMzYuNTcxNDI5aDczLjE0Mjg1N2EzNi41NzE0MjkgMzYuNTcxNDI5IDAgMCAxIDM2LjU3MTQyOSAzNi41NzE0Mjl2MTQ2LjI4NTcxNGEzNi41NzE0MjkgMzYuNTcxNDI5IDAgMCAxLTI5Ljk4ODU3MiAzNS45ODYyODZMOTE0LjI4NTcxNCA5NTAuODU3MTQzaC04MDQuNTcxNDI4YTM2LjU3MTQyOSAzNi41NzE0MjkgMCAwIDEtMzYuNTcxNDI5LTM2LjU3MTQyOXYtMTQ2LjI4NTcxNGEzNi41NzE0MjkgMzYuNTcxNDI5IDAgMCAxIDM2LjU3MTQyOS0zNi41NzE0MjloNzMuMTQyODU3eiBtMTguOTQ0LTY1OC4yODU3MTRsNS4wNDY4NTcgMC42NTgyODZjMTU0LjkxNjU3MSA3LjA5NDg1NyA0NDIuMjk0ODU3IDYwLjU2MjI4NiA0NDIuMjk0ODU3IDM2MC4wMDkxNDNoOTkuNDc0Mjg2YTE5LjM4Mjg1NyAxOS4zODI4NTcgMCAwIDEgMTcuNTU0Mjg2IDEwLjA5MzcxNCAxNi43NDk3MTQgMTYuNzQ5NzE0IDAgMCAxLTIuNTYgMTkuMDE3MTQzTDUzNy4wMTQ4NTcgNzE5LjI4Njg1N2EzNy43NDE3MTQgMzcuNzQxNzE0IDAgMCAxLTI3LjQyODU3MSAxMi4wNjg1NzIgMzcuODg4IDM3Ljg4OCAwIDAgMS0yNy43OTQyODYtMTEuNDEwMjg2TDI1NS4xMjIyODYgNDYyLjg0OGExNi44MjI4NTcgMTYuODIyODU3IDAgMCAxLTMuMjkxNDI5LTE5LjQ1NiAxOS4zODI4NTcgMTkuMzgyODU3IDAgMCAxIDE4LjA2NjI4Ni0xMC4yNGg5OC43NDI4NTd2LTE3Ljk5MzE0M2MtNS45OTc3MTQtMTUyLjcyMjI4Ni01Ni43NTg4NTctMjUwLjE0ODU3MS0xNzEuODg1NzE0LTMwNy41NjU3MTQtMTAuMTY2ODU3LTIuNTYtMTYuMDkxNDI5LTEyLjIxNDg1Ny0xMy4zMTItMjEuNTc3MTQzIDIuNzc5NDI5LTkuMjg5MTQzIDEzLjE2NTcxNC0xNC43NzQ4NTcgMjMuMzMyNTcxLTEyLjIxNDg1N0wyMDEuNzI4IDczLjE0Mjg1N3oiIGZpbGw9IiM1QTY2NzciIHAtaWQ9IjEzODMiPjwvcGF0aD48L3N2Zz4=);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    cursor: pointer;
}

.leaflet-control-better-filelayer input[type="file"] {
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}






























.leaflet-routing-container, .leaflet-routing-error {
    width: 320px;
    background-color: white;
    padding-top: 4px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.leaflet-control-container .leaflet-routing-container-hide {
    width: 32px;
    height: 32px;
}

.leaflet-routing-container h2 {
    font-size: 14px;
}

.leaflet-routing-container h3 {
    font-size: 12px;
    font-weight: normal;
}

.leaflet-routing-collapsible .leaflet-routing-geocoders {
    margin-top: 20px;
}

.leaflet-routing-alt, .leaflet-routing-geocoders, .leaflet-routing-error {
    padding: 6px;
    margin-top: 2px;
    margin-bottom: 6px;
    border-bottom: 1px solid #ccc;
    max-height: 320px;
    overflow-y: auto;
    transition: all 0.2s ease;
}

.leaflet-control-container .leaflet-routing-container-hide .leaflet-routing-alt, 
.leaflet-control-container .leaflet-routing-container-hide .leaflet-routing-geocoders {
    display: none;
}

.leaflet-bar .leaflet-routing-alt:last-child {
    border-bottom: none;
}

.leaflet-routing-alt-minimized {
    color: #888;
    max-height: 64px;
    overflow: hidden;
    cursor: pointer;
}

.leaflet-routing-alt table {
    border-collapse: collapse;
}

.leaflet-routing-alt tr:hover {
    background-color: #eee;
    cursor: pointer;
}

.leaflet-routing-alt::-webkit-scrollbar {
    width: 8px;
}

.leaflet-routing-alt::-webkit-scrollbar-track {
    border-radius: 2px;
    background-color: #eee;
}

.leaflet-routing-alt::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background-color: #888;
}

.leaflet-routing-icon {
    background-image: url('leaflet.routing.icons.png');
    -webkit-background-size: 240px 20px;
    background-size: 240px 20px;
    background-repeat: no-repeat;
    margin: 0;
    content: '';
    display: inline-block;
    vertical-align: top;
    width: 20px;
    height: 20px;
}

.leaflet-routing-icon-continue         { background-position: 0 0; }
.leaflet-routing-icon-sharp-right      { background-position: -20px 0; }
.leaflet-routing-icon-turn-right       { background-position: -40px 0; }
.leaflet-routing-icon-bear-right       { background-position: -60px 0; }
.leaflet-routing-icon-u-turn           { background-position: -80px 0; }
.leaflet-routing-icon-sharp-left       { background-position: -100px 0; }
.leaflet-routing-icon-turn-left        { background-position: -120px 0; }
.leaflet-routing-icon-bear-left        { background-position: -140px 0; }
.leaflet-routing-icon-depart           { background-position: -160px 0; }
.leaflet-routing-icon-enter-roundabout { background-position: -180px 0; }
.leaflet-routing-icon-arrive           { background-position: -200px 0; }
.leaflet-routing-icon-via              { background-position: -220px 0; }

.leaflet-routing-geocoders div {
    padding: 4px 0px 4px 0px;
}

.leaflet-routing-geocoders input {
    width: 303px;
    width: calc(100% - 4px);
    line-height: 1.67;
    border: 1px solid #ccc;
    box-sizing: border-box;    /*展现导航取消按钮*/
}

.leaflet-routing-geocoders button {
    font: bold 18px 'Lucida Console', Monaco, monospace;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
    margin: 0;
    margin-right: 3px;
    float: right;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.leaflet-routing-add-waypoint:after {
    content: '+';
}

.leaflet-routing-reverse-waypoints:after {
    font-weight: normal;
    content: '\21c5';
}

.leaflet-routing-geocoders button:hover {
    background-color: #eee;
}

.leaflet-routing-geocoders input,.leaflet-routing-remove-waypoint,.leaflet-routing-geocoder {
    position: relative;
}

.leaflet-routing-geocoder-result {
    font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
    position: absolute;
    max-height: 0;
    overflow: hidden;
    transition: all 0.5s ease;
    z-index: 1000; /* Arbitrary, but try to be above "most" things. */
    visibility: hidden;
}

.leaflet-routing-geocoder-result table {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 0 0 4px 4px;
    background-color: white;
    cursor: pointer;
}

.leaflet-routing-geocoder-result-open {
    max-height: 8000px;
    visibility: visible;
}

.leaflet-routing-geocoder-selected, .leaflet-routing-geocoder-result tr:hover {
    background-color: #eee;
}

.leaflet-routing-geocoder-no-results {
    font-style: italic;
    color: #888;
}

.leaflet-routing-remove-waypoint {
    background-color: transparent;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.leaflet-routing-remove-waypoint:after {
    position: absolute;
    display: block;
    width: 15px;
    height: 1px;
    z-index: 1;
    right: 1px;
    top: 4px;
    bottom: 0;
    margin: auto;
    padding: 2px;
    font-size: 18px;
    font-weight: bold;
    content: "\00d7";
    text-align: center;
    cursor: pointer;
    color: #ccc;
    background: white;
    padding-bottom: 16px;
    margin-top: -16px;
    padding-right: 4px;
    line-height: 1;
}

.leaflet-routing-remove-waypoint:hover {
    color: black;
}

.leaflet-routing-instruction-distance {
    width: 48px;
}

.leaflet-routing-collapse-btn {
    position: absolute;
    top: 0;
    right: 6px;
    font-size: 24px;
    color: #ccc;
    font-weight: bold;
}

.leaflet-routing-collapse-btn:after {
    content: '地图导航  \00d7';
}

.leaflet-routing-container-hide .leaflet-routing-collapse-btn {
    position: relative;
    left: 4px;
    top: 4px;
    display: block;
    width: 26px;
    height: 23px;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAAAXNSR0IArs4c6QAAASpJREFUSEvtlSFTw0AUhPfdj6hEcOeSODw4NDN4ikahaA4DMzSpQvEL8HQqccXX0QMESX5KH9POACEcyWtgqEns7e2X27dzR/jF92jiXcXqOMyHfYkNSUQ+jds+2wKpGUA9Jj6PsjRp8moP03YGYOcDwHQYFsO7OmAr2FzbMQEHFeMFEUdBlj7/BFwb5oy9BuPUb0gvQX4VEIh962vBnLEnYNw0RDUJ8qR66tUWMcwZuw/GfVMJVuvMo7BI46pWBHvSA8NQryLQp+gozJPb8h4RzFt9bb/MhRmXUZFc/Hkbl4aug5Vy3ezM5mawJ2kdsZqWda0K4nQ8BUgE7GDvCXwryEZjXA4eavEgKU2UjWp1jSeTtEzyI95bvxpjB5NE2c2s9lGURPjvbXwDFiK8HF5awzAAAAAASUVORK5CYII=');
}

.leaflet-routing-container-hide .leaflet-routing-collapse-btn:after {
    content: none;
}

.leaflet-top .leaflet-routing-container.leaflet-routing-container-hide {
/*    margin-top: 10px !important;*/
/*修改按钮键距离*/
    margin-top: 2px !important;
    margin-bottom: 2px !important;
}
.leaflet-right .leaflet-routing-container.leaflet-routing-container-hide {
    margin-right: 10px !important;
}
.leaflet-bottom .leaflet-routing-container.leaflet-routing-container-hide {
    margin-bottom: 10px !important;
}
.leaflet-left .leaflet-routing-container.leaflet-routing-container-hide {
    margin-left: 10px !important;
}

@media only screen and (max-width: 640px) {
    .leaflet-routing-container {
        margin: 0 !important;
        padding: 0 !important;
        width: 100%;
        height: 100%;
    }
}


.leaflet-routing-container-hide .leaflet-routing-collapse-btn {
    top: 0px;
    left: 1px;
}

/** { box-sizing: border-box; }     展现导航取消按钮*/










/*水波纹*/

.leaflet-pulsing-icon {
    border-radius: 100%;
    box-shadow: 1px 1px 8px 0 rgba(0,0,0,0.75);
}

.leaflet-pulsing-icon:after {
    content: "";
    border-radius: 100%;
    height: 300%;
    width: 300%;
    position: absolute;
    margin: -100% 0 0 -100%;

}

@keyframes pulsate {
    0% {
        transform: scale(0.1, 0.1);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
    50% {
        opacity: 1;
        -ms-filter: none;
        filter: none;
    }
    100% {
        transform: scale(1.2, 1.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
}










.leaflet-control-velocity {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 0 5px;
  margin: 0 !important;
  color: #333;
  font: 11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}

.velocity-overlay {
  position: absolute;
  z-index: 1;
}





/*********************************************************
**                                                      **
**       Leaflet Plugin "Leaflet.PolylineMeasure"       **
**       File "Leaflet.PolylineMeasure.css"             **
**       Date: 2023-05-26                               **
**                                                      **
*********************************************************/


a.polyline-measure-controlOnBgColor, a.polyline-measure-controlOnBgColor:hover {
    background-color: #8f8;
}

.polyline-measure-unicode-icon {
    font-size: 19px;
    font-weight: bold;
}

a.polyline-measure-clearControl:active {
    background-color: #f88;
}

.polyline-measure-unicode-icon, .polyline-measure-clearControl, #unitControlId
{
    cursor: pointer;
}

.polyline-measure-tooltip {
    font: 10px Arial, Helvetica, sans-serif;
    line-height: 10px;
    background-color: rgba(255, 255, 170, 0.7);
    border-radius: 3px;
    box-shadow: 1px 1px 4px #888;
    margin: 0;
    padding: 2px;
    width: auto !important;
    height: auto !important;
    white-space: nowrap;
    text-align: right;
}

.polyline-measure-tooltip-end {
    background-color: rgba(255, 255, 40, 0.7);
}

.polyline-measure-tooltip-total {
    color: #006;
    font-weight: bold;
}

.polyline-measure-tooltip-difference {
    color: #060;
    font-style: italic;
}

.polyline-measure-popupTooltip {
    font: 11px Arial, Helvetica, sans-serif;
    line-height: 11px;
}




























.pano-canvas {
  position: absolute !important;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 0;
  z-index: 1000;
  display: none;
  /*  border: 2px solid black; 添加黑色边框 */
}

.pegman-control {
  width: 30px;
  height: 30px;
  background-color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  cursor: grab;
}

.pegman-control.dragging {
  cursor: grabbing;
}

.pegman-control .pegman-button {
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url("https://t66y.com.cn/leaflet/maps.gstatic.com/api-3/cb_scout5.png");
  background-position: -145px -23px;
  background-repeat: no-repeat;
}

.pegman-control:hover .pegman-button {
  background-position: -145px -75px;
}

.pegman-control.dragging .pegman-button {
  background-position: -145px -50px;
}

.pegman-control.active .pegman-button {
  background-position: -145px -50px;
}

.pegman-control.active .pegman-button:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: ' ';
  display: block;
  z-index: -1;
  opacity: 0.5;
  background: linear-gradient(#d1d1d1, #F5F5F5, #fbfbfb);
}

.pegman-control.streetview-layer-active {
  background: linear-gradient(#d1d1d1, #F5F5F5, #fbfbfb);
  background-clip: padding-box;
}

.pegman {
  position: absolute;
  z-index: 9999999;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.pegman::before {
  position: relative;
  z-index: 5;
  display: block;
  width: 19px;
  height: 32px;
  content: ' ';
  background-image: url("https://t66y.com.cn/leaflet/maps.gstatic.com/api-3/cb_scout5.png");
  background-repeat: no-repeat;
  background-position: -112px -4px;
}

.pegman::after {
  position: absolute;
  width: 22px;
  height: 22px;
  content: ' ';
  bottom: -18px;
  left: 50%;
  margin-left: -11px;
  z-index: 4;
  display: block;
  overflow: visible;
  visibility: visible;
  border: 1px dotted rgba(51, 51, 51, 0.9);
  border-radius: 30px;
  background-color: rgba(105, 185, 70, 0.7);
  box-shadow: 3px 10px 25px rgba(105, 185, 70, 0.9);
}

.pegman.active {
  opacity: 1 !important;
}

.pegman.active.left::before {
  background-position: -119px -55px;
}

.pegman.active.right::before {
  background-position: -114px -158px;
}

.pegman.active.top::before {
  background-position: -112px -4px;
}

.pegman.active.bottom::before {
  background-position: -112px -4px;
}

.pegman.dropped {
  opacity: 1.00;
}

.pegman.dropped::before {
  background-position: -112px -4px;
}

.pegman-marker {
  background: transparent url("https://t66y.com.cn/leaflet/maps.gstatic.com/api-3/cb_scout5.png") no-repeat scroll 0 -364px;
}

.pegman-marker:not(.leaflet-drag-target) {
  transition: transform .2s linear;
}

.leaflet-left .pegman-control:hover .pegman-button {
  transform: scale(-1, 1);
}

/*Pegman v3 default theme*/
.leaflet-pegman-v3-default .pegman-control {
  width: 40px;
  height: 40px;
}

.leaflet-pegman-v3-default .pegman-control .pegman-button {
  background-image: url("maps.gstatic.com/pegman_v3/runway-2x.png");
  background-position: -3px -55px;
  background-size: 45px;
}

.leaflet-pegman-v3-default .pegman-control.streetview-layer-active .pegman-button {
  background-position: -3px -7px;
}

.leaflet-pegman-v3-default .pegman-control:hover .pegman-button {
  background-position: -3px -152px;
}

.leaflet-pegman-v3-default .pegman-control.dragging .pegman-button {
  background-position: -3px -104px;
}

/*Pegman v3 small theme*/
.leaflet-pegman-v3-small .pegman-control {
  width: 30px;
  height: 30px;
}

.leaflet-pegman-v3-small .pegman-control .pegman-button {
  background-image: url("data:image/png;base64,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");
  background-position: 2px -27px;
  background-size: 25px;
}

.leaflet-pegman-v3-small .pegman-control.streetview-layer-active .pegman-button {
  background-position: 2px 0;
}

.leaflet-pegman-v3-small .pegman-control:hover .pegman-button {
  background-position: 2px -79px;
}

.leaflet-pegman-v3-small .pegman-control.dragging .pegman-button {
  background-position: 2px -53px;
}

.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-small .pegman-control {
  width: 26px;
  height: 26px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
}

.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-small .pegman-control .pegman-button {
  background-position: 0 -29px;
}

.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-small .pegman-control:hover .pegman-button {
  background-position: 0 -81px;
}

.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-default .pegman-control {
  width: 36px;
  height: 36px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
}

.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-default .pegman-control .pegman-button {
  background-position: -3px -53px;
  background-size: 42px;
}

.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-default .pegman-control:hover .pegman-button {
  background-position: -3px -143px;
}











/*打赏css*/
.list, .list li, .list-left li {
    list-style: none;
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}
.pos-f {
    position: fixed;
}
.left-100 {
    width: 100%;
    height: 100%;
}
.blur {
    -webkit-filter: blur(3px);
    filter: blur(3px);
}
.tr3 {
    transition: all .3s;
}
/*#DonateText {
    position: fixed;
    font-size: 12px;
    width: 70px;
    height: 70px;
    line-height: 70px;
    color: #fff;
    background: #ffd886 url(https://t66y.com.cn/leaflet/images/like.svg) no-repeat center 10px;
    background-size: 20px;
    border-radius: 35px;
    text-align: center;
    left: calc(50% - 150px);
    top: calc(50% - 60px);
    z-index: -1;
    transform: rotatez(-15deg );
}*/
#donateBox {
/*  left: calc(50% - 115px);
    top: calc(50% - 15px);*/
    right: 100px;
    bottom: 16px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    width: auto;
    height: 28px;
    float: left;
    z-index: 10000000;
}
#donateBox li {
    width: 74px;
    float: left;
    text-align: center;
    border-left: 1px solid #ddd;
    background: no-repeat center center;
    background-color: rgba(204, 217, 220,0.1);
    background-size: 45px;
    transition: all .3s;
    cursor: pointer;
    overflow: hidden;
    line-height: 600px;
    height: 28px;
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    opacity: 1;
}
#donateBox li:hover {
    background-color: rgba(204, 217, 220,0.3);
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
    opacity: 1;
}
#donateBox>li:first-child {
    border-width: 0;
}
#donateBox a {
    display: block;
}
#donateBox #PayPal {
    background-image: url(https://t66y.com.cn/leaflet/images/paypal.svg);
}
#donateBox #AliPay {
    background-image: url(https://t66y.com.cn/leaflet/images/alipay.svg);
}
#donateBox #WeChat {
    background-image: url(https://t66y.com.cn/leaflet/images/wechat.svg);
}
#QRBox {
    top: 0;
    left: 0;
    z-index: 10000000;
    background-color: rgba(255,255,255,0.3);
    display: none;
    perspective: 400px;
}
#MainBox {
    cursor: pointer;
    position: absolute;
    text-align: center;
    width: 200px;
    height: 200px;
    left: calc(50% - 100px);
    top: calc(50% - 100px);
    background: #fff no-repeat center center;
    background-size: 190px;
    border-radius: 6px;
    box-shadow: 0px 2px 7px rgba(0,0,0,0.3);
    opacity: 0;
    transition: all 1s ease-in-out;
    transform-style: preserve-3d;
    transform-origin: center center;
    overflow: hidden;
}
/*#github {
    width: 24px;
    height: 24px;
    left: calc(50% + 96px);
    top: calc(50% - 30px);
    background: no-repeat center center url(images/github.svg);
    background-size: contain;
    opacity: 0.3;
    transform: rotatez(15deg );
}*/
/*[data-footnote] {
    position: relative;
    overflow: hidden;
}
[data-footnote]:hover {
    overflow: visible;
}
[data-footnote]::before, [data-footnote]::after {
    position: absolute;
    transition: all .3s;
    transform: translate3d(-50%,0,0);
    opacity: 0;
    left: 37px;
    z-index: 10;
}
[data-footnote]::before {
    content: attr(data-footnote);
    border-radius: 6px;
    background-color: rgba(100,100,100,0.8);
    color: #fff;
    height: 24px;
    line-height: 24px;
    padding: 0 6px;
    font-size: 12px;
    white-space: nowrap;
    top: -24px;
    left: 37px;
}
[data-footnote]::after {
    content: '';
    border: 5px solid #333;
    border-color: rgba(100,100,100,0.8) transparent transparent transparent;
    top: 0;
    left: 37px;
}
[data-footnote]:hover::before,[data-footnote]:hover::after {
    opacity: 1;
}
[data-footnote]:hover::before,[data-footnote]:hover::after {
    transform: translate3d(-50%,-7px,0);
}*/

#MainBox.showQR {
    opacity: 1;
    animation-name:showQR;
    animation-duration:3s;
    animation-timing-function:ease-in-out;
    animation-iteration-count:1;
    animation-fill-mode:forwards;
    -webkit-animation:showQR 3s ease-in-out 0s 1 normal forwards;
}
@keyframes showQR {
    from {
        transform: rotateX(90deg);
    }
    8% {
        opacity: 1;
        transform: rotateX(-60deg);
    }
    18% {
        opacity: 1;
        transform: rotateX(40deg);
    }
    34% {
        opacity: 1;
        transform: rotateX(-28deg);
    }
    44% {
        opacity: 1;
        transform: rotateX(18deg);
    }
    58% {
        opacity: 1;
        transform: rotateX(-12deg);
    }
    72% {
        opacity: 1;
        transform: rotateX(9deg);
    }
    88% {
        opacity: 1;
        transform: rotateX(-5deg);
    }
    96% {
        opacity: 1;
        transform: rotateX(2deg);
    }
    to {
        opacity: 1;
    }
}
#MainBox.hideQR {
    opacity: 1;
    animation-name:hideQR;
    animation-duration:0.5s;
    animation-timing-function:ease-in-out;
    animation-iteration-count:1;
    animation-fill-mode:forwards;
    -webkit-animation:hideQR 0.5s ease-in-out 0s 1 normal forwards;
}
@keyframes hideQR {
    from {
    }
    20%,50% {
        transform: scale(1.08,1.08);
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: rotateZ(40deg) scale(0.6,0.6);
    }
}












/*缩放层级CSS*/
.zoomlevel-custom {
    cursor: pointer;
    display: flex;
    justify-content: center; /* 水平居中 */
    align-items: center; /* 垂直居中 */
    text-align: center; /* 文字居中 */
}














/*geoman颜色选择器*/
#color-picker-container {
    position: absolute;
    top: 10px;
    right: 80px;
    z-index: 1000;
    background: white;
    padding: 2px;
    border-radius: 5px;
    box-shadow: 0 2px rgba(0, 0, 0, 0.2);
    display: none; /* 初始状态隐藏 */
}
#color-picker {
    width: 20px;
    height: 20px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 5px;
    border: 1px solid #000;
    background-color: #00CCFF;
}
#color-picker option {
    width: 20px;
    height: 20px;
}
/* 保持选项在悬停时的背景颜色 */
#color-picker option:hover {
    background-color: inherit;
}
/* 自定义下拉菜单选项的样式 */
option {
    background-color: transparent;
    color: black;
}
/* 鼠标悬停时保持选项颜色不变 */
select option:hover {
    background-color: initial;
}









/*添加自定义图源*/
.control {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: white;
    padding: 10px;
    z-index: 1000;
    border: 1px solid #ccc;
}
.control input, .control select {
    margin-bottom: 10px;
}
#tileLayerModal {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    padding: 20px;
    border: 1px solid #ccc;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    display: none;
    z-index: 1001;
}
#tileLayerModal h3 {
    margin-top: 0;
}
#tileLayerModal button {
    margin-top: 10px;
}
#tileLayerModal .close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
}

/* 修复输入框边框不可见的问题 */
#tileLayerModal input, #tileLayerModal textarea, #tileLayerModal select {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid #ccc; /* 确保边框颜色一致 */
    border-radius: 4px;
    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.1); /* 增加内阴影 */
    resize: vertical; /* 允许垂直调整大小 */
    font-family: inherit;
    font-size: 13px;
}

/* 添加水平线样式 */
.divider {
    border-bottom: 1px solid #ccc;
    margin: 10px 0;
}









/*ESRI历史影像整合到一个下拉里面*/
.dropdown-container {
    display: inline-block;
    margin-left: 8px;
}
select {
    padding: 2px;
    font-size: 14px;
}




/*leaflet1.9.4版本里面消除白色的边框线条*/
/*.leaflet-container img.leaflet-tile {
  mix-blend-mode: normal;
  width: 257px !important;
  height: 257px !important;
}*/



/*调整按钮之间的间隙，默认是5px*/
.leaflet-control {
  margin-top: 2px !important;  /* 缩小按钮上方的间隙 */
  margin-bottom: 2px !important;  /* 缩小按钮下方的间隙 */
}
















/*全球高清照片--私房菜*/
/* 为当前功能的弹窗添加特定类名，避免影响其他弹窗 */
.photo-marker-popup .leaflet-popup-content-wrapper {
    min-width: 400px;
    min-height: 300px;
    background: #f9f9f9; /* 浅灰背景 */
    border-radius: 10px; /* 圆角 */
    border: 2px solid #4a90e2; /* 蓝色边框 */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* 更强的阴影 */
}
.photo-marker-popup .leaflet-popup-content {
    margin: 15px; /* 增大内边距 */
    max-height: 400px;
    overflow-y: auto; /* 只允许垂直滚动 */
    overflow-x: hidden; /* 禁止水平滚动 */
    font-family: 'Arial', sans-serif; /* 自定义字体 */
    width: 100%; /* 确保内容宽度适应容器 */
    box-sizing: border-box; /* 包含padding在内计算宽度 */
}
.photo-marker-popup .leaflet-popup-content h3 {
    color: #4a90e2; /* 标题蓝色 */
    margin: 0 0 10px 0;
    font-size: 18px;
}
.photo-marker-popup .leaflet-popup-content img {
    max-width: 100%; /* 图片宽度不超过容器 */
    height: auto;
    cursor: pointer;
    display: block;
    border: 1px solid #ddd; /* 图片边框 */
    border-radius: 5px; /* 图片圆角 */
    width: 100%; /* 强制图片宽度适应容器 */
    box-sizing: border-box; /* 包含边框在内计算宽度 */
}
.photo-marker-popup .leaflet-popup-tip {
    background: #4a90e2; /* 提示箭头颜色与边框一致 */
}
/* 大图容器样式 */
#largeImageContainer {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    z-index: 1000;
    justify-content: center;
    align-items: center;
}
#largeImage {
    max-width: 90%;
    max-height: 90%;
}
#closeLargeImage {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: #fff;
    border: none;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}
#closeLargeImage:hover {
    background: #ddd;
}
/* 美化marker样式 */
.custom-marker {
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}










/*百度影像弹窗*/
#BaiduPopup {
    display: none; 
    position: fixed; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    width: 80%; 
    height: 80%; 
    background: #339999;
    z-index: 9990;
    box-shadow: 0 5px 15px rgba(0,0,0,.5);
    border-radius: 16px;
    overflow: hidden;
    padding: 2px;
}

#BaiduPopup iframe {
    width: 100%; 
    height: 100%; 
    border: 4px solid black;
    border-radius: 16px;
    box-sizing: border-box;
}

#BaiduPopup button {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    background-color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 16px;
}








/* 哨兵-1  SAR 弹窗样式 */
.leaflet-popup-content {
/*    min-width: 320px;*/
    max-height: 400px;
    overflow-y: auto;
    font-size: 14px;
}
.leaflet-popup-content ul {
    margin: 5px 0;
    padding-left: 20px;
}
.leaflet-popup-content h5 {
    margin: 10px 0 5px;
}
.leaflet-popup-content li {
    margin-bottom: 5px;
}
/* 哨兵-2 日新图 弹窗样式 */
.popup-content { max-height: 400px; overflow-y: auto; font-size: 14px; }
.download-link { margin-left: 10px; color: blue; text-decoration: underline; cursor: pointer; }
.popup-section { margin-bottom: 15px; }
.popup-section h4 { margin: 10px 0 5px; }
.popup-section ul { margin: 0; padding-left: 20px; }
/* 清除默认列表样式 */
.selection-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.selection-item {
  margin-bottom: 10px;
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  cursor: pointer;
  background-color: #ffffff;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.selection-item:hover {
  background-color: #f8f9fa;
  border-color: #bbbbbb;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.input-form {
  padding: 14px;
  background-color: #ffffff;
  border-radius: 6px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.input-form label {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
  color: #444;
  font-size: 13.5px;
}
.input-form input {
  width: 100%;
  padding: 9px 11px;
  margin-bottom: 12px;
  border: 1px solid #cccccc;
  border-radius: 5px;
  font-size: 13.5px;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.input-form input:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.25);
}
.input-form button {
  width: 100%;
  padding: 10px;
  background-color: #4a90e2;
  color: #ffffff;
  border: none;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}
.input-form button:hover {
  background-color: #357abd;
}
.input-form button:active {
  transform: translateY(1px);
}










/*右键复制坐标*/
.context-menu {
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    padding: 10px;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    font-family: Arial, sans-serif;
    font-size: 14px;
}
.context-menu p {
    margin: 5px 0;
    white-space: pre;
}
.context-menu .coord-line {
    cursor: pointer;
    padding: 2px 5px;
    margin: 5px 0;
}
.context-menu .coord-line:hover {
    background-color: #f0f0f0;
}
.context-menu .coord-label {
    font-weight: bold;
}
.context-menu .coord-value {
    margin-left: 10px;
}
.copy-tooltip {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    z-index: 1001;
    pointer-events: none;
}
#note {
    font-size: 12px;
    color: #555;
    margin-top: 10px;
}



/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
/*leaflet 1.9.4 没有白线*/
.leaflet-container img.leaflet-tile {
    max-width: none !important;
    max-height: none !important;
    width: auto;
    padding: 0;
    mix-blend-mode: unset;
}







/*历史影像自建*/
.modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 20px; z-index: 1000; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); border-radius: 16px;}
.time-slider-container { position: absolute; top: 30px; left: 60px; background: rgba(255, 255, 255, 0.9); padding: 1px; z-index: 10000; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); display: flex; align-items: center; border-radius: 8px; }
.time-slider { width: 100px; margin: 0 10px; }
.time-label { display: block; text-align: center; margin-bottom: 10px; color: red; }
.modal img, .modal canvas { max-width: 80vw; max-height: 80vh; }
.password-modal { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.password-input { padding: 5px; width: 200px; }
.password-error { color: red; display: none; }




/*行政区划css*/
#geocontrol {
  display: none;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  padding: 10px;
  border-radius: 4px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  z-index: 1000;
}
#geocontrol select { margin-right: 10px; width: 100px; }
#GeodownloadBtn {
  padding: 5px 10px;
  background: #4CAF50;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
#GeodownloadBtn:disabled { background: #ccc; cursor: not-allowed; }






/*vocechat聊天插件*/
/* 默认隐藏挂件（防止未加载完成前显示） */
#VOCECHAT_WIDGET {
  display: none;
}
/* 仅在桌面设备显示并居中 */
@media (min-width: 769px) {
  #VOCECHAT_WIDGET {
    display: block;
    position: fixed;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 99999;
  }
}





/* 添加在线客服链接 */
.kefu-img {
    position: fixed;
    bottom: 10px; /* 距离底部 */
    left: 50%;    /* 居中基准 */
    transform: translateX(calc(-50% - 250px)); /* 向左偏移70px */
    width: 60px;
    height: auto;
    cursor: pointer;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    transition: transform 0.2s ease;
}
.kefu-img:hover {
    transform: translateX(calc(-50% - 250px)) scale(1.5);
}
.kefu-img:active {
    transform: translateX(calc(-50% - 250px)) scale(0.95);
}
/* 移动端隐藏 */
@media only screen and (max-width: 768px) {
    .kefu-img {
        display: none;
    }
}




/*加载闪电*/
.flash {
  width: 10px; height: 10px;
  background: rgba(255, 204, 0, 0.9);
  border-radius: 50%;
  box-shadow: 0 0 15px 10px rgba(255, 204, 0, 0.6);
}











/*今日影像*/
#jl1mosaic-loading {
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:#000c;color:#fff;padding:12px 25px;border-radius:8px;
  display:none;z-index:999;
}
#jl1mosaic-results {
  position:absolute;top:10px;right:10px;background:#fff;padding:10px;border-radius:8px;
  box-shadow:0 0 15px #0003;z-index:999;max-height:80vh;overflow:auto;
  width:130px;display:none;font-size:12px;
}
.jl1mosaic-result-item {
  padding:6px;border-bottom:1px solid #eee;cursor:pointer;
}
.jl1mosaic-result-item:hover {background:#eef;}
.jl1mosaic-result-item img {width:100%;border-radius:4px;}
.jl1mosaic-selected {background:#def;}
.jl1mosaic-popup-content {font-size:14px;}
.jl1mosaic-popup-content label {display:block;margin-top:6px;font-weight:600;}
.jl1mosaic-popup-content input[type="date"],
.jl1mosaic-popup-content input[type="range"],
.jl1mosaic-popup-content button {
  width:100%;padding:6px;margin-top:2px;box-sizing:border-box;border-radius:4px;border:1px solid #ccc;
}
.jl1mosaic-popup-content button {
  background:#4a90e2;color:#fff;border:none;cursor:pointer;margin-top:8px;
}
.jl1mosaic-popup-content button:hover {background:#357abd;}
/* 移动端适配 */
@media (max-width:480px){
  .jl1mosaic-popup-content {width:160px;}
}










/*坐标转换*/
#CoordTrans-panel {
  display: none;
  position: absolute;
  top: 75px; right: 10px;
  width: 34%;
  max-width: 1150px;
  max-height: 88vh;
  background: rgba(255,255,255,0.98);
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.35);
  z-index: 800;
  overflow: hidden;
  backdrop-filter: blur(10px);
}
.CoordTrans-panel-header {
  padding: 15px 24px;
  background: #1976d2;
  color: #fff;
  font-size: 19px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 12px 12px 0 0;
}
.CoordTrans-panel-body {
  padding: 24px;
  max-height: calc(88vh - 80px);
  overflow-y: auto;
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}
.CoordTrans-input-area, .CoordTrans-result-area { flex: 1; min-width: 480px; }
textarea { width: 50%; height: 160px; padding: 12px; font-size: 14px; border: 1px solid #ddd; border-radius: 6px; }
/*input, select, button, textarea { padding: 10px; border-radius: 6px; border: 1px solid #ccc; box-sizing: border-box; }*/
button { cursor: pointer; font-weight: 500; }
.CoordTrans-btn-primary { background:#1976d2; color:#fff; border:none; }
.CoordTrans-btn-muted { background:#f8f9fa; border:1px solid #ddd; }
table { width:100%; border-collapse: collapse; font-size: 13px; margin-top: 12px; }
th, td { border: 1px solid #e0e0e0; padding: 10px; text-align: left; vertical-align: middle; }
th { background:#f0f7ff; font-weight: 600; }
.CoordTrans-copyable { cursor: pointer; color:#1976d2; font-weight: 600; }
.CoordTrans-copyable:hover { text-decoration: underline; }
.CoordTrans-proj-simple { font-family: Consolas, monospace; color: #2e7d32; font-weight: 600; }
#CoordTrans-copied {
  position:fixed; top:50vh; left:50%; transform:translate(-50%,-50%);
  background:rgba(0,0,0,0.9); color:#fff; padding:12px 18px; border-radius:8px;
  display:none; z-index:10000; font-size:14px;
}








/*geoman实时测量*/
.geoman-measurement-tooltip {
  background: rgba(0,0,0,0.75);
  color: #fff;
  border: none;
  padding: 4px 8px;
}









/* 只针对图层控件control加流光效果 */
.leaflet-control-layers {
  position: relative;
}
.leaflet-control-layers::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
/*      background: linear-gradient(
    120deg,
    transparent 0%,
    #00f6ff 25%,
    #00ff85 50%,
    #00f6ff 75%,
    transparent 100%
  );*/
  background: linear-gradient(90deg, 
    #ff0000, #ff8000, #ffff00, #80ff00, 
    #00ff00, #00ff80, #00ffff, #0080ff, 
    #0000ff, #8000ff, #ff00ff, #ff0080, 
    #ff0000);
  background-size: 2300% 2300%;
  animation: leafletGlow 3s linear infinite;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 2px;
}

@keyframes leafletGlow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 300% 50%; }
}

/* 如果你想要展开后的列表也带一点效果（可选） */
.leaflet-control-layers-expanded {
  /* 可以再加强背景或阴影 */
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}















/* 街景容器：默认隐藏，激活时全屏覆盖 */
#streetview-container {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: #000;
    z-index: 10000;
}

/* Iframe：充满容器 */
#streetview-frame {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* 关闭按钮：悬浮在左上角 */
#close-btn {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 36px;
    height: 36px;
    background: rgba(72, 221, 34, 1);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    font-size: 24px;
    line-height: 34px;
    text-align: center;
    cursor: pointer;
    z-index: 10000;
    user-select: none;
}
#close-btn:hover { background: #ff4d4f; border-color: transparent; }


















/* 卫星数据集及DEM查询 */
/* 查询参数面板 - 左侧显示 */
/* 查询参数面板 - 左侧显示 */
.query-panel {
    position: absolute;
    top: 20px;
    left: 60px;
    width: 420px;
    background: rgba(15, 25, 35, 0.96);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    color: #f5f5f5;
    box-shadow: 0 12px 28px rgba(0,0,0,0.5);
    z-index: 1000;
    display: none;
    flex-direction: column;
    overflow: hidden;
    border-left: 4px solid #2ecc71;
    font-size: 0.8rem;
    transition: all 0.2s ease;
}
.query-panel.visible { display: flex; }
.panel-header {
    padding: 12px 16px;
    background: #0a1a1f;
    font-weight: bold;
    border-bottom: 1px solid #2ecc71;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: move;
}
.panel-content {
    padding: 14px;
    overflow-y: auto;
    max-height: 70vh;
}
.filter-group { margin-top: 12px; }
.filter-group input:not([type="checkbox"]),
.filter-group select {
    background: #2c3e50;
    border: 1px solid #2ecc71;
    color: white;
    border-radius: 20px;
    padding: 6px 10px;
    margin: 4px 0 8px 0;
    width: 100%;
    font-size: 0.75rem;
}
.filter-group input[type="date"] {
    background: #2c3e50;
    border: 1px solid #2ecc71;
    color: white;
    border-radius: 20px;
    padding: 6px 10px;
    margin: 4px 0 8px 0;
    width: 100%;
    font-size: 0.75rem;
    font-family: inherit;
}
.filter-group input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
}
.filter-group input[type="checkbox"] {
    width: auto !important;
    margin: 0 6px 0 0 !important;
    vertical-align: middle;
}
.filter-group label {
    font-size: 0.7rem;
    opacity: 0.9;
    display: block;
    margin-bottom: 4px;
}
.date-row { display: flex; gap: 8px; }
.date-row input { flex: 1; cursor: pointer; }
.cloud-slider { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cloud-slider input { flex: 1; margin-bottom: 0; }
.dataset-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0; }
.dataset-row label { display: flex; align-items: center; gap: 5px; font-size: 0.75rem; cursor: pointer; }
.polar-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0; padding: 8px; background: rgba(0,0,0,0.3); border-radius: 12px; }
.polar-row label { font-size: 0.7rem; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.info-note { font-size: 0.65rem; opacity: 0.6; margin-top: 10px; padding-top: 8px; border-top: 1px solid #3a5a6e; }

.esa-s1-filters {
    margin-top: 12px;
    padding: 8px;
    background: rgba(0,0,0,0.35);
    border-radius: 16px;
    border-left: 2px solid #f39c12;
    display: none;
}
.esa-s1-filters.visible { display: block; }
.product-type-group { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.product-type-group label { font-size: 0.7rem; display: inline-flex; align-items: center; gap: 4px; }
.orbit-group { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 8px; }
.orbit-group label { font-size: 0.7rem; display: inline-flex; align-items: center; gap: 5px; }
.polarization-group { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.polarization-group label { font-size: 0.7rem; display: inline-flex; align-items: center; gap: 5px; }
.acquisition-mode-group { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.acquisition-mode-group label { font-size: 0.7rem; display: inline-flex; align-items: center; gap: 5px; }

.dem-section {
    margin-top: 15px;
    background: rgba(0,0,0,0.4);
    border-radius: 16px;
    padding: 10px;
    border-left: 3px solid #f39c12;
}
.dem-section h5 {
    margin-bottom: 8px;
    color: #f39c12;
    font-size: 0.75rem;
}
.btn-dem {
    background: #8e44ad;
    margin-top: 5px;
    width: 100%;
}
.btn-dem:hover { background: #9b59b6; }
.dem-status {
    font-size: 0.7rem;
    margin-top: 6px;
    text-align: center;
    color: #aaa;
}

.panel-footer {
    padding: 12px 14px;
    border-top: 1px solid #3a5a6e;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
button {
    background: #2c3e50;
    border: none;
    color: white;
    padding: 6px 12px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 0.75rem;
    transition: 0.2s;
}
button:hover { background: #1abc9c; transform: translateY(-1px); }
.btn-primary { background: #27ae60; }
.btn-primary:hover { background: #2ecc71; }
.btn-danger { background: #c0392b; }
.btn-danger:hover { background: #e74c3c; }

.results-panel {
    position: absolute;
    top: 80px;
    right: 20px;
    width: 580px;
    max-height: 85%;
    background: rgba(15, 25, 35, 0.96);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    color: #f5f5f5;
    box-shadow: 0 12px 28px rgba(0,0,0,0.5);
    z-index: 1100;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-left: 4px solid #2ecc71;
    font-size: 0.8rem;
}
.results-header {
    padding: 12px 16px;
    background: #0a1a1f;
    font-weight: bold;
    border-bottom: 1px solid #2ecc71;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.results-content {
    padding: 14px;
    overflow-y: auto;
    max-height: 65vh;
}
.result-item {
    background: rgba(255,255,255,0.08);
    margin-bottom: 18px;
    padding: 12px;
    border-radius: 16px;
    border-left: 3px solid #f39c12;
    cursor: pointer;
    transition: 0.1s;
}
.result-item:hover { background: rgba(255,255,255,0.2); }
.result-header { display: flex; gap: 12px; margin-bottom: 10px; }
.thumbnail { width: 90px; height: 90px; object-fit: cover; border-radius: 8px; background: #2c3e50; cursor: pointer; border: 1px solid #2ecc71; }
.thumbnail-placeholder { width: 90px; height: 90px; background: #2c3e50; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; color: #aaa; text-align: center; }
.result-info { flex: 1; }
.result-info h4 { font-size: 0.85rem; word-break: break-word; margin-bottom: 4px; }
.meta { font-size: 0.7rem; opacity: 0.8; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.download-section { margin-top: 10px; border-top: 1px solid #3a5a6e; padding-top: 8px; }
.download-group { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; max-height: 140px; overflow-y: auto; }
.download-btn { background: #2980b9; border: none; padding: 4px 10px; border-radius: 20px; font-size: 0.7rem; cursor: pointer; color: white; }
.download-btn:hover { background: #1abc9c; }
.loading { text-align: center; padding: 20px; font-style: italic; }

.dem-item {
    background: rgba(255,255,255,0.08);
    margin-bottom: 18px;
    padding: 14px;
    border-radius: 14px;
    border-left: 2px solid #f39c12;
    cursor: pointer;
    transition: all 0.2s;
}
.dem-item:hover {
    background: rgba(255,255,255,0.18);
    transform: translateX(2px);
}

.esa-modal {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.7); backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    z-index: 20000;
}
.esa-modal-card {
    background: #1e2a36; border-radius: 28px; width: 380px; padding: 28px;
    color: white; box-shadow: 0 20px 35px rgba(0,0,0,0.5);
    border-top: 4px solid #f39c12;
}
.esa-modal-card input {
    width: 100%; padding: 10px; margin: 8px 0 16px; border-radius: 40px;
    border: none; background: #2c3e50; color: white; outline: none;
}
.esa-modal-card button { width: 100%; margin-top: 8px; }