.search-header{text-align:center;margin-bottom:20px;padding:16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:1px solid #dee2e6;box-shadow:0 2px 8px #0000000d}.search-header h3{margin:0 0 8px;color:#01386a;font-size:1.4rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.search-header p{margin:0;color:#6c757d;font-size:.95rem;line-height:1.4}.search-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;color:#495057;font-size:.9rem}.search-label i{font-size:1rem}.search-label i.fa-map-marker-alt{color:#28a745}.search-label i.fa-flag-checkered{color:#dc3545}.search-divider{display:flex;align-items:center;margin:16px 0;gap:12px}.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#dee2e6,transparent)}.search-divider i{color:#6c757d;font-size:1.2rem}.search-status{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.8rem;color:#28a745;opacity:0;transition:opacity .3s ease;font-weight:600}.search-status.show{opacity:1}.search-status.valid{color:#28a745}.search-status.invalid{color:#dc3545}.routeList_container{margin-bottom:20px}.list_container{display:block!important;width:100%!important;overflow:hidden;box-sizing:border-box}.list_container--journey{background:linear-gradient(180deg,#fffef8,#fff8d6);padding:.75rem .5rem 1rem}.price-journey{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.price-breakdown-guide{margin:0;padding:.55rem .75rem;font-size:.78rem;line-height:1.45;color:#495057;background:#fff;border-left:3px solid #ffd700;border-right:3px solid #ffd52f;box-sizing:border-box}.pj-row{display:grid;grid-template-columns:4.75rem 2rem 1fr;gap:.65rem;align-items:stretch;min-height:0}.pj-row--terminal{align-items:start}.pj-row--segment{align-items:center}.pj-row--waypoint{align-items:start}.pj-fare{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;padding-right:.15rem;min-height:2.75rem}.pj-row--segment .pj-fare{min-height:3.25rem}.pj-row--waypoint .pj-fare--empty{min-height:0}.pj-fare-value{font-size:1rem;font-weight:800;color:#1a7f37;line-height:1.2;letter-spacing:-.02em}.pj-fare-value--walk{font-size:.85rem;color:#c0392b;font-weight:700}.pj-fare-caption{font-size:.65rem;color:#6c757d;font-weight:500;margin-top:.15rem;line-height:1.2}.pj-rail{position:relative;display:flex;flex-direction:column;align-items:center;min-height:100%;padding:.15rem 0}.pj-rail-line{flex:1;width:2px;min-height:.75rem;background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:2px}.pj-rail-line--down{width:2px}.pj-rail-arrow{font-size:.85rem;line-height:1;color:#94a3b8;margin-bottom:.1rem;font-weight:700}.pj-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid #fff;box-shadow:0 2px 6px #00000026;z-index:1}.pj-dot--start{width:16px;height:16px;background:#22c55e;border-color:#dcfce7;box-shadow:0 0 0 3px #22c55e40}.pj-dot--stop{width:16px;height:16px;background:#ef4444;border-color:#fee2e2;box-shadow:0 0 0 3px #ef444438}.pj-dot--route{background:var(--route-color, #ffd700)}.pj-rail--segment{justify-content:flex-start;min-height:2.5rem}.pj-rail--waypoint{justify-content:flex-start;padding-top:0}.pj-rail--waypoint .pj-rail-line--down{min-height:.85rem;flex:1}.pj-content--segment{padding:.25rem 0 .5rem}.pj-content--rateable{cursor:pointer;border-radius:8px;transition:background .2s ease,box-shadow .2s ease}.pj-content--rateable:focus-visible{outline:2px solid #ffd52f;outline-offset:2px}.pj-route-rating{display:flex;flex-direction:column;gap:.15rem;margin-top:.35rem}.pj-route-rating-breakdown{font-size:.65rem;color:#6c757d;line-height:1.3}.pj-route-rating-meta{font-size:.68rem;color:#6c757d;font-weight:600}.pj-stars{display:inline-flex;align-items:center;gap:.12rem;color:#ffd52f;font-size:.72rem;line-height:1}.pj-stars .far{color:#d1d5db}.pj-stars--readonly i{pointer-events:none}.pj-rate-hint{display:block;margin-top:.25rem;font-size:.62rem;font-weight:600;color:#305a84;text-transform:uppercase;letter-spacing:.04em}.route-ratings-section{margin-top:.75rem;padding:.85rem .9rem 1rem;background:linear-gradient(180deg,#fffdf5,#fff 55%);border:1px solid rgba(255,213,47,.45);border-radius:12px;scroll-margin-top:5rem;width:100%;box-sizing:border-box}.route-ratings-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;flex-wrap:wrap;margin-bottom:.35rem}.route-ratings-header{flex:1 1 9rem;min-width:0;margin:0;padding:.45rem .65rem;border-radius:10px;background:linear-gradient(135deg,#ffd52f,#f6c400);box-sizing:border-box}.route-ratings-header p{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;font-size:.82rem;font-weight:700;line-height:1.35;color:#193148}.route-ratings-demo-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;background:#1931481f;color:#193148;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.route-ratings-picker-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:1px solid #d5dde8;border-radius:8px;background:#fff;color:#193148;font-size:.72rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;align-self:flex-start}.route-ratings-picker-btn:hover{background:#f4f8fc;border-color:#305a84}.route-ratings-lead{margin:0 0 .75rem;font-size:.78rem;line-height:1.45;color:#6c757d}.route-rating-form .form-group{margin-bottom:.75rem}.route-rating-form .form-label,.route-rating-form label{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:700;color:#193148}.route-rating-form select,.route-rating-form textarea{width:100%;box-sizing:border-box;border:1px solid #d5dde8;border-radius:8px;padding:.5rem .6rem;font-size:.82rem;font-family:inherit}.route-rating-form__selected-label{display:block;font-size:.68rem;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:.04em}.route-rating-form__selected{margin-bottom:.75rem;padding:.55rem .65rem;background:#f8fafc;border-radius:8px;border:1px dashed #d5dde8;display:flex;flex-direction:column;gap:.3rem}.route-rating-form__selected .pj-route-rating-meta{display:block;line-height:1.4;white-space:normal;word-break:break-word}.rr-star-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .25rem;position:relative;z-index:2;padding:.15rem 0}.rr-star-picker__label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#d1d5db;font-size:1.35rem;line-height:1;min-width:1.75rem;min-height:1.75rem;padding:.15rem;transition:color .15s ease,transform .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rr-star-picker__label:hover,.rr-star-picker__label.is-active{color:#ffd52f;transform:scale(1.05)}.rr-star-picker__input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.rr-star-picker__value{flex:1 1 100%;margin-top:.15rem;font-size:.72rem;font-weight:600;color:#6c757d;line-height:1.35}.rr-star-picker__btn{border:none;background:transparent;padding:.35rem;cursor:pointer;color:#d1d5db;font-size:1.35rem;line-height:1;min-width:1.75rem;min-height:1.75rem;transition:color .15s ease,transform .15s ease;pointer-events:auto;position:relative;z-index:2}.rr-star-picker__btn:hover,.rr-star-picker__btn.is-active{color:#ffd52f}.rr-star-picker__btn:focus-visible{outline:2px solid #ffd52f;border-radius:4px}.route-rating-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .85rem;border:none;border-radius:8px;background:linear-gradient(135deg,#193148,#305a84);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer}.route-rating-submit:hover{filter:brightness(1.05)}.route-reviews-open-btn{width:100%;margin-top:.65rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem .75rem;border:1px solid #305a84;border-radius:10px;background:#fff;color:#193148;font-size:.8rem;font-weight:700;cursor:pointer}.route-reviews-open-btn:hover{background:#f4f8fc}.route-reviews-fab{position:absolute;bottom:1.25rem;left:1rem;z-index:12;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .85rem;border:none;border-radius:999px;background:linear-gradient(135deg,#193148,#305a84);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #19314859}.route-reviews-fab:hover{filter:brightness(1.06)}.route-reviews-fab i{font-size:1rem}.route-reviews-overlay{position:fixed;inset:0;z-index:6000;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#0f172a73;backdrop-filter:blur(2px)}.route-reviews-overlay[hidden]{display:none!important}.route-reviews-sheet{width:100%;max-width:520px;max-height:min(88vh,640px);background:#fff;border-radius:18px 18px 0 0;display:flex;flex-direction:column;box-shadow:0 -8px 32px #19314833;animation:route-reviews-sheet-in .28s ease}@keyframes route-reviews-sheet-in{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}.route-reviews-sheet__handle{flex-shrink:0;width:2.5rem;height:.28rem;margin:.55rem auto 0;border-radius:999px;background:#d1d5db}.route-reviews-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.65rem 1rem .5rem;border-bottom:1px solid #eef1f5;flex-shrink:0}.route-reviews-sheet__header h2{margin:0;font-size:1rem;font-weight:800;color:#193148}.route-reviews-sheet__subtitle{margin:.2rem 0 0;font-size:.72rem;color:#6c757d}.route-reviews-sheet__close{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:50%;background:#f1f5f9;color:#193148;cursor:pointer;display:flex;align-items:center;justify-content:center}.route-reviews-sheet__close:hover{background:#e2e8f0}.route-reviews-sheet__body{flex:1;min-height:0;overflow-y:auto;padding:.75rem 1rem 1.25rem;-webkit-overflow-scrolling:touch}.route-reviews-sheet__body .route-reviews-list{max-height:none}@media (min-width: 769px){.route-reviews-overlay{align-items:center;padding:1rem}.route-reviews-sheet{border-radius:16px;max-height:min(80vh,620px)}.route-reviews-sheet__handle{display:none}}@media (max-width: 768px){.route-reviews-fab{bottom:5.5rem;left:.75rem;font-size:.78rem;padding:.5rem .75rem}}body.route-reviews-sheet-open{overflow:hidden}.route-reviews-block__header{margin-bottom:.65rem}.route-reviews-block__title{margin:0 0 .35rem;font-size:.88rem;font-weight:800;color:#193148;display:flex;align-items:center;gap:.4rem}.route-reviews-block__title i{color:#305a84}.route-reviews-block__lead{margin:0;font-size:.74rem;line-height:1.45;color:#6c757d}.route-reviews-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.route-reviews-tab{flex:1 1 auto;min-width:0;max-width:100%;padding:.4rem .55rem;border:1px solid #d5dde8;border-radius:8px;background:#fff;color:#193148;font-size:.68rem;font-weight:700;line-height:1.25;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.route-reviews-tab:hover{border-color:#305a84;background:#f4f8fc}.route-reviews-tab.is-active{border-color:#ffd52f;background:linear-gradient(180deg,#fffdf0,#fff);box-shadow:0 2px 8px #ffd52f40}.route-reviews-tab__name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-reviews-tab__meta{display:block;margin-top:.15rem;font-size:.62rem;font-weight:600;color:#6c757d}.route-reviews-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.65rem;padding:.5rem .65rem;background:#f8fafc;border-radius:8px;border:1px solid #e8edf2}.route-reviews-summary__title{flex:1 1 100%;margin:0;font-size:.78rem;font-weight:700;color:#193148;line-height:1.35;word-break:break-word}.route-reviews-summary__stats{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;font-size:.72rem;color:#495057}.route-reviews-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;max-height:14rem;overflow-y:auto}.route-review-card{padding:.6rem .65rem;background:#fff;border:1px solid #e8edf2;border-radius:10px;box-shadow:0 1px 4px #1931480f}.route-review-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.route-review-card__author{font-size:.76rem;font-weight:700;color:#193148}.route-review-card__date{font-size:.65rem;color:#9ca3af;white-space:nowrap;flex-shrink:0}.route-review-card__stars{margin-bottom:.3rem}.route-review-card__scores{font-size:.65rem;color:#6c757d;margin-bottom:.35rem}.route-review-card__text{margin:0;font-size:.76rem;line-height:1.45;color:#374151;word-break:break-word}.route-reviews-empty{margin:0;padding:.75rem;text-align:center;font-size:.76rem;color:#6c757d;background:#f8fafc;border-radius:8px;border:1px dashed #d5dde8}.route-reviews-loading,.route-reviews-empty-item{list-style:none;margin:0;padding:.75rem;text-align:center;font-size:.76rem;color:#6c757d;background:#f8fafc;border-radius:8px;border:1px dashed #d5dde8}.pj-content--waypoint{padding:.1rem 0 .65rem}.pj-segment-destination{display:block;font-size:.78rem;font-weight:600;color:#6c757d;margin-top:.15rem;line-height:1.3;word-wrap:break-word;overflow-wrap:anywhere}.pj-waypoint-name{display:block;font-size:.9rem;font-weight:700;color:#01386a;line-height:1.35;word-wrap:break-word;overflow-wrap:anywhere}.pj-row--segment:hover .pj-content--segment{background:#ffffff8c;border-radius:8px;margin-right:-.25rem;padding-left:.35rem;padding-right:.35rem}.pj-row--segment:hover .pj-content--rateable{background:#fffdf0f2;box-shadow:0 2px 8px #19314814}.pj-row--start .pj-rail-line--down{min-height:1.25rem}.pj-rail-line--to-stop{min-height:1rem}.pj-row--stop .pj-rail{justify-content:flex-start;padding-top:0}.pj-content{display:flex;flex-direction:column;justify-content:center;padding:.35rem 0 .85rem;min-width:0}.pj-row--terminal .pj-content{padding-bottom:.5rem}.pj-terminal-label{font-size:.95rem;font-weight:800;color:#01386a;text-transform:uppercase;letter-spacing:.04em}.pj-row--start .pj-terminal-label{color:#15803d}.pj-row--stop .pj-terminal-label{color:#b91c1c}.pj-terminal-hint{font-size:.72rem;color:#6c757d;margin-top:.2rem;line-height:1.35}.pj-step-hint{display:block;font-size:.72rem;color:#6c757d;font-weight:500;line-height:1.35}.pj-step-place{display:block;font-size:.92rem;font-weight:700;color:#01386a;margin-top:.2rem;line-height:1.35;word-wrap:break-word;overflow-wrap:anywhere}.price-breakdown-list{list-style:none;margin:0;padding:0;width:100%}.price-toggle-section{margin-top:16px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.toggle-container{display:flex;align-items:center;justify-content:center;gap:12px}.toggle-label{font-size:.9rem;color:#6c757d;font-weight:500}.direction-header{margin-bottom:16px;padding:12px 16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #28a745;box-shadow:0 2px 4px #0000000d}.direction-header h4{margin:0 0 4px;color:#01386a;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px}.direction-header p{margin:0;color:#6c757d;font-size:.85rem}.direction-controls{display:flex;gap:8px;margin-bottom:16px;justify-content:flex-start;flex-direction:row;align-items:center;flex-wrap:nowrap}.direction-simulation-bar{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.direction-simulation-bar .sub_direction_container{flex:1;min-width:0}.default_direction_button{background:linear-gradient(135deg,#dc3545,#b02a37);color:#fff;border:none;padding:8px 12px;border-radius:6px;font-weight:600;font-size:.78rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;box-shadow:0 2px 4px #dc354533}.default_direction_button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.default_direction_button[hidden]{display:none}.direction_button{background:#6c757d;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:.9rem;min-width:40px}.direction_button:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.direction_button:disabled{background:#adb5bd;cursor:not-allowed;transform:none}.directions-content{background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d;padding:12px;margin-top:12px}.no-directions{text-align:center;padding:12px 14px;color:#6c757d;display:block;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border:1px dashed #dee2e6;margin:8px 0}.no-directions i{font-size:1.25rem;margin-bottom:6px;color:#adb5bd;opacity:.8}.no-directions p{margin:0;font-size:.8rem;font-weight:500;color:#495057;line-height:1.35}.no-directions.hide{display:none}.sub_direction_container{display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;padding:0;overflow-x:auto}.sub_direction_container.hide{display:none}.mapbox-directions-instructions{background:#f8f9fa!important;border-radius:8px!important;border:1px solid #dee2e6!important;box-shadow:0 2px 8px #0000001a!important;margin:10px 0!important;padding:16px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.mapbox-directions-instructions .mapbox-directions-step{padding:8px 0!important;border-bottom:1px solid #e9ecef!important;margin-bottom:8px!important}.mapbox-directions-instructions .mapbox-directions-step:last-child{border-bottom:none!important;margin-bottom:0!important}.mapbox-directions-instructions .mapbox-directions-step-text{color:#495057!important;font-size:.95rem!important;line-height:1.5!important;font-weight:500!important}.mapbox-directions-instructions .mapbox-directions-step-distance{color:#6c757d!important;font-size:.85rem!important;font-weight:400!important;margin-top:4px!important}.mapbox-directions-instructions .mapbox-directions-step-icon{background:#007bff!important;color:#fff!important;border-radius:50%!important;width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:.8rem!important;font-weight:700!important;margin-right:12px!important}.mapbox-directions-component{display:none!important}.text-directions{background:#f8f9fa!important;border-radius:8px!important;border:1px solid #dee2e6!important;box-shadow:0 2px 8px #0000001a!important;margin:10px 0!important;padding:16px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;color:#495057!important;font-size:.95rem!important;line-height:1.6!important}.text-directions h4{color:#01386a!important;font-size:1.1rem!important;font-weight:600!important;margin:0 0 12px!important;display:flex!important;align-items:center!important;gap:8px!important}.text-directions p{margin:8px 0!important;color:#495057!important;font-size:.95rem!important;line-height:1.5!important}.text-directions .step{padding:8px 0!important;border-bottom:1px solid #e9ecef!important;margin-bottom:8px!important}.text-directions .step:last-child{border-bottom:none!important;margin-bottom:0!important}.text-directions .step-number{background:#007bff!important;color:#fff!important;border-radius:50%!important;width:24px!important;height:24px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:.8rem!important;font-weight:700!important;margin-right:12px!important}.map-loading{position:absolute;inset:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.map-loading.show{opacity:1;visibility:visible}.loading-spinner{font-size:2rem;color:#007bff;margin-bottom:16px}.map-loading p{margin:0;color:#6c757d;font-weight:500;font-size:1.1rem}.map-controls{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.map-control-btn{width:40px;height:40px;background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a;transition:all .3s ease;color:#6c757d}.map-control-btn:hover{background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.search_input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.search_input.valid{border-color:#28a745;background-color:#28a7450d}.search_input.invalid{border-color:#dc3545;background-color:#dc35450d}.toggle-button{position:relative;width:50px;height:24px;background:#dee2e6;border-radius:12px;cursor:pointer;transition:all .3s ease;border:1px solid #adb5bd}.toggle-button.active{background:#007bff;border-color:#0056b3}.toggle-circle{position:absolute;transform:translate(0);top:1px;left:1px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003;border:1px solid #dee2e6}.toggle-button.active .toggle-circle{transform:translate(2px);border-color:#007bff}@media (max-width: 768px){.search-header{display:none}.sourceSearch.container,.destinationSearch.container{max-width:100%;position:relative;width:100%;margin:0 auto}.searchRow{background-color:#fff;border:2px solid black;border-radius:8px;width:100%;max-width:280px;height:2.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto}.search_input.source,.search_input.destination{position:relative;height:80%;width:75%;border:none;background:transparent;text-align:center;font-size:clamp(.8rem,1vw,1rem)}.search_input.source:focus,.search_input.destination:focus{outline:none;box-shadow:none;border-color:initial}.sourceSearch .fa-search,.destinationSearch .fa-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:3;font-size:clamp(16px,1.5vw,20px);color:#919191}.search-status,.search-divider{display:none}.direction-controls{flex-direction:row;flex-wrap:nowrap;gap:6px;overflow-x:auto}.direction-simulation-bar{flex-direction:column;align-items:stretch;gap:8px}.direction-simulation-bar .default_direction_button{width:100%;justify-content:center}.map-controls{top:10px;right:10px}.map-control-btn{width:36px;height:36px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.route-header,.direction-header,.price-toggle-section{animation:fadeInUp .5s ease-out}.searchRow{position:relative;transition:all .3s ease}.searchRow:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.rightPriceRow{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;transition:all .3s ease;cursor:pointer}.rightPriceRow:hover{background:#f8f9fa;transform:translate(4px)}.leftPriceRow{padding:8px 12px;border-radius:6px;transition:all .3s ease;font-weight:600;color:#28a745}.route_circle{width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003}.tm-panel{display:flex;flex-direction:column;height:100%;min-height:0;background:linear-gradient(180deg,#fff,#f4f8fc);border-left:1px solid rgba(1,56,106,.1);box-shadow:-4px 0 24px #01386a14;box-sizing:border-box;font-family:Open Sans,system-ui,sans-serif}.tm-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;background:linear-gradient(135deg,#01386a,#0a4d8c);color:#fff;flex-shrink:0;position:sticky;top:0;z-index:2}.tm-title{margin:0;font-size:.95rem;font-weight:700;letter-spacing:.01em;display:flex;align-items:center;gap:.45rem}.tm-title i{color:#ffd52f}.tm-close.close_button{position:static;margin:0;width:2rem;height:2rem;border:none;border-radius:50%;background:#ffffff26;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tm-close.close_button:hover{background:#ffffff47}.tm-steps{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.85rem .75rem 2rem;scroll-padding-bottom:1.5rem;scrollbar-width:thin;scrollbar-color:#c5d4e3 transparent}.tm-step{position:relative;background:#fff;border-radius:12px;border:1px solid rgba(1,56,106,.1);box-shadow:0 2px 10px #01386a0f;overflow:hidden}.tm-step-badge{display:inline-block;margin:.65rem .75rem 0;padding:.2rem .55rem;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px}.tm-step--start .tm-step-badge{background:#e8f4ea;color:#1a7f37}.tm-step--taxirank .tm-step-badge{background:#eef3fa;color:#01386a}.tm-step--stop .tm-step-badge{background:#fdecea;color:#c0392b}.tm-step-body{padding:.5rem .75rem .85rem;display:flex;flex-direction:column;gap:.55rem}.tm-step-body--empty{padding:1rem .75rem}.tm-empty-message{margin:0;font-size:.82rem;line-height:1.5;color:#6c757d;text-align:center}.tm-step-visual--start{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.35rem 0 .15rem}.tm-hand-signal{width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(145deg,#ffd52f,#ffbe0b);border:3px solid #01386a;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #ffbe0b73;animation:tm-hand-pulse 2s ease-in-out infinite}.tm-hand-signal i{font-size:1.65rem;color:#01386a;transform-origin:bottom center;animation:tm-hand-wave 1.1s ease-in-out infinite}@keyframes tm-hand-wave{0%,to{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-6deg)}60%{transform:rotate(14deg)}80%{transform:rotate(-4deg)}}@keyframes tm-hand-pulse{0%,to{box-shadow:0 4px 14px #ffbe0b73}50%{box-shadow:0 6px 20px #ffbe0ba6}}.tm-step-hint{margin:0;font-size:.78rem;font-weight:600;color:#495057;text-align:center}.tm-photo{width:100%;aspect-ratio:16 / 10;border-radius:8px;overflow:hidden;background:#e9ecef}.tm-photo--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:2px dashed rgba(1,56,106,.2);background:linear-gradient(135deg,#f1f5f9,#e8eef5);color:#6c8ba8}.tm-photo--placeholder i{font-size:1.35rem;opacity:.7}.tm-photo--loaded img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.tm-photo--loaded{border:none;background:#e9ecef}.tm-photo--placeholder span{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.tm-step-name{margin:0;font-size:.92rem;font-weight:700;color:#01386a;line-height:1.3}.tm-stop-advice{margin:0;font-size:.8rem;line-height:1.55;color:#495057;padding:.55rem .65rem;background:#fff8e6;border-left:3px solid #ffd52f;border-radius:0 8px 8px 0}.tm-address{display:flex;align-items:flex-start;gap:.45rem;font-size:.78rem;line-height:1.45;color:#343a40;padding-top:.15rem}.tm-address i{color:#01386a;margin-top:.15rem;flex-shrink:0;font-size:.85rem}.tm-connector{display:flex;justify-content:center;padding:.2rem 0;color:#adb5bd;font-size:.75rem}.tm-connector i{opacity:.85}@media (max-width: 768px){.tm-panel{border-left:none;border-radius:1rem}.tm-header{border-radius:1rem 1rem 0 0}.tm-steps{max-height:calc(57vh - 3rem)}}
