<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes" />

    <!-- Primary Meta Tags -->
    <title>Tutorade - Premium Online K-12 Tutoring Platform | Certified Teachers | Interactive Learning</title>
    <meta name="title" content="Tutorade - Premium Online K-12 Tutoring Platform | Certified Teachers | Interactive Learning" />
    <meta name="description" content="Top-rated K-12 online tutoring platform with an exclusive certified teacher network. Interactive whiteboard sessions, personalized learning, SAT/ACT/AP prep, and money-back guarantee. Book instant sessions starting at $30/hour." />
    <meta name="keywords" content="online tutoring, K-12 tutoring, certified tutors online, interactive whiteboard tutoring, math tutor online, science tutor online, English tutor online, SAT tutoring online, ACT tutoring online, AP exam tutoring, homework help online, test prep tutoring, virtual tutoring platform, personalized tutoring online, best online tutoring, quality online tutors, professional tutoring services, digital tutoring services, elementary school tutoring, middle school tutoring, high school tutoring, algebra tutor, geometry tutor, chemistry tutor, physics tutor, biology tutor online, calculus help online, pre-calculus tutor, trigonometry help, literature tutor, writing tutor online, Spanish tutor online, computer science tutor, STEM tutoring online, find a tutor, hire a tutor online, private online tutor, live tutoring sessions, remote learning support, academic support online, improve grades online, study skills tutoring, learning difficulties support, instant tutoring help, affordable online tutoring, trusted tutoring platform, safe online tutoring" />
    <meta name="author" content="Tutorade" />

    <!-- Favicon and App Icons -->
    <link rel="icon" type="image/x-icon" href="/favicon.ico?v=3" />
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon.png?v=3" />
    <link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png?v=3" />
    <link rel="icon" type="image/svg+xml" href="/favicon.svg?v=3" />
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=3" />
    <link rel="mask-icon" href="/favicon.svg?v=3" color="#2563eb" />
    <meta name="theme-color" content="#2563eb" />
    <meta name="msapplication-TileColor" content="#2563eb" />
    <meta name="msapplication-config" content="/browserconfig.xml" />

    <!-- PWA Configuration -->
    <link rel="manifest" href="/manifest.json" />
    <meta name="mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <meta name="apple-mobile-web-app-title" content="Tutorade" />

    <!-- Open Graph / Facebook Meta Tags -->
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://www.tutorade.com" />
    <meta property="og:title" content="Tutorade - Find Top-Rated Online Tutors for Every Subject" />
    <meta property="og:description" content="Find Top-Rated Online Tutors for Every Subject, Level, and Age — Trusted by Teachers, Built for Student Success" />
    <meta property="og:site_name" content="Tutorade" />
    <meta property="og:image" content="https://www.tutorade.com/social-preview.jpg?v=5" />
    <meta property="og:image:alt" content="Tutorade - Click. Connect. Learn. - Online tutoring platform" />
    <meta property="og:image:type" content="image/jpeg" />
    <meta property="og:image:width" content="1080" />
    <meta property="og:image:height" content="608" />

    <!-- Twitter Meta Tags -->
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:url" content="https://www.tutorade.com/" />
    <meta name="twitter:title" content="Tutorade - Find Top-Rated Online Tutors for Every Subject" />
    <meta name="twitter:description" content="Find Top-Rated Online Tutors for Every Subject, Level, and Age — Trusted by Teachers, Built for Student Success" />
    <meta name="twitter:image" content="https://www.tutorade.com/social-preview.jpg?v=5" />
    <meta name="twitter:image:alt" content="Tutorade - Click. Connect. Learn. - Online tutoring platform" />

    <!-- Additional SEO Meta Tags -->
    <meta name="robots" content="index, follow" />
    <meta name="googlebot" content="index, follow" />
    <meta name="rating" content="general" />
    <meta name="revisit-after" content="7 days" />
    <link rel="canonical" href="https://tutorade.com/" />

    <!-- Publisher and Brand Information for Rich Results -->
    <meta name="publisher" content="Tutorade" />
    <meta name="application-name" content="Tutorade" />
    <meta name="apple-mobile-web-app-title" content="Tutorade" />
    <link rel="shortlink" href="https://tutorade.com" />

    <!-- Performance & Core Web Vitals Optimization -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="dns-prefetch" href="https://api.stripe.com">
    <link rel="dns-prefetch" href="https://js.stripe.com">
    <link rel="dns-prefetch" href="https://meet.jit.si">
    <link rel="dns-prefetch" href="https://www.googletagmanager.com">
    <meta name="format-detection" content="telephone=no">

    <!-- Critical resource preloading removed to prevent unused preload warnings -->

    <!-- Font declarations for whiteboard fonts -->
    <style>
      @font-face {
        font-family: 'Times New Roman';
        src: local('Times New Roman'), local('TimesNewRomanPSMT');
        font-weight: normal;
        font-style: normal;
      }
      @font-face {
        font-family: 'Courier New';
        src: local('Courier New'), local('CourierNewPSMT');
        font-weight: normal;
        font-style: normal;
      }
      @font-face {
        font-family: 'Helvetica';
        src: local('Helvetica'), local('Helvetica-Regular');
        font-weight: normal;
        font-style: normal;
      }
      /* Fallback font stack for whiteboard */
      .excalidraw-font-times {
        font-family: 'Times New Roman', Times, serif !important;
      }
      .excalidraw-font-courier {
        font-family: 'Courier New', Courier, monospace !important;
      }
      .excalidraw-font-helvetica {
        font-family: 'Helvetica', Arial, sans-serif !important;
      }
    </style>

    <!-- Critical CSS for immediate paint and performance -->
    <style>
      /* Critical CSS reset and base styles */
      *,::before,::after{box-sizing:border-box;border:0;margin:0;padding:0}
      html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,sans-serif}
      body{margin:0;line-height:inherit;background:#fff}

      /* Immediate root container */
      #root{min-height:100vh;display:flex;flex-direction:column}

      /* Loading state optimization */
      .loading-container{
        position:fixed;top:0;left:0;width:100%;height:100%;
        background:#fff;display:flex;align-items:center;justify-content:center;
        z-index:9999;
      }

      /* Fast loading spinner */
      .spinner{
        width:40px;height:40px;border:4px solid #f3f3f3;
        border-top:4px solid #3b82f6;border-radius:50%;
        animation:spin 1s linear infinite;
      }

      @keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

      /* Critical layout classes for immediate paint */
      .flex{display:flex}.flex-col{flex-direction:column}
      .items-center{align-items:center}.justify-center{justify-content:center}
      .min-h-screen{min-height:100vh}.w-full{width:100%}.h-full{height:100%}
      .text-center{text-align:center}.text-white{color:#fff}
      .bg-blue-600{background-color:#2563eb}
      .p-4{padding:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
      .py-3{padding-top:0.75rem;padding-bottom:0.75rem}
      .rounded{border-radius:0.25rem}
      .shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1)}

      /* Hide content until loaded to prevent layout shifts */
      .pre-load{opacity:0;transition:opacity 0.2s ease-in}
      .loaded{opacity:1}
    </style>

    <!-- Structured Data for Rich Results -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "EducationalOrganization",
      "name": "Tutorade",
      "url": "https://tutorade.com",
      "description": "Online tutoring platform connecting students with qualified K-12 tutors for math, science, English, history, and test preparation.",
      "address": {
        "@type": "PostalAddress",
        "addressCountry": "US"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer service",
        "availableLanguage": "English"
      },
      "serviceType": [
        "Online Tutoring",
        "K-12 Education",
        "Math Tutoring",
        "Science Tutoring",
        "English Tutoring",
        "Test Preparation",
        "Homework Help"
      ],
      "audience": {
        "@type": "EducationalAudience",
        "educationalRole": "student",
        "audienceType": ["Elementary School Students", "Middle School Students", "High School Students"]
      },
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://tutorade.com/find-tutors?q={search_term_string}",
        "query-input": "required name=search_term_string"
      },
      "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "Tutoring Services",
        "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Online Math Tutoring",
              "description": "Expert math tutoring for elementary, middle, and high school students"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Science Tutoring",
              "description": "Chemistry, biology, physics tutoring for K-12 students"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "English Tutoring",
              "description": "Reading, writing, and literature tutoring for all grade levels"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Test Preparation",
              "description": "SAT, ACT, AP exam preparation and standardized test tutoring"
            }
          }
        ]
      }
    }
    </script>

    <!-- Performance optimization: defer non-critical scripts -->
    <script>
      // CRITICAL: Clear old cached files that cause "Unexpected token '<'" error
      if ('caches' in window) {
        caches.keys().then(function(names) {
          names.forEach(function(name) {
            if (name.includes('tutorade-v1') || name.includes('old')) {
              caches.delete(name);
              console.log('Cleared old cache:', name);
            }
          });
        });
      }

      // Check if we're trying to load the problematic old file and redirect to current version
      const currentScript = document.currentScript || document.querySelector('script[src*="index-CmKr0qCL.js"]');
      if (currentScript && currentScript.src && currentScript.src.includes('index-CmKr0qCL.js')) {
        console.log('Detected old cached script reference, clearing cache and reloading...');
        // Clear all caches first
        if ('caches' in window) {
          caches.keys().then(names => names.forEach(name => caches.delete(name)));
        }
        // Force hard reload with cache bypass
        window.location.reload(true);
      }

      // Also check for script load errors that might indicate cache issues
      window.addEventListener('error', function(e) {
        if (e.target && e.target.src && e.target.src.includes('index-CmKr0qCL.js')) {
          console.log('Script load error detected for old cache file, clearing and reloading...');
          if ('caches' in window) {
            caches.keys().then(names => names.forEach(name => caches.delete(name)));
          }
          window.location.reload(true);
        }
      });

      // Suppress Vite WebSocket connection errors in console
      const originalError = console.error;
      console.error = function(...args) {
        const message = args.join(' ');
        // Filter out specific Vite WebSocket errors
        if (message.includes('Failed to construct \'WebSocket\'') && 
            message.includes('localhost:undefined')) {
          return; // Suppress this specific error
        }
        originalError.apply(console, args);
      };

      // Jitsi API will now be loaded only when needed for video sessions
      // PWA initialized silently
      // Video sessions will use iframe fallback mode

      // Polyfill for requestIdleCallback
      if (!window.requestIdleCallback) {
        window.requestIdleCallback = function(callback, options) {
          var start = Date.now();
          return setTimeout(function() {
            callback({
              timeRemaining: function() {
                return Math.max(0, 50 - (Date.now() - start));
              },
              didTimeout: false
            });
          }, (options && options.timeout) || 1);
        };
      }

      // Defer non-critical resource loading to improve FID
      window.addEventListener('load', function() {
        // Load non-critical resources after initial page load
        requestIdleCallback(function() {
          // Prefetch critical navigation routes
          const criticalRoutes = ['/find-tutors', '/login', '/register'];
          criticalRoutes.forEach(function(route) {
            const link = document.createElement('link');
            link.rel = 'prefetch';
            link.href = route;
            document.head.appendChild(link);
          });
        }, { timeout: 3000 });
      });
    </script>
    <script type="module" crossorigin src="/assets/index-CMRjYDXu.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-BfJ8jNwu.css">
  </head>
  <body>
    <div id="root"></div>



  </body>
</html>