custom css and javascript not working on page defined as template?

Ok.

  1. M-R is right about using the full paths and not relative URLs. Make sure to do that.
  2. Create a page from wp-admin->Pages named whatever you want. The title will be used to construct the URL so choose carefully
  3. Assign this page to your template “Tarot”
  4. The page should be accessible, but to everyone, logged in or not.

To block users who are not logged in:

function block_tarot_template() {
     if (is_page_template('tarot.php') && !is_user_logged_in()) { 
         wp_safe_redirect(get_bloginfo('url').'/wp-login.php');
         // or possibly just include the login form
         // wp_login_form();
         // exit; // required if you want to include the form or the whole page will load below the form
     }
}
add_action('template_redirect','block_tarot_template);

Watch the file name for your template. That has to match. This is minimal code. If you are going to print the form you’d need to give it proper HTML context. you could do apply the same idea inside your template and just swap out the form and other content conditionally.

http://codex.wordpress.org/Function_Reference/is_page_template

http://codex.wordpress.org/Function_Reference/is_user_logged_in

http://codex.wordpress.org/Function_Reference/wp_login_form