#viewer-root{background:var(--surface);width:100vw;position:relative;overflow:hidden}#viewer-root canvas{display:block;width:100%!important;height:100%!important}.route-marker{pointer-events:none;width:24px;height:29px;position:relative}.route-marker svg{width:100%;height:100%;display:block}.minimap-wrapper{z-index:10;flex-direction:column;width:220px;height:155px;transition:width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1),bottom .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),box-shadow .3s,opacity .25s;display:flex;position:fixed;bottom:72px;left:12px}.minimap-wrapper.resizing{transition:none}.minimap-wrapper.expanded{border-radius:var(--radius-xl);z-index:20;bottom:72px;left:12px;box-shadow:0 12px 60px #000000b3;width:calc(100vw - 24px)!important;height:calc(100vh - 96px)!important}.minimap-container{will-change:border-color;border:1.5px solid #ffffff1f;border-radius:14px;width:100%;height:100%;transition:border-color .3s;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000008c}.minimap-wrapper.expanded .minimap-container{border-color:#00e5cc40;border-radius:20px}.minimap-container .maplibregl-canvas{border-radius:inherit}.minimap-container .maplibregl-ctrl-attrib{display:none}.minimap-toolbar{z-index:25;opacity:0;pointer-events:none;gap:3px;transition:opacity .2s;display:flex;position:absolute;top:5px;right:5px}.minimap-wrapper:hover .minimap-toolbar,.minimap-wrapper.expanded .minimap-toolbar{opacity:1;pointer-events:auto}.minimap-btn{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);width:24px;height:24px;color:var(--on-surface-variant);cursor:pointer;background:#131313b3;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,border-color .15s,transform .15s;display:flex}.minimap-btn:hover{color:var(--primary-container);background:#131313d9;border-color:#00e5cc4d;transform:scale(1.08)}.minimap-btn:active{transform:scale(.95)}.minimap-btn svg{display:block}.minimap-drag-bar{cursor:grab;-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);-webkit-user-select:none;user-select:none;z-index:26;background:#131313b3;border:1px solid #ffffff26;justify-content:center;align-items:center;width:48px;height:14px;transition:background .15s,border-color .15s;display:flex;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.minimap-drag-bar:hover{background:#131313e6;border-color:#00e5cc66}.minimap-drag-bar:active{cursor:grabbing;background:#00e5cc26;border-color:#00e5cc99}.minimap-drag-dots{color:#ffffff80;letter-spacing:1px;font-size:7px;line-height:1}.minimap-drag-bar:hover .minimap-drag-dots{color:var(--primary-container)}.minimap-wrapper.expanded .minimap-drag-bar{display:none}.minimap-reset-btn{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;white-space:nowrap;background:#131313b3;border:1px solid #ffffff26;justify-content:center;align-items:center;gap:4px;padding:2px 8px;font-size:.6rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:none;position:absolute;bottom:-22px;left:0}.minimap-reset-btn:hover{color:var(--primary-container);background:#131313e6;border-color:#00e5cc66}.minimap-reset-btn:active{background:#00e5cc1a}.minimap-reset-btn svg{width:10px;height:10px}.minimap-wrapper.expanded .minimap-reset-btn{display:none!important}.minimap-resize-handle{z-index:30;opacity:0;width:12px;height:12px;transition:opacity .2s;position:absolute}.minimap-resize-handle:after{content:"";background:var(--primary-container);border:1.5px solid #fff9;border-radius:2px;width:6px;height:6px;position:absolute;box-shadow:0 1px 4px #00000080}.minimap-wrapper:hover .minimap-resize-handle{opacity:1}.minimap-resize-nw{cursor:nw-resize;top:-3px;left:-3px}.minimap-resize-nw:after{top:0;left:0}.minimap-resize-ne{cursor:ne-resize;top:-3px;right:-3px}.minimap-resize-ne:after{top:0;right:0}.minimap-resize-sw{cursor:sw-resize;bottom:-3px;left:-3px}.minimap-resize-sw:after{bottom:0;left:0}.minimap-resize-se{cursor:se-resize;bottom:-3px;right:-3px}.minimap-resize-se:after{bottom:0;right:0}.minimap-wrapper.expanded .minimap-resize-handle{display:none}.minimap-reopen-btn{z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;opacity:0;pointer-events:none;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:500;transition:opacity .3s,transform .3s,color .15s,background .15s,border-color .15s;display:flex;position:fixed;bottom:72px;left:12px;transform:translateY(10px);box-shadow:0 4px 16px #0006}.minimap-reopen-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.minimap-reopen-btn:hover{color:var(--primary-container);background:#00e5cc14;border-color:#00e5cc40}.minimap-reopen-btn:active{transform:scale(.96)}.minimap-reopen-btn svg{flex-shrink:0;display:block}.control-bar{bottom:var(--spacing-4);z-index:20;align-items:center;gap:var(--spacing-2);padding:0 var(--spacing-4);background:var(--glass-bg);height:38px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);white-space:nowrap;flex-direction:row;transition:opacity .3s;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000007a}.control-bar.bar-hidden{opacity:0;pointer-events:none}.control-bar button{color:var(--on-surface);border-radius:var(--radius-pill);font-family:var(--font);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.8rem;font-weight:500;line-height:1;transition:color .18s,background .18s;display:inline-flex}.control-bar button:hover{color:var(--primary-container);background:#00e5cc14}.control-bar button:active{color:var(--primary);background:#00e5cc24}.control-bar button:focus-visible{outline:2px solid var(--primary-container);outline-offset:2px}.control-bar button.btn-playpause{color:var(--primary-container);padding:.5rem .7rem}.control-bar button.btn-playpause svg{display:block}.control-bar button.btn-skip{color:var(--text-secondary);opacity:.85;padding:.4rem .5rem;transition:opacity .15s}.control-bar button.btn-skip:hover{opacity:1;color:var(--text)}.control-bar button.btn-skip svg{display:block}.control-bar button.btn-fullscreen{padding:.45rem .65rem}.control-bar button.btn-fullscreen svg{display:block}.tts-switch{background:var(--outline-variant);border-radius:8px;flex-shrink:0;width:28px;height:16px;transition:background .2s;position:relative}.tts-switch:after{content:"";background:var(--on-surface-variant);border-radius:50%;width:12px;height:12px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.tts-switch.on{background:var(--primary)}.tts-switch.on:after{background:var(--surface);transform:translate(12px)}.time-label{color:var(--on-surface-variant);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;min-width:6.5ch;font-size:.7rem;font-weight:500}.control-bar .speed-group{border-left:1px solid var(--outline-variant);margin-left:.2rem;padding-left:.55rem}.seek-bar{appearance:none;background:var(--outline-variant);border-radius:var(--radius-pill);cursor:pointer;background-image:linear-gradient(to right, var(--primary-container) 0%, var(--primary-container) var(--seek-pct,0%), var(--outline-variant) var(--seek-pct,0%), var(--outline-variant) 100%);outline:none;flex-shrink:0;width:200px;height:4px;transition:height .15s}.seek-bar:hover{height:6px}.seek-bar::-webkit-slider-thumb{appearance:none;background:var(--primary-container);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:box-shadow .18s,transform .18s;box-shadow:0 0 #00e5cc00}.seek-bar:hover::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 6px #00e5cc38}.seek-bar:focus::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 6px #00e5cc38}.seek-bar::-moz-range-thumb{background:var(--primary-container);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px;transition:box-shadow .18s,transform .18s;box-shadow:0 0 #00e5cc00}.seek-bar:hover::-moz-range-thumb{transform:scale(1.15);box-shadow:0 0 0 6px #00e5cc38}.seek-bar:focus::-moz-range-thumb{transform:scale(1.15);box-shadow:0 0 0 6px #00e5cc38}.seek-bar::-moz-range-track{background:0 0;height:4px}.speed-group{flex-shrink:0;align-items:center;gap:.15rem;display:flex}.speed-btn{color:var(--on-surface-variant);border-radius:var(--radius-pill);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem .45rem;font-size:.68rem;font-weight:500;line-height:1;transition:color .15s,background .15s;display:inline-flex}.speed-btn:hover{color:var(--on-surface);background:#ffffff0f}.speed-btn.active{color:var(--primary-container);background:#00e5cc1f;font-weight:600}.street-badge{background:var(--secondary-container);color:var(--primary-container);border-radius:var(--radius-pill);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;padding:.3rem .85rem;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 0 12px #00e5cc2e}.viewer-top-right{z-index:10;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.4rem;display:flex;position:fixed;top:.8rem;right:.8rem}.viewer-top-right>*{pointer-events:auto}.video-info-badge{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);color:var(--on-surface-variant);align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.7rem;font-weight:500;display:flex;box-shadow:0 4px 16px #0006}.vi-codec{color:var(--primary-container);font-weight:600}.vi-res{color:var(--on-surface);font-variant-numeric:tabular-nums}.vi-canvas{color:var(--outline);font-variant-numeric:tabular-nums}.vi-gfx{color:var(--outline);font-size:.75rem}.vi-audio{font-size:.7rem}.vi-label,.vi-audio .vi-label{color:var(--outline);font-weight:400}.vi-val,.vi-audio .vi-val{color:var(--on-surface);font-weight:500}.vfn-dur{color:var(--on-surface);font-variant-numeric:tabular-nums;margin-left:.5em}.quality-selector{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:.3rem;padding:.25rem .4rem;display:none;box-shadow:0 4px 16px #0006}.quality-option{color:var(--on-surface-variant);border-radius:var(--radius-pill);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;padding:.25rem .6rem;font-size:.65rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.quality-option:hover{color:var(--on-surface);background:#ffffff0f}.quality-option.active{color:var(--primary-container);background:#00e5cc1a;border-color:#00e5cc40;font-weight:600}.content-version-selector{z-index:2;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex;position:relative;box-shadow:0 4px 16px #0006}.content-version-selector .cv-icon{color:var(--primary-container);flex-shrink:0;align-items:center;display:flex}.content-version-selector .custom-dropdown{position:relative}.content-version-selector .custom-dropdown-trigger{font-family:var(--font);color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.content-version-selector .custom-dropdown-trigger:hover{color:var(--on-surface);border-color:#ffffff1f}.content-version-selector .custom-dropdown-trigger.open{color:var(--primary-container);border-color:#00e5cc40}.content-version-selector .custom-dropdown-trigger .dd-chevron{opacity:.5;flex-shrink:0}.content-version-selector .custom-dropdown-menu{background:var(--surface-container-high);border:1px solid var(--outline-variant);z-index:200;border-radius:6px;min-width:100px;max-height:200px;padding:3px 0;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.content-version-selector .custom-dropdown-menu.visible{display:block}.content-version-selector .custom-dropdown-item{width:100%;font-family:var(--font);color:var(--on-surface);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 10px;font-size:.65rem;font-weight:400;transition:background .1s;display:block}.content-version-selector .custom-dropdown-item:hover{background:#00e5cc1a}.content-version-selector .custom-dropdown-item.active{color:var(--primary-container);background:#00e5cc0f;font-weight:600}.viewer-map-detail-selector{z-index:1;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex;position:relative;box-shadow:0 4px 16px #0006}.viewer-map-detail-selector.dropdown-open{z-index:10}.viewer-map-detail-selector .vmd-icon{color:var(--primary-container);flex-shrink:0;align-items:center;display:flex}.viewer-map-detail-selector .custom-dropdown{position:relative}.viewer-map-detail-selector .custom-dropdown-trigger{font-family:var(--font);color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.viewer-map-detail-selector .custom-dropdown-trigger:hover{color:var(--on-surface);border-color:#ffffff1f}.viewer-map-detail-selector .custom-dropdown-trigger.open{color:var(--primary-container);border-color:#00e5cc40}.viewer-map-detail-selector .custom-dropdown-trigger .dd-chevron{opacity:.5;flex-shrink:0}.viewer-map-detail-selector .custom-dropdown-menu{background:var(--surface-container-high);border:1px solid var(--outline-variant);z-index:200;border-radius:6px;min-width:100px;max-height:320px;padding:3px 0;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.viewer-map-detail-selector .custom-dropdown-menu.visible{display:block}.viewer-map-detail-selector .custom-dropdown-item{width:100%;font-family:var(--font);color:var(--on-surface);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 10px;font-size:.65rem;font-weight:400;transition:background .1s;display:block}.viewer-map-detail-selector .custom-dropdown-item:hover:not(.disabled){background:#00e5cc1a}.viewer-map-detail-selector .custom-dropdown-item.disabled{opacity:.4;cursor:not-allowed}.viewer-map-detail-selector .custom-dropdown-item.active{color:var(--primary-container);background:#00e5cc0f;font-weight:600}.viewer-map-detail-selector .custom-dropdown-divider{background:var(--outline-variant);height:1px;margin:3px 6px}.viewer-video-filename-toggle{z-index:1;align-items:center;gap:.35rem;display:flex;position:relative}.vfn-label{font-family:var(--font);color:var(--on-surface-variant);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);white-space:nowrap;text-overflow:ellipsis;max-width:200px;height:28px;padding:0 .6rem;font-size:.65rem;font-weight:500;line-height:26px;display:none;overflow:hidden;box-shadow:0 4px 16px #0006}.viewer-video-filename-toggle.active .vfn-label{display:inline-block}.vfn-btn{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s,border-color .2s;display:flex;box-shadow:0 4px 16px #0006}.vfn-btn:hover{color:var(--on-surface);background:#ffffff0f;border-color:#ffffff26}.vfn-btn.active{color:var(--primary-container);background:#00e5cc1a;border-color:#00e5cc40}.vfn-icon{align-items:center;display:flex}.segment-selector{top:7rem;right:var(--spacing-4);z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:var(--spacing-2);padding:.35rem .9rem;display:flex;position:fixed;box-shadow:0 8px 32px #0000007a}.segment-selector button{color:var(--on-surface);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-size:1rem;font-weight:600;transition:background .15s}.segment-selector button:hover{background:#ffffff1a}.segment-selector select{appearance:none;color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;background:0 0;border:none;outline:none;padding-right:1rem;font-size:.75rem;font-weight:500}.segment-selector select option{background:var(--surface-container-high);color:var(--on-surface)}.segment-selector label{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.7rem;font-weight:600}#VRButton{bottom:var(--spacing-4)!important;right:var(--spacing-4)!important;z-index:10!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:blur(var(--glass-blur))!important;border:1px solid var(--ghost-border)!important;border-radius:var(--radius-pill)!important;color:var(--on-surface)!important;font-family:var(--font)!important;cursor:pointer!important;width:auto!important;padding:.55rem 1.2rem!important;font-size:.8rem!important;font-weight:500!important;transition:color .18s,background .18s!important;position:fixed!important;top:auto!important;left:auto!important;transform:none!important;box-shadow:0 8px 32px #0000007a!important}#VRButton:hover{color:var(--primary-container)!important;border-color:var(--outline-variant)!important;background:#00e5cc14!important}.error-overlay{z-index:100;justify-content:center;align-items:center;gap:var(--spacing-2);-webkit-backdrop-filter:blur(8px);padding:var(--spacing-8);text-align:center;background:#131313d9;flex-direction:column;display:flex;position:fixed;inset:0}.error-overlay .error-icon{color:#ff6b6b;font-size:2.5rem}.error-overlay .error-title{color:var(--on-surface);font-size:1.1rem;font-weight:600}.error-overlay .error-message{color:var(--on-surface-variant);max-width:420px;font-size:.85rem;line-height:1.6}.error-overlay button{margin-top:var(--spacing-2);background:var(--secondary-container);color:var(--primary-container);border:1px solid var(--outline-variant);border-radius:var(--radius-pill);font-family:var(--font);cursor:pointer;padding:.55rem 1.4rem;font-size:.82rem;font-weight:500;transition:background .18s}.error-overlay button:hover{background:#00e5cc1f}.error-overlay.hidden{display:none}.loading-overlay{z-index:90;justify-content:center;align-items:center;gap:var(--spacing-2);background:var(--surface);flex-direction:column;transition:opacity .4s;display:flex;position:fixed;inset:0}.loading-overlay.fade-out{opacity:0;pointer-events:none}.loading-overlay.hidden{display:none}.loading-overlay .spinner{border:3px solid var(--outline-variant);border-top-color:var(--primary-container);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}.loading-overlay .loading-text{color:var(--on-surface-variant);letter-spacing:.04em;font-size:.82rem;font-weight:500}.hud-notification{z-index:50;color:#fff;border-radius:var(--radius-pill);pointer-events:none;opacity:0;white-space:nowrap;text-align:center;max-width:90vw;padding:.5rem 1.2rem;font-size:.8rem;font-weight:500;transition:opacity .25s,transform .25s;position:fixed;top:3.2rem;left:50%;transform:translate(-50%)translateY(-10px)}.hud-notification.visible{opacity:1;transform:translate(-50%)translateY(0)}.hud-notification-info{color:#0d1117;background:#00e5ccd9}.hud-notification-warning{color:#1a1a1a;background:#ffc107e6}.hud-notification-error{background:#dc2828e6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.controls-group{z-index:100;flex-direction:column;align-items:flex-start;gap:.35rem;display:flex;position:fixed;top:.8rem;left:.8rem}.controls-group-btn{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.72rem;font-weight:600;transition:background .2s;display:flex}.controls-group-btn:hover{background:#ffffff1a}.mode-toggle{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:.45rem;padding:.35rem .7rem;display:flex;box-shadow:0 4px 16px #0006}.mode-label{color:var(--on-surface-variant);-webkit-user-select:none;user-select:none;text-align:center;min-width:2.2rem;font-size:.75rem;font-weight:600;transition:color .15s}.mode-label.active{color:var(--primary-container)}.mode-switch{background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--radius-pill);cursor:pointer;width:36px;height:20px;transition:background .25s,border-color .25s;position:relative}.mode-switch:hover{border-color:var(--primary-container)}.mode-switch-thumb{background:var(--primary-container);border-radius:50%;width:16px;height:16px;transition:left .25s cubic-bezier(.4,0,.2,1);position:absolute;top:1px;left:1px;box-shadow:0 1px 4px #00000059}.mode-switch.dev-active .mode-switch-thumb{left:17px}.mode-switch.dev-active{border-color:var(--primary-container);background:#00e5cc40}.mode-toggle.lang-row{align-self:flex-start;width:auto}.mode-toggle.lang-row .mode-label{min-width:1.6rem;font-size:.7rem}.back-to-map-btn{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.75rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex;position:fixed;top:3rem;left:.8rem;box-shadow:0 4px 16px #0006}.back-to-map-btn:hover{color:var(--primary-container);background:#00e5cc14;border-color:#00e5cc40}.back-to-map-btn svg{flex-shrink:0;display:block}.waypoint-toast{z-index:80;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);color:var(--primary-container);font-family:var(--font);letter-spacing:.02em;opacity:0;pointer-events:none;border:1px solid #00e5cc4d;align-items:center;gap:.5rem;padding:.55rem 1.2rem;font-size:.85rem;font-weight:600;transition:opacity .3s,transform .3s;display:flex;position:fixed;top:4.5rem;left:50%;transform:translate(-50%)translateY(-10px);box-shadow:0 4px 20px #00000080}.waypoint-toast.visible{opacity:1;transform:translate(-50%)translateY(0)}.waypoint-toast svg{color:var(--primary);flex-shrink:0;display:block}.minimap-waypoint-marker{background:var(--primary-container);cursor:pointer;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:relative;box-shadow:0 1px 4px #0006}.minimap-waypoint-label{color:var(--on-surface);white-space:nowrap;pointer-events:none;background:#131313d9;border-radius:3px;margin-top:2px;padding:1px 4px;font-size:.55rem;font-weight:500;position:absolute;top:100%;left:50%;transform:translate(-50%)}.map-explorer{z-index:50;position:absolute;inset:0}.map-explorer-map{width:100%;height:100%}.map-explorer-title{text-align:center;z-index:10;pointer-events:none;position:absolute;bottom:4rem;left:50%;transform:translate(-50%)}.map-explorer-title-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#000000b3;border-radius:1rem;padding:1rem 2rem}.map-explorer-title h1{letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0;font-size:2.2rem;font-weight:800}.me-title-street{color:#000;text-shadow:0 1px 6px #fff9;-webkit-text-stroke:.5px #000c}.me-title-360{color:#0af;text-shadow:0 0 8px #0af,0 0 20px #0af9,0 0 50px #00aaff4d,0 2px 4px #00000080;-webkit-text-stroke:.5px #0064c866}.map-explorer-title p{color:#fffc;text-shadow:none;margin:.4rem 0 0;font-size:.88rem;font-weight:600}.me-subtitle-self-recorded{color:#00e5cc}.me-subtitle-offline{color:#ffa726}.me-subtitle-online{color:#42a5f5}.me-subtitle-demo{color:#ab47bc}.map-explorer-continue{background:var(--primary-container);color:var(--surface);border-radius:var(--radius-pill);font-family:var(--font);cursor:pointer;pointer-events:auto;letter-spacing:.02em;border:none;align-items:center;gap:.4rem;margin-top:.8rem;padding:.6rem 1.6rem;font-size:.9rem;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 4px 20px #00e5cc4d}.map-explorer-continue:hover{background:var(--primary);transform:translateY(-1px);box-shadow:0 6px 28px #00e5cc66}.map-explorer-continue:active{transform:scale(.97)}.route-menu{z-index:50;-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-lg);background:#0f0f14f2;border:1px solid #ffffff1f;flex-direction:column;width:480px;max-width:92vw;max-height:70vh;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 64px #0009}.route-menu.hidden{display:none}.route-menu-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex}.route-menu-header h2{color:var(--on-surface);margin:0;font-size:1rem;font-weight:600}.route-menu-close{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:1.4rem}.route-menu-close:hover{background:#ffffff14}.route-menu-list{padding:.5rem;overflow-y:auto}.route-menu-item{border-radius:var(--radius-md);padding:.8rem;transition:background .15s}.route-menu-item:hover{background:#ffffff0a}.rmi-name{color:var(--primary-container);cursor:pointer;margin-bottom:.4rem;font-size:.9rem;font-weight:600}.rmi-name:hover{text-decoration:underline}.rmi-segments{flex-wrap:wrap;gap:.3rem;display:flex}.rmi-seg{color:var(--on-surface);border-radius:var(--radius-pill);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;padding:.25rem .6rem;font-size:.72rem;font-weight:500;transition:background .15s,border-color .15s}.rmi-seg:hover{border-color:var(--primary-container);color:var(--primary-container);background:#00e5cc1f}.map-explorer-search{z-index:10;width:420px;max-width:calc(100vw - 2rem);position:absolute;top:3rem;left:50%;transform:translate(-50%)}.map-explorer-search-input{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-pill);color:#fff;width:100%;font-family:var(--font);box-sizing:border-box;letter-spacing:.01em;background:#131313d9;border:1.5px solid #fff3;outline:none;padding:.75rem 1.2rem;font-size:.95rem;font-weight:500;transition:border-color .15s,box-shadow .15s;box-shadow:0 6px 28px #00000080}.map-explorer-search-input::placeholder{color:#ffffff73}.map-explorer-search-input:focus{border-color:var(--primary-container);box-shadow:0 6px 28px #00000080,0 0 0 3px #00e5cc26}.map-explorer-search-results{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#1e1e1ef2;border:1px solid #ffffff26;margin-top:6px;display:none;overflow:hidden;box-shadow:0 8px 32px #0009}.mes-item{color:var(--on-surface);cursor:pointer;padding:.55rem 1rem;font-size:.85rem;transition:background .12s}.mes-item:hover:not(.no-result){color:var(--on-surface);background:#00e5cc14}.mes-item.no-result{color:var(--outline);cursor:default}.map-detail-dropdown{z-index:10;position:absolute;top:3rem;right:1rem}.map-detail-btn{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-pill);color:#ffffffd9;font-family:var(--font);cursor:pointer;white-space:nowrap;background:#131313d9;border:1.5px solid #fff3;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 4px 16px #0006}.map-detail-btn:hover{border-color:var(--primary-container);box-shadow:0 4px 16px #0006,0 0 0 2px #00e5cc1f}.map-detail-btn svg{opacity:.7;flex-shrink:0}.map-detail-menu{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#141414f2;border:1px solid #ffffff26;min-width:140px;padding:.25rem 0;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 32px #0009}.map-detail-menu.open{display:block}.map-detail-option{width:100%;color:var(--on-surface);font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.8rem;font-weight:500;transition:background .12s;display:flex}.map-detail-option:hover:not(.disabled){background:#00e5cc14}.map-detail-option.disabled{opacity:.4;cursor:not-allowed}.map-detail-option.active{color:var(--primary-container);font-weight:600}.map-detail-option .dd-check-slot{flex-shrink:0;align-items:center;width:12px;margin-right:.35rem;display:flex}.map-detail-option .dd-check-slot .dd-check{display:none}.map-detail-option.checked .dd-check-slot .dd-check{color:var(--primary-container);display:block}.map-detail-divider{background:#ffffff1f;height:1px;margin:.25rem .6rem}.map-explorer-popup .maplibregl-popup-content{background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:0;box-shadow:0 8px 32px #0009}.map-explorer-popup .maplibregl-popup-tip{border-top-color:var(--surface-container-high)}.mep-card{padding:.6rem .8rem}.mep-name{color:var(--primary-container);margin-bottom:.2rem;font-size:.85rem;font-weight:600}.mep-streets{color:var(--on-surface-variant);margin-bottom:.2rem;font-size:.72rem}.mep-meta{color:var(--outline);font-size:.65rem}.map-explorer-wp-popup .maplibregl-popup-content{-webkit-backdrop-filter:blur(12px);background:#141414eb;border:1px solid #00e5cc40;border-radius:8px;padding:0;box-shadow:0 4px 16px #00000080}.map-explorer-wp-popup .maplibregl-popup-tip{border-bottom-color:#141414eb}.mep-wp-tooltip{font-family:var(--font);color:var(--primary-container);white-space:nowrap;padding:.4rem .7rem;font-size:.82rem;font-weight:600}.map-explorer-waypoint{background:var(--primary-container);cursor:pointer;width:24px;height:24px;color:var(--surface);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;transition:box-shadow .15s;display:flex;box-shadow:0 2px 8px #0006}.map-explorer-waypoint:hover{box-shadow:0 2px 12px #00000080,0 0 0 3px #00e5cc4d}.map-explorer-waypoint svg{display:block}#VRButton{display:none!important}.viewer-bottom-bar{bottom:var(--spacing-4);right:var(--spacing-4);z-index:20;max-width:calc(100vw - 2 * var(--spacing-4));align-items:center;gap:.5rem;display:flex;position:fixed}.viewer-bottom-bar>.control-bar{position:static;bottom:auto;left:auto;transform:none}.viewer-bottom-bar>.viewer-toggle-controls{position:static}.viewer-bottom-bar>.audio-source-toggle{position:relative}.viewer-bottom-bar>.vr-mode-toggle{position:static}.vr-mode-toggle{bottom:var(--spacing-4);right:var(--spacing-4);z-index:12;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);flex-shrink:0;align-items:stretch;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0000007a}.vr-toggle-btn{color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.8rem;font-weight:500;transition:color .2s,background .2s;display:flex}.vr-toggle-btn:not(:last-child){border-right:1px solid var(--ghost-border)}.vr-help-btn{padding:.55rem .7rem}.vr-toggle-btn:hover:not(.disabled){color:var(--on-surface);background:#ffffff0a}.vr-toggle-btn.active{color:var(--primary-container);background:#00e5cc14}.vr-toggle-btn.disabled{opacity:.35;cursor:not-allowed}.vr-toggle-btn svg{flex-shrink:0;display:block}.audio-source-toggle{z-index:12;flex-shrink:0;align-items:center;display:flex;position:relative}.audio-src-btn{background:var(--glass-bg);width:38px;height:38px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);color:var(--on-surface-variant);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 8px 32px #0000007a}.audio-src-btn:hover{color:var(--on-surface);background:#ffffff0f;border-color:#ffffff26}.audio-src-btn.active{color:var(--primary-container);background:#00e5cc1a;border-color:#00e5cc40;box-shadow:0 0 8px #00e5cc40}.audio-src-btn svg{flex-shrink:0;display:block}.audio-src-dropup{background:var(--surface-container-high);border:1px solid var(--outline-variant);z-index:200;border-radius:8px;min-width:160px;padding:4px 0;display:none;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 -8px 24px #00000080}.audio-src-dropup.visible{display:block}.audio-src-dropup-item{font-family:var(--font);color:var(--on-surface);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:7px 12px;font-size:.7rem;transition:background .1s;display:flex}.audio-src-dropup-item:hover{background:#00e5cc14}.audio-src-vol-row{border-top:1px solid var(--outline-variant);align-items:center;gap:8px;padding:6px 12px 8px;display:flex}.audio-src-vol-icon{border-radius:var(--radius-md);width:24px;height:24px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s;display:flex}.audio-src-vol-icon:hover{color:var(--on-surface);background:#ffffff0f}.audio-src-vol-slider{appearance:none;background:var(--outline-variant);border-radius:var(--radius-pill);cursor:pointer;--vol-fill:var(--primary-container);background-image:linear-gradient(to right, var(--vol-fill) 0%, var(--vol-fill) var(--vol-pct,100%), var(--outline-variant) var(--vol-pct,100%), var(--outline-variant) 100%);outline:none;width:100%;height:3px;transition:background-image .2s}.audio-src-vol-slider.muted{--vol-fill:var(--outline-variant)}.audio-src-vol-slider::-webkit-slider-thumb{appearance:none;background:var(--vol-fill);cursor:pointer;border-radius:50%;width:10px;height:10px}.audio-src-vol-slider::-moz-range-thumb{background:var(--vol-fill);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px}.audio-src-vol-slider::-moz-range-track{background:0 0;height:3px}.viewer-fullscreen-toggle{background:var(--glass-bg);width:38px;height:38px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);color:var(--on-surface-variant);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s,border-color .2s;display:none;box-shadow:0 8px 32px #0000007a}.viewer-fullscreen-toggle.visible{display:flex}.viewer-fullscreen-toggle:hover{color:var(--on-surface);background:#ffffff0f;border-color:#ffffff26}.viewer-fullscreen-toggle svg{flex-shrink:0;display:block}.viewer-bottom-bar>.viewer-fullscreen-toggle{position:static}.viewer-toggle-controls{bottom:var(--spacing-4);right:var(--spacing-4);z-index:12;background:var(--glass-bg);width:38px;height:38px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);color:var(--on-surface-variant);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s,border-color .2s;display:flex;position:fixed;box-shadow:0 8px 32px #0000007a}.viewer-toggle-controls:hover{color:var(--on-surface);background:#ffffff0f;border-color:#ffffff26}.viewer-toggle-controls svg{flex-shrink:0;display:block}.vr-hidden,.vr-active .control-bar,.vr-active .controls-group,.vr-active .mode-toggle,.vr-active .segment-selector,.vr-active .back-to-map-btn,.vr-active .viewer-bottom-bar{opacity:0!important;pointer-events:none!important}.vr-tutorial{z-index:200;-webkit-backdrop-filter:blur(12px);background:#000000bf;justify-content:center;align-items:center;animation:.4s vrFadeIn;display:flex;position:fixed;inset:0}.vr-tutorial.hidden{display:none}@keyframes vrFadeIn{0%{opacity:0}to{opacity:1}}.vr-tutorial-card{border:1px solid var(--ghost-border);background:#1e1e1ef2;border-radius:20px;width:90vw;max-width:420px;padding:2rem 2.5rem;box-shadow:0 24px 80px #0009}.vr-tutorial-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.vr-tutorial-header svg{color:var(--primary-container)}.vr-tutorial-header h2{color:var(--on-surface);margin:0;font-size:1.3rem;font-weight:700}.vr-tutorial-body{flex-direction:column;gap:1rem;margin-bottom:1.8rem;display:flex}.vr-tutorial-item{align-items:flex-start;gap:.85rem;display:flex}.vr-tutorial-icon{width:36px;min-width:36px;height:36px;color:var(--primary-container);background:#00e5cc14;border:1px solid #00e5cc26;border-radius:10px;justify-content:center;align-items:center;display:flex}.vr-tutorial-item strong{color:var(--on-surface);margin-bottom:.15rem;font-size:.88rem;font-weight:600;display:block}.vr-tutorial-item p{color:var(--on-surface-variant);margin:0;font-size:.78rem;line-height:1.5}.vr-tutorial-start{background:var(--primary-container);width:100%;color:var(--surface);border-radius:var(--radius-pill);font-family:var(--font);cursor:pointer;border:none;padding:.75rem;font-size:.9rem;font-weight:600;transition:background .2s,transform .15s;display:block}.vr-tutorial-start:hover{background:var(--primary);transform:scale(1.02)}.vr-tutorial-start:active{transform:scale(.98)}.vr-controls{z-index:210;pointer-events:auto;flex-direction:column;align-items:center;gap:.6rem;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.vr-controls.hidden{display:none}.vr-ctrl-row{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-pill);background:#141414d9;border:1px solid #ffffff1a;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.vr-ctrl-btn{border-radius:var(--radius-pill);min-width:48px;min-height:48px;color:var(--on-surface);font-family:var(--font);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.78rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.vr-ctrl-btn:hover,.vr-ctrl-btn:active{background:#ffffff14;border-color:#ffffff1f}.vr-ctrl-btn.vr-play{min-width:64px;min-height:64px;color:var(--primary-container);background:#00e5cc1f;border-color:#00e5cc40;border-radius:50%}.vr-ctrl-btn.vr-play:hover,.vr-ctrl-btn.vr-play:active{background:#00e5cc33}.vr-ctrl-btn.vr-exit{color:#ff6b6b;background:#ff6b6b14;border-color:#ff6b6b33}.vr-ctrl-btn.vr-exit:hover,.vr-ctrl-btn.vr-exit:active{background:#ff6b6b26}.vr-ctrl-btn.vr-seek{flex-direction:column;gap:.1rem;min-width:44px;font-size:.65rem}.vr-ctrl-btn svg{flex-shrink:0;display:block}.vr-ctrl-info{background:#14141499;border-color:#ffffff0f;gap:1rem;padding:.3rem 1rem}.vr-time-label{color:var(--on-surface);font-variant-numeric:tabular-nums;text-align:center;min-width:8ch;font-size:.8rem;font-weight:600}.vr-street-label{color:var(--primary-container);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.75rem;font-weight:500;overflow:hidden}.vr-guide-panel{bottom:calc(var(--spacing-4) + 48px);right:var(--spacing-4);z-index:60;-webkit-backdrop-filter:blur(24px);border:1px solid var(--ghost-border);opacity:0;pointer-events:none;background:#161616f0;border-radius:16px;width:360px;max-height:70vh;transition:opacity .25s,transform .25s;position:absolute;overflow-y:auto;transform:translateY(8px)scale(.97);box-shadow:0 16px 48px #0009}.vr-guide-panel.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.vr-guide-panel::-webkit-scrollbar{width:4px}.vr-guide-panel::-webkit-scrollbar-track{background:0 0}.vr-guide-panel::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.vr-guide-tabs{z-index:1;background:#161616f0;gap:.25rem;padding:.5rem .5rem 0;display:flex;position:sticky;top:0}.vr-guide-tab{color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.55rem .5rem;font-size:.75rem;font-weight:600;transition:color .15s,border-color .15s}.vr-guide-tab:hover{color:var(--on-surface)}.vr-guide-tab.active{color:var(--primary-container);border-bottom-color:var(--primary-container)}.vr-guide-content{padding:.75rem 1rem 1rem}.vr-guide-section{flex-direction:column;gap:.6rem;margin-bottom:.75rem;display:flex}.vr-guide-sub{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;margin-bottom:-.25rem;padding:.5rem 1rem .25rem;font-size:.65rem;font-weight:700}.vr-guide-step{align-items:flex-start;gap:.7rem;display:flex}.vr-guide-num{width:26px;min-width:26px;height:26px;color:var(--primary-container);background:#00e5cc1a;border:1px solid #00e5cc33;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.vr-guide-step strong{color:var(--on-surface);margin-bottom:.1rem;font-size:.82rem;font-weight:600;display:block}.vr-guide-step p{color:var(--on-surface-variant);margin:0;font-size:.73rem;line-height:1.5}.vr-guide-url{color:var(--primary-container);word-break:break-all;-webkit-user-select:all;user-select:all;background:#00e5cc0f;border:1px solid #00e5cc26;border-radius:6px;margin-top:.35rem;padding:.35rem .6rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem;display:block}.vr-guide-key-row{align-items:center;gap:.5rem;display:flex}.vr-guide-key-row kbd{min-width:26px;height:24px;color:var(--on-surface);font-family:var(--font);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:5px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.68rem;font-weight:600;display:inline-flex;box-shadow:0 1px #ffffff0f}.vr-guide-key-row>span:last-child{color:var(--on-surface-variant);margin-left:auto;font-size:.73rem}.vr-guide-key-row>small{color:var(--on-surface-variant);margin-left:.25rem;font-size:.73rem}.vr-guide-hint{color:var(--on-surface-variant);text-align:right;margin-top:-.3rem;font-size:.73rem;display:block}.vr-guide-mouse{color:var(--on-surface);background:#ffffff0a;border:1px solid #ffffff14;border-radius:5px;align-items:center;padding:.15rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.vr-guide-ctrl-row{align-items:flex-start;gap:.65rem;display:flex}.vr-guide-ctrl-icon{width:32px;min-width:32px;height:32px;color:var(--on-surface-variant);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;display:flex}.vr-guide-ctrl-icon.vr-guide-ctrl-teal{color:var(--primary-container);background:#00e5cc14;border-color:#00e5cc33}.vr-guide-ctrl-icon.vr-guide-ctrl-red{color:#ff6b6b;background:#ff6b6b14;border-color:#ff6b6b33}.vr-guide-ctrl-row strong{color:var(--on-surface);margin-bottom:.05rem;font-size:.8rem;font-weight:600;display:block}.vr-guide-ctrl-row p{color:var(--on-surface-variant);margin:0;font-size:.72rem;line-height:1.45}.vr-guide-note{background:#00e5cc0a;border:1px solid #00e5cc1a;border-radius:8px;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.6rem .75rem;display:flex}.vr-guide-note svg{color:var(--primary-container);flex-shrink:0;margin-top:1px}.vr-guide-note span{color:var(--on-surface-variant);font-size:.68rem;line-height:1.5}.vr-buffer-indicator{border-radius:var(--radius-pill);color:#ffc107;font-family:var(--font);background:#141414e6;border:1px solid #ffc1074d;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.78rem;font-weight:500;animation:1.5s ease-in-out infinite vrPulse;display:flex;position:absolute;bottom:calc(100% + 1rem);left:50%;transform:translate(-50%)}.vr-buffer-indicator.hidden{display:none}.vr-buffer-spinner{border:2px solid #ffc1074d;border-top-color:#ffc107;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes vrPulse{0%,to{opacity:1}50%{opacity:.6}}.viewer-subtitle{z-index:15;text-align:center;max-width:80vw;font-family:var(--font);color:#fff;text-shadow:0 1px 4px #000000e6,0 0 12px #0009;-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-lg);pointer-events:none;opacity:0;white-space:pre-wrap;word-break:break-word;background:#0000008c;padding:.5rem 1.2rem;font-weight:600;line-height:1.4;transition:opacity .25s;position:fixed;left:50%;transform:translate(-50%)}.viewer-subtitle.visible{opacity:1}.viewer-subtitle[data-position=bottom]{bottom:130px}.viewer-subtitle[data-position=top]{top:100px;bottom:auto}.viewer-subtitle[data-size=small]{padding:.55rem 1.3rem;font-size:1.55rem}.viewer-subtitle[data-size=medium]{padding:.65rem 1.5rem;font-size:2rem}.viewer-subtitle[data-size=large]{padding:.8rem 1.9rem;font-size:2.55rem}.viewer-subtitle-2{background:#00142899;border:1px solid #00e5cc26;font-style:italic}.viewer-speed-display{z-index:15;font-family:var(--font-mono,"SF Mono", monospace);color:var(--primary-container);-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-md);pointer-events:none;opacity:0;background:#00000080;border:1px solid #00e5cc33;padding:.45rem 1.05rem;font-size:1.5rem;font-weight:700;transition:opacity .3s;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.viewer-speed-display.visible{opacity:1}.viewer-speed-display.overspeed{color:#f44;background:#2800008c;border-color:#ff444459;animation:1.2s ease-in-out infinite overspeed-pulse}@keyframes overspeed-pulse{0%,to{opacity:1}50%{opacity:.7}}.vr-active .viewer-subtitle,.vr-active .viewer-speed-display{display:none}.vr-btn-flash{transition:transform .1s,background .1s;transform:scale(1.15);background:#00e5cc80!important}.video-info-badge.vr-info-mode{z-index:220;opacity:.85;pointer-events:none;font-size:.7rem;position:fixed;top:.5rem;left:50%;right:auto;transform:translate(-50%)}.version-badge{z-index:5;font-family:var(--font-mono,"SF Mono", "Fira Code", monospace);color:#fff6;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0000004d;border-radius:4px;padding:.2rem .6rem;font-size:.65rem;position:fixed;bottom:.5rem;left:.5rem}.lang-toggle{z-index:20;color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);cursor:pointer;border:1px solid #ffffff14;padding:.3rem .7rem;font-size:.75rem;font-weight:600;transition:background .2s,border-color .2s;display:none;position:fixed;top:.5rem;right:.5rem}.lang-toggle:hover{border-color:var(--primary-container);background:#ffffff1f}.offline-viewer-root{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.offline-landing-top-right{z-index:51;align-items:center;gap:.5rem;display:flex;position:absolute;top:3rem;right:1rem}.offline-landing-top-right>.map-detail-dropdown{position:static}.offline-viewer-sphere{width:100%;height:100%}.offline-viewer-sphere canvas{display:block}.offline-viewer-loading,.offline-viewer-error{width:100%;height:100%;color:var(--on-surface-variant);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.offline-no-image-overlay{color:#fff;font-family:var(--font);text-align:center;text-shadow:0 2px 8px #000c,0 0 20px #00000080;-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-lg);pointer-events:none;z-index:25;white-space:nowrap;background:#0000008c;padding:1rem 2.5rem;font-size:2rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.offline-sphere-loading{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);pointer-events:none;z-index:10;padding:.5rem 1rem;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.offline-nav-arrows{pointer-events:none;z-index:5;gap:2rem;display:flex;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.offline-nav-arrow{width:48px;height:48px;color:var(--primary-container);opacity:.6;cursor:pointer;pointer-events:all;filter:drop-shadow(0 0 4px #00e5cc4d);justify-content:center;align-items:center;transition:opacity .2s,transform .2s,filter .2s;display:flex}.offline-nav-arrow:hover{opacity:1;filter:drop-shadow(0 0 12px #00e5cc99);transform:scale(1.2)}.offline-nav-arrow svg{transform:rotate(0)}.offline-hud-counter{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);color:var(--on-surface);z-index:20;padding:.35rem .75rem;font-size:.8rem;position:absolute;top:3.1rem;left:.75rem}.offline-hud-waypoint{background:var(--primary-container);color:var(--surface);border-radius:var(--radius-pill);z-index:20;padding:.35rem .75rem;font-size:.8rem;font-weight:600;position:absolute;top:1rem;left:1rem}.offline-hud-street{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);color:var(--on-surface);white-space:nowrap;z-index:20;padding:.4rem 1.2rem;font-size:.9rem;position:absolute;bottom:5rem;left:50%;transform:translate(-50%)}.offline-hud-loading{border-radius:var(--radius-pill);color:var(--on-surface);z-index:25;background:#000000b3;padding:.5rem 1rem;font-size:.85rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.offline-bottom-bar{bottom:var(--spacing-4,1rem);right:var(--spacing-4,1rem);z-index:20;max-width:calc(100vw - 2 * var(--spacing-4,1rem));align-items:center;gap:.5rem;display:flex;position:absolute}.offline-bottom-bar>.offline-controls{border-radius:var(--radius-lg);position:static;box-shadow:0 8px 32px #0000007a}.offline-bottom-bar>.viewer-toggle-controls{position:static}.offline-bottom-bar>.audio-source-toggle{position:relative}.offline-bottom-bar>.vr-mode-toggle,.offline-bottom-bar>.viewer-fullscreen-toggle{position:static}.offline-controls{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));z-index:30;box-sizing:border-box;align-items:center;gap:.25rem;height:38px;padding:.35rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.offline-ctrl-btn{color:var(--on-surface);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.3rem;transition:color .2s,background .2s;display:flex}.offline-ctrl-btn:hover{color:var(--primary-container);background:#ffffff0d}.offline-ctrl-btn.active{color:var(--primary-container)}.offline-progress-scrubber{cursor:pointer;flex:1;padding:.5rem 0}.offline-progress-track{background:var(--surface-container-highest);border-radius:2px;width:100%;height:4px;overflow:hidden}.offline-progress-fill{background:var(--primary-container);border-radius:2px;width:0%;height:100%;transition:width .3s}.offline-minimap-wrapper{z-index:15;width:220px;height:155px;transition:width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1),bottom .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:3.5rem;left:1rem}.offline-minimap-wrapper.resizing{transition:none}.offline-minimap{border-radius:var(--radius-lg);border:1px solid var(--ghost-border);width:100%;height:100%;overflow:hidden}.offline-minimap-drag-bar{cursor:grab;-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);-webkit-user-select:none;user-select:none;z-index:26;opacity:0;background:#131313b3;border:1px solid #ffffff26;justify-content:center;align-items:center;width:48px;height:14px;transition:opacity .2s,background .15s,border-color .15s;display:flex;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.offline-minimap-wrapper:hover .offline-minimap-drag-bar{opacity:1}.offline-minimap-drag-bar:hover{background:#131313e6;border-color:#00e5cc66}.offline-minimap-drag-bar:active{cursor:grabbing;background:#00e5cc26;border-color:#00e5cc99}.offline-minimap-drag-dots{color:#ffffff80;letter-spacing:1px;font-size:7px;line-height:1}.offline-minimap-drag-bar:hover .offline-minimap-drag-dots{color:var(--primary-container)}.offline-minimap-edge{z-index:30;opacity:0;transition:opacity .2s;position:absolute}.offline-minimap-wrapper:hover .offline-minimap-edge{opacity:1}.offline-minimap-edge-n{cursor:n-resize;height:8px;top:-4px;left:12px;right:12px}.offline-minimap-edge-s{cursor:s-resize;height:8px;bottom:-4px;left:12px;right:12px}.offline-minimap-edge-w{cursor:w-resize;width:8px;top:12px;bottom:12px;left:-4px}.offline-minimap-edge-e{cursor:e-resize;width:8px;top:12px;bottom:12px;right:-4px}.offline-minimap-corner{z-index:31;opacity:0;width:12px;height:12px;transition:opacity .2s;position:absolute}.offline-minimap-corner:after{content:"";background:var(--primary-container);border:1.5px solid #fff9;border-radius:2px;width:6px;height:6px;position:absolute;box-shadow:0 1px 4px #00000080}.offline-minimap-wrapper:hover .offline-minimap-corner{opacity:1}.offline-minimap-corner-nw{cursor:nw-resize;top:-3px;left:-3px}.offline-minimap-corner-nw:after{top:0;left:0}.offline-minimap-corner-ne{cursor:ne-resize;top:-3px;right:-3px}.offline-minimap-corner-ne:after{top:0;right:0}.offline-minimap-corner-sw{cursor:sw-resize;bottom:-3px;left:-3px}.offline-minimap-corner-sw:after{bottom:0;left:0}.offline-minimap-corner-se{cursor:se-resize;bottom:-3px;right:-3px}.offline-minimap-corner-se:after{bottom:0;right:0}.offline-minimap-reset{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;white-space:nowrap;background:#131313b3;border:1px solid #ffffff26;justify-content:center;align-items:center;gap:4px;padding:2px 8px;font-size:.6rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:none;position:absolute;bottom:-22px;left:0}.offline-minimap-reset:hover{color:var(--primary-container);background:#131313e6;border-color:#00e5cc66}.offline-minimap-reset svg{width:10px;height:10px}.offline-minimap-current{filter:drop-shadow(0 0 4px #ea433580);justify-content:center;align-items:center;width:24px;height:29px;animation:2s ease-in-out infinite offline-pulse;display:flex}@keyframes offline-pulse{0%,to{filter:drop-shadow(0 0 4px #ea433580)}50%{filter:drop-shadow(0 0 10px #ea4335cc)}}.offline-route-selector{height:100%;color:var(--on-surface);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.offline-route-selector h2{margin-bottom:1rem}.offline-route-selector-list{flex-direction:column;gap:.5rem;width:100%;max-width:500px;margin-top:1rem;display:flex}.offline-sphere-loading-clone{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);pointer-events:none;z-index:10;padding:.5rem 1rem;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.offline-subtitle{text-align:center;max-width:80vw;font-family:var(--font);color:#fff;text-shadow:0 1px 4px #000000e6,0 0 12px #0009;-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-lg);z-index:12;pointer-events:none;white-space:pre-wrap;word-break:break-word;background:#0000008c;padding:.65rem 1.5rem;font-size:2rem;font-weight:600;line-height:1.4;position:absolute;left:50%;transform:translate(-50%)}.offline-subtitle-top{top:3.5rem}.offline-subtitle-bottom{text-align:right;-webkit-backdrop-filter:none;text-shadow:0 1px 3px #000000f2,0 0 8px #000000b3;background:0 0;max-width:40vw;padding:0;font-size:1.1rem;font-weight:400;bottom:8rem;left:auto;right:1.5rem;transform:none}.offline-key-highlight{border-radius:var(--radius-sm,.25rem);background:#00e5cc14;margin:0 -.35rem;padding:.15rem .35rem}.offline-speed-display{z-index:15;font-family:var(--font-mono,"SF Mono", monospace);color:var(--primary-container);-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-md);pointer-events:none;background:#00000080;border:1px solid #00e5cc33;padding:.45rem 1.05rem;font-size:1.5rem;font-weight:700;position:absolute;bottom:6rem;right:1.5rem}.offline-fps-select{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #ffffff4d;flex-shrink:0;padding:.2rem .35rem;font-size:.75rem}.offline-fps-select option{background:var(--surface-container);color:var(--on-surface);font-size:.75rem}.offline-map-btn{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.75rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex;position:absolute;top:.75rem;left:.75rem;box-shadow:0 4px 16px #0006}.offline-map-btn:hover{color:var(--primary-container);background:#00e5cc14;border-color:#00e5cc40}.offline-map-btn svg{flex-shrink:0;display:block}.offline-viewer-top-right{z-index:101;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex;position:absolute;top:.75rem;right:.75rem}.offline-viewer-top-right>.offline-info-badge{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);font-family:var(--font);color:var(--on-surface-variant);white-space:nowrap;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.7rem;font-weight:500;display:flex;box-shadow:0 4px 16px #0006}.offline-info-badge .vi-res,.offline-info-badge .vi-canvas,.offline-info-badge .vi-gfx,.offline-info-badge .vi-audio{color:var(--on-surface-variant);font-weight:500}.offline-info-badge .vi-val{color:var(--on-surface)}.offline-viewer-top-right>.offline-map-detail-selector{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex;position:static;box-shadow:0 4px 16px #0006}.offline-map-detail-selector .vmd-icon{color:var(--primary-container);flex-shrink:0;align-items:center;display:flex}.offline-map-detail-selector .custom-dropdown{position:relative}.offline-map-detail-selector .custom-dropdown-trigger{font-family:var(--font);color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.offline-map-detail-selector .custom-dropdown-trigger:hover{color:var(--on-surface);border-color:#ffffff1f}.offline-map-detail-selector .custom-dropdown-trigger.open{color:var(--primary-container);border-color:#00e5cc40}.offline-map-detail-selector .custom-dropdown-trigger .dd-chevron{opacity:.5;flex-shrink:0}.offline-map-detail-selector .custom-dropdown-menu{background:var(--surface-container-high);border:1px solid var(--outline-variant);z-index:200;border-radius:6px;min-width:100px;max-height:200px;padding:3px 0;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.offline-map-detail-selector .custom-dropdown-menu.visible{display:block}.offline-map-detail-selector .custom-dropdown-item{width:100%;font-family:var(--font);color:var(--on-surface);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;padding:5px 10px;font-size:.65rem;font-weight:400;transition:background .1s;display:flex}.offline-map-detail-selector .custom-dropdown-item:hover{background:#00e5cc1a}.offline-map-detail-selector .custom-dropdown-item.active{color:var(--primary-container);background:#00e5cc0f;font-weight:600}.offline-map-detail-selector .dd-check-slot{flex-shrink:0;align-items:center;width:10px;margin-right:.3rem;display:flex}.offline-map-detail-selector .dd-check-slot .dd-check{display:none}.offline-map-detail-selector .custom-dropdown-item.checked .dd-check-slot .dd-check{color:var(--primary-container);display:block}.offline-map-detail-selector .custom-dropdown-divider{background:var(--outline-variant);height:1px;margin:3px 8px}.offline-route-name-toggle{align-items:center;gap:.35rem;display:flex;position:relative}.offline-route-name-toggle.active .orn-label{display:inline-block}.offline-minimap .maplibregl-ctrl-attrib{display:none}.offline-minimap .maplibregl-marker{transition:transform .5s ease-out}.v2simage-viewer-root{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.v2simage-landing-top-right{z-index:51;align-items:center;gap:.5rem;display:flex;position:absolute;top:3rem;right:1rem}.v2simage-landing-top-right>.map-detail-dropdown{position:static}.v2simage-viewer-sphere{width:100%;height:100%}.v2simage-viewer-sphere canvas{display:block}.v2simage-viewer-loading,.v2simage-viewer-error{width:100%;height:100%;color:var(--on-surface-variant);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.v2simage-no-image-overlay{color:#fff;font-family:var(--font);text-align:center;text-shadow:0 2px 8px #000c,0 0 20px #00000080;-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-lg);pointer-events:none;z-index:25;white-space:nowrap;background:#0000008c;padding:1rem 2.5rem;font-size:2rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v2simage-sphere-loading{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);pointer-events:none;z-index:10;padding:.5rem 1rem;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v2simage-nav-arrows{pointer-events:none;z-index:5;gap:2rem;display:flex;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.v2simage-nav-arrow{width:48px;height:48px;color:var(--primary-container);opacity:.6;cursor:pointer;pointer-events:all;filter:drop-shadow(0 0 4px #00e5cc4d);justify-content:center;align-items:center;transition:opacity .2s,transform .2s,filter .2s;display:flex}.v2simage-nav-arrow:hover{opacity:1;filter:drop-shadow(0 0 12px #00e5cc99);transform:scale(1.2)}.v2simage-nav-arrow svg{transform:rotate(0)}.v2simage-hud-counter{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);color:var(--on-surface);z-index:20;padding:.35rem .75rem;font-size:.8rem;position:absolute;top:3.1rem;left:.75rem}.v2simage-hud-waypoint{background:var(--primary-container);color:var(--surface);border-radius:var(--radius-pill);z-index:20;padding:.35rem .75rem;font-size:.8rem;font-weight:600;position:absolute;top:1rem;left:1rem}.v2simage-hud-street{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);color:var(--on-surface);white-space:nowrap;z-index:20;padding:.4rem 1.2rem;font-size:.9rem;position:absolute;bottom:5rem;left:50%;transform:translate(-50%)}.v2simage-hud-loading{border-radius:var(--radius-pill);color:var(--on-surface);z-index:25;background:#000000b3;padding:.5rem 1rem;font-size:.85rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v2simage-bottom-bar{bottom:var(--spacing-4,1rem);right:var(--spacing-4,1rem);z-index:20;max-width:calc(100vw - 2 * var(--spacing-4,1rem));align-items:center;gap:.5rem;display:flex;position:absolute}.v2simage-bottom-bar>.v2simage-controls{border-radius:var(--radius-lg);position:static;box-shadow:0 8px 32px #0000007a}.v2simage-bottom-bar>.viewer-toggle-controls{position:static}.v2simage-bottom-bar>.audio-source-toggle{position:relative}.v2simage-bottom-bar>.vr-mode-toggle,.v2simage-bottom-bar>.viewer-fullscreen-toggle{position:static}.v2simage-controls{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));z-index:30;box-sizing:border-box;align-items:center;gap:.25rem;height:38px;padding:.35rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.v2simage-ctrl-btn{color:var(--on-surface);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.3rem;transition:color .2s,background .2s;display:flex}.v2simage-ctrl-btn:hover{color:var(--primary-container);background:#ffffff0d}.v2simage-ctrl-btn.active{color:var(--primary-container)}.v2simage-progress-scrubber{cursor:pointer;flex:1;padding:.5rem 0}.v2simage-progress-track{background:var(--surface-container-highest);border-radius:2px;width:100%;height:4px;overflow:hidden}.v2simage-progress-fill{background:var(--primary-container);border-radius:2px;width:0%;height:100%;transition:width .3s}.v2simage-minimap-wrapper{z-index:15;width:220px;height:155px;transition:width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1),bottom .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:3.5rem;left:1rem}.v2simage-minimap-wrapper.resizing{transition:none}.v2simage-minimap{border-radius:var(--radius-lg);border:1px solid var(--ghost-border);width:100%;height:100%;overflow:hidden}.v2simage-minimap-drag-bar{cursor:grab;-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);-webkit-user-select:none;user-select:none;z-index:26;opacity:0;background:#131313b3;border:1px solid #ffffff26;justify-content:center;align-items:center;width:48px;height:14px;transition:opacity .2s,background .15s,border-color .15s;display:flex;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.v2simage-minimap-wrapper:hover .v2simage-minimap-drag-bar{opacity:1}.v2simage-minimap-drag-bar:hover{background:#131313e6;border-color:#00e5cc66}.v2simage-minimap-drag-bar:active{cursor:grabbing;background:#00e5cc26;border-color:#00e5cc99}.v2simage-minimap-drag-dots{color:#ffffff80;letter-spacing:1px;font-size:7px;line-height:1}.v2simage-minimap-drag-bar:hover .v2simage-minimap-drag-dots{color:var(--primary-container)}.v2simage-minimap-edge{z-index:30;opacity:0;transition:opacity .2s;position:absolute}.v2simage-minimap-wrapper:hover .v2simage-minimap-edge{opacity:1}.v2simage-minimap-edge-n{cursor:n-resize;height:8px;top:-4px;left:12px;right:12px}.v2simage-minimap-edge-s{cursor:s-resize;height:8px;bottom:-4px;left:12px;right:12px}.v2simage-minimap-edge-w{cursor:w-resize;width:8px;top:12px;bottom:12px;left:-4px}.v2simage-minimap-edge-e{cursor:e-resize;width:8px;top:12px;bottom:12px;right:-4px}.v2simage-minimap-corner{z-index:31;opacity:0;width:12px;height:12px;transition:opacity .2s;position:absolute}.v2simage-minimap-corner:after{content:"";background:var(--primary-container);border:1.5px solid #fff9;border-radius:2px;width:6px;height:6px;position:absolute;box-shadow:0 1px 4px #00000080}.v2simage-minimap-wrapper:hover .v2simage-minimap-corner{opacity:1}.v2simage-minimap-corner-nw{cursor:nw-resize;top:-3px;left:-3px}.v2simage-minimap-corner-nw:after{top:0;left:0}.v2simage-minimap-corner-ne{cursor:ne-resize;top:-3px;right:-3px}.v2simage-minimap-corner-ne:after{top:0;right:0}.v2simage-minimap-corner-sw{cursor:sw-resize;bottom:-3px;left:-3px}.v2simage-minimap-corner-sw:after{bottom:0;left:0}.v2simage-minimap-corner-se{cursor:se-resize;bottom:-3px;right:-3px}.v2simage-minimap-corner-se:after{bottom:0;right:0}.v2simage-minimap-reset{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;white-space:nowrap;background:#131313b3;border:1px solid #ffffff26;justify-content:center;align-items:center;gap:4px;padding:2px 8px;font-size:.6rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:none;position:absolute;bottom:-22px;left:0}.v2simage-minimap-reset:hover{color:var(--primary-container);background:#131313e6;border-color:#00e5cc66}.v2simage-minimap-reset svg{width:10px;height:10px}.v2simage-minimap-current{filter:drop-shadow(0 0 4px #ea433580);justify-content:center;align-items:center;width:24px;height:29px;animation:2s ease-in-out infinite v2simage-pulse;display:flex}@keyframes v2simage-pulse{0%,to{filter:drop-shadow(0 0 4px #ea433580)}50%{filter:drop-shadow(0 0 10px #ea4335cc)}}.v2simage-route-selector{height:100%;color:var(--on-surface);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.v2simage-route-selector h2{margin-bottom:1rem}.v2simage-route-selector-list{flex-direction:column;gap:.5rem;width:100%;max-width:500px;margin-top:1rem;display:flex}.v2simage-sphere-loading-clone{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);pointer-events:none;z-index:10;padding:.5rem 1rem;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v2simage-subtitle{text-align:center;max-width:80vw;font-family:var(--font);color:#fff;text-shadow:0 1px 4px #000000e6,0 0 12px #0009;-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-lg);z-index:12;pointer-events:none;white-space:pre-wrap;word-break:break-word;background:#0000008c;padding:.65rem 1.5rem;font-size:2rem;font-weight:600;line-height:1.4;position:absolute;left:50%;transform:translate(-50%)}.v2simage-subtitle-top{top:3.5rem}.v2simage-subtitle-bottom{text-align:right;-webkit-backdrop-filter:none;text-shadow:0 1px 3px #000000f2,0 0 8px #000000b3;background:0 0;max-width:40vw;padding:0;font-size:1.1rem;font-weight:400;bottom:8rem;left:auto;right:1.5rem;transform:none}.v2simage-key-highlight{border-radius:var(--radius-sm,.25rem);background:#00e5cc14;margin:0 -.35rem;padding:.15rem .35rem}.v2simage-speed-display{z-index:15;font-family:var(--font-mono,"SF Mono", monospace);color:var(--primary-container);-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-md);pointer-events:none;background:#00000080;border:1px solid #00e5cc33;padding:.45rem 1.05rem;font-size:1.5rem;font-weight:700;position:absolute;bottom:6rem;right:1.5rem}.v2simage-fps-select{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #ffffff4d;flex-shrink:0;padding:.2rem .35rem;font-size:.75rem}.v2simage-fps-select option{background:var(--surface-container);color:var(--on-surface);font-size:.75rem}.v2simage-map-btn{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.75rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex;position:absolute;top:.75rem;left:.75rem;box-shadow:0 4px 16px #0006}.v2simage-map-btn:hover{color:var(--primary-container);background:#00e5cc14;border-color:#00e5cc40}.v2simage-map-btn svg{flex-shrink:0;display:block}.v2simage-viewer-top-right{z-index:101;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex;position:absolute;top:.75rem;right:.75rem}.v2simage-viewer-top-right>.v2simage-info-badge{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);font-family:var(--font);color:var(--on-surface-variant);white-space:nowrap;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.7rem;font-weight:500;display:flex;box-shadow:0 4px 16px #0006}.v2simage-info-badge .vi-res,.v2simage-info-badge .vi-canvas,.v2simage-info-badge .vi-gfx,.v2simage-info-badge .vi-audio{color:var(--on-surface-variant);font-weight:500}.v2simage-info-badge .vi-val{color:var(--on-surface)}.v2simage-viewer-top-right>.v2simage-map-detail-selector{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex;position:static;box-shadow:0 4px 16px #0006}.v2simage-map-detail-selector .vmd-icon{color:var(--primary-container);flex-shrink:0;align-items:center;display:flex}.v2simage-map-detail-selector .custom-dropdown{position:relative}.v2simage-map-detail-selector .custom-dropdown-trigger{font-family:var(--font);color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.v2simage-map-detail-selector .custom-dropdown-trigger:hover{color:var(--on-surface);border-color:#ffffff1f}.v2simage-map-detail-selector .custom-dropdown-trigger.open{color:var(--primary-container);border-color:#00e5cc40}.v2simage-map-detail-selector .custom-dropdown-trigger .dd-chevron{opacity:.5;flex-shrink:0}.v2simage-map-detail-selector .custom-dropdown-menu{background:var(--surface-container-high);border:1px solid var(--outline-variant);z-index:200;border-radius:6px;min-width:100px;max-height:200px;padding:3px 0;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.v2simage-map-detail-selector .custom-dropdown-menu.visible{display:block}.v2simage-map-detail-selector .custom-dropdown-item{width:100%;font-family:var(--font);color:var(--on-surface);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;padding:5px 10px;font-size:.65rem;font-weight:400;transition:background .1s;display:flex}.v2simage-map-detail-selector .custom-dropdown-item:hover{background:#00e5cc1a}.v2simage-map-detail-selector .custom-dropdown-item.active{color:var(--primary-container);background:#00e5cc0f;font-weight:600}.v2simage-map-detail-selector .dd-check-slot{flex-shrink:0;align-items:center;width:10px;margin-right:.3rem;display:flex}.v2simage-map-detail-selector .dd-check-slot .dd-check{display:none}.v2simage-map-detail-selector .custom-dropdown-item.checked .dd-check-slot .dd-check{color:var(--primary-container);display:block}.v2simage-map-detail-selector .custom-dropdown-divider{background:var(--outline-variant);height:1px;margin:3px 8px}.v2simage-route-name-toggle{align-items:center;gap:.35rem;display:flex;position:relative}.orn-label{font-family:var(--font);color:var(--on-surface-variant);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);white-space:nowrap;text-overflow:ellipsis;max-width:200px;height:28px;padding:0 .6rem;font-size:.65rem;font-weight:500;line-height:26px;display:none;overflow:hidden;box-shadow:0 4px 16px #0006}.v2simage-route-name-toggle.active .orn-label{display:inline-block}.orn-btn{background:var(--glass-bg);width:28px;height:28px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);color:var(--on-surface-variant);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s,border-color .2s;display:flex;box-shadow:0 4px 16px #0006}.orn-btn:hover{color:var(--on-surface);background:#ffffff0f;border-color:#ffffff26}.orn-btn.active{color:var(--primary-container);background:#00e5cc1a;border-color:#00e5cc40}.orn-icon{align-items:center;display:flex}.v2simage-minimap .maplibregl-ctrl-attrib{display:none}.v2simage-minimap .maplibregl-marker{transition:transform .5s ease-out}.online-viewer-root{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.online-explorer,.online-explorer-map{z-index:0;position:absolute;inset:0}.online-explorer-iframe{border:none;width:100%;height:100%}.online-explorer-jsmap{width:100%;height:100%}.online-explorer .map-explorer-search,.online-explorer .map-explorer-title{z-index:10}.online-apikey-dropdown{z-index:10;position:relative}.online-apikey-btn{background:var(--surface-container);-webkit-backdrop-filter:blur(24px);border:1.5px solid var(--outline-variant);border-radius:var(--radius-md);color:#ffffff59;cursor:pointer;justify-content:center;align-items:center;width:32px;height:28px;padding:0;transition:border-color .15s,color .15s,box-shadow .15s;display:flex}.online-apikey-btn:hover{border-color:var(--outline);color:#ffffffb3}.online-apikey-btn.has-key{color:#4ade80;border-color:#4ade8059}.online-apikey-btn.has-key:hover{border-color:#4ade8099;box-shadow:0 0 0 2px #4ade801f}.online-apikey-btn.invalid-key{color:#f87171;border-color:#f8717159}.online-apikey-btn svg{flex-shrink:0}.online-apikey-popup{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#141414f2;border:1px solid #ffffff26;width:340px;max-width:calc(100vw - 2rem);padding:1rem;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #0009}.online-apikey-popup.open{display:block}.online-apikey-backdrop{z-index:99;display:none;position:fixed;inset:0}.online-apikey-backdrop.open{display:block}.online-apikey-popup{z-index:100}.online-apikey-popup-title{font-family:var(--font);color:var(--on-surface);margin-bottom:.4rem;font-size:.9rem;font-weight:700}.online-apikey-popup-desc{font-family:var(--font);color:var(--outline);margin:0 0 .75rem;font-size:.75rem;line-height:1.4}.online-apikey-input{border-radius:var(--radius-md);color:#fff;width:100%;font-family:var(--font);box-sizing:border-box;background:#ffffff0f;border:1.5px solid #ffffff26;outline:none;padding:.55rem .8rem;font-size:.82rem;transition:border-color .15s}.online-apikey-input:focus{border-color:var(--primary-container)}.online-apikey-input::placeholder{color:#ffffff59}.online-apikey-actions{gap:.5rem;margin-top:.75rem;display:flex}.online-apikey-save{background:var(--primary-container);color:var(--surface);border-radius:var(--radius-md);font-family:var(--font);cursor:pointer;border:none;flex:1;padding:.45rem .8rem;font-size:.8rem;font-weight:600;transition:background .15s}.online-apikey-save:hover{background:var(--primary)}.online-apikey-remove{color:#ff6b6b;border-radius:var(--radius-md);font-family:var(--font);cursor:pointer;background:#ff505026;border:1px solid #ff50504d;padding:.45rem .8rem;font-size:.8rem;font-weight:600;transition:background .15s}.online-apikey-remove:hover{background:#ff505040}.demo-viewer-root{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.demo-viewer-sphere{width:100%;height:100%}.demo-viewer-sphere canvas{display:block}.demo-viewer-loading,.demo-viewer-error{width:100%;height:100%;color:var(--on-surface-variant);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.demo-landing-map{z-index:0;position:absolute;inset:0}.demo-scheme-btn{z-index:20;width:32px;height:28px;font-size:16px;font-family:var(--font);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--outline-variant);cursor:pointer;color:var(--on-surface);border-radius:20px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;bottom:1rem;left:1rem}.demo-scheme-btn:hover{background:#ffffff1f}.demo-landing-start-pin{cursor:pointer;background:#ab47bc;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0006}.demo-sphere-loading{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);pointer-events:none;z-index:10;padding:.5rem 1rem;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.demo-hud-counter{color:#fff;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);z-index:10;padding:.3rem .7rem;font-size:.8rem;position:absolute;top:.75rem;right:.75rem}.demo-hud-waypoint{color:var(--primary-container);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);z-index:10;padding:.3rem .7rem;font-size:.85rem;font-weight:500;position:absolute;top:4.8rem;left:.75rem}.demo-hud-loading{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-pill);pointer-events:none;z-index:10;padding:.5rem 1.5rem;font-size:1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.demo-subtitle{text-align:center;max-width:80vw;font-family:var(--font);color:#fff;text-shadow:0 1px 4px #000000e6,0 0 12px #0009;-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-lg);z-index:12;pointer-events:none;white-space:pre-wrap;word-break:break-word;background:#0000008c;padding:.65rem 1.5rem;font-size:2rem;font-weight:600;line-height:1.4;position:absolute;left:50%;transform:translate(-50%)}.demo-subtitle-top{top:6rem}.demo-subtitle-bottom{bottom:8rem}.demo-controls{z-index:15;background:linear-gradient(#0000,#000000b3);justify-content:center;align-items:center;gap:.25rem;padding:.75rem .5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.demo-ctrl-btn{color:#fff;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.35rem;transition:background .2s;display:flex}.demo-ctrl-btn:hover{background:#ffffff26}.demo-ctrl-btn.active{color:var(--primary-container)}.demo-progress-scrubber{cursor:pointer;flex:0 240px;align-items:center;min-width:120px;height:24px;display:flex}.demo-progress-track{background:#fff3;border-radius:3px;width:100%;height:6px;position:relative}.demo-progress-fill{background:var(--primary-container);border-radius:3px;height:100%;transition:width .15s}.demo-fps-select{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #ffffff4d;flex-shrink:0;padding:.4rem .5rem;font-size:1rem}.demo-fps-select option{background:var(--surface-container);color:var(--on-surface);font-size:1rem}.demo-speed-display{z-index:15;font-family:var(--font-mono,"SF Mono", monospace);color:var(--primary-container);-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-md);pointer-events:none;background:#00000080;border:1px solid #00e5cc33;padding:.45rem 1.05rem;font-size:1.5rem;font-weight:700;position:absolute;bottom:5.5rem;right:1.5rem}.demo-map-btn{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.75rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex;position:absolute;top:.75rem;left:.75rem;box-shadow:0 4px 16px #0006}.demo-map-btn:hover{color:var(--primary-container);background:#00e5cc14;border-color:#00e5cc40}.demo-map-btn svg{flex-shrink:0;display:block}.demo-map-detail-selector{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex;position:absolute;top:2.8rem;right:.75rem;box-shadow:0 4px 16px #0006}.demo-map-detail-selector .vmd-icon{color:var(--primary-container);flex-shrink:0;align-items:center;display:flex}.demo-map-detail-selector .custom-dropdown{position:relative}.demo-map-detail-selector .custom-dropdown-trigger{font-family:var(--font);color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.demo-map-detail-selector .custom-dropdown-trigger:hover{color:var(--on-surface);border-color:#ffffff1f}.demo-map-detail-selector .custom-dropdown-trigger.open{color:var(--primary-container);border-color:#00e5cc40}.demo-map-detail-selector .custom-dropdown-trigger .dd-chevron{opacity:.5;flex-shrink:0}.demo-map-detail-selector .custom-dropdown-menu{background:var(--surface-container-high);border:1px solid var(--outline-variant);z-index:200;border-radius:6px;min-width:100px;max-height:200px;padding:3px 0;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.demo-map-detail-selector .custom-dropdown-menu.visible{display:block}.demo-map-detail-selector .custom-dropdown-item{width:100%;font-family:var(--font);color:var(--on-surface);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 10px;font-size:.65rem;font-weight:400;transition:background .1s;display:block}.demo-map-detail-selector .custom-dropdown-item:hover{background:#00e5cc1a}.demo-map-detail-selector .custom-dropdown-item.active{color:var(--primary-container);background:#00e5cc0f;font-weight:600}.demo-minimap{border-radius:var(--radius-lg);border:1px solid var(--outline-variant);z-index:10;width:250px;height:180px;position:absolute;bottom:5.5rem;left:.75rem;overflow:hidden}.demo-minimap .maplibregl-ctrl-attrib{display:none}.demo-minimap .maplibregl-marker{transition:transform .5s ease-out}.demo-minimap-current{justify-content:center;align-items:center;display:flex}.online-sv{background:var(--surface);font-family:var(--font);flex-direction:column;display:none;position:relative}.tab-panel.online-sv{justify-content:flex-start;align-items:stretch}.online-sv-header{background:var(--glass-bg);height:48px;-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--ghost-border);flex-shrink:0;align-items:center;padding:0 .75rem;display:flex}.online-sv-back{color:var(--on-surface-variant);border:1px solid var(--outline-variant);border-radius:var(--radius-md);cursor:pointer;font-size:.78rem;font-weight:500;font-family:var(--font);white-space:nowrap;background:0 0;align-items:center;gap:.4rem;padding:.3rem .6rem;transition:color .2s,border-color .2s,background .2s;display:flex}.online-sv-back:hover{color:var(--on-surface);border-color:var(--outline);background:#ffffff0a}.online-sv-header-center,.online-sv-header-right{flex:1}.online-sv-header-center{justify-content:center;align-items:center;display:flex}.online-sv-header-right{justify-content:flex-end;display:flex}.online-sv-content{flex-direction:row;flex:1;min-height:0;display:flex}.osv-map-pane,.osv-sv-pane{flex:1;min-width:0;min-height:0;transition:flex-basis .15s;position:relative;overflow:hidden}.osv-map-pane{background:var(--surface-container)}.osv-sv-pane{background:var(--surface-container-high)}.online-sv-placeholder{color:var(--on-surface-variant);opacity:.35;-webkit-user-select:none;user-select:none;font-size:.9rem;font-weight:500}.osv-splitter{cursor:col-resize;background:var(--outline-variant);z-index:5;flex-shrink:0;width:4px;transition:background .2s}.osv-splitter:hover,.osv-splitter[data-dragging]{background:var(--primary-container)}.osv-no-coverage{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.osv-no-coverage:before{content:"";background:radial-gradient(#00000059,#0000 70%);position:absolute;inset:0}.osv-no-coverage-card{-webkit-backdrop-filter:blur(16px)saturate(140%);background:#141416d9;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;align-items:center;gap:16px;max-width:360px;padding:28px 36px;display:flex;position:relative;box-shadow:0 12px 40px #00000080,0 2px 8px #0000004d}.osv-no-coverage-icon{background:linear-gradient(135deg,#ffd43b,#fab005);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2.2rem;line-height:1;display:flex;box-shadow:0 4px 12px #fab00559}.osv-no-coverage-text{color:#fff;text-align:center;font-size:.95rem;font-weight:600;line-height:1.4}.osv-no-coverage-hint{color:#ffffffb3;text-align:center;max-width:280px;font-size:.8rem;font-weight:400;line-height:1.5}.osv-key-missing{color:var(--on-surface-variant);opacity:.5;text-align:center;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:2rem;font-size:.85rem;font-weight:500;display:flex;position:absolute;inset:0}.osv-style-toolbar{bottom:var(--osv-toolbar-bottom,16px);z-index:10;gap:6px;max-width:calc(100% - 32px);padding-bottom:4px;display:flex;position:absolute;left:16px;overflow-x:auto}.osv-style-btn{font-size:12px;font-family:var(--font);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--outline-variant);cursor:pointer;white-space:nowrap;color:var(--on-surface-variant);border-radius:20px;padding:4px 12px;transition:background .15s,border-color .15s}.osv-style-btn:hover{color:var(--on-surface);background:#ffffff14}.osv-style-btn.active{background:var(--primary-container);border-color:var(--primary-container);color:var(--surface)}.osv-scheme-btn{width:28px;height:24px;font-size:14px;font-family:var(--font);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--outline-variant);cursor:pointer;color:var(--on-surface);border-radius:20px;justify-content:center;align-items:center;margin-left:4px;padding:0;transition:background .15s,color .15s;display:flex}.osv-scheme-btn:hover{background:#ffffff1f}.osv-search-wrap{align-items:center;width:100%;max-width:420px;display:flex;position:relative}.osv-search-input{width:100%;height:32px;font-family:var(--font);color:var(--on-surface);background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--radius-pill);outline:none;padding:0 2rem 0 .75rem;font-size:.8rem;transition:border-color .2s,background .2s}.osv-search-input::placeholder{color:var(--on-surface-variant);opacity:.5}.osv-search-input:focus{border-color:var(--primary-container);background:var(--surface-container-high)}.osv-search-clear{width:20px;height:20px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:color .15s;display:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.osv-search-clear:hover{color:var(--on-surface)}.osv-search-wrap.has-text .osv-search-clear{display:flex}.osv-search-dropdown{background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--radius-md);z-index:9999;max-height:260px;display:none;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #0006}.osv-search-item{color:var(--on-surface);cursor:pointer;padding:.45rem .75rem;font-size:.8rem;transition:background .1s}.osv-search-item:not(:first-child){border-top:1px solid var(--ghost-border)}.osv-search-item:hover,.osv-search-item.active{background:var(--surface-container)}.osv-search-item.active{color:var(--primary-container)}.osv-pano-loading{z-index:8;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.osv-pano-loading .spinner{border:3px solid var(--outline-variant);border-top-color:var(--primary-container);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}.osv-pano-loading .osv-loading-text{color:var(--on-surface-variant);letter-spacing:.03em;font-size:.78rem;font-weight:500}.osv-toast{z-index:9999;font-family:var(--font);color:#fff;-webkit-backdrop-filter:blur(16px)saturate(140%);border-radius:var(--radius-pill);opacity:0;pointer-events:none;white-space:nowrap;text-align:center;background:#141416eb;border:1px solid #ffffff26;max-width:90vw;padding:.7rem 1.4rem;font-size:.85rem;font-weight:500;transition:opacity .25s,transform .25s;position:fixed;bottom:4rem;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 10px 32px #00000080,0 2px 8px #0000004d}.osv-toast.visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.osv-minimap-handle,.osv-minimap-collapse{display:none}.osv-map-pane.floating .osv-minimap-handle,.osv-map-pane.floating .osv-minimap-collapse{display:flex}.osv-minimap-handle{cursor:grab;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ghost-border);z-index:3;-webkit-user-select:none;user-select:none;background:linear-gradient(#0000008c,#00000059);height:26px;transition:background .15s;position:absolute;top:0;left:0;right:0}.osv-minimap-handle:before{content:"";background-image:radial-gradient(circle,#fff9 1px,#0000 1.5px),radial-gradient(circle,#fff9 1px,#0000 1.5px);background-position:0 0,0 4px;background-repeat:repeat-x;background-size:7px 4px;width:28px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.osv-minimap-handle:hover{background:linear-gradient(#000000b3,#00000073)}.osv-minimap-handle:active{cursor:grabbing}.osv-minimap-collapse{-webkit-backdrop-filter:blur(8px);color:#ffffffe6;width:26px;height:20px;font-size:.9rem;font-family:var(--font);cursor:pointer;z-index:4;background:#0006;border:1px solid #ffffff26;border-radius:4px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s;position:absolute;top:3px;right:3px}.osv-minimap-collapse:hover{color:#fff;background:#0009;border-color:#ffffff4d}.osv-map-pane.floating{z-index:1000;border:1.5px solid var(--outline-variant);border-radius:8px;width:240px;min-width:120px;height:180px;min-height:90px;overflow:hidden;box-shadow:0 4px 16px #00000080;flex:none!important;position:absolute!important}.osv-resize-grip{z-index:5;background:0 0;width:14px;height:14px;display:none;position:absolute}.osv-map-pane.floating .osv-resize-grip{display:block}.osv-resize-tl{cursor:nwse-resize;top:0;left:0}.osv-resize-tr{cursor:nesw-resize;top:0;right:0}.osv-resize-bl{cursor:nesw-resize;bottom:0;left:0}.osv-resize-br{cursor:nwse-resize;bottom:0;right:0}.osv-map-pane.floating .osv-resize-grip:after{content:"";border-color:var(--on-surface-variant);width:8px;height:8px;position:absolute}.osv-resize-tl:after{border-top:2px solid;border-left:2px solid;top:2px;left:2px}.osv-resize-tr:after{border-top:2px solid;border-right:2px solid;top:2px;right:2px}.osv-resize-bl:after{border-bottom:2px solid;border-left:2px solid;bottom:2px;left:2px}.osv-resize-br:after{border-bottom:2px solid;border-right:2px solid;bottom:2px;right:2px}.osv-map-pane.floating.collapsed .osv-resize-grip{display:none}.osv-map-pane.floating.collapsed{resize:none;min-width:44px;min-height:44px;width:44px!important;height:44px!important}.osv-map-pane.floating.collapsed>div:not(.osv-minimap-handle):not(.osv-minimap-collapse){display:none!important}.osv-map-pane.floating.collapsed .osv-minimap-handle{display:none}.osv-map-pane.floating.collapsed .osv-minimap-collapse{width:28px;height:28px;font-size:1rem;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}.osv-map-pane.floating .osv-style-toolbar,.osv-map-pane.floating .osv-recenter-btn{display:none!important}.osv-brand-mark{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:6;font-family:var(--font);letter-spacing:.14em;text-transform:uppercase;color:#fff9;text-shadow:0 1px 3px #0009,0 0 12px #0006;white-space:nowrap;align-items:center;gap:14px;font-size:.68rem;font-weight:500;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.osv-brand-line{background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:28px;height:1px}.osv-brand-text{padding:0 2px}.osv-recenter-btn{font-family:var(--font);color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);cursor:pointer;z-index:11;border-radius:20px;align-items:center;gap:.35rem;padding:6px 14px;font-size:.75rem;font-weight:500;transition:background .15s,transform .15s;display:none;position:absolute;bottom:16px;right:16px;box-shadow:0 4px 16px #00000059}.osv-recenter-btn.visible{display:inline-flex}.osv-recenter-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.online-sv-header-right{align-items:center;gap:.5rem;padding-right:.25rem;display:flex}.osv-layout-group{border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface-container);align-items:stretch;display:inline-flex;overflow:hidden}.osv-layout-btn{min-width:32px;height:28px;font-family:var(--font);color:var(--on-surface-variant);border:none;border-right:1px solid var(--outline-variant);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 .6rem;font-size:.85rem;line-height:1;transition:background .15s,color .15s;display:flex}.osv-layout-btn:last-child{border-right:none}.osv-layout-btn:hover:not(.active){color:var(--on-surface);background:#ffffff0f}.osv-layout-btn.active{background:var(--primary-container);color:var(--surface)}.osv-header-btn{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--radius-md);width:32px;height:28px;color:var(--on-surface);font-size:.9rem;font-family:var(--font);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s;display:flex;position:relative}.osv-header-btn:hover{border-color:var(--outline);background:#ffffff14}.osv-header-btn-icon{justify-content:center;align-items:center;display:inline-flex}.osv-header-btn-spinner{justify-content:center;align-items:center;display:none;position:absolute;inset:0}.osv-header-btn-spinner:before{content:"";border:2px solid var(--outline-variant);border-top-color:var(--primary-container);border-radius:50%;width:14px;height:14px;animation:.9s linear infinite spin}.osv-header-btn.loading .osv-header-btn-icon{visibility:hidden}.osv-header-btn.loading .osv-header-btn-spinner{display:flex}.osv-latlng-popup{z-index:1500;-webkit-backdrop-filter:blur(16px)saturate(140%);width:240px;max-width:calc(100vw - 32px);font-family:var(--font);color:#fff;box-sizing:border-box;background:#141416eb;border:1px solid #ffffff1f;border-radius:10px;padding:12px;position:absolute;box-shadow:0 12px 40px #00000080,0 2px 8px #0000004d}.osv-latlng-coords{color:#fff;-webkit-user-select:text;user-select:text;text-align:center;background:#ffffff14;border-radius:6px;margin-bottom:10px;padding:6px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.82rem;font-weight:500}.osv-latlng-actions{flex-direction:column;gap:6px;display:flex}.osv-latlng-actions button{width:100%;font-family:var(--font);color:#fff;cursor:pointer;text-align:center;word-break:break-word;box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:8px 12px;font-size:.78rem;font-weight:500;line-height:1.3;transition:background .15s,border-color .15s}.osv-latlng-actions button:hover{background:#ffffff24;border-color:#ffffff40}.osv-latlng-copy.copied{background:var(--primary-container);color:var(--surface);border-color:var(--primary-container)}.osv-latlng-open{color:var(--primary-container)!important}.osv-mobile-tabs{background:var(--surface-container);border-bottom:1px solid var(--outline-variant);flex-shrink:0;height:40px;display:none}.osv-mobile-tab{height:100%;color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;font-size:.85rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.osv-mobile-tab:hover{color:var(--on-surface)}.osv-mobile-tab.active{color:var(--primary-container);border-bottom-color:var(--primary-container)}.osv-mobile-pill{font-family:var(--font);color:var(--surface);background:var(--primary-container);cursor:pointer;z-index:2000;border:none;border-radius:999px;padding:10px 20px;font-size:.82rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.osv-mobile-pill:hover{transform:translate(-50%)translateY(-1px);box-shadow:0 10px 28px #00000080}@media (width<=1023px){.osv-splitter,.osv-layout-group{display:none!important}.osv-mobile .online-sv-content{flex-direction:column;position:relative}.osv-mobile .osv-mobile-tabs{display:flex}.osv-mobile .osv-mobile-pill{display:inline-flex}.osv-mobile .osv-map-pane,.osv-mobile .osv-sv-pane{width:100%;height:auto;min-height:0;inset:40px 0 0;flex:none!important;position:absolute!important}.osv-mobile .osv-pane-active{visibility:visible;z-index:2;pointer-events:auto}.osv-mobile .osv-pane-inactive{visibility:hidden;z-index:1;pointer-events:none}.osv-mobile .osv-map-pane.floating{z-index:auto;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;box-shadow:none!important;border:none!important;border-radius:0!important;flex:auto!important;position:relative!important;inset:auto!important}.osv-mobile .osv-map-pane.floating .osv-minimap-handle,.osv-mobile .osv-map-pane.floating .osv-minimap-collapse,.osv-mobile .osv-map-pane.floating .osv-resize-grip{display:none!important}}.osv-coverage-btn{font-size:.85rem}.osv-coverage-btn.active{background:var(--primary-container);border-color:var(--primary-container);color:var(--surface)}.osv-attractions-btn{font-size:.95rem;transition:opacity .15s,filter .15s}.osv-attractions-btn.off{opacity:.35;filter:grayscale()}.osv-autoplay-btn{font-size:.95rem}.osv-autoplay-interval{font-variant-numeric:tabular-nums;width:auto;min-width:36px;padding:0 .45rem;font-size:.78rem;font-weight:600}.osv-voice-lang-btn{font-size:1.05rem;line-height:1}.osv-header-picker{-webkit-backdrop-filter:blur(16px)saturate(140%);min-width:120px;font-family:var(--font);background:#141416f0;border:1px solid #ffffff24;border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;box-shadow:0 12px 40px #00000080,0 2px 8px #0000004d}.osv-header-picker-item{font-family:var(--font);color:#fff;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:500;transition:background .12s;display:flex}.osv-header-picker-item:hover{background:#ffffff1a}.osv-header-picker-item.active{background:var(--primary-container);color:var(--surface)}.osv-autoplay-picker .osv-header-picker-item{font-variant-numeric:tabular-nums;justify-content:center;font-weight:600}.osv-header-picker-item-flag{gap:10px}.osv-picker-flag{font-size:1.1rem;line-height:1}.osv-picker-label{flex:1}.osv-narration-subtitle{max-width:calc(100% - 48px);font-family:var(--font);color:#fff;text-align:center;-webkit-backdrop-filter:blur(8px);z-index:15;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;white-space:pre-wrap;word-break:break-word;background:#000000bf;border-radius:10px;padding:10px 20px;font-size:.88rem;font-weight:500;line-height:1.5;transition:opacity .3s,transform .3s;position:absolute;bottom:64px;left:50%;transform:translate(-50%)translateY(6px);box-shadow:0 4px 20px #0006}.osv-narration-subtitle.visible{opacity:1;transform:translate(-50%)translateY(0)}.osv-route-btn{font-size:.95rem}.osv-route-btn.active{background:var(--primary-container);border-color:var(--primary-container);color:var(--surface)}.osv-route-panel{-webkit-backdrop-filter:blur(16px)saturate(140%);z-index:100;width:320px;max-height:calc(100% - 80px);font-family:var(--font);color:#fff;background:#141416f0;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:none;position:absolute;top:64px;left:16px;overflow-y:auto;box-shadow:0 12px 40px #00000080,0 2px 8px #0000004d}.osv-route-panel.visible{display:flex}@media (width<=1023px){.osv-route-panel{width:auto;max-height:70vh;inset:auto 8px 16px}}.osv-route-panel-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-bottom:4px;display:flex}.osv-route-panel-title{font-size:.95rem;font-weight:600}.osv-route-panel-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:1.2rem;transition:background .15s,color .15s}.osv-route-panel-close:hover{color:#fff;background:#ffffff1a}.osv-route-travel-group{border:1px solid #ffffff24;border-radius:8px;gap:0;display:flex;overflow:hidden}.osv-route-travel-btn{font-family:var(--font);color:#fffc;cursor:pointer;background:0 0;border:none;border-right:1px solid #ffffff24;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;font-weight:500;transition:background .15s,color .15s;display:flex}.osv-route-travel-btn:last-child{border-right:none}.osv-route-travel-btn:hover{color:#fff;background:#ffffff14}.osv-route-travel-btn.active{background:var(--primary-container);color:var(--surface)}.osv-route-pick-row{align-items:center;display:flex}.osv-route-pick-btn{font-family:var(--font);color:#ffffffd9;cursor:pointer;background:0 0;border:1px dashed #ffffff40;border-radius:6px;flex:1;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.osv-route-pick-btn:hover{color:#fff;background:#ffffff0f;border-color:#fff6}.osv-route-pick-btn.active{background:var(--primary-container);border-color:var(--primary-container);color:var(--surface);border-style:solid}.osv-route-inputs{flex-direction:column;gap:6px;display:flex}.osv-route-waypoint-row{border-radius:6px;align-items:center;gap:4px;padding:2px;transition:background .15s,box-shadow .15s;display:flex}.osv-route-waypoint-row.picking{background:rgba(var(--primary-container-rgb,100, 220, 255), .18);box-shadow:0 0 0 1.5px var(--primary-container)}.osv-route-input{min-width:0;font-family:var(--font);color:#fff;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;flex:1;padding:8px 10px;font-size:.82rem}.osv-route-input:focus{border-color:var(--primary-container);background:#ffffff1a;outline:none}.osv-route-input::placeholder{color:#ffffff73}.osv-route-remove-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:6px;width:30px;height:30px;font-size:1rem;transition:background .15s,color .15s}.osv-route-remove-btn:hover{color:#fff;background:#ff646433;border-color:#ff646480}.osv-route-add-waypoint{font-family:var(--font);color:#fffc;cursor:pointer;background:0 0;border:1px dashed #fff3;border-radius:6px;padding:8px;font-size:.82rem;transition:background .15s,border-color .15s,color .15s}.osv-route-add-waypoint:hover{color:#fff;background:#ffffff0f;border-color:#fff6}.osv-route-actions{flex-direction:column;gap:6px;display:flex}.osv-route-primary-btn{font-family:var(--font);color:var(--surface);background:var(--primary-container);cursor:pointer;border:none;border-radius:8px;padding:10px 14px;font-size:.88rem;font-weight:600;transition:filter .15s}.osv-route-primary-btn:hover{filter:brightness(1.12)}.osv-route-walk-btn{color:#fff;background:#16a34a}.osv-route-secondary-btn{font-family:var(--font);color:#ffffffd9;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:8px 14px;font-size:.82rem;font-weight:500;transition:background .15s,color .15s}.osv-route-secondary-btn:hover{color:#fff;background:#ffffff14}.osv-route-summary{font-family:var(--font);color:#ffffffe6;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:10px 12px;font-size:.85rem;line-height:1.5}.osv-route-summary strong{color:#fff;font-weight:600}.osv-route-pin{filter:drop-shadow(0 2px 4px #00000073);pointer-events:auto;font-size:1.6rem;line-height:1}.osv-route-pin-start,.osv-route-pin-end,.osv-route-pin-waypoint{-webkit-user-select:none;user-select:none}.osv-route-badge{width:26px;height:26px;font-family:var(--font);color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.osv-route-badge-start{background:#16a34a}.osv-route-badge-stop{color:#1a1a1a;background:#f59e0b}.osv-route-badge-end{background:#dc2626}.osv-route-preview-pin{width:28px;height:28px;font-family:var(--font);color:#fff;-webkit-user-select:none;user-select:none;pointer-events:auto;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;box-shadow:0 2px 6px #00000073}.osv-preview-start{background:#16a34a}.osv-preview-stop{color:#1a1a1a;background:#f59e0b}.osv-preview-end{background:#dc2626}.osv-route-preview-pin{cursor:grab;transition:transform .15s,box-shadow .15s}.osv-route-preview-pin:active{cursor:grabbing;transform:scale(1.15);box-shadow:0 4px 12px #0009}.osv-walk-dot{pointer-events:none;background:#3b82f680;border:1.5px solid #fffc;border-radius:50%;width:8px;height:8px;transition:transform .3s,background .3s,box-shadow .3s;box-shadow:0 1px 3px #0000004d}.osv-walk-dot.active{background:#3b82f6;border:2.5px solid #fff;width:14px;height:14px;animation:1.5s ease-in-out infinite osv-dot-pulse;transform:scale(1);box-shadow:0 0 0 4px #3b82f64d,0 2px 6px #0006}.osv-walk-dot.visited{box-shadow:none;background:#fb923c8c;border-color:#ffffff80;width:9px;height:9px}@keyframes osv-dot-pulse{0%,to{box-shadow:0 0 0 4px #3b82f64d,0 2px 6px #0006}50%{box-shadow:0 0 0 8px #3b82f626,0 2px 8px #0000004d}}.osv-fs-toolbar{z-index:9999;display:none;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.osv-fs-toolbar.visible{align-items:center;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards osv-toolbar-in;display:flex}@keyframes osv-toolbar-in{0%{opacity:0;transform:translate(-50%)translateY(14px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.osv-fs-toolbar .online-sv-header-right{-webkit-backdrop-filter:blur(20px)saturate(160%);flex-direction:row;flex:unset;align-items:center;gap:6px;justify-content:unset;background:#0c0c10d1;border:1px solid #ffffff21;border-radius:999px;padding:8px 14px;display:flex;box-shadow:0 8px 32px #0000008c,0 2px 8px #00000059,inset 0 1px #ffffff12}.osv-fs-toolbar .osv-header-btn{color:#ffffffe6;background:#ffffff12;border-color:#ffffff1f;border-radius:10px;width:38px;height:36px;font-size:1.05rem;transition:background .15s,border-color .15s,transform .1s}.osv-fs-toolbar .osv-header-btn:hover{background:#ffffff24;border-color:#ffffff40;transform:translateY(-1px)}.osv-fs-toolbar .osv-header-btn:active{background:#ffffff1a;transform:translateY(0)scale(.95)}.osv-fs-toolbar .osv-header-btn.active{color:#93c5fd;background:#3b82f638;border-color:#3b82f680}.osv-fs-toolbar .osv-layout-group{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;gap:2px;padding:2px}.osv-fs-toolbar .osv-layout-btn{background:0 0;border:none;border-radius:8px}.osv-fs-toolbar .osv-layout-btn.active{color:#93c5fd;background:#3b82f64d}.osv-fs-toolbar .osv-autoplay-interval{letter-spacing:.01em;width:auto;min-width:38px;padding:0 8px;font-size:.8rem;font-weight:600}.hero-root{background:#000;position:absolute;inset:0;overflow:hidden}.hero-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-overlay{pointer-events:none;z-index:10;font-family:var(--font);color:var(--on-surface);position:absolute;inset:0}.hero-overlay>*{pointer-events:auto}.hero-wordmark{letter-spacing:-.01em;text-transform:uppercase;color:#ffffffeb;text-shadow:0 1px 12px #0009;pointer-events:none;background:#ffffff14;border:1px solid #ffffff26;border-radius:9999px;padding:.4rem 1rem;font-size:1.575rem;font-weight:600;position:absolute;top:2rem;left:1.5rem}.hero-headline-block{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:.75rem;max-width:min(680px,90vw);display:flex;position:absolute;bottom:4.5rem;left:50%;transform:translate(-50%)}.hero-headline{letter-spacing:-.02em;color:#fff;text-shadow:0 2px 24px #00000080;flex-direction:column;align-items:center;margin:0;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:600;line-height:1.15;display:flex}.hero-headline-line1,.hero-headline-line2,.hero-headline-line{display:block}.hero-subhead{letter-spacing:0;color:#ffffffbf;text-shadow:0 1px 12px #0009;margin:0;font-size:clamp(.95rem,1.4vw,1.1rem);font-weight:400}.hero-cta{font-family:var(--font);letter-spacing:-.01em;color:var(--surface);background:var(--primary-container);border-radius:var(--radius-pill);cursor:pointer;pointer-events:auto;border:none;margin-top:.5rem;padding:.75rem 1.6rem;font-size:.95rem;font-weight:600;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 8px 28px #00e5cc40}.hero-cta:hover{background:var(--primary);transform:translateY(-1px);box-shadow:0 10px 32px #71ffe859}.hero-cta:active{transform:translateY(0)}.hero-zoom-stack{flex-direction:column;gap:.5rem;display:flex;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}.hero-zoom-btn{width:36px;height:36px;font-family:var(--font);color:#ffffff80;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;font-size:1.4rem;font-weight:300;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.hero-zoom-btn:hover{color:#fff;border-color:#ffffff4d}.hero-zoom-btn:active{background:#ffffff0d}.hero-pause-btn{margin-top:.35rem;position:relative}.hero-pause-btn:before{content:"";pointer-events:none;background:#ffffff1a;height:1px;position:absolute;top:-.28rem;left:25%;right:25%}.hero-pause-icon{justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:inline-flex;transform:translateY(.5px)}.hero-pause-btn:not(.paused) .hero-pause-icon:after{content:"";pointer-events:none;border:1px solid #0000;border-top-color:#71ffe859;border-radius:50%;animation:2.6s linear infinite hero-pause-spin;position:absolute;inset:4px}@keyframes hero-pause-spin{to{transform:rotate(360deg)}}.hero-pause-btn.paused{color:#ffcc6b;background:#ffcc6b14;border-color:#ffcc6b73;box-shadow:0 0 18px -6px #ffcc6b73}.hero-pause-btn.paused:hover{color:#ffd988;background:#ffcc6b1f;border-color:#ffd98899}.hero-reset-btn{margin-top:.35rem}.hero-reset-icon{justify-content:center;align-items:center;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.hero-reset-btn:hover{color:#71ffe8;border-color:#71ffe880}.hero-sat-wrap{z-index:12;position:absolute;bottom:calc(1.5rem + 46px);right:1.25rem}.hero-data-wrap{z-index:12;position:absolute;bottom:1.5rem;right:1.25rem}.hero-sat-btn{color:#fff9;background:var(--glass-bg);width:38px;height:38px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ghost-border);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;font-size:1.1rem;transition:color .15s,border-color .15s,background .15s;display:flex}.hero-sat-btn:hover{color:#fff;border-color:#ffffff4d}.hero-sat-btn.active{color:var(--primary);border-color:#71ffe880}.hero-sat-icon{line-height:1;display:inline-block}.hero-sat-panel{-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--ghost-border);border-radius:var(--radius-lg);background:#14161cd9;flex-direction:column;gap:.25rem;width:280px;padding:.5rem;display:none;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 30px #00000080}.hero-sat-panel.open{display:flex}.hero-sat-row{border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.55rem .6rem;transition:background .12s;display:flex}.hero-sat-row:hover{background:#ffffff0a}.hero-sat-cb{width:14px;height:14px;accent-color:var(--primary-container);cursor:pointer;flex-shrink:0;margin-top:2px}.hero-sat-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px;box-shadow:0 0 6px}.hero-sat-text{flex:1;min-width:0}.hero-sat-label{color:#ffffffeb;letter-spacing:-.01em;font-size:.82rem;font-weight:500}.hero-sat-desc{color:#ffffff8c;margin-top:2px;font-size:.7rem;line-height:1.35}.hero-drag-hint{letter-spacing:.02em;color:#fff9;text-shadow:0 1px 8px #0009;opacity:.85;pointer-events:none;font-size:.78rem;font-weight:400;transition:opacity .4s;position:absolute;bottom:1.5rem;left:1.5rem}.hero-drag-hint.fade-out{opacity:0}.hero-tooltip{color:var(--on-surface);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);white-space:nowrap;pointer-events:none;opacity:0;transform-origin:0 0;z-index:20;border:1px solid #71ffe873;padding:.4rem .7rem;font-size:.78rem;font-weight:500;transition:opacity .15s;position:absolute;top:0;left:0}.hero-tooltip.visible{opacity:1}.hero-data-heading{letter-spacing:.02em;color:#ffffff8c;text-transform:uppercase;padding:.25rem .6rem .4rem;font-size:.78rem;font-weight:600}.hero-data-hint{color:#ffffff73;border-top:1px solid #ffffff14;margin-top:.25rem;padding:.55rem .6rem .25rem;font-size:.7rem;line-height:1.4}.hero-weather-card{width:232px;font-family:var(--font);color:#ffffffeb;-webkit-backdrop-filter:blur(28px)saturate(200%)brightness(1.08);pointer-events:none;opacity:0;transform-origin:top;z-index:30;will-change:opacity, transform;background:linear-gradient(160deg,#2228364d 0%,#0c10186b 100%);border:1px solid #ffffff17;border-radius:16px;padding:.75rem .8rem .65rem;transition:opacity .2s cubic-bezier(.2,.9,.3,1),transform .26s cubic-bezier(.2,.9,.3,1);position:fixed;overflow:hidden;transform:translateY(6px)scale(.97);box-shadow:0 20px 48px #0006,inset 0 1px #ffffff1a,inset 0 -1px #00000040}.hero-weather-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 0,#71ffe814 0%,#0000 55%);width:120%;height:120%;position:absolute;top:-40%;left:-30%}.hero-weather-card.visible{opacity:1;transform:translateY(0)scale(1)}.hwc-head{z-index:1;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.7rem;display:flex;position:relative}.hwc-head-titles{flex-direction:column;gap:.1rem;min-width:0;display:flex}.hwc-name{letter-spacing:-.015em;color:#fff;text-shadow:0 1px 8px #0006;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;line-height:1.1;overflow:hidden}.hwc-date{color:#ffffff8c;letter-spacing:.01em;font-size:.66rem;font-weight:500}.hwc-country{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff0f;border-radius:8px;margin-top:.18rem;padding:.12rem .4rem;font-size:.56rem;font-weight:600}.hwc-now{z-index:1;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex;position:relative}.hwc-temp{color:#fff;letter-spacing:-.04em;font-feature-settings:"tnum";text-shadow:0 2px 16px #00000059;font-size:2.4rem;font-weight:200;line-height:1}.hwc-temp .hwc-unit{color:#ffffff73;letter-spacing:0;margin-left:.1rem;font-size:.85rem;font-weight:400}.hwc-cond{flex-direction:column;align-items:center;gap:.15rem;min-width:60px;display:flex}.hwc-cond-icon{filter:drop-shadow(0 2px 8px #0006);font-size:1.55rem;line-height:1}.hwc-cond-text{color:#ffffffb3;text-transform:capitalize;text-align:center;font-size:.62rem;font-weight:500}.hwc-stats{z-index:1;background:#ffffff09;border:1px solid #ffffff0d;border-radius:10px;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:.6rem;padding:.45rem .55rem;display:grid;position:relative}.hwc-stat{flex-direction:column;gap:.15rem;min-width:0;display:flex}.hwc-stat-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;font-size:.54rem;font-weight:600}.hwc-stat-value{color:#fff;align-items:baseline;gap:.25rem;min-width:0;font-size:.78rem;font-weight:500;display:flex}.hwc-stat-unit{color:#ffffff73;margin-left:.05rem;font-size:.6rem;font-weight:400}.hwc-stat-sub{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;font-weight:400;overflow:hidden}.hwc-aqi-pill{color:#0a0d12;letter-spacing:-.01em;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:18px;padding:0 .4rem;font-size:.65rem;font-weight:700;display:inline-flex;box-shadow:0 0 12px -3px}.hwc-fc{z-index:1;grid-template-columns:repeat(5,1fr);gap:.22rem;display:grid;position:relative}.hwc-fc-day{background:#ffffff06;border:1px solid #ffffff09;border-radius:7px;flex-direction:column;align-items:center;gap:.2rem;min-width:0;padding:.4rem .1rem .35rem;transition:background .15s,border-color .15s;display:flex}.hwc-fc-day:hover{background:#ffffff0f;border-color:#ffffff1a}.hwc-fc-label{color:#ffffff8c;text-transform:uppercase;letter-spacing:.06em;font-size:.54rem;font-weight:600}.hwc-fc-date{color:#ffffffd9;font-feature-settings:"tnum";font-size:.62rem;font-weight:600;line-height:1}.hwc-fc-icon{filter:drop-shadow(0 1px 4px #0000004d);font-size:.95rem;line-height:1}.hwc-fc-temp{font-feature-settings:"tnum";flex-direction:column;align-items:center;gap:.05rem;font-size:.62rem;line-height:1.15;display:flex}.hwc-fc-hi{color:#fffffff2;font-weight:600}.hwc-fc-lo{color:#ffffff6b;font-weight:400}.hero-station-card{width:252px;font-family:var(--font);color:#ffffffeb;-webkit-backdrop-filter:blur(28px)saturate(200%)brightness(1.08);pointer-events:none;opacity:0;transform-origin:top;z-index:30;will-change:opacity, transform;background:linear-gradient(160deg,#2228364d 0%,#0c10186b 100%);border:1px solid #ffffff17;border-radius:16px;padding:.8rem .85rem .7rem;transition:opacity .2s cubic-bezier(.2,.9,.3,1),transform .26s cubic-bezier(.2,.9,.3,1);position:fixed;overflow:hidden;transform:translateY(6px)scale(.97);box-shadow:0 20px 48px #0006,inset 0 1px #ffffff1a,inset 0 -1px #00000040}.hero-station-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 0,#ffd9661a 0%,#0000 55%);width:120%;height:120%;position:absolute;top:-40%;left:-30%}.hero-station-card.visible{opacity:1;transform:translateY(0)scale(1)}.hsc-head{z-index:1;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.45rem;display:flex;position:relative}.hsc-head-titles{flex-direction:column;gap:.05rem;min-width:0;display:flex}.hsc-name{letter-spacing:-.015em;color:#fff;text-shadow:0 1px 8px #0006;font-size:1rem;font-weight:600;line-height:1.1}.hsc-fullname{color:#ffffff8c;letter-spacing:.01em;font-size:.66rem;font-weight:500}.hsc-status{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border:1px solid #0000;border-radius:9px;flex-shrink:0;margin-top:.15rem;padding:.16rem .45rem;font-size:.55rem;font-weight:700}.hsc-status-active{color:#62e986;background:#62e9861f;border-color:#62e98652;box-shadow:0 0 12px -4px #62e98699}.hsc-status-planned{color:#ffcc6b;background:#ffcc6b1a;border-color:#ffcc6b52}.hsc-status-building{color:#71c4ff;background:#71c4ff1a;border-color:#71c4ff52}.hsc-operator{z-index:1;color:#fff9;margin-bottom:.6rem;font-size:.65rem;line-height:1.4;position:relative}.hsc-desc{z-index:1;color:#ffffffc7;margin-bottom:.7rem;font-size:.7rem;line-height:1.45;position:relative}.hsc-stats{z-index:1;background:#ffffff09;border:1px solid #ffffff0d;border-radius:10px;grid-template-columns:1fr 1fr;gap:.45rem .75rem;margin-bottom:.55rem;padding:.55rem .65rem;display:grid;position:relative}.hsc-stat{flex-direction:column;gap:.12rem;min-width:0;display:flex}.hsc-stat-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;font-size:.54rem;font-weight:600}.hsc-stat-value{color:#fff;font-feature-settings:"tnum";font-size:.85rem;font-weight:500}.hsc-stat-unit{color:#ffffff73;margin-left:.15rem;font-size:.6rem;font-weight:400}.hsc-foot{z-index:1;color:#ffffffb3;border-top:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:.25rem;padding-top:.4rem;font-size:.66rem;display:flex;position:relative}.hsc-foot-key{color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;font-size:.55rem;font-weight:600}.hsc-foot-val{color:#fff;font-feature-settings:"tnum";font-weight:500}.hsc-foot-sep{color:#ffffff40;margin:0 .15rem}.hero-pinned-host{pointer-events:none;z-index:25;position:fixed;inset:0}.hero-weather-card-pinned{pointer-events:auto;z-index:26;border-color:#71ffe84d;position:fixed;box-shadow:0 24px 56px #00000073,0 0 0 1px #71ffe81f,0 0 32px -8px #71ffe833,inset 0 1px #ffffff1a,inset 0 -1px #0000004d}.hero-weather-card-pinned.hwc-occluded{opacity:0;pointer-events:none;transform:translateY(6px)scale(.96)}.hwc-close{color:#ffffff8c;width:22px;height:22px;font-size:.7rem;font-family:var(--font);cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:500;line-height:1;transition:background .14s,color .14s,border-color .14s,transform .14s;display:flex;position:absolute;top:8px;right:8px}.hwc-close:hover{color:#ffd1d1;background:#ff50502e;border-color:#ff646466;transform:scale(1.08)}.hwc-close:active{transform:scale(.94)}@media (width<=767px){.hero-headline-block{bottom:3rem}.hero-zoom-stack{right:.75rem}}
