:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{-webkit-overflow-scrolling:touch;overscroll-behavior:none;place-items:center;width:100%;min-width:320px;height:100%;min-height:100vh;margin:0;display:flex;position:fixed;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.map-container{width:100%;height:100%;position:relative}.floor-selector{z-index:1000;flex-direction:column;display:flex;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.floor-btn{color:#1976d2;cursor:pointer;box-shadow:none;background:#fff;border:1px solid #1976d2;border-radius:6px;padding:8px 16px;font-weight:700;transition:all .2s}.floor-btn.active{color:#fff;background:#1976d2;box-shadow:0 2px 8px #1976d233}.directions-panel{z-index:1000;flex-direction:column;justify-content:center;width:260px;height:100%;padding:16px 8px 8px;display:flex;position:absolute;top:0;right:0}.directions-content{background-color:#ffffff8f;height:600px;overflow-y:auto;box-shadow:0 0 10px #00000080}.cancel-directions{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:6px;margin-top:20px;padding:10px 0;font-weight:700;transition:background .2s;box-shadow:0 0 10px #00000080}.cancel-directions:hover{background:#d32f2f}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.directionMarker{color:#000;background-color:#fff;border-radius:50%;justify-content:center;align-items:center;padding:3px;font-size:14px;display:flex;box-shadow:0 0 10px #00000080}.directionMarker img{width:24px;height:24px}.mappedin-ctrl-bottom-right{display:none}#location-info-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background:#fffffffa;border:1px solid #ffffff4d;border-radius:20px;width:340px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:.3s ease-out slideInRight;display:none;position:fixed;top:50%;right:24px;transform:translateY(-50%);box-shadow:0 12px 40px #00000026}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%)translate(100%)}to{opacity:1;transform:translateY(-50%)translate(0)}}.info-content{border-radius:20px;padding:0;overflow:hidden}.info-header{color:#fff;background:linear-gradient(135deg,#1976d2,#1565c0);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.location-name{letter-spacing:-.2px;margin:0;font-size:20px;font-weight:600}.info-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:background-color .2s;display:flex}.info-close:hover{background:#fff3}.info-body{padding:24px}.location-image{text-align:center;margin-bottom:20px}.image-placeholder{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:4px solid #1976d2;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin:0 auto;font-size:36px;display:flex;box-shadow:0 4px 12px #1976d233}.location-details{text-align:center;margin-bottom:24px}.location-description{color:#666;margin:0 0 16px;font-size:15px;line-height:1.5}.location-meta{color:#888;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;justify-content:space-between;padding:12px 16px;font-size:13px;display:flex}.location-actions{gap:12px;display:flex}.action-btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.action-btn.primary{color:#fff;background:#1976d2;box-shadow:0 2px 8px #1976d24d}.action-btn.primary:hover{background:#1565c0;transform:translateY(-2px);box-shadow:0 4px 12px #1976d266}.action-btn.secondary{color:#666;background:#f8f9fa;border:1px solid #e9ecef}.action-btn.secondary:hover{background:#e9ecef;border-color:#dee2e6;transform:translateY(-1px)}.btn-icon{font-size:16px}#direction-source-modal{z-index:2000;justify-content:center;align-items:center;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:fixed;top:0;left:0}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;width:100%;height:100%;position:absolute;top:0;left:0}.modal-content.direction-source{background:#fff;border-radius:20px;width:90%;max-width:520px;max-height:80vh;animation:.3s ease-out modalAppear;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000040}@keyframes modalAppear{0%{opacity:0;transform:scale(.9)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{color:#fff;background:linear-gradient(135deg,#1976d2,#1565c0);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{letter-spacing:-.2px;margin:0;font-size:20px;font-weight:600}.modal-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:background-color .2s;display:flex}.modal-close:hover{background:#fff3}.modal-body{padding:24px}.destination-info{background:#f8f9fa;border-left:4px solid #1976d2;border-radius:12px;margin-bottom:24px;padding:16px 20px}.destination-info .label{color:#666;font-size:14px;font-weight:600}.destination-name{color:#1976d2;font-size:16px;font-weight:600}.source-options{flex-direction:column;gap:16px;max-height:400px;display:flex;overflow-y:auto}.source-option{cursor:pointer;background:#fff;border:2px solid #e9ecef;border-radius:16px;padding:20px;transition:all .2s}.source-option:hover{background:#f8f9ff;border-color:#1976d2;transform:translateY(-1px)}.source-option.active{background:#f0f7ff;border-color:#1976d2;box-shadow:0 4px 12px #1976d21a}.option-header{align-items:center;gap:16px;margin-bottom:12px;display:flex}.option-icon{background:#1976d2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex;box-shadow:0 2px 8px #1976d24d}.option-title{color:#333;letter-spacing:-.2px;font-size:18px;font-weight:600}.option-description{color:#666;margin-bottom:16px;font-size:15px;line-height:1.4}.search-container{margin-top:16px}#location-search{box-sizing:border-box;border:1px solid #e0e0e0;border-radius:10px;outline:none;width:100%;padding:14px 18px;font-size:15px;transition:border-color .2s}#location-search:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.search-results{background:#fff;border:1px solid #e0e0e0;border-radius:10px;max-height:200px;margin-top:12px;display:none;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.search-result-item{cursor:pointer;border-bottom:1px solid #f0f0f0;padding:16px 20px;transition:background-color .2s}.search-result-item:hover{background:#f8f9fa}.search-result-item:last-child{border-bottom:none}.result-name{color:#333;font-size:15px;font-weight:600}.result-details{color:#666;margin-top:4px;font-size:13px}.map-select-btn,.current-location-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #1976d24d}.map-select-btn:hover,.current-location-btn:hover{background:#1565c0;transform:translateY(-1px);box-shadow:0 4px 12px #1976d266}#map-selection-prompt{color:#fff;z-index:1500;background:#1976d2;border-radius:16px;padding:18px 28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:.3s ease-out slideDown;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000040}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)!important}}.prompt-content{align-items:center;gap:16px;display:flex}.prompt-icon{font-size:28px}.prompt-text{letter-spacing:-.2px;font-size:16px;font-weight:600}.prompt-cancel{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background-color .2s}.prompt-cancel:hover{background:#ffffff4d}.floor-navigation-modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.floor-navigation-modal .modal-overlay{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.floor-navigation-modal .modal-content{z-index:1;background:#fff;border-radius:20px;width:90%;max-width:480px;animation:.3s ease-out modalSlideIn;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000040}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)!important}}.floor-navigation-modal .modal-header{color:#fff;background:linear-gradient(135deg,#1976d2,#1565c0);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.floor-navigation-modal .modal-header h3{letter-spacing:-.2px;margin:0;font-size:20px;font-weight:600}.floor-navigation-modal .modal-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:background-color .2s;display:flex}.floor-navigation-modal .modal-close:hover{background:#fff3}.floor-navigation-modal .modal-body{padding:24px}.floor-navigation-modal .modal-body p{color:#666;text-align:center;margin:0 0 24px;font-size:16px;line-height:1.5}.navigation-options{flex-direction:column;gap:16px;display:flex}.nav-option{cursor:pointer;text-align:left;background:#fff;border:2px solid #e9ecef;border-radius:16px;align-items:center;gap:16px;width:100%;padding:20px;transition:all .2s;display:flex}.nav-option:hover{background:#f8f9ff;border-color:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #1976d226}.nav-option:active{transform:translateY(0)}.nav-option .option-icon{background:linear-gradient(135deg,#1976d2,#1565c0);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:32px;display:flex;box-shadow:0 4px 12px #1976d24d}.nav-option .option-text{flex:1}.nav-option .option-title{color:#333;letter-spacing:-.2px;margin-bottom:4px;font-size:18px;font-weight:600}.nav-option .option-desc{color:#666;font-size:14px;line-height:1.4}@media (width<=768px){#location-info-panel{border-radius:20px;width:auto;max-width:none;max-height:60vh;inset:auto 12px 20px;overflow-y:auto;transform:none}.info-header{border-radius:20px 20px 0 0;padding:16px 20px}.location-name{font-size:18px}.info-body{padding:20px}.image-placeholder{width:70px;height:70px;font-size:28px}.location-actions{flex-direction:column;gap:10px}.action-btn{padding:12px 16px;font-size:15px}.modal-content.direction-source{border-radius:20px 20px 0 0;width:96vw;max-width:none;margin:0;animation:.3s ease-out slideUpFromBottom;position:fixed;top:15vh;bottom:0}@keyframes slideUpFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{border-radius:20px 20px 0 0;padding:16px 20px}.modal-header h3{font-size:18px}.modal-body{max-height:calc(75vh - 80px);padding:16px 20px 20px;overflow-y:auto}.destination-info{border-radius:12px;margin-bottom:20px;padding:12px 16px}.destination-info .label{font-size:13px}.destination-name{font-size:15px}.source-options{gap:12px;max-height:none;overflow-y:visible}.source-option{border-width:2px;border-radius:16px;padding:16px}.option-header{gap:12px;margin-bottom:8px}.option-icon{width:44px;height:44px;font-size:22px}.option-title{font-size:16px}.option-description{margin-bottom:12px;font-size:14px}#location-search{border-radius:12px;padding:12px 16px;font-size:16px}.search-results{border-radius:12px;max-height:150px;margin-top:8px}.search-result-item{padding:12px 16px}.result-name{font-size:14px}.result-details{font-size:12px}.map-select-btn,.current-location-btn{border-radius:12px;padding:12px 18px;font-size:15px}#map-selection-prompt{border-radius:16px;padding:16px 20px;top:16px;left:12px;right:12px;transform:none}.prompt-content{text-align:center;flex-direction:column;gap:12px}.prompt-text{font-size:15px}.prompt-cancel{border-radius:10px;padding:8px 16px;font-size:13px}.floor-navigation-modal{padding:0}.floor-navigation-modal .modal-content{border-radius:20px 20px 0 0;width:96vw;max-width:none;margin:0;animation:.3s ease-out slideUpFromBottom;position:fixed;top:20vh;bottom:0}.floor-navigation-modal .modal-header{border-radius:20px 20px 0 0;padding:16px 20px}.floor-navigation-modal .modal-header h3{font-size:18px}.floor-navigation-modal .modal-body{max-height:calc(75vh - 80px);padding:16px 20px 20px;overflow-y:auto}.floor-navigation-modal .modal-body p{margin-bottom:20px;font-size:15px}.navigation-options{gap:12px}.nav-option{border-width:2px;border-radius:16px;gap:12px;padding:16px}.nav-option .option-icon{width:54px;height:54px;font-size:26px}.nav-option .option-title{font-size:16px}.nav-option .option-desc{font-size:13px}.directions-panel{z-index:1000;top:0;right:0;border-radius:0!important;width:100vw!important;height:100vh!important;transition:transform .3s ease-in-out!important;position:fixed!important;transform:translateY(100%)!important}.directions-panel.show{transform:translateY(0)!important}.directions-content{background-color:#fff!important;height:calc(100vh - 60px)!important;padding:10px!important}.cancel-directions{border-radius:12px;margin:12px 10px;padding:12px 0;font-size:15px}.modal-content.direction-source,.floor-navigation-modal .modal-content{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.source-option:active,.nav-option:active{transition:transform .1s;transform:scale(.98)}.action-btn:active{transform:scale(.95)}.source-option,.nav-option,.action-btn,.modal-close,.info-close,.prompt-cancel{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}}@media (width<=480px){#location-info-panel{bottom:16px;left:8px;right:8px}.info-header{padding:14px 16px}.info-body{padding:16px}.modal-content.direction-source,.floor-navigation-modal .modal-content{width:98vw}.modal-header{padding:14px 16px}.modal-body{padding:12px 16px 16px}.source-option,.nav-option{padding:12px}.option-header{gap:10px}.option-icon{width:40px;height:40px;font-size:20px}.nav-option .option-icon{width:48px;height:48px;font-size:24px}}@media (width<=768px) and (orientation:landscape){#location-info-panel{width:320px;max-height:calc(100vh - 60px);bottom:8px;left:auto;right:8px}.modal-content.direction-source,.floor-navigation-modal .modal-content{max-height:90vh;top:5vh}.modal-body,.floor-navigation-modal .modal-body{max-height:calc(85vh - 120px)}}:root{--pin-shadow-hover-scale:.9;--pin-shadow-width:12px;--pin-shadow-height:5px;--pin-shadow-opacity:.35;--pin-drop-animation-duration-ms:.25s}@keyframes drop-pin{0%{transform:translateY(-200%)}to{transform:translateY(0)}}@keyframes pin-shadow{0%{transform:scale(var(--pin-shadow-hover-scale))}to{transform:scale(1)}}.mappedin-dropped-pin-wrapper{width:36px;height:42px;position:relative}.mappedin-dropped-pin-wrapper svg{left:calc(50% - var(--pin-shadow-width));animation:drop-pin var(--pin-drop-animation-duration-ms) ease-in;position:absolute}.mappedin-dropped-pin-wrapper>.pin-shadow{left:calc(50% - var(--pin-shadow-width) / 2);height:var(--pin-shadow-height);width:var(--pin-shadow-width);opacity:var(--pin-shadow-opacity);border-radius:100%;animation:.25s ease-in pin-shadow;position:absolute;bottom:0}@keyframes bounce{0%{opacity:0;transform:translateY(-10px)}12.5%{opacity:1;transform:translateY(0)}25%{transform:translateY(0)}37.5%{transform:translateY(-10px)}50%{transform:translateY(0)}62.5%{transform:translateY(-10px)}75%{transform:translateY(0)}87.5%{transform:translateY(-10px)}to{transform:translateY(0)}}.mappedin-connection-marker{display:flex;position:relative}.mappedin-connection-marker .bouncey{animation:2.5s linear bounce}.mappedin-connection-marker .arrow--down{transform:rotate(180deg)}.mappedin-connection-marker .connection-circle{box-sizing:border-box;background:#595959;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #00000026}.mappedin-map .mappedin-interactive{cursor:grab}.mappedin-map .mappedin-interactive:active{cursor:grabbing}.mappedin-map .mappedin-interactive.mappedin-interaction-hover{cursor:pointer}.mappedin-map .mappedin-control-container{pointer-events:none;font-family:InterUI-Regular,Helvetica,Arial,sans-serif;position:absolute;inset:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-top-left,.mappedin-map .mappedin-control-container .mappedin-ctrl-top-right,.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-left,.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-right{pointer-events:none;position:absolute}.mappedin-map .mappedin-control-container .mappedin-ctrl-top-left{top:0;left:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-top-right{top:0;right:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-left{bottom:0;left:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-right{bottom:0;right:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib{pointer-events:auto;-webkit-user-select:none;user-select:none;background-color:#ffffff80;min-width:11px;min-height:11px;margin:0;padding:3px 5px 1px;font:9px/11px InterUI-Regular,Helvetica,Arial,sans-serif;display:block;position:relative}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib summary.mappedin-ctrl-attrib-button{appearance:none;list-style:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib summary.mappedin-ctrl-attrib-button::-webkit-details-marker{display:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact .mappedin-ctrl-attrib-button,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact-show .mappedin-ctrl-attrib-inner{display:inline-block}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact{background-color:#0000}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact-show{box-sizing:border-box;background-color:#ffffff80;min-width:15px;min-height:15px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-left{float:left;border-bottom-right-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-right{float:right;border-bottom-left-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-left{float:left;border-top-right-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-right{float:right;border-top-left-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-left,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-left{padding:3px 5px 1px 20px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner{margin-right:12px;display:inline-block}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner a{color:#000000bf;text-decoration:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner-bold,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner-bold a{font-weight:700}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner a:hover{color:#017ef1;cursor:pointer;text-decoration:underline}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-button{cursor:pointer;box-sizing:border-box;border:1px;border-radius:50%;width:15px;height:15px;display:none;position:absolute;top:0;right:2px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-left .mappedin-ctrl-attrib-button,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-left .mappedin-ctrl-attrib-button{left:2px}.maplibregl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.maplibregl-canvas{position:absolute;top:0;left:0}.maplibregl-map:fullscreen{width:100%;height:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;z-index:2;position:absolute}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}.maplibregl-ctrl-group button{box-sizing:border-box;cursor:pointer;background-color:#0000;border:0;outline:none;width:29px;height:29px;padding:0;display:block}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{box-sizing:border-box;color:#333;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.maplibregl-popup{pointer-events:none;will-change:transform;display:flex;position:absolute;top:0;left:0}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}.maplibregl-popup-close-button{cursor:pointer;background-color:#0000;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:15px 10px;position:relative;box-shadow:0 1px 2px #0000001a}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{will-change:transform;transition:opacity .2s;position:absolute;top:0;left:0}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.maplibregl-user-location-dot:before{content:"";animation:2s infinite maplibregl-user-location-dot-pulse;position:absolute}.maplibregl-user-location-dot:after{box-sizing:border-box;content:"";border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}.maplibregl-cooperative-gesture-screen{color:#fff;opacity:0;pointer-events:none;z-index:99999;background:#0006;justify-content:center;align-items:center;padding:1rem;font-size:1.4em;line-height:1.2;transition:opacity 1s 1s;display:flex;position:absolute;inset:0}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 50ms}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{z-index:99999;width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}.mappedin-annotation-marker{--mappedin-annotation-border-radius:5px;--mappedin-annotation-border-width:2px;--mappedin-annotation-background-color:#fff;--mappedin-annotation-scale:.7;box-sizing:border-box;border-radius:var(--mappedin-annotation-border-radius);border:var(--mappedin-annotation-border-width) solid var(--mappedin-annotation-background-color);transform:scale(var(--mappedin-annotation-scale)) translateY(0);position:relative;box-shadow:0 2px 8px #00000040}.mappedin-annotation-marker img{image-rendering:crisp-edges;object-fit:contain;border-radius:calc(var(--mappedin-annotation-border-radius) - var(--mappedin-annotation-border-width));position:absolute;top:0}.mappedin-js-inspector .list-items{scroll-behavior:smooth;max-height:600px;overflow-y:scroll}.mappedin-js-inspector .children:focus{border:1px solid #00f}.mappedin-js-inspector #interactionPanel{position:absolute;right:0}.mappedin-js-inspector #mainPanel{position:absolute;left:0}.mappedin-js-inspector .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mappedin-marker{color:#000;will-change:transform,opacity;opacity:0;flex-direction:row;justify-content:center;font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:700;transition:opacity .15s ease-in-out;display:flex;position:absolute;top:0}.mappedin-marker[data-animated=false]{transition:none}.mappedin-marker[data-placement=hidden]>.mappedin-marker-content{visibility:hidden}.mappedin-marker:before{content:"";width:var(--mappedin-pin-size,2px);height:var(--mappedin-pin-size,2px);background-color:var(--pin-color,#666);border-radius:50%;display:none;position:relative}.mappedin-marker[data-placement=hidden]:before{display:block}.mappedin__smart-collision-engine__container{pointer-events:none;z-index:1;font-family:InterUI-Regular,Helvetica,Arial,sans-serif;position:absolute;inset:0}.mappedin__smart-collision-engine-debug__container{pointer-events:none;will-change:opacity;transition:opacity .3s ease-in-out;position:absolute;inset:0}.mappedin__smart-collision-engine-debug__container.interacting{opacity:.2}#root{width:100%;max-width:100%;height:100vh;margin:0;padding:0}.map-container{background:#f5f5f5;width:100%;height:100%;position:relative}.navigation-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;background:#fffffffa;border:1px solid #fff6;border-radius:16px;flex-direction:column;width:340px;display:flex;position:absolute;top:20px;left:20px;overflow:visible;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a}.route-selection{flex:1;grid-template-columns:1fr 55px;align-items:center;gap:12px;padding:12px 0 12px 16px;display:grid;position:relative;overflow:visible}.input-group{margin-bottom:8px}.input-group label{color:#2c3e50;letter-spacing:.3px;margin-bottom:5px;font-size:13px;font-weight:600;display:block}.input-group select{color:#333;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px;font-size:14px;transition:border-color .2s}.input-group select:focus{border-color:#1976d2;outline:none}.input-group select:disabled{cursor:not-allowed;opacity:.7;background:#f5f5f5}.search-container{width:100%;max-width:100%;position:relative}.search-input{color:#2c3e50;box-sizing:border-box;background:#ffffffe6;border:2px solid #e8ecef;border-radius:10px;width:100%;max-width:100%;padding:10px 14px;font-size:13px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-input:focus{background:#fff;border-color:#3b82f6;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #3b82f61a}.search-input:disabled{cursor:not-allowed;opacity:.7;background:#f5f5f5}.dropdown-list{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border:1px solid #3b82f633;border-radius:12px;max-height:200px;overflow-y:auto;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a}.dropdown-item{cursor:pointer;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:10px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.dropdown-item:hover{background:linear-gradient(135deg,#3b82f614 0%,#2563eb0d 100%);transform:translate(2px)}.dropdown-item:first-child{border-radius:12px 12px 0 0}.dropdown-item:last-child{border-bottom:none;border-radius:0 0 12px 12px}.space-name{color:#2c3e50;font-size:13px;font-weight:500}.space-floor{color:#6b7280;background:#3b82f61a;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.inputs-column{flex-direction:column;min-width:0;display:flex;overflow:visible}.button-column{justify-content:flex-start;align-items:center;height:100%;display:flex}.get-directions-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;justify-content:center;align-items:center;width:35px;height:50px;padding:0;font-size:18px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #3b82f64d,0 2px 4px #0000001a}.get-directions-btn:before{content:"→"}.get-directions-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666,0 4px 8px #00000026}.get-directions-btn:disabled{cursor:not-allowed;box-shadow:none;background:#ccc;transform:none}.loading-status{text-align:center;color:#666;background:#f9f9f9;border-radius:8px;margin-top:16px;padding:16px;font-size:14px}.map-area,#mappedin-map{width:100%;height:100%;position:relative}.mappedin-loading{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe6;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.mappedin-loading.hidden{display:none!important}.loading-content{background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex;box-shadow:0 4px 20px #00000026}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#769cd2;border-radius:50%;width:40px;height:40px;animation:1s linear infinite mappedin-spin}.loading-text{color:#769cd2;text-align:center;font-size:16px;font-weight:500}@keyframes mappedin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-departure-marker{color:#fff;cursor:pointer;background:#10b981;border:2px solid #fff;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-width:120px;height:32px;font-size:10px;font-weight:600;transition:all .2s;display:flex;position:relative;transform:scale(1);box-shadow:0 2px 8px #10b9814d}.custom-departure-marker:empty:before{content:"YOU ARE HERE";color:#fff;text-align:center;white-space:nowrap;font-size:10px;font-weight:600}.custom-departure-marker:after{content:"";z-index:1;border-top:8px solid #10b981;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.custom-departure-marker:before{content:"";z-index:0;border-top:10px solid #fff;border-left:10px solid #0000;border-right:10px solid #0000;width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.custom-departure-marker .marker-label{color:#fff;text-align:center;white-space:nowrap;font-size:10px;font-weight:600}.location-highlight-marker{color:#fff;cursor:pointer;background:#ff6b6b;border:3px solid #fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:140px;height:36px;font-size:12px;font-weight:600;transition:all .3s;display:flex;position:relative;transform:scale(1);box-shadow:0 4px 12px #ff6b6b66}.location-highlight-marker:hover{transform:scale(1.1);box-shadow:0 6px 20px #ff6b6b99}.location-highlight-marker:after{content:"";border-left:10px solid #0000;border-right:10px solid #0000;border-top:10px solid var(--marker-after-color,#ff6b6b);z-index:1;width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.location-highlight-marker:before{content:"";z-index:0;border-top:13px solid #fff;border-left:13px solid #0000;border-right:13px solid #0000;width:0;height:0;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)}.location-highlight-marker .marker-icon{font-size:16px}.location-highlight-marker .marker-label{color:#fff;text-align:center;white-space:nowrap;font-size:12px;font-weight:600}.mappedin-error{z-index:9999;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a52 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.error-content{text-align:center;color:#fff;flex-direction:column;align-items:center;max-width:400px;padding:20px;display:flex}.error-icon{margin-bottom:20px;font-size:48px}.error-content h3{margin:0 0 16px;font-size:24px;font-weight:700}.error-content p{opacity:.9;margin:0 0 24px;font-size:16px}.error-content button{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;padding:12px 24px;font-size:14px;transition:all .2s}.error-content button:hover{background:#ffffff4d}.floor-selector{z-index:100;box-shadow:none;background:0 0;border:none;flex-direction:column;gap:24px;display:flex;position:absolute;top:50%;left:20px;overflow:visible;transform:translateY(-50%)}.floor-buttons{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:8px;flex-direction:column;gap:2px;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000026}.floor-button{color:#333;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:50px;height:50px;font-size:14px;font-weight:600;transition:all .2s;display:flex;position:relative}.floor-button:hover{color:#769cd2;background:#769cd21a}.floor-button.active{color:#fff;background:#769cd2}.floor-button:not(:last-child){border-bottom:1px solid #0000001a}.accessible-route-button{color:#333;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:50px;height:50px;padding:0;transition:all .2s;display:flex}.accessible-route-button:hover{color:#769cd2;background:#769cd21a;border-color:#769cd2}.accessible-route-button.active{color:#fff;background:#769cd2;border-color:#769cd2}.accessible-route-button:before{content:"";background-color:currentColor;flex-shrink:0;width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.25%205.25C11.25%206.07843%2010.5784%206.75%209.75%206.75C8.92157%206.75%208.25%206.07843%208.25%205.25C8.25%204.42157%208.92157%203.75%209.75%203.75C10.5784%203.75%2011.25%204.42157%2011.25%205.25ZM12.75%205.25C12.75%206.64788%2011.7939%207.82245%2010.5%208.15549V9.75H15.375V11.25H10.5V14.25H17.8649L18.6149%2018H19.5V19.5H17.3851L16.6351%2015.75H15.75C15.75%2019.0637%2013.0637%2021.75%209.75%2021.75C6.43629%2021.75%203.75%2019.0637%203.75%2015.75C3.75%2012.6903%206.04027%2010.1655%209%209.79642V8.15549C7.70608%207.82245%206.75%206.64788%206.75%205.25C6.75%203.59315%208.09315%202.25%209.75%202.25C11.4069%202.25%2012.75%203.59315%2012.75%205.25ZM9%2015.75H14.25C14.25%2018.2353%2012.2353%2020.25%209.75%2020.25C7.26472%2020.25%205.25%2018.2353%205.25%2015.75C5.25%2013.5203%206.87171%2011.6693%209%2011.3122V15.75Z'%20fill='%23000000'/%3e%3c/svg%3e") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.25%205.25C11.25%206.07843%2010.5784%206.75%209.75%206.75C8.92157%206.75%208.25%206.07843%208.25%205.25C8.25%204.42157%208.92157%203.75%209.75%203.75C10.5784%203.75%2011.25%204.42157%2011.25%205.25ZM12.75%205.25C12.75%206.64788%2011.7939%207.82245%2010.5%208.15549V9.75H15.375V11.25H10.5V14.25H17.8649L18.6149%2018H19.5V19.5H17.3851L16.6351%2015.75H15.75C15.75%2019.0637%2013.0637%2021.75%209.75%2021.75C6.43629%2021.75%203.75%2019.0637%203.75%2015.75C3.75%2012.6903%206.04027%2010.1655%209%209.79642V8.15549C7.70608%207.82245%206.75%206.64788%206.75%205.25C6.75%203.59315%208.09315%202.25%209.75%202.25C11.4069%202.25%2012.75%203.59315%2012.75%205.25ZM9%2015.75H14.25C14.25%2018.2353%2012.2353%2020.25%209.75%2020.25C7.26472%2020.25%205.25%2018.2353%205.25%2015.75C5.25%2013.5203%206.87171%2011.6693%209%2011.3122V15.75Z'%20fill='%23000000'/%3e%3c/svg%3e") 50%/contain no-repeat}.mappedin-zoom-controls{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:8px;flex-direction:row;gap:2px;display:flex;position:absolute;bottom:20px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.zoom-btn{color:#333;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:500;transition:all .2s;display:flex}.zoom-btn:hover{color:#769cd2;background:#769cd21a}.zoom-btn:active{background:#769cd233;transform:scale(.95)}.zoom-in{border-right:1px solid #0000001a}.service-marker{background:#000;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;box-shadow:0 2px 8px #00000026}.service-marker img{object-fit:contain}.transportation-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.transportation-modal{background:#fff;border-radius:16px;width:90%;max-width:500px;animation:.3s ease-out modalSlideIn;overflow:hidden;box-shadow:0 8px 32px #0003}.transportation-modal-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:24px}.transportation-modal-header h3{color:#2c3e50;margin:0 0 8px;font-size:20px}.transportation-modal-header p{color:#5a6c7d;margin:0;font-size:14px}.floor-info{color:#7f8c8d;font-size:13px;font-style:italic}.transportation-options{flex-direction:column;gap:12px;padding:20px;display:flex}.transportation-btn{cursor:pointer;text-align:left;background:#fff;border:2px solid #e9ecef;border-radius:12px;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.transportation-btn:hover{background:#f8f9fa;border-color:#769cd2;transform:translateY(-2px);box-shadow:0 4px 12px #769cd233}.transport-icon{background:#f8f9fa;border-radius:10px;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.transport-content h4{color:#2c3e50;margin:0 0 4px;font-size:16px}.transport-content p{color:#7f8c8d;margin:0;font-size:13px}.transportation-modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:flex-end;padding:16px 24px;display:flex}.cancel-btn{color:#5a6c7d;cursor:pointer;background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:10px 20px;font-size:14px;transition:all .2s}.cancel-btn:hover{background:#f8f9fa;border-color:#dee2e6}.floor-transition-overlay{z-index:999999;pointer-events:none;justify-content:center;align-items:flex-start;width:100%;height:100%;padding-top:100px;display:flex;position:fixed;top:0;left:0}.floor-transition-popup{pointer-events:auto;background:#1a1a1a;border:2px solid #333;border-radius:12px;min-width:500px;max-width:90vw;padding:20px 30px;animation:.3s ease-out slideDown;box-shadow:0 8px 32px #00000080}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.map-container{width:100vw;height:100vh;position:relative;overflow:hidden}.navigation-panel{width:auto;max-width:calc(100vw - 20px);max-height:300px;top:10px;left:10px;right:10px}.route-selection{padding:16px}.input-group{margin-bottom:16px}.get-directions-btn{width:100%;padding:12px 16px;font-size:14px}.map-area{width:100vw;height:100vh}#mappedin-map{position:fixed;top:0;left:0;width:100vw!important;height:100vh!important}body.route-active{padding-top:calc(64px + env(safe-area-inset-top))}body.route-active .navigation-panel{display:none}body.route-active .floor-selector{top:calc(50% + 32px + env(safe-area-inset-top,0px) / 2);transform:translateY(-50%)}.floor-selector{box-shadow:none;background:0 0;border:none;top:50%;left:10px;transform:translateY(-50%)}.floor-buttons{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:12px;max-height:calc(100vh - 180px);overflow-y:auto;box-shadow:0 4px 20px #00000040}.floor-button,.accessible-route-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:44px;height:44px;font-size:13px}.accessible-route-button{background:#fffffffa;border-radius:12px}.floor-button:hover{background:#769cd226}.floor-button:active{background:#769cd240;transform:scale(.95)}.mappedin-zoom-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:12px;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.zoom-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:48px;height:48px;font-size:20px}.zoom-btn:hover{background:#769cd226}.zoom-btn:active{background:#769cd240;transform:scale(.95)}.custom-departure-marker{border-radius:8px;min-width:100px;height:36px;font-size:11px;box-shadow:0 3px 12px #10b98166}.location-highlight-marker{border-radius:10px;min-width:120px;height:40px;font-size:13px;box-shadow:0 4px 16px #ff6b6b80}.service-marker{border-radius:6px;padding:6px;box-shadow:0 3px 12px #0003}.transportation-modal{border-radius:20px;width:95vw;max-width:none;max-height:90vh;margin:0 10px;overflow-y:auto}.transportation-modal-header{padding:20px}.transportation-modal-header h3{font-size:18px}.transportation-options{gap:12px;padding:16px}.transportation-btn{text-align:center;border-radius:16px;flex-direction:column;gap:12px;padding:16px 12px}.transport-icon{border-radius:12px;width:60px;height:60px;margin-bottom:8px}.transport-content h4{font-size:15px}.transport-content p{font-size:12px}.floor-transition-popup{border-radius:16px;min-width:280px;max-width:calc(100vw - 40px);margin:0 20px;padding:16px 20px}.loading-content{border-radius:16px;margin:0 20px;padding:20px}.loading-text{font-size:15px}.error-content{max-width:calc(100vw - 40px);margin:0 20px;padding:20px}.error-content h3{font-size:20px}.error-content p{font-size:15px}.error-content button{border-radius:12px;padding:14px 28px;font-size:15px}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.directions-content,.directions-content *,#directions-panel,#directions-panel *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:text}button,.floor-button,.zoom-btn,.action-btn,.transportation-btn,.nav-option,.source-option{touch-action:manipulation!important;-webkit-user-select:none!important;user-select:none!important}button:active,.floor-button:active,.zoom-btn:active{transition:transform .1s,background-color .1s;transform:scale(.95)}input,select,textarea{touch-action:manipulation;min-height:44px;font-size:16px!important}button,.floor-button,.zoom-btn{min-width:44px;min-height:44px}.map-container,#mappedin-map{-webkit-overflow-scrolling:touch;overscroll-behavior:none;touch-action:pan-x pan-y}body,html{overscroll-behavior:none;-webkit-overflow-scrolling:touch}.desktop-only{display:none!important}}@media (width<=480px){.floor-selector{box-shadow:none;background:0 0;border:none;top:50%;left:8px;transform:translateY(-50%)}.floor-button,.accessible-route-button{width:38px;height:38px;font-size:12px}.mappedin-zoom-controls{bottom:8px;left:50%;transform:translate(-50%)}.zoom-btn{width:44px;height:44px;font-size:18px}.custom-departure-marker{min-width:90px;height:32px;font-size:10px}.location-highlight-marker{min-width:110px;height:36px;font-size:12px}.transportation-modal{width:98vw;max-height:95vh;margin:0 4px}.transportation-modal-header{padding:16px}.transportation-options{padding:12px}.floor-transition-popup{min-width:260px;padding:12px 16px}}@media (width<=768px) and (orientation:landscape){.floor-selector{box-shadow:none;background:0 0;border:none;top:50%;left:8px;transform:translateY(-50%)}.floor-buttons{max-height:calc(100vh - 60px)}.floor-button,.accessible-route-button{width:36px;height:36px;font-size:11px}.mappedin-zoom-controls{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.zoom-btn{width:40px;height:40px;font-size:16px}}#directions-panel{touch-action:pan-y;-webkit-overflow-scrolling:touch;will-change:transform;backface-visibility:hidden;z-index:10000;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed}@media (width>=769px){#directions-panel{flex-direction:column;width:400px;height:100vh;transition:transform .3s ease-in-out;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-2px 0 10px #0000001a}#directions-panel.show{transform:translate(0)}}@media (width<=768px){#directions-panel{width:90vw;height:100vh;padding-bottom:env(safe-area-inset-bottom);border:none;border-radius:0;transition:transform .3s ease-in-out;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-2px 0 10px #0000001a}#directions-panel.show{transform:translate(0)}#directions-header{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#1976d2 0%,#1565c0 100%);border-radius:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:relative}.directions-close-arrow{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:8px;font-size:20px;font-weight:700;transition:all .3s;display:flex}.directions-close-arrow:hover{background:#fff3}#directions-reopen-btn{display:none!important}#collapse-icon{font-size:24px;transition:transform .4s cubic-bezier(.25,.8,.25,1);transform:rotate(0)}#directions-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;height:calc(85vh - 68px);transition:opacity .3s;overflow:hidden auto}}#directions-panel .steps-section{touch-action:pan-y;gap:12px;padding:0}#directions-panel .steps-section::-webkit-scrollbar{width:4px}#directions-panel .steps-section::-webkit-scrollbar-track{background:0 0}#directions-panel .steps-section::-webkit-scrollbar-thumb{background:#769cd24d;border-radius:2px}#directions-panel .steps-section::-webkit-scrollbar-thumb:hover{background:#769cd280}@media (width<=768px){#directions-panel{padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent}#directions-panel .steps-section{touch-action:pan-y;gap:8px;padding:8px 12px;transition:all .3s}#directions-panel .steps-section>div{border-radius:16px!important;margin:0!important;padding:16px!important;transition:transform .1s!important;box-shadow:0 3px 12px #00000026!important}#directions-panel .steps-section>div:active{transform:scale(.98)!important}#directions-panel *{font-size:15px!important;line-height:1.5!important}#directions-panel h2,#directions-panel .destination-name{font-size:20px!important;font-weight:600!important}#directions-panel .step-number{font-size:13px!important;font-weight:700!important}#directions-panel .steps-section>div>div:first-child{width:32px!important;height:32px!important}#directions-panel .steps-section>div>div:last-child{gap:8px!important}}.directions-content::-webkit-scrollbar{width:6px}#directions-content::-webkit-scrollbar{width:6px}.directions-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}#directions-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.directions-content::-webkit-scrollbar-thumb{background:#769cd2;border-radius:3px}#directions-content::-webkit-scrollbar-thumb{background:#769cd2;border-radius:3px}.directions-content::-webkit-scrollbar-thumb:hover{background:#5a7bc4}#directions-content::-webkit-scrollbar-thumb:hover{background:#5a7bc4}#directions-header{z-index:1;position:relative}@media (width<=768px){#collapse-icon{transition:transform .4s cubic-bezier(.25,.8,.25,1)}#directions-content{background:linear-gradient(#fafafa 0%,#fff 2% 100%)}}@media (width>=769px){#directions-panel{overflow-y:auto!important}#directions-panel .steps-section>div{margin-bottom:0!important;padding:14px 16px!important}}#directions-header>div:first-child>div{transition:all .3s}#directions-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:20px;transition:opacity .3s;overflow-y:auto}#directions-content::-webkit-scrollbar{width:3px}#directions-content::-webkit-scrollbar-thumb{background:#1976d24d;border-radius:2px}.directions-component{touch-action:pan-y;-webkit-overflow-scrolling:touch;will-change:transform;backface-visibility:hidden;z-index:10000;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed}.directions-component__header{color:#fff;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#1976d2 0%,#1565c0 100%);justify-content:space-between;align-items:center;display:flex}.directions-component__header h2{margin:0;font-weight:600}.directions-component__close-btn{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-weight:700;transition:all .3s;display:flex}.directions-component__close-btn:hover{background:#fff3}.directions-component__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;transition:opacity .3s;overflow-y:auto}.directions-component__content::-webkit-scrollbar{width:3px}.directions-component__content::-webkit-scrollbar-thumb{background:#1976d24d;border-radius:2px}.directions-component__content::-webkit-scrollbar-thumb:hover{background:#5a7bc4}.directions-component--mobile-summary{z-index:9998;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0 0 20px 20px;width:100vw;height:64px;transition:all .3s cubic-bezier(.4,0,.2,1);top:0;left:0;box-shadow:0 4px 20px #0000001f}.directions-component__header--mobile-compact{gap:16px;height:100%;margin-bottom:8px;padding:12px 20px}.directions-component__route-info{flex:1;min-width:0}.directions-component__route-title{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.2px;margin-bottom:2px;font-size:17px;font-weight:700;line-height:1.2;overflow:hidden}.directions-component__route-description{opacity:.85;color:#ffffffe6;cursor:pointer;letter-spacing:.1px;font-size:13px;font-weight:500}.directions-component--mobile-summary .directions-component__close-btn{background:#f44336f2;flex-shrink:0;width:32px;height:32px;font-size:16px;box-shadow:0 2px 8px #f443364d}.directions-component--mobile-summary .directions-component__close-btn:hover{background:#f44336;transform:scale(1.05);box-shadow:0 4px 16px #f4433666}.directions-component--mobile-summary:hover{background:#3b82f6;box-shadow:0 6px 25px #00000026}.directions-component--mobile-summary:active{background:#1d4ed8;transition:all .1s}.directions-component--mobile-dropdown{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:9997;background:#f8fafcfa;border:1px solid #fff3;border-radius:0 0 24px 24px;flex-direction:column;width:100vw;height:calc(100dvh - 64px);max-height:calc(100dvh - 64px);transition:all .4s cubic-bezier(.25,.8,.25,1);display:flex;position:fixed;top:64px;left:0;overflow:hidden;transform:translateY(-100%);box-shadow:0 8px 32px #0000001f}.directions-component--mobile-dropdown.directions-component--visible{transform:translateY(0)}.directions-component--mobile-panel{border:none;border-radius:0;flex-direction:column;width:90vw;height:100dvh;transition:transform .3s ease-in-out;display:flex;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-2px 0 10px #0000001a}.directions-component--mobile-panel.directions-component--visible{transform:translate(0)}.directions-component__header--mobile-full{box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:0;flex-shrink:0;padding:16px 20px}.directions-component__header-left{align-items:center;gap:12px;display:flex}.directions-component__header-right{align-items:center;display:flex}.directions-component--mobile-panel .directions-component__close-btn{width:36px;height:36px;padding:8px;font-size:20px}.directions-component__content--mobile{-webkit-overflow-scrolling:touch;background:0 0;flex:1;min-height:0;padding:16px;overflow-y:auto}.directions-component--mobile-dropdown .directions-component__content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:16px;overflow-y:auto}.directions-component--desktop-panel{flex-direction:column;width:400px;height:100dvh;transition:transform .3s ease-in-out;display:flex;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-2px 0 10px #0000001a}.directions-component--desktop-panel.directions-component--visible{transform:translate(0)}.directions-component__header--desktop{flex-shrink:0;min-height:60px;padding:0 16px}.directions-component__header--desktop h2{font-size:18px}.directions-component--desktop-panel .directions-component__close-btn{border-radius:4px;padding:4px 8px;font-size:24px}.directions-component__content--desktop{padding:20px;overflow-y:auto}body.route-active{padding-top:64px}body.route-active .navigation-panel{display:none}body.route-active .floor-selector{top:calc(50% + 32px);transform:translateY(-50%)}@media (width<=768px){.directions-component--mobile-panel{height:100dvh}.directions-component__close-btn:active{transform:scale(.95)}.directions-component__route-info,.directions-component__close-btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}}@media (width<=1024px) and (width>=769px){.directions-component--desktop-panel{width:350px}}@media (width<=480px){.directions-component--mobile-panel{width:100vw}.directions-component__route-title{font-size:16px}.directions-component__route-description{font-size:12px}}@media (height<=600px) and (orientation:landscape){.directions-component--mobile-summary{height:56px}.directions-component__header--mobile-compact{padding:8px 20px}body.route-active{padding-top:56px}}.directions-component__content{color:#1e293b;box-sizing:border-box;direction:ltr;background:linear-gradient(135deg,#f8fafc 0%,#fff 100%);flex-direction:column;width:100%;height:100%;padding:5px 15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,SF Pro Display,Roboto,sans-serif;display:flex;overflow:hidden}.directions-component__summary{border-bottom:1px solid #94a3b833;flex-shrink:0;padding:16px 0}.directions-component__destination-card{color:#000;text-align:center;border-radius:8px;margin:8px 0}.directions-component__destination-name{letter-spacing:-.025em;color:#000;font-size:24px;font-weight:600}.directions-component__destination-floor{opacity:.9;color:#000;font-size:14px;font-weight:400}.directions-component__walking-info{justify-content:center;align-items:center;gap:12px;display:flex}.directions-component__walking-icon,.directions-component__location-pin-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.directions-component__dotted-line{border-top:2px dotted #000c;width:80px}.directions-component__distance-time{letter-spacing:-.025em;color:#000;font-size:16px;font-weight:500}.directions-component__steps-section{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#0000004d transparent;flex-direction:column;flex:1;gap:3px;display:flex;overflow:hidden auto;touch-action:pan-y!important}.directions-component__step{background:#fff;border-left:3px solid #769cd2;border-radius:0;align-items:flex-start;gap:3px;padding:12px;display:flex;position:relative;box-shadow:0 2px 8px #0000001a}.directions-component__step--last{color:#fff;background:#363636;border-left:3px solid #000;padding:8px}.directions-component__step-icon{background:#fff;border:2px solid #000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex;box-shadow:0 2px 6px #00000026}.directions-component__step-icon--last{background:#fff}.directions-component__step-icon-inner{color:#000;font-size:16px}.directions-component__step-number{color:#000;font-size:12px;font-weight:700}.directions-component__step-content{flex:1}.directions-component__step-content--last{color:#fff}.directions-component__step-title{color:#2c3e50;margin-bottom:4px;font-size:14px;font-weight:600}.directions-component__step-title--last{color:#fff;font-size:12px}.directions-component__step-description{color:#5a6c7d;margin-bottom:6px;font-size:12px;line-height:1.4}.directions-component__step-description--last{color:#f8f9fa;margin-bottom:2px;font-size:10px}.directions-component__step-distance-info{color:#7f8c8d;font-size:11px}.directions-component__step-distance-info--last{color:#e9ecef}.directions-component__step-distance{font-weight:600}.directions-component__step-distance--last{color:#fff}.directions-component__step-time{margin-left:8px;font-weight:600}.directions-component__connector-triangle{z-index:1;border-top:8px solid #3498db;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:25px}.directions-component__footer{border-top:1px solid #94a3b833;flex-shrink:0;margin-top:12px;padding:12px}.directions-component__footer-buttons{justify-content:center;gap:8px;display:flex}.directions-component__button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff4d;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .3s}.directions-component__button--replay{background:#769cd2;box-shadow:0 2px 8px #769cd24d}.directions-component__button--replay:hover{background:#769cd2cc;transform:scale(1.05)}.directions-component__button--cancel{background:#dc3545;box-shadow:0 2px 8px #dc35454d}.directions-component__button--cancel:hover{background:#dc3545cc;transform:scale(1.05)}
