.map-sidebar{width:var(--sidebar-width, 320px);height:calc(100vh - var(--header-height, 72px));background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:var(--header-height, 72px);left:0;transition:width .3s ease;z-index:var(--z-sidebar, 1100);overflow:visible}.map-sidebar.collapsed{width:0;overflow:visible;background:transparent;border-right:none}.collapse-btn{position:absolute;top:50%;transform:translateY(-50%);right:-24px;background:var(--color-surface);border:1px solid var(--color-border);border-left:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;transition:all .2s ease;z-index:15;width:24px;height:80px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500}.collapse-btn:hover{background:var(--color-primary-light);color:var(--color-primary);box-shadow:6px 0 16px #00000029;transform:translateY(-50%) scale(1.08)}.collapse-btn svg{stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.map-sidebar.collapsed .collapse-btn{position:fixed;top:50%;transform:translateY(-50%);left:0;right:auto;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:6px 0 16px #00000029;border-left:none;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}.sidebar-header{display:flex;align-items:center;padding:var(--spacing-sm);min-height:60px;overflow:visible;position:relative;border-bottom:var(--border-divider-hairline)}.sidebar-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.filters-section{position:relative;overflow:visible;padding-left:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.sidebar-active-search-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.35rem .6rem;margin-left:var(--spacing-sm);border-radius:var(--border-radius-md);background:#ffc56f59;color:var(--color-text);border:1px solid rgba(224,159,50,.55)}.sidebar-active-search-chip .chip-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sidebar-active-search-chip .chip-clear{border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:0 var(--spacing-xs);line-height:1;border-radius:var(--border-radius-sm);transition:background .2s ease,color .2s ease}.sidebar-active-search-chip .chip-clear:hover,.sidebar-active-search-chip .chip-clear:focus-visible{background:#00000014;color:#805808e6;outline:none}.sidebar-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-pagination-info{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);background-color:#00000005;border-bottom:var(--border-divider-hairline)}.route-list{flex:1;display:flex;flex-direction:column;overflow-y:auto}.route-card-wrapper{margin:var(--spacing-sm);border-radius:var(--border-radius-md);transition:all .2s ease}.route-card-wrapper.selected{background-color:#00000014}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--color-text-secondary);min-height:300px}.empty-state svg{color:var(--color-text-tertiary);margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-sm)}.empty-state p{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:280px;line-height:1.5}.no-results{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.no-results p{margin-bottom:var(--spacing-md)}@media (max-width: 768px){.map-sidebar{position:fixed;top:var(--header-height-mobile, 56px);left:0;height:calc(100vh - var(--header-height-mobile, 56px));z-index:1000;transform:translate(-100%);transition:transform .3s ease}.map-sidebar:not(.collapsed){transform:translate(0);background:var(--color-surface);border-right:1px solid var(--color-border)}.map-sidebar.collapsed{width:0;background:transparent;overflow:visible}.map-sidebar.collapsed .collapse-btn{position:fixed;top:50%;transform:translateY(-50%);left:0;right:auto;border-left:none;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}.collapse-btn{top:50%;transform:translateY(-50%);right:-24px}}.filter-dropdown{--filter-dropdown-arrow-offset: 10% ;position:relative}.filter-dropdown:before{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:8px;background:transparent;z-index:999}.filter-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface-alt);border:1px solid var(--color-border-dark, var(--color-border));border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.filter-btn.active-chip{background:transparent;border-color:transparent;color:var(--color-text);box-shadow:none;padding:0 var(--spacing-xs)}.filter-btn.active-chip:hover{background:transparent;color:var(--color-text);border-color:transparent}.chip-text{display:inline-flex;align-items:center;gap:4px}.chip-label{white-space:nowrap}.chip-separator{color:var(--color-text-secondary)}.chip-text .street-view-icon--static{color:inherit;transform:none}.distance-dropdown .filter-btn{min-height:calc(20px + (var(--spacing-sm) * 2));justify-content:center}.distance-dropdown .filter-btn.active-chip{padding:0;border:none;background:transparent;min-height:auto;box-shadow:none}.distance-dropdown .filter-btn .chip-inline{margin-left:0;cursor:default;padding:var(--spacing-sm) var(--spacing-md);margin-right:0}.distance-dropdown .filter-btn .chip-inline .chip-clear{cursor:pointer}.distance-dropdown .filter-btn .chip-inline .chip-clear:focus-visible{outline:none}.distance-dropdown .sidebar-active-search-chip{padding:var(--spacing-sm) var(--spacing-md);margin:0}.filter-panel{position:absolute;top:calc(100% + 10px);left:0;background:var(--color-surface);border:1px solid var(--color-border-dark, var(--color-border));border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-md) var(--spacing-sm);z-index:var(--z-filter-panel, 1400);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;pointer-events:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-panel:before{content:"";position:absolute;top:-8px;left:var(--filter-dropdown-arrow-offset);width:14px;height:14px;background:var(--color-surface);border-left:1px solid var(--color-border-dark, var(--color-border));border-top:1px solid var(--color-border-dark, var(--color-border));transform:translateY(-3px) rotate(45deg);opacity:0;transition:all .2s ease;box-shadow:-2px -2px 6px #0000000a;pointer-events:none}.filter-dropdown:hover .filter-panel,.filter-panel:hover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.filter-dropdown:hover .filter-panel:before,.filter-panel:hover:before{opacity:1;transform:translateY(0) rotate(45deg)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin:0}.filter-streetview-row{flex-direction:row;align-items:center;justify-content:space-between}.filter-streetview-row .filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.filter-group.compact label{margin-bottom:2px}.filter-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);text-transform:none;letter-spacing:0;margin-bottom:4px}.filter-checkbox{align-items:center;gap:2px;color:var(--color-text)}.filter-checkbox .street-view-icon{padding:0;border:none;border-radius:var(--border-radius-sm);background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,transform .2s ease}.filter-checkbox:hover .street-view-icon{color:var(--color-primary)}.filter-checkbox .street-view-icon:hover{background:none;color:inherit;transform:none}.filter-checkbox:has(input[type=checkbox]:checked) .street-view-icon{color:var(--color-primary)}.filter-group select{width:100%;padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface)}.filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.filter-actions{margin-top:var(--spacing-sm);display:flex;justify-content:flex-end}@media (max-width: 768px){.filter-panel{position:absolute;top:calc(100% + 8px);left:-150px;min-width:280px;max-width:320px}.checkboxes-container{flex-direction:row;justify-content:flex-start}.checkbox-item{font-size:11px;padding:3px 6px}}.checkboxes-container{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;justify-content:flex-start}.checkbox-item{display:flex;align-items:center;gap:3px;cursor:pointer;padding:3px 6px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-surface);transition:all .2s ease;font-size:11px;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden}.checkbox-item:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.checkbox-item input[type=checkbox]{margin:0;width:12px;height:12px;accent-color:var(--color-primary);flex-shrink:0}.checkbox-item input[type=checkbox]:checked+.checkbox-label{color:var(--color-primary);font-weight:var(--font-weight-medium)}.checkbox-item:has(input[type=checkbox]:checked){background:var(--color-primary-light);border-color:var(--color-primary)}.checkbox-label{color:var(--color-text);transition:all .2s ease}.street-view-icon.svelte-rp1lmp{background:none;border:none;font-size:1rem;color:inherit;display:inline-flex;align-items:center;justify-content:center}button.street-view-icon.svelte-rp1lmp{cursor:pointer;padding:2px;border-radius:4px;transition:background-color .2s ease,color .2s ease,transform .2s ease}button.street-view-icon.svelte-rp1lmp:hover{background-color:#f3f4f6;color:#2563eb;transform:scale(1.05)}.street-view-icon--static.svelte-rp1lmp{padding:0;pointer-events:none}.slider-container{display:flex;flex-direction:column;gap:var(--spacing-xs)}.range-inputs{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs);background:var(--color-surface-alt, rgba(0, 0, 0, .02));border-radius:var(--border-radius-md);border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.range-input{width:56px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border, rgba(0, 0, 0, .15));border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);background:var(--color-surface, white);text-align:center;transition:all .2s ease}.range-input:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a;background:var(--color-surface, white)}.range-input:hover{border-color:var(--color-border-hover, rgba(0, 0, 0, .25))}.range-separator{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0 var(--spacing-xs)}.range-unit{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding-left:var(--spacing-xs);border-left:1px solid var(--color-border, rgba(0, 0, 0, .1));margin-left:var(--spacing-xs)}.range-sliders{position:relative;height:20px}.range-track{position:absolute;top:8px;left:0;width:100%;height:4px;background:var(--color-border, rgba(0, 0, 0, .1));border-radius:2px;z-index:1}.range-fill{position:absolute;top:8px;height:4px;background:linear-gradient(90deg,var(--color-primary, #3b82f6) 0%,var(--color-primary-dark, #2563eb) 100%);border-radius:2px;z-index:2}.range-slider{position:absolute;width:100%;height:4px;background:transparent;appearance:none;pointer-events:none;z-index:3}.range-slider::-webkit-slider-track{width:100%;height:4px;background:transparent;border-radius:2px}.range-slider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:#fff;border:2px solid var(--color-primary, #3b82f6);border-radius:50%;cursor:pointer;pointer-events:all;margin-top:16px;box-shadow:0 2px 4px #0000001a,0 1px 2px #0000000d;transition:all .2s ease}.range-slider::-webkit-slider-thumb:hover{background:var(--color-primary, #3b82f6);border-color:var(--color-primary-dark, #2563eb);box-shadow:0 4px 8px #3b82f640,0 2px 4px #0000001a;transform:scale(1.05)}.range-slider::-moz-range-track{width:100%;height:4px;background:transparent;border-radius:2px;border:none}.range-slider::-moz-range-thumb{width:18px;height:18px;background:#fff;border:2px solid var(--color-primary, #3b82f6);border-radius:50%;cursor:pointer;pointer-events:all;box-shadow:0 2px 4px #0000001a,0 1px 2px #0000000d;transition:all .2s ease}.range-slider::-moz-range-thumb:hover{background:var(--color-primary, #3b82f6);border-color:var(--color-primary-dark, #2563eb);box-shadow:0 4px 8px #3b82f640,0 2px 4px #0000001a;transform:scale(1.05)}.route-image-gallery.svelte-a7m52u{width:100%;height:200px;display:flex;overflow:hidden;gap:2px;cursor:pointer;transition:transform .2s ease}.route-image-gallery.svelte-a7m52u:hover{transform:scale(1.02)}.single-image.svelte-a7m52u{width:100%;height:100%;object-fit:cover}.dual-image.svelte-a7m52u{width:calc(50% - 1px);height:100%;object-fit:cover}.main-image-container.svelte-a7m52u{width:60%;height:100%}.main-image.svelte-a7m52u{width:100%;height:100%;object-fit:cover}.secondary-images-container.svelte-a7m52u{width:calc(40% - 2px);height:100%;display:flex;flex-direction:column;gap:2px}.secondary-image.svelte-a7m52u{width:100%;height:calc(50% - 1px);object-fit:cover}@media (max-width: 768px){.route-image-gallery.svelte-a7m52u{height:160px}.route-image-gallery[data-image-count="3"].svelte-a7m52u .main-image-container:where(.svelte-a7m52u){width:55%}.route-image-gallery[data-image-count="3"].svelte-a7m52u .secondary-images-container:where(.svelte-a7m52u){width:calc(45% - 2px)}}.route-detail-card{position:fixed;top:calc(var(--header-height, 72px) + 10px);left:calc(var(--sidebar-width, 320px) + 10px - 105px);width:425px;height:90%;background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-route-detail, 1000);display:flex;flex-direction:column;overflow:hidden;max-width:calc(100vw - var(--sidebar-width, 320px) - 40px)}.route-detail-card.sidebar-collapsed{left:10px;max-width:calc(100vw - 40px)}.route-detail-card.is-dragging{z-index:var(--z-modal, 1600)}.route-detail-card.panorama-expanded{left:10px;width:min(calc(var(--sidebar-width, 320px) * 2),calc(100vw - 20px));max-width:calc(100vw - 20px)}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);border-bottom:var(--border-divider-hairline);background:var(--color-surface-alt)}.route-detail-card.waypoint-mode .detail-header{position:absolute;top:0;left:0;right:0;border-bottom:none;background:linear-gradient(180deg,rgba(15,23,42,.18) 0%,rgba(15,23,42,.08) 45%,transparent 100%);border-radius:var(--border-radius-lg);color:#f8fafc;gap:var(--spacing-sm);z-index:6;pointer-events:auto;box-shadow:none}.route-detail-card.waypoint-mode .detail-header:hover,.route-detail-card.waypoint-mode .detail-header:active{background:linear-gradient(180deg,rgba(15,23,42,.24) 0%,rgba(15,23,42,.12) 55%,transparent 100%)}.header-main{display:flex;align-items:center;gap:var(--spacing-sm)}.back-btn{width:32px;height:32px;border:none;background:var(--color-surface);border-radius:var(--border-radius-pill);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);color:var(--color-text-secondary);transition:all .2s ease}.back-btn:hover{background:var(--color-primary-light);color:var(--color-primary)}.route-detail-card.waypoint-mode .back-btn{background:#0f172a59;border:1px solid rgba(255,255,255,.35);color:#f8fafc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.route-detail-card.waypoint-mode .back-btn:hover{background:#0f172a80;color:#fff}.drag-handle{cursor:grab;transition:background-color .2s ease}.drag-handle:hover{background:var(--color-primary-light, #e3f2fd)}.drag-handle:active{cursor:grabbing;background:var(--color-primary, #1976d2)}.drag-handle:active .detail-title{color:#fff}.drag-indicator{font-size:12px;color:var(--color-text-secondary);letter-spacing:-2px;opacity:0;transition:opacity .2s ease;-webkit-user-select:none;user-select:none;pointer-events:none}.route-detail-card.waypoint-mode .drag-indicator{color:#ffffffa6}.drag-handle:hover .drag-indicator{opacity:.7}.detail-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.route-detail-card.waypoint-mode .detail-title{color:inherit;text-shadow:0 1px 2px rgba(15,23,42,.4)}.close-btn{width:32px;height:32px;border:none;background:var(--color-surface);border-radius:var(--border-radius-pill);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);color:var(--color-text-secondary);transition:all .2s ease}.close-btn:hover{background:var(--color-primary-light);color:var(--color-primary)}.detail-image{position:relative;height:200px;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.waypoint-photos-count{position:absolute;bottom:8px;left:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.detail-status{padding:var(--spacing-lg, 24px) var(--spacing-md, 16px);display:flex;flex-direction:column;gap:var(--spacing-md, 16px);align-items:stretch}.detail-loading .skeleton-block{border-radius:var(--border-radius-md, 12px)}.skeleton-block--image{height:200px}.skeleton-block--chart{height:120px}.skeleton-block--list{height:96px}.skeleton-lines{display:flex;flex-direction:column;gap:var(--spacing-xs, 8px)}.skeleton-line{height:14px;border-radius:var(--border-radius-pill, 999px)}.skeleton-line--wide{width:80%}.skeleton-line--short{width:60%}.detail-error{align-items:center;text-align:center;color:var(--color-text-secondary)}.detail-error p{margin:0}.retry-btn{align-self:center;padding:6px 16px;border-radius:var(--border-radius-pill, 999px);border:none;background:var(--color-primary, #2563eb);color:#fff;cursor:pointer;font-size:var(--font-size-sm, 14px);transition:background .2s ease,opacity .2s ease}.retry-btn:hover{background:var(--color-primary-dark, #1e40af)}.retry-btn:disabled{opacity:.5;cursor:not-allowed}.detail-content{flex:1;padding:0;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.detail-content::-webkit-scrollbar{width:6px}.detail-content::-webkit-scrollbar-track{background:transparent}.detail-content::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.detail-content::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.waypoint-detail{display:flex;flex-direction:column;height:100%;position:relative}.waypoint-panorama{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--color-surface-alt);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.waypoint-panorama.expanded{position:absolute;inset:0 321px 0 0;aspect-ratio:unset;border-bottom:none;z-index:5}.waypoint-list-scroll{flex:1;overflow-y:auto;min-height:0}.waypoint-list-scroll.expanded{position:absolute;top:0;bottom:0;right:0;width:320px;border-left:var(--border-divider-hairline);background:var(--color-surface);overflow-y:auto}.elevation-section{padding:var(--spacing-md);background:var(--color-surface);border-top:var(--border-divider-hairline)}.elevation-section h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.detail-actions{padding:var(--spacing-md);border-top:var(--border-divider-hairline);background:var(--color-surface-alt);display:flex;gap:var(--spacing-sm);flex-shrink:0}.detail-link-btn{flex:1;justify-content:center}.external-icon{flex-shrink:0;transition:all .2s ease}.detail-actions :global(.save-button){min-width:80px}.route-detail-card.panorama-expanded .waypoint-detail{position:static;overflow:visible}.route-detail-card.panorama-expanded .waypoint-panorama.expanded{position:absolute}.route-detail-card.panorama-expanded .detail-actions,.route-detail-card.panorama-expanded .detail-header{pointer-events:none}.route-detail-card.panorama-expanded .detail-header .back-btn{pointer-events:auto}.waypoint-orientation-marker{position:relative;width:30px;height:30px;pointer-events:none}.waypoint-orientation-marker .marker-pointer-wrapper{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;transform:rotate(0);transform-origin:50% 50%;pointer-events:none;z-index:2;transition:transform .12s linear}.waypoint-orientation-marker .marker-ring{position:absolute;width:22px;height:22px;border-radius:50%;background:#f8fafc;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #0f172a40,0 0 0 2px #0f766e2e;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%)}.waypoint-orientation-marker .marker-core{width:18px;height:18px;border-radius:50%;background:#0891b2;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.waypoint-orientation-marker .marker-label{line-height:1}.waypoint-orientation-marker .marker-pointer{position:relative;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:10px solid #0891b2;margin-top:-5px}.waypoint-tooltip-popup{pointer-events:none}.waypoint-tooltip-popup .mapboxgl-popup{overflow:visible!important}.waypoint-tooltip-popup .mapboxgl-popup-content{padding:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible}.waypoint-tooltip-popup .mapboxgl-popup-tip{display:none}.waypoint-tooltip{position:relative;padding:8px 10px;background:#fff;border-radius:8px;box-shadow:0 8px 18px #0f172a2e,0 0 0 1px #0f172a0a;min-width:180px}.waypoint-tooltip__name{font-size:14px;font-weight:600;color:#111827;line-height:1.3}.waypoint-tooltip__category{margin-top:4px;font-size:12px;color:#6b7280;line-height:1.3}.waypoint-tooltip__description{margin-top:4px;font-size:12px;color:#4b5563;line-height:1.4}.waypoint-tooltip__arrow{position:absolute;left:50%;bottom:-5px;width:16px;height:10px;background:#fff;transform:translate(-50%);border:none;box-shadow:0 2px 6px #0f172a1f;clip-path:polygon(0 0,100% 0,50% 100%)}.map-page-root.svelte-w85nl5{position:relative}.mapbox-container.svelte-w85nl5{position:fixed;top:var(--header-height, 72px);left:0;right:0;bottom:0;overflow:hidden;z-index:var(--z-map, 1000)}.mapbox-container.svelte-w85nl5 .mapboxgl-canvas{width:100%!important;height:100%!important}.map-skeleton.svelte-w85nl5{position:absolute;inset:0;z-index:1000}.search-area-btn.svelte-w85nl5{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1001;background-color:#fff;color:#333;border:1px solid #e0e0e0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.search-area-btn.svelte-w85nl5:hover{background-color:#f8f9fa;box-shadow:0 4px 12px #00000026;transform:translate(-50%) translateY(-1px)}.search-area-btn.svelte-w85nl5:active{transform:translate(-50%) translateY(0);box-shadow:0 2px 4px #0000001a}.search-area-btn.with-sidebar.svelte-w85nl5{left:calc(50% + var(--sidebar-width, 320px) / 2);transform:translate(-50%)}.mapbox-host.svelte-w85nl5{position:relative}.map-floating-slot.svelte-w85nl5{position:fixed;inset:0;pointer-events:none;z-index:2050;display:none}.map-floating-card.svelte-w85nl5{display:none}.map-floating-card.svelte-w85nl5:empty{display:none}.map-page-root.streetview-mode.svelte-w85nl5{background:#000;--streetview-map-width: clamp(220px, 24vw, 320px);--streetview-map-height: clamp(140px, 18vw, 220px)}.map-page-root.streetview-mode.svelte-w85nl5 .search-area-btn:where(.svelte-w85nl5){display:none}.map-page-root.streetview-mode.svelte-w85nl5 .mapbox-host:where(.svelte-w85nl5){display:none}.map-page-root.streetview-mode.svelte-w85nl5 .map-floating-slot:where(.svelte-w85nl5){display:block}.map-page-root.streetview-mode.svelte-w85nl5 .map-floating-card:where(.svelte-w85nl5){display:flex;position:fixed;right:24px;bottom:24px;width:var(--streetview-map-width);height:var(--streetview-map-height);border-radius:22px;border:1px solid rgba(255,255,255,.4);box-shadow:0 22px 45px #0307128c;background:#0f172a73;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1700;pointer-events:auto;overflow:hidden;transition:transform .2s ease,opacity .2s ease}.map-page-root.streetview-mode.svelte-w85nl5 .mapbox-container:where(.svelte-w85nl5){position:absolute;width:100%;height:100%;inset:0}.map-page-root.streetview-mode.svelte-w85nl5 .map-sidebar{display:none}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card{width:0;height:0;left:0;top:0;background:transparent;box-shadow:none;overflow:visible;z-index:1900}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-header{position:fixed;top:var(--header-height, 72px);left:0;right:0;width:auto;padding:var(--spacing-sm);z-index:2100;pointer-events:none;border-radius:0;background:linear-gradient(180deg,rgba(15,23,42,.45) 0%,rgba(15,23,42,.25) 55%,transparent 100%);gap:var(--spacing-md)}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-header .detail-title{color:#f8fafc;font-weight:var(--font-weight-semibold);text-shadow:0 2px 6px rgba(2,6,23,.75)}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-header .back-btn{background:#0f172a80;border:1px solid rgba(255,255,255,.4);color:#f8fafc;pointer-events:auto}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-header .header-main{pointer-events:auto}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-actions{position:fixed;left:50%;transform:translate(-50%);bottom:clamp(16px,3vh,32px);padding:10px 20px;border-radius:999px;background:#0f172ad9;box-shadow:0 18px 42px #02061773;display:flex;align-items:center;justify-content:center;gap:14px;z-index:2100;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-actions .detail-link-btn{min-width:140px;justify-content:center;color:#f8fafc;border:1px solid rgba(248,250,252,.55);background:#0f172a40}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-actions .detail-link-btn:hover{background:#0f172a66;color:#fff}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-actions .save-button{color:#f1f5f9;border:1px solid rgba(248,250,252,.55);background:#0f172a40}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-actions .save-button:hover:not(:disabled){background:#0f172a66;color:#fff}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-actions .save-button:disabled{color:#f8fafc8c;border-color:#94a3b873;background:#0f172a26}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .waypoint-panorama.expanded{position:fixed;top:var(--header-height, 72px);left:0;right:0;bottom:0;border-radius:0;border-bottom:none;z-index:1500;background:#000}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .waypoint-list-scroll.expanded{position:fixed;top:calc(var(--header-height, 72px) + 96px);bottom:calc(32px + var(--streetview-map-height));right:24px;width:clamp(280px,26vw,360px);border-left:none;border-radius:20px;box-shadow:0 18px 42px #0f172a8c;background:#0f172ae0;color:#f1f5f9;padding:12px 0;pointer-events:auto;overflow-y:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .waypoint-list-scroll.expanded .waypoint-list{padding:0 12px 12px}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .waypoint-list-scroll.expanded .waypoint-list h3{color:inherit}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .waypoint-list-scroll.expanded .waypoint-list p{color:#f1f5f9cc}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .waypoint-panorama.expanded .panorama-view{border-radius:0}.mapboxgl-ctrl-bottom-left{left:10px!important;transition:left .3s ease}.mapboxgl-ctrl-bottom-left.with-sidebar{left:calc(var(--sidebar-width, 320px) + 10px)!important}@media (max-width: 768px){.mapbox-container.svelte-w85nl5{width:100vw;margin-left:0;top:var(--header-height-mobile, 56px)}.mapboxgl-ctrl-bottom-left.with-sidebar{left:10px!important}.map-page-root.streetview-mode.svelte-w85nl5 .map-floating-card:where(.svelte-w85nl5){width:min(45vw,200px);height:min(32vw,160px);right:12px;bottom:12px}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .waypoint-list-scroll.expanded{display:none}.map-page-root.streetview-mode.svelte-w85nl5 .route-detail-card.waypoint-mode .detail-header{left:12px;width:calc(100% - 24px)}}
