.intelligent-route-planner[data-v-47a5f4d1]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f7fa}#map-container[data-v-47a5f4d1]{width:100%!important;position:relative!important;display:block!important;visibility:visible!important;opacity:1!important;-webkit-transition:height .3s ease;transition:height .3s ease}#map-container.map-expanded[data-v-47a5f4d1]{height:calc(100vh - 60px)}.intelligent-route-planner[data-v-47a5f4d1]{height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;position:relative}.header-section[data-v-47a5f4d1]{position:fixed;top:0;left:0;right:0;padding:16px;background:#fff;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:100}.input-container[data-v-47a5f4d1]{max-width:600px;margin:0 auto}.input-row[data-v-47a5f4d1]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;margin-bottom:12px}.input-field[data-v-47a5f4d1]{-webkit-box-flex:1;-ms-flex:1;flex:1}.input-label[data-v-47a5f4d1]{display:block;margin-bottom:4px;font-size:14px;color:#606266;font-weight:500}.route-input[data-v-47a5f4d1]{width:100%;padding:10px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;-webkit-transition:border-color .2s;transition:border-color .2s}.route-input[data-v-47a5f4d1]:focus{outline:none;border-color:#409eff}.plan-button[data-v-47a5f4d1]{width:100%;padding:12px;background:#409eff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.plan-button[data-v-47a5f4d1]:hover:not(:disabled){background:#66b1ff}.plan-button[data-v-47a5f4d1]:disabled{background:#c0c4cc;cursor:not-allowed}.plan-button.loading[data-v-47a5f4d1]{background:#a0cfff}.map-section[data-v-47a5f4d1]{position:fixed;top:140px;left:0;right:0;bottom:0;width:100%;height:calc(100vh - 140px);z-index:1}.map-container-wrapper[data-v-47a5f4d1]{width:100%;height:100%;background:#f8f9fa;position:relative;overflow:hidden}.route-card[data-v-47a5f4d1]{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;-webkit-box-shadow:0 -4px 20px rgba(0,0,0,.15);box-shadow:0 -4px 20px rgba(0,0,0,.15);padding:0;font-family:PingFang SC,Microsoft YaHei,sans-serif;z-index:200;max-height:35vh;overflow:hidden;-webkit-transition:max-height .4s cubic-bezier(.25,.46,.45,.94),-webkit-box-shadow .4s cubic-bezier(.25,.46,.45,.94);transition:max-height .4s cubic-bezier(.25,.46,.45,.94),-webkit-box-shadow .4s cubic-bezier(.25,.46,.45,.94);transition:max-height .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94);transition:max-height .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94),-webkit-box-shadow .4s cubic-bezier(.25,.46,.45,.94);will-change:max-height}.route-card.expanded[data-v-47a5f4d1]{max-height:80vh;-webkit-box-shadow:0 -8px 32px rgba(0,0,0,.2);box-shadow:0 -8px 32px rgba(0,0,0,.2)}.drag-indicator[data-v-47a5f4d1]{width:40px;height:4px;background:#d0d0d0;border-radius:2px;margin:12px auto 8px;cursor:pointer;-webkit-transition:background .3s ease,-webkit-transform .2s ease;transition:background .3s ease,-webkit-transform .2s ease;transition:background .3s ease,transform .2s ease;transition:background .3s ease,transform .2s ease,-webkit-transform .2s ease}.drag-indicator[data-v-47a5f4d1]:hover{background:#a0a0a0;-webkit-transform:scaleX(1.2);transform:scaleX(1.2)}.drag-indicator[data-v-47a5f4d1]:active{-webkit-transform:scaleX(1.3) scaleY(1.2);transform:scaleX(1.3) scaleY(1.2)}.card-header-area[data-v-47a5f4d1]{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.card-header-area[data-v-47a5f4d1]:active{cursor:-webkit-grabbing;cursor:grabbing;opacity:.9}.card-header[data-v-47a5f4d1]{background:linear-gradient(135deg,#e6e6ff,#fff);padding:16px 20px;border-radius:12px 12px 0 0;margin-bottom:0;-webkit-box-shadow:0 4px 12px rgba(102,102,255,.1);box-shadow:0 4px 12px rgba(102,102,255,.1);color:#333;cursor:pointer;-webkit-transition:background .3s ease,-webkit-box-shadow .3s ease;transition:background .3s ease,-webkit-box-shadow .3s ease;transition:background .3s ease,box-shadow .3s ease;transition:background .3s ease,box-shadow .3s ease,-webkit-box-shadow .3s ease}.card-header[data-v-47a5f4d1]:hover{background:linear-gradient(135deg,#d9d9ff,#f5f5ff);-webkit-box-shadow:0 6px 16px rgba(102,102,255,.15);box-shadow:0 6px 16px rgba(102,102,255,.15)}.card-header[data-v-47a5f4d1]:active{background:linear-gradient(135deg,#ccf,#ebebff)}.card-title-row[data-v-47a5f4d1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.card-title[data-v-47a5f4d1]{margin:0;font-size:24px;font-weight:600;color:#333}.route-overview[data-v-47a5f4d1]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:20px;margin-bottom:0}.overview-item[data-v-47a5f4d1],.route-overview[data-v-47a5f4d1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.overview-item[data-v-47a5f4d1]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.overview-value[data-v-47a5f4d1]{font-size:20px;font-weight:700;margin-bottom:2px;line-height:1.2;color:#333}.overview-label[data-v-47a5f4d1]{font-size:11px;opacity:.6}.overview-divider[data-v-47a5f4d1]{width:1px;height:24px;background:rgba(102,102,255,.3)}.route-segments[data-v-47a5f4d1]{padding:15px 20px;max-height:calc(80vh - 200px);overflow-x:hidden}.route-segments[data-v-47a5f4d1]::-webkit-scrollbar{width:6px}.route-segments[data-v-47a5f4d1]::-webkit-scrollbar-track{background:transparent}.route-segments[data-v-47a5f4d1]::-webkit-scrollbar-thumb{background:rgba(102,102,255,.3);border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.route-segments[data-v-47a5f4d1]::-webkit-scrollbar-thumb:hover{background:rgba(102,102,255,.5)}.route-segment[data-v-47a5f4d1]{position:relative;margin-bottom:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:80px;-webkit-animation:slideInUp-data-v-47a5f4d1 .4s cubic-bezier(.25,.46,.45,.94) backwards;animation:slideInUp-data-v-47a5f4d1 .4s cubic-bezier(.25,.46,.45,.94) backwards}@-webkit-keyframes slideInUp-data-v-47a5f4d1{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp-data-v-47a5f4d1{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.route-segment[data-v-47a5f4d1]:first-child{-webkit-animation-delay:0s;animation-delay:0s}.route-segment[data-v-47a5f4d1]:nth-child(2){-webkit-animation-delay:.05s;animation-delay:.05s}.route-segment[data-v-47a5f4d1]:nth-child(3){-webkit-animation-delay:.1s;animation-delay:.1s}.route-segment[data-v-47a5f4d1]:nth-child(4){-webkit-animation-delay:.15s;animation-delay:.15s}.route-segment[data-v-47a5f4d1]:nth-child(5){-webkit-animation-delay:.2s;animation-delay:.2s}.route-segment[data-v-47a5f4d1]:nth-child(6){-webkit-animation-delay:.25s;animation-delay:.25s}.route-segment[data-v-47a5f4d1]:nth-child(n+7){-webkit-animation-delay:.3s;animation-delay:.3s}.segment-marker[data-v-47a5f4d1]{width:8px;height:auto;border-radius:2px;margin-right:12px;-ms-flex-negative:0;flex-shrink:0;position:relative;z-index:2}.segment-content[data-v-47a5f4d1]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:12px 15px;border-radius:6px;background-color:#f8f9fa!important;border:1px solid #f0f0f0!important;-webkit-transition:background-color .3s ease,border-color .3s ease,-webkit-transform .2s ease;transition:background-color .3s ease,border-color .3s ease,-webkit-transform .2s ease;transition:background-color .3s ease,border-color .3s ease,transform .2s ease;transition:background-color .3s ease,border-color .3s ease,transform .2s ease,-webkit-transform .2s ease}.segment-header[data-v-47a5f4d1]{margin-bottom:8px}.segment-title[data-v-47a5f4d1]{font-weight:700;font-size:16px;margin-bottom:8px;color:#333}.segment-line-info[data-v-47a5f4d1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:8px 0}.segment-line-color[data-v-47a5f4d1]{width:4px;height:18px;margin-right:8px;border-radius:2px}.segment-line-text[data-v-47a5f4d1]{font-size:14px;color:#333}.segment-duration[data-v-47a5f4d1]{font-size:13px;color:#666;margin:4px 0}.segment-instruction[data-v-47a5f4d1]{font-size:12px;color:#1e90ff;background-color:#f0f8ff;padding:4px 8px;border-radius:4px;margin:8px 0;line-height:1.4}.segment-details[data-v-47a5f4d1],.station-info[data-v-47a5f4d1]{margin-top:8px}.via-stops-toggle[data-v-47a5f4d1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;cursor:pointer;padding:6px 10px;border-radius:6px;-webkit-transition:all .2s ease;transition:all .2s ease;color:#66f;font-size:13px;font-weight:500;background:transparent;border:1px solid transparent}.toggle-text[data-v-47a5f4d1]{font-weight:500}.toggle-icon[data-v-47a5f4d1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:16px;height:16px;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.toggle-icon.expanded[data-v-47a5f4d1]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.via-stops-list[data-v-47a5f4d1]{background:#f8f9fa}.via-stop[data-v-47a5f4d1]{padding:4px 0;color:#666;font-size:13px;line-height:1.4}.stop-index[data-v-47a5f4d1],.via-stop[data-v-47a5f4d1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.stop-index[data-v-47a5f4d1]{width:24px;height:24px;background:linear-gradient(135deg,#66f,#99f);color:#fff;border-radius:50%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:11px;font-weight:600;margin-right:10px;-ms-flex-negative:0;flex-shrink:0}.stop-index.empty-marker[data-v-47a5f4d1]{background:none;color:transparent}.stop-name[data-v-47a5f4d1]{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:13px;color:#555;font-weight:500}.native-message[data-v-47a5f4d1]{position:fixed;top:20px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:12px 20px;border-radius:6px;font-size:14px;z-index:9999;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px rgba(0,0,0,.15);max-width:90%}.native-message-info[data-v-47a5f4d1]{background:#edf2fc;color:#909399;border:1px solid #ebeef5}.native-message-warning[data-v-47a5f4d1]{background:#fdf6ec;color:#e6a23c;border:1px solid #faecd8}.native-message-error[data-v-47a5f4d1]{background:#fef0f0;color:#f56c6c;border:1px solid #fde2e2}.map-loading[data-v-47a5f4d1]{position:absolute;top:0;left:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#f8f9fa;z-index:10}.loading-spinner[data-v-47a5f4d1]{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;-webkit-animation:spin-data-v-47a5f4d1 1s linear infinite;animation:spin-data-v-47a5f4d1 1s linear infinite;margin-bottom:10px}.loading-text[data-v-47a5f4d1]{color:#666;font-size:14px}@-webkit-keyframes spin-data-v-47a5f4d1{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-data-v-47a5f4d1{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}