[guided]The point of this step is to show that the dual edges not crossing the primal tree are enough to connect all dual vertices, meaning all faces of the primal embedding. Let $T \subset E$ be a spanning tree of $G$. Let $V(G^\dagger)$ denote the vertex set of the dual graph $G^\dagger$, and let $S^2$ denote the sphere in which $G$ is embedded. Let $H^\dagger$ be the spanning subgraph of $G^\dagger$ whose vertex set is $V(G^\dagger)$ and whose edge set is $E^\dagger \setminus T^\dagger$.
Assume for contradiction that $H^\dagger$ is disconnected. Then its dual vertices can be separated into two nonempty classes, say $X$ and $V(G^\dagger) \setminus X$, with no edge of $H^\dagger$ crossing between the two classes. A vertex of $G^\dagger$ is a face of the embedded graph $G$, so define $R_X \subset S^2$ to be the union of the closed faces of $G$ corresponding to the vertices in $X$. Since $X$ is neither empty nor all of $V(G^\dagger)$, the region $R_X$ has a nonempty boundary made from primal edges.
Now take a primal edge $e$ lying on this boundary. Its dual edge $e^\dagger$ has one endpoint corresponding to a face in $X$ and the other endpoint corresponding to a face outside $X$. Since no edge of $H^\dagger$ crosses from $X$ to its complement, this dual edge cannot lie in $E^\dagger \setminus T^\dagger$. Hence $e^\dagger \in T^\dagger$, so $e \in T$.
Thus every primal edge on the boundary of $R_X$ lies in the tree $T$. Define $C_X \subset E$ to be the set of primal edges whose dual edges cross from $X$ to $V(G^\dagger) \setminus X$. We have proved $C_X \subset T$, and $C_X$ is nonempty because $R_X$ has nonempty boundary made from primal edges.
It remains to justify, rather than merely quote, the planar cut-cycle principle. Why should $C_X$ contain a cycle? The key point is a parity condition at every primal vertex. Fix a vertex $p$ of $G$, and choose a sufficiently small circle around $p$ meeting each incident edge-end exactly once and no other part of the embedded graph. The arcs between consecutive intersection points lie in faces of $G$. Label each such arc by whether its face belongs to $X$ or to $V(G^\dagger) \setminus X$.
An incident edge-end is counted by $C_X$ exactly when the two adjacent face-arcs have different labels, because its dual edge then has one endpoint in $X$ and the other endpoint outside $X$. As one goes around the small circle and returns to the starting arc, the number of changes between the two labels is even. Therefore the degree of $p$ in the subgraph with edge set $C_X$ is even. This remains correct for a loop, because a loop contributes two incident edge-ends at its vertex.
We have obtained a finite nonempty graph, namely the subgraph of $G$ with edge set $C_X$, in which every vertex has even degree. Starting from any edge and continuing through unused incident edges is possible until returning to a previously visited vertex; the resulting closed trail contains a graph-theoretic cycle. In particular, a loop is allowed as a one-edge cycle, and two parallel edges are allowed to form a two-edge cycle. Hence $C_X$ contains a cycle of $G$.
Since $C_X \subset T$, this cycle is contained in $T$, contradicting the defining property of a tree. Therefore the assumption was false, and $H^\dagger$ is connected.[/guided]