9b8acd4002
- Drag on empty space in Select tool draws a marquee rectangle; elements intersecting it on release become selected - Shift+click toggles elements in/out of the selection set - Moving and deleting operate on all selected elements at once - Middle mouse button drag now pans unconditionally in every tool mode - Session selection state changed from Option<String> to Vec<String> - New DragState::MarqueeSelecting variant with dashed rect rendering - 29 tests passing, clippy clean