1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,320333,e=>{"use strict";var t=e.i(768834),n=e.i(579473);let r=(0,t.create)()((0,n.persist)(e=>({open:!1,setOpen:t=>e({open:t}),toggle:()=>e(e=>({open:!e.open}))}),{name:"draggable-image-open",partialize:e=>({open:e.open}),skipHydration:!0}));e.s(["useDraggableImage",0,r])},458798,579473,385315,e=>{"use strict";var t=e.i(768834);let n=(0,t.create)(e=>({appLoaded:!1,setAppLoaded:t=>e({appLoaded:t}),aboutOpen:!1,setAboutOpen:t=>e({aboutOpen:t}),isLoading:!0,setIsLoading:t=>e({isLoading:t})}));e.s(["useApp",0,n],458798);let r=e=>t=>{try{let n=e(t);if(n instanceof Promise)return n;return{then:e=>r(e)(n),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>r(t)(e)}}},a=(e,t)=>(n,a,i)=>{let o,s={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var n;let r=e=>null===e?null:JSON.parse(e,void 0),a=null!=(n=t.getItem(e))?n:null;return a instanceof Promise?a.then(r):r(a)},setItem:(e,n)=>t.setItem(e,JSON.stringify(n,void 0)),removeItem:e=>t.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},l=!1,d=0,u=new Set,c=new Set,p=s.storage;if(!p)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),n(...e)},a,i);let m=()=>{let e=s.partialize({...a()});return p.setItem(s.name,{state:e,version:s.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),m());let g=e((...e)=>(n(...e),m()),a,i);i.getInitialState=()=>g;let h=()=>{var e,t;if(!p)return;let i=++d;l=!1,u.forEach(e=>{var t;return e(null!=(t=a())?t:g)});let f=(null==(t=s.onRehydrateStorage)?void 0:t.call(s,null!=(e=a())?e:g))||void 0;return r(p.getItem.bind(p))(s.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===s.version)return[!1,e.state];else{if(s.migrate){let t=s.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(i!==d)return;let[r,l]=e;if(n(o=s.merge(l,null!=(t=a())?t:g),!0),r)return m()}).then(()=>{i===d&&(null==f||f(a(),void 0),o=a(),l=!0,c.forEach(e=>e(o)))}).catch(e=>{i===d&&(null==f||f(void 0,e))})};return i.persist={setOptions:e=>{s={...s,...e},e.storage&&(p=e.storage)},clearStorage:()=>{null==p||p.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>h(),hasHydrated:()=>l,onHydrate:e=>(u.add(e),()=>{u.delete(e)}),onFinishHydration:e=>(c.add(e),()=>{c.delete(e)})},s.skipHydration||h(),o||g};e.s(["persist",0,a],579473);var i=e.i(722153);let o=(0,t.create)()(a((e,t)=>({enabled:!0,setEnabled:t=>e({enabled:t}),volume:.5,setVolume:t=>e({volume:t}),playToggle:e=>{let{enabled:n,volume:r}=t();n&&(0,i.playToggleSound)(e,r)}}),{name:"sound-state",partialize:e=>({enabled:e.enabled,volume:e.volume}),skipHydration:!0}));e.s(["useSoundState",0,o],385315)},734080,e=>{"use strict";let t=[{name:"Light",value:"light"},{name:"Dark",value:"dark"},{name:"Paper",value:"paper"}];e.s(["THEMES",0,t,"getNextTheme",0,function(e){let n=t.findIndex(t=>t.value===e),r=-1===n?0:(n+1)%t.length;return t[r].value}])},128739,e=>{"use strict";var t=e.i(843476),n=e.i(271645);let r=(0,n.createContext)({state:{enabled:!0,volume:1},actions:{setEnabled(){},setVolume(){}}});function a({children:e,enabled:i=!0,volume:o=1,onEnabledChange:s,onVolumeChange:l}){let d=(0,n.useMemo)(()=>({enabled:i,volume:o}),[i,o]),u=(0,n.useRef)(s);u.current=s;let c=(0,n.useRef)(l);c.current=l;let p=(0,n.useMemo)(()=>({setEnabled:e=>u.current?.(e),setVolume:e=>c.current?.(e)}),[]),m=(0,n.useMemo)(()=>({state:d,actions:p}),[d,p]);return(0,t.jsx)(r,{value:m,children:e})}var i=e.i(458798),o=e.i(320333),s=e.i(138672),l=e.i(647163),d=e.i(846932),u=e.i(88653),c=e.i(618566),p=e.i(8372);function m(e){let r=(0,n.use)(p.LayoutRouterContext),[a]=(0,n.useState)(r);return(0,t.jsx)(p.LayoutRouterContext.Provider,{value:a,children:e.children})}function f(e){let n=(0,c.usePathname)();return(0,t.jsx)(u.AnimatePresence,{mode:"wait",children:(0,t.jsx)(d.motion.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.25},children:(0,t.jsx)(m,{children:e.children})},n)})}var g=e.i(385315),h=e.i(363178),v=e.i(734080);e.s(["Providers",0,function({children:e}){let r=(0,c.usePathname)(),d=(0,i.useApp)(e=>e.aboutOpen),u=(0,i.useApp)(e=>e.setAboutOpen);(0,o.useDraggableImage)(e=>e.open);let p=(0,o.useDraggableImage)(e=>e.toggle),m=(0,s.useArchiveDrawer)(e=>e.open),x=(0,s.useArchiveDrawer)(e=>e.setOpen);(0,n.useRef)(null),(0,n.useMemo)(()=>({lerp:.2}),[]);let{enabled:b,volume:y,playToggle:w}=(0,g.useSoundState)(),{theme:j,setTheme:R}=(0,h.useTheme)();return(0,n.useEffect)(()=>{o.useDraggableImage.persist.rehydrate(),g.useSoundState.persist.rehydrate()},[]),(0,n.useEffect)(()=>{u(!1),x(!1)},[r,u,x]),(0,n.useEffect)(()=>{function e(e){let t=e.target;if(t instanceof HTMLElement&&(t.isContentEditable||t.closest('input, textarea, select, [contenteditable="true"]')))return;let n=e.key.toLowerCase();if("e"===n){e.preventDefault(),p();return}"t"===n&&(e.preventDefault(),R((0,v.getNextTheme)(j)),w(!0))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[p,j,R,w]),(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(a,{enabled:b,volume:y,children:(0,t.jsx)(f,{children:(0,t.jsx)("main",{style:{"--archive-drawer-width":s.ARCHIVE_DRAWER_WIDTH},"data-popup-open":d,"data-archive-open":m,className:(0,l.cn)("root","w-full min-w-0 isolate relative duration-750 ease-out-expo transition-transform","motion-reduce:transition-none motion-reduce:duration-0","data-[popup-open='true']:translate-y-[calc(10dvh)]","motion-reduce:data-[popup-open='true']:translate-y-0","md:data-[archive-open='true']:-translate-x-[20%]","motion-reduce:md:data-[archive-open='true']:translate-x-0"),children:e})})})})}],128739)},728231,e=>{"use strict";var t,n,r=e.i(843476);e.s([],113136),e.i(113136),e.i(247167);var a=e.i(271645),i=e.i(203851),o=e.i(58509),s=e.i(500977),l=e.i(367805);let d=a.createContext(void 0);function u(e){let t=a.useContext(d);if(void 0===t&&!e)throw Error((0,l.default)(72));return t}var c=e.i(229315),p=e.i(760620),m=e.i(676477),f=e.i(930780),g=e.i(282033);function h(e){return null!=e&&null!=e.clientX}var v=e.i(933605),x=e.i(789633),b=e.i(931888),y=e.i(258642),w=e.i(174080),j=e.i(783921),R=e.i(598263),S=e.i(630628),C=e.i(206157),N=e.i(871403),I=e.i(600628),M=e.i(769375);let E={...I.popupStoreSelectors,disabled:(0,j.createSelector)(e=>e.disabled),instantType:(0,j.createSelector)(e=>e.instantType),isInstantPhase:(0,j.createSelector)(e=>e.isInstantPhase),trackCursorAxis:(0,j.createSelector)(e=>e.trackCursorAxis),disableHoverablePopup:(0,j.createSelector)(e=>e.disableHoverablePopup),lastOpenChangeReason:(0,j.createSelector)(e=>e.openChangeReason),closeOnClick:(0,j.createSelector)(e=>e.closeOnClick),closeDelay:(0,j.createSelector)(e=>e.closeDelay),hasViewport:(0,j.createSelector)(e=>e.hasViewport)};class k extends R.ReactStore{constructor(e){super({...(0,I.createInitialPopupStoreState)(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1,...e},{popupRef:a.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:new M.PopupTriggerMap},E)}setOpen=(e,t)=>{let n=t.reason,r=n===N.REASONS.triggerHover,a=e&&n===N.REASONS.triggerFocus,i=!e&&(n===N.REASONS.triggerPress||n===N.REASONS.escapeKey);if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let o=()=>{let r={open:e,openChangeReason:n};a?r.instantType="focus":i?r.instantType="dismiss":n===N.REASONS.triggerHover&&(r.instantType=void 0);let o=t.trigger?.id??null;(o||e)&&(r.activeTriggerId=o,r.activeTriggerElement=t.trigger??null),this.update(r)};r?w.flushSync(o):o()};static useStore(e,t){let n=(0,S.useRefWithInit)(()=>new k(t)).current,r=e??n,a=(0,C.useSyncedFloatingRootContext)({popupStore:r,onOpenChange:r.setOpen});return r.state.floatingRootContext=a,r}}let P=(0,i.fastComponent)(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:i,disableHoverablePopup:l=!1,trackCursorAxis:u="none",actionsRef:w,onOpenChange:j,onOpenChangeComplete:R,handle:S,triggerId:C,defaultTr
1iggerId:I=null,children:M}=e,E=k.useStore(S?.store,{open:n,openProp:i,activeTriggerId:I,triggerIdProp:C});(0,o.useOnFirstRender)(()=>{void 0===i&&!1===E.state.open&&!0===n&&E.update({open:!0,activeTriggerId:I})}),E.useControlledProp("openProp",i),E.useControlledProp("triggerIdProp",C),E.useContextCallback("onOpenChange",j),E.useContextCallback("onOpenChangeComplete",R);let P=E.useState("open"),T=!t&&P,O=E.useState("activeTriggerId"),A=E.useState("payload");E.useSyncedValues({trackCursorAxis:u,disableHoverablePopup:l}),(0,s.useIsoLayoutEffect)(()=>{P&&t&&E.setOpen(!1,(0,b.createChangeEventDetails)(N.REASONS.disabled))},[P,t,E]),E.useSyncedValue("disabled",t),(0,y.useImplicitActiveTrigger)(E);let{forceUnmount:D,transitionStatus:_}=(0,y.useOpenStateTransitions)(T,E),L=E.select("floatingRootContext"),z=E.useState("isInstantPhase"),W=E.useState("instantType"),Y=E.useState("lastOpenChangeReason"),H=a.useRef(null);(0,s.useIsoLayoutEffect)(()=>{"ending"===_&&Y===N.REASONS.none||"ending"!==_&&z?("delay"!==W&&(H.current=W),E.set("instantType","delay")):null!==H.current&&(E.set("instantType",H.current),H.current=null)},[_,z,Y,W,E]),(0,s.useIsoLayoutEffect)(()=>{T&&null==O&&E.set("payload",void 0)},[E,O,T]);let V=a.useCallback(()=>{E.setOpen(!1,(0,b.createChangeEventDetails)(N.REASONS.imperativeAction))},[E]);a.useImperativeHandle(w,()=>({unmount:D,close:V}),[D,V]);let Z=(0,v.useDismiss)(L,{enabled:!t,referencePress:()=>E.select("closeOnClick")}),F=function(e,t={}){let n="rootStore"in e?e.rootStore:e,r=n.useState("open"),i=n.useState("floatingElement"),o=n.useState("domReferenceElement"),s=n.context.dataRef,{enabled:l=!0,axis:d="both"}=t,u=a.useRef(!1),v=a.useRef(null),[x,b]=a.useState(),[y,w]=a.useState([]),j=(0,m.useStableCallback)((e,t,r)=>{if(!u.current&&(!s.current.openEvent||h(s.current.openEvent))){var a,i;let l,u,c;n.set("positionReference",(a=r??o,i={x:e,y:t,axis:d,dataRef:s,pointerType:x},l=null,u=null,c=!1,{contextElement:a||void 0,getBoundingClientRect(){let e=a?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},t="x"===i.axis||"both"===i.axis,n="y"===i.axis||"both"===i.axis,r=["mouseenter","mousemove"].includes(i.dataRef.current.openEvent?.type||"")&&"touch"!==i.pointerType,o=e.width,s=e.height,d=e.x,p=e.y;return null==l&&i.x&&t&&(l=e.x-i.x),null==u&&i.y&&n&&(u=e.y-i.y),d-=l||0,p-=u||0,o=0,s=0,!c||r?(o="y"===i.axis?e.width:0,s="x"===i.axis?e.height:0,d=t&&null!=i.x?i.x:d,p=n&&null!=i.y?i.y:p):c&&!r&&(s="x"===i.axis?e.height:s,o="y"===i.axis?e.width:o),c=!0,{width:o,height:s,x:d,y:p,top:p,right:d+o,bottom:p+s,left:d}}}))}}),R=(0,m.useStableCallback)(e=>{r?v.current||w([]):j(e.clientX,e.clientY,e.currentTarget)}),S=(0,g.isMouseLikePointerType)(x)?i:r,C=a.useCallback(()=>{if(!S||!l)return;let e=(0,c.getWindow)(i);if(!s.current.openEvent||h(s.current.openEvent))return v.current=(0,p.addEventListener)(e,"mousemove",function(e){let t=(0,f.getTarget)(e);(0,f.contains)(i,t)?(v.current?.(),v.current=null):j(e.clientX,e.clientY)}),()=>{v.current?.(),v.current=null};n.set("positionReference",o)},[S,l,i,s,o,n,j]);a.useEffect(()=>C(),[C,y]),a.useEffect(()=>{l&&!i&&(u.current=!1)},[l,i]),a.useEffect(()=>{!l&&r&&(u.current=!0)},[l,r]);let N=a.useMemo(()=>{function e(e){b(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:R,onMouseEnter:R}},[R]);return a.useMemo(()=>l?{reference:N,trigger:N}:{},[l,N])}(L,{enabled:!t&&"none"!==u,axis:"none"===u?void 0:u}),{getReferenceProps:G,getFloatingProps:B,getTriggerProps:U}=(0,x.useInteractions)([Z,F]),K=a.useMemo(()=>G(),[G]),Q=a.useMemo(()=>U(),[U]),X=a.useMemo(()=>B(),[B]);return E.useSyncedValues({activeTriggerProps:K,inactiveTriggerProps:Q,popupProps:X}),(0,r.jsx)(d.Provider,{value:E,children:"function"==typeof M?M({payload:A}):M})});var T=e.i(383590),O=e.i(269095),A=e.i(986790);let D=a.createContext(void 0);var _=e.i(437287),L=e.i(566745),z=e.i(769356);let W=a.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new L.Timeout,currentIdRef:{current:null},currentContextRef:{current:null}});function Y(e){let{children:t,delay:n,timeoutMs:i=0}=e,o=a.useRef(n),s=a.useRef(n),l=a.useRef(null),d=a.useRef(null),u=(0,L.useTimeout)();return(0,r.jsx)(W.Provider,{value:a.useMemo(()=>({hasProvider:!0,delayRef:o,initialDelayRef:s,currentIdRef:l,timeoutMs:i,currentContextRef:d,timeout:u}),[i,u]),children:t})}var H=e.i(625708),V=e.i(397254);let Z=((t={})[t.popupOpen=T.CommonTriggerDataAttributes.popupOpen]="popupOpen",t.triggerDisabled="data-trigger-disabled",t),F=(0,i.fastComponentRef)(function(e,t){let{className:n,render:r,handle:i,payload:o,disabled:d,delay:c,closeOnClick:p=!0,closeDelay:m,id:f,style:g,...h}=e,v=u(!0),x=i?.store??v;if(!x)throw Error((0,l.default)(82));let w=(0,A.useBaseUiId)(f),j=x.useState("isTriggerActive",w),R=x.use
1State("isOpenedByTrigger",w),S=x.useState("floatingRootContext"),C=a.useRef(null),I=c??600,M=m??0,{registerTrigger:E,isMountedByThisTrigger:k}=(0,y.useTriggerDataForwarding)(w,C,x,{payload:o,closeOnClick:p,closeDelay:M}),P=a.useContext(D),{delayRef:L,isInstantPhase:Y,hasProvider:F}=function(e,t={open:!1}){let n="rootStore"in e?e.rootStore:e,r=n.useState("floatingId"),{open:i}=t,{currentIdRef:o,delayRef:l,timeoutMs:d,initialDelayRef:u,currentContextRef:c,hasProvider:p,timeout:m}=a.useContext(W),[f,g]=a.useState(!1);return(0,s.useIsoLayoutEffect)(()=>{function e(){g(!1),c.current?.setIsInstantPhase(!1),o.current=null,c.current=null,l.current=u.current}if(o.current&&!i&&o.current===r){if(g(!1),d)return m.start(d,()=>{n.select("open")||o.current&&o.current!==r||e()}),()=>{m.clear()};e()}},[i,r,o,l,d,u,c,m,n]),(0,s.useIsoLayoutEffect)(()=>{if(!i)return;let e=c.current,t=o.current;m.clear(),c.current={onOpenChange:n.setOpen,setIsInstantPhase:g},o.current=r,l.current={open:0,close:(0,z.getDelay)(u.current,"close")},null!==t&&t!==r?(g(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,(0,b.createChangeEventDetails)(N.REASONS.none))):(g(!1),e?.setIsInstantPhase(!1))},[i,r,n,o,l,d,u,c,m]),(0,s.useIsoLayoutEffect)(()=>()=>{c.current=null},[c]),a.useMemo(()=>({hasProvider:p,delayRef:l,isInstantPhase:f}),[p,l,f])}(S,{open:R});x.useSyncedValue("isInstantPhase",Y);let G=x.useState("disabled"),B=d??G,U=x.useState("trackCursorAxis"),K=x.useState("disableHoverablePopup"),Q=(0,V.useHoverReferenceInteraction)(S,{enabled:!B,mouseOnly:!0,move:!1,handleClose:K||"both"===U?null:(0,_.safePolygon)(),restMs(){let e=P?.delay,t="object"==typeof L.current?L.current.open:void 0,n=I;return F&&(n=0!==t?c??e??I:0),n},delay(){let e="object"==typeof L.current?L.current.close:void 0,t=M;return null==m&&F&&(t=e),{close:t}},triggerElementRef:C,isActiveTrigger:j,isClosing:()=>"ending"===x.select("transitionStatus")}),X=(0,H.useFocus)(S,{enabled:!B}).reference,q=x.useState("triggerProps",k);return(0,O.useRenderElement)("button",e,{state:{open:R},ref:[t,E,C],props:[Q,X,q,{onPointerDown(){x.set("closeOnClick",p)},id:w,[Z.triggerDisabled]:B?"":void 0},h],stateAttributesMapping:T.triggerOpenStateMapping})}),G=a.createContext(void 0);var B=e.i(540016);let U=a.forwardRef(function(e,t){let{keepMounted:n=!1,...a}=e;return u().useState("mounted")||n?(0,r.jsx)(G.Provider,{value:n,children:(0,r.jsx)(B.FloatingPortalLite,{ref:t,...a})}):null}),K=a.createContext(void 0);function Q(){let e=a.useContext(K);if(void 0===e)throw Error((0,l.default)(71));return e}var X=e.i(56590),q=e.i(905066),J=e.i(767569),$=e.i(844380);let ee=a.forwardRef(function(e,t){let{render:n,className:i,anchor:o,positionMethod:s="absolute",side:d="top",align:c="center",sideOffset:p=0,alignOffset:m=0,collisionBoundary:f="clipping-ancestors",collisionPadding:g=5,arrowPadding:h=5,sticky:v=!1,disableAnchorTracking:x=!1,collisionAvoidance:b=q.POPUP_COLLISION_AVOIDANCE,style:y,...w}=e,j=u(),R=function(){let e=a.useContext(G);if(void 0===e)throw Error((0,l.default)(70));return e}(),S=j.useState("open"),C=j.useState("mounted"),N=j.useState("trackCursorAxis"),I=j.useState("disableHoverablePopup"),M=j.useState("floatingRootContext"),E=j.useState("instantType"),k=j.useState("transitionStatus"),P=j.useState("hasViewport"),T=(0,X.useAnchorPositioning)({anchor:o,positionMethod:s,floatingRootContext:M,mounted:C,side:d,sideOffset:p,align:c,alignOffset:m,collisionBoundary:f,collisionPadding:g,sticky:v,arrowPadding:h,disableAnchorTracking:x,keepMounted:R,collisionAvoidance:b,adaptiveOrigin:P?J.adaptiveOrigin:void 0}),O=a.useMemo(()=>({open:S,side:T.side,align:T.align,anchorHidden:T.anchorHidden,instant:"none"!==N?"tracking-cursor":E}),[S,T.side,T.align,T.anchorHidden,N,E]),A=(0,$.usePositioner)(e,O,{styles:T.positionerStyles,transitionStatus:k,props:w,refs:[t,j.useStateSetter("positionerElement")],hidden:!C,inert:!S||"both"===N||I});return(0,r.jsx)(K.Provider,{value:T,children:A})});var et=e.i(814060),en=e.i(223715),er=e.i(418847),ea=e.i(761896);let ei={...T.popupStateMapping,...et.transitionStatusMapping},eo=a.forwardRef(function(e,t){let{className:n,render:r,style:a,...i}=e,o=u(),{side:s,align:l}
1=Q(),d=o.useState("open"),c=o.useState("instantType"),p=o.useState("transitionStatus"),m=o.useState("popupProps"),f=o.useState("floatingRootContext");(0,en.useOpenChangeComplete)({open:d,ref:o.context.popupRef,onComplete(){d&&o.context.onOpenChangeComplete?.(!0)}});let g=o.useState("disabled"),h=o.useState("closeDelay");return(0,ea.useHoverFloatingInteraction)(f,{enabled:!g,closeDelay:h}),(0,O.useRenderElement)("div",e,{state:{open:d,side:s,align:l,instant:c,transitionStatus:p},ref:[t,o.context.popupRef,o.useStateSetter("popupElement")],props:[m,(0,er.getDisabledMountTransitionStyles)(p),i],stateAttributesMapping:ei})}),es=a.forwardRef(function(e,t){let{className:n,render:r,style:a,...i}=e,o=u(),s=o.useState("open"),l=o.useState("instantType"),{arrowRef:d,side:c,align:p,arrowUncentered:m,arrowStyles:f}=Q();return(0,O.useRenderElement)("div",e,{state:{open:s,side:c,align:p,uncentered:m,instant:l},ref:[t,d],props:[{style:f,"aria-hidden":!0},i],stateAttributesMapping:T.popupStateMapping})}),el=((n={}).popupWidth="--popup-width",n.popupHeight="--popup-height",n);var ed=e.i(712666);let eu={activationDirection:e=>e?{"data-activation-direction":e}:null},ec=a.forwardRef(function(e,t){let{render:n,className:r,style:a,children:i,...o}=e,s=u(),l=Q(),d=s.useState("instantType"),{children:c,state:p}=(0,ed.usePopupViewport)({store:s,side:l.side,cssVars:el,children:i}),m={activationDirection:p.activationDirection,transitioning:p.transitioning,instant:d};return(0,O.useRenderElement)("div",e,{state:m,ref:t,props:[o,{children:c}],stateAttributesMapping:eu})});class ep{constructor(){this.store=new k}open(e){let t=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!t)throw Error((0,l.default)(81,e));this.store.setOpen(!0,(0,b.createChangeEventDetails)(N.REASONS.imperativeAction,void 0,t))}close(){this.store.setOpen(!1,(0,b.createChangeEventDetails)(N.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",0,es,"Handle",0,ep,"Popup",0,eo,"Portal",0,U,"Positioner",0,ee,"Provider",0,function(e){let{delay:t,closeDelay:n,timeout:i=400}=e,o=a.useMemo(()=>({delay:t,closeDelay:n}),[t,n]),s=a.useMemo(()=>({open:t,close:n}),[t,n]);return(0,r.jsx)(D.Provider,{value:o,children:(0,r.jsx)(Y,{delay:s,timeoutMs:i,children:e.children})})},"Root",0,P,"Trigger",0,F,"Viewport",0,ec,"createHandle",0,function(){return new ep}],527486);var em=e.i(527486),em=em,ef=e.i(234260),eg=e.i(647163);let eh=(0,ef.cva)(["rounded-md px-2.5 py-1 text-sm shadow-sm data-instant:transition-none","origin-[var(--transform-origin)] transition-all duration-150","data-[starting-style]:opacity-0 data-[starting-style]:scale-98","data-[ending-style]:opacity-0 data-[ending-style]:scale-98"],{variants:{variant:{default:"bg-popover text-popover-foreground border border-border",inverted:"bg-foreground text-background"}},defaultVariants:{variant:"default"}});e.s(["Tooltip",0,{Provider:function(e){return(0,r.jsx)(em.Provider,{...e})},Root:function(e){return(0,r.jsx)(em.Root,{...e})},Trigger:function({className:e,...t}){return(0,r.jsx)(em.Trigger,{"data-slot":"tooltip-trigger",className:(0,eg.cn)(e),...t})},Popup:function({className:e,variant:t="default",side:n="top",align:a="center",sideOffset:i=6,alignOffset:o,children:s,...l}){return(0,r.jsx)(em.Portal,{children:(0,r.jsx)(em.Positioner,{"data-slot":"tooltip-positioner",side:n,align:a,sideOffset:i,alignOffset:o,children:(0,r.jsx)(em.Popup,{"data-slot":"tooltip-popup",className:(0,eg.cn)(eh({variant:t}),e),...l,children:s})})})}}],728231)},349786,e=>{"use strict";var t=e.i(843476),n=e.i(522016);e.s([],329902),e.i(329902),e.i(247167);var r=e.i(271645),a=e.i(740582),i=e.i(560752);let o=r.forwardRef(function(e,n){let r={vertical:"horizontal",horizontal:"vertical"}[(0,i.useToolbarRootContext)().orientation];return(0,t.jsx)(a.Separator,{orientation:r,...e,ref:n})});var s=e.i(417514),l=e.i(39060),d=e.i(676477),u=e.i(226292),c=e.i(496374),p=e.i(743801),m=e.i(930780);let f=[];var g=e.i(984977),h=e.i(269095),v=e.i(91822);function x(e){let{render:n,className:a,style:i,refs:o=s.EMPTY_ARRAY,props:x=s.EMPTY_ARRAY,state:b=s.EMPTY_OBJECT,stateAttributesMapping:y,highlightedIndex:w,onHighlightedIndexChange:j,orientation:R,dense:S,itemSizes:C,loopFocus:N,onLoop:I,cols:M,enableHomeAndEndKeys:E,onMapChange:k,stopEventPropagation:P=!0,rootRef:T,disabledIndices:O,modifierKeys:A,highlightItemOnHover:D=!1,tag:_="div",...L}=e,{props:z,highlightedIndex:W,onHighlightedIndexChange:Y,elementsRef:H,onMapChange:V,relayKeyboardEvent:Z}=function(e){let{itemSizes:t,cols:n=1,loopFocus:a=!0,onLoop:i,dense:o=!1,orientation:s="both",direction:l,highlightedIndex:g,onHighlightedIndexChange:h,rootRef:v,enableHomeAndEndKeys:x=!1,stopEventPropagation:b=!1,disabledIndices:y,modifierKeys:w=f}=e,[j,R]=r.useState(0),S=n>1,C=r.useRef(null),N=(0,u.useMergedRefs)(C,v),I=r.useRef([]),M=r.useRef(!1),E=g??j,k=(0,d.useStableCallback)((e,t=!1)=>
1{if((h??R)(e),t){let t=I.current[e];(0,c.scrollIntoViewIfNeeded)(C.current,t,l,s)}}),P=(0,d.useStableCallback)(e=>{if(0===e.size||M.current)return;M.current=!0;let t=Array.from(e.keys()),n=t.find(e=>e?.hasAttribute("data-composite-item-active"))??null,r=n?t.indexOf(n):-1;-1!==r&&k(r),(0,c.scrollIntoViewIfNeeded)(C.current,n,l,s)}),T=(0,d.useStableCallback)((e,t,n)=>i?i?.(e,t,n,I):n),O=r.useMemo(()=>({"aria-orientation":"both"===s?void 0:s,ref:N,onFocus(e){let t=C.current,n=(0,m.getTarget)(e.nativeEvent);t&&null!=n&&(0,c.isNativeInput)(n)&&n.setSelectionRange(0,n.value.length??0)},onKeyDown(e){let r=x?c.ALL_KEYS:c.ARROW_KEYS;if(!r.has(e.key)||function(e,t){for(let n of c.MODIFIER_KEYS.values())if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}(e,w)||!C.current)return;let d="rtl"===l,u=d?c.ARROW_LEFT:c.ARROW_RIGHT,f={horizontal:u,vertical:c.ARROW_DOWN,both:u}[s],g=d?c.ARROW_RIGHT:c.ARROW_LEFT,h={horizontal:g,vertical:c.ARROW_UP,both:g}[s],v=(0,m.getTarget)(e.nativeEvent);if(null!=v&&(0,c.isNativeInput)(v)&&!(null==v||v.hasAttribute("disabled")||"true"===v.getAttribute("aria-disabled"))){let t=v.selectionStart,n=v.selectionEnd,r=v.value??"";if(null==t||e.shiftKey||t!==n||e.key!==h&&t<r.length||e.key!==f&&t>0)return}let j=E,R=(0,p.getMinListIndex)(I,y),N=(0,p.getMaxListIndex)(I,y);if(S){let r=t||Array.from({length:I.current.length},()=>({width:1,height:1})),i=(0,p.createGridCellMap)(r,n,o),l=i.findIndex(e=>null!=e&&!(0,p.isListIndexDisabled)(I.current,e,y)),u=i.reduce((e,t,n)=>null==t||(0,p.isListIndexDisabled)(I.current,t,y)?e:n,-1);j=i[(0,p.getGridNavigatedIndex)(i.map(e=>null!=e?I.current[e]:null),{event:e,orientation:s,loopFocus:a,onLoop:T,cols:n,disabledIndices:(0,p.getGridCellIndices)([...y||I.current.map((e,t)=>(0,p.isListIndexDisabled)(I.current,t)?t:void 0),void 0],i),minIndex:l,maxIndex:u,prevIndex:(0,p.getGridCellIndexOfCorner)(E>N?R:E,r,i,n,e.key===c.ARROW_DOWN?"bl":e.key===c.ARROW_RIGHT?"tr":"tl"),rtl:d})]}let M={horizontal:[u],vertical:[c.ARROW_DOWN],both:[u,c.ARROW_DOWN]}[s],P={horizontal:[g],vertical:[c.ARROW_UP],both:[g,c.ARROW_UP]}[s],O=S?r:({horizontal:x?c.HORIZONTAL_KEYS_WITH_EXTRA_KEYS:c.HORIZONTAL_KEYS,vertical:x?c.VERTICAL_KEYS_WITH_EXTRA_KEYS:c.VERTICAL_KEYS,both:r})[s];x&&(e.key===c.HOME?j=R:e.key===c.END&&(j=N)),j===E&&(M.includes(e.key)||P.includes(e.key))&&(a&&j===N&&M.includes(e.key)?(j=R,i&&(j=i(e,E,j,I))):a&&j===R&&P.includes(e.key)?(j=N,i&&(j=i(e,E,j,I))):j=(0,p.findNonDisabledListIndex)(I.current,{startingIndex:j,decrement:P.includes(e.key),disabledIndices:y})),j===E||(0,p.isIndexOutOfListBounds)(I.current,j)||(b&&e.stopPropagation(),O.has(e.key)&&e.preventDefault(),k(j,!0),queueMicrotask(()=>{I.current[j]?.focus()}))}}),[n,o,l,y,I,x,E,S,t,a,i,T,N,w,k,s,b]);return r.useMemo(()=>({props:O,highlightedIndex:E,onHighlightedIndexChange:k,elementsRef:I,disabledIndices:y,onMapChange:P,relayKeyboardEvent:O.onKeyDown}),[O,E,k,I,y,P])}({itemSizes:C,cols:M,loopFocus:N,onLoop:I,dense:S,orientation:R,highlightedIndex:w,onHighlightedIndexChange:j,rootRef:T,stopEventPropagation:P,enableHomeAndEndKeys:E,direction:(0,v.useDirection)(),disabledIndices:O,modifierKeys:A}),F=(0,h.useRenderElement)(_,e,{state:b,ref:o,props:[z,...x,L],stateAttributesMapping:y}),G=r.useMemo(()=>({highlightedIndex:W,onHighlightedIndexChange:Y,highlightItemOnHover:D,relayKeyboardEvent:Z}),[W,Y,D,Z]);return(0,t.jsx)(g.CompositeRootContext.Provider,{value:G,children:(0,t.jsx)(l.CompositeList,{elementsRef:H,onMapChange:e=>{k?.(e),V(e)},children:F})})}let b=r.forwardRef(function(e,n){let{disabled:a=!1,loopFocus:o=!0,orientation:s="horizontal",className:l,render:d,style:u,...c}=e,[p,m]=r.useState(()=>new Map),f=r.useMemo(()=>{let e=[];for(let t of p.values())t?.index&&!t.focusableWhenDisabled&&e.push(t.index);return e},[p]),g=r.useMemo(()=>({disabled:a,orientation:s,setItemMap:m}),[a,s,m]);return(0,t.jsx)(i.ToolbarRootContext.Provider,{value:g,children:(0,t.jsx)(x,{render:d,className:l,style:u,state:{disabled:a,orientation:s},refs:[n],props:[{"aria-orientation":s,role:"toolbar"},c],disabledIndices:f,loopFocus:o,onMapChange:m,orientation:s})})});var y=e.i(367805);let w=r.createContext(void 0);function j(e){let t=r.useContext(w);if(void 0===t&&!e)throw Error((0,y.default)(68));return t}let R=r.forwardRef(function(e,n){let{className:a,disabled:o=!1,render:s,style:l,...d}=e,{orientation:u,disabled:c}=(0,i.useToolbarRootContext)(),p=c||o,m=r.useMemo(()=>({disabled:p}),[p]),f=(0,h.useRenderElement)("div",e,{state:{disabled:p,orientation:u},ref:n,props:[{role:"group"},d]});return(0,t.jsx)(w.Provider,{value:m,children:f})});var S=e.i(853402),C=e.i(430084);let N=r.forwardRef(function(e,n){let{className:a,disabled:o=!1,focusableWhenDisabled:s=!0,render:l,nativeButton:d=!0,style:u,...c}=e,p=r.useMemo(()=>({focusableWhenDisabled:s}),[s]),{disabled:m,orientation:f}=(0,i.useToolbarRootContext)(),g=j(!0),h=m||(g?.disabled??!1)||o,{getButtonProps:v,buttonRef:x}=(0,S.useButton)({disabled:h,focusableWhenDisabled:s,native:d});return(0,t.jsx)(C.CompositeItem,{tag:"button",render:l,className:a,style:u,metadata:p,state:{disabled:h,orientation:f,focusable:s},refs:[n,x],props:[c,{disabled:h},v]})}),I={focusableWhenDisabled:!0},M=r.forwardRef(function(e,n){let{className:r,render:a,style:o,...s}=e,{orientation:l}=(0,i.useToolbarRootContext)();return(0,t.jsx)(C.CompositeItem,{tag:"a",render:a,className:r,style:o,metadata:I,state:{orientation:l},refs:[n],props:[s]})});var E=e.i(861154),k=e.i(282033);let P=r.forwardRef(function(e,n){let{className:a,focusableWhenDisabled:o=!0,render:s,disabled:l=!1,style:d,...u}=e,p=r.useMemo(()=>({focusableWhenDisabled:o}),[o]),{disabled:m,orientation:f}=(0,i.useToolbarRootContext)(),g=j(!0),h=m||(g?.disabled??!1)||l,{props:v}=(0,E.useFocusableWhenDisabled)({composite:!0,disabled:h,focusableWhenDisabled:o,isNativeButton:!1});return(0,t.jsx)(C.CompositeItem,{tag:"input",render:s,className:a,style:d,metadata:p,state:{disabled:h,orientation:f,focusable:o},refs:[n],props:[{onClick(e){h&&e.preventDefault()},onKeyDown(e){e.key!==c.ARROW_LEFT&&e.key!==c.ARROW_RIGHT&&h&&(0,k.stopEvent)(e)},onPointerDown(e){h&&e.preventDefault()}},u,v]})});e.s(["Button",0,N,"Group",0,R,"Input",0,P,"Link",0,M,"Root",0,b,"Separator",0,o],769959);var T=e.i(769959),T=T,T=T,O=e.i(796782),A=e.i(728231),D=({children:e,size:t=24,ariaLabel:n,color:a,ariaHidden:i=!0,style:o,...s})=>r.default.createElement("svg",{...s,"aria-hidden":i,role:i?void 0:"img",width:"number"==typeof t?`${t}px`:t,height:"number"==typeof t?`${t}px`:t,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{color:a,...o}},n&&!i&&r.default.createElement("title",null,n),e),_=e=>r.default.createElement(D,{...e,ariaLabel:"appearance-dark-mode, switch"},r.default.createElement("path",{d:"M12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16V8Z",fill:"currentColor"}),r.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2ZM12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16V20.5C16.6944 20.5 20.5 16.6944 20.5 12C20.5 7.30558 16.6944 3.5 12 3.5V8Z",fill:"currentColor"})),L=e.i(363178),z=e.i(734080),W=e.i(385315);function Y(){let{theme:e,setTheme:n}=(0,L.useTheme)(),r=(0,W.useSoundState)(e=>e.playToggle);return(0,t.jsxs)(O.Menu.Root,{children:[(0,t.jsxs)(A.Tooltip.Root,{children:[(0,t.jsx)(A.Tooltip.Trigger,{render:(0,t.jsx)(T.Button,{render:(0,t.jsx)(O.Menu.Trigger,{}),"aria-label":"Theme Switcher",className:"flex size-8 items-center justify-center rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 data-
1popup-open:bg-header-indicator"}),children:(0,t.jsx)(_,{className:"size-4.5","aria-hidden":!0})}),(0,t.jsx)(A.Tooltip.Popup,{side:"top",children:"Theme"})]}),(0,t.jsx)(O.Menu.Portal,{children:(0,t.jsx)(O.Menu.Positioner,{side:"top",align:"end",sideOffset:8,children:(0,t.jsx)(O.Menu.Popup,{children:(0,t.jsx)(O.Menu.RadioGroup,{value:e,onValueChange:e=>{n(e),r(!0)},children:z.THEMES.map(e=>(0,t.jsxs)(O.Menu.RadioItem,{value:e.value,children:[e.name,(0,t.jsx)(O.Menu.RadioItemIndicator,{})]},e.value))})})})})]})}var H=e.i(88653),V=e.i(846932),Z=e.i(772328),F=e.i(647163),G=e.i(255667),B=e.i(887652),U=e.i(344230),K=e.i(947414),Q=e.i(287022),X=e.i(674008);function q(e,t){let n=(0,B.useMotionValue)(t()),r=()=>n.set(t());return r(),(0,X.useIsomorphicLayoutEffect)(()=>{let t=()=>Q.frame.preRender(r,!1,!0),n=e.map(e=>e.on("change",t));return()=>{n.forEach(e=>e()),(0,Q.cancelFrame)(r)}}),n}var J=e.i(486427);function $(e,t){let n=(0,K.useConstant)(()=>[]);return q(e,()=>{n.length=0;let r=e.length;for(let t=0;t<r;t++)n[t]=e[t].get();return t(n)})}let ee=({background:e="var(--color-header-scroll-progress)",foreground:n="var(--color-header-foreground)",className:r,...a})=>{let i=(0,B.useMotionValue)(0);(0,G.useLenis)(e=>{i.set(e.progress)});let o=function e(t,n,r,a){if("function"==typeof t){let e;return J.collectMotionValues.current=[],t(),e=q(J.collectMotionValues.current,t),J.collectMotionValues.current=void 0,e}if(void 0!==r&&!Array.isArray(r)&&"function"!=typeof n){var i=t,o=n,s=r,l=a;let d=(0,K.useConstant)(()=>Object.keys(s)),u=(0,K.useConstant)(()=>({}));for(let t of d)u[t]=e(i,o,s[t],l);return u}let d="function"==typeof n?n:function(...e){let t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],a=e[1+n],i=e[2+n],o=e[3+n],s=(0,U.interpolate)(a,i,o);return t?s(r):s}(n,r,a),u=Array.isArray(t)?$(t,d):$([t],([e])=>d(e)),c=Array.isArray(t)?void 0:t.accelerate;return c&&!c.isTransformed&&"function"!=typeof n&&Array.isArray(r)&&a?.clamp!==!1&&(u.accelerate={...c,times:n,keyframes:r,isTransformed:!0,...a?.ease?{ease:a.ease}:{}}),u}(i,[0,1],["inset(0% 100% 0% 0% round 6px)","inset(0% 0% 0% 0% round 6px)"]);return(0,t.jsx)("div",{style:{backgroundColor:e},className:(0,F.cn)("pointer-events-none absolute inset-0 overflow-hidden",r),...a,children:(0,t.jsx)(V.motion.div,{className:"absolute top-0 left-0 h-full w-full -z-[1] bg-foreground scale-x-[1.05] origin-right",style:{backgroundColor:e,clipPath:o}})})};var et=e.i(458798),en=e.i(618566),er=e.i(171182),ea=e.i(648563);function ei({children:e,property:n="both",className:r,...a}){let[i,o]=(0,ea.default)(),s=(0,Z.useReducedMotion)(),l=(0,t.jsx)("div",{ref:i,className:(0,F.cn)(r),...a,children:e});return s?l:(0,t.jsx)(V.motion.div,{animate:{height:"height"===n&&o.height>0?o.height:"auto",width:"width"===n&&o.width>0?o.width:"auto"},transition:{duration:.2,ease:[.19,1,.22,1]},children:l})}e.s(["Header",0,function({labCount:e,archiveCount:r}){let a=(0,et.useApp)(e=>e.aboutOpen),i=(0,et.useApp)(e=>e.setAboutOpen),o=(0,en.usePathname)(),s=(0,Z.useReducedMotion)();return(0,t.jsxs)(T.Root,{render:(0,t.jsx)("header",{}),className:(0,F.cn)("fixed bottom-5 left-1/2 z-10 mx-auto w-full max-w-sm -translate-x-1/2 overflow-hidden rounded-2xl p-1 text-header-foreground shadow-sm md:bottom-6 md:max-w-sm","backdrop-blur-lg backdrop-saturate-300 backdrop-brightness-200 backdrop-contrast-100","[background:var(--color-header)]","transition-[opacity,translate] duration-300 ease-out motion-reduce:transition-none"),children:[(0,t.jsx)(ee,{"aria-hidden":!0}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(T.Group,{"aria-label":"Main",className:"flex items-center gap-0",render:(0,t.jsx)("nav",{}),children:[{label:"Index",href:"/"},{label:"Lab",href:"/lab",count:e},{label:"Archive",href:"/archive",count:r}].map(e=>{let r=o===e.href,a=!!(e.count&&r);return(0,t.jsxs)(T.Link,{render:(0,t.jsx)(n.default,{href:e.href}),className:(0,F.cn)("relative block rounded-xl px-1.5 py-1 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",e.count&&r&&"pr-1.5"),"aria-current":r?"page":void 0,children:[(0,t.jsxs)(ei,{className:"inline-flex items-center gap-1.5",property:"width",children:[e.label,(0,t.jsx)(H.AnimatePresence,{initial:!1,mode:"popLayout",children:a&&(0,t.jsx)(V.motion.div,{initial:!s&&{opacity:0,x:-16},animate:s?void 0:{opacity:1,x:0},exit:s?void 0:{opacity:0,x:-16},transition:s?{duration:0}:{duration:.5,ease:[.19,1,.22,1]}
1,children:(0,t.jsxs)(er.Chip,{className:"block rounded-xs bg-tertiary px-1 py-0.5 text-xs font-medium tabular-nums text-tertiary-foreground",children:[(0,t.jsxs)("span",{className:"sr-only",children:[e.count," items"]}),(0,t.jsx)("span",{"aria-hidden":!0,children:e.count})]})})})]}),r&&(s?(0,t.jsx)("div",{className:"absolute inset-0 -z-1 rounded-md bg-header-indicator","aria-hidden":!0}):(0,t.jsx)(V.motion.div,{style:{originY:"0px"},layoutId:"active-nav-item",className:"absolute inset-0 -z-1 rounded-md bg-header-indicator backdrop-blur-md",transition:{type:"spring",duration:.5},"aria-hidden":!0}))]},e.href)})}),(0,t.jsxs)(T.Group,{"aria-label":"Site",className:"flex w-fit items-center gap-0",children:[(0,t.jsx)(T.Button,{type:"button","aria-expanded":a,"aria-haspopup":"dialog","aria-controls":"about-panel","data-about-open":a,className:'block rounded-xl px-1.5 py-1 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 data-[about-open="true"]:bg-header-indicator',onClick:()=>i(!a),children:"Info"}),(0,t.jsx)(A.Tooltip.Provider,{delay:100,children:(0,t.jsx)(Y,{})})]})]})]})}],349786)},332040,e=>{"use strict";var t=e.i(271235);async function n(e){let t=await fetch(e,{cache:"no-store"});if(!t.ok)throw Error(`Request failed with status ${t.status}`);return t.json()}e.s(["fetcher",0,n,"preloadSpotifyCube",0,function(){(0,t.preload)("/api/spotify",n).then(e=>{let t=e?.tracks?.[0]?.image;t&&(new Image().src=t)}).catch(()=>{})}])},587491,e=>{"use strict";var t=e.i(843476),n=e.i(580164),r=e.i(657688),a=e.i(170521),i=e.i(998341),o=e.i(273016),s=e.i(351888);function l(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function d(e){return{MuxVideo:a.VideoPlayer,InlinePreview:i.InlinePreview,Demo:o.Demo,Callout:s.Callout,h2:e=>(0,t.jsx)("h2",{id:l(e.children),className:"mt-0 not-first:mt-12 mb-2 scroll-mt-24 text-xl text-muted-foreground font-serif leading-tight",children:e.children}),h3:e=>(0,t.jsx)("h3",{id:l(e.children),className:"mt-10 mb-3 text-xl scroll-mt-24 text-muted-foreground font-serif leading-tight",children:e.children}),h4:e=>(0,t.jsx)("h4",{id:l(e.children),className:"mb-1 text-base font-normal py-0.5 scroll-mt-24 text-muted-foreground w-fit px-2 bg-muted rounded-xs",children:e.children}),p:e=>(0,t.jsx)("p",{className:"first:mt-0 mb-6 leading-normal text-foreground/85",...e}),a:e=>(0,t.jsx)("a",{target:"_blank",rel:"noopener noreferrer",className:"text-foreground/60 underline underline-offset-2 hover:text-foreground",...e}),em:e=>(0,t.jsx)("em",{className:"italic font-serif",...e}),ul:e=>(0,t.jsx)("ul",{className:"my-4 list-none pl-0 text-foreground/85",...e}),ol:e=>(0,t.jsx)("ol",{className:"my-4 list-decimal pl-6 text-foreground/85",...e}),li:e=>(0,t.jsxs)("li",{className:"my-1.5 flex items-start gap-2",children:[(0,t.jsx)("span",{className:"mt-2 size-2 shrink-0 rounded-[2px] bg-foreground
1/10","aria-hidden":!0}),(0,t.jsx)("span",{children:e.children})]}),strong:e=>(0,t.jsx)("strong",{className:"font-medium text-foreground",...e}),blockquote:e=>(0,t.jsx)("blockquote",{className:"my-4 border-l-2 border-border pl-4 text-muted-foreground italic",...e}),code:e=>(0,t.jsx)("code",{className:"rounded bg-secondary px-1.5 py-0.5 text-sm font-mono text-foreground",...e}),pre:e=>(0,t.jsx)("pre",{className:"my-4 overflow-x-auto rounded-lg bg-secondary p-4 text-sm font-mono",...e}),hr:()=>(0,t.jsx)("hr",{className:"my-8 md:my-16 border-border max-w-sm mx-auto"}),img:({src:e,alt:n,width:a,height:i,...o})=>(0,t.jsx)(r.default,{src:e,alt:n??"",width:Number(a)||1200,height:Number(i)||675,className:"my-4 rounded-lg",...o}),...e}}function u(e){let n=Object.assign({p:"p"},d(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"I am a UI engineer with a focus on interaction design and front-end web applications."}),"\n",(0,t.jsx)(n.p,{children:"I develop web apps that provide rich & pixel-perfect user interfaces backed with leading technologies. Big on startups, design systems in the era of creative technology"})]})}let c=function(e={}){let{wrapper:n}=Object.assign({},d(),e.components);return n?(0,t.jsx)(n,Object.assign({},e,{children:(0,t.jsx)(u,e)})):u(e)};var p=e.i(668909);function m(e){let n=Object.assign({p:"p"},d(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["Recently worked as a design engineer at ",(0,t.jsx)(i.InlinePreview,Object.assign({},p.equalIqPreview,{children:"Equal IQ"}))]}),"\n",(0,t.jsxs)(n.p,{children:["Before that, I was a UI engineer at ",(0,t.jsx)(i.InlinePreview,Object.assign({},p.ciscoPreview,{children:"Cisco Systems"})),", where I helped build the interface for LaaS, a network management platform for provisioning virtual devices and visualizing network topologies."]}),"\n",(0,t.jsx)(n.p,{children:"Earlier on, I worked as a freelance front-end developer, building marketing websites and web apps."})]})}let f=function(e={}){let{wrapper:n}=Object.assign({},d(),e.components);return n?(0,t.jsx)(n,Object.assign({},e,{children:(0,t.jsx)(m,e)})):m(e)};var g=e.i(237491),h=e.i(458798),v=e.i(647163),x=e.i(840288);let b=[{image:"https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExNzNrNG04cTloeWZlZnQ0dDBxNmN0ZHlkb2lyeWZ0bWpsdHM3eGE1YiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/xT5LMtqNw2PS9UQU1y/giphy.gif",label:"Mail",href:"mailto:[email protected]",title:"Email",description:"Reach out for work, collaborations, or a conversation."},{image:"https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExYXJqYzVtbXY2cnNraHNhMmZicGtoank5ZGhzdDF6eW9wcHh2ZXYyZiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/DNgDjevQMke8MzP4l6/giphy.gif",label:"LinkedIn",href:"https://linkedin.com/in/tobi-balogun",title:"LinkedIn",description:"Professional profile and experience."},{image:"https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExZ3VscW5wbW5xZnB3ZnR4dm1md3dqOG1ua3poY3hjd2w5ZWlwYXI0eSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/7NoNw4pMNTvgc/giphy.gif",label:"Github",href:"http://github.com/cupofcrazy",title:"GitHub",description:"Code and open-source work."},{image:"https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExYmlzcHhoM3JsbGJsM3JqcjJtYmUzazNkNnNkcmJqeGl2NnJrMmgzbyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/A1oBMukTqFfkoY1HiH/giphy.gif",label:"Instagram",href:"https://instagram.com/oxfftobi",title:"Instagram",description:"Visual snapshots and process."},{label:"Twitter [X]",image:"https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExZmE2bG9tdHRvZGc5aGYzNXN6dmF3YW9jaHRocWFkNHBzNndwMnQzdiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/zCHnEV6OQXQoZKEabT/giphy.gif",href:"https://twitter.com/tobi_ol",title:"X (Twitter)",description:"Short thoughts and links."}];var y=e.i(325015),w=e.i(271645),j=e.i(283599),R=e.i(190072),S=e.i(575056),C=e.i(224384);let N=(e,t,n)=>(1-n)*e+n*t,I=[.8,.4,.7],M=({children:e,className:n,image:r,size:a=1,canvasClassName:i,controls:o})=>{let s=function(){let[e,t]=(0,w.useState)(!1);return(0,w.useEffect)(()=>t(!0),[]),e}(),[l,d]=(0,w.useState)(1),u=(0,w.useRef)(null),c=(0,w.useRef)(null),p=(0,w.useRef)(null),m=(0,w.useMemo)(()=>(0,C.createNoise3D)(),[]),f=(0,w.useRef)(null);
1f.current||(f.current=new R.Vector2(0,0));let g=(0,w.useRef)(0),h=(0,w.useRef)(0),x=(0,w.useRef)(0),b=(0,w.useRef)(.1),y=(0,w.useRef)(null),j=(0,w.useRef)(!1),M=o?.noiseScale??1,E=o?.timeScale??.5,k=o?.baseDisplacement??.085,P=o?.metallic??.9,T=o?.smoothness??.9,O=o?.lightIntensity??1.5,A=o?.textureMix??1,[D,_,L]=o?.lightDirection??I,z=o?.idleRotationSpeed??.1,W=o?.rotationLerp??.05,Y=o?.tiltIdle??.25,H=o?.tiltActive??.6,V=o?.tiltLerp??.08,Z=Math.max(1,2/Math.max(l,1e-4)),F=o?.textureRepeatX??Z,G=(0,w.useMemo)(()=>{let e=new R.TextureLoader().load(r,e=>{let t=e.image;d((t?.width??1)/(t?.height??1))});return e.colorSpace=R.SRGBColorSpace,e.wrapS=R.MirroredRepeatWrapping,e.wrapT=R.ClampToEdgeWrapping,e},[r]);(0,w.useEffect)(()=>()=>{G.dispose()},[G]);let B=(0,w.useMemo)(()=>({uMap:{value:G},uMetallic:{value:P},uSmoothness:{value:T},uLightIntensity:{value:O},uLightDir:{value:new R.Vector3(D,_,L).normalize()},uTextureMix:{value:A},uMapRepeat:{value:new R.Vector2(F,1)}}),[G,P,T,O,D,_,L,A,F]);return((0,w.useEffect)(()=>{B.uMetallic.value=P,B.uSmoothness.value=T,B.uLightIntensity.value=O,B.uTextureMix.value=A,B.uLightDir.value.set(D,_,L).normalize(),B.uMapRepeat.value.set(F,1)},[B,P,T,O,A,D,_,L,F]),(0,w.useEffect)(()=>{p.current=null},[a]),s)?(0,t.jsx)("div",{className:(0,v.cn)(n,i),onPointerEnter:e=>{let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width,r=(e.clientY-t.top)/t.height;f.current.set(2*n-1,-(2*r-1)),j.current=!0},onPointerMove:e=>{let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width,r=(e.clientY-t.top)/t.height;f.current.set(2*n-1,-(2*r-1))},onPointerLeave:()=>{f.current.set(0,0),j.current=!1},children:(0,t.jsxs)(S.Canvas,{className:"h-full w-full",camera:{fov:75,position:[0,0,1.6],far:1e3,near:.1},frameloop:"always",gl:{antialias:!0},children:[(0,t.jsx)("ambientLight",{intensity:.3}),(0,t.jsx)("directionalLight",{color:"#ffffff",intensity:1.5,position:[5,6,5]}),e,(0,t.jsx)("group",{ref:u,children:(0,t.jsxs)("mesh",{ref:c,onBeforeRender:()=>{let e=.001*performance.now(),t=y.current??e;if(y.current=e,u.current){let n=j.current?0:z;b.current=N(b.current,n,W),x.current+=(e-t)*b.current;let r=j.current?H:Y;g.current=N(g.current,f.current.x*r,V),h.current=N(h.current,-f.current.y*r,V),u.current.rotation.y=x.current+g.current,u.current.rotation.x=h.current}let n=c.current?.geometry,r=n?.attributes.position;if(r){p.current||(p.current=Float32Array.from(r.array));let t=p.current,n=e*E;for(let e=0;e<r.count;e++){let a=3*e,i=t[a],o=t[a+1],s=t[a+2],l=Math.hypot(i,o,s)||1,d=i/l,u=o/l,c=s/l,p=m(i*M+.6*n,o*M-.3*n,(s+n)*M+.45*n)*k;r.setXYZ(e,i+d*p,o+u*p,s+c*p)}r.needsUpdate=!0}},children:[(0,t.jsx)("sphereGeometry",{args:[a/1.5,180,180]}),(0,t.jsx)("shaderMaterial",{uniforms:B,side:R.DoubleSide,vertexShader:` 2 varying vec2 vUv; 3 varying vec3 vNormal; 4 varying vec3 vWorldPosition; 5 6 void main() { 7 vUv = uv; 8 9 vNormal = normalize(normalMatrix * normal); 10 vWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz; 11 12 gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); 13 } 14 `,fragmentShader:` 15 uniform sampler2D uMap; 16 uniform float uMetallic; 17 uniform float uSmoothness; 18 uniform float uLightIntensity; 19 uniform vec3 uLightDir; 20 uniform float uTextureMix; 21 uniform vec2 uMapRepeat; 22 23 varying vec2 vUv; 24 varying vec3 vNormal; 25 varying vec3 vWorldPosition; 26 27 void main() { 28 vec3 normal = normalize(vNormal); 29 vec2 mapUv = vec2(vUv.x * uMapRepeat.x, clamp(vUv.y, 0.0, 1.0)); 30 vec3 albedo = mix(vec3(1.0), texture2D(uMap, mapUv).rgb, uTextureMix); 31 32 vec3 matte = vec3(0.18) * albedo; 33 34 vec3 lightdir = normalize(uLightDir); 35 float sunDiffuse = clamp(dot(normal, lightdir), 0.0, 1.0); 36 float skyDiffuse = clamp(0.5 + 0.5 * dot(normal, vec3(0.0, 1.0, 0.0)), 0.0, 1.0); 37 float bounceDiffuse = clamp(0.5 + 0.5 * dot(normal, vec3(0.0, -1.0, 0.0)), 0.0, 1.0); 38 39 vec3 diffuseCol = matte * vec3(7.0, 4.5, 3.0) * sunDiffuse * uLightIntensity; 40 diffuseCol += matte * vec3(0.5, 0.8, 0.9) * skyDiffuse; 41 diffuseCol += matte * vec3(0.7, 0.3, 0.2) * bounceDiffuse * (1.0 - uMetallic); 42 43 vec3 viewDir = normalize(cameraPosition - vWorldPosition); 44 vec3 reflectDir = reflect(-lightdir, normal); 45 float spec = pow(max(dot(viewDir, reflectDir), 0.0), max(uSmoothness, 0.001) * 128.0); 46 vec3 specular = vec3(1.0) * spec * 1.35 * uMetallic; 47 48 vec3 finalcol = diffuseCol + specular; 49 50 gl_FragColor = vec4(finalcol, 1.0); 51 #include <tonemapping_fragment> 52 #include <colorspace_fragment> 53 } 54 `})]})})]})}):(0,t.jsx)("div",{className:(0,v.cn)(n,i),"aria-hidden":"true"})};var E=e.i(88653),k=e.i(846932),P=e.i(772328),T=e.i(332040);function O({className:e,canvasClassName:n,waveColors:r=["rgba(0, 208, 255, 0.3)","rgba(255, 234, 0, 0.3)","rgba(222, 255, 234, 0.3)"],waveDuration:a=1.8}){let{data:i,isLoading:o,error:s}=(0,j.default)("/api/spotify",T.fetcher,{revalidateOnFocus:!0}),l=(0,P.useReducedMotion)(),d=(0,w.useRef)(null),[u,c]=(0,w.useState)(null),p=i?.tracks?.[0];return((0,w.useEffect)(()=>
54{p?.id&&(d.current&&d.current!==p.id&&!l&&c(Date.now()),d.current=p.id)},[p?.id,l]),!s&&(o||p))?(0,t.jsxs)("section",{"aria-label":"Recently played on Spotify","aria-busy":o,className:(0,v.cn)("flex min-w-0 w-fit max-w-full flex-col gap-2 rounded-xl",e),children:[(0,t.jsxs)("div",{className:(0,v.cn)("px-0.5 pl-2 py-0.5 bg-background/10 shadow-xs border border-border rounded-full w-fit","flex flex-row gap-2 items-center cursor-pointer hover:bg-background/20 transition-colors"),children:[(0,t.jsx)("p",{className:"text-sm text-foreground/60",children:"Last Played on Spotify"}),(0,t.jsx)(g.IconSpotify,{"aria-hidden":"true",className:"size-5 text-[#18e05e]"})]}),(0,t.jsxs)("div",{className:"flex w-full min-w-0 flex-col gap-2 pt-0",children:[(0,t.jsxs)("div",{role:"img","aria-label":p?`Album art for ${p.name} by ${p.artist}`:"Loading album art",className:(0,v.cn)("relative isolate bg-accent/10 rounded-lg overflow-hidden",n),children:[o?(0,t.jsx)("div",{className:"w-full h-full bg-foreground/10 animate-pulse"}):(0,t.jsx)(E.AnimatePresence,{mode:"wait",children:p&&(0,t.jsx)(k.motion.div,{className:"w-full h-full",initial:{opacity:0}
54,animate:{opacity:1},exit:{opacity:0},transition:{duration:.4,ease:"easeInOut"},children:(0,t.jsx)(M,{image:p.image,size:1.15,className:"w-full h-full"})},p.id)}),(0,t.jsx)(E.AnimatePresence,{children:null!==u&&(0,t.jsx)(k.motion.div,{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 overflow-hidden",initial:{opacity:1},animate:{opacity:1},exit:{opacity:0},children:(0,t.jsx)(k.motion.div,{className:"absolute inset-x-[-20%] h-[110%] rounded-[999px] blur-xl",style:{background:`linear-gradient(180deg, ${r[0]} 0%, ${r[1]} 55%, ${r[2]} 100%)`},initial:{y:"130%",opacity:0},animate:{y:["130%","15%","-120%"],opacity:[0,.95,0]},transition:{duration:a,ease:[.19,1,.22,1],times:[0,.35,1]},onAnimationComplete:()=>c(null)})},u)})]}),(0,t.jsx)(E.AnimatePresence,{mode:"wait",children:!o&&p&&(0,t.jsxs)(k.motion.a,{title:p.name+" by "+p.artist,href:p.url,target:"_blank",rel:"noopener noreferrer",className:"block max-w-48 min-w-0 overflow-hidden hover:opacity-80 transition-opacity",children:[(0,t.jsx)("p",{className:"min-w-0 text-ellipsis truncate",children:p.name}),(0,t.jsx)("p",{className:"min-w-0 text-ellipsis truncate text-foreground/60",children:p.artist})]},p.id)})]})]}):null}let A=[{id:"design-systems",label:"Design Systems"},{id:"interaction-design",label:"Interaction Design"},{id:"react",label:"React"},{id:"typescript",label:"TypeScript"},{id:"vue",label:"Vue"},{id:"nuxt",label:"Nuxt"},{id:"sanity-cms",label:"Sanity CMS"},{id:"figma",label:"Figma"},{id:"adobe-suite",label:"Adobe Suite"},{id:"blender",label:"Blender"}];var D=e.i(167881),_=e.i(728231),L=e.i(320333),z=e.i(385315);function W({lastUpdated:e="June 2026",className:n}){return(0,t.jsxs)("div",{className:n,children:[(0,t.jsx)(H,{}),(0,t.jsx)(Y,{lastUpdated:e})]})}function Y({lastUpdated:e,className:n}){let[r,a]=w.useState(null);return w.useEffect(()=>a(new Date().getFullYear()),[]),(0,t.jsx)("div",{className:(0,v.cn)("text-muted-foreground text-sm",n),children:(0,t.jsxs)("p",{children:["Last updated: ",e]})})}function H(){let e=(0,L.useDraggableImage)(e=>e.open),n=(0,L.useDraggableImage)(e=>e.toggle),a=(0,z.useSoundState)(e=>e.playToggle);return(0,t.jsx)(_.Tooltip.Provider,{children:(0,t.jsxs)(_.Tooltip.Root,{children:[(0,t.jsx)(_.Tooltip.Trigger,{render:(0,t.jsx)(D.Button,{variant:"ghost",className:"p-0 not-disabled:hover:bg-transparent","aria-label":"Toggle draggable image","aria-pressed":e,onClick:()=>{n(),a(!e)}}),children:(0,t.jsx)(r.default,{src:"/images/profile.png",alt:"",width:128,height:128,className:"size-16 lg:size-20 object-cover"})}),(0,t.jsx)(_.Tooltip.Popup,{side:"top",children:"ð"})]})})}let V=x.PreviewCard.createHandle(),Z=Object.fromEntries(b.map(e=>[e.label,(0,t.jsx)("div",{className:"w-min box-border flex flex-col gap-2",children:e.image&&(0,t.jsx)(r.default,{unoptimized:!0,preload:!0,width:"224",height:"150",className:"block rounded-xs max-w-none object-cover",src:e.image,alt:e.label})})]));function F(){return(0,t.jsxs)("div",{children:[(0,t.jsx)("nav",{"aria-label":"Social links",className:"flex w-fit flex-col gap-0",children:b.map(e=>{var n;return(0,t.jsx)(x.PreviewCard.Trigger,{delay:300,className:"flex w-full items-center rounded-sm text-muted-foreground no-underline outline-none transition-colors hover:text-foreground hover:underline underline-offset-2 focus-visible:ring-[3px] focus-visible:ring-ring/50 motion-reduce:transition-none",handle:V,href:e.href,payload:Z[e.label],render:(n=e.href).startsWith("http://")||n.startsWith("https://")?(0,t.jsx)("a",{className:"w-fit",href:e.href,rel:"noopener noreferrer",target:"_blank"}):void 0,children:e.label},e.label)})}),(0,t.jsx)(x.PreviewCard.Root,{handle:V,children:({payload:e})=>(0,t.jsx)(x.PreviewCard.Portal,{children:(0,t.jsx)(x.PreviewCard.Positioner,{side:"right",sideOffset:8,className:"z-[60] h-[var(--positioner-height)] w-[var(--positioner-width)] max-w-[var(--available-width)] transition-[top,left,right,bottom,transform] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none motion-reduce:duration-0",children:(0,t.jsx)(x.PreviewCard.Popup,{className:"box-border relative w-[var(--popup-width,auto)] h-[var(--popup-height,auto)] rounded-lg bg-popover border border-border origin-[var(--transform-origin)] shadow-lg transition-[width,height,scale] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-[starting-style]:scale-90 data-[starting-style]:opacity-0 data-[ending-style]:scale-90 data-[ending-style]:opacity-0 motion-reduce:transition-none motion-reduce:duration-0 motion-reduce:data-[starting-style]:scale-100 motion-reduce:data-[starting-style]:opacity-100 motion-reduce:data-[ending-style]:scale-100 motion-reduce:data-[ending-style]:opacity-100 data-[ending-style]:opacity-0 data-[ending-style]:scale-90",children:(0,t.jsx)(x.PreviewCard.Viewport,{className:'relative overflow-clip w-full h-full [&_[data-previous]]:w-[var(--popup-width)] [&_[data-previous]]:translate-x-0 [&_[data-previous]]:opacity-100 [&_[data-previous]]:transition-[translate,opacity] [&_[data-previous]]:duration-[350ms,175ms] [&_[data-previous]]:ease-[cubic-bezier(0.22,1,0.36,1)] [&_[data-current]]:w-[var(--popup-width)] [&_[data-current]]:translate-x-0 [&_[data-current]]:opacity-100 [&_[data-current]]:transition-[translate,opacity] [&_[data-current]]:duration-[350ms,175ms] [&_[data-current]]:ease-[cubic-bezier(0.22,1,0.36,1)] data-[activation-direction~="left"]:[&_[data-current][data-starting-style]]:-translate-x-[30%] data-[activation-direction~="left"]:[&_[data-current][data-starting-style]]:opacity-0 data-[activation-direction~="right"]:[&_[data-current][data-starting-style]]:translate-x-[30%] data-[activation-direction~="right"]:[&_[data-current][data-starting-style]]:opacity-0 data-[activation-direction~="left"]:[&_[data-previous][data-ending-style]]:translate-x-[30%] data-[activation-direction~="left"]:[&_[data-previous][data-ending-style]]:opacity-0 data-[activation-direction~="right"]:[&_[data-previous][data-ending-style]]:-translate-x-[30%] data-[activation-direction~="right"]:[&_[data-previous][data-ending-style]]:opacity-0 motion-reduce:[&_[data-previous]]:transition-none motion-reduce:[&_[data-current]]:transition-none motion-reduce:data-[activation-direction~="left"]:[&_[data-current][data-starting-style]]:translate-x-0 motion-reduce:data-[activation-direction~="left"]:[&_[data-current][data-starting-style]]:opacity-100 motion-reduce:data-[activation-direction~="right"]:[&_[data-current][data-starting-style]]:translate-x-0 motion-reduce:data-[activation-direction~="right"]:[&_[data-current][data-starting-style]]:opacity-100 motion-reduce:data-[activation-direction~="left"]:[&_[data-previous][data-ending-style]]:translate-x-0 motion-reduce:data-[activation-direction~="left"]:[&_[data-previous][data-ending-style]]:opacity-100 motion-reduce:data-[activation-direction~="right"]:[&_[data-previous][data-ending-style]]:translate-x-0 motion-reduce:data-[activation-direction~="right"]:[&_[data-previous][data-ending-style]]:opacity-100 data-[ending-style]:opacity-0 data-[ending-style]:scale-90',children:e})})})})})]})}function G(){return(0,t.jsx)("div",{className:"h-full",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-[1fr_1fr_1fr] gap-0 h-full",children:[(0,t.jsxs)("div",{className:"col-span-1 p-3 flex flex-col justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(U,{children:"Info"}),(0,t.jsx)("div",{className:"",children:(0,t.jsx)(c,{})})]}),(0,t.jsx)("div",{className:"hidden lg:block",children:(0,t.jsx)(W,{})})]}),(0,t.jsxs)("div",{className:"col-span-1 p-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(U,{children:"Experience"}),(0,t.jsx)("div",{className:"pr-8",children:(0,t.jsx)(f,{})})]}),(0,t.jsx)(B,{})]}),(0,t.jsxs)("div",{className:"col-span-1 md:col-span-2 lg:col-span-1 h-full p-3 flex flex-col justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(U,{className:"mb-1",children:"Connect"}),(0,t.jsx)(F,{})]}
54),(0,t.jsx)("div",{className:"min-w-0 max-w-full self-end",children:(0,t.jsx)(O,{canvasClassName:"size-48 bg-muted/50"})}),(0,t.jsx)("div",{className:"block lg:hidden",children:(0,t.jsx)(W,{})})]})]})})}function B(){return(0,t.jsxs)("div",{className:"mt-7",children:[(0,t.jsx)(U,{className:"mb-2",children:"Interests"}),(0,t.jsx)("ul",{className:"flex flex-wrap gap-1.5",children:A.map(e=>(0,t.jsx)("li",{className:"text-muted-foreground px-2 py-0.5 rounded-full border border-border/50",children:e.label},e.id))})]})}function U({children:e,className:n,...r}){return(0,t.jsx)("h2",{className:(0,v.cn)("text-muted-foreground mb-1.5 w-fit rounded-md",n),...r,children:e})}e.s(["InfoPanel",0,function(){let e=(0,h.useApp)(e=>e.aboutOpen),r=(0,h.useApp)(e=>e.setAboutOpen),a=(0,y.useMediaQuery)("(min-width: 768px)");return(0,t.jsx)(n.Drawer.Root,{open:e,onOpenChange:r,swipeDirection:a?"up":"down",modal:!a&&void 0,children:(0,t.jsxs)(n.Drawer.Portal,{keepMounted:!0,children:[(0,t.jsx)(n.Drawer.Backdrop,{className:(0,v.cn)("fixed inset-0 z-50 min-h-dvh supports-[-webkit-touch-callout:none]:absolute","[--bleed:3rem] [--backdrop-opacity:0.4] dark:[--backdrop-opacity:0.7]","md:[--backdrop-opacity:0.3]","bg-black opacity-[calc(var(--backdrop-opacity)*(1-var(--drawer-swipe-progress)))]","transition-opacity duration-[450ms] ease-[cubic-bezier(0.32,0.72,0,1)] md:duration-300 md:ease-out-expo","motion-reduce:transition-none motion-reduce:duration-0","data-[ending-style]:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 data-[swiping]:duration-0","motion-reduce:data-[ending-style]:duration-0",{"pointer-events-none":!e})}),(0,t.jsx)(n.Drawer.Viewport,{className:"fixed inset-0 z-50 flex items-end justify-center outline-none md:items-start md:justify-stretch md:p-0",children:(0,t.jsxs)(n.Drawer.Popup,{id:"about-panel","data-lenis-prevent":!0,className:(0,v.cn)("box-border [--bleed:3rem]","mx-auto -mb-[var(--bleed)] flex w-full min-h-0 max-h-[calc(100dvh-3rem+var(--bleed))] flex-col overflow-hidden rounded-5xl border border-border bg-popover px-3 pt-1.5 shadow-lg outline-none","pb-[calc(1rem+env(safe-area-inset-bottom,0px)+var(--bleed))]","md:mx-0 md:mb-0 md:-mt-[var(--bleed)] md:relative md:h-[calc(75dvh+var(--bleed))] md:max-h-none md:w-full md:overflow-visible","md:pt-[var(--bleed)] md:pr-[calc(0rem+3rem)] md:-mr-[var(--bleed)]","md:rounded-none md:rounded-b-xl md:border-x-0 md:border-t-0 md:border-border/50 md:px-0 md:pb-0 md:shadow-xs","transition-[transform] duration-600 ease-out-expo md:duration-750","motion-reduce:transition-none motion-reduce:duration-0","[transform:translateY(calc(var(--drawer-snap-point-offset)+var(--drawer-swipe-movement-y)))]","data-[starting-style]:[transform:translateY(calc(100%-var(--bleed)+2px))]","md:data-[starting-style]:[transform:translateY(calc(-100%+var(--bleed)-2px))]","data-[ending-style]:[transform:translateY(calc(100%-var(--bleed)+2px))]","md:data-[ending-style]:[transform:translateY(calc(-100%+var(--bleed)-2px))]","supports-[-webkit-touch-callout:none]:md:data-[starting-style]:[transform:translateY(-100%)]","supports-[-webkit-touch-callout:none]:md:data-[ending-style]:[transform:translateY(-100%)]","motion-reduce:data-[starting-style]:[transform:none]","motion-reduce:md:data-[starting-style]:[transform:none]","motion-reduce:data-[ending-style]:[transform:none]","motion-reduce:md:data-[ending-style]:[transform:none]","data-[swiping]:transition-none"),children:[(0,t.jsx)(n.Drawer.Title,{className:"sr-only",children:"About"}),(0,t.jsx)("div",{className:"mx-auto mb-3 h-1 w-12 shrink-0 rounded-full bg-foreground
54/20 md:hidden"}),(0,t.jsx)(n.Drawer.Close,{"aria-label":"Close",className:"fixed top-0 right-0 z-10 hidden p-4 text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 motion-reduce:transition-none md:inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm md:mt-[3rem]",children:(0,t.jsx)(g.IconCrossLarge,{className:"size-5","aria-hidden":!0})}),(0,t.jsx)(n.Drawer.Content,{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain mask-scroll-fade-y md:overflow-x-hidden",children:(0,t.jsx)(G,{})})]})})]})})}],587491)},55416,e=>{"use strict";var t=e.i(271645),n=e.i(332040);e.s(["SpotifyCubePreloader",0,function(){return(0,t.useEffect)(()=>{let e=()=>(0,n.preloadSpotifyCube)();if("requestIdleCallback"in window){let t=requestIdleCallback(e);return()=>cancelIdleCallback(t)}let t=setTimeout(e,0);return()=>clearTimeout(t)},[]),null}])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.