Perl 5 -lF
, 261297 288 261 231 bytes
$,=$";$_=' .||.||. ';chomp@F;for$r([(';chomp@F;map{@r=/.../g;say map{/[a-z]/i?$r[-65+ord uc]:$"x3}@F}(y/./ /r.y/.| /-+-/r x2)x2 .' \\ / ^ 'x2)=~/.../g],[(y/./ /r x3 .$_ x3 .'\\ / >< / \\\\./ .><. /.\\')=~/.../g],[((y/.| /-+-/r x2 .y/./ /r)x2 .' V / \\ 'x2)=~/.../g]){say map{/[a-z]/i?$$r[-65+ord uc]:$"x3}@F}say'''x2;say''
There's probably still a bit here that could be golfed further.