<!doctype html>
<html lang="en" data-theme="dark" style="color-scheme: dark">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
    <meta name="color-scheme" content="dark" />
    <meta name="theme-color" content="#1a1a1a" />

    <!-- SEO — primary app positioning (giveaway has its own meta via GiveawayPage) -->
    <title>The Lap Club — Best Big Lap Travel App for Australia | Trip Planner, Campsites &amp; Fuel</title>
    <meta name="description" content="The Lap Club is Australia's all-in-one app for the Big Lap. Plan trips, find campsites, track live fuel prices, manage weights &amp; tyre pressures, logbook, budget tracker, and emergency SOS — built for caravanners and road-trippers." />
    <meta name="keywords" content="best app for traveling Australia, Big Lap app, caravan app Australia, camping app, trip planner Australia, fuel prices Australia, lap club, grey nomads, van life Australia" />
    <link rel="canonical" href="https://lapclub.com.au/" />
    <link rel="sitemap" type="application/xml" href="https://lapclub.com.au/sitemap.xml" />
    <link rel="alternate" type="text/plain" href="https://lapclub.com.au/llms.txt" title="LLM Summary" />

    <!-- Open Graph / Social -->
    <meta property="og:type" content="website" />
    <meta property="og:site_name" content="The Lap Club" />
    <meta property="og:url" content="https://lapclub.com.au/" />
    <meta property="og:title" content="The Lap Club — Australia's Big Lap Travel App" />
    <meta property="og:description" content="All-in-one Big Lap companion: trip planner, explore map, live fuel prices, weight manager, tyre advisor, logbook, budget tracker &amp; emergency SOS." />
    <meta property="og:image" content="https://lapclub.com.au/hero-outback.png" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="The Lap Club — Best App for the Big Lap" />
    <meta name="twitter:description" content="Plan, track and dominate the Big Lap. Australia's dedicated caravan &amp; camping travel app." />
    <meta name="twitter:image" content="https://lapclub.com.au/hero-outback.png" />

    <!-- Structured data for search engines &amp; AI -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@graph": [
        {
          "@type": "SoftwareApplication",
          "name": "The Lap Club",
          "applicationCategory": "TravelApplication",
          "operatingSystem": "Web",
          "url": "https://lapclub.com.au",
          "description": "Australia's all-in-one travel app for the Big Lap — trip planning, campsites, live fuel prices, weight management, tyre pressure advisor, logbook, budget tracker, and emergency SOS.",
          "offers": { "@type": "Offer", "price": "0", "priceCurrency": "AUD" },
          "featureList": ["Trip Planner", "Explore Map", "Live Fuel Prices", "Weight Manager", "Tyre Pressure Advisor", "Logbook", "Budget Tracker", "Emergency SOS", "Lap Progress"],
          "areaServed": { "@type": "Country", "name": "Australia" }
        },
        {
          "@type": "Organization",
          "name": "The Lap Club",
          "url": "https://lapclub.com.au",
          "logo": "https://lapclub.com.au/icons/icon-192x192.png",
          "sameAs": ["https://www.facebook.com/groups/biglapclub", "https://www.tiktok.com/@biglapclub"]
        },
        {
          "@type": "WebSite",
          "name": "The Lap Club",
          "url": "https://lapclub.com.au"
        }
      ]
    }
    </script>

    <!-- PWA -->
    <meta name="theme-color" content="#0f172a" />
    <link rel="manifest" href="/manifest.json" />
    <link rel="icon" type="image/png" href="/icons/icon-192x192.png" />

    <!-- Performance: Preconnect to critical domains -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300..900&display=swap" rel="stylesheet">
    <link rel="preconnect" href="https://firestore.googleapis.com">
    <link rel="preconnect" href="https://identitytoolkit.googleapis.com">

    <!-- Apple PWA -->
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    <meta name="apple-mobile-web-app-title" content="LAPCLUB" />
    <link rel="apple-touch-icon" href="/icons/icon-192x192.png" />
    <script type="module" crossorigin src="/assets/index-CL6w0jmC.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/icons-CCzbJEX1.js">
    <link rel="modulepreload" crossorigin href="/assets/charts-BJJ3HYy8.js">
    <link rel="modulepreload" crossorigin href="/assets/export-rLbvyvYO.js">
    <link rel="modulepreload" crossorigin href="/assets/firebase-BJdWqD0U.js">
    <link rel="stylesheet" crossorigin href="/assets/index-w7GNWoP1.css">
    <meta name="app-build-id" content="0.1.3-1787018180515" />
  <meta name="app-version" content="0.1.3" />
<link rel="manifest" href="/manifest.webmanifest"></head>
  <body>
    <div id="root"></div>
    <!-- Kill broken service workers ASAP (beta). Must run before app modules. -->
    <script>
      (function () {
        try {
          // App UI is dark-only — wipe any saved light preference before React boots
          try {
            localStorage.setItem('app-theme', 'dark');
            document.documentElement.setAttribute('data-theme', 'dark');
            document.documentElement.style.colorScheme = 'dark';
          } catch (e2) { /* ignore */ }
          if ('serviceWorker' in navigator) {
            navigator.serviceWorker.getRegistrations().then(function (regs) {
              regs.forEach(function (r) { r.unregister(); });
            });
          }
          if (window.caches && caches.keys) {
            caches.keys().then(function (keys) {
              keys.forEach(function (k) { caches.delete(k); });
            });
          }
        } catch (e) { /* ignore */ }
      })();
    </script>
  </body>
</html>

