Sidebar 2.0
The stock sidebar with one change: the hover highlight glides from item to item instead of cutting in and out.
Note
Sidebar is the baseline; this is that with the hover made continuous. One indicator sits over the menu and animates its own box to whichever row the pointer is on — measured, not re-parented. A `layoutId` rendered inside the hovered row is the obvious way and it does not hold up: it has to unmount in one row and mount in another, and between a top-level row and one nested in a collapsible it stops animating between them. The component's own instant hover fill has to be switched off or you see both at once. The group clears on pointer leave so the highlight does not sit on whichever row you exited through.