Help with right shoulder c0

while looking up and down my arm doesent move away from my head so i get this result:



local RightShoulder = character.Torso:WaitForChild("Right Shoulder")
local C0 = RightShoulder.C0
local C1 = RightShoulder.C1


local DEFAULT = CFrame.new(1,0.5,0)*CFrame.Angles(0,math.rad(90),0)
local Head = character.Head
local Camera = game.Workspace.CurrentCamera
game:GetService("RunService").Heartbeat:Connect(function()
	if character:WaitForChild("Right Arm").LocalTransparencyModifier == 1 then
		character:WaitForChild("Right Arm").LocalTransparencyModifier = 0
		character:WaitForChild("Left Arm").LocalTransparencyModifier = 0
	else
		
		local theplace = character.HumanoidRootPart.CFrame:toObjectSpace(Camera.CFrame).lookVector
		
		RightShoulder.C0 = DEFAULT*CFrame.Angles(0,0,math.asin(theplace.Y))
		
	end
end)

i dont know how to make it move accordingly
(the arms are playing an animation so thats why they dont line up with just this piece of code)

i set the offset a bit higher so it isnt too close my head, still the problem persists