<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Melqui</title>
    <meta
      name="description"
      content="Melqui's corner of the internet — where he's at right now, and everywhere he's been."
    />
    <meta name="theme-color" content="#020709" />

    <!--
      Two variants of the M artwork, built by tools/make-favicon.mjs: the black-on-white
      tile and its inverted white-on-black twin for dark mode. Rasters, so each size is
      declared rather than leaving browsers to downscale one file.

      The order is not cosmetic and is the order Chromium's own guidance asks for, because
      the three engines disagree about what to do with `media` on an icon link. Chrome
      honours it and switches live. Firefox ignores it and takes the last matching link.
      Safari ignores it and takes the first. So the un-gated set goes first and is repeated
      last under `light`, which keeps the fallback stable across engines while still letting
      the engine that honours `media` switch in dark mode.
    -->
    <link rel="icon" href="/favicon-48.png" type="image/png" sizes="48x48" />
    <link rel="icon" href="/favicon-32.png" type="image/png" sizes="32x32" />
    <link rel="icon" href="/favicon-16.png" type="image/png" sizes="16x16" />

    <link rel="icon" media="(prefers-color-scheme: dark)" href="/favicon-dark-48.png" type="image/png" sizes="48x48" />
    <link rel="icon" media="(prefers-color-scheme: dark)" href="/favicon-dark-32.png" type="image/png" sizes="32x32" />
    <link rel="icon" media="(prefers-color-scheme: dark)" href="/favicon-dark-16.png" type="image/png" sizes="16x16" />

    <link rel="icon" media="(prefers-color-scheme: light)" href="/favicon-48.png" type="image/png" sizes="48x48" />
    <link rel="icon" media="(prefers-color-scheme: light)" href="/favicon-32.png" type="image/png" sizes="32x32" />
    <link rel="icon" media="(prefers-color-scheme: light)" href="/favicon-16.png" type="image/png" sizes="16x16" />

    <!-- Opaque: iOS uses this for the home-screen icon and does not support dark-mode
         switching here. -->
    <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180" />
    <link rel="canonical" href="https://melqui.com/" />

    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://melqui.com/" />
    <meta property="og:title" content="Melqui" />
    <meta
      property="og:description"
      content="Melqui's corner of the internet — where he's at right now, and everywhere he's been."
    />
    <!-- Absolute, and a raster: link scrapers do not resolve relative paths and most
         will not take an SVG. Built by tools/make-og.mjs. The dimensions are declared so
         the card reserves the right shape before the image has finished loading. -->
    <meta property="og:image" content="https://melqui.com/og.png" />
    <meta property="og:image:width" content="1200" />
    <meta property="og:image:height" content="630" />
    <meta property="og:image:alt" content="A spray-painted letter M." />
    <meta name="twitter:card" content="summary_large_image" />

    <!-- Defence in depth: hosts should also send these as real headers
         (see vercel.json / public/_headers). -->
    <meta http-equiv="X-Content-Type-Options" content="nosniff" />
    <meta name="referrer" content="strict-origin-when-cross-origin" />
    <script type="module" crossorigin src="/assets/main-DoACq84k.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/MorphType-D9WB0-bu.js">
    <link rel="modulepreload" crossorigin href="/assets/icons-NG_h3IyB.js">
    <link rel="stylesheet" crossorigin href="/assets/MorphType-BFuh-xEr.css">
    <link rel="stylesheet" crossorigin href="/assets/main-C-RvfiFR.css">
  </head>
  <body>
    <div id="root"></div>
    <noscript>
      <p style="font-family: system-ui; padding: 2rem; color: #f2f5ff">
        This page needs JavaScript. In the meantime:
        <a href="/location">where I am</a>,
        <a href="/travel">where I've been</a>.
      </p>
    </noscript>
  </body>
</html>
