.map-container[data-v-e0854e81]{position:relative;height:100%;width:100%}@media (max-width: 768px){.map-container[data-v-e0854e81]{height:100vh;height:100dvh;width:100vw;overflow:hidden;touch-action:manipulation}}#map[data-v-e0854e81]{height:100%;width:100%}.loading[data-v-e0854e81]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffe6;padding:10px 20px;border-radius:5px;box-shadow:0 2px 10px #0000001a;z-index:1000;font-weight:700;color:#333}.mobile-overlay[data-v-e0854e81]{position:absolute;top:0;left:0;right:0;z-index:1000;pointer-events:none}.mobile-info[data-v-e0854e81]{padding:10px;pointer-events:auto}.mobile-stop-info[data-v-e0854e81],.mobile-route-info[data-v-e0854e81]{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:12px;margin-bottom:8px;box-shadow:0 4px 12px #00000026;border:1px solid rgba(255,255,255,.3);animation:slideIn-e0854e81 .3s ease-out}.mobile-hint[data-v-e0854e81]{background:#2196f3e6;color:#fff;border-radius:8px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 8px #2196f34d;animation:slideIn-e0854e81 .3s ease-out}.info-header[data-v-e0854e81]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.stop-icon[data-v-e0854e81],.route-icon[data-v-e0854e81]{font-size:16px}.stop-name[data-v-e0854e81],.route-name[data-v-e0854e81]{font-weight:600;font-size:14px;flex:1;margin:0 8px}.close-btn[data-v-e0854e81]{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-btn[data-v-e0854e81]:hover{background:#0000001a}.info-details[data-v-e0854e81]{display:flex;flex-direction:column;gap:4px}.detail-item[data-v-e0854e81]{font-size:12px;color:#666}.hint-icon[data-v-e0854e81]{font-size:14px}.hint-text[data-v-e0854e81]{font-size:13px;font-weight:500}@keyframes slideIn-e0854e81{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 769px){.mobile-overlay[data-v-e0854e81]{display:none}}[data-v-e0854e81] .leaflet-marker-pane{z-index:600!important}[data-v-e0854e81] .bus-route-line{transition:all .2s ease;z-index:700!important}[data-v-e0854e81] .bus-route-line:hover{filter:brightness(1.1)}[data-v-e0854e81] .leaflet-popup-pane{z-index:800!important}[data-v-e0854e81] .leaflet-control-container{z-index:900!important}[data-v-e0854e81] .leaflet-overlay-pane{z-index:750!important}#map[data-v-e0854e81]{cursor:grab}#map[data-v-e0854e81]:active{cursor:grabbing}.leaflet-interactive.bus-route-line[data-v-e0854e81]{cursor:pointer!important}.mobile-stop-buttons[data-v-e0854e81]{position:absolute;top:16px;top:calc(16px + env(safe-area-inset-top));left:16px;left:calc(16px + env(safe-area-inset-left));right:16px;right:calc(16px + env(safe-area-inset-right));background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:8px;padding-left:calc(8px + env(safe-area-inset-left));padding-right:calc(8px + env(safe-area-inset-right));box-shadow:0 2px 8px #0000001a;z-index:1000;max-height:80px}.stop-buttons-scroll[data-v-e0854e81]{overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.stop-buttons-scroll[data-v-e0854e81]::-webkit-scrollbar{display:none}.stop-btn[data-v-e0854e81]{display:inline-block;padding:8px 12px;margin-right:8px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:36px;min-width:60px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.stop-btn[data-v-e0854e81]:hover{background:#e8f4fd;border-color:#2196f3;transform:translateY(-1px)}.stop-btn.active[data-v-e0854e81]{background:#2196f3;color:#fff;border-color:#1976d2}.mobile-route-buttons[data-v-e0854e81]{position:absolute;top:80px;top:calc(80px + env(safe-area-inset-top));left:16px;left:calc(16px + env(safe-area-inset-left));right:16px;right:calc(16px + env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:8px;padding-left:calc(8px + env(safe-area-inset-left));padding-right:calc(8px + env(safe-area-inset-right));box-shadow:0 2px 8px #0000001a;z-index:999;max-height:80px}.route-buttons-scroll[data-v-e0854e81]{overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.route-buttons-scroll[data-v-e0854e81]::-webkit-scrollbar{display:none}.route-btn[data-v-e0854e81]{display:inline-block;padding:8px 12px;margin-right:8px;background:#f5f5f5;color:#333;border:2px solid transparent;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:36px;min-width:60px;max-width:100px;overflow:hidden;text-overflow:ellipsis}.route-btn[data-v-e0854e81]:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.route-btn.active[data-v-e0854e81]{background:#2196f3;color:#fff;border-color:#1976d2;font-weight:600;transform:scale(1.05);box-shadow:0 2px 8px #0003}.route-btn.grayed[data-v-e0854e81]{opacity:.4;filter:grayscale(.8)}[data-v-e0854e81] .leaflet-tile-pane.grayscale-overlay{filter:grayscale(100%) sepia(20%) contrast(90%)}[data-v-e0854e81] .leaflet-tile-pane.no-grayscale,[data-v-e0854e81] .leaflet-map-pane{filter:none}.selected-route-info[data-v-e0854e81]{position:absolute;top:136px;top:calc(136px + env(safe-area-inset-top));left:16px;left:calc(16px + env(safe-area-inset-left));right:16px;right:calc(16px + env(safe-area-inset-right));border-radius:8px;padding:8px 12px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));z-index:998;font-size:13px;font-weight:500;color:#333}[data-v-e0854e81] .leaflet-control-location{background:#fff;border-radius:8px;border:1px solid rgba(0,0,0,.15);box-shadow:0 2px 8px #00000026;margin:12px;width:44px;height:44px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}[data-v-e0854e81] .leaflet-control-location:hover{background:#f8f9fa;border-color:#00000040;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}[data-v-e0854e81] .leaflet-control-location:active{transform:translateY(0);box-shadow:0 1px 4px #00000026}[data-v-e0854e81] .location-button{width:100%;height:100%;background:none;border:none;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;transition:transform .1s ease}.location-button[data-v-e0854e81]:hover{transform:scale(1.05)}.location-button[data-v-e0854e81]:active{transform:scale(.95)}@media (max-width: 768px){[data-v-e0854e81] .leaflet-control-location{width:48px;height:48px;margin:14px;margin-right:calc(14px + env(safe-area-inset-right));margin-bottom:calc(14px + env(safe-area-inset-bottom))}.location-button[data-v-e0854e81]{font-size:22px}}[data-v-e0854e81] .query-circle{cursor:pointer!important;transition:all .2s ease}[data-v-e0854e81] .query-circle:hover{fill-opacity:.2!important;stroke-width:3!important}.control-panel[data-v-f6ae1ce9]{height:100%;padding:16px;background:#f8f9fa;overflow-y:auto;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.control-panel[data-v-f6ae1ce9]{display:none}}.panel-header[data-v-f6ae1ce9]{border-bottom:1px solid #e0e0e0;padding-bottom:12px}.panel-header h2[data-v-f6ae1ce9]{margin:0 0 8px;color:#333;font-size:18px}.instructions[data-v-f6ae1ce9]{margin:0;color:#666;font-size:14px;line-height:1.4}@media (max-width: 768px){.panel-header h2[data-v-f6ae1ce9]{font-size:16px}.instructions[data-v-f6ae1ce9]{font-size:13px}}.status[data-v-f6ae1ce9]{padding:12px;border-radius:6px;font-size:14px;display:flex;align-items:center;gap:8px}.status.loading[data-v-f6ae1ce9]{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.loading-spinner[data-v-f6ae1ce9]{width:16px;height:16px;border:2px solid #bbdefb;border-top:2px solid #1976d2;border-radius:50%;animation:spin-f6ae1ce9 1s linear infinite}@keyframes spin-f6ae1ce9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.selected-stop[data-v-f6ae1ce9],.selected-route[data-v-f6ae1ce9]{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a}.selected-stop h3[data-v-f6ae1ce9],.selected-route h3[data-v-f6ae1ce9]{margin:0 0 12px;font-size:16px;color:#333}.stop-info[data-v-f6ae1ce9],.route-info[data-v-f6ae1ce9]{display:flex;flex-direction:column;gap:6px}.stop-name[data-v-f6ae1ce9],.route-name[data-v-f6ae1ce9]{font-weight:600;font-size:16px}.stop-id[data-v-f6ae1ce9],.route-id[data-v-f6ae1ce9],.stop-coords[data-v-f6ae1ce9],.route-type[data-v-f6ae1ce9]{font-size:13px;color:#666}@media (max-width: 768px){.selected-stop[data-v-f6ae1ce9],.selected-route[data-v-f6ae1ce9]{padding:12px}.selected-stop h3[data-v-f6ae1ce9],.selected-route h3[data-v-f6ae1ce9]{font-size:15px;margin-bottom:10px}.stop-name[data-v-f6ae1ce9],.route-name[data-v-f6ae1ce9]{font-size:15px}.stop-id[data-v-f6ae1ce9],.route-id[data-v-f6ae1ce9],.stop-coords[data-v-f6ae1ce9],.route-type[data-v-f6ae1ce9]{font-size:12px}.stop-info[data-v-f6ae1ce9],.route-info[data-v-f6ae1ce9]{gap:4px}}.clear-btn[data-v-f6ae1ce9]{margin-top:12px;padding:10px 16px;background:#f44336;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s;min-height:44px;display:flex;align-items:center;justify-content:center}.clear-btn[data-v-f6ae1ce9]:hover{background:#d32f2f}.clear-btn[data-v-f6ae1ce9]:active{background:#b71c1c;transform:scale(.98)}@media (max-width: 768px){.clear-btn[data-v-f6ae1ce9]{padding:12px 20px;font-size:15px;min-height:48px}}.help[data-v-f6ae1ce9]{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a}.help h4[data-v-f6ae1ce9]{margin:0 0 10px;font-size:14px;color:#333}.help ul[data-v-f6ae1ce9]{margin:0;padding-left:16px;font-size:13px;color:#666;line-height:1.5}.help li[data-v-f6ae1ce9]{margin-bottom:4px}@media (max-width: 768px){.help[data-v-f6ae1ce9]{padding:12px}.help h4[data-v-f6ae1ce9]{font-size:13px;margin-bottom:8px}.help ul[data-v-f6ae1ce9]{font-size:12px;line-height:1.6;padding-left:14px}.help li[data-v-f6ae1ce9]{margin-bottom:6px}}@media (max-width: 768px){.control-panel[data-v-f6ae1ce9]::-webkit-scrollbar{width:4px}.control-panel[data-v-f6ae1ce9]::-webkit-scrollbar-track{background:#f1f1f1}.control-panel[data-v-f6ae1ce9]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.control-panel[data-v-f6ae1ce9]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}}.app-container[data-v-5f4d0b76]{display:flex;height:100vh;width:100vw}.app-container[data-v-5f4d0b76]>:first-child{flex:1;height:100%}.app-container[data-v-5f4d0b76]>:last-child{width:350px;height:100%;border-left:1px solid #e0e0e0}@media (max-width: 768px){.app-container[data-v-5f4d0b76]{position:relative;height:100vh;height:100dvh;width:100vw;overflow:hidden}.app-container[data-v-5f4d0b76]>:first-child{width:100%;height:100%;position:absolute;top:0;left:0}.app-container[data-v-5f4d0b76]>:last-child{display:none}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;overscroll-behavior:none;overflow-x:hidden}#app{height:100%;width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}button{cursor:pointer;border:none;outline:none;transition:all .2s ease}button:focus{outline:2px solid #2196F3;outline-offset:2px}@media (max-width: 768px){html,body{height:100vh;height:100dvh;width:100vw;overflow:hidden;position:fixed;user-scalable:no;-webkit-user-scalable:no;-moz-user-scalable:no;-ms-user-scalable:no}#app{height:100vh;height:100dvh;width:100vw;overflow:hidden;position:relative}.app-container{flex-direction:column;height:100vh;height:100dvh;width:100vw;overflow:hidden}.app-container>:last-child{width:100%;height:200px;border-left:none;border-top:1px solid #e0e0e0}}@media (max-width: 480px){.app-container>:last-child{height:150px}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s ease}.slide-up-enter-from{transform:translateY(20px);opacity:0}.slide-up-leave-to{transform:translateY(-20px);opacity:0}
