.elevation-container{position:relative}.elevation-profile{display:flex;flex-direction:column;gap:12px}.chart-wrapper{position:relative}.chart-wrapper canvas{width:100%!important;height:160px!important}.chart-overlay{position:absolute;inset:0;pointer-events:none}.overlay-vertical-line{position:absolute;width:1px;background:#0ea5e9;opacity:.8}.waypoint-button{position:absolute;transform:translate(-50%,calc(-100% + var(--waypoint-offset-y, 12px)));display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;border:none;background:transparent;padding:0}.waypoint-marker{width:calc(var(--waypoint-radius) * 2);height:calc(var(--waypoint-radius) * 2);border-radius:9999px;background:var(--waypoint-bg, #000);color:var(--waypoint-color, #fff);font-size:12px;font-weight:700;--waypoint-offset-y: 12px}.waypoint-start,.waypoint-end{width:calc(var(--waypoint-radius) * 3);height:calc(var(--waypoint-radius) * 3);--waypoint-offset-y: calc(16px + var(--waypoint-radius) * .5)}.waypoint-marker:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--waypoint-bg, #000)}.waypoint-marker.is-active{background:#1a1a1a}.waypoint-marker.is-active:after{border-top-color:#1a1a1a}.waypoint-marker span{line-height:1}.waypoint-start img,.waypoint-end img{width:100%;height:100%;object-fit:contain}.waypoint-tooltip{position:absolute;background:#fff;color:#111827;padding:8px 12px;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 8px 20px #00000026;display:flex;flex-direction:column;gap:4px;pointer-events:auto;min-width:160px;max-width:250px;z-index:1000;white-space:nowrap;font-size:14px;line-height:1.4}.elevation-info{display:flex;flex-wrap:nowrap;gap:12px;font-size:12px;color:#475569;white-space:nowrap;overflow-x:auto;overflow-y:hidden;align-items:center;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.elevation-info span{flex:0 0 auto}.elevation-placeholder{padding:24px;text-align:center;font-size:14px;color:#94a3b8;background:#94a3b81f;border-radius:8px}.waypoint-marker-image,.waypoint-marker img{width:100%;height:100%;object-fit:contain}.route-stats-row.svelte-zrlwoq{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-alt);font-size:var(--font-size-sm);color:var(--color-text);overflow-x:auto;overflow-y:visible;white-space:nowrap;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.route-stats-item.svelte-zrlwoq{display:inline-flex;align-items:center;flex:0 0 auto;padding:var(--spacing-2xs, 2px) 0;gap:var(--spacing-xs);cursor:default}.route-stats-value.svelte-zrlwoq{font-weight:var(--font-weight-medium);color:var(--color-text);flex:0 0 auto;min-width:0}.route-stats-divider.svelte-zrlwoq{opacity:.4;flex:0 0 auto}.waypoint-item.svelte-8b3d8k{display:flex;align-items:stretch;gap:12px;padding:16px 0;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s ease}.waypoint-item.svelte-8b3d8k:hover,.waypoint-item.selected.svelte-8b3d8k{background-color:#f9fafb;border-radius:8px;padding:16px 12px;margin:0 -12px}.waypoint-item.selected.svelte-8b3d8k{background-color:#ecfdf5;border-color:#bbf7d0}.waypoint-item.selected.svelte-8b3d8k .waypoint-item-marker:where(.svelte-8b3d8k){background-color:#059669!important;color:#fff!important;border-color:#047857!important}.waypoint-item.svelte-8b3d8k:last-child{border-bottom:none}.waypoint-category.svelte-8b3d8k{font-size:12px;color:#9ca3af}.waypoint-description.svelte-8b3d8k{font-size:12px;color:#6b7280}.waypoint-marker-wrapper.svelte-8b3d8k{--connector-width: 2px;width:64px;display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:8px}.waypoint-marker-group.svelte-8b3d8k{display:flex;flex-direction:column;align-items:center;gap:6px}.waypoint-item-marker.svelte-8b3d8k{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0;background-color:#e5e7eb;color:#374151;border:1px solid #d1d5db}.waypoint-distance.svelte-8b3d8k{font-size:12px;color:#9ca3af;white-space:nowrap}.waypoint-connector.svelte-8b3d8k{width:var(--connector-width);flex:1;min-height:12px;border-radius:999px;background-image:linear-gradient(to bottom,#d1d5db 40%,#d1d5db00 40%);background-size:var(--connector-width) 8px;background-repeat:repeat-y}.waypoint-connector.hidden.svelte-8b3d8k{display:none}.waypoint-item-marker.svelte-8b3d8k img:where(.svelte-8b3d8k){width:100%;height:100%;object-fit:contain}.waypoint-content.svelte-8b3d8k{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.waypoint-name.svelte-8b3d8k{font-weight:600;color:#111827;margin-bottom:4px}.waypoint-subtitle.svelte-8b3d8k{font-size:14px;color:#6b7280}.waypoint-photos.svelte-8b3d8k{width:120px;height:96px;border-radius:8px;overflow:hidden;flex-shrink:0}.waypoint-photos.svelte-8b3d8k img:where(.svelte-8b3d8k){width:100%;height:100%;object-fit:cover}.waypoints-section.svelte-13krgh1{padding:var(--spacing-md);background:var(--color-surface);border-top:var(--border-divider-hairline)}.waypoints-section.svelte-13krgh1 h4:where(.svelte-13krgh1){margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.panorama-view.svelte-8ngh7i{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.panorama-container.svelte-8ngh7i{width:100%;height:100%;position:relative}.panorama-overlay.svelte-8ngh7i{--panorama-overlay-tint: transparent;--panorama-overlay-backdrop: none;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:auto;z-index:4;background-color:transparent;-webkit-backdrop-filter:var(--panorama-overlay-backdrop);backdrop-filter:var(--panorama-overlay-backdrop)}.panorama-overlay.svelte-8ngh7i:before{content:"";position:absolute;inset:0;background:var(--panorama-overlay-tint);pointer-events:none;z-index:0}.panorama-overlay.svelte-8ngh7i>:where(.svelte-8ngh7i){position:relative;z-index:1}.panorama-overlay.has-photo.svelte-8ngh7i{background-size:cover;background-position:center;background-repeat:no-repeat;--panorama-overlay-tint: rgba(15, 23, 42, .42)}.panorama-empty.svelte-8ngh7i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;background-color:#f8fafc;color:#4b5563;z-index:4;overflow:hidden}.panorama-empty.svelte-8ngh7i:before{content:"";position:absolute;inset:0;background:#0f172a14;pointer-events:none}.panorama-empty.has-photo.svelte-8ngh7i{background-size:cover;background-position:center;background-repeat:no-repeat}.panorama-empty.has-photo.svelte-8ngh7i:before{background:#0f172a66}.panorama-empty-message.svelte-8ngh7i{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;font-size:15px;line-height:1.4;color:inherit;letter-spacing:.02em}.panorama-empty-message.svelte-8ngh7i span:where(.svelte-8ngh7i){font-size:28px;font-weight:600;color:#1f2937}.panorama-empty.has-photo.svelte-8ngh7i .panorama-empty-message:where(.svelte-8ngh7i){color:#f8fafc}.panorama-empty.has-photo.svelte-8ngh7i .panorama-empty-message:where(.svelte-8ngh7i) span:where(.svelte-8ngh7i){color:#f8fafc}.panorama-overlay--guard.svelte-8ngh7i{--panorama-overlay-tint: rgba(248, 250, 252, .94);--panorama-overlay-backdrop: none}.panorama-overlay--guard.has-photo.svelte-8ngh7i{--panorama-overlay-tint: transparent}.panorama-overlay--guard.svelte-8ngh7i .panorama-guard:where(.svelte-8ngh7i){width:min(100%,300px);height:auto;min-height:unset;padding:16px 14px;border-radius:16px;box-shadow:0 16px 28px #0f172a2e;gap:8px}.panorama-overlay--guard.svelte-8ngh7i .panorama-alert:where(.svelte-8ngh7i){width:100%;margin-top:2px;color:#f8fafce0}.panorama-overlay--loading.svelte-8ngh7i{--panorama-overlay-tint: rgba(15, 23, 42, .32);--panorama-overlay-backdrop: blur(4px)}.panorama-overlay--loading.svelte-8ngh7i .loading-message:where(.svelte-8ngh7i){width:auto;height:auto;padding:16px 22px;border-radius:14px;background:#0f172a73;color:#f8fafc}.panorama-overlay--countdown.svelte-8ngh7i{--panorama-overlay-tint: rgba(15, 23, 42, .35);color:#f8fafc;--panorama-overlay-backdrop: blur(2px)}.panorama-surface.svelte-8ngh7i{width:100%;height:100%}.loading-message.svelte-8ngh7i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#666;font-size:14px}.panorama-expand-btn.svelte-8ngh7i .corner-icon:where(.svelte-8ngh7i){width:18px;height:18px;display:block}.loading-message.svelte-8ngh7i{color:#999}.panorama-guard.svelte-8ngh7i{width:100%;height:100%;padding:16px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;background:#0a0c10b8;color:#f8fafc;border-radius:16px;border:1px solid rgba(148,163,184,.18)}.panorama-overlay--countdown.svelte-8ngh7i .panorama-guard:where(.svelte-8ngh7i){height:auto;width:auto;min-height:unset;padding:16px 20px;background:#0a0c10a6}.panorama-guard.svelte-8ngh7i h3:where(.svelte-8ngh7i){font-size:16px;font-weight:600;margin:0;color:#fff}.panorama-guard.svelte-8ngh7i p:where(.svelte-8ngh7i){margin:0;font-size:13px;color:#f8fafcd9}.panorama-overlay--countdown.svelte-8ngh7i .panorama-guard:where(.svelte-8ngh7i) p:where(.svelte-8ngh7i){color:#f8fafcd9}.panorama-guard--countdown.svelte-8ngh7i{gap:10px}.panorama-guard--countdown.svelte-8ngh7i p:where(.svelte-8ngh7i){margin-top:4px}.panorama-countdown-ring.svelte-8ngh7i{position:relative;width:82px;height:82px;border-radius:50%;border:4px solid rgba(37,99,235,.18);display:flex;align-items:center;justify-content:center}.panorama-overlay--countdown.svelte-8ngh7i .panorama-countdown-ring:where(.svelte-8ngh7i){border-color:#f8fafc47}.panorama-countdown-ring.svelte-8ngh7i:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:4px solid transparent;border-top-color:#2563eb;border-right-color:#2563eb99;animation:svelte-8ngh7i-panorama-countdown-spin 1s linear infinite}.panorama-overlay--countdown.svelte-8ngh7i .panorama-countdown-ring:where(.svelte-8ngh7i):after{border-top-color:#f8fafc;border-right-color:#f8fafc99}.panorama-countdown-number.svelte-8ngh7i{font-size:28px;font-weight:600;color:#2563eb}.panorama-overlay--countdown.svelte-8ngh7i .panorama-countdown-number:where(.svelte-8ngh7i){color:#f8fafc}@keyframes svelte-8ngh7i-panorama-countdown-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.panorama-alert.svelte-8ngh7i{font-size:13px;color:#dc2626}.panorama-expand-btn.svelte-8ngh7i{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:32px;height:32px;border-radius:16px;border:1px solid rgba(255,255,255,.65);background:#0f172a47;color:#f8fafc;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease;z-index:12}.panorama-expand-btn.svelte-8ngh7i:hover{background:#0f172a66;transform:scale(1.05)}.panorama-expand-btn.expanded.svelte-8ngh7i{background:#0f172a73}.map-zoom-controls.svelte-8g2bv{position:absolute;right:10px;bottom:10px;display:inline-flex;flex-direction:column;gap:3px;z-index:1010;pointer-events:auto;padding:0;border-radius:11px;background:#fffffff5;border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 12px #0f172a2e}.map-zoom-button.svelte-8g2bv{position:relative;width:22px;height:22px;border-radius:7px;border:none;background:transparent;color:#4b5563;font-size:14px;font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:transform .12s ease,background .12s ease}.map-zoom-button.svelte-8g2bv:hover{background:#0000000a}.map-zoom-button.svelte-8g2bv:active{transform:translateY(1px)}.map-zoom-button.svelte-8g2bv+.map-zoom-button:where(.svelte-8g2bv):before{content:"";position:absolute;top:-4px;left:4px;right:4px;height:1px;background:#00000026;pointer-events:none}
