JavaScript si la declaración "x = (a || b || c)" no funciona

Estoy haciendo un programa simple de trigonometría en javascript y mis declaraciones if y while no funcionan correctamente, ya que solo se aprueban si la primera condición es verdadera, es decir, si escribe Sine, funcionará, pero no si escribe Cosine o Tangent.

<script language="JavaScript">
var opposite = 1
var adjacent = 1
var hypotenuse = 1
var sct = "SohCahToa"
while (!(sct == ("Sine" || "Cosine" || "Tangent"))) {
    sct = prompt("Sine (unknown adjacent) / Cosine (unkown opposite side) / Tangent (unknown hypotenuse)")
    if (!(sct == ("Sine" || "Cosine" || "Tangent"))) {
        alert("Spelling error, please try again")
    }
}
if (sct == ("Sine" || "Cosine"))
    hypotenuse = prompt("What is the hypotenuse")
if (sct == ("Sine" || "Tangent"))
    opposite = prompt("What is the opposite side")
if (sct == ("Tangent" || "Cosine"))
    adjacent = prompt("What is the adjacent side")

Gracias (guarde el código como un .html para probarlo)

Respuestas a la pregunta(2)

Su respuesta a la pregunta