{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/5EPg9X9FSn2wNpKz78Hf/kgID93Y235bGTmwTVCE3/siteMetadata.js"],
  "sourcesContent": ["// Generated by Framer (ea53337)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:'<canvas id=\"canvas\" style=\"position: fixed; inset: 0; z-index: 99999; height: 100vh; width: 100%; pointer-events: none\"></canvas>\\n\\n<script>\\n    const canvas = document.querySelector(\"#canvas\");\\n    const ctx = canvas.getContext(\"2d\");\\n\\n    // Set initial canvas size\\n    canvas.width = window.innerWidth;\\n    canvas.height = window.innerHeight;\\n\\n    const blocks = [];\\n    let lastMove = Date.now();\\n    let color = getCursorColor();  // Initialize with the current color mode\\n\\n    function getCursorColor() {\\n      return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \\'#fff\\' : \\'#000\\';\\n    }\\n\\n    const drawSquare = (x, y) => {\\n      blocks.push({x, y, time: Date.now()});\\n\\n      while (blocks.length > 12) {\\n        blocks.shift();\\n      }\\n\\n      ctx.clearRect(0, 0, canvas.width, canvas.height);\\n\\n      for (let block of blocks) {\\n        ctx.fillStyle = color;\\n        ctx.fillRect(block.x - window.scrollX, block.y - window.scrollY, 4, 4);\\n      }\\n    };\\n\\n    document.addEventListener(\"mousemove\", (e) => {\\n      lastMove = Date.now();\\n      drawSquare(e.pageX, e.pageY);\\n    });\\n\\n    window.addEventListener(\\'resize\\', () => {\\n      canvas.width = window.innerWidth;\\n      canvas.height = window.innerHeight;\\n    });\\n\\n    // Listen for changes in color scheme and update cursor color\\n    window.matchMedia(\"(prefers-color-scheme: dark)\").addEventListener(\"change\", (e) => {\\n      color = e.matches ? \\'#fff\\' : \\'#000\\';  // Set color to white if dark mode, black if light mode\\n    });\\n\\n    // Clear old blocks after inactivity\\n    setInterval(() => {\\n      if (Date.now() - lastMove > 400) {\\n        blocks.shift();\\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\\n        for (let block of blocks) {\\n          ctx.fillStyle = color;\\n          ctx.fillRect(block.x - window.scrollX, block.y - window.scrollY, 4, 4);\\n        }\\n      }\\n    }, 50);\\n</script>\\n',description:\"Welcome to my little space! \u2729\\xb0\uFF61\u22C6\u2E1C \u272E\",favicon:\"https://framerusercontent.com/assets/6OQemouum7EQS7OPs8uAmVg6mI.png\",robots:\"max-image-preview:large\",title:\"Sandy's Portfolio\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "AACe,SAARA,EAA0BC,EAAOC,EAAa,CAAC,MAAM,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAk6D,YAAY,kEAAyC,QAAQ,sEAAsE,OAAO,0BAA0B,MAAM,mBAAmB,CAAE",
  "names": ["metadata", "params", "activeLocale"]
}
