<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />

    <!-- Favicons -->
    <link rel="icon" href="/favicon/favicon.ico" sizes="any" />
    <link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg" />
    <link
      rel="icon"
      type="image/png"
      href="/favicon/favicon-96x96.png"
      sizes="96x96"
    />
    <link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" />
    <link
      rel="icon"
      type="image/png"
      href="/favicon/web-app-manifest-192x192.png"
      sizes="192x192"
    />
    <link
      rel="icon"
      type="image/png"
      href="/favicon/web-app-manifest-512x512.png"
      sizes="512x512"
    />

    <!-- PWA / Manifest -->
    <link rel="manifest" href="/favicon/site.webmanifest" />

    <!-- Optional: helps some browsers on Windows -->
    <meta name="msapplication-TileColor" content="#2d5ae3" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <!-- Server-side SEO placeholders (replaced by public/index.php). -->
    <title>Feed | SerpDomains</title>
    <meta name="title" content="Feed | SerpDomains" />
    <meta name="description" content="Dynamic meta description written for each article topic and search intent." />
    <meta name="keywords" content="Dynamic target query by article" />
    <meta name="robots" content="index,follow" />
    <link rel="canonical" href="https://serp.domains/feed" />

    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://serp.domains/feed" />
    <meta property="og:title" content="Feed | SerpDomains" />
    <meta property="og:description" content="Dynamic meta description written for each article topic and search intent." />
    <meta property="og:image" content="https://i.imgur.com/RQFchjx.png" />

    <meta property="twitter:card" content="summary_large_image" />
    <meta property="twitter:url" content="https://serp.domains/feed" />
    <meta property="twitter:title" content="Feed | SerpDomains" />
    <meta property="twitter:description" content="Dynamic meta description written for each article topic and search intent." />
    <meta property="twitter:image" content="https://i.imgur.com/RQFchjx.png" />

    <meta property="og:site_name" content="SerpDomains" />
    <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://serp.domains/feed/#webpage","url":"https://serp.domains/feed/","name":"Feed","description":"Dynamic meta description written for each article topic and search intent.","isPartOf":{"@type":"WebSite","@id":"https://serp.domains/#website","url":"https://serp.domains/","name":"SerpDomains"},"primaryImageOfPage":"https://i.imgur.com/RQFchjx.png"}]}</script>

    <!-- font family -->
    <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=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
      rel="stylesheet"
    />

    <meta name="theme-color" content="#2d5ae3" />
    <script type="module" crossorigin src="/assets/index-CAe2xDkg.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/utils-BaP_myXy.js">
    <link rel="modulepreload" crossorigin href="/assets/button-BN_BOJt4.js">
    <link rel="modulepreload" crossorigin href="/assets/unwrap-D5Rh1d1a.js">
    <link rel="modulepreload" crossorigin href="/assets/useStore-AVI-r9fO.js">
    <link rel="modulepreload" crossorigin href="/assets/link-D0vIcZm6.js">
    <link rel="modulepreload" crossorigin href="/assets/matchContext-CF9EMArz.js">
    <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-oDIAmeop.js">
    <link rel="modulepreload" crossorigin href="/assets/domain-PpnhMF1X.js">
    <link rel="modulepreload" crossorigin href="/assets/types-BghKkHr_.js">
    <link rel="modulepreload" crossorigin href="/assets/site-F5TgP2WQ.js">
    <link rel="modulepreload" crossorigin href="/assets/qs-BdoKi7OS.js">
    <link rel="stylesheet" crossorigin href="/assets/index-InDZo9vX.css">
  <style id="vpss-style">#vpss {
  visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  position: fixed;
  background-color: var(--vpss-bg-splash, #ffffff);
  top: 0px;
  right: 0px;
  left: 0px;
  bottom: 0;
  z-index: 99999;
  opacity: 1;
}
</style></head>

  <body class="group/body">
    <div id="server-seo" style="display:none" aria-hidden="true"><article><header><h1>Feed</h1></header><p>Dynamic meta description written for each article topic and search intent.</p></article></div>
    <div id="root"></div>
  
    <div id="vpss">
      <div class="vpss-logo"><svg width="148" height="174" viewBox="0 0 148 174" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.0844 65.9621C66.4497 61.3692 53.6695 57.7444 53.6695 51.9492C53.6695 46.1496 59.2466 43.2498 75.5118 43.2498C88.2876 43.2498 110.363 47.8426 127.089 54.8446L142.427 13.531C122.906 4.58844 97.5782 0 75.5074 0C26.9534 0 2.79071 19.8125 2.79071 51.2198C2.79071 88.4313 39.7292 99.7874 67.8428 107.037C99.4416 115.25 136.846 126.849 139.171 153.187C144.981 145.451 148 135.549 148 124.188C148 86.2564 110.82 75.3865 81.0844 65.9621Z" fill="#E7EBF9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4062 117.43L0 159.468C79.9418 182.384 112.178 175.037 112.178 158.889C112.178 138.44 48.2156 130.054 14.4062 117.425" fill="#E7EBF9"/>
</svg>
</div>
      
    </div>
    <script>
      (function () {
        const id = "vpss";
        const url = new URL(window.location.href);
        const urlParams = new URLSearchParams(url.search)
        const param = urlParams.get(id);
        
        // Setup global options
        window.__VPSS__ = {
          id: id,
          hidden: param === "false",
          renderedAt: new Date().getTime(),
          minDurationMs: 500,
          getElement: function() {
            return document.getElementById(id);
          },
          getStyles: function() {
            return document.getElementById(id + "-style");
          },
          show: function () {
            const element = this.getElement();
            if (!element) return;

            element.style.visibility = "visible";
          },
          hide: async function () {
            const element = this.getElement();
            if (!element) return;

            // Set hidden flag to prevent multiple calls
            this.hidden = true;

            // Optionally wait for minDurationMs before starting animation
            if (
              this.minDurationMs !== undefined &&
              this.renderedAt !== undefined
            ) {
              const elapsedTime = new Date().getTime() - this.renderedAt;
              const remainingTime = Math.max(this.minDurationMs - elapsedTime, 0);
              await new Promise((resolve) => setTimeout(resolve, remainingTime));
            }

            const animation = element.animate(
              [{ opacity: 1 }, { opacity: 0 }],
              { duration: 200, easing: "ease-out", fill: "forwards" }
            );

            animation.onfinish = () => {
              this.remove();
            };
          },
          remove: function () {
            const element = this.getElement();
            const styles = this.getStyles();

            if (element && styles) {
              element.remove();
              styles.remove();
            }
          }
        };

        if (window.__VPSS__.hidden) {
          window.__VPSS__.remove();
        } else {
          window.__VPSS__.show();
        }
        
        // Remove query param from URL
        if (param) {
          urlParams.delete(id);
          url.search = urlParams.toString();
          window.history.replaceState({}, "", url);
        }
      })();
    </script>
  </body>
</html>
