Just noticed that this puzzle - although previously solved - has no step-by-step solution in place. So to assist other puzzlers in understanding the process involved in solving it, here's a write-up of the logic...
Step 1:
Firstly, mark up the trivial initial lines: the two corner black dots where the lines must extend through the nearby white circles and then bend upwards, and the three black dots in column 11, which must have lines going off to the left, forcing the whites to their south-west to be crossed horizontally, in turn forcing the lines upwards from each of the black dots.

Step 2:
To proceed further with any confidence, we need to force a contradiction. Let's consider what would happen if the white circle in r10c9 is crossed vertically. Doing so would force the line upwards to join with the white circle in r8c10, forcing the path in the bottom-right corner into the configuration shown in the diagram below via several steps of forced logic. However, the place to focus on here is actually the two black dots in r9c8 and r11c7, whose horizontal lines are forced to go left. The lower of the two then forces the white circle in r12c6 to be crossed horizontally, leaving no valid way for the black dot's vertical line to be satisfied:
.
Therefore, the white circle in r10c9 must instead be crossed horizontally. Doing so forces the line's path in much of the right-hand side of the grid through subsequent chained reasoning:

Step 3:
Next consider the white circle in r6c5. If this were crossed vertically, there is no way to continue the line legally (either turning to join the black dot with a 1-length line or continuing upwards and completing a loop). Thus, this white circle must be crossed horizontally. This leads to some further forced logical deductions in the top-left corner:

...which cause further knock-on deductions that end up completely resolving all line segments north-east of the grid's main diagonal (through avoiding forming closed loops):

Step 4:
The black dot in r11c7 can also be fully resolved now. This brings us to a position very similar to that in Step 3, above, in that the white circle in r10c5 must be crossed horizontally as there is no legal way to do so vertically. Doing so ends up resolving all but the bottom-left corner:

Step 5:
Now we note that the line from the white circle in r12c6 must bend downwards, as bending upwards would cause a large closed loop to be formed, taking up the entire right-hand-side of the board:

...and then finally we note that the horizontal line from the black dot in r11c3 cannot go left, or this forces the white circle to its southwest to be crossed horizontally and the two ends of the line can never be joined:

Instead the black dot's line must go right and the rest of the line segments are placed by forced logic to produce the single completed loop!
