SetCursorCaptured / IsCursorCaptured / GetMouseDelta / ConsumeScrollDelta now route through the Input facade, so the editor camera no longer takes a Window& at all: Camera::Update and EditorCamera::Update lose their window parameter and SandboxApp calls Update(dt) directly. App layer now has zero Window/GLFW usage for input - everything goes through Engine::Input.