<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    
    <!-- Preconnect for faster loading -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link rel="preconnect" href="https://accounts.google.com" />
    <link rel="dns-prefetch" href="https://www.paypal.com" />
    
    <!-- Favicons for Google Search and browsers -->
    <link rel="icon" type="image/x-icon" href="/favicon.ico" />
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
    <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png" />
    <link rel="icon" type="image/png" sizes="192x192" href="/web-app-manifest-192x192.png" />
    <link rel="icon" type="image/png" sizes="512x512" href="/web-app-manifest-512x512.png" />
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
    <link rel="shortcut icon" href="/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    
    <!-- Primary SEO Tags -->
    <title>AI Listers - Amazon Listing Tool for US, UK, India & 23 Global Marketplaces | Multi-Store Support</title>
    <meta name="description" content="AI-powered listing generator for Amazon sellers in US, UK, India, Germany, Japan, UAE & 23 global marketplaces. Connect multiple stores, create SEO-optimized listings, keywords & images. Also supports Flipkart, Meesho & Shopify. Start free!" />
    <meta name="keywords" content="AI listing generator, Amazon listing optimization, Amazon US seller tool, Amazon UK listing tool, Amazon India seller software, Amazon Germany listing, Amazon Japan seller, Amazon UAE seller, Amazon Australia listing, Amazon Canada seller, Amazon France listing, Amazon Italy seller, Amazon Spain listing, Amazon Netherlands seller, Amazon Poland listing, Amazon Sweden seller, Amazon Belgium listing, Amazon Turkey seller, Amazon Saudi Arabia listing, Amazon Egypt seller, Amazon South Africa listing, Amazon Singapore seller, Amazon Brazil listing, Amazon Mexico seller, multi-store Amazon management, SP-API integration, Amazon Seller Central tool, Flipkart product listing, Meesho seller tool, Shopify listing optimizer, AI product descriptions, Amazon SEO tool, e-commerce listing AI, keyword research tool, product title generator, Amazon FBA tool, bulk listing generator, A+ content creator" />
    <meta name="author" content="AI Listers" />
    <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
    <meta name="googlebot" content="index, follow" />
    <link rel="canonical" href="https://ailisters.com/" />
    
    <!-- Geo targeting -->
    <meta name="geo.region" content="IN" />
    <meta name="geo.region" content="US" />
    <meta name="geo.region" content="GB" />
    <meta name="geo.region" content="DE" />
    <meta name="geo.placename" content="Worldwide" />
    
    <!-- Open Graph / Facebook -->
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://ailisters.com" />
    <meta property="og:title" content="AI Listers - Amazon Listing Tool for 23 Global Marketplaces | Multi-Store Support" />
    <meta property="og:description" content="Connect multiple Amazon stores (US, UK, India, Germany, Japan & 18 more). AI-powered listing generator for Amazon, Flipkart, Meesho & Shopify sellers. Create high-converting listings in seconds." />
    <meta property="og:image" content="https://ailisters.com/og-image.jpg" />
    <meta property="og:site_name" content="AI Listers" />
    <meta property="og:locale" content="en_US" />
    <meta property="og:locale:alternate" content="en_GB" />
    <meta property="og:locale:alternate" content="en_IN" />
    
    <!-- Twitter -->
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:url" content="https://ailisters.com" />
    <meta name="twitter:title" content="AI Listers - Amazon Multi-Store Listing Tool for 23 Marketplaces" />
    <meta name="twitter:description" content="Connect Amazon US, UK, India, Germany, Japan & 18 more marketplaces. AI-powered listing generator for Amazon, Flipkart & Shopify." />
    <meta name="twitter:image" content="https://ailisters.com/twitter-image.jpg" />
    
    <!-- Additional SEO -->
    <meta name="theme-color" content="#2563eb" />
    <meta name="msapplication-TileColor" content="#2563eb" />
    <meta name="application-name" content="AI Listers" />
    <meta name="apple-mobile-web-app-title" content="AI Listers" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    
    <!-- Schema.org structured data -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "SoftwareApplication",
      "name": "AI Listers",
      "alternateName": "AI Listers - Amazon Multi-Store Listing Tool",
      "description": "AI-powered listing generator for Amazon sellers in US, UK, India, Germany, Japan, UAE & 23 global marketplaces. Connect multiple stores, create SEO-optimized listings, keywords & images. Also supports Flipkart, Meesho & Shopify.",
      "url": "https://ailisters.com",
      "applicationCategory": "BusinessApplication",
      "operatingSystem": "Web",
      "featureList": [
        "Amazon US Integration",
        "Amazon UK Integration", 
        "Amazon India Integration",
        "Amazon Germany Integration",
        "Amazon Japan Integration",
        "Amazon UAE Integration",
        "Amazon Australia Integration",
        "23 Amazon Marketplaces",
        "Multi-Store Management",
        "SP-API Integration",
        "AI Listing Generator",
        "Keyword Research",
        "A+ Content Creator",
        "Flipkart Integration",
        "Meesho Integration",
        "Shopify Integration"
      ],
      "offers": [
        {
          "@type": "Offer",
          "name": "Free Plan",
          "price": "0",
          "priceCurrency": "USD"
        },
        {
          "@type": "Offer",
          "name": "Pro Plan",
          "price": "25",
          "priceCurrency": "USD",
          "priceValidUntil": "2026-12-31"
        },
        {
          "@type": "Offer",
          "name": "Unlimited Plan",
          "price": "45",
          "priceCurrency": "USD",
          "priceValidUntil": "2026-12-31"
        }
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.9",
        "ratingCount": "2500"
      },
      "publisher": {
        "@type": "Organization",
        "name": "AI Listers",
        "url": "https://ailisters.com"
      }
    }
    </script>
    
    <!-- Organization Schema -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "AI Listers",
      "alternateName": "AIListers",
      "url": "https://ailisters.com",
      "logo": "https://ailisters.com/logo-icon.svg",
      "description": "AI-powered listing optimization platform for Amazon sellers in 23 global marketplaces (US, UK, India, Germany, Japan, UAE & more). Also supports Flipkart, Meesho & Shopify.",
      "foundingDate": "2024",
      "areaServed": [
        "United States", "United Kingdom", "India", "Germany", "France", "Italy", "Spain", 
        "Canada", "Mexico", "Brazil", "Japan", "Australia", "Singapore", "UAE", "Saudi Arabia",
        "Netherlands", "Belgium", "Sweden", "Poland", "Turkey", "Egypt", "South Africa", "Ireland"
      ],
      "sameAs": [],
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer service",
        "email": "support@ailisters.com",
        "availableLanguage": ["English", "Hindi", "German", "French", "Spanish", "Japanese"]
      }
    }
    </script>
    
    <!-- Product Schema for Amazon Seller Tool -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Product",
      "name": "AI Listers - Amazon Multi-Store Listing Tool",
      "description": "Connect all your Amazon stores (US, UK, India, Germany, Japan & 18 more) in one dashboard. AI-powered listing generator with keyword research, A+ content creator, and competitor analysis.",
      "brand": {
        "@type": "Brand",
        "name": "AI Listers"
      },
      "offers": {
        "@type": "AggregateOffer",
        "lowPrice": "0",
        "highPrice": "45",
        "priceCurrency": "USD",
        "offerCount": "3"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.9",
        "reviewCount": "2500",
        "bestRating": "5",
        "worstRating": "1"
      }
    }
    </script>
    
    <!-- WebSite Schema for Sitelinks Search Box -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "name": "AI Listers",
      "url": "https://ailisters.com",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://ailisters.com/blog?q={search_term_string}",
        "query-input": "required name=search_term_string"
      }
    }
    </script>
    
    <!-- FAQ Schema for common questions -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Which Amazon marketplaces does AI Listers support?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "AI Listers supports all 23 Amazon marketplaces worldwide including US, UK, India, Germany, France, Italy, Spain, Canada, Mexico, Brazil, Japan, Australia, Singapore, UAE, Saudi Arabia, Netherlands, Belgium, Sweden, Poland, Turkey, Egypt, South Africa, and Ireland."
          }
        },
        {
          "@type": "Question",
          "name": "Can I connect multiple Amazon stores?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes! AI Listers supports multi-store management. You can connect unlimited Amazon stores across different marketplaces and manage them all from a single unified dashboard."
          }
        },
        {
          "@type": "Question",
          "name": "How do I connect my Amazon Seller Central account?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "AI Listers uses Amazon SP-API for secure integration. You can self-connect using your own SP-API credentials (Client ID, Client Secret, and Refresh Token) from Amazon Seller Central Developer Console."
          }
        }
      ]
    }
    </script>
    
    <!-- Google Ads Conversion Tracking (gtag.js) -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=AW-17945373662"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'AW-17945373662');
      
      // Global conversion tracking function
      window.trackSignupConversion = function() {
        gtag('event', 'conversion', {
          'send_to': 'AW-17945373662/aIA2CN6D_f4bEN7Xgu1C',
          'transport_type': 'beacon'
        });
      };
    </script>

    <!-- Security: Keyboard shortcut blocking & basic protections (PRODUCTION ONLY) -->
    <!-- NOTE: DevTools detection + app blocking is handled at React level in AppGatekeeper.tsx -->
    <!-- The app itself is NOT mounted when DevTools are open (no DOM to delete) -->
    <script>
      (function() {
        'use strict';
        
        // Check if running on localhost - if so, skip all protections
        var isLocalhost = window.location.hostname === 'localhost' || 
                          window.location.hostname === '127.0.0.1' ||
                          window.location.hostname.startsWith('192.168.') ||
                          window.location.hostname.startsWith('10.') ||
                          window.location.port === '5173' ||
                          window.location.port === '3000';
        
        if (isLocalhost) {
          console.log('\uD83D\uDD27 Development mode - protections disabled');
          return;
        }
        
        // PRODUCTION ONLY
        
        // Disable right-click context menu (except for logged-in app pages)
        document.addEventListener('contextmenu', function(e) {
          // Allow right-click in the seller panel (/app/*) and admin panel (/admin/*)
          if (window.location.pathname.startsWith('/app/') || 
              window.location.pathname.startsWith('/admin/')) {
            return true;
          }
          e.preventDefault();
          return false;
        });

        // Disable keyboard shortcuts for dev tools
        document.addEventListener('keydown', function(e) {
          if (e.key === 'F12' || e.keyCode === 123) { e.preventDefault(); return false; }
          if (e.ctrlKey && e.shiftKey && (e.key === 'I' || e.key === 'i' || e.keyCode === 73)) { e.preventDefault(); return false; }
          if (e.ctrlKey && e.shiftKey && (e.key === 'J' || e.key === 'j' || e.keyCode === 74)) { e.preventDefault(); return false; }
          if (e.ctrlKey && e.shiftKey && (e.key === 'C' || e.key === 'c' || e.keyCode === 67)) { e.preventDefault(); return false; }
          if (e.ctrlKey && (e.key === 'U' || e.key === 'u' || e.keyCode === 85)) { e.preventDefault(); return false; }
          if (e.metaKey && e.altKey && (e.key === 'I' || e.key === 'i' || e.keyCode === 73)) { e.preventDefault(); return false; }
          if (e.metaKey && e.altKey && (e.key === 'J' || e.key === 'j' || e.keyCode === 74)) { e.preventDefault(); return false; }
          if (e.metaKey && e.altKey && (e.key === 'C' || e.key === 'c' || e.keyCode === 67)) { e.preventDefault(); return false; }
          if (e.metaKey && e.altKey && (e.key === 'U' || e.key === 'u' || e.keyCode === 85)) { e.preventDefault(); return false; }
        });
        
        // Disable drag on public pages
        document.addEventListener('dragstart', function(e) {
          if (window.location.pathname.startsWith('/app/') || 
              window.location.pathname.startsWith('/admin/')) {
            return true;
          }
          e.preventDefault();
          return false;
        });
        
        // Disable print on public pages
        window.addEventListener('beforeprint', function(e) {
          if (window.location.pathname.startsWith('/app/') || 
              window.location.pathname.startsWith('/admin/')) {
            return;
          }
          e.preventDefault();
          return false;
        });
        
        // Clear console periodically
        setInterval(function() { console.clear(); }, 2000);
      })();
    </script>
    
    <style>
      /* Prevent white flash on page load — clean, on-brand light backdrop */
      html, body {
        margin: 0;
        background: linear-gradient(135deg, #f5f7ff 0%, #eef2ff 50%, #faf5ff 100%);
        min-height: 100vh;
      }

      /* ── App-shell loader (shown until React mounts, then replaced) ── */
      #app-boot {
        position: fixed;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 20px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        background: linear-gradient(135deg, #f5f7ff 0%, #eef2ff 50%, #faf5ff 100%);
        z-index: 9999;
      }
      #app-boot .boot-logo {
        width: 56px;
        height: 56px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, #8b5cf6, #6366f1 55%, #06b6d4);
        box-shadow: 0 12px 34px rgba(99, 102, 241, 0.32);
        animation: boot-float 2.4s ease-in-out infinite;
      }
      #app-boot .boot-logo img { width: 34px; height: 34px; }
      #app-boot .boot-brand {
        font-size: 20px;
        font-weight: 700;
        letter-spacing: -0.01em;
        color: #1e1b4b;
      }
      #app-boot .boot-brand span { color: #6366f1; }
      #app-boot .boot-ring {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        border: 3px solid rgba(99, 102, 241, 0.18);
        border-top-color: #6366f1;
        animation: boot-spin 0.8s linear infinite;
      }
      #app-boot .boot-hint {
        font-size: 13px;
        font-weight: 500;
        color: #64748b;
        min-height: 18px;
        transition: opacity 0.3s ease;
      }
      #app-boot .boot-dots {
        display: flex;
        gap: 6px;
      }
      #app-boot .boot-dots i {
        width: 7px; height: 7px; border-radius: 50%;
        background: #a5b4fc; display: inline-block;
        animation: boot-pulse 1.2s ease-in-out infinite;
      }
      #app-boot .boot-dots i:nth-child(2) { animation-delay: 0.2s; }
      #app-boot .boot-dots i:nth-child(3) { animation-delay: 0.4s; }
      @keyframes boot-spin { to { transform: rotate(360deg); } }
      @keyframes boot-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
      @keyframes boot-pulse { 0%,100% { opacity: 0.3; transform: scale(0.85); } 50% { opacity: 1; transform: scale(1); } }
      @media (prefers-reduced-motion: reduce) {
        #app-boot .boot-logo, #app-boot .boot-ring, #app-boot .boot-dots i { animation: none; }
      }
      /* Disable text selection on public/marketing pages via CSS */
      body {
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
      }
      /* Allow selection in input fields */
      input, textarea, [contenteditable="true"] {
        -webkit-user-select: text;
        -moz-user-select: text;
        user-select: text;
      }
      /* Allow selection on API docs pages and code blocks */
      .allow-select, .allow-select *, pre, code, [data-allow-select], [data-allow-select] * {
        -webkit-user-select: text !important;
        -moz-user-select: text !important;
        user-select: text !important;
      }
      /* Allow text selection in the seller panel (/app/*) and admin panel (/admin/*) */
      /* This is applied dynamically via the .user-panel-active class on body */
      body.user-panel-active,
      body.user-panel-active * {
        -webkit-user-select: text !important;
        -moz-user-select: text !important;
        user-select: text !important;
      }
    </style>
    
    <!-- Dynamic class toggle for seller/admin panel text selection -->
    <script>
      (function() {
        function updatePanelClass() {
          var path = window.location.pathname;
          if (path.startsWith('/app/') || path.startsWith('/app') ||
              path.startsWith('/admin/') || path.startsWith('/admin')) {
            document.body.classList.add('user-panel-active');
          } else {
            document.body.classList.remove('user-panel-active');
          }
        }
        // Run on load
        if (document.body) { updatePanelClass(); }
        else { document.addEventListener('DOMContentLoaded', updatePanelClass); }
        // Watch for SPA navigation (pushState/popState)
        var origPushState = history.pushState;
        history.pushState = function() {
          origPushState.apply(this, arguments);
          updatePanelClass();
        };
        var origReplaceState = history.replaceState;
        history.replaceState = function() {
          origReplaceState.apply(this, arguments);
          updatePanelClass();
        };
        window.addEventListener('popstate', updatePanelClass);
      })();
    </script>
    <script type="module" crossorigin src="/assets/index-ZeRNwyvh.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-DT4CxyBU.css">
  </head>
  <body>
    <h1 class="sr-only" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;">AI Listers - AI Listing Generator for Amazon, Flipkart & Shopify</h1>
    <div id="root">
      <!-- App-shell loader: visible instantly, replaced automatically once React mounts -->
      <div id="app-boot" role="status" aria-live="polite" aria-label="Loading AI Listers">
        <div class="boot-logo">
          <img src="/logo-icon.svg" alt="" width="34" height="34" onerror="this.style.display='none'" />
        </div>
        <div class="boot-brand">AI <span>Listers</span></div>
        <div class="boot-ring" aria-hidden="true"></div>
        <div class="boot-hint" id="app-boot-hint">Starting AI engine…</div>
        <div class="boot-dots" aria-hidden="true"><i></i><i></i><i></i></div>
      </div>
    </div>
    <script>
      (function () {
        var hints = [
          'Starting AI engine…',
          'Warming up the models…',
          'Loading your workspace…',
          'Fetching your data…',
          'Syncing marketplaces…',
          'Almost ready…'
        ];
        var i = 0;
        var el = document.getElementById('app-boot-hint');
        if (!el) return;
        var timer = setInterval(function () {
          // Stop once React has replaced the boot screen.
          if (!document.getElementById('app-boot')) { clearInterval(timer); return; }
          i = (i + 1) % hints.length;
          el.style.opacity = '0';
          setTimeout(function () {
            if (el) { el.textContent = hints[i]; el.style.opacity = '1'; }
          }, 250);
        }, 1600);
      })();
    </script>
    <!-- Google Sign-In SDK -->
    <script src="https://accounts.google.com/gsi/client" async defer></script>
  </body>
</html>
