{"version":3,"file":"static/chunks/app/not-found-303e2f9c2e1e57d4.js","mappings":"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","sources":["webpack://_N_E/?9bab","webpack://_N_E/./src/components/AnimatedIcons/ExternalIcon.tsx","webpack://_N_E/./src/components/AnimatedIcons/Svg.ts","webpack://_N_E/./src/components/FadeIn/FadeIn.tsx","webpack://_N_E/./src/components/FadeIn/index.ts","webpack://_N_E/./src/components/JericaMascot/JericaMascot.tsx","webpack://_N_E/./src/components/JericaMascot/index.ts","webpack://_N_E/./src/components/Link/Link.tsx","webpack://_N_E/./src/components/Link/index.ts","webpack://_N_E/./src/components/MaxWidthWrapper/MaxWidthWrapper.tsx","webpack://_N_E/./src/components/MaxWidthWrapper/index.ts","webpack://_N_E/./src/components/NavigationTrackerProvider/index.ts","webpack://_N_E/../../src/icons/arrow-up-left.ts","webpack://_N_E/./src/hooks/use-mouse-position.ts","webpack://_N_E/./src/components/NotFound/NotFound.tsx","webpack://_N_E/./src/components/Spacer/Spacer.tsx","webpack://_N_E/./src/components/Spacer/index.ts","webpack://_N_E/./src/components/AnimatedIcons/ExternalIcon.linaria.module.css","webpack://_N_E/./src/components/AnimatedIcons/Svg.linaria.module.css","webpack://_N_E/./src/components/FadeIn/FadeIn.linaria.module.css","webpack://_N_E/./src/components/JericaMascot/JericaMascot.linaria.module.css","webpack://_N_E/./src/components/Link/Link.linaria.module.css","webpack://_N_E/./src/components/NotFound/NotFound.linaria.module.css","webpack://_N_E/./src/components/Spacer/Spacer.linaria.module.css"],"sourcesContent":["import(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/vercel/path0/src/components/NotFound/NotFound.tsx\");\n","import React from 'react';\nimport { styled } from '@linaria/react';\nimport { animated, useSpring } from 'react-spring';\n\nimport { SPRINGS } from '@/constants';\nimport usePrefersReducedMotion from '@/hooks/use-prefers-reduced-motion';\nimport useBoopMinimal from '@/hooks/use-boop-minimal';\n\nimport Svg from './Svg';\n\ninterface Props extends React.SVGProps {\n size?: string | number;\n isHovering: boolean;\n accentColor: string;\n timing?: number;\n style?: React.CSSProperties;\n}\n\nconst ExternalIcon = ({\n size = 16,\n isHovering,\n accentColor,\n timing = 150,\n style = {},\n ...delegated\n}: Props) => {\n const id = React.useId();\n\n const isBooped = useBoopMinimal(isHovering, timing);\n\n const maskId = `external-icon-mask-${id}`;\n\n const prefersReducedMotion = usePrefersReducedMotion();\n\n const springSettings = {\n config: SPRINGS.springy,\n immediate: prefersReducedMotion,\n };\n\n const arrowSpring = useSpring({\n d: isBooped\n ? `M 10 14 L 21 3 h -6 h 6 v 6`\n : `M 10 14 L 20 4 h -6 h 6 v 6`,\n ...springSettings,\n });\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nconst Arrow = styled(animated.path)`\n transition: stroke 250ms;\n`;\n\nexport default ExternalIcon;\n","import { styled } from '@linaria/react';\n\nconst Svg = styled.svg`\n stroke: currentColor;\n stroke-width: 2px;\n stroke-linecap: round;\n stroke-linejoin: round;\n will-change: transform;\n backface-visibility: hidden;\n transition: opacity 200ms;\n`;\n\nexport default Svg;\n","import React from 'react';\nimport { styled } from '@linaria/react';\n\ninterface Props extends React.HTMLAttributes {\n duration?: number;\n delay?: number;\n children: React.ReactNode;\n}\n\nconst FadeIn = ({\n duration = 333,\n delay = 0,\n children,\n ...delegated\n}: Props) => {\n return (\n \n {children}\n \n );\n};\n\nconst Wrapper = styled.div`\n @media (prefers-reduced-motion: no-preference) {\n animation-name: fadeIn;\n animation-fill-mode: backwards;\n }\n`;\n\nexport default FadeIn;\n","export { default } from './FadeIn';\n","'use client';\n\nimport React from 'react';\nimport { styled } from '@linaria/react';\n\nimport { UserPreferencesContext } from '@/components/UserPreferencesProvider';\nimport FadeIn from '@/components/FadeIn';\n\n// I have other moods, but I need to fix the dark mode images before I can use them. See instructions in /images/josh/__README.md\nexport type Mood = 'happy' | 'sad' | 'very-happy' | 'heart-eyes';\n\nexport interface Props extends React.HTMLAttributes {\n colorModeOverride?: 'light' | 'dark';\n mood?: Mood;\n fadeDuration?: number;\n fadeDelay?: number;\n}\n\nfunction JericaMascot({\n colorModeOverride,\n mood = 'happy',\n fadeDuration = 600,\n fadeDelay = 200,\n ...delegated\n}: Props) {\n const isUsingGlobalColorMode = !colorModeOverride;\n\n const { colorMode: globalColorMode } = React.useContext(\n UserPreferencesContext\n );\n\n const colorMode = colorModeOverride || globalColorMode;\n\n return (\n \n \n \n \n \n \n {mood !== 'happy' && (\n \n \n \n \n )}\n \n \n \n \n \n \n {mood !== 'happy' && (\n \n \n \n \n )}\n \n \n );\n}\n\nconst Wrapper = styled(FadeIn)`\n position: relative;\n`;\n\nconst DarkLayer = styled.div`\n position: relative;\n`;\n\nconst LightLayer = styled.div`\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n opacity: var(--opacity);\n transition: opacity calc(var(--color-swap-duration) + 500ms)\n var(--color-swap-timing-function);\n\n /*\n Ok there's some tricky business here.\n When this component first renders on the server, we don't know what the user’s chosen color mode is. If we specify an override, we don't care, but otherwise, we'll read the global color value from the HTML tag. That way, the correct mascot is shown from the very first paint.\n */\n html[data-color-mode='light'] &[data-use-global-color-mode='true'] {\n opacity: 1;\n }\n html[data-color-mode='dark'] &[data-use-global-color-mode='true'] {\n opacity: 0;\n }\n`;\n\nconst MascotBase = styled.img`\n display: block;\n top: 0;\n left: 0;\n width: 137.5px;\n height: 232px;\n user-select: none;\n pointer-events: none;\n`;\n\nconst Head = styled.img`\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n right: 0;\n width: 100%;\n /* Dragging the face off is SUPER creepy */\n user-select: none;\n pointer-events: none;\n`;\n\nexport default JericaMascot;\n","export { default } from './JericaMascot';\n","/*\n This wrapper around next/link is used for a few reasons:\n\n 1. Automatically adds \"target=_blank\" + icon to external links\n 2. Uses View Transitions API to smooth out SPA navigation\n 3. Adds focus styles (but no other cosmetics; use for\n styled links)\n*/\n'use client';\n\nimport React from 'react';\nimport NextLink from 'next/link';\nimport { styled } from '@linaria/react';\nimport { useViewTransition } from 'use-view-transitions/react';\nimport { useRouter } from 'next/navigation';\nimport { usePathname } from 'next/navigation';\n\nimport { SetNavigationTrackerContext } from '@/components/NavigationTrackerProvider';\nimport ExternalIcon from '@/components/AnimatedIcons/ExternalIcon';\nimport VisuallyHidden from '@/components/VisuallyHidden';\n\ntype LinkDestination = 'internal' | 'external' | 'hash' | 'mailto';\n\nexport interface Props extends React.HTMLProps {\n href?: string;\n target?: '_blank';\n rel?: string;\n prefetch?: boolean;\n skipViewTransitions?: boolean;\n preventExternalIcon?: boolean;\n}\n\nconst Link = (\n {\n href = '',\n target,\n rel,\n prefetch = true,\n onClick = function () {},\n skipViewTransitions,\n preventExternalIcon,\n children,\n ...delegated\n }: Props,\n ref: React.ForwardedRef\n) => {\n const [isHovering, setIsHovering] = React.useState(false);\n\n const [, startTransition] = React.useTransition();\n const { startViewTransition } = useViewTransition();\n\n const setMostRecentNavigationFrom = React.useContext(\n SetNavigationTrackerContext\n );\n\n const router = useRouter();\n const pathname = usePathname();\n\n let linkDestination: LinkDestination = 'internal';\n if (href.match(/^#/)) {\n linkDestination = 'hash';\n } else if (href.match(/^http/i) || target === '_blank') {\n linkDestination = 'external';\n } else if (href.match(/^mailto/)) {\n linkDestination = 'mailto';\n }\n\n // By default, external links should open in a new tab.\n // This is overrideable though.\n if (typeof target === 'undefined') {\n target = linkDestination === 'external' ? '_blank' : undefined;\n }\n\n const safeRel = target === '_blank' ? 'noopener noreferrer' : rel;\n\n const includeExternalIcon =\n target === '_blank' &&\n !preventExternalIcon &&\n typeof children === 'string';\n\n // Annoyingly complicated: I don't want the external icon to be an orphan. No combination of   is working, so what I need is to wrap the final word + icon in a span with no wrapping:\n //\n // The Joy of React [Icon]\n //\n let first, last;\n if (includeExternalIcon) {\n const words = children.split(' ');\n first = words.slice(0, -1).join(' ');\n last = words.at(-1);\n } else {\n first = children;\n last = '';\n }\n\n return (\n setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n // Support View Transitions by starting a transition before navigation:\n onClick={(event: React.MouseEvent) => {\n const isTryingToOpenInNewTab = event.metaKey || event.ctrlKey;\n\n if (\n linkDestination === 'internal' &&\n !isTryingToOpenInNewTab &&\n !skipViewTransitions\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n if (pathname) {\n setMostRecentNavigationFrom(pathname);\n }\n\n startViewTransition(() =>\n startTransition(() => {\n router.push(href);\n })\n );\n }\n\n onClick(event);\n }}\n {...delegated}\n >\n {includeExternalIcon ? (\n <>\n {first}{' '}\n \n {last}\n \n (opens in new tab)\n \n \n ) : (\n children\n )}\n \n );\n};\n\nconst StyledLink = styled(NextLink)`\n &:focus-visible {\n outline: 2px auto var(--color-primary);\n outline-offset: 2px;\n }\n`;\n\nconst StyledExternalIcon = styled(ExternalIcon)`\n display: none;\n transform: translateY(0.0625rem);\n margin-left: 0.125em;\n color: var(--base-icon-color, inherit);\n\n /*\n We only want to show the external icon for links within the main content. This became relevant because the \"RSS\" link in the header/footer opens in a new tab, but it shouldn't have the external icon.\n */\n main & {\n display: inline-block;\n }\n`;\n\nconst PreventOrphan = styled.span`\n white-space: nowrap;\n`;\n\nexport default React.forwardRef(Link);\n","export { default } from './Link';\n","import * as React from 'react';\nimport { styled } from '@linaria/react';\n\nimport { HEADER_WIDTH } from '@/constants';\n\nexport interface Props {\n as?: keyof JSX.IntrinsicElements | React.ComponentType;\n maxWidth?: number | string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n}\n\nfunction MaxWidthWrapper({\n as = 'div',\n maxWidth,\n style = {},\n children,\n ...delegated\n}: Props) {\n if (typeof maxWidth === 'undefined') {\n maxWidth = `${HEADER_WIDTH}rem`;\n } else if (typeof maxWidth === 'number') {\n // Historically, I’ve specified the maximum width in pixels, and I'm too lazy to find and update all of the spots where I've specified them. We’ll divide by 16 to convert to rems:\n maxWidth = `${maxWidth / 16}rem`;\n }\n\n return (\n \n {children}\n \n );\n}\n\nconst Wrapper = styled.div`\n width: 100%;\n max-width: var(--max-width);\n margin-inline: auto;\n padding-inline: var(--viewport-padding);\n`;\n\nexport default MaxWidthWrapper;\n","export { default } from './MaxWidthWrapper';\nexport type { Props } from './MaxWidthWrapper';\n","export {\n default,\n SetNavigationTrackerContext,\n NavigationTrackerContext,\n} from './NavigationTrackerProvider';\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ArrowUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxN1Y3aDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNyA3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowUpLeft = createLucideIcon('ArrowUpLeft', [\n ['path', { d: 'M7 17V7h10', key: '11bw93' }],\n ['path', { d: 'M17 17 7 7', key: '2786uv' }],\n]);\n\nexport default ArrowUpLeft;\n","import { useState, useEffect } from 'react';\n\nexport interface State {\n x: number | null;\n y: number | null;\n}\n\nfunction useMousePosition() {\n const [mousePosition, setMousePosition] = useState({\n x: null,\n y: null,\n });\n\n const updateMousePosition = (ev: MouseEvent) => {\n setMousePosition({ x: ev.clientX, y: ev.clientY });\n };\n\n useEffect(() => {\n window.addEventListener('mousemove', updateMousePosition);\n\n return () =>\n window.removeEventListener('mousemove', updateMousePosition);\n }, []);\n\n return mousePosition;\n}\n\nexport default useMousePosition;\n","'use client';\n\nimport React from 'react';\nimport { styled } from '@linaria/react';\nimport { ArrowUpLeft } from 'lucide-react';\n\nimport { DARK_COLORS } from '@/constants';\nimport useMousePosition from '@/hooks/use-mouse-position';\n\nimport MaxWidthWrapper from '@/components/MaxWidthWrapper';\nimport Spacer from '@/components/Spacer';\nimport Link from '@/components/Link';\nimport Me from '@/components/JericaMascot';\n\nconst NotFoundPage = () => {\n const [allowEffect, setAllowEffect] = React.useState(true);\n const { x, y } = useMousePosition();\n\n React.useEffect(() => {\n if (typeof x === 'number' && typeof y === 'number') {\n document.documentElement.style.setProperty(\n '--cursorX',\n x + 'px'\n );\n document.documentElement.style.setProperty(\n '--cursorY',\n y + 'px'\n );\n }\n }, [x, y]);\n\n return (\n \n setAllowEffect(false)}>\n Disable flashlight effect\n \n \n Not Found\n \n Sorry, there is nothing at this URL.\n \n \n \n \n Go back home\n \n\n \n \n \n \n {allowEffect && }\n \n );\n};\n\nfunction Effect() {\n return (\n \n );\n}\n\nconst OuterWrapper = styled.div`\n min-height: 100vh;\n min-height: 100svh;\n background: ${DARK_COLORS['--color-background']};\n color: ${DARK_COLORS['--color-text']};\n`;\n\nconst ToggleButton = styled.button`\n position: fixed;\n z-index: 99999;\n top: 32px;\n left: 32px;\n padding: 16px 24px;\n border-radius: 12px;\n background: white;\n color: black;\n box-shadow:\n 0 -5.9px 2.7px rgba(0, 0, 0, 0.018),\n 0 -1.2px 6.9px rgba(0, 0, 0, 0.024),\n 0 8px 14.2px rgba(0, 0, 0, 0.03),\n 0 21.9px 29.2px rgba(0, 0, 0, 0.039),\n 0 49px 80px rgba(0, 0, 0, 0.07);\n\n /* Visually hidden stuff */\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n overflow: hidden;\n position: absolute !important;\n width: 1px;\n\n &:focus {\n width: auto;\n height: auto;\n clip: auto;\n }\n`;\n\nconst Wrapper = styled(MaxWidthWrapper)`\n position: relative;\n max-width: 800px;\n padding-top: 18vh;\n animation: fadeIn 750ms 200ms ease-in both;\n`;\n\nconst Title = styled.h1`\n font-size: 12vw;\n font-weight: var(--font-weight-bold);\n\n @media (max-width: 550px) {\n font-size: 64px;\n }\n @media (min-width: 1200px) {\n font-size: 144px;\n }\n`;\n\nconst Description = styled.p`\n margin-top: 0px;\n font-size: 4vw;\n color: ${DARK_COLORS['--color-text']};\n\n @media (max-width: 550px) {\n font-size: 32px;\n }\n @media (min-width: 1200px) {\n font-size: 48px;\n }\n`;\n\nconst BackLink = styled(Link)`\n display: inline-flex;\n align-items: baseline;\n text-decoration: none;\n font-size: 2.25rem;\n margin-top: 96px;\n color: ${DARK_COLORS['--color-tertiary']};\n\n @media (max-width: 550px) {\n font-size: 24px;\n }\n @media (min-width: 1200px) {\n font-size: 36px;\n }\n`;\n\nconst MeWrapper = styled.div`\n position: absolute;\n top: 32vh;\n right: -100px;\n display: none;\n\n @media (min-width: 1000px) {\n display: block;\n }\n`;\n\nexport default NotFoundPage;\n","import { styled } from '@linaria/react';\n\ninterface Props extends React.HTMLAttributes {\n size: number | string;\n axis?: 'horizontal' | 'vertical';\n}\n\nfunction Spacer({ size, axis, style = {}, ...delegated }: Props) {\n return (\n \n );\n}\n\nconst Wrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport default Spacer;\n","export { default } from './Spacer';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"amgfren\":\"amgfren\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"s1gvsyfu\":\"s1gvsyfu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wv8ehy8\":\"wv8ehy8\",\"fadeIn\":\"fadeIn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wvm4gg4\":\"wvm4gg4\",\"d1qadnsl\":\"d1qadnsl\",\"l1enswin\":\"l1enswin\",\"mr2l5ys\":\"mr2l5ys\",\"hjm134z\":\"hjm134z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"s1j91s21\":\"s1j91s21\",\"s14qet46\":\"s14qet46\",\"p7a6phg\":\"p7a6phg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"o1k7h2d1\":\"o1k7h2d1\",\"t1yf08n9\":\"t1yf08n9\",\"woi43bx\":\"woi43bx\",\"fadeIn\":\"fadeIn\",\"tqir3cc\":\"tqir3cc\",\"d4e9m6n\":\"d4e9m6n\",\"b16h89i4\":\"b16h89i4\",\"mkrsyq1\":\"mkrsyq1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"w1fjy7al\":\"w1fjy7al\"};"],"names":["Arrow","styled","animated","path","name","class","propsAsIs","ExternalIcon","size","isHovering","accentColor","timing","style","delegated","React","isBooped","useBoopMinimal","maskId","id","prefersReducedMotion","usePrefersReducedMotion","springSettings","config","SPRINGS","springy","immediate","arrowSpring","useSpring","d","width","height","opacity","Svg","Wrapper","FadeIn","duration","delay","children","animationDelay","_exp","DarkLayer","LightLayer","MascotBase","Head","JericaMascot","colorModeOverride","mood","fadeDuration","fadeDelay","colorMode","globalColorMode","UserPreferencesContext","StyledLink","StyledExternalIcon","_exp2","PreventOrphan","Link","ref","first","last","href","target","rel","prefetch","onClick","skipViewTransitions","preventExternalIcon","setIsHovering","startViewTransition","useViewTransition","setMostRecentNavigationFrom","SetNavigationTrackerContext","router","useRouter","pathname","usePathname","linkDestination","LinkDestination","match","undefined","safeRel","includeExternalIcon","words","split","slice","join","isTryingToOpenInNewTab","event","metaKey","ctrlKey","preventDefault","stopPropagation","push","MaxWidthWrapper","as","maxWidth","HEADER_WIDTH","useMousePosition","mousePosition","setMousePosition","useState","x","y","updateMousePosition","ev","clientX","clientY","useEffect","window","addEventListener","removeEventListener","Effect","__html","OuterWrapper","ToggleButton","Title","Description","BackLink","_exp5","MeWrapper","NotFoundPage","allowEffect","setAllowEffect","document","documentElement","setProperty","Spacer","axis","minWidth","minHeight"],"sourceRoot":"","ignoreList":[]}