Find hyperplane separating two ellipses

xhat1={1,1};
R1={{Cos[Pi/6],-Sin[Pi/6]},{Sin[Pi/6],Cos[Pi/6]}}.{{1/2,0},{0,2}};
xhat2={-1,-1/2};
R2={{Cos[Pi/3],-Sin[Pi/3]},{Sin[Pi/3],Cos[Pi/3]}}.{{2,0},{0,1}};
Show[ParametricPlot[xhat1+R1.{Cos[theta],Sin[theta]},{theta,0,2Pi}],ParametricPlot[xhat2+R2.{Cos[theta],Sin[theta]},{theta,0,2Pi}],AxesOrigin->{0,0},PlotRange->All]

soln=NMaximize[{Dot[{a1,a2},xhat2-xhat1]-Norm[Transpose[R1].{a1,a2},2]-Norm[Transpose[R2].{a1,a2},2],a1^2+a2^2==1},{a1,a2}]

b1=Dot[{a1,a2},xhat1]+Norm[Transpose[R1].{a1,a2},2]/.soln[[2]]

Show[ParametricPlot[xhat1+R1.{Cos[theta],Sin[theta]},{theta,0,2Pi}],ParametricPlot[xhat2+R2.{Cos[theta],Sin[theta]},{theta,0,2Pi}],ContourPlot[((a1 x1+a2 x2)/.soln[[2]])==b1,{x1,-3,3},{x2,-3,3}] ,AxesOrigin->{0,0},PlotRange->All]

b2=Dot[{a1,a2},xhat2]-Norm[Transpose[R2].{a1,a2},2]/.soln[[2]]

Show[ParametricPlot[xhat1+R1.{Cos[theta],Sin[theta]},{theta,0,2Pi}],ParametricPlot[xhat2+R2.{Cos[theta],Sin[theta]},{theta,0,2Pi}],ContourPlot[((a1 x1+a2 x2)/.soln[[2]])==b2,{x1,-3,3},{x2,-3,3}] ,AxesOrigin->{0,0},PlotRange->All]

b=(b1+b2)/2;

Show[ParametricPlot[xhat1+R1.{Cos[theta],Sin[theta]},{theta,0,2Pi}],ParametricPlot[xhat2+R2.{Cos[theta],Sin[theta]},{theta,0,2Pi}],ContourPlot[((a1 x1+a2 x2)/.soln[[2]])==b,{x1,-3,3},{x2,-3,3}] ,AxesOrigin->{0,0},PlotRange->All]