<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <base href="/" />
    
    <!-- Smart App Banner for iOS Safari -->
    <meta name="apple-itunes-app" content="app-id=6748268861" />
    
    <!-- Favicon references for browser tabs and search engines -->
    <link rel="icon" type="image/x-icon" href="/icons/favicon/favicon.ico" />
    <link rel="icon" type="image/png" sizes="96x96" href="/icons/favicon/favicon-96x96.png" />
    <link rel="apple-touch-icon" href="/icons/favicon/apple-touch-icon.png" />
    <link rel="manifest" href="/manifest.json" />
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no" />
    <title>SafeTable - Find Food You Can Eat</title>
    
    <!-- Theme initialization script - must run before any content renders -->
    <script>
      (function() {
        try {
          const savedTheme = localStorage.getItem('theme');
          var path = window.location.pathname;
          var guestShell =
            path === '/' ||
            path === '/welcome' ||
            path === '/dashboard' ||
            path === '/pricing' ||
            path === '/about' ||
            path === '/for-restaurants' ||
            path === '/privacy-policy' ||
            path === '/terms-of-service' ||
            path === '/auth' ||
            path === '/reset-password' ||
            path === '/business-signup' ||
            path === '/restaurant-onboarding' ||
            path === '/claim-profile' ||
            path.indexOf('/restaurant/') === 0 ||
            path.indexOf('/embed/restaurant/') === 0;
          if (guestShell || savedTheme !== 'dark') {
            document.documentElement.classList.remove('dark');
          } else if (savedTheme === 'dark') {
            document.documentElement.classList.add('dark');
          }
        } catch (e) {
          // If localStorage fails, default to light mode
          document.documentElement.classList.remove('dark');
        }
      })();
    </script>
    
    <!-- Do not preload /src/main.tsx as script — Vite emits /assets/*.js and iOS Safari + CSP block data: script fallbacks. -->
    
    <!-- Preconnect to essential domains (DNS lookup optimization) -->
    <link rel="preconnect" href="https://ubteeygvpswncbgqboco.supabase.co" crossorigin />
    <link rel="preconnect" href="https://unpkg.com" crossorigin />
    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    
    <!-- DNS prefetch for additional performance -->
    <link rel="dns-prefetch" href="https://ubteeygvpswncbgqboco.supabase.co" />
    <link rel="dns-prefetch" href="https://unpkg.com" />
    
    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet" />
    
    <!-- Startup watchdog: record slow boots, never auto-reload -->
    <script>
      // Mark initialization start immediately
      sessionStorage.setItem('page_init_start', Date.now().toString());
      
      window.authRecoveryTimeout = setTimeout(function() {
        // Never force reload from HTML; reload loops can crash mobile tabs.
        const isReactInitializing = sessionStorage.getItem('react_initializing') === 'true';
        const isPageInitialized = sessionStorage.getItem('page_initialized') === 'true';
        
        if (!isPageInitialized && !isReactInitializing) {
          const initStart = parseInt(sessionStorage.getItem('page_init_start') || '0', 10);
          const timeSinceInit = Date.now() - initStart;

          sessionStorage.setItem('slow_init_detected', 'true');
          sessionStorage.setItem('slow_init_elapsed_ms', String(timeSinceInit));
        }
      }, 8000);
    </script>
    <meta property="og:title" content="SafeTable - Find Food You Can Eat" />
    <meta property="og:description" content="Check out menus and allergen info for restaurants on SafeTable!" />
    <meta property="og:image" content="https://safetable.us/icons/icon-512x512.png" />
    <meta property="og:url" content="https://safetable.us/" />
    <meta property="og:type" content="website" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="SafeTable - Find Food You Can Eat" />
    <meta name="twitter:description" content="Check out menus and allergen info for restaurants on SafeTable!" />
    <meta name="twitter:image" content="https://safetable.us/icons/icon-512x512.png" />
    <script type="module" crossorigin src="/assets/index-CEBZvHDX.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-z4PIMsjO.js">
    <link rel="modulepreload" crossorigin href="/assets/supabase-ChTJqYJf.js">
    <link rel="modulepreload" crossorigin href="/assets/dist-C5l2p-Tk.js">
    <link rel="modulepreload" crossorigin href="/assets/definitions-DnELKqVh.js">
    <link rel="modulepreload" crossorigin href="/assets/supabase-D55NaQYG.js">
    <link rel="modulepreload" crossorigin href="/assets/native-D258SqBT.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-Bme6f7vC.js">
    <link rel="modulepreload" crossorigin href="/assets/utils-DlhtbpyK.js">
    <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-CiVehwDH.js">
    <link rel="modulepreload" crossorigin href="/assets/LoadingSpinner-Dx8_dRoS.js">
    <link rel="modulepreload" crossorigin href="/assets/jurisdictionAllergens-rJcPPwhI.js">
    <link rel="modulepreload" crossorigin href="/assets/jurisdictionStorage-znSwoioh.js">
    <link rel="modulepreload" crossorigin href="/assets/locationMenuRepository-CrmSlL-h.js">
    <link rel="stylesheet" crossorigin href="/assets/index-HdYlvT0O.css">
  </head>
  <body style="background-color:#ffffff;margin:0">
    <div id="root"></div>
  </body>
</html>
