Hey there!
Fellow Excalibur newbie here :)
I can attest that using HTML/CSS is great with Excalibur! The roguelike I'm working on currently uses Angular 5 and I've got Angular components for things like the stats, inventory and chat windows as well as an actions window and the "talking to NPC's" window.
So far it's been really great, the Angular @Injectable services along with rxjs/Observable and friends has been awesome for keeping the UI up to date with what's going on in the game. I've also been using the angular2-draggable npm module so all my UI windows are draggable around the screen without much fuss :)
Here's a screenshot of 4 of the Angular components displaying some info, note the ezmode scroll on the Actions window which is just
#actions-content {
max-height: 150px;
overflow: hidden;
overflow-y: scroll;
}
(insert regular disclaimer about how early this is and how rubbish it might look :) )
The grid in the inventory I'm using is the @angular/material/grid-list, makes it really easy to access and display the grid contents, I think that's what you might be after for your Asset Selector.
Along with that I'm using the angular4-drag-drop npm module so I can click-hold-drag-drop the items around the grid.
Let me know if you want any more info, I've got more Angular xp than I do Excalibur xp due to work, but I'm hoping to at least balance or flip the ratio :)
James