{
  "version": 3,
  "sources": ["/cdn/shop/t/73/assets/codex-magazine-page-flip.js?rev=20260728-settled-spread-fallback-v15"],
  "sourcesContent": ["(function (global, document2) {\n  \"use strict\";\n  var instances = new Map(),\n    editorSelections = new Map(),\n    imageReadyPromises = new WeakMap(),\n    imageUrlReadyPromises = new Map(),\n    editorSelectionMemory = global.__codexMagazineEditorSelections || {},\n    flipDuration = 1120,\n    navigationTimeout = flipDuration + 560;\n  global.__codexMagazineEditorSelections = editorSelectionMemory;\n  function designModeEnabled() {\n    return !!(global.Shopify && global.Shopify.designMode);\n  }\n  function magazineRoot(scope) {\n    return scope\n      ? scope.matches && scope.matches(\"[data-magazine]\")\n        ? scope\n        : scope.querySelector\n        ? scope.querySelector(\"[data-magazine]\")\n        : null\n      : null;\n  }\n  function editorSectionKey(root) {\n    return (root && (root.getAttribute(\"data-section-id\") || root.id)) || \"\";\n  }\n  function blockPageIndex(state, blockIndex) {\n    var match = state.realPages.find(function (page) {\n      return (\n        page.getAttribute(\"data-magazine-role\") === \"image\" &&\n        Number(page.getAttribute(\"data-magazine-block-index\")) === blockIndex\n      );\n    });\n    return match ? state.realPages.indexOf(match) : -1;\n  }\n  function showEditorBlock(root, blockIndex) {\n    var state = instances.get(root);\n    if (!(!state || !state.goTo)) {\n      var pageIndex = blockPageIndex(state, blockIndex);\n      pageIndex < 0 || state.goTo(pageIndex);\n    }\n  }\n  function restoreEditorSelection(root) {\n    if (designModeEnabled()) {\n      var key = editorSectionKey(root);\n      if (key) {\n        var blockIndex = editorSelections.has(key)\n          ? editorSelections.get(key)\n          : Number(editorSelectionMemory[key]);\n        Number.isFinite(blockIndex) &&\n          (editorSelections.set(key, blockIndex),\n          showEditorBlock(root, blockIndex));\n      }\n    }\n  }\n  function logicalIndex(physicalIndex, pageCount, loop) {\n    return loop\n      ? physicalIndex === 0\n        ? pageCount - 1\n        : physicalIndex === pageCount + 1\n        ? 0\n        : Math.max(0, Math.min(physicalIndex - 1, pageCount - 1))\n      : Math.max(0, Math.min(physicalIndex, pageCount - 1));\n  }\n  function loopResetIndex(physicalIndex, pageCount, loop) {\n    return loop\n      ? physicalIndex === 0\n        ? pageCount\n        : physicalIndex === pageCount + 1\n        ? 1\n        : null\n      : null;\n  }\n  function canPreviewNext(currentIndex, pageCount, loop) {\n    return pageCount < 2 ? !1 : loop || currentIndex < pageCount - 1;\n  }\n  function nextIndex(currentIndex, pageCount, loop) {\n    return pageCount < 1\n      ? 0\n      : currentIndex < pageCount - 1\n      ? currentIndex + 1\n      : loop\n      ? 0\n      : pageCount - 1;\n  }\n  function previousIndex(currentIndex, pageCount, loop) {\n    return pageCount < 1\n      ? 0\n      : currentIndex > 0\n      ? currentIndex - 1\n      : loop\n      ? pageCount - 1\n      : 0;\n  }\n  function pageDimensions(widthValue, heightValue) {\n    var width = Number(widthValue),\n      height = Number(heightValue);\n    return (\n      (!Number.isFinite(width) ||\n        width <= 0 ||\n        !Number.isFinite(height) ||\n        height <= 0) &&\n        ((width = 2), (height = 3)),\n      { width: width * 120, height: height * 120 }\n    );\n  }\n  function readBoolean(value) {\n    return value === !0 || value === \"true\";\n  }\n  function createClone(page, position) {\n    var clone = page.cloneNode(!0);\n    return (\n      clone.removeAttribute(\"data-shopify-editor-block\"),\n      clone.classList.remove(\"is-content-visible\"),\n      clone.setAttribute(\"data-magazine-clone\", position),\n      clone.setAttribute(\"aria-hidden\", \"true\"),\n      clone\n    );\n  }\n  function visiblePageIndexes(state, activeIndex) {\n    var indexes = [activeIndex];\n    if (!state.pageFlip || state.pageFlip.getOrientation() !== \"landscape\")\n      return indexes;\n    var spreadStart = state.pageFlip.getCurrentPageIndex();\n    return (\n      (indexes = [spreadStart]),\n      !(state.hasCover && spreadStart === 0) &&\n        spreadStart < state.pageCount - 1 &&\n        indexes.push(spreadStart + 1),\n      indexes\n    );\n  }\n  function hidePageContent(state) {\n    state.contentTimer !== null &&\n      (global.clearTimeout(state.contentTimer), (state.contentTimer = null)),\n      state.realPages.forEach(function (page) {\n        page.classList.remove(\"is-content-visible\");\n      });\n  }\n  function scheduleContentReveal(state, activeIndex, delay) {\n    hidePageContent(state),\n      (state.contentTimer = global.setTimeout(function () {\n        visiblePageIndexes(state, activeIndex).forEach(function (index) {\n          state.realPages[index] &&\n            state.realPages[index].classList.add(\"is-content-visible\");\n        }),\n          (state.contentTimer = null);\n      }, Math.max(0, Number(delay) || 0)));\n  }\n  function setPageVisibility(pages, activeIndex) {\n    pages.forEach(function (page, index) {\n      var active = index === activeIndex;\n      (page.hidden = !active),\n        page.setAttribute(\"aria-hidden\", active ? \"false\" : \"true\");\n    });\n  }\n  function waitForImagePaint(frameCount) {\n    return new Promise(function (resolve) {\n      var remaining = Math.max(2, Number(frameCount) || 2);\n      function waitForFrame() {\n        remaining -= 1;\n        remaining <= 0 ? resolve() : global.requestAnimationFrame(waitForFrame);\n      }\n      global.requestAnimationFrame(waitForFrame);\n    });\n  }\n  function absoluteImageUrl(url) {\n    if (!url) return \"\";\n    var link = document2.createElement(\"a\");\n    return (link.href = url), link.href;\n  }\n  function imageCandidates(image) {\n    var sourceSet = image.getAttribute(\"srcset\") || \"\";\n    return sourceSet\n      .split(\",\")\n      .map(function (candidate) {\n        var match = candidate.trim().match(/^(.*)\\s+(\\d+)w$/);\n        return match\n          ? { url: absoluteImageUrl(match[1].trim()), width: Number(match[2]) }\n          : null;\n      })\n      .filter(function (candidate) {\n        return !!candidate && !!candidate.url && candidate.width > 0;\n      })\n      .sort(function (left, right) {\n        return left.width - right.width;\n      });\n  }\n  function imageFallbackValue(url) {\n    return url\n      ? 'url(\"' + url.replace(/([\"\\\\])/g, \"\\\\$1\") + '\")'\n      : \"none\";\n  }\n  function applyMagazineImageFallback(image, url) {\n    if (!image || !url) return;\n    var page = image.closest(\".codex-magazine__page--image\"),\n      surface = image.closest(\".codex-magazine__page-surface\"),\n      fallback = imageFallbackValue(url);\n    page && page.style.setProperty(\"--magazine-image-fallback\", fallback),\n      surface &&\n        surface.style.setProperty(\"--magazine-image-fallback\", fallback);\n  }\n  function magazineImageTargetWidth(state) {\n    var maxPageWidth = Math.max(\n        320,\n        Number(state.root.getAttribute(\"data-page-max-width\")) || 560\n      ),\n      bookWidth = state.book.getBoundingClientRect().width,\n      compactWidth = Math.max(280, Math.min(global.innerWidth - 32, maxPageWidth)),\n      pageWidth = state.compactLayout\n        ? compactWidth\n        : Math.max(maxPageWidth, bookWidth > 0 ? bookWidth / 2 : maxPageWidth),\n      pixelRatio = Math.min(Math.max(global.devicePixelRatio || 1, 1), 2);\n    return Math.ceil(pageWidth * pixelRatio);\n  }\n  function stabilizeMagazineImage(image, targetWidth) {\n    var stableUrl = image.getAttribute(\"data-magazine-stable-src\");\n    if (!stableUrl) {\n      var candidates = imageCandidates(image),\n        selected = candidates.find(function (candidate) {\n          return candidate.width >= targetWidth;\n        });\n      selected || (selected = candidates[candidates.length - 1]),\n        (stableUrl = absoluteImageUrl(\n          selected\n            ? selected.url\n            : image.currentSrc || image.getAttribute(\"src\") || image.src || \"\"\n        ));\n    }\n    return (\n      image.removeAttribute(\"srcset\"),\n      image.removeAttribute(\"sizes\"),\n      stableUrl && image.setAttribute(\"src\", stableUrl),\n      image.setAttribute(\"data-magazine-stable-src\", stableUrl),\n      applyMagazineImageFallback(image, stableUrl),\n      stableUrl\n    );\n  }\n  function preloadMagazineUrl(url, highPriority) {\n    if (!url) return Promise.reject(new Error(\"Magazine image URL is missing\"));\n    var cached = imageUrlReadyPromises.get(url);\n    if (cached) return cached;\n    var promise = new Promise(function (resolve, reject) {\n      var preload = new global.Image(),\n        settled = !1,\n        timeoutId = null;\n      function cleanup() {\n        timeoutId !== null && global.clearTimeout(timeoutId),\n          preload.removeEventListener(\"load\", decode),\n          preload.removeEventListener(\"error\", fail);\n      }\n      function finish() {\n        settled || ((settled = !0), cleanup(), resolve());\n      }\n      function fail() {\n        settled ||\n          ((settled = !0),\n          cleanup(),\n          imageUrlReadyPromises.delete(url),\n          reject(new Error(\"Magazine image failed to preload\")));\n      }\n      function decode() {\n        if (!(settled || !preload.complete || preload.naturalWidth <= 0)) {\n          var decodePromise =\n            typeof preload.decode == \"function\"\n              ? preload.decode()\n              : Promise.resolve();\n          decodePromise.then(finish).catch(fail);\n        }\n      }\n      (preload.loading = \"eager\"),\n        (preload.decoding = \"async\"),\n        highPriority && preload.setAttribute(\"fetchpriority\", \"high\"),\n        preload.addEventListener(\"load\", decode),\n        preload.addEventListener(\"error\", fail),\n        (timeoutId = global.setTimeout(fail, 20000)),\n        (preload.src = url),\n        decode();\n    });\n    return imageUrlReadyPromises.set(url, promise), promise;\n  }\n  function loadMagazineImage(image, highPriority, targetWidth) {\n    if (!image) return Promise.resolve();\n    image.loading = \"eager\";\n    image.decoding = \"async\";\n    highPriority && image.setAttribute(\"fetchpriority\", \"high\");\n    var requestedUrl = stabilizeMagazineImage(image, targetWidth),\n      cached = imageReadyPromises.get(image);\n    if (cached && cached.url === requestedUrl) return cached.promise;\n    var entry = { url: requestedUrl, promise: null };\n    entry.promise = preloadMagazineUrl(requestedUrl, highPriority).then(function () {\n      return new Promise(function (resolve, reject) {\n      var settled = !1,\n        decoding = !1,\n        timeoutId = null;\n      function cleanup() {\n        timeoutId !== null && global.clearTimeout(timeoutId),\n          image.removeEventListener(\"load\", decodeAndPaint),\n          image.removeEventListener(\"error\", fail);\n      }\n      function finish() {\n        if (!settled) {\n          settled = !0;\n          cleanup(),\n            image.setAttribute(\"data-magazine-image-ready\", \"true\"),\n            resolve();\n        }\n      }\n      function fail() {\n        if (!settled) {\n          settled = !0;\n          cleanup(), reject(new Error(\"Magazine image failed to load\"));\n        }\n      }\n      function decodeAndPaint() {\n        if (settled || decoding) return;\n        if (!(image.complete && image.naturalWidth > 0)) return;\n        decoding = !0;\n        var decodePromise =\n          typeof image.decode == \"function\" ? image.decode() : Promise.resolve();\n        decodePromise\n          .then(function () {\n            return waitForImagePaint(3);\n          })\n          .then(function () {\n            finish();\n          })\n          .catch(fail);\n      }\n        image.addEventListener(\"load\", decodeAndPaint),\n        image.addEventListener(\"error\", fail),\n        (timeoutId = global.setTimeout(fail, 8000)),\n        decodeAndPaint();\n      });\n    });\n    return (\n      imageReadyPromises.set(image, entry),\n      entry.promise.catch(function () {\n        imageReadyPromises.get(image) === entry && imageReadyPromises.delete(image);\n      }),\n      entry.promise\n    );\n  }\n  function primeMagazineImages(state) {\n    var images = [];\n    state.realPages.forEach(function (page) {\n      page.querySelectorAll(\"img\").forEach(function (image) {\n        images.indexOf(image) === -1 && images.push(image);\n      });\n    });\n    var targetWidth = magazineImageTargetWidth(state);\n    return Promise.all(\n      images.map(function (image, index) {\n        return loadMagazineImage(image, index < 3, targetWidth);\n      })\n    ).then(function () {\n      return waitForImagePaint(4);\n    });\n  }\n  function preparePageImages(state, centerIndex, highPriority) {\n    var center = Math.max(\n        0,\n        Math.min(Number(centerIndex) || 0, state.pageCount - 1)\n      ),\n      before = state.compactLayout ? 1 : 2,\n      after = state.compactLayout ? 2 : 3,\n      start = Math.max(0, center - before),\n      end = Math.min(state.pageCount - 1, center + after),\n      images = [],\n      targetWidth = magazineImageTargetWidth(state);\n    for (var index = start; index <= end; index += 1) {\n      var page = state.realPages[index];\n      page &&\n        page.querySelectorAll(\"img\").forEach(function (image) {\n          images.indexOf(image) === -1 && images.push(image);\n        });\n    }\n    return Promise.all(\n      images.map(function (image) {\n        return loadMagazineImage(image, highPriority, targetWidth);\n      })\n    );\n  }\n  function warmPageSurfaces(state, centerIndex) {\n    var center = Math.max(\n        0,\n        Math.min(Number(centerIndex) || 0, state.pageCount - 1)\n      ),\n      start = Math.max(0, center - 2),\n      end = Math.min(state.pageCount - 1, center + 3);\n    for (var index = start; index <= end; index += 1) {\n      var page = state.realPages[index];\n      if (page) {\n        page.getBoundingClientRect();\n        page.querySelectorAll(\"img\").forEach(function (image) {\n          image.getBoundingClientRect();\n        });\n      }\n    }\n    return waitForImagePaint(3);\n  }\n  function repaintSettledSpread(state, centerIndex) {\n    var indexes = visiblePageIndexes(state, centerIndex),\n      targetWidth = magazineImageTargetWidth(state),\n      images = [];\n    indexes.forEach(function (index) {\n      var page = state.realPages[index];\n      page &&\n        page.querySelectorAll(\"img\").forEach(function (image) {\n          applyMagazineImageFallback(\n            image,\n            stabilizeMagazineImage(image, targetWidth)\n          ),\n            images.push(image);\n        });\n    });\n    return Promise.all(\n      images.map(function (image) {\n        return loadMagazineImage(image, !0, targetWidth);\n      })\n    ).then(function () {\n      indexes.forEach(function (index) {\n        var page = state.realPages[index];\n        if (!page) return;\n        page.getBoundingClientRect(),\n          page.querySelectorAll(\"img\").forEach(function (image) {\n            image.getBoundingClientRect();\n          });\n      });\n      return waitForImagePaint(2);\n    });\n  }\n  function navigationTarget(state, direction) {\n    var current = state.currentIndex,\n      landscape =\n        state.pageFlip && state.pageFlip.getOrientation() === \"landscape\";\n    if (!landscape)\n      return Math.max(\n        0,\n        Math.min(current + direction, state.pageCount - 1)\n      );\n    if (direction > 0)\n      return Math.min(\n        current === 0 ? 1 : current + 2,\n        state.pageCount - 1\n      );\n    return Math.max(current <= 1 ? 0 : current - 2, 0);\n  }\n  function initFallback(root, state) {\n    var startX = null,\n      moved = !1;\n    root.classList.add(\"is-fallback\"), setPageVisibility(state.realPages, 0);\n    function show(index) {\n      if (state.navigationPending) return;\n      var next = index;\n      state.loop\n        ? (next = (index + state.pageCount) % state.pageCount)\n        : (next = Math.max(0, Math.min(index, state.pageCount - 1)));\n      (state.navigationPending = !0),\n        root.setAttribute(\"aria-busy\", \"true\"),\n        preparePageImages(state, next, !0)\n          .then(function () {\n            (state.currentIndex = next),\n              setPageVisibility(state.realPages, next),\n              state.sync(next),\n              state.scheduleReveal(next, 90),\n              state.resetPeel(),\n              preparePageImages(state, next, !1);\n          })\n          .finally(function () {\n            (state.navigationPending = !1), root.removeAttribute(\"aria-busy\");\n          });\n    }\n    function onPointerDown(event) {\n      event.target.closest(\"[data-magazine-action]\") ||\n        ((startX = event.clientX), (moved = !1), state.noteInput());\n    }\n    function onPointerMove(event) {\n      startX !== null &&\n        (Math.abs(event.clientX - startX) > 6 && (moved = !0),\n        state.noteInput());\n    }\n    function onPointerUp(event) {\n      if (startX !== null) {\n        var delta = event.clientX - startX;\n        (startX = null),\n          moved &&\n            Math.abs(delta) >= 30 &&\n            show(state.currentIndex + (delta < 0 ? 1 : -1));\n      }\n    }\n    function onClick(event) {\n      event.target.closest(\"[data-magazine-action]\") ||\n        moved ||\n        show(state.currentIndex + 1);\n    }\n    (state.next = function () {\n      show(nextIndex(state.currentIndex, state.pageCount, state.loop));\n    }),\n      (state.previous = function () {\n        show(previousIndex(state.currentIndex, state.pageCount, state.loop));\n      }),\n      (state.goTo = show),\n      state.book.addEventListener(\"pointerdown\", onPointerDown),\n      state.book.addEventListener(\"pointermove\", onPointerMove),\n      state.book.addEventListener(\"pointerup\", onPointerUp),\n      state.book.addEventListener(\"pointercancel\", onPointerUp),\n      state.book.addEventListener(\"click\", onClick),\n      state.cleanup.push(function () {\n        state.book.removeEventListener(\"pointerdown\", onPointerDown),\n          state.book.removeEventListener(\"pointermove\", onPointerMove),\n          state.book.removeEventListener(\"pointerup\", onPointerUp),\n          state.book.removeEventListener(\"pointercancel\", onPointerUp),\n          state.book.removeEventListener(\"click\", onClick);\n      });\n  }\n  function initDiscreteNavigation(state) {\n    var inputTarget = state.book,\n      gestureLayer = null,\n      startX = null,\n      startY = null,\n      activePointerId = null,\n      tapDirection = \"next\";\n    if (state.compactLayout) {\n      gestureLayer = document2.createElement(\"div\"),\n        (gestureLayer.className = \"codex-magazine__gesture-layer\"),\n        gestureLayer.setAttribute(\"aria-hidden\", \"true\"),\n        (gestureLayer.innerHTML =\n          '<span class=\"codex-magazine__gesture-zone codex-magazine__gesture-zone--previous\" data-magazine-direction=\"previous\"></span><span class=\"codex-magazine__gesture-zone codex-magazine__gesture-zone--next\" data-magazine-direction=\"next\"></span>'),\n        (state.book.parentElement || state.book).appendChild(gestureLayer),\n        (inputTarget = gestureLayer);\n    }\n    function resetPointer() {\n      (startX = null), (startY = null), (activePointerId = null);\n    }\n    function capturePointer(event) {\n      if (!inputTarget.setPointerCapture || event.pointerId === void 0) return;\n      try {\n        inputTarget.setPointerCapture(event.pointerId);\n      } catch (error) {}\n    }\n    function releasePointer() {\n      if (\n        !inputTarget.releasePointerCapture ||\n        !inputTarget.hasPointerCapture ||\n        activePointerId === null\n      )\n        return;\n      try {\n        inputTarget.hasPointerCapture(activePointerId) &&\n          inputTarget.releasePointerCapture(activePointerId);\n      } catch (error) {}\n    }\n    function onPointerDown(event) {\n      (event.button !== void 0 && event.button !== 0) ||\n        event.target.closest(\"[data-magazine-action]\") ||\n        (gestureLayer && (event.preventDefault(), event.stopPropagation()),\n        (startX = event.clientX),\n        (startY = event.clientY),\n        (tapDirection = event.target.closest(\n          '[data-magazine-direction=\"previous\"]'\n        )\n          ? \"previous\"\n          : \"next\"),\n        (activePointerId = event.pointerId),\n        capturePointer(event),\n        state.noteInput());\n    }\n    function onPointerMove(event) {\n      if (startX === null || startY === null || !gestureLayer) return;\n      var deltaX = event.clientX - startX,\n        deltaY = event.clientY - startY;\n      if (Math.abs(deltaX) > 6 && Math.abs(deltaX) > Math.abs(deltaY)) {\n        event.preventDefault();\n      }\n      event.stopPropagation();\n    }\n    function onPointerUp(event) {\n      if (!(startX === null || startY === null)) {\n        var deltaX = event.clientX - startX,\n          deltaY = event.clientY - startY,\n          requestedDirection = tapDirection;\n        gestureLayer && (event.preventDefault(), event.stopPropagation());\n        releasePointer();\n        if (\n          (resetPointer(),\n          Math.abs(deltaX) >= 30 && Math.abs(deltaX) > Math.abs(deltaY))\n        ) {\n          deltaX < 0 ? state.next() : state.previous();\n          return;\n        }\n        Math.abs(deltaX) > 8 ||\n          Math.abs(deltaY) > 8 ||\n          (requestedDirection === \"previous\"\n            ? state.previous()\n            : state.next());\n      }\n    }\n    function onPointerCancel() {\n      releasePointer(), resetPointer();\n    }\n    inputTarget.addEventListener(\"pointerdown\", onPointerDown),\n      inputTarget.addEventListener(\"pointermove\", onPointerMove),\n      inputTarget.addEventListener(\"pointerup\", onPointerUp),\n      inputTarget.addEventListener(\"pointercancel\", onPointerCancel),\n      state.cleanup.push(function () {\n        inputTarget.removeEventListener(\"pointerdown\", onPointerDown),\n          inputTarget.removeEventListener(\"pointermove\", onPointerMove),\n          inputTarget.removeEventListener(\"pointerup\", onPointerUp),\n          inputTarget.removeEventListener(\"pointercancel\", onPointerCancel),\n          gestureLayer && gestureLayer.remove();\n      });\n  }\n  function initPageFlip(root, state) {\n    var pages = state.realPages.slice(),\n      pendingReset = null,\n      navigationWatchdog = null,\n      dimensions = state.compactLayout\n        ? pageDimensions(9, 16)\n        : pageDimensions(\n            root.getAttribute(\"data-page-width\"),\n            root.getAttribute(\"data-page-height\")\n          ),\n      maxPageWidth = Math.max(\n        320,\n        Number(root.getAttribute(\"data-page-max-width\")) || 560\n      ),\n      desktopBookWidth =\n        global.matchMedia && global.matchMedia(\"(min-width: 750px)\").matches\n          ? state.book.getBoundingClientRect().width\n          : 0,\n      minPageWidth = Math.min(240, maxPageWidth),\n      minPageHeight = (minPageWidth * dimensions.height) / dimensions.width,\n      maxPageHeight = (maxPageWidth * dimensions.height) / dimensions.width;\n    desktopBookWidth > 0 &&\n      (maxPageWidth = Math.max(\n        maxPageWidth,\n        Math.floor(desktopBookWidth / 2)\n      )),\n      (maxPageHeight = (maxPageWidth * dimensions.height) / dimensions.width);\n    if (state.loop) {\n      var cloneLast = createClone(state.realPages[state.pageCount - 1], \"last\"),\n        cloneFirst = createClone(state.realPages[0], \"first\");\n      state.book.insertBefore(cloneLast, state.realPages[0]),\n        state.book.appendChild(cloneFirst),\n        (pages = Array.from(\n          state.book.querySelectorAll(\"[data-magazine-page]\")\n        ));\n    }\n    var pageFlip = new global.St.PageFlip(state.book, {\n      width: dimensions.width,\n      height: dimensions.height,\n      size: \"stretch\",\n      autoSize: !1,\n      minWidth: minPageWidth,\n      maxWidth: maxPageWidth,\n      minHeight: minPageHeight,\n      maxHeight: maxPageHeight,\n      drawShadow: !0,\n      flippingTime: flipDuration,\n      maxShadowOpacity: 0.42,\n      showCover: state.hasCover,\n      usePortrait: !0,\n      mobileScrollSupport: !1,\n      useMouseEvents: !1,\n      swipeDistance: 30,\n      clickEventForward: !1,\n      disableFlipByClick: !0,\n    });\n    pageFlip.loadFromHTML(pages),\n      state.loop && pageFlip.turnToPage(1),\n      (state.pageFlip = pageFlip),\n      (state.finishNavigation = function () {\n        navigationWatchdog !== null &&\n          (global.clearTimeout(navigationWatchdog),\n          (navigationWatchdog = null)),\n          (state.navigationPending = !1),\n          root.removeAttribute(\"aria-busy\"),\n          root.classList.remove(\n            \"is-page-flipping\",\n            \"is-flipping-forward\",\n            \"is-flipping-backward\"\n          );\n      }),\n      (state.goTo = function (index) {\n        var target = Math.max(\n            0,\n            Math.min(Number(index) || 0, state.pageCount - 1)\n          ),\n          physicalTarget = state.loop ? target + 1 : target;\n        pageFlip.turnToPage(physicalTarget),\n          (state.currentIndex = target),\n          state.hideContent(),\n          state.sync(target),\n          state.resetPeel(),\n          state.scheduleReveal(target, 0),\n          state.finishNavigation();\n      }),\n      (state.runNavigation = function (direction) {\n        if (\n          state.navigationPending ||\n          pageFlip.getState() !== \"read\" ||\n          (!state.loop &&\n            ((direction > 0 && state.currentIndex >= state.pageCount - 1) ||\n              (direction < 0 && state.currentIndex <= 0)))\n        )\n          return;\n        var target = navigationTarget(state, direction),\n          corner = state.compactLayout ? \"bottom\" : \"top\";\n        (state.navigationPending = !0),\n          root.setAttribute(\"aria-busy\", \"true\"),\n          preparePageImages(state, target, !0)\n            .then(function () {\n              return warmPageSurfaces(state, target);\n            })\n            .then(function () {\n              if (pageFlip.getState() !== \"read\") {\n                state.goTo(target);\n                return;\n              }\n              direction > 0\n                ? (root.classList.remove(\"is-flipping-backward\"),\n                  root.classList.add(\"is-flipping-forward\"),\n                  root.classList.add(\"is-page-flipping\"),\n                  pageFlip.flipNext(corner))\n                : (root.classList.remove(\"is-flipping-forward\"),\n                  root.classList.add(\"is-flipping-backward\"),\n                  root.classList.add(\"is-page-flipping\"),\n                  pageFlip.flipPrev(corner));\n\n              navigationWatchdog = global.setTimeout(function () {\n                if (\n                  pageFlip.getState() !== \"read\" ||\n                  state.currentIndex !== target\n                )\n                  state.goTo(target);\n                else state.finishNavigation();\n              }, navigationTimeout);\n            })\n            .catch(function () {\n              state.finishNavigation();\n            });\n      }),\n      (state.next = function () {\n        state.runNavigation(1);\n      }),\n      (state.previous = function () {\n        state.runNavigation(-1);\n      }),\n      initDiscreteNavigation(state),\n      preparePageImages(state, 1, !1),\n      pageFlip.on(\"flip\", function (event) {\n        var physicalIndex = Number(event.data),\n          current = logicalIndex(physicalIndex, state.pageCount, state.loop);\n        state.hideContent(),\n          (pendingReset = loopResetIndex(\n            physicalIndex,\n            state.pageCount,\n            state.loop\n          )),\n          (state.currentIndex = current),\n          state.resetPeel();\n      }),\n      pageFlip.on(\"changeState\", function (event) {\n        if (event.data !== \"read\") {\n          root.classList.add(\"is-page-flipping\");\n          return;\n        }\n        var settledPhysicalIndex;\n        if (\n          (state.finishNavigation(),\n          pendingReset !== null)\n        ) {\n          var resetTarget = pendingReset;\n          (pendingReset = null), pageFlip.turnToPage(resetTarget),\n            (settledPhysicalIndex = resetTarget);\n        }\n        settledPhysicalIndex === void 0 &&\n          (settledPhysicalIndex = pageFlip.getCurrentPageIndex()),\n          (state.currentIndex = logicalIndex(\n            settledPhysicalIndex,\n            state.pageCount,\n            state.loop\n          )),\n        state.sync(state.currentIndex),\n          state.scheduleReveal(state.currentIndex, 120),\n          repaintSettledSpread(state, state.currentIndex).catch(function () {}),\n          preparePageImages(state, state.currentIndex, !1);\n      }),\n      pageFlip.on(\"changeOrientation\", function () {\n        state.scheduleReveal(state.currentIndex, 80);\n      });\n  }\n  function init(root) {\n    if (!root || instances.has(root)) return;\n    var book = root.querySelector(\"[data-magazine-book]\"),\n      compactLayout =\n        global.matchMedia && global.matchMedia(\"(max-width: 749px)\").matches,\n      allPages = book\n        ? Array.from(book.querySelectorAll(\"[data-magazine-page]\"))\n        : [];\n    allPages.forEach(function (page) {\n      var isCover = page.classList.contains(\"codex-magazine__page--cover\");\n      page.setAttribute(\n        \"data-density\",\n        compactLayout && !isCover ? \"soft\" : \"hard\"\n      );\n      var hideEditorialPage =\n        page.getAttribute(\"data-magazine-role\") === \"editorial\";\n      (page.hidden = hideEditorialPage),\n        page.setAttribute(\"aria-hidden\", hideEditorialPage ? \"true\" : \"false\");\n    });\n    var realPages = allPages.filter(function (page) {\n      return !page.hidden;\n    });\n    if (!book || realPages.length === 0) return;\n    var actions = Array.from(\n        root.querySelectorAll(\"[data-magazine-page-action]\")\n      ),\n      counter = root.querySelector(\"[data-magazine-counter]\"),\n      status = root.querySelector(\"[data-magazine-status]\"),\n      controlStatus = root.querySelector(\"[data-magazine-control-status]\"),\n      zoomOutControl = root.querySelector('[data-magazine-control=\"zoom-out\"]'),\n      zoomInControl = root.querySelector('[data-magazine-control=\"zoom-in\"]'),\n      shareControl = root.querySelector('[data-magazine-control=\"share\"]'),\n      previousControl = root.querySelector('[data-magazine-control=\"previous\"]'),\n      nextControl = root.querySelector('[data-magazine-control=\"next\"]'),\n      zoomLevels = compactLayout ? [1, 1.15, 1.3] : [1, 1.15, 1.3],\n      zoomIndex = 0,\n      pageCount = realPages.length,\n      hasCover = readBoolean(root.getAttribute(\"data-has-cover\")),\n      loop =\n        readBoolean(root.getAttribute(\"data-loop\")) &&\n        !hasCover &&\n        pageCount > 1,\n      reducedMotion =\n        global.matchMedia &&\n        global.matchMedia(\"(prefers-reduced-motion: reduce)\").matches,\n      cleanup = [],\n      contentTimer = null,\n      state = {\n        root,\n        book,\n        realPages,\n        actions,\n        pageCount,\n        loop,\n        hasCover,\n        compactLayout,\n        currentIndex: 0,\n        cleanup,\n        pageFlip: null,\n        next: null,\n        previous: null,\n        goTo: null,\n        sync,\n        contentTimer,\n        hideContent,\n        scheduleReveal,\n        noteInput,\n        resetPeel: function () {},\n        navigationPending: !1,\n        runNavigation: null,\n      };\n    function sync(index) {\n      var activePage = state.realPages[index],\n        activeBlockIndex = activePage\n          ? activePage.getAttribute(\"data-magazine-block-index\")\n          : null,\n        spreadPartnerIndex =\n          index > 0 && index < state.pageCount - 1\n            ? index % 2 === 1\n              ? index + 1\n              : index - 1\n            : -1,\n        spreadPartner = state.realPages[spreadPartnerIndex],\n        activeImage = activePage ? activePage.querySelector(\"img\") : null,\n        partnerImage = spreadPartner ? spreadPartner.querySelector(\"img\") : null,\n        activeImageUrl = activeImage\n          ? activeImage.currentSrc || activeImage.getAttribute(\"src\") || \"\"\n          : \"\",\n        partnerImageUrl = partnerImage\n          ? partnerImage.currentSrc || partnerImage.getAttribute(\"src\") || \"\"\n          : \"\",\n        isPhotoSpread =\n          !!activeImageUrl &&\n          !!partnerImageUrl &&\n          activeImageUrl === partnerImageUrl;\n      actions.forEach(function (action) {\n        var actionBlockIndex = action.getAttribute(\"data-magazine-block-index\");\n        actionBlockIndex !== null && activeBlockIndex !== null\n          ? (action.hidden = actionBlockIndex !== activeBlockIndex)\n          : (action.hidden =\n              Number(action.getAttribute(\"data-page-index\")) !== index);\n      }),\n        counter &&\n          (counter.textContent =\n            String(index + 1).padStart(2, \"0\") +\n            \" / \" +\n            String(pageCount).padStart(2, \"0\")),\n        status &&\n          (status.textContent = String(index + 1) + \" / \" + String(pageCount)),\n        root.classList.toggle(\n          \"is-spread-open\",\n          !compactLayout && index > 0 && index < pageCount - 1\n        ),\n        root.classList.toggle(\n          \"is-photo-spread-view\",\n          !compactLayout && !!isPhotoSpread\n        ),\n        root.classList.toggle(\n          \"is-front-cover-view\",\n          !compactLayout && hasCover && index === 0\n        ),\n        root.classList.toggle(\n          \"is-back-cover-view\",\n          !compactLayout && hasCover && index === pageCount - 1\n        ),\n        previousControl &&\n          (previousControl.disabled = !loop && index <= 0),\n        nextControl &&\n          (nextControl.disabled = !loop && index >= pageCount - 1);\n    }\n    function applyZoom() {\n      var zoom = zoomLevels[zoomIndex];\n      root.style.setProperty(\"--magazine-zoom\", String(zoom)),\n        root.classList.toggle(\"is-zoomed\", zoom > 1),\n        book.setAttribute(\"data-magazine-zoom\", String(zoom)),\n        zoomOutControl && (zoomOutControl.disabled = zoomIndex === 0),\n        zoomInControl &&\n          (zoomInControl.disabled = zoomIndex === zoomLevels.length - 1),\n        global.setTimeout(function () {\n          global.dispatchEvent(new Event(\"resize\"));\n        }, 0);\n    }\n    function onZoomOut() {\n      zoomIndex !== 0 && ((zoomIndex -= 1), applyZoom());\n    }\n    function onZoomIn() {\n      zoomIndex !== zoomLevels.length - 1 && ((zoomIndex += 1), applyZoom());\n    }\n    function onPreviousPage() {\n      state.previous && state.previous();\n    }\n    function onNextPage() {\n      state.next && state.next();\n    }\n    function copyShareUrl(url) {\n      return global.navigator.clipboard &&\n        typeof global.navigator.clipboard.writeText == \"function\"\n        ? global.navigator.clipboard.writeText(url)\n        : new Promise(function (resolve, reject) {\n            var field = document2.createElement(\"textarea\");\n            (field.value = url),\n              field.setAttribute(\"readonly\", \"\"),\n              (field.style.position = \"fixed\"),\n              (field.style.opacity = \"0\"),\n              document2.body.appendChild(field),\n              field.select();\n            var copied = document2.execCommand(\"copy\");\n            field.remove(),\n              copied ? resolve() : reject(new Error(\"Copy failed\"));\n          });\n    }\n    function showCopiedStatus() {\n      !controlStatus ||\n        !shareControl ||\n        ((controlStatus.textContent =\n          shareControl.getAttribute(\"data-copied-label\") || \"Link copied\"),\n        global.setTimeout(function () {\n          controlStatus && (controlStatus.textContent = \"\");\n        }, 2400));\n    }\n    async function onShare() {\n      var canonical = document2.querySelector('link[rel=\"canonical\"]'),\n        url = canonical ? canonical.href : global.location.href;\n      if (global.navigator.share)\n        try {\n          await global.navigator.share({ title: document2.title, url });\n          return;\n        } catch (error) {\n          if (error && error.name === \"AbortError\") return;\n        }\n      try {\n        await copyShareUrl(url), showCopiedStatus();\n      } catch {\n        return;\n      }\n    }\n    function hideContent() {\n      hidePageContent(state);\n    }\n    function scheduleReveal(index, delay) {\n      scheduleContentReveal(state, index, delay);\n    }\n    function noteInput() {}\n    function onInput(event) {\n      event.target &&\n        event.target.closest &&\n        event.target.closest(\"[data-magazine-action]\");\n    }\n    function onKeydown(event) {\n      (event.target &&\n        event.target.closest &&\n        event.target.closest(\"[data-magazine-action]\")) ||\n        (event.key === \"ArrowLeft\"\n          ? (event.preventDefault(), state.previous && state.previous())\n          : (event.key === \"ArrowRight\" ||\n              event.key === \"Enter\" ||\n              event.key === \" \") &&\n            (event.preventDefault(), state.next && state.next()));\n    }\n    [\"pointerdown\", \"pointermove\", \"touchstart\", \"keydown\"].forEach(function (\n      eventName\n    ) {\n      root.addEventListener(eventName, onInput, { passive: !0 }),\n        cleanup.push(function () {\n          root.removeEventListener(eventName, onInput);\n        });\n    }),\n      book.addEventListener(\"keydown\", onKeydown),\n      cleanup.push(function () {\n        book.removeEventListener(\"keydown\", onKeydown);\n      }),\n      zoomOutControl &&\n        (zoomOutControl.addEventListener(\"click\", onZoomOut),\n        cleanup.push(function () {\n          zoomOutControl.removeEventListener(\"click\", onZoomOut);\n        })),\n      zoomInControl &&\n        (zoomInControl.addEventListener(\"click\", onZoomIn),\n        cleanup.push(function () {\n          zoomInControl.removeEventListener(\"click\", onZoomIn);\n        })),\n      shareControl &&\n        (shareControl.addEventListener(\"click\", onShare),\n        cleanup.push(function () {\n          shareControl.removeEventListener(\"click\", onShare);\n        })),\n      previousControl &&\n        (previousControl.addEventListener(\"click\", onPreviousPage),\n        cleanup.push(function () {\n          previousControl.removeEventListener(\"click\", onPreviousPage);\n        })),\n      nextControl &&\n        (nextControl.addEventListener(\"click\", onNextPage),\n        cleanup.push(function () {\n          nextControl.removeEventListener(\"click\", onNextPage);\n        })),\n      sync(0),\n      applyZoom(),\n      instances.set(root, state),\n      root.setAttribute(\"aria-busy\", \"true\"),\n      primeMagazineImages(state).then(function () {\n        if (!instances.has(root)) return;\n        root.removeAttribute(\"aria-busy\"),\n          !reducedMotion &&\n          global.St &&\n          typeof global.St.PageFlip == \"function\" &&\n          pageCount > 1\n            ? initPageFlip(root, state)\n            : initFallback(root, state),\n          scheduleReveal(0, reducedMotion ? 0 : 180),\n          designModeEnabled() &&\n            global.requestAnimationFrame(function () {\n              restoreEditorSelection(root);\n            });\n      });\n  }\n  function destroy(root) {\n    var state = instances.get(root);\n    state &&\n      (state.cleanup.forEach(function (remove) {\n        remove();\n      }),\n      hidePageContent(state),\n      root.classList.remove(\"is-page-flipping\"),\n      state.pageFlip && state.pageFlip.destroy(),\n      instances.delete(root));\n  }\n  function initAll(scope) {\n    var context = scope || document2;\n    !context ||\n      !context.querySelectorAll ||\n      (context.querySelectorAll(\"[data-magazine]\").forEach(init),\n      context.matches && context.matches(\"[data-magazine]\") && init(context));\n  }\n  (global.CodexMagazine = {\n    init,\n    initAll,\n    destroy,\n    utils: {\n      logicalIndex,\n      loopResetIndex,\n      canPreviewNext,\n      nextIndex,\n      previousIndex,\n      pageDimensions,\n    },\n  }),\n    document2 && document2.readyState === \"loading\"\n      ? document2.addEventListener(\"DOMContentLoaded\", function () {\n          initAll(document2);\n        })\n      : initAll(document2),\n    document2.addEventListener(\"shopify:block:select\", function (event) {\n      if (designModeEnabled()) {\n        var page =\n          event.target && event.target.closest\n            ? event.target.closest(\"[data-magazine-block-index]\")\n            : null;\n        if (page) {\n          var root = page.closest(\"[data-magazine]\"),\n            blockIndex = Number(page.getAttribute(\"data-magazine-block-index\"));\n          if (!(!root || !Number.isFinite(blockIndex))) {\n            var key = editorSectionKey(root);\n            key &&\n              (editorSelections.set(key, blockIndex),\n              (editorSelectionMemory[key] = blockIndex)),\n              showEditorBlock(root, blockIndex);\n          }\n        }\n      }\n    }),\n    document2.addEventListener(\"shopify:section:load\", function (event) {\n      initAll(event.target);\n      var root = magazineRoot(event.target);\n      !root ||\n        !designModeEnabled() ||\n        global.requestAnimationFrame(function () {\n          restoreEditorSelection(root);\n        });\n    }),\n    document2.addEventListener(\"shopify:section:unload\", function (event) {\n      var root = magazineRoot(event.target);\n      root && destroy(root);\n    });\n})(window, document);\n// codex-magazine-rev: 20260728-settled-spread-fallback-v15\n"],
  "mappings": "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",
  "names": []
}
