{
  "version": 3,
  "sources": ["/cdn/shop/t/134/assets/us-mask-cursor.js?sk=1790386800"],
  "sourcesContent": ["/**\n * US showcase \u2014 Sodakick mask cursor follower.\n * Red mask by default; swaps to cream mask over brand-red surfaces.\n * Disabled on touch / coarse pointers and prefers-reduced-motion.\n */\n(function () {\n  if (typeof document === 'undefined') return;\n  if (!document.body || !document.body.classList.contains('us-showcase')) return;\n\n  var fine = window.matchMedia('(hover: hover) and (pointer: fine)');\n  var reduce = window.matchMedia('(prefers-reduced-motion: reduce)');\n  if (!fine.matches || reduce.matches) return;\n\n  var MASK_RED =\n    'https://cdn.shopify.com/s/files/1/0725/8062/8793/files/SodakickBRAND_assets-16.png?v=1790216547&width=128';\n  var MASK_CREAM =\n    'https://cdn.shopify.com/s/files/1/0725/8062/8793/files/SodakickBRAND_assets-17.png?v=1790216552&width=128';\n\n  var el = document.createElement('div');\n  el.className = 'sk-mask-cursor';\n  el.setAttribute('aria-hidden', 'true');\n  el.innerHTML =\n    '<span class=\"sk-mask-cursor__eyes\"></span>' +\n    '<img class=\"sk-mask-cursor__outline sk-mask-cursor__outline--cream\" src=\"' +\n    MASK_CREAM +\n    '\" alt=\"\" width=\"56\" height=\"20\" decoding=\"async\" draggable=\"false\">' +\n    '<img class=\"sk-mask-cursor__outline sk-mask-cursor__outline--red\" src=\"' +\n    MASK_RED +\n    '\" alt=\"\" width=\"56\" height=\"20\" decoding=\"async\" draggable=\"false\">' +\n    '<img class=\"sk-mask-cursor__mark sk-mask-cursor__mark--red\" src=\"' +\n    MASK_RED +\n    '\" alt=\"\" width=\"48\" height=\"17\" decoding=\"async\" draggable=\"false\">' +\n    '<img class=\"sk-mask-cursor__mark sk-mask-cursor__mark--cream\" src=\"' +\n    MASK_CREAM +\n    '\" alt=\"\" width=\"48\" height=\"17\" decoding=\"async\" draggable=\"false\">';\n  document.body.appendChild(el);\n  document.documentElement.classList.add('sk-mask-cursor-on');\n\n  var x = 0;\n  var y = 0;\n  var tx = 0;\n  var ty = 0;\n  var hovering = false;\n  var pressing = false;\n  var onRed = false;\n  var raf = 0;\n  var sampleRaf = 0;\n\n  var RED_SEL =\n    '.color-scheme-2, .announcement-bar, .header-actions__cta:not(.header-actions__cta--secondary), .menu-drawer__cta:not(.menu-drawer__cta--secondary), .sk-privacy__widget, .pdp-us-sticky-cta__button, .ai-hero-split-button-primary-ai_gen_block0d2bf07, [class*=\"button-primary\"], .button:not(.button-secondary):not(.button--secondary)';\n\n  function isReddish(color) {\n    if (!color || color === 'transparent' || color === 'rgba(0, 0, 0, 0)') return false;\n    var m = color.match(/rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/i);\n    if (!m) return false;\n    var r = +m[1];\n    var g = +m[2];\n    var b = +m[3];\n    var a = 1;\n    var am = color.match(/rgba?\\(\\s*\\d+\\s*,\\s*\\d+\\s*,\\s*\\d+\\s*,\\s*([\\d.]+)/i);\n    if (am) a = parseFloat(am[1]);\n    if (a < 0.35) return false;\n    return r >= 160 && g <= 110 && b <= 110 && r - g >= 50 && r - b >= 50;\n  }\n\n  function surfaceIsRed(node) {\n    var n = node;\n    var depth = 0;\n    while (n && n.nodeType === 1 && depth < 12) {\n      if (n === el) {\n        n = n.parentElement;\n        depth += 1;\n        continue;\n      }\n      if (n.matches && n.matches(RED_SEL)) {\n        if (n.matches('.button-secondary, .button--secondary, [class*=\"secondary\"]')) {\n          /* keep walking \u2014 outline buttons are not solid red fills */\n        } else {\n          return true;\n        }\n      }\n      try {\n        var bg = window.getComputedStyle(n).backgroundColor;\n        if (isReddish(bg)) return true;\n      } catch (err) {\n        /* ignore */\n      }\n      n = n.parentElement;\n      depth += 1;\n    }\n    return false;\n  }\n\n  function sampleSurface() {\n    sampleRaf = 0;\n    var node = document.elementFromPoint(tx, ty);\n    var next = surfaceIsRed(node);\n    if (next !== onRed) {\n      onRed = next;\n      el.classList.toggle('is-on-red', onRed);\n    }\n  }\n\n  function onMove(e) {\n    tx = e.clientX;\n    ty = e.clientY;\n    if (!hovering) {\n      hovering = true;\n      el.classList.add('is-visible');\n    }\n    if (!raf) raf = requestAnimationFrame(tick);\n    if (!sampleRaf) sampleRaf = requestAnimationFrame(sampleSurface);\n  }\n\n  function tick() {\n    raf = 0;\n    x += (tx - x) * 0.35;\n    y += (ty - y) * 0.35;\n    var scale = pressing ? 0.88 : 1;\n    el.style.transform = 'translate3d(' + x + 'px,' + y + 'px,0) scale(' + scale + ')';\n    if (Math.abs(tx - x) > 0.4 || Math.abs(ty - y) > 0.4) {\n      raf = requestAnimationFrame(tick);\n    }\n  }\n\n  function onLeave() {\n    hovering = false;\n    pressing = false;\n    onRed = false;\n    el.classList.remove('is-visible', 'is-press', 'is-interactive', 'is-on-red');\n  }\n\n  function onOver(e) {\n    var t = e.target;\n    if (!(t instanceof Element)) return;\n    var interactive = t.closest(\n      'a, button, [role=\"button\"], [role=\"slider\"], input, textarea, select, summary, label, .button, .btn'\n    );\n    el.classList.toggle('is-interactive', Boolean(interactive));\n  }\n\n  function onDown() {\n    pressing = true;\n    el.classList.add('is-press');\n    if (!raf) raf = requestAnimationFrame(tick);\n  }\n\n  function onUp() {\n    pressing = false;\n    el.classList.remove('is-press');\n    if (!raf) raf = requestAnimationFrame(tick);\n  }\n\n  document.addEventListener('pointermove', onMove, { passive: true });\n  document.addEventListener('pointerover', onOver, { passive: true });\n  document.addEventListener('pointerdown', onDown, { passive: true });\n  document.addEventListener('pointerup', onUp, { passive: true });\n  document.addEventListener('pointerleave', onLeave, { passive: true });\n  window.addEventListener('blur', onLeave);\n})();\n"],
  "mappings": "CAKC,UAAY,CAEX,GADI,OAAO,UAAa,aACpB,CAAC,SAAS,MAAQ,CAAC,SAAS,KAAK,UAAU,SAAS,aAAa,EAAG,OAExE,IAAI,KAAO,OAAO,WAAW,oCAAoC,EAC7D,OAAS,OAAO,WAAW,kCAAkC,EACjE,GAAI,CAAC,KAAK,SAAW,OAAO,QAAS,OAErC,IAAI,SACF,4GACE,WACF,4GAEE,GAAK,SAAS,cAAc,KAAK,EACrC,GAAG,UAAY,iBACf,GAAG,aAAa,cAAe,MAAM,EACrC,GAAG,UACD,sHAEA,WACA,6IAEA,SACA,uIAEA,SACA,yIAEA,WACA,sEACF,SAAS,KAAK,YAAY,EAAE,EAC5B,SAAS,gBAAgB,UAAU,IAAI,mBAAmB,EAE1D,IAAI,EAAI,EACJ,EAAI,EACJ,GAAK,EACL,GAAK,EACL,SAAW,GACX,SAAW,GACX,MAAQ,GACR,IAAM,EACN,UAAY,EAEZ,QACF,4UAEF,SAAS,UAAU,MAAO,CACxB,GAAI,CAAC,OAAS,QAAU,eAAiB,QAAU,mBAAoB,MAAO,GAC9E,IAAI,EAAI,MAAM,MAAM,0CAA0C,EAC9D,GAAI,CAAC,EAAG,MAAO,GACf,IAAI,EAAI,CAAC,EAAE,CAAC,EACR,EAAI,CAAC,EAAE,CAAC,EACR,EAAI,CAAC,EAAE,CAAC,EACR,EAAI,EACJ,GAAK,MAAM,MAAM,mDAAmD,EAExE,OADI,KAAI,EAAI,WAAW,GAAG,CAAC,CAAC,GACxB,EAAI,IAAa,GACd,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,EAAI,GAAK,IAAM,EAAI,GAAK,EACrE,CAEA,SAAS,aAAa,KAAM,CAG1B,QAFI,EAAI,KACJ,MAAQ,EACL,GAAK,EAAE,WAAa,GAAK,MAAQ,IAAI,CAC1C,GAAI,IAAM,GAAI,CACZ,EAAI,EAAE,cACN,OAAS,EACT,QACF,CACA,GAAI,EAAE,SAAW,EAAE,QAAQ,OAAO,GAC5B,GAAE,QAAQ,6DAA6D,EAGzE,MAAO,GAGX,GAAI,CACF,IAAI,GAAK,OAAO,iBAAiB,CAAC,EAAE,gBACpC,GAAI,UAAU,EAAE,EAAG,MAAO,EAC5B,OAAS,IAAK,CAEd,CACA,EAAI,EAAE,cACN,OAAS,CACX,CACA,MAAO,EACT,CAEA,SAAS,eAAgB,CACvB,UAAY,EACZ,IAAI,KAAO,SAAS,iBAAiB,GAAI,EAAE,EACvC,KAAO,aAAa,IAAI,EACxB,OAAS,QACX,MAAQ,KACR,GAAG,UAAU,OAAO,YAAa,KAAK,EAE1C,CAEA,SAAS,OAAO,EAAG,CACjB,GAAK,EAAE,QACP,GAAK,EAAE,QACF,WACH,SAAW,GACX,GAAG,UAAU,IAAI,YAAY,GAE1B,MAAK,IAAM,sBAAsB,IAAI,GACrC,YAAW,UAAY,sBAAsB,aAAa,EACjE,CAEA,SAAS,MAAO,CACd,IAAM,EACN,IAAM,GAAK,GAAK,IAChB,IAAM,GAAK,GAAK,IAChB,IAAI,MAAQ,SAAW,IAAO,EAC9B,GAAG,MAAM,UAAY,eAAiB,EAAI,MAAQ,EAAI,eAAiB,MAAQ,KAC3E,KAAK,IAAI,GAAK,CAAC,EAAI,IAAO,KAAK,IAAI,GAAK,CAAC,EAAI,MAC/C,IAAM,sBAAsB,IAAI,EAEpC,CAEA,SAAS,SAAU,CACjB,SAAW,GACX,SAAW,GACX,MAAQ,GACR,GAAG,UAAU,OAAO,aAAc,WAAY,iBAAkB,WAAW,CAC7E,CAEA,SAAS,OAAO,EAAG,CACjB,IAAI,EAAI,EAAE,OACV,GAAM,aAAa,QACnB,KAAI,YAAc,EAAE,QAClB,qGACF,EACA,GAAG,UAAU,OAAO,iBAAkB,EAAQ,WAAY,EAC5D,CAEA,SAAS,QAAS,CAChB,SAAW,GACX,GAAG,UAAU,IAAI,UAAU,EACtB,MAAK,IAAM,sBAAsB,IAAI,EAC5C,CAEA,SAAS,MAAO,CACd,SAAW,GACX,GAAG,UAAU,OAAO,UAAU,EACzB,MAAK,IAAM,sBAAsB,IAAI,EAC5C,CAEA,SAAS,iBAAiB,cAAe,OAAQ,CAAE,QAAS,EAAK,CAAC,EAClE,SAAS,iBAAiB,cAAe,OAAQ,CAAE,QAAS,EAAK,CAAC,EAClE,SAAS,iBAAiB,cAAe,OAAQ,CAAE,QAAS,EAAK,CAAC,EAClE,SAAS,iBAAiB,YAAa,KAAM,CAAE,QAAS,EAAK,CAAC,EAC9D,SAAS,iBAAiB,eAAgB,QAAS,CAAE,QAAS,EAAK,CAAC,EACpE,OAAO,iBAAiB,OAAQ,OAAO,CACzC,GAAG",
  "names": []
}
