*{margin:0;padding:0;box-sizing:border-box;list-style:none}
body{font-family:"Microsoft YaHei",arial,sans-serif;line-height:1.8;color:#333;font-size:18px;background:#fff}
a{color:#06c;text-decoration:none;white-space:nowrap}
a:hover{color:red;text-decoration:underline}
span.current{color:#999}
img{border:none;vertical-align:middle}
em{font-style:normal;color:red;}
.container{display:flex;height:calc(100vh - 60px)}
.sidebar{width:260px;background:#f8f9fa;border-right:1px solid #e0e0e0;padding:15px;overflow-y:auto;}
.logo{text-align:center;}
.logo img{height:60px;cursor:pointer}
.menu{padding:8px 0;color:#666;border-bottom:1px dashed #e0e0e0;margin-bottom:10px}
.menu span{padding-left:2px;}
.menu-title{font-weight:700;color:#333;font-size:18px}
.menu-list{padding:10px;background:#fff;border-radius:6px;margin-top:8px;border:1px solid #eee}
.menu-list a,.menu-list span{display:inline-block;padding-left:5px}
.intro{max-width:99%;margin:20px auto;padding:15px;background:#fff;border-radius:6px;border:1px solid #eee}
.intro h2{font-size:18px;margin-bottom:10px;color:#c00}
.intro p{line-height:1.8;color:#333;font-size:16px}
.main{flex:1;position:relative;background:#eee;width:100%;height:100%;overflow:hidden}
#map{width:100%!important;height:100%!important;position:absolute!important;left:0!important;top:0!important;right:0!important;bottom:0!important;z-index:1}
#map:fullscreen {width: 100vw;height: 100vh;}
.map-msg‌ {z-index: 999999 !important;}
.map-ctrl‌{position:absolute;top:10px;left:60px;z-index:999;display:flex;align-items:center;gap:6px}
.map-ctrl‌ span{display:inline-block;background:#fff;border:1px solid #ddd;border-radius:4px;padding:3px 6px;cursor:pointer;color:#333;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.map-ctrl‌ span:hover{background:#f8f9fa;color:#06c;border-color:#ccc}
#map-menu{position:absolute;top:45px;right:1px;background:#fff;padding:8px;border-radius:4px; z-index:9999; display:none;gap:6px;z-index: 9999999 !important;}
#map-line,#map-area,#map-draw,#map-clear{padding:4px 10px; background:#409eff; color:#fff; border:none; border-radius:3px; cursor:pointer;}
.so-btn{background:#fff!important;border:1px solid #ddd!important}
.so-popup{position:absolute;top:48px;left:0;z-index:9999;background:#fff;padding:8px;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.1);border:1px solid #ddd;display:none;width:265px}
.so-popup input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;outline:0}
.so-dropdown{max-height:260px;overflow-y:auto;margin-top:5px;display:none}
.so-item{padding:8px;cursor:pointer}
.so-item:hover{background:#f5f5f5}
.active{display:block!important}
footer{height:60px;line-height:60px;text-align:center;font-size:14px;border-top:1px solid #e0e0e0;color:#666}
@media (max-width:992px){.container{flex-direction:column;height:auto}
.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid #e0e0e0}
.main{height:60vh!important;min-height:300px}
.map-ctrl‌ span{font-size:12px;}
footer{height:30px;line-height:30px;font-size:12px;}
}
@media (max-width:480px){.menu-list a{font-size:13px}
}
.map-container{width:100%}
.map-coord{position: absolute;bottom: 10px;left: 50%;transform: translateX(-50%);background: #fff;padding: 4px 10px;border: 1px solid #ddd;border-radius: 3px;font-size: 16px;color: #333;z-index: 999;display: flex;align-items: center;gap: 6px;}
.weather-content{padding:20px;overflow-y:auto;height:100%;background:#f8f9fa}
.current-weather{background:#fff;border-radius:12px;padding:16px;margin-bottom:15px;box-shadow:0 2px 8px rgba(0,0,0,.05);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.weather-left{flex:1;min-width:280px;display:flex;flex-direction:column;align-items:center;text-align:center}
.location{font-size:18px;font-weight:600;color:#06c;display:flex;align-items:center;gap:6px}
.date-time{color:#666;margin:4px 0 12px}
.weather-main{display:flex;align-items:center;gap:14px;margin:15px 0}
.weather-icon{font-size:42px;color:#ff9800}
.temp{font-size:36px;font-weight:700}
.weather-desc{font-size:20px;color:#666}
.sunrise-sunset{display:flex;gap:16px;color:#666;margin:10px 0;font-size:14px}
.weather-right{flex:1;min-width:280px}
.weather-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}
.detail-item{background:#f8f9fa;padding:8px;border-radius:6px;text-align:center}
.detail-label{font-size:12px;color:#666}
.detail-value{font-size:14px;font-weight:600;margin-top:2px}
.hourly-forecast{margin:20px 0;overflow:hidden;background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column}
.hourly-title{font-size:16px;font-weight:700;margin-bottom:10px;padding-left:5px}
.hourly-container{display:flex;overflow-x:auto;gap:8px;padding:10px}
.hourly-card{min-width:70px;background:#fff;border-radius:8px;padding:10px 8px;text-align:center;font-size:12px;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.hourly-time{color:#666;margin-bottom:5px}
.hourly-icon{font-size:16px;margin:5px 0;color:#4285f4}
.hourly-temp{font-weight:700;color:#333}
.sunrise-sunset{display:flex;justify-content:center;gap:20px;margin-top:10px;font-size:16px;color:#666}
.sunrise-sunset span{display:flex;align-items:center;gap:5px}
.forecast-tabs{display:flex;gap:10px;margin-bottom:15px}
.forecast-tabs .tab{padding:8px 15px;background:#fff;border-radius:6px;cursor:pointer}
.forecast-tabs .tab.active{background:#06c;color:#fff}
.forecast-container{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.forecast-cards .loading{text-align:center;padding:30px;color:#666}
.toggle-link{color:#06c!important;margin-left:10px;font-weight:700}
.forecast-container{background-color:#fff;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 4px 12px rgba(0,0,0,.05)}
.forecast-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px}
.forecast-card{text-align:center;padding:15px;border-radius:10px;background-color:#ffffff;transition:transform .3s ease;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.forecast-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}
.forecast-date{font-weight:500;margin-bottom:10px;color:#5f6368}
.forecast-icon{font-size:36px;margin:10px 0;color:#1a73e8}
.forecast-temp{display:flex;justify-content:center;gap:10px;margin-top:10px}
.high-temp{font-weight:700;color:#ea4335}
.low-temp{color:#1a73e8}
.loading{text-align:center;padding:40px;color:#5f6368}
.loading i{font-size:40px;margin-bottom:15px;color:#1a73e8;animation:spin 1.5s linear infinite}

.map-down-box {margin: 0 auto;padding: 0 15px;display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: 20px;max-height: 90vh;overflow-y: auto;padding-bottom: 10px;}
.map-down-name {background-color: #f2f3f5;padding: 12px 10px;font-size: 24px;color: #303133;text-align: center;line-height: 1.4;border-bottom: 1px solid #e4e7ed;}
.map-down-card {margin-top:10px;border: 1px solid #e4e7ed;border-radius: 12px;overflow: hidden;background: #ffffff;transition: all 0.3s ease;cursor: pointer;box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);}
.map-down-card:hover {transform: translateY(-6px);box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);border-color: #f2f3f5;}
.map-down-title {background-color: #f2f3f5;padding: 12px 10px;font-size: 14px;color: #303133;text-align: center;line-height: 1.4;border-bottom: 1px solid #e4e7ed;}
.map-down-img {padding: 12px;text-align: center;}
.map-down-img img {width: 92%;border-radius: 6px;transition: transform 0.25s ease;}
.map-down-card:hover .map-down-img img {transform: scale(1.05);}

.tab-map{list-style:none;padding:0;margin:0 0 15px 0;display:flex;border-bottom:1px solid #eee;background:#fff;border-radius:6px 6px 0 0;overflow:hidden}
.tab-map li{flex:1;text-align:center;list-style:none;margin:0}
.tab-map li a{display:block;padding:14px 10px;text-decoration:none;color:#555;font-size:15px;cursor:pointer;transition:all .25s ease;background:#fafbfc}
.tab-map li a.active{color:#fff;background:#06c;font-weight:500}
.tab-map li a:hover:not(.active){color:#333;background:#f0f2f5}
#tab-line,#tab-plan{padding:15px;overflow-y:auto}

.links{max-width:99%;margin:20px auto;font-size:14px;padding:8px;background:#fff;border-radius:6px;border:1px solid #eee}
.links a{padding-right:5px;text-decoration:none;color:#333;}

.sidebar-toggle {float:right;background:#06c;color:#fff;border:none;padding:3px 8px;border-radius:3px;font-size:14px;cursor:pointer;display:none;}
@media (max-width:768px) {
.sidebar-toggle { display:inline-block; }
.sidebar-collapse { display:none; margin-top:10px; }
}

.feedback-nav{position:fixed;right:20px;bottom:90px;z-index:9999}
.feedback-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:76px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer;transition:all .25s ease;text-decoration:none !important;}
.feedback-btn:hover{text-decoration:none !important;}
.feedback-icon{width:28px;height:28px;background:url(../img/feedback.png) center/contain no-repeat;margin-bottom:6px;opacity:.85}
.feedback-text{font-size:12px;color:#333;font-weight:500;text-decoration:none !important;}

.table-wrap{width:100%;margin-top:1rem;overflow-x:auto;border-radius:8px;border:1px solid #eaeaea;border-width:0 0 1px 1px}
.table-wrap input,select{color:#555555;height:38px;line-height:38px;border:1px solid #e0e0e0;padding:0 8px;border-radius:5px;overflow:hidden}
.table-wrap span{padding:.25em;}
table{width:100%;clear:both;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;vertical-align:middle}
table th{padding:16px 14px;background:#f8f8f8;border:1px solid #eee;}
table td{padding:14px 12px;font-size:16px;text-align:center;border:1px solid #eee;}
table tbody tr:nth-of-type(odd){background:#f9fafc}
table td img {display: inline-block;vertical-align: middle;max-width: 24px !important;max-height: 24px !important;width: auto !important;height: auto !important;margin-right: 4px;}
table span{padding-right:2px;}

.oil-box {margin: 0 auto;padding: 0 60px;height: 100%;max-height: 100vh;overflow-y: scroll !important;overflow-x: hidden;background: #fff;-webkit-overflow-scrolling: touch;}
.oil-title{font-size:22px;font-weight:700;padding-top:20px;margin-bottom:12px;text-align:center;}
.oil-title span{font-size:.85rem;}
.oil-hint{padding:5px;font-size:.85rem;text-align:center;}

#viewer {border: none !important;background: transparent !important;width:100%;height:calc(100vh - 152px);min-height:400px;}
.openseadragon-container :focus {outline: none !important;}
.openseadragon-canvas {border: none !important;background: transparent !important;}

.sidebar-collapse form{display:flex;align-items:center;margin:0 0 10px 0;padding:0}
.sidebar-collapse input[name=qh_so],.sidebar-collapse input[name=yb_so]{flex:1;height:28px;line-height:28px;padding:0 8px;border:1px solid #ddd;border-radius:3px;font-size:12px;color:#666;outline:0}
.sidebar-collapse input[name=qh_so]:focus,.sidebar-collapse input[name=yb_so]:focus{border-color:#4096ff}
.sidebar-collapse form input[type=submit]{height:28px;padding:0 10px;border:none;border-radius:3px;background:#4096ff;color:#fff;font-size:12px;cursor:pointer}
.sidebar-collapse form input[type=submit]:hover{background:#3086ef}

.image-map-container{display:flex;height:100vh;overflow:hidden}
.image-map-viewer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.image-map-viewer::after,.ditie-map-viewer::before{content:'';position:absolute;background-color:red;z-index:10;pointer-events:none}
.image-map-viewer::before{width:1px;height:20px;top:50%;left:50%;transform:translate(-50%,-50%)}
.image-map-viewer::after{width:20px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%)}
.image-map-image{position:absolute;top:45%;left:50%;max-height:85%;max-width:85%;transform:translate(-50%,-50%) scale(1);transition:transform .3s ease;cursor:grab}
.image-map-image.loading{opacity:.5;cursor:wait}
.image-map-image:active{cursor:grabbing}
.image-map-tooltip{position:absolute;top:60px;left:50%;transform:translateX(-50%);background-color:rgba(0,0,0,.6);color:#fff;padding:8px 15px;border-radius:4px;z-index:9;opacity:0;transition:opacity .3s;text-align:center}
.image-map-tooltip.show{opacity:1}

.ditie-map-button{position:fixed;top:20px;left:18%;z-index:9;display:flex;gap:10px;align-items:center}
.ditie-map-btn{background-color:#3498db;color:#fff;border:none;border-radius:6px;font-size:14px;padding:8px 16px;text-decoration:none;cursor:pointer;box-shadow:0 2px 6px rgba(52,152,219,.3)}
.ditie-map-button a:hover{background-color:#2980b9;text-decoration:none;color:#fff;box-shadow:0 4px 10px rgba(52,152,219,.4)}

.ls-menu-item{margin:5px 0}
.ls-menu-prov{cursor:pointer;padding:5px;background:#f5f5f5;border-radius:3px;user-select:none;word-wrap:break-word;white-space:normal}
.ls-menu-prov:before{content:"▶";display:inline-block;margin-right:5px;font-size:12px;transition:transform .2s}
.ls-menu-prov.open:before{transform:rotate(90deg)}
.ls-menu-cities{padding:5px 0 5px 15px;display:none;word-wrap:break-word;white-space:normal}
.ls-menu-cities a{display:block;margin:3px 0;word-wrap:break-word;white-space:normal}
.ls-map-button{position:fixed;bottom:120px;left:50%;transform:translateX(-50%);z-index:9;display:flex;gap:10px;align-items:center}
.ls-map-btn{background-color:#3498db;color:#fff;border:none;border-radius:6px;font-size:14px;padding:8px 16px;text-decoration:none;cursor:pointer;box-shadow:0 2px 6px rgba(52,152,219,.3)}
.ls-map-button a:hover{text-decoration:none;color:#fff;}

.amap-subway-container,
.amap-subway-map,
.amap-subway-mask {z-index: 1 !important;pointer-events: auto !important;}
.sidebar, .intro, footer, .menu {position: relative;z-index: 99 !important;}