<?xml version="1.0" encoding="UTF-8"?>
<!--
  Swatchboard sitemap — generated by scripts/prerender.mjs during `npm run build`.
  <lastmod> is the last git commit date that touched each route's page component,
  so crawlers recrawl exactly the routes that actually changed. Routes ship as
  flat HTML files (wheel.html, gradient.html, …) so Cloudflare Pages serves the
  clean extension-less URL with a 200 and no trailing-slash redirect. If the
  production domain changes, update SITE.origin in src/seo/types.ts and the
  Sitemap line in robots.txt, then resubmit in Google Search Console.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://swatchboard.xyz/</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/wheel</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/gradient</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/converter</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/contrast</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/extract</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/brand</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/tokens</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/saved</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/privacy</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
  <url>
    <loc>https://swatchboard.xyz/terms</loc>
    <lastmod>2026-10-18</lastmod>
  </url>
</urlset>
