html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Arial,Microsoft YaHei,sans-serif;background:#f3f6f4}*{box-sizing:border-box}#map{width:100%;height:100vh}.hidden{display:none!important}.top-ui{position:absolute;top:12px;left:12px;right:12px;z-index:9999;pointer-events:none}.top-bar,.filter-bar,.traffic-sub-bar{pointer-events:auto}.top-bar{background:rgba(255,255,255,.95);border-radius:16px;padding:12px 14px;box-shadow:0 6px 20px rgba(0,0,0,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.title{font-size:18px;font-weight:700;color:#106b3b;line-height:1.4}.sub-title{margin-top:4px;font-size:13px;color:#666;line-height:1.5}.top-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.top-action-btn{border:none;border-radius:20px;padding:8px 14px;background:#106b3b;color:#fff;font-size:13px;cursor:pointer;box-shadow:0 3px 10px rgba(16,107,59,.22);transition:all .2s ease}.top-action-btn:active{transform:scale(.97)}.top-action-btn:disabled{opacity:.7;cursor:not-allowed}.music-top-btn{min-width:132px}.filter-bar{margin-top:10px;display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none;-ms-overflow-style:none}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{flex:0 0 auto;border:none;border-radius:20px;padding:8px 14px;background:rgba(255,255,255,.98);color:#333;font-size:13px;box-shadow:0 3px 10px rgba(0,0,0,.12);cursor:pointer;-webkit-appearance:none;appearance:none;transition:all .2s ease;white-space:nowrap}.filter-btn:active{transform:scale(.97)}.filter-btn.active{background:#106b3b;color:#fff;box-shadow:0 4px 12px rgba(16,107,59,.24)}.filter-count{flex:0 0 auto;align-self:center;padding:6px 10px;font-size:12px;color:#666;white-space:nowrap;background:rgba(255,255,255,.94);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.traffic-sub-bar{margin-top:8px;display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none;-ms-overflow-style:none}.traffic-sub-bar::-webkit-scrollbar{display:none}.traffic-sub-btn{flex:0 0 auto;border:none;border-radius:18px;padding:7px 13px;background:rgba(255,255,255,.96);color:#1677ff;font-size:12px;font-weight:600;box-shadow:0 3px 10px rgba(22,119,255,.14);cursor:pointer;-webkit-appearance:none;appearance:none;white-space:nowrap;transition:all .2s ease}.traffic-sub-btn:active{transform:scale(.97)}.traffic-sub-btn.active{background:#1677ff;color:#fff;box-shadow:0 4px 12px rgba(22,119,255,.24)}.traffic-line-info{margin-top:6px;color:#333;line-height:1.6}.traffic-line-tip{margin-top:8px;padding:8px 10px;border-radius:10px;background:rgba(22,119,255,.08);color:#1677ff;font-size:13px;line-height:1.6}.detail-panel{position:absolute;left:12px;right:12px;bottom:12px;z-index:9999;background:rgba(255,255,255,.98);border-radius:18px;padding:14px;box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);max-height:58vh;overflow-y:auto}.detail-header{display:flex;justify-content:space-between;align-items:center}.detail-category{display:inline-block;padding:4px 10px;background:#106b3b;color:#fff;border-radius:14px;font-size:12px;line-height:1}.detail-close{border:none;background:none;font-size:24px;line-height:1;color:#666;cursor:pointer;padding:0 4px}.detail-title{margin-top:10px;font-size:20px;font-weight:700;color:#106b3b;line-height:1.4}.detail-desc{margin-top:8px;font-size:14px;color:#333;line-height:1.7;white-space:pre-line}.detail-phone{margin-top:8px;font-size:14px;color:#333;line-height:1.6}.detail-image-wrap{margin-top:12px}.detail-gallery{margin-top:4px}.detail-image{width:100%;max-height:180px;object-fit:contain;border-radius:12px;display:block;background:#f5f5f5}.detail-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.detail-thumbs::-webkit-scrollbar{display:none}.detail-thumb{width:58px;height:58px;object-fit:cover;border-radius:10px;border:2px solid transparent;flex:0 0 auto;cursor:pointer;background:#f5f5f5;transition:all .2s ease}.detail-thumb.active{border-color:#106b3b;box-shadow:0 2px 8px rgba(16,107,59,.18)}.detail-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.detail-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border:none;border-radius:10px;text-decoration:none;font-size:13px;color:#fff;background:#106b3b;cursor:pointer;box-shadow:0 3px 10px rgba(16,107,59,.2);transition:all .2s ease}.detail-btn:active{transform:scale(.97)}.video-modal,.list-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000}.video-mask,.list-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.52)}.video-dialog,.list-dialog{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);background:#fff;border-radius:18px;padding:16px 14px 14px;box-shadow:0 10px 28px rgba(0,0,0,.22)}.video-close,.list-close{position:absolute;top:8px;right:10px;border:none;background:none;font-size:24px;color:#666;cursor:pointer;z-index:2;line-height:1}.promo-video{width:100%;max-height:60vh;border-radius:12px;background:#000;display:block}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.list-title{font-size:18px;font-weight:700;color:#106b3b}.list-content{max-height:60vh;overflow-y:auto;padding-top:8px}.list-item{padding:12px;border-radius:12px;background:#f7faf8;margin-bottom:10px;cursor:pointer;border:1px solid #edf3ef;transition:all .2s ease}.list-item:active{transform:scale(.99)}.list-item-title{font-size:16px;font-weight:700;color:#106b3b;line-height:1.5}.list-item-meta{margin-top:4px;font-size:12px;color:#666}.list-item-desc{margin-top:6px;font-size:13px;color:#333;line-height:1.6}.list-empty{text-align:center;color:#666;font-size:14px;padding:24px 0}@media (max-width: 768px){.top-ui{top:10px;left:10px;right:10px}.top-bar{padding:12px;border-radius:14px}.title{font-size:16px}.top-action-btn{font-size:12px;padding:8px 12px}.music-top-btn{min-width:120px}.filter-bar{margin-top:8px}.filter-btn{font-size:12px;padding:8px 12px}.filter-count{font-size:11px;padding:6px 8px}.traffic-sub-bar{margin-top:6px}.traffic-sub-btn{font-size:12px;padding:7px 12px}.detail-panel{left:10px;right:10px;bottom:10px;padding:12px;max-height:58vh}.detail-title{font-size:18px}.detail-desc,.detail-phone{font-size:13px}.detail-image{max-height:160px}.detail-btn{font-size:12px;min-height:36px;padding:8px 12px}.video-dialog,.list-dialog{left:10px;right:10px;border-radius:16px}.promo-video{max-height:52vh}}
