Accessing the dom is pretty simple
1. you can do normal dom query
this.svg = this.element.querySelector('#svg');
2. you can inject the element of a custom element in the constructor @inject(DOM.Element) constructor(element) { }
3. you can use ref to name a element in a custom element for easy access.
ref="someIdentifier"
for animation you can use css or create a plugin or just use greensock. I just use greensock
TweenMax.allTo([this.progressRect, this.markerRect], 0.5, {y:top, ease:Cubic.easeInOut});
The important part of aurelia is to remember that it is standards based.
So it's pretty much normal ES6 javascript with templating, binding, shadow dom... on top.
Something to look at from a greensock perspective on aurelia
https://github.com/gooy/aurelia-animator-greensock