- Replace manual autoOpen signal+effect with hold(pending, 2000) - Extract updateScrollMask() shared by ShellExpanded and ContextToolExpandedList - Extract useCollapsible() hook for the shared expand/collapse animation pattern Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>