`).replace(b0,"")}function qm(l,t){return t=Rm(t),Rm(l)===t}function fl(l,t,a,e,u,n){switch(a){case"children":typeof e=="string"?t==="body"||t==="textarea"&&e===""||Wa(l,e):(typeof e=="number"||typeof e=="bigint")&&t!=="body"&&Wa(l,""+e);break;case"className":Mu(l,"class",e);break;case"tabIndex":Mu(l,"tabindex",e);break;case"dir":case"role":case"viewBox":case"width":case"height":Mu(l,a,e);break;case"style":Rf(l,e,n);break;case"data":if(t!=="object"){Mu(l,"data",e);break}case"src":case"href":if(e===""&&(t!=="a"||a!=="href")){l.removeAttribute(a);break}if(e==null||typeof e=="function"||typeof e=="symbol"||typeof e=="boolean"){l.removeAttribute(a);break}e=Uu(""+e),l.setAttribute(a,e);break;case"action":case"formAction":if(typeof e=="function"){l.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof n=="function"&&(a==="formAction"?(t!=="input"&&fl(l,t,"name",u.name,u,null),fl(l,t,"formEncType",u.formEncType,u,null),fl(l,t,"formMethod",u.formMethod,u,null),fl(l,t,"formTarget",u.formTarget,u,null)):(fl(l,t,"encType",u.encType,u,null),fl(l,t,"method",u.method,u,null),fl(l,t,"target",u.target,u,null)));if(e==null||typeof e=="symbol"||typeof e=="boolean"){l.removeAttribute(a);break}e=Uu(""+e),l.setAttribute(a,e);break;case"onClick":e!=null&&(l.onclick=jt);break;case"onScroll":e!=null&&J("scroll",l);break;case"onScrollEnd":e!=null&&J("scrollend",l);break;case"dangerouslySetInnerHTML":if(e!=null){if(typeof e!="object"||!("__html"in e))throw Error(r(61));if(a=e.__html,a!=null){if(u.children!=null)throw Error(r(60));l.innerHTML=a}}break;case"multiple":l.multiple=e&&typeof e!="function"&&typeof e!="symbol";break;case"muted":l.muted=e&&typeof e!="function"&&typeof e!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(e==null||typeof e=="function"||typeof e=="boolean"||typeof e=="symbol"){l.removeAttribute("xlink:href");break}a=Uu(""+e),l.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":e!=null&&typeof e!="function"&&typeof e!="symbol"?l.setAttribute(a,""+e):l.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":e&&typeof e!="function"&&typeof e!="symbol"?l.setAttribute(a,""):l.removeAttribute(a);break;case"capture":case"download":e===!0?l.setAttribute(a,""):e!==!1&&e!=null&&typeof e!="function"&&typeof e!="symbol"?l.setAttribute(a,e):l.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":e!=null&&typeof e!="function"&&typeof e!="symbol"&&!isNaN(e)&&1<=e?l.setAttribute(a,e):l.removeAttribute(a);break;case"rowSpan":case"start":e==null||typeof e=="function"||typeof e=="symbol"||isNaN(e)?l.removeAttribute(a):l.setAttribute(a,e);break;case"popover":J("beforetoggle",l),J("toggle",l),Nu(l,"popover",e);break;case"xlinkActuate":xt(l,"http://www.w3.org/1999/xlink","xlink:actuate",e);break;case"xlinkArcrole":xt(l,"http://www.w3.org/1999/xlink","xlink:arcrole",e);break;case"xlinkRole":xt(l,"http://www.w3.org/1999/xlink","xlink:role",e);break;case"xlinkShow":xt(l,"http://www.w3.org/1999/xlink","xlink:show",e);break;case"xlinkTitle":xt(l,"http://www.w3.org/1999/xlink","xlink:title",e);break;case"xlinkType":xt(l,"http://www.w3.org/1999/xlink","xlink:type",e);break;case"xmlBase":xt(l,"http://www.w3.org/XML/1998/namespace","xml:base",e);break;case"xmlLang":xt(l,"http://www.w3.org/XML/1998/namespace","xml:lang",e);break;case"xmlSpace":xt(l,"http://www.w3.org/XML/1998/namespace","xml:space",e);break;case"is":Nu(l,"is",e);break;case"innerText":case"textContent":break;default:(!(2c)break;var g=f.transferSize,T=f.initiatorType;g&&Ym(T)&&(f=f.responseEnd,i+=g*(f"u"?null:document;function km(l,t,a){var e=Te;if(e&&typeof t=="string"&&t){var u=ot(t);u='link[rel="'+l+'"][href="'+u+'"]',typeof a=="string"&&(u+='[crossorigin="'+a+'"]'),Wm.has(u)||(Wm.add(u),l={rel:l,crossOrigin:a,href:t},e.querySelector(u)===null&&(t=e.createElement("link"),Rl(t,"link",l),Dl(t),e.head.appendChild(t)))}}function U0(l){Wt.D(l),km("dns-prefetch",l,null)}function x0(l,t){Wt.C(l,t),km("preconnect",l,t)}function j0(l,t,a){Wt.L(l,t,a);var e=Te;if(e&&l&&t){var u='link[rel="preload"][as="'+ot(t)+'"]';t==="image"&&a&&a.imageSrcSet?(u+='[imagesrcset="'+ot(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(u+='[imagesizes="'+ot(a.imageSizes)+'"]')):u+='[href="'+ot(l)+'"]';var n=u;switch(t){case"style":n=Ee(l);break;case"script":n=Ae(l)}bt.has(n)||(l=H({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:l,as:t},a),bt.set(n,l),e.querySelector(u)!==null||t==="style"&&e.querySelector(du(n))||t==="script"&&e.querySelector(yu(n))||(t=e.createElement("link"),Rl(t,"link",l),Dl(t),e.head.appendChild(t)))}}function C0(l,t){Wt.m(l,t);var a=Te;if(a&&l){var e=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+ot(e)+'"][href="'+ot(l)+'"]',n=u;switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Ae(l)}if(!bt.has(n)&&(l=H({rel:"modulepreload",href:l},t),bt.set(n,l),a.querySelector(u)===null)){switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(yu(n)))return}e=a.createElement("link"),Rl(e,"link",l),Dl(e),a.head.appendChild(e)}}}function H0(l,t,a){Wt.S(l,t,a);var e=Te;if(e&&l){var u=Ka(e).hoistableStyles,n=Ee(l);t=t||"default";var i=u.get(n);if(!i){var c={loading:0,preload:null};if(i=e.querySelector(du(n)))c.loading=5;else{l=H({rel:"stylesheet",href:l,"data-precedence":t},a),(a=bt.get(n))&&$c(l,a);var f=i=e.createElement("link");Dl(f),Rl(f,"link",l),f._p=new Promise(function(y,g){f.onload=y,f.onerror=g}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Mn(i,t,e)}i={type:"stylesheet",instance:i,count:1,state:c},u.set(n,i)}}}function R0(l,t){Wt.X(l,t);var a=Te;if(a&&l){var e=Ka(a).hoistableScripts,u=Ae(l),n=e.get(u);n||(n=a.querySelector(yu(u)),n||(l=H({src:l,async:!0},t),(t=bt.get(u))&&Fc(l,t),n=a.createElement("script"),Dl(n),Rl(n,"link",l),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},e.set(u,n))}}function q0(l,t){Wt.M(l,t);var a=Te;if(a&&l){var e=Ka(a).hoistableScripts,u=Ae(l),n=e.get(u);n||(n=a.querySelector(yu(u)),n||(l=H({src:l,async:!0,type:"module"},t),(t=bt.get(u))&&Fc(l,t),n=a.createElement("script"),Dl(n),Rl(n,"link",l),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},e.set(u,n))}}function $m(l,t,a,e){var u=(u=V.current)?Nn(u):null;if(!u)throw Error(r(446));switch(l){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Ee(a.href),a=Ka(u).hoistableStyles,e=a.get(t),e||(e={type:"style",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){l=Ee(a.href);var n=Ka(u).hoistableStyles,i=n.get(l);if(i||(u=u.ownerDocument||u,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,i),(n=u.querySelector(du(l)))&&!n._p&&(i.instance=n,i.state.loading=5),bt.has(l)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},bt.set(l,a),n||Y0(u,l,a,i.state))),t&&e===null)throw Error(r(528,""));return i}if(t&&e!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ae(a),a=Ka(u).hoistableScripts,e=a.get(t),e||(e={type:"script",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,l))}}function Ee(l){return'href="'+ot(l)+'"'}function du(l){return'link[rel="stylesheet"]['+l+"]"}function Fm(l){return H({},l,{"data-precedence":l.precedence,precedence:null})}function Y0(l,t,a,e){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?e.loading=1:(t=l.createElement("link"),e.preload=t,t.addEventListener("load",function(){return e.loading|=1}),t.addEventListener("error",function(){return e.loading|=2}),Rl(t,"link",a),Dl(t),l.head.appendChild(t))}function Ae(l){return'[src="'+ot(l)+'"]'}function yu(l){return"script[async]"+l}function Im(l,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var e=l.querySelector('style[data-href~="'+ot(a.href)+'"]');if(e)return t.instance=e,Dl(e),e;var u=H({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return e=(l.ownerDocument||l).createElement("style"),Dl(e),Rl(e,"style",u),Mn(e,a.precedence,l),t.instance=e;case"stylesheet":u=Ee(a.href);var n=l.querySelector(du(u));if(n)return t.state.loading|=4,t.instance=n,Dl(n),n;e=Fm(a),(u=bt.get(u))&&$c(e,u),n=(l.ownerDocument||l).createElement("link"),Dl(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Rl(n,"link",e),t.state.loading|=4,Mn(n,a.precedence,l),t.instance=n;case"script":return n=Ae(a.src),(u=l.querySelector(yu(n)))?(t.instance=u,Dl(u),u):(e=a,(u=bt.get(n))&&(e=H({},a),Fc(e,u)),l=l.ownerDocument||l,u=l.createElement("script"),Dl(u),Rl(u,"link",e),l.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(e=t.instance,t.state.loading|=4,Mn(e,a.precedence,l));return t.instance}function Mn(l,t,a){for(var e=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=e.length?e[e.length-1]:null,n=u,i=0;i title"):null)}function B0(l,t,a){if(a===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(l=t.disabled,typeof t.precedence=="string"&&l==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function tr(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function G0(l,t,a,e){if(a.type==="stylesheet"&&(typeof e.media!="string"||matchMedia(e.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var u=Ee(e.href),n=t.querySelector(du(u));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Un.bind(l),t.then(l,l)),a.state.loading|=4,a.instance=n,Dl(n);return}n=t.ownerDocument||t,e=Fm(e),(u=bt.get(u))&&$c(e,u),n=n.createElement("link"),Dl(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Rl(n,"link",e),a.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(l.count++,a=Un.bind(l),t.addEventListener("load",a),t.addEventListener("error",a))}}var Ic=0;function X0(l,t){return l.stylesheets&&l.count===0&&jn(l,l.stylesheets),0Ic?50:800)+t);return l.unsuspend=a,function(){l.unsuspend=null,clearTimeout(e),clearTimeout(u)}}:null}function Un(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jn(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var xn=null;function jn(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,xn=new Map,t.forEach(Q0,l),xn=null,Un.call(l))}function Q0(l,t){if(!(t.state.loading&4)){var a=xn.get(l);if(a)var e=a.get(null);else{a=new Map,xn.set(l,a);for(var u=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_)}catch(B){console.error(B)}}return _(),ff.exports=ey(),ff.exports}var ny=uy();const iy=[{label:"Common",color:"#888888",page:"rarity-common"},{label:"Uncommon",color:"#2e9c4b",page:"rarity-uncommon"},{label:"Rare",color:"#2563eb",page:"rarity-rare"},{label:"Unique",color:"#7c3aed",page:"rarity-unique"},{label:"Endangered",color:"#ea6c0a",page:"rarity-endangered"},{label:"Extinct",color:"#dc2626",page:"rarity-extinct"}],cy=[{label:"Insects",page:"collection-insects"},{label:"Mammals",page:"collection-mammals"},{label:"Birds",page:"collection-birds"},{label:"Aquatic",page:"collection-aquatic"},{label:"Reptiles",page:"collection-reptiles"}];const __isTouch=typeof window<"u"&&window.matchMedia("(hover: none) and (pointer: coarse)").matches;function Xn({navigate:_,className:B="",style:C,current:cP="",onOriginals:oO}){const nr=Ml.useRef(null);const[mo,sMo]=Ml.useState(!1);Ml.useLayoutEffect(()=>{const el=nr.current,pv=window.__navRect;if(!el||!pv)return;window.__navRect=null;const cu=el.getBoundingClientRect(),dx=pv.left-cu.left,dY=pv.top-cu.top,sx=cu.width?pv.width/cu.width:1,sY=cu.height?pv.height/cu.height:1;if(Math.abs(dx)<1&&Math.abs(dY)<1&&Math.abs(sx-1)<.01&&Math.abs(sY-1)<.01)return;el.style.transition="none";el.style.transformOrigin="top left";el.style.transform=`translate(${dx}px,${dY}px) scale(${sx},${sY})`;requestAnimationFrame(()=>{requestAnimationFrame(()=>{el.style.transition="transform .55s cubic-bezier(0.45,0,0.25,1)";el.style.transform="none"})});const cl=()=>{el.style.transition="";el.removeEventListener("transitionend",cl)};el.addEventListener("transitionend",cl)},[]);const _iA=k=>cP===k?" active":"";const _go=k=>{sMo(!1);_(k)};return b.jsxs("nav",{ref:nr,className:B,style:{display:"flex",width:"100%",alignItems:"center",justifyContent:"space-between",...C},children:[b.jsx("button",{className:"nd nav-link black"+_iA("home"),style:{flex:1,textAlign:"center",background:"none",border:"none"},onClick:()=>_("home"),children:"HOME"}),b.jsx("button",{className:"nd nav-link black"+_iA("about"),style:{flex:1,textAlign:"center",background:"none",border:"none"},onClick:()=>_("about"),children:"ABOUT"}),b.jsx("button",{className:"nd nav-link gold"+_iA("custom"),style:{flex:1,textAlign:"center",background:"none",border:"none"},onClick:()=>_("custom"),children:"CUSTOM"}),b.jsx("button",{className:"nd nav-link gold"+_iA("collections"),style:{flex:1,textAlign:"center",background:"none",border:"none"},onClick:()=>_("collection-insects"),children:"COLLECTIONS"}),b.jsx("button",{className:"nd nav-link black"+_iA("process"),style:{flex:1,textAlign:"center",background:"none",border:"none"},onClick:()=>_("process"),children:"PROCESS"}),b.jsx("button",{className:"nd nav-link black"+_iA("rarities"),style:{flex:1,textAlign:"center",background:"none",border:"none"},onClick:()=>_("rarity-common"),children:"RARITIES"}),b.jsx("span",{className:"nav-current-label","data-testid":"nav-current-label",children:{home:"HOME",about:"ABOUT",custom:"CUSTOM",collections:"COLLECTIONS",process:"PROCESS",rarities:"RARITIES",originals:"ORIGINALS"}[cP]||""}),b.jsxs("div",{className:"nav-mobile-right",children:[oO?b.jsx("button",{className:"nav-originals-mobile","data-testid":"nav-originals-mobile",onClick:oO,children:"ORIGINALS"}):null,b.jsxs("button",{className:"nav-mobile-toggle"+(mo?" open":""),"data-testid":"nav-mobile-toggle","aria-label":"Menu",onClick:()=>sMo(!mo),children:[b.jsx("span",{}),b.jsx("span",{}),b.jsx("span",{})]})]}),b.jsxs("div",{className:"nav-mobile-drawer"+(mo?" open":""),"data-testid":"nav-mobile-drawer",onClick:()=>sMo(!1),children:[b.jsx("button",{className:"nav-mobile-link"+_iA("home"),"data-testid":"nav-mobile-link-home",onClick:()=>_go("home"),children:"HOME"}),b.jsx("button",{className:"nav-mobile-link"+_iA("about"),"data-testid":"nav-mobile-link-about",onClick:()=>_go("about"),children:"ABOUT"}),b.jsx("button",{className:"nav-mobile-link"+_iA("custom"),"data-testid":"nav-mobile-link-custom",onClick:()=>_go("custom"),children:"CUSTOM"}),b.jsx("button",{className:"nav-mobile-link"+_iA("collections"),"data-testid":"nav-mobile-link-collections",onClick:()=>_go("collection-insects"),children:"COLLECTIONS"}),b.jsx("button",{className:"nav-mobile-link"+_iA("process"),"data-testid":"nav-mobile-link-process",onClick:()=>_go("process"),children:"PROCESS"}),b.jsx("button",{className:"nav-mobile-link"+_iA("rarities"),"data-testid":"nav-mobile-link-rarities",onClick:()=>_go("rarity-common"),children:"RARITIES"})]})]})}function _r({navigate:_,dogScrolled:B,setDogScrolled:C}){const[r,A]=Ml.useState(!1),[q,w]=Ml.useState(!1),[W,D]=Ml.useState(!1),z=Ml.useRef(!1),Z=Ml.useRef(null);Ml.useEffect(()=>{const bl=hl=>{hl.preventDefault(),!z.current&&(!B&&hl.deltaY>10?(z.current=!0,C(!0),setTimeout(()=>{z.current=!1},1400)):B&&hl.deltaY<-10&&(z.current=!0,C(!1),setTimeout(()=>{z.current=!1},1400)))};return window.addEventListener("wheel",bl,{passive:!1}),()=>window.removeEventListener("wheel",bl)},[B,C]),Ml.useEffect(()=>{const bl=Sl=>{Z.current=Sl.touches[0].clientY},hl=Sl=>{if(Z.current===null)return;const ct=Z.current-Sl.changedTouches[0].clientY;Z.current=null,!z.current&&(!B&&ct>30?(z.current=!0,C(!0),setTimeout(()=>{z.current=!1},1400)):B&&ct<-30&&(z.current=!0,C(!1),setTimeout(()=>{z.current=!1},1400)))};return window.addEventListener("touchstart",bl,{passive:!0}),window.addEventListener("touchend",hl,{passive:!0}),()=>{window.removeEventListener("touchstart",bl),window.removeEventListener("touchend",hl)}},[B,C]),Ml.useEffect(()=>{if(B){const bl=setTimeout(()=>A(!0),200),hl=setTimeout(()=>w(!0),400),Sl=setTimeout(()=>D(!0),600);return()=>{clearTimeout(bl),clearTimeout(hl),clearTimeout(Sl)}}else{A(!1),w(!1),D(!1)}},[B]);const H={position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",height:"90%",width:"85%",maxWidth:"100%",objectFit:"contain",transition:"left 1.5s cubic-bezier(0.45,0,0.25,1), transform 1.5s cubic-bezier(0.45,0,0.25,1), height 1.5s cubic-bezier(0.45,0,0.25,1), width 1.5s cubic-bezier(0.45,0,0.25,1)"},al={position:"absolute",left:"0",top:"50%",transform:"translateY(-50%)",height:"92%",width:"42%",objectFit:"contain",transition:"left 1.5s cubic-bezier(0.45,0,0.25,1), transform 1.5s cubic-bezier(0.45,0,0.25,1), height 1.5s cubic-bezier(0.45,0,0.25,1), width 1.5s cubic-bezier(0.45,0,0.25,1)"};return b.jsxs("div",{className:"home-container",children:[b.jsxs("header",{className:"home-header",children:[b.jsxs("h1",{className:"home-title",style:{display:"flex",alignItems:"center",gap:"0.4em",justifyContent:"center"},children:[b.jsx("img",{src:"/images/inkompanion-icon.svg",alt:"",draggable:!1,style:{height:"0.6em",width:"auto",flexShrink:0,display:"block"}}),b.jsx("img",{src:"/images/inkompanion-logo.png",alt:"InKompanion",draggable:!1,style:{height:"1em",width:"auto",display:"block",objectFit:"contain"}})]}),b.jsx("p",{className:"home-subtitle",children:"by Jasper Deakin, personal pet portraits and curated animal art collections."}),b.jsxs("div",{className:"home-socials",children:[b.jsx("a",{href:"https://www.instagram.com/inkompanion",target:"_blank",rel:"noopener noreferrer","aria-label":"Instagram","data-testid":"instagram-link",children:b.jsx("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"currentColor",children:b.jsx("path",{d:"M7 2C4.24 2 2 4.24 2 7v10c0 2.76 2.24 5 5 5h10c2.76 0 5-2.24 5-5V7c0-2.76-2.24-5-5-5H7zm0 2h10c1.65 0 3 1.35 3 3v10c0 1.65-1.35 3-3 3H7c-1.65 0-3-1.35-3-3V7c0-1.65 1.35-3 3-3zm11.5 1a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5zM12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6z"})})}),b.jsx("a",{href:"https://www.tiktok.com/@inkompanion",target:"_blank",rel:"noopener noreferrer","aria-label":"TikTok","data-testid":"tiktok-link",children:b.jsx("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"currentColor",children:b.jsx("path",{d:"M12.53.02C13.84 0 15.14.01 16.44 0c.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"})})})]})]}),b.jsx(Xn,{navigate:_,current:"home",style:{padding:"1rem 3rem",borderTop:"1px solid #e0d5c0",borderBottom:"1px solid #e0d5c0",marginTop:"0.8rem",flexShrink:0}}),b.jsxs("div",{className:"dog-scene",children:[b.jsx("img",{src:"/images/irish-terrier.png?v=3",alt:"Irish Terrier — InKompanion mascot",className:"dog-img",draggable:!1,style:B?al:H}),b.jsx("div",{className:"dog-glint",style:B?al:H}),b.jsxs("div",{style:{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",width:"50%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"0 5vw 0 2vw",gap:"0.4rem",pointerEvents:"none"},children:[b.jsx("div",{className:"reveal-line",style:{opacity:r?1:0,transform:r?"translateY(0)":"translateY(22px)",transition:"opacity 2.6s cubic-bezier(0.25,0.46,0.45,0.94), transform 2.6s cubic-bezier(0.25,0.46,0.45,0.94)"},children:"Every being"}),b.jsx("div",{className:"reveal-line",style:{opacity:q?1:0,transform:q?"translateY(0)":"translateY(22px)",transition:"opacity 2.6s cubic-bezier(0.25,0.46,0.45,0.94), transform 2.6s cubic-bezier(0.25,0.46,0.45,0.94)"},children:"has a soul worth capturing"}),b.jsxs("div",{className:"reveal-line",style:{opacity:W?1:0,transform:W?"translateY(0)":"translateY(22px)",transition:"opacity 2.6s cubic-bezier(0.25,0.46,0.45,0.94), transform 2.6s cubic-bezier(0.25,0.46,0.45,0.94)"},children:["in ",b.jsx("span",{className:"ink-gold",children:"ink."})]})]}),!B&&b.jsxs("div",{className:"scroll-hint",children:[b.jsx("span",{className:"scroll-hint-text",children:__isTouch?"swipe":"scroll"}),b.jsx("div",{className:__isTouch?"scroll-arrow scroll-arrow-up":"scroll-arrow"})]})]})]})}function fy({navigate:_}){const[ph,sPh]=Ml.useState(0),[mP,sMP]=Ml.useState(typeof window<"u"&&window.matchMedia("(max-width:700px), (orientation:portrait)").matches);Ml.useEffect(()=>{const u=()=>sMP(window.matchMedia("(max-width:700px), (orientation:portrait)").matches);window.addEventListener("resize",u);return()=>window.removeEventListener("resize",u)},[]);Ml.useEffect(()=>{const raf=requestAnimationFrame(()=>requestAnimationFrame(()=>sPh(1)));const T=[setTimeout(()=>sPh(2),700),setTimeout(()=>sPh(3),1800),setTimeout(()=>sPh(4),3050),setTimeout(()=>sPh(5),4300),setTimeout(()=>sPh(6),5700)];return()=>{cancelAnimationFrame(raf);T.forEach(clearTimeout)}},[]);const vis=ph>=1?1:0,framed=ph>=2,shrunk=ph>=3,slid=ph>=4,joined=ph>=5,showScroll=ph>=6,scale=shrunk?.55:1,slideOff=slid?(mP?"translate(90vw,0)":"translate(0,90vh)"):"translate(0,0)",drawStyle={position:"absolute",top:"50%",left:"50%",transform:`translate(-50%,-50%) ${slideOff} scale(${scale})`,opacity:vis,transition:"transform 1.1s cubic-bezier(0.45,0,0.25,1), opacity .45s ease-out"},frameStyle={position:"absolute",inset:"-9px",border:"7px solid #141414",boxShadow:"0 0 0 4px #fff inset,0 16px 36px rgba(0,0,0,.32)",pointerEvents:"none",opacity:framed?1:0,transform:framed?"scale(1)":"scale(.9)",transition:"opacity .9s ease-out, transform .9s ease-out"},txtBase={position:"absolute",opacity:vis,transition:"left 1.3s cubic-bezier(0.45,0,0.25,1), top 1.3s cubic-bezier(0.45,0,0.25,1), transform 1.3s cubic-bezier(0.45,0,0.25,1), opacity .45s ease-out"},aStyle=mP?{...txtBase,left:"50%",top:joined?"50%":"15%",transform:joined?"translate(-50%, calc(-100% - 0.15em))":"translate(-50%,-50%)"}:{...txtBase,left:joined?"50%":"33%",top:"50%",transform:joined?"translate(calc(-100% - 0.3em), -50%)":"translate(-50%,-50%)"},bStyle=mP?{...txtBase,left:"50%",top:joined?"50%":"85%",transform:joined?"translate(-50%, 0.15em)":"translate(-50%,-50%)"}:{...txtBase,left:joined?"50%":"67%",top:"50%",transform:joined?"translate(0.3em, -50%)":"translate(-50%,-50%)"};return b.jsxs("div",{className:"custom-page",children:[b.jsxs("div",{className:"email-bar",children:["Commission enquiries: ",b.jsx("a",{href:"mailto:inkompanion@gmail.com",children:"inkompanion@gmail.com"})]}),b.jsx("div",{className:"custom-nav",children:b.jsx(Xn,{navigate:_,current:"custom"})}),b.jsxs("div",{className:"custom-content",children:[b.jsx("span",{className:"hero-text","data-testid":"custom-hero-text-a",style:aStyle,children:"Immortalise"}),b.jsx("div",{className:"hero-drawing-box","data-testid":"custom-hero-drawing",style:drawStyle,children:b.jsxs("div",{className:"hero-drawing-inner",children:[b.jsx("img",{src:"/images/irish-terrier.png?v=3",alt:"Irish Terrier portrait",className:"hero-drawing-img",draggable:!1}),b.jsx("div",{className:"hero-frame-deco",style:frameStyle})]})}),b.jsx("span",{className:"hero-text gold","data-testid":"custom-hero-text-b",style:bStyle,children:"Your Pet"}),b.jsxs("div",{className:"scroll-hint","data-testid":"custom-scroll-hint",style:{opacity:showScroll?1:0,transition:"opacity .6s ease-out"},children:[b.jsx("span",{className:"scroll-hint-text",children:__isTouch?"swipe":"scroll"}),b.jsx("div",{className:__isTouch?"scroll-arrow scroll-arrow-up":"scroll-arrow"})]})]})]})}function Or({item:_,onClose:B}){const[C,r]=Ml.useState(!0),Y=_.rarity==="common",J=_.isOriginal&&_.soldOut;return b.jsx("div",{className:"popup-overlay",onClick:A=>{A.target===A.currentTarget&&B()},children:b.jsxs("div",{className:"popup-inner",children:[b.jsx("button",{className:"popup-close","data-testid":"popup-close",onClick:B,children:"✕"}),_.image?b.jsx("img",{src:_.image,alt:_.species,className:`popup-img ${!Y&&!_.isOriginal&&!C?"bw":""}`,"data-testid":"popup-image",draggable:!1,style:{aspectRatio:_.imageAspect||"4/3"}}):b.jsx("div",{className:"popup-img",style:{background:_.isOriginal?"var(--gold)":`${_.rarityColor||"#ccc"}22`,aspectRatio:"4/3",display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx("span",{className:"coming-soon",children:"Coming Soon"})}),!Y&&!_.isOriginal&&b.jsxs("div",{className:"toggle-row",children:[b.jsx("span",{className:"toggle-label",children:"Show rarity colour"}),b.jsxs("label",{className:"toggle-switch",children:[b.jsx("input",{type:"checkbox",checked:C,onChange:A=>r(A.target.checked)}),b.jsx("span",{className:"toggle-slider"})]}),b.jsx("span",{className:"toggle-label",children:C?"Shown":"Hidden"})]}),b.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"0.4rem"},children:[b.jsxs("div",{children:[b.jsxs("div",{className:"popup-title",style:{color:_.isOriginal?"var(--gold)":"var(--black)"},children:[_.species,_.isOriginal&&b.jsx("span",{style:{marginLeft:"0.8rem",fontSize:"0.6rem",fontFamily:"'Playfair Display', serif",fontWeight:700,letterSpacing:"0.15em",color:J?"#dc2626":"var(--gold)",border:`1px solid ${J?"#dc2626":"var(--gold)"}`,padding:"0.1rem 0.5rem",verticalAlign:"middle"},children:J?"SOLD OUT":"ORIGINAL"})]}),b.jsx("div",{className:"popup-latin",children:_.latin})]}),b.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"0.3rem"},children:[b.jsx("div",{className:"popup-price",children:_.price}),!_.isOriginal&&_.edition&&b.jsxs("div",{className:"popup-edition",children:["1 of ",_.edition]}),!_.isOriginal&&!Y&&!C&&b.jsx("div",{className:"popup-edition",children:"Monochrome print"})]})]}),b.jsx("div",{className:"popup-desc",children:_.description}),b.jsx("button",{className:J?"order-btn sold-out":"order-btn",disabled:J,onClick:()=>{if(J)return;const U=_.isOriginal?_.link:(Y||C?_.link:_.monoLink||_.link);U&&window.open(U,"_blank")},children:J?"Sold Out":"Place Order"})]})})}const dz={common:{print:16,original:50,edition:128},uncommon:{print:32,original:75,edition:64},rare:{print:48,original:100,edition:48},unique:{print:64,original:150,edition:32},endangered:{print:80,original:200,edition:16},extinct:{print:96,original:250,edition:8}};const lz={"7-Spot Ladybird":{print:"https://buy.stripe.com/9B63cwdXVcdFegWfN76Ri01",original:"https://buy.stripe.com/dRm3cw1b9gtV7SyfN76Ri00",soldOut:!1},"Stag Beetle":{print:"https://buy.stripe.com/28EbJ23jh1z1fl0eJ36Ri02",printMono:"https://buy.stripe.com/dRmaEY6vt6Tl8WC9oJ6Ri03",original:"https://buy.stripe.com/aFa14of1Za5xb4KfN76Ri04",soldOut:!1},"Chameleon Grasshopper":{print:"https://buy.stripe.com/dRmeVeg630uX4GmcAV6Ri05",printMono:"https://buy.stripe.com/9B600k2fd5Phb4KasN6Ri06",original:"https://buy.stripe.com/5kQ6oI5rp1z1a0G7gB6Ri07",soldOut:!1},"Hine's Emerald Dragonfly":{print:"https://buy.stripe.com/dRmcN62fd5Ph7SycAV6Ri08",printMono:"https://buy.stripe.com/fZu5kE8DB3H9fl044p6Ri09",original:"https://buy.stripe.com/3cI6oI2fd7Xp1ua58t6Ri0a",soldOut:!1},"Brown-banded Carder Bee":{print:"https://buy.stripe.com/eVqeVecTR0uX8WC1Wh6Ri0b",printMono:"https://buy.stripe.com/9B6fZicTRgtVdcS30l6Ri0c",original:"https://buy.stripe.com/9B6fZi5rp5Phc8OfN76Ri0d",soldOut:!1},"Madeiran Large White":{print:"https://buy.stripe.com/4gM3cwdXVb9B3Ci58t6Ri0e",printMono:"https://buy.stripe.com/5kQfZicTRcdF5KqdEZ6Ri0f",original:"https://buy.stripe.com/6oUcN6bPN1z13Ci6cx6Ri0g",soldOut:!1}};const sy={common:{label:"Common",color:"#888888",bgColor:"#f5f5f5",caption:"Species abundant across their range — familiar faces in the natural world, yet no less worthy of being immortalised in ink.",animals:[{category:"Insects",species:"7-Spot Ladybird",image:"/images/7-spot-ladybird.png",imageAspect:"2000/1414",latin:"Coccinella septempunctata",description:"One of Britain's best-loved beetles, the 7-Spot Ladybird brings its scarlet, spotted armour to gardens and hedgerows across the land. Small in stature but rich in detail, it rewards the patient eye of the biro artist."},{category:"Mammals",species:"Red Fox",latin:"Vulpes vulpes",description:"The Red Fox is a master of adaptation, equally at home in dense woodland, open moorland, and the edges of urban sprawl. Cunning, elegant, and fiercely independent, the fox has long captured the human imagination as a symbol of wit and wildness."},{category:"Aquatic",species:"Clownfish",latin:"Amphiprion ocellaris",description:"Made famous by its vivid orange-and-white banding, the Clownfish lives in a remarkable partnership with sea anemones on tropical reefs. A familiar face to many, yet endlessly charming to draw."},{category:"Birds",species:"Rock Pigeon",latin:"Columba livia",description:"Familiar on every city street, the Rock Pigeon is often overlooked despite its iridescent neck feathers and quiet intelligence. A true survivor, equally at home on cliff ledges and cathedral rooftops."},{category:"Reptiles",species:"Gecko",latin:"Hemidactylus frenatus",description:"With toe pads capable of gripping smooth glass and ceiling plaster alike, geckos are among the most familiar reptiles found in homes and gardens across warmer climates. Their quiet chirps and darting movements make them endlessly watchable."}]},uncommon:{label:"Uncommon",color:"#2e9c4b",bgColor:"#f0fdf4",caption:"Less frequently encountered in the wild, these subjects carry an air of quiet rarity — a fleeting presence that rewards the patient observer.",animals:[{category:"Insects",species:"Stag Beetle",image:"/images/stag-beetle.png",imageAspect:"1414/2000",latin:"Lucanus cervus",description:"Britain's largest beetle, the Stag Beetle carries antler-like mandibles that make it one of nature's most striking miniature warriors. Increasingly scarce in the wild, its armoured form is a study in natural engineering."},{category:"Mammals",species:"European Badger",latin:"Meles meles",description:"A creature of dusk and woodland edge, the European Badger moves through the British countryside with quiet purpose. Its black-and-white mask is one of nature's most recognisable disguises, worn by an animal rarely seen."},{category:"Aquatic",species:"Spiny Seahorse",latin:"Hippocampus histrix",description:"Cloaked in delicate spines and moving with unhurried grace, the Spiny Seahorse drifts through seagrass meadows and coral reefs. Its curled tail and equine profile make it one of the ocean's most singular silhouettes."},{category:"Birds",species:"Eurasian Hoopoe",latin:"Upupa epops",description:"Instantly recognisable by its crown of feathers and striking black-and-white wings, the Eurasian Hoopoe is a scarce but unmistakable visitor to open woodland and orchard. Its rolling call is as distinctive as its plumage."},{category:"Reptiles",species:"Panther Chameleon",latin:"Furcifer pardalis",description:"Native to the forests of Madagascar, the Panther Chameleon can shift through a kaleidoscope of colour depending on mood, temperature, and territory. Few reptiles offer such a vivid canvas for detailed illustration."}]},rare:{label:"Rare",color:"#2563eb",bgColor:"#eff6ff",caption:"Seldom seen and sparsely distributed — these creatures inhabit the margins of the known world, carrying a profound and fragile beauty.",animals:[{category:"Insects",species:"Chameleon Grasshopper",image:"/images/chameleon-grasshopper.png",imageAspect:"2000/1414",latin:"Kosciuscola tristis",description:"Named for its remarkable ability to shift colour with temperature, the Chameleon Grasshopper is a curiosity of the alpine grasslands. Its transformation from black to vivid blue makes it a rare and fascinating subject."},{category:"Mammals",species:"White-lipped Deer",latin:"Przewalskium albirostris",description:"Found only on the high Tibetan plateau, the White-lipped Deer is one of the rarest deer species on Earth, adapted to thin air and bitter cold. Its pale muzzle and stately antlers make it a striking subject for portraiture."},{category:"Aquatic",species:"Coelacanth",latin:"Latimeria chalumnae",description:"Once believed extinct for 65 million years until a living specimen was caught in 1938, the Coelacanth is often called a 'living fossil'. Its lobed fins hint at the ancient lineage from which land vertebrates first emerged."},{category:"Birds",species:"Resplendent Quetzal",latin:"Pharomachrus mocinno",description:"Revered by the ancient Maya and Aztec, the Resplendent Quetzal trails iridescent emerald tail feathers through the cloud forests of Central America. Few birds combine such colour with such mythic stature."},{category:"Reptiles",species:"Philippine Crocodile",latin:"Crocodylus mindorensis",description:"Among the most critically threatened crocodiles on Earth, the Philippine Crocodile survives in only a handful of freshwater habitats across the archipelago. Its broad snout and golden-brown hide mark it as a true rarity."}]},unique:{label:"Unique",color:"#7c3aed",bgColor:"#f5f3ff",caption:"Extraordinary individuals — genetic anomalies or singular specimens that exist as true one-of-a-kind expressions of nature's infinite variety.",animals:[{category:"Insects",species:"Hine's Emerald Dragonfly",image:"/images/hines-emerald-dragonfly.png",imageAspect:"2000/1414",latin:"Somatochlora hineana",description:"With eyes like polished emerald and wings of glass, Hine's Emerald Dragonfly is among the rarest dragonflies on Earth, confined to a handful of fen and marsh habitats. Its iridescent body is a singular study in colour and form."},{category:"Mammals",species:"Saola",latin:"Pseudoryx nghetinhensis",description:"Discovered only in 1992, the Saola is so elusive it is known as the 'Asian Unicorn'. With its long, parallel horns and shy nature, few Western scientists have ever seen one alive."},{category:"Aquatic",species:"Nautilus",latin:"Nautilus pompilius",description:"Its chambered shell coils in a perfect logarithmic spiral, a design unchanged for hundreds of millions of years. The Nautilus drifts through deep Pacific waters much as its ancestors did long before the dinosaurs."},{category:"Birds",species:"Shoebill",latin:"Balaeniceps rex",description:"Standing motionless for hours before striking with its enormous clog-shaped bill, the Shoebill is one of Africa's strangest and most prehistoric-looking birds. Its stare alone has made it something of an internet legend."},{category:"Reptiles",species:"Tuatara",latin:"Sphenodon punctatus",description:"Neither lizard nor mammal, the Tuatara is the last surviving member of an order that predates the dinosaurs by tens of millions of years. Found only in New Zealand, it is often called a living fossil in its own right."}]},endangered:{label:"Endangered",color:"#ea6c0a",bgColor:"#fff7ed",caption:"Species on the brink — each portrait is a testament to the urgent beauty of creatures whose futures hang in the balance.",animals:[{category:"Insects",species:"Brown-banded Carder Bee",image:"/images/brown-banded-carder-bee.png",imageAspect:"2000/1414",latin:"Bombus humilis",description:"Once common across the British countryside, the Brown-banded Carder Bee has retreated to a scatter of coastal and grassland strongholds. Its soft, ginger-banded fur marks it as one of our most threatened bumblebees."},{category:"Mammals",species:"Amur Leopard",latin:"Panthera pardus orientalis",description:"With fewer than 100 individuals remaining in the wild, the Amur Leopard is the rarest big cat on earth. Native to the Russian Far East, it roams a winter landscape of birch and oak, its rosette-patterned coat a work of natural artistry under constant threat of extinction."},{category:"Aquatic",species:"Banggai Cardinalfish",latin:"Pterapogon kauderni",description:"Confined to a tiny pocket of Indonesian reef, the Banggai Cardinalfish is prized for its striking stripes and flowing fins. Overcollection for the aquarium trade has left this beautiful species increasingly rare in the wild."},{category:"Birds",species:"Kakapo",latin:"Strigops habroptilus",description:"The world's only flightless, nocturnal parrot, the Kakapo survives on a handful of predator-free New Zealand islands. Fewer than 250 individuals remain, each one known to conservationists by name."},{category:"Reptiles",species:"Hawksbill Turtle",latin:"Eretmochelys imbricata",description:"Named for its narrow, hawk-like beak, the Hawksbill Turtle glides through tropical coral reefs feeding on sponges other creatures cannot digest. Decades of shell trading have pushed this beautiful species to the edge of survival."}]},extinct:{label:"Extinct",color:"#dc2626",bgColor:"#fff1f2",caption:"Lost to the world — these portraits are acts of remembrance, restoring in ink what time and humanity have erased from the living earth.",animals:[{category:"Insects",species:"Madeiran Large White",image:"/images/madeiran-large-white.png",imageAspect:"2000/1414",latin:"Pieris wollastoni",description:"Endemic to the laurel forests of Madeira, the Madeiran Large White has not been seen since the late twentieth century and is now presumed extinct. This portrait stands as a quiet act of remembrance for a butterfly lost to habitat decline."},{category:"Mammals",species:"Lesser Bilby",latin:"Macrotis leucura",description:"Once found across the deserts of central Australia, the Lesser Bilby vanished from the wild sometime in the mid-twentieth century. Its long ears and delicate frame survive now only in museum specimens and portraits such as this."},{category:"Aquatic",species:"Trilobite",latin:"Trilobita",description:"For nearly 300 million years, trilobites were among the most successful creatures in Earth's oceans before vanishing in the great extinction that closed the Permian. Their segmented, armoured forms remain etched in stone as some of the finest fossils ever found."},{category:"Birds",species:"Dodo",latin:"Raphus cucullatus",description:"Endemic to the island of Mauritius, the Dodo vanished within a century of human contact, becoming the most enduring symbol of extinction in the natural world. This portrait imagines a creature known to us now only through sketches and bones."},{category:"Reptiles",species:"Velociraptor",latin:"Velociraptor mongoliensis",description:"A swift, feathered predator of the late Cretaceous, Velociraptor stalked the deserts of what is now Mongolia some 75 million years ago. Far smaller than popular imagination suggests, it remains one of palaeontology's most captivating discoveries."}]}};function oy({rarity:_,navigate:B}){const[C,r]=Ml.useState(null),[cN,Sc]=Ml.useState(_),[Fl,Sf]=Ml.useState(null),rKeys=iy.map(x=>x.page.replace("rarity-","")),rIdx=rKeys.indexOf(cN),A=sy[cN],p=dz[cN],rGoto=(nk)=>{if(nk===cN||Fl)return;const ni=rKeys.indexOf(nk),dir=ni>rIdx?"up":"down";Sf(dir);setTimeout(()=>Sc(nk),300);setTimeout(()=>Sf(null),620);};Ml.useEffect(()=>{if(_!==cN)Sc(_)},[_]);const items=A.animals.flatMap(a=>{const L=lz[a.species]||{};return[{species:a.species,latin:a.latin,image:a.image,imageAspect:a.imageAspect,price:`£${p.print}`,description:a.description,rarityColor:A.color,isOriginal:!1,edition:p.edition,category:a.category,rarity:cN,link:L.print,monoLink:L.printMono}]});return b.jsxs("div",{className:"rarity-page",style:{background:A.bgColor},children:[b.jsx("div",{className:"rarity-nav",style:{background:A.bgColor,borderBottom:`1px solid ${A.color}33`},children:b.jsx(Xn,{navigate:B,current:"rarities",onOriginals:()=>B("originals")})}),b.jsx("button",{className:"originals-btn","data-testid":"originals-btn",onClick:()=>B("originals"),children:"Originals"}),b.jsx("div",{className:"side-nav side-nav-rarities","data-testid":"rarities-side-nav",children:iy.map(rn=>{const rk=rn.page.replace("rarity-",""),sel=cN===rk;return b.jsx("button",{className:`rarity-dot${sel?" active":""}`,"data-testid":`rarity-dot-${rk}`,style:{background:rn.color,borderColor:sel?"var(--gold)":"transparent"},title:rn.label,"aria-label":rn.label,onClick:()=>rGoto(rk)},rn.page)})}),b.jsxs("div",{className:`page-flip${Fl?" flip-"+Fl:""}`,"data-testid":"rarities-flip-page",children:[b.jsx("h1",{className:"rarity-title",style:{color:A.color},children:A.label}),b.jsx("div",{className:"gold-divider",style:{background:A.color}}),b.jsx("p",{className:"rarity-caption",children:A.caption}),b.jsx("div",{className:"gallery-grid",children:items.map((it,Z)=>b.jsxs("div",{className:"gallery-slot"+(it.imageAspect==="2000/1414"?" wide":""),onClick:()=>r(it),children:[b.jsx("div",{className:"gallery-img",style:{background:`${A.color}14`,aspectRatio:it.imageAspect||"3/4"},children:it.image?b.jsx("img",{src:it.image,alt:it.species,className:"gallery-thumb",loading:"lazy",draggable:!1}):b.jsx("span",{className:"coming-soon",children:"Coming Soon"})}),b.jsxs("div",{className:"gallery-caption",children:[b.jsx("div",{className:"gallery-category",children:it.category}),b.jsx("div",{className:it.isOriginal?"gallery-species gold-caption":"gallery-species",children:it.species}),b.jsx("div",{className:"gallery-latin",children:it.latin}),b.jsx("div",{className:"gallery-price",children:it.price}),it.isOriginal?b.jsx("span",{className:it.soldOut?"original-badge sold-out-badge":"original-badge",children:it.soldOut?"SOLD OUT":"ORIGINAL"}):b.jsxs("span",{className:"edition-badge",children:["1 of ",it.edition]})]})]},Z))})]}),C&&b.jsx(Or,{item:C,onClose:()=>r(null)})]})}const my={insects:{label:"Insects",bgColor:"#fdf8ee",accentColor:"#c9a84c",caption:"From the iridescent wings of dragonflies to the armoured elegance of beetles — the insect world rendered in exquisite biro detail.",animals:[{rarity:"common",species:"7-Spot Ladybird",image:"/images/7-spot-ladybird.png",imageAspect:"2000/1414",latin:"Coccinella septempunctata",description:"One of Britain's best-loved beetles, the 7-Spot Ladybird brings its scarlet, spotted armour to gardens and hedgerows across the land. Small in stature but rich in detail, it rewards the patient eye of the biro artist."},{rarity:"uncommon",species:"Stag Beetle",image:"/images/stag-beetle.png",imageAspect:"1414/2000",latin:"Lucanus cervus",description:"Britain's largest beetle, the Stag Beetle carries antler-like mandibles that make it one of nature's most striking miniature warriors. Increasingly scarce in the wild, its armoured form is a study in natural engineering."},{rarity:"rare",species:"Chameleon Grasshopper",image:"/images/chameleon-grasshopper.png",imageAspect:"2000/1414",latin:"Kosciuscola tristis",description:"Named for its remarkable ability to shift colour with temperature, the Chameleon Grasshopper is a curiosity of the alpine grasslands. Its transformation from black to vivid blue makes it a rare and fascinating subject."},{rarity:"unique",species:"Hine's Emerald Dragonfly",image:"/images/hines-emerald-dragonfly.png",imageAspect:"2000/1414",latin:"Somatochlora hineana",description:"With eyes like polished emerald and wings of glass, Hine's Emerald Dragonfly is among the rarest dragonflies on Earth, confined to a handful of fen and marsh habitats. Its iridescent body is a singular study in colour and form."},{rarity:"endangered",species:"Brown-banded Carder Bee",image:"/images/brown-banded-carder-bee.png",imageAspect:"2000/1414",latin:"Bombus humilis",description:"Once common across the British countryside, the Brown-banded Carder Bee has retreated to a scatter of coastal and grassland strongholds. Its soft, ginger-banded fur marks it as one of our most threatened bumblebees."},{rarity:"extinct",species:"Madeiran Large White",image:"/images/madeiran-large-white.png",imageAspect:"2000/1414",latin:"Pieris wollastoni",description:"Endemic to the laurel forests of Madeira, the Madeiran Large White has not been seen since the late twentieth century and is now presumed extinct. This portrait stands as a quiet act of remembrance for a butterfly lost to habitat decline."}]},mammals:{label:"Mammals",bgColor:"#fdf8ee",accentColor:"#c9a84c",caption:"The warm-blooded world in all its diversity — from the smallest shrew to the mightiest predator, each portrait drawn with care and reverence.",animals:[{rarity:"common",species:"Red Fox",latin:"Vulpes vulpes",description:"The Red Fox is a master of adaptation, equally at home in dense woodland, open moorland, and the edges of urban sprawl. Cunning, elegant, and fiercely independent, the fox has long captured the human imagination as a symbol of wit and wildness."},{rarity:"uncommon",species:"European Badger",latin:"Meles meles",description:"A creature of dusk and woodland edge, the European Badger moves through the British countryside with quiet purpose. Its black-and-white mask is one of nature's most recognisable disguises, worn by an animal rarely seen."},{rarity:"rare",species:"White-lipped Deer",latin:"Przewalskium albirostris",description:"Found only on the high Tibetan plateau, the White-lipped Deer is one of the rarest deer species on Earth, adapted to thin air and bitter cold. Its pale muzzle and stately antlers make it a striking subject for portraiture."},{rarity:"unique",species:"Saola",latin:"Pseudoryx nghetinhensis",description:"Discovered only in 1992, the Saola is so elusive it is known as the 'Asian Unicorn'. With its long, parallel horns and shy nature, few Western scientists have ever seen one alive."},{rarity:"endangered",species:"Amur Leopard",latin:"Panthera pardus orientalis",description:"With fewer than 100 individuals remaining in the wild, the Amur Leopard is the rarest big cat on earth. Native to the Russian Far East, it roams a winter landscape of birch and oak, its rosette-patterned coat a work of natural artistry under constant threat of extinction."},{rarity:"extinct",species:"Lesser Bilby",latin:"Macrotis leucura",description:"Once found across the deserts of central Australia, the Lesser Bilby vanished from the wild sometime in the mid-twentieth century. Its long ears and delicate frame survive now only in museum specimens and portraits such as this."}]},aquatic:{label:"Aquatic",bgColor:"#fdf8ee",accentColor:"#c9a84c",caption:"Beneath the surface — a world of fluid grace and ancient lineage, illustrated in ink with the stillness of deep water.",animals:[{rarity:"common",species:"Clownfish",latin:"Amphiprion ocellaris",description:"Made famous by its vivid orange-and-white banding, the Clownfish lives in a remarkable partnership with sea anemones on tropical reefs. A familiar face to many, yet endlessly charming to draw."},{rarity:"uncommon",species:"Spiny Seahorse",latin:"Hippocampus histrix",description:"Cloaked in delicate spines and moving with unhurried grace, the Spiny Seahorse drifts through seagrass meadows and coral reefs. Its curled tail and equine profile make it one of the ocean's most singular silhouettes."},{rarity:"rare",species:"Coelacanth",latin:"Latimeria chalumnae",description:"Once believed extinct for 65 million years until a living specimen was caught in 1938, the Coelacanth is often called a 'living fossil'. Its lobed fins hint at the ancient lineage from which land vertebrates first emerged."},{rarity:"unique",species:"Nautilus",latin:"Nautilus pompilius",description:"Its chambered shell coils in a perfect logarithmic spiral, a design unchanged for hundreds of millions of years. The Nautilus drifts through deep Pacific waters much as its ancestors did long before the dinosaurs."},{rarity:"endangered",species:"Banggai Cardinalfish",latin:"Pterapogon kauderni",description:"Confined to a tiny pocket of Indonesian reef, the Banggai Cardinalfish is prized for its striking stripes and flowing fins. Overcollection for the aquarium trade has left this beautiful species increasingly rare in the wild."},{rarity:"extinct",species:"Trilobite",latin:"Trilobita",description:"For nearly 300 million years, trilobites were among the most successful creatures in Earth's oceans before vanishing in the great extinction that closed the Permian. Their segmented, armoured forms remain etched in stone as some of the finest fossils ever found."}]},birds:{label:"Birds",bgColor:"#fdf8ee",accentColor:"#c9a84c",caption:"Feather, form, and flight — a collection celebrating avian life from the common sparrow to the most exotic species on the wing.",animals:[{rarity:"common",species:"Rock Pigeon",latin:"Columba livia",description:"Familiar on every city street, the Rock Pigeon is often overlooked despite its iridescent neck feathers and quiet intelligence. A true survivor, equally at home on cliff ledges and cathedral rooftops."},{rarity:"uncommon",species:"Eurasian Hoopoe",latin:"Upupa epops",description:"Instantly recognisable by its crown of feathers and striking black-and-white wings, the Eurasian Hoopoe is a scarce but unmistakable visitor to open woodland and orchard. Its rolling call is as distinctive as its plumage."},{rarity:"rare",species:"Resplendent Quetzal",latin:"Pharomachrus mocinno",description:"Revered by the ancient Maya and Aztec, the Resplendent Quetzal trails iridescent emerald tail feathers through the cloud forests of Central America. Few birds combine such colour with such mythic stature."},{rarity:"unique",species:"Shoebill",latin:"Balaeniceps rex",description:"Standing motionless for hours before striking with its enormous clog-shaped bill, the Shoebill is one of Africa's strangest and most prehistoric-looking birds. Its stare alone has made it something of an internet legend."},{rarity:"endangered",species:"Kakapo",latin:"Strigops habroptilus",description:"The world's only flightless, nocturnal parrot, the Kakapo survives on a handful of predator-free New Zealand islands. Fewer than 250 individuals remain, each one known to conservationists by name."},{rarity:"extinct",species:"Dodo",latin:"Raphus cucullatus",description:"Endemic to the island of Mauritius, the Dodo vanished within a century of human contact, becoming the most enduring symbol of extinction in the natural world. This portrait imagines a creature known to us now only through sketches and bones."}]},reptiles:{label:"Reptiles",bgColor:"#fdf8ee",accentColor:"#c9a84c",caption:"Ancient, armoured, and endlessly fascinating — the reptile kingdom depicted with the same precision that nature uses to design them.",animals:[{rarity:"common",species:"Gecko",latin:"Hemidactylus frenatus",description:"With toe pads capable of gripping smooth glass and ceiling plaster alike, geckos are among the most familiar reptiles found in homes and gardens across warmer climates. Their quiet chirps and darting movements make them endlessly watchable."},{rarity:"uncommon",species:"Panther Chameleon",latin:"Furcifer pardalis",description:"Native to the forests of Madagascar, the Panther Chameleon can shift through a kaleidoscope of colour depending on mood, temperature, and territory. Few reptiles offer such a vivid canvas for detailed illustration."},{rarity:"rare",species:"Philippine Crocodile",latin:"Crocodylus mindorensis",description:"Among the most critically threatened crocodiles on Earth, the Philippine Crocodile survives in only a handful of freshwater habitats across the archipelago. Its broad snout and golden-brown hide mark it as a true rarity."},{rarity:"unique",species:"Tuatara",latin:"Sphenodon punctatus",description:"Neither lizard nor mammal, the Tuatara is the last surviving member of an order that predates the dinosaurs by tens of millions of years. Found only in New Zealand, it is often called a living fossil in its own right."},{rarity:"endangered",species:"Hawksbill Turtle",latin:"Eretmochelys imbricata",description:"Named for its narrow, hawk-like beak, the Hawksbill Turtle glides through tropical coral reefs feeding on sponges other creatures cannot digest. Decades of shell trading have pushed this beautiful species to the edge of survival."},{rarity:"extinct",species:"Velociraptor",latin:"Velociraptor mongoliensis",description:"A swift, feathered predator of the late Cretaceous, Velociraptor stalked the deserts of what is now Mongolia some 75 million years ago. Far smaller than popular imagination suggests, it remains one of palaeontology's most captivating discoveries."}]}};function ry({collection:_,navigate:B}){const[C,r]=Ml.useState(null),[cN,Sc]=Ml.useState(_),[Fl,Sf]=Ml.useState(null),cKeys=cy.map(x=>x.page.replace("collection-","")),cIdx=cKeys.indexOf(cN),cPrev=cKeys[(cIdx-1+cKeys.length)%cKeys.length],cNext=cKeys[(cIdx+1)%cKeys.length],A=my[cN],goto=(nk,dir)=>{if(nk===cN||Fl)return;Sf(dir);setTimeout(()=>Sc(nk),300);setTimeout(()=>Sf(null),620);};Ml.useEffect(()=>{if(_!==cN)Sc(_)},[_]);const items=A.animals.flatMap(a=>{const p=dz[a.rarity],L=lz[a.species]||{};return[{species:a.species,latin:a.latin,image:a.image,imageAspect:a.imageAspect,price:`£${p.print}`,description:a.description,rarityColor:A.accentColor,isOriginal:!1,edition:p.edition,rarity:a.rarity,link:L.print,monoLink:L.printMono}]});return b.jsxs("div",{className:"collections-page",style:{background:A.bgColor},children:[b.jsx("div",{className:"collections-nav",style:{background:A.bgColor,borderBottom:`1px solid ${A.accentColor}33`},children:b.jsx(Xn,{navigate:B,current:"collections",onOriginals:()=>B("originals")})}),b.jsx("button",{className:"originals-btn","data-testid":"originals-btn",onClick:()=>B("originals"),children:"Originals"}),b.jsxs("div",{className:"side-nav side-nav-collections","data-testid":"collections-side-nav",children:[b.jsx("button",{className:"side-nav-arrow","data-testid":"side-nav-up",onClick:()=>goto(cPrev,"down"),"aria-label":"Previous collection",children:"▲"}),b.jsx("button",{className:"side-nav-preview","data-testid":"side-nav-prev",onClick:()=>goto(cPrev,"down"),children:my[cPrev].label}),b.jsx("div",{className:"side-nav-current","data-testid":"side-nav-current",style:{color:A.accentColor},children:A.label}),b.jsx("button",{className:"side-nav-preview","data-testid":"side-nav-next",onClick:()=>goto(cNext,"up"),children:my[cNext].label}),b.jsx("button",{className:"side-nav-arrow","data-testid":"side-nav-down",onClick:()=>goto(cNext,"up"),"aria-label":"Next collection",children:"▼"})]}),b.jsxs("div",{className:`page-flip${Fl?" flip-"+Fl:""}`,"data-testid":"collections-flip-page",children:[b.jsx("h1",{className:"collections-title",style:{color:A.accentColor},children:A.label}),b.jsx("div",{className:"gold-divider",style:{background:A.accentColor}}),b.jsx("p",{className:"rarity-caption",children:A.caption}),b.jsx("div",{className:"gallery-grid",children:items.map((it,Z)=>b.jsxs("div",{className:"gallery-slot"+(it.imageAspect==="2000/1414"?" wide":""),style:{border:`1px solid ${sy[it.rarity].color}`},onClick:()=>r(it),children:[b.jsx("div",{className:"gallery-img",style:{background:`${A.accentColor}14`,aspectRatio:it.imageAspect||"3/4"},children:it.image?b.jsx("img",{src:it.image,alt:it.species,className:"gallery-thumb",loading:"lazy",draggable:!1}):b.jsx("span",{className:"coming-soon",children:"Coming Soon"})}),b.jsxs("div",{className:"gallery-caption",children:[b.jsx("div",{className:it.isOriginal?"gallery-species gold-caption":"gallery-species",children:it.species}),b.jsx("div",{className:"gallery-latin",children:it.latin}),b.jsx("div",{className:"gallery-price",children:it.price}),it.isOriginal?b.jsx("span",{className:it.soldOut?"original-badge sold-out-badge":"original-badge",children:it.soldOut?"SOLD OUT":"ORIGINAL"}):b.jsxs("span",{className:"edition-badge",children:["1 of ",it.edition]}),b.jsx("span",{className:"rarity-badge",style:{color:sy[it.rarity].color,borderColor:sy[it.rarity].color},children:sy[it.rarity].label})]})]},Z))})]}),C&&b.jsx(Or,{item:C,onClose:()=>r(null)})]})};function Xy({navigate:_}){const[oP,soP]=Ml.useState(null),items=iy.flatMap(r=>{const rk=r.page.replace("rarity-",""),rMeta=sy[rk];return rMeta.animals.map(a=>{const L=lz[a.species]||{};return{species:a.species,latin:a.latin,image:a.image,imageAspect:a.imageAspect,price:"£128",description:a.description,rarityColor:rMeta.color,isOriginal:!0,category:a.category,rarity:rk,link:L.original,soldOut:!!L.soldOut}})});return b.jsxs("div",{className:"originals-page","data-testid":"originals-page",children:[b.jsx("div",{className:"email-bar",children:b.jsx("a",{href:"mailto:inkompanion@gmail.com",children:"inkompanion@gmail.com"})}),b.jsx("div",{className:"originals-nav",children:b.jsx(Xn,{navigate:_,current:"originals"})}),b.jsx("h1",{className:"originals-title",children:"Originals"}),b.jsx("p",{className:"originals-caption",children:"Each drawing shown here is a one-of-a-kind original — inked by hand, signed, and never reprinted. £128 each."}),items.length===0?b.jsx("div",{className:"originals-empty",children:"No originals available yet — check back soon."}):b.jsx("div",{className:"originals-grid","data-testid":"originals-grid",children:items.map((it,Z)=>b.jsxs("div",{className:"original-card"+(it.imageAspect==="2000/1414"?" wide":""),"data-testid":`original-card-${Z}`,onClick:()=>soP(it),children:[b.jsx("div",{className:"gallery-img",style:{aspectRatio:it.imageAspect||"3/4"},children:it.image?b.jsx("img",{src:it.image,alt:it.species,className:"gallery-thumb",loading:"lazy",draggable:!1}):b.jsx("span",{className:"coming-soon",children:"Coming Soon"})}),b.jsxs("div",{className:"gallery-caption",children:[b.jsx("div",{className:"gallery-category",children:it.category}),b.jsx("div",{className:"gallery-species gold-caption",children:it.species}),b.jsx("div",{className:"gallery-latin",children:it.latin}),b.jsx("div",{className:"gallery-price",children:it.price}),b.jsx("span",{className:it.soldOut?"original-badge sold-out-badge":"original-badge",children:it.soldOut?"SOLD OUT":"ORIGINAL"}),b.jsx("span",{className:"rarity-badge",style:{color:sy[it.rarity].color,borderColor:sy[it.rarity].color},children:sy[it.rarity].label})]})]},Z))}),oP&&b.jsx(Or,{item:oP,onClose:()=>soP(null)})]})};function Ay({navigate:_}){const B=Ml.useRef(null),Q=Ml.useRef(0),Y=Ml.useRef(0),[C,r]=Ml.useState(0),[G,K]=Ml.useState(typeof window<"u"&&window.matchMedia("(orientation:portrait)").matches);Ml.useEffect(()=>{const w=()=>K(window.matchMedia("(orientation:portrait)").matches);return window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]);Ml.useEffect(()=>{const A=B.current;if(!A)return;let tk=!1;const set=v=>{v=Math.min(1,Math.max(0,v));Q.current=v;if(tk)return;tk=!0;requestAnimationFrame(()=>{r(Q.current);tk=!1})};const onWheel=w=>{w.preventDefault();const d=w.deltaMode===1?w.deltaY*16:w.deltaMode===2?w.deltaY*400:w.deltaY;set(Q.current+d/1800)};const onTouchStart=w=>{Y.current=w.touches[0].clientY};const onTouchMove=w=>{w.preventDefault();const dy=Y.current-w.touches[0].clientY;Y.current=w.touches[0].clientY;set(Q.current+dy/600)};const onKey=w=>{if(w.key==="ArrowDown"||w.key==="PageDown"){w.preventDefault();set(Q.current+.08)}else if(w.key==="ArrowUp"||w.key==="PageUp"){w.preventDefault();set(Q.current-.08)}};return A.addEventListener("wheel",onWheel,{passive:!1}),A.addEventListener("touchstart",onTouchStart,{passive:!0}),A.addEventListener("touchmove",onTouchMove,{passive:!1}),window.addEventListener("keydown",onKey),()=>{A.removeEventListener("wheel",onWheel),A.removeEventListener("touchstart",onTouchStart),A.removeEventListener("touchmove",onTouchMove),window.removeEventListener("keydown",onKey)}},[]);const st=(a,c)=>Math.min(1,Math.max(0,(C-a)/(c-a))),p1=G?st(.14,.32):st(.08,.26),ov=G?st(.01,.1):st(.28,.48),p2=G?st(.32,.5):st(.48,.66),p3=G?st(.5,.68):st(.66,.84),prompt=1-(G?st(.68,.76):st(.84,.92));return b.jsxs("div",{ref:B,tabIndex:0,className:"about-page",children:[b.jsx("div",{className:"about-hero-extend"}),b.jsx("div",{className:"about-hero"}),b.jsx("div",{className:"about-glint"}),G?null:b.jsx("div",{className:"about-blend"}),G?b.jsx("div",{className:"about-overlay",style:{width:`${ov*100}%`}}):null,b.jsx("div",{className:"about-nav",children:b.jsx(Xn,{navigate:_,current:"about"})}),b.jsxs("div",{className:"about-scroll-prompt",style:{opacity:prompt},children:[b.jsx("span",{children:__isTouch?"SWIPE":"SCROLL"}),b.jsx("span",{className:"scroll-arrow-gold",children:__isTouch?"▲":"▼"})]}),b.jsxs("div",{className:G?"about-text about-text-center":"about-text",children:[b.jsx("p",{className:"about-para",style:{opacity:p1},children:"InKompanion is a young solo artist specialising in immortalising living creatures and pets."}),b.jsx("p",{className:"about-para",style:{opacity:p2},children:"The mission is to capture the energy and anatomy of living beings, in a way no photograph can."}),b.jsx("p",{className:"about-para",style:{opacity:p3},children:"Collections of various fauna are categorised into rarity to highlight the population size, reflected in the colour of the animal's eyes and the varying scarcity of the artist prints."})]})]})}
function Uy({navigate:_}){const M=Ml.useRef(null);const[S,eS]=Ml.useState(!1);const[P,eP]=Ml.useState(!1);const[G,eG]=Ml.useState(!1);const[V,eV]=Ml.useState(0.8);const[T,eT]=Ml.useState(0);const[Du,eDu]=Ml.useState(0);const sk=e=>{const x=parseFloat(e.target.value);eT(x);if(M.current)M.current.currentTime=x};const play=()=>{const v=M.current;if(!v)return;v.volume=V;const pr=v.play();if(pr&&pr.catch)pr.catch(()=>{});eS(!0);eP(!0)};const toggle=()=>{const v=M.current;if(!v)return;if(P){v.pause();eP(!1)}else{v.play();eP(!0)}};const rep=()=>{const v=M.current;if(!v)return;v.currentTime=0;v.play();eP(!0);eG(!1)};const tu=e=>{const v=e.target;eT(v.currentTime);if(v.duration&&Du!==v.duration)eDu(v.duration);if(v.duration&&v.duration-v.currentTime<=2){eG(!0)}else if(G){eG(!1)}};const vc=e=>{const x=parseFloat(e.target.value);eV(x);if(M.current)M.current.volume=x};const en=()=>{eP(!1);eG(!0)};return b.jsxs("div",{className:"process-page",children:[b.jsx("div",{className:"email-bar",children:b.jsx("a",{href:"mailto:inkompanion@gmail.com",children:"inkompanion@gmail.com"})}),b.jsx("div",{className:"collections-nav",style:{borderBottom:"1px solid #e0d5c0"},children:b.jsx(Xn,{navigate:_,current:"process"})}),b.jsxs("div",{className:"process-stage",children:[b.jsx("video",{ref:M,src:"/images/process.mp4",poster:"/images/process-poster.jpg",className:"process-video",playsInline:!0,preload:"metadata",onLoadedMetadata:e=>eDu(e.target.duration),onTimeUpdate:tu,onEnded:en,onClick:()=>{if(S)toggle()}}),!S&&b.jsx("button",{className:"process-play-btn","data-testid":"process-play","aria-label":"Play",onClick:play,children:b.jsx("svg",{viewBox:"0 0 100 100",children:b.jsx("polygon",{points:"32,20 82,50 32,80",fill:"var(--gold)"})})}),S&&b.jsxs("div",{className:"process-controls",children:[b.jsx("button",{className:"pc-btn","data-testid":"process-toggle","aria-label":P?"Pause":"Play",onClick:toggle,children:P?b.jsxs("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"var(--gold)",children:[b.jsx("rect",{x:"5",y:"4",width:"4.5",height:"16",rx:"1"}),b.jsx("rect",{x:"14.5",y:"4",width:"4.5",height:"16",rx:"1"})]}):b.jsx("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"var(--gold)",children:b.jsx("polygon",{points:"6,4 20,12 6,20"})})}),b.jsx("button",{className:"pc-btn","data-testid":"process-replay","aria-label":"Replay",onClick:rep,children:b.jsxs("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"none",stroke:"var(--gold)",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[b.jsx("path",{d:"M3 12a9 9 0 1 0 3.2-6.9L3 9"}),b.jsx("polyline",{points:"3 3 3 9 9 9"})]})}),b.jsx("input",{type:"range",min:"0",max:Du||0,step:"0.1",value:Math.min(T,Du||T),onChange:sk,className:"process-seek","aria-label":"Seek","data-testid":"process-seek",style:{background:`linear-gradient(to right,var(--gold) ${Du?T/Du*100:0}%,rgba(201,168,76,.28) ${Du?T/Du*100:0}%)`}}),b.jsx("input",{type:"range",min:"0",max:"1",step:"0.05",value:V,onChange:vc,className:"process-volume","aria-label":"Volume","data-testid":"process-volume"})]}),G&&b.jsx("button",{className:"process-get-yours","data-testid":"process-get-yours",onClick:()=>_("custom"),children:"Get Yours"}),b.jsx("button",{className:"framing-link","data-testid":"framing-delivery-btn",onClick:()=>_("framing"),children:"Framing and Delivery"})]})]})}function FDy({navigate:_}){return b.jsxs("div",{className:"process-page",children:[b.jsx("div",{className:"email-bar",children:b.jsx("a",{href:"mailto:inkompanion@gmail.com",children:"inkompanion@gmail.com"})}),b.jsx("div",{className:"collections-nav",style:{borderBottom:"1px solid #e0d5c0"},children:b.jsx(Xn,{navigate:_,current:"process"})}),b.jsxs("div",{className:"framing-page","data-testid":"framing-page",children:[b.jsx("div",{className:"framing-frame","data-testid":"framing-frame",children:b.jsx("div",{className:"framing-mat"})}),b.jsxs("div",{className:"framing-info",children:[b.jsxs("section",{className:"framing-box","data-testid":"framing-section",children:[b.jsx("h2",{children:"Mounting & Framing"}),b.jsx("p",{children:"Each drawing is hand-mounted on acid-free board to keep the paper perfectly flat and protected, then set behind glass in a matte black A4 frame with a soft white mat. Every piece arrives ready to hang straight out of the box."})]}),b.jsxs("section",{className:"framing-box","data-testid":"delivery-section",children:[b.jsx("h2",{children:"Delivery"}),b.jsx("p",{children:"Framed artwork is wrapped in tissue, corner-protected and shipped in rigid double-walled packaging. Orders are dispatched within a week of completion with tracked delivery, and you'll receive a photo update the moment your piece leaves the studio."})]})]})]})]})}function dy(){const[_,B]=Ml.useState("home"),[C,r]=Ml.useState("home"),[A,q]=Ml.useState(!1),w=Ml.useCallback(W=>{const el=document.querySelector("nav");el&&(window.__navRect=el.getBoundingClientRect());r(_),B(W)},[_]);if(_==="home")return b.jsx(_r,{navigate:w,dogScrolled:A,setDogScrolled:q});if(_==="custom")return b.jsx(fy,{navigate:w,prevPage:C,dogScrolled:A});if(_==="about")return b.jsx(Ay,{navigate:w});if(_==="process")return b.jsx(Uy,{navigate:w,title:"Process"});if(_==="framing")return b.jsx(FDy,{navigate:w});if(_==="originals")return b.jsx(Xy,{navigate:w});if(_.startsWith("rarity-")){const W=_.replace("rarity-","");return b.jsx(oy,{rarity:W,navigate:w})}if(_.startsWith("collection-")){const W=_.replace("collection-","");return b.jsx(ry,{collection:W,navigate:w})}return b.jsx(_r,{navigate:w,dogScrolled:A,setDogScrolled:q})}ny.createRoot(document.getElementById("root")).render(b.jsx(Ml.StrictMode,{children:b.jsx(dy,{})}));