- Godot 4's CallbackTweener doesn't have .bind() — move .bind() call inside tween_callback() for 3 callback sites - Shrink InventoryBackpack Control to 60x60 (offset_right -70) so click area matches the visible BackpackIcon square
- InventoryBackpack: Control-based FSM with IDLE/OPEN/SELECTED/ACQUIRE/REMOVE states, Tween-based animations, guard condition checks, signal connections to InventoryManager for item_acquired/item_removed reactions - InventoryOverlay: Full-screen overlay with fade-in/out, item grid via GridContainer, drag-and-drop item selection, combination via drag-to-slot, hover labels, right-click inspect - InventorySlot: Individual slot with colored box placeholder, hover highlight, click/right-click/hover signals