@charset "UTF-8";.search-bar[data-v-7a273592]{display:flex;align-items:flex-end;padding:12px 16px;gap:8px;background:#fff;border-bottom:1px solid #eee}.input-group[data-v-7a273592]{flex:1;display:flex;flex-direction:column;gap:4px}.input-group label[data-v-7a273592]{font-size:12px;color:#999;font-weight:500}input[data-v-7a273592]{height:40px;padding:0 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:all .2s}input[data-v-7a273592]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}input[data-v-7a273592]:disabled{background:#f5f5f5;cursor:not-allowed}.swap-btn[data-v-7a273592]{width:40px;height:40px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:18px;cursor:pointer;transition:all .2s;white-space:nowrap}.swap-btn[data-v-7a273592]:hover:not(:disabled){background:#f5f5f5;border-color:#3498db}.swap-btn[data-v-7a273592]:disabled{opacity:.5;cursor:not-allowed}.search-btn[data-v-7a273592]{padding:0 20px;height:40px;border:none;border-radius:8px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.search-btn[data-v-7a273592]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}.search-btn[data-v-7a273592]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 640px){.search-bar[data-v-7a273592]{flex-wrap:wrap}.swap-btn[data-v-7a273592]{order:3;flex:none}input[data-v-7a273592]{height:36px}.search-btn[data-v-7a273592]{height:36px;padding:0 16px}}.route-selector[data-v-27224123]{padding:12px;max-height:320px;overflow-y:auto}.route-card[data-v-27224123]{display:flex;align-items:center;padding:12px 14px;background:#fff;border-radius:10px;margin-bottom:10px;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #0000000f;border:2px solid transparent}.route-card[data-v-27224123]:hover{transform:translate(4px);box-shadow:0 4px 16px #0000001a}.route-card.active[data-v-27224123]{border-color:var(--route-color);background:linear-gradient(135deg,#ffffffe6,rgba(var(--route-color),.05))}.route-card.active[data-v-27224123]:hover{transform:translate(4px)}.route-icon[data-v-27224123]{font-size:28px;margin-right:12px;line-height:1}.route-info[data-v-27224123]{flex:1;min-width:0}.route-name[data-v-27224123]{font-weight:600;color:#333;margin-bottom:4px;font-size:15px}.route-summary[data-v-27224123]{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;font-family:SF Mono,Monaco,Courier New,monospace}.route-summary .divider[data-v-27224123]{color:#ddd}.route-meta[data-v-27224123]{margin-top:4px;font-size:12px;color:#999}.traffic-count[data-v-27224123]{background:#ffc10726;color:#d63031;padding:2px 6px;border-radius:4px;font-weight:500}.active-indicator[data-v-27224123]{color:var(--route-color);font-size:18px;font-weight:700;margin-left:8px}.no-results[data-v-27224123]{text-align:center;padding:24px 16px;color:#999;font-size:14px}@media (max-width: 640px){.route-card[data-v-27224123]{padding:10px 12px}.route-icon[data-v-27224123]{font-size:24px;margin-right:10px}}.instruction-card[data-v-042bf6d1]{display:flex;align-items:center;padding:12px 14px;background:#fff;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all .25s ease;border:1px solid #f0f0f0}.instruction-card[data-v-042bf6d1]:hover{transform:translate(4px);box-shadow:0 4px 12px #00000014}.instruction-card.active[data-v-042bf6d1]{background:linear-gradient(135deg,rgba(var(--route-color),.1),rgba(var(--route-color),.05));transform:translate(6px);box-shadow:0 4px 16px rgba(var(--route-color),.2)}.instruction-number[data-v-042bf6d1]{width:28px;height:28px;border-radius:50%;background:#3498db;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;margin-right:12px;flex-shrink:0}.instruction-card.active .instruction-number[data-v-042bf6d1]{background:#fff;color:var(--route-color)}.instruction-content[data-v-042bf6d1]{flex:1;min-width:0}.instruction-action[data-v-042bf6d1]{font-size:20px;line-height:1;margin-bottom:2px}.instruction-text[data-v-042bf6d1]{font-size:13px}.road-name[data-v-042bf6d1]{font-weight:500;color:#333;margin-bottom:2px}.action-text[data-v-042bf6d1]{color:#666}.distance-duration[data-v-042bf6d1]{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;color:#999;font-family:SF Mono,Monaco,monospace}.distance-duration .separator[data-v-042bf6d1]{color:#ddd}.route-detail-panel[data-v-b0231cdd]{background:#fff;display:flex;flex-direction:column;height:100%}.panel-header[data-v-b0231cdd]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #f0f0f0}.header-info[data-v-b0231cdd]{display:flex;align-items:center;gap:10px}.mode-icon[data-v-b0231cdd]{font-size:24px}.panel-header h3[data-v-b0231cdd]{margin:0;font-size:16px;font-weight:600;color:#333}.close-btn[data-v-b0231cdd]{width:28px;height:28px;border:none;border-radius:50%;background:#f5f5f5;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#999}.close-btn[data-v-b0231cdd]:hover{background:#eee;color:#666}.trip-summary[data-v-b0231cdd]{display:flex;padding:16px;gap:16px;border-bottom:1px solid #f0f0f0}.summary-item[data-v-b0231cdd]{flex:1;text-align:center}.summary-item .label[data-v-b0231cdd]{display:block;font-size:12px;color:#999;margin-bottom:4px}.summary-item .value[data-v-b0231cdd]{font-size:16px;font-weight:600;color:#333;font-family:SF Mono,Monaco,monospace}.instructions-section[data-v-b0231cdd]{flex:1;overflow-y:auto;padding:12px}.instructions-section h4[data-v-b0231cdd]{margin:0 0 12px;font-size:14px;color:#666;font-weight:500}.instructions-list[data-v-b0231cdd]{display:flex;flex-direction:column}.route-comparison-map[data-v-4fec417a]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.dark .route-comparison-map[data-v-4fec417a]{background:#1a252f}.map-container[data-v-4fec417a]{flex:1;width:100%}.info-panel[data-v-4fec417a]{width:400px;background:#fff;border-left:1px solid #eee;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.info-panel.expanded[data-v-4fec417a]{width:420px}.info-panel.show-all-routes[data-v-4fec417a]{flex:1;width:auto}.selectors[data-v-4fec417a]{padding:12px;border-bottom:1px solid #f0f0f0;overflow-y:auto}.detail-panel[data-v-4fec417a]{flex:1;min-height:0}.loading-overlay[data-v-4fec417a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner[data-v-4fec417a]{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-4fec417a .8s linear infinite}.loading-overlay p[data-v-4fec417a]{color:#fff;margin-top:16px;font-size:14px}@keyframes spin-4fec417a{to{transform:rotate(360deg)}}.no-routes[data-v-4fec417a]{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#fff;padding:12px 24px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:14px;color:#666}.dark .no-routes[data-v-4fec417a]{background:#2c3e50;color:#bdc3c7}.slide-right-enter-active[data-v-4fec417a],.slide-right-leave-active[data-v-4fec417a]{transition:all .3s ease}.slide-right-enter-from[data-v-4fec417a],.slide-right-leave-to[data-v-4fec417a]{transform:translate(100%);opacity:0}@media (max-width: 768px){.info-panel[data-v-4fec417a]{position:fixed;right:0;top:0;bottom:0;width:100%;max-width:100%;transform:translate(100%);z-index:100;border-radius:0}.info-panel.expanded[data-v-4fec417a]{transform:translate(0)}.map-container[data-v-4fec417a]{height:60vh}}@media (max-width: 480px){.selectors[data-v-4fec417a],.detail-panel[data-v-4fec417a]{padding:8px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-primary: #3498db;--color-success: #2ecc71;--color-warning: #f39c12;--color-danger: #e74c3c;--color-info: #9b59b6;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-dark: #1a252f;--bg-card: #ffffff;--border-color: #eeeeee;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}.dark{--text-primary: #e8e8e8;--text-secondary: #b8b8b8;--text-muted: #888888;--bg-primary: #2c3e50;--bg-secondary: #34495e;--bg-dark: #1a252f;--bg-card: #34495e;--border-color: #455a64;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3)}*{padding:0;margin:0;box-sizing:border-box}html,body,#app{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}.dark ::-webkit-scrollbar-thumb{background:#fff3}.dark ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.slide-enter-from,.slide-leave-to{transform:translateY(-10px);opacity:0}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.cursor-pointer{cursor:pointer}.opacity-50{opacity:.5}.opacity-100{opacity:1}.hidden{display:none!important}.visible{visibility:visible}.invisible{visibility:hidden}
