:root{--shadow-basic: var(--shadow-sm);--shadow-large: var(--shadow-lg);--spacing-basic: var(--spacing-sm);--app-height: 100dvh;--app-safe-bottom: env(safe-area-inset-bottom, 0px)}:global(body){margin:0;padding:var(--spacing-basic);padding-bottom:calc(var(--spacing-basic) + var(--app-safe-bottom));overflow:hidden;height:100vh;height:var(--app-height);width:100vw}.app-container{display:flex;flex-direction:column;height:100vh;height:var(--app-height);width:100%;max-height:calc(var(--app-height) - var(--app-safe-bottom))}.navbar-container{flex-shrink:0}.maplibregl-ctrl,.maplibregl-ctrl-group,.maplibregl-ctrl-top-right,.maplibregl-control-container{background:transparent!important;box-shadow:none!important;border:none!important;margin:0!important}.maplibregl-ctrl-group button{background-color:#fff!important;color:#fff!important;border:var(--border-basic)!important;border-radius:var(--border-radius-basic)!important;margin:var(--spacing-md)!important}.maplibregl-ctrl-group button:hover{background-color:#f5f5f5!important;color:#000!important}.map-container{flex-grow:1;position:relative;overflow:hidden}.overlay-stack{position:absolute;top:var(--spacing-lg);left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.dialog{background-color:var(--color-primary);border:var(--border-basic);border-radius:var(--border-radius-basic);box-shadow:var(--shadow-xl);padding:var(--spacing-lg);max-width:400px;width:80%;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;z-index:10}.loader{width:50px;height:50px;border:5px solid var(--color-black);border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite;will-change:transform}.loader-text{font-family:var(--font-family-base);font-weight:700;font-size:var(--font-size-lg)}.overlay{position:fixed;inset:0;background:linear-gradient(135deg,#f5f5f51a,#f5f5f50d);-webkit-backdrop-filter:blur(20px) brightness(1.1) contrast(1.1) saturate(.45);backdrop-filter:blur(20px) brightness(1.1) contrast(1.1) saturate(.45);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000001a;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:1000}.topo-background{position:absolute;inset:0;z-index:-1;background-color:#f4f4f4;background-image:url(../../../images/topography.png);background-repeat:repeat;background-size:800px 800px;opacity:.6;animation:move-background 80s linear infinite;will-change:background-position}
