@layer reset,base,vendors,components,utilities;@layer reset{*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}}@font-face{font-family:JetBrains Mono;src:url(/assets/jetbrains-mono-variablefont-D5KFAJfm.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(jetbrains-mono-italic-variablefont.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@supports (not (font-variation-settings: normal)){@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),url(/assets/jetbrains-mono-regular-ClayWRmm.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),url(/assets/jetbrains-mono-italic-Hm8XJ3qG.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}}@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-VariableFont_wght-DN2JU6xt.woff2);font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-Italic-VariableFont_wght-BVeisfnG.woff2);font-weight:300 700;font-style:italic;font-display:swap}@supports (not (font-variation-settings: normal)){@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-Light-jYwft071.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-LightItalic-DGuHkYSg.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-Regular-5f6oSlgi.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-Italic-B8v9N01M.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-Bold-B5iZD7I6.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/SourceSans3-BoldItalic-D6H1kpB_.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}}@font-face{font-family:Yanone Kaffeesatz;src:url(/assets/yanonekaffeesatz-variablefont-DIobSol1.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:200 700;font-style:normal;font-display:swap}@supports (not (font-variation-settings: normal)){@font-face{font-family:Yanone Kaffeesatz;src:local("Yanone Kaffeesatz Extralight"),url(/assets/yanonekaffeesatz-extralight-2OFyxaNA.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Yanone Kaffeesatz;src:local("Yanone Kaffeesatz light"),url(/assets/yanonekaffeesatz-light-Da_und0l.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Yanone Kaffeesatz;src:local("Yanone Kaffeesatz Regular"),url(/assets/yanonekaffeesatz-regular-BkM-yike.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Yanone Kaffeesatz;src:local("Yanone Kaffeesatz Bold"),url(/assets/yanonekaffeesatz-bold-DT_AiPGm.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}}@font-face{font-family:"jr!hand";src:local("jr!hand"),local("Jrhand"),url(/assets/Jrhand-BE0lFEQs.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-black: #1e192b;--color-white: #f8f8f2;--color-subwhite: #f9fad3;--color-green: #c3e88d;--color-blue: #4eb0e4;--color-violet: #a48aec;--color-yellow: #ffcb6b;--color-red: #ec4185;--back-body: var(--color-black);--back-1: hsl(from var(--back-body) h s calc(l - 1) );--back-2: hsl(from var(--back-body) h s calc(l - 3) );--back-3: hsl(from var(--back-body) h s calc(l + 5) );--back-4: hsl(from var(--back-body) h s calc(l + 22) );--front-body: var(--color-white);--front-subtle: var(--color-subwhite);--border-color: var(--back-3);--link-color: var(--color-green);--link-color-hover: var(--color-yellow);--heading-color: var(--color-green);--heading-color-alt: var(--color-yellow);--quote-color: var(--color-yellow);--selection-back: var(--color-blue);--font-body: "Source Sans 3", system-ui, "Segoe UI", "Helvetica Neue", roboto, arial, sans-serif;--font-heading: "Yanone Kaffeesatz", "Source Sans 3", system-ui, "Segoe UI", "Helvetica Neue", roboto, arial, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-hand: "jr!hand", cursive;--font-grow-ratio: 1.25;--font-size-base: 16px;--font-size-xs: calc(var(--font-size-base) * .875);--font-size-sm: var(--font-size-base);--font-size-md: calc(var(--font-size-base) * var(--font-grow-ratio));--font-size-lg: calc(var(--font-size-md) * var(--font-grow-ratio));--font-size-xl: calc(var(--font-size-lg) * var(--font-grow-ratio));--font-size-2xl: calc(var(--font-size-xl) * var(--font-grow-ratio));--font-size-3xl: calc(var(--font-size-2xl) * var(--font-grow-ratio));--font-size-4xl: calc(var(--font-size-3xl) * var(--font-grow-ratio));--font-size-5xl: calc(var(--font-size-4xl) * var(--font-grow-ratio));--font-size-6xl: calc(var(--font-size-5xl) * var(--font-grow-ratio));--font-size-heading-1: var(--font-size-4xl);--font-size-heading-2: var(--font-size-3xl);--font-size-heading-3: var(--font-size-2xl);--font-size-heading-4: var(--font-size-xl);--font-size-heading-5: var(--font-size-lg);--font-size-heading-6: var(--font-size-md);--font-size-article-title: var(--font-size-4xl);--timing-xfast: .2s;--timing-fast: .25s;--timing-normal: .3s;--timing-slow: .5s;--timing-xslow: .75s;--ease-back-out: cubic-bezier(.295, 1.75, .69, .9);--ease-spring: linear(0, -.002 7.8%, -.013 13.5%, -.09 30.5%, -.088 33.8%, -.07 36.6%, .003 40.8%, .129 44.4%, .309 47.6%, .807 54.3%, .95 57.6%, 1.042 61.3%, 1.081 64.8%, 1.09 68.9%, 1.013 86.5%, 1.002 92.2%, 1);--spacer: 2rem;--gutter-screen-y: var(--spacer);--gutter-screen-x: var(--spacer);--color-brand-twitter: #55acee;--color-brand-x: #000000;--color-brand-facebook: #3b5988;--color-brand-codepen: #000000;--color-brand-github: #333333;--color-brand-linkedin: #0077b5;--color-brand-instagram: #833ab4;--color-brand-youtube: #ff0000;--color-brand-npmjs: #cb3837;--color-brand-bluesky: #0085ff;--scrollbar-color: var(--accent, var(--color-green));--scrollbar-width: thin}@media(width<=768px){:root{--font-grow-ratio: 1.2}}@media(prefers-reduced-motion:reduce){:root{--timing-xfast: 0;--timing-fast: 0;--timing-normal: 0;--timing-slow: 0;--timing-xslow: 0}}@media(prefers-reduced-motion:reduce){:root{--scrollbar-width: auto}}@layer base{::selection{background:var(--selection-back);color:var(--front-body);text-shadow:0 1px 0 rgb(0 0 0 / .5)}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}:focus{transition:outline-offset var(--timing-fast) ease;outline-offset:5px}}*,*:before,*:after{box-sizing:inherit}html{box-sizing:border-box;scrollbar-color:var(--scrollbar-color) transparent;scrollbar-width:var(--scrollbar-width);scrollbar-gutter:stable;interpolate-size:allow-keywords;transition:scrollbar-color var(--timing-xfast) ease}body{background:var(--back-body);color:var(--front-body);font:400 var(--font-size-base)/1.5 var(--font-body)}a{background-color:transparent;color:var(--link-color);text-decoration:none;transition:color var(--timing-xfast) ease-in-out}a:is(:hover,:focus){color:var(--link-color-hover);outline:none}a:not([href],[class]),a:not([href],[class]):hover{color:inherit}i[lang]{font-style:normal}img,svg{max-inline-size:100%;vertical-align:middle;height:auto}img{font-style:italic;shape-margin:1rem}h1,h2,h3,h4{font:300 var(--heading-font-size)/1 var(--font-heading);margin:1.5em 0 .75em;text-wrap:balance}p,li,blockquote,figcaption{text-wrap:pretty}h1{--heading-font-size: var(--font-size-heading-1);color:var(--heading-color)}h2{--heading-font-size: var(--font-size-heading-2);color:var(--heading-color)}h3{--heading-font-size: var(--font-size-heading-3);color:var(--heading-color-alt);line-height:1.5}:where(button,[type=button],[type=reset],[type=submit]):not(:disabled){cursor:pointer}blockquote{--blockquote-font-size: var(--font-size-md);position:relative;margin:2rem 0;padding-left:4rem;font:400 italic var(--blockquote-font-size)/1.5em var(--font-body)}blockquote:before{content:"“";position:absolute;left:0;top:2rem;font-size:6em;color:var(--back-4)}q{font-style:italic;color:var(--quote-color);quotes:"« " " »"}pre,code,kbd,samp{font-family:var(--font-mono)}kbd{background:var(--back-3);font-size:.85rem;border-radius:.2em;display:inline-block;padding:0 .35em;border-bottom:1px solid var(--back-2);margin:0 .05em}}@layer vendors{code[class*=language-],pre[class*=language-]{--code-font-size: var(--font-size-xs);color:var(--color-white);text-shadow:0 1px rgb(0 0 0 / .3);font:400 var(--code-font-size)/1.45 var(--font-mono);direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;tab-size:3;-webkit-hyphens:none;hyphens:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:var(--back-4)}pre,pre[class*=language-]{line-height:1.25;padding:1.5em 2em;margin:2em 0;overflow:auto;border-radius:.2em;position:relative;background:var(--back-1)}@media(width<=768px){pre,pre[class*=language-]{margin:2em -1rem;border-radius:0}}code[class*=language-]::selection{background:var(--color-red);color:var(--front-body);text-shadow:0 1px 0 rgb(0 0 0 / .5)}@media(width<=768px){code[class*=language-]{display:block}}:not(pre)>code[class*=language-],pre[class*=language-]{background:var(--back-1)}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.prolog,.token.doctype{color:var(--back-4)}.token.punctuation{color:var(--front-body)}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:var(--color-blue)}.token.boolean,.token.number{color:var(--color-red)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--color-green)}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:var(--front-body)}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:var(--color-yellow)}.token.keyword{color:var(--color-blue)}.token.important,.token.regex{color:var(--color-red)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding-left:0;padding-right:0;margin-top:1em;background:#997a6614;background:linear-gradient(to right,#997a661a 70%,#997a6600);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:#997a6666;color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}pre[class*=language-html]:after,pre[class*=language-markup]:after{content:"html"}pre[class*=language-css]:after{content:"css"}pre[class*=language-javascript]:after{content:"javascript"}pre[class*=language-pug]:after{content:"pug"}pre[class*=language-php]:after{content:"php"}pre[class*=language-markdown]:after{content:"markdown"}pre[class*=language-]:after,.code-toolbar>.toolbar{position:absolute;right:0;top:0}pre[class*=language-]:after,.code-toolbar .toolbar-item{color:var(--front-body);background-color:var(--back-3);border-radius:0 3px;display:inline-block;position:absolute;top:0;right:0;font-size:.75rem;padding:.25em .6em;text-shadow:none;z-index:1;box-shadow:none;transform:none}}@layer components{.note{margin:var(--spacer) auto;background:var(--back-3);padding:1em 2em;border-left:4px solid var(--accent);position:relative}@media(width<=768px){.note{margin:var(--spacer) calc(var(--spacer) * -1);padding-top:2em;margin-top:2.5rem;border-left:0;border-top:4px solid var(--accent)}}.note:before{content:var(--note-icon);position:absolute;left:-2px;translate:-50% 0;width:28px;aspect-ratio:1;display:flex;justify-content:center;align-items:center;color:var(--back-1);border-radius:50%;border-color:var(--accent);background:var(--accent) 50% no-repeat}@media(width<=768px){.note:before{left:50%;top:0;translate:0 -50%}}.note.--info{--accent: var(--color-blue);--note-icon: "ℹ"}.note.--success{--accent: var(--color-green);--note-icon: "✔"}.note.--question{--accent: var(--color-violet);--note-icon: "❓"}.note.--important{--accent: var(--color-yellow);--note-icon: "❗"}.note.--alert{--accent: var(--color-red);--note-icon: "🚨"}}@layer components{.iframe-codepen{inline-size:100%;min-block-size:430px}@media(inline-size<=768px){.iframe-codepen{min-block-size:380px}.picture-full{margin-inline:calc(var(--gutter-screen-x) * -1);display:block;max-inline-size:none;inline-size:calc(100% + (var(--gutter-screen-x) * 2))}}.video iframe{inline-size:100%;vertical-align:top;aspect-ratio:16/9}}@layer utilities{.text-align-left{text-align:left}.text-align-right{text-align:right}.text-align-center{text-align:center}.text-align-justify{text-align:justify}img.text-align-center{margin-inline:auto;display:block}.pull-left{float:left;margin-right:2em;margin-bottom:.5em}.pull-right{float:right;margin-left:2em;margin-bottom:.5em}.shape-round{shape-outside:circle()}.noscript{max-inline-size:480px;margin:calc(var(--spacer) * 3) auto;font-size:var(--font-size-md)}.emoji{font-family:system-ui!important;font-style:inherit}}@layer utilities{.visually-hidden,.visually-hidden-focusable:not(:focus,:focus-within){border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px;min-width:fit-content}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus,:focus-within,caption){position:absolute}}@layer utilities{::view-transition-old(root),::view-transition-new(root),::view-transition-group(main){animation:none}::view-transition-old(main){animation:var(--timing-normal) ease both view-transition-fade-out}::view-transition-new(main){animation:var(--timing-normal) ease var(--timing-normal) both view-transition-fade-in}.is-navigating .main :is(*,*:before,*:after){animation-play-state:paused}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@keyframes view-transition-fade-out{to{opacity:0;filter:blur(2px)}}@keyframes view-transition-fade-in{0%{opacity:0;filter:blur(2px)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--timing-normal)}.fade-enter-active,.fade-enter,.fade-leave-to{opacity:0;filter:blur(2px)}.fade-enter-to{opacity:1;filter:blur(0)}.list-enter-active,.list-leave-active{transition:.5s}.list-enter-to,.list-leave{opacity:1}.list-enter,.list-leave-to{opacity:0}.list-complete-leave-active,.list-complete-enter-active{position:absolute}.animation-fade{opacity:0;animation-name:animation-fade;animation-duration:var(--timing-slow);animation-fill-mode:forwards}.animation-bounce{opacity:0;translate:0 20px;scale:.975;animation:.765s var(--ease-back-out) .25s forwards animation-back-slide-in}.animation-fade-bounce{opacity:0;scale:.975;animation-name:animation-back-slide-in;animation-duration:var(--timing-slow);animation-timing-function:var(--ease-back-out);animation-fill-mode:forwards}.animation-fade-scale{opacity:0;translate:0 16px;scale:.925;filter:blur(15px);animation-name:animation-fade-scale;transform-origin:bottom left;animation-timing-function:var(--ease-back-out);animation-duration:var(--timing-slow);animation-fill-mode:forwards}.animation-skew-y{opacity:0;translate:0 25%;transform:skewY(-5deg);transform-origin:top right;animation:.765s var(--ease-back-out) .25s forwards animation-skew-y}.animation-skew-y-revert{opacity:0;translate:0 25%;transform:skewY(5deg);transform-origin:top left;animation:.765s var(--ease-back-out) .25s forwards animation-skew-y}.stagger>*{animation-delay:calc(var(--sibling-index, 0) * var(--stagger-delay, .1s));animation-delay:calc((sibling-index() - 1) * var(--stagger-delay, .1s))}@media(prefers-reduced-motion:reduce){.stagger>*{animation-delay:0s}}@keyframes animation-fade{to{opacity:1}}@keyframes animation-fade-scale{to{opacity:1;translate:0 0;scale:1;filter:blur(0)}}@keyframes animation-back-slide-in{to{opacity:1;translate:0 0;scale:1}}@keyframes animation-skew-y{to{opacity:1;translate:0 0;transform:skewY(0)}}}@layer utilities{:where([class*=accent-]){--accent-front: var(--accent)}.accent-green{--accent: var(--color-green)}.accent-blue{--accent: var(--color-blue)}.accent-yellow{--accent: var(--color-yellow)}.accent-red{--accent: var(--color-red)}.accent-violet{--accent: var(--color-violet)}.accent-black{--accent: var(--back-3);--accent-front: var(--front-body)}.accent-brand-twitter{--accent: var(--color-brand-twitter)}.accent-brand-x{--accent: var(--color-brand-x)}.accent-brand-facebook{--accent: var(--color-brand-facebook)}.accent-brand-codepen{--accent: var(--color-brand-codepen)}.accent-brand-github{--accent: var(--color-brand-github)}.accent-brand-linkedin{--accent: var(--color-brand-linkedin)}.accent-brand-instagram{--accent: var(--color-brand-instagram)}.accent-brand-youtube{--accent: var(--color-brand-youtube)}.accent-brand-npmjs{--accent: var(--color-brand-npmjs)}.accent-brand-bluesky{--accent: var(--color-brand-bluesky)}}.picture[data-v-48cc2925]{margin-block:var(--spacer);display:grid;grid-template:"Picture" / auto;place-items:center}@supports (content-visibility: auto){.picture[data-v-48cc2925]{content-visibility:auto}}@media(width<=1120px){.picture[data-v-48cc2925]{display:none}}.picture picture[data-v-48cc2925]{grid-area:Picture}.picture img[data-v-48cc2925]{grid-area:Picture;border-radius:100vw;aspect-ratio:1}.network[data-v-54f00de5]{display:block;width:calc(var(--spacer) * 1.5);aspect-ratio:1;color:var(--front-body);background:var(--back-1);padding:.55em;border-radius:50%;transition:background-color var(--timing-slow) var(--ease-back-out);overflow:hidden}.network[data-v-54f00de5]:is(:hover,:focus){background:var(--accent);transition:background-color var(--timing-xfast) ease-in-out}.network[data-v-54f00de5]:is(:hover,:focus) svg{scale:.75}.network[data-v-54f00de5] svg{fill:currentcolor;transition:scale var(--timing-normal) var(--ease-back-out)}.social[data-v-1301ab3d]{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}@media(width<=1120px){.social[data-v-1301ab3d]{margin-top:calc(var(--spacer) / 2)}}.header[data-v-3b329c4e]{padding:var(--spacer);background:var(--back-1);position:relative;z-index:10;text-align:center;grid-area:header}.title[data-v-3b329c4e]{--header-title-font-size: var(--font-size-2xl);margin-block:0;font:400 var(--header-title-font-size)/1 var(--font-heading);animation-delay:.25s}.picture[data-v-3b329c4e]{animation-delay:.35s}.social[data-v-3b329c4e]{animation-delay:.45s}.bio[data-v-3b329c4e]{margin-block:var(--spacer);animation-delay:.55s;text-wrap:balance}.bio b[data-v-3b329c4e]{color:var(--color-green);font-weight:inherit}@media(width<=1120px){.bio[data-v-3b329c4e]{display:none}}.copyright[data-v-3b329c4e]{animation-delay:.65s}@media(width<=1120px){.copyright[data-v-3b329c4e]{display:none}}.footer[data-v-9d7f2bf0]{text-align:center;padding:1em 0;display:none}@supports (content-visibility: auto){.footer[data-v-9d7f2bf0]{content-visibility:auto}}@media(width<=1120px){.footer[data-v-9d7f2bf0]{display:block;grid-area:footer}}.menu-item[data-v-47baf9fc]{--menu-item-font-size: var(--font-size-xl);--menu-item-color: var(--front-body);--menu-item-transition-property: opacity, translate, scale;--menu-item-transition-duration: var(--timing-slow);--menu-item-transition-timing: var(--ease-back-out);font:400 var(--menu-item-font-size)/1 var(--font-heading);text-decoration:none;color:var(--menu-item-color);position:relative;transition:var(--menu-item-transition-property);transition-duration:var(--menu-item-transition-duration);transition-timing-function:var(--menu-item-transition-timing);transition-delay:calc(var(--appearance-delay, 0s) * 1.25)}@media(width<=768px){.menu-item[data-v-47baf9fc]{transition-delay:var(--appearance-delay, 0s)}}@starting-style{.menu-item[data-v-47baf9fc]{opacity:0;translate:0 45%;scale:.75}@media(width<=768px){.menu-item{translate:0 50%;scale:.5}}}@media(width<=768px){.menu-item[data-v-47baf9fc]{font-weight:300;font-size:1rem;text-align:center;flex:1;padding:8px}}.menu-item[data-v-47baf9fc]:before,.menu-item[data-v-47baf9fc]:after{display:inline-block;opacity:0;transition-property:color,opacity,translate;transition-duration:var(--timing-normal);transition-timing-function:var(--ease-back-out);color:var(--menu-item-color);content:var(--content)}@media(width<=768px){.menu-item[data-v-47baf9fc]:before,.menu-item[data-v-47baf9fc]:after{display:none}}.menu-item[data-v-47baf9fc]:before{--content: "<";translate:20px 0;padding-right:.125em}.menu-item[data-v-47baf9fc]:after{--content: "/>";translate:-20px 0;padding-left:.1875em}:is(.menu-item:is(:hover,:focus),.menu-item.--active)[data-v-47baf9fc]{color:var(--accent)}:is(.menu-item:is(:hover,:focus),.menu-item.--active)[data-v-47baf9fc]:before,:is(.menu-item:is(:hover,:focus),.menu-item.--active)[data-v-47baf9fc]:after{opacity:1;translate:0 0}.menu-item.--active:hover[data-v-47baf9fc]:before,.menu-item.--active:hover[data-v-47baf9fc]:after{color:var(--accent)}.menu-item[data-v-47baf9fc] svg{display:none;translate:0 0;padding:0;opacity:1;width:24px;aspect-ratio:1;margin:0 auto 5px;fill:currentcolor}@media(width<=768px){.menu-item[data-v-47baf9fc] svg{display:block}}.menu[data-v-34f48b51]{grid-area:menu;display:flex;justify-content:end}@media(width>768px){.menu[data-v-34f48b51]{margin-bottom:6rem}}@media(width<=768px){.menu[data-v-34f48b51]{justify-content:space-between;position:fixed;background:var(--back-1);inset:auto 0 0;z-index:50;will-change:transform;padding:0;transition:translate var(--timing-xfast) var(--ease-spring)}@starting-style{.menu[data-v-34f48b51]{translate:0 100%}}}.menu[data-v-34f48b51] .menu-item:nth-child(1){--appearance-delay: .4s}.menu[data-v-34f48b51] .menu-item:nth-child(2){--appearance-delay: .35s}.menu[data-v-34f48b51] .menu-item:nth-child(3){--appearance-delay: .3s}.menu[data-v-34f48b51] .menu-item:nth-child(4){--appearance-delay: .25s}.menu[data-v-34f48b51] .menu-item:nth-child(5){--appearance-delay: .2s}.skip-link[data-v-ce15c0b7]{position:absolute;z-index:10}.site[data-v-07ef46bd]{min-block-size:100svh;overflow-x:clip;display:grid;grid-template:"header content" / 20rem auto}@media(width<=1120px){.site[data-v-07ef46bd]{grid-template:"header" "content" "footer"}}@media(width<=768px){.site[data-v-07ef46bd]{padding-bottom:80px}}.site-content[data-v-07ef46bd]{padding:var(--gutter-screen-y, 2rem) var(--gutter-screen-x, 2rem);width:min(50rem,100dvw);margin-inline:auto;grid-area:content}.main[data-v-07ef46bd]{margin:0 auto var(--spacer);outline:0;view-transition-name:main}.floating-note[data-v-95d7eb93]{transition-property:translate,rotate;transition-duration:.15s;transition-timing-function:var(--ease-back-out)}.resume[data-v-bd2e010b]{position:relative;padding-bottom:calc(var(--spacer) * 2)}@media(width<=768px){.resume[data-v-bd2e010b]{padding-bottom:0}}.card[data-v-bd2e010b]{color:var(--front-subtle);font:700 var(--font-size-heading-1)/1 var(--font-body);margin-bottom:calc(var(--spacer) * 2.5);text-align:center}@supports (content-visibility: visible){.card[data-v-bd2e010b]{content-visibility:visible}}@container (width < 46rem){.card[data-v-bd2e010b]{font-size:var(--font-size-heading-3)}}.card-name[data-v-bd2e010b]{margin:0;font:inherit;color:var(--color-blue);animation-delay:.55s;min-width:fit-content;font-size:clamp(var(--font-size-heading-3),13cqi,5ch);transition-property:translate,opacity,scale;transition-delay:.25s;transition-timing-function:var(--ease-back-out)}.card-hello[data-v-bd2e010b]{text-align:left;animation-delay:.45s;transition-property:translate,opacity,scale;transition-delay:.25s;transition-timing-function:var(--ease-back-out)}.card-job[data-v-bd2e010b]{animation-delay:.75s;text-align:right;transition-property:translate,opacity,scale;transition-delay:.25s;transition-timing-function:var(--ease-back-out)}.card-job span[data-v-bd2e010b]{color:var(--color-red);min-width:fit-content}.card-birthday[data-v-bd2e010b]{text-align:center;margin:2em var(--spacer) 0;animation-delay:.85s}.floating-note[data-v-bd2e010b]{font:400 1.75rem/1 var(--font-hand);position:absolute;color:var(--color-green);opacity:0;animation-name:foot-notes-in-bd2e010b;animation-duration:2s;animation-fill-mode:forwards}@media(width<=768px){.floating-note[data-v-bd2e010b]{display:none}}.fn-age[data-v-bd2e010b] .animation-fade-bounce{animation-delay:1.25s;animation-duration:1s}.fn-note[data-v-bd2e010b] .animation-fade-bounce{animation-delay:1.45s;animation-duration:1.05s}.fn-age[data-v-bd2e010b]{bottom:6.25rem;left:-4%}.fn-note[data-v-bd2e010b]{right:5%;bottom:8%}.resume-age[data-v-bd2e010b]{rotate:5deg;animation-delay:1.25s}.resume-age span[data-v-bd2e010b]{display:block;color:var(--color-green)}.resume-age i[data-v-bd2e010b]{color:var(--front-subtle);font-style:normal;font-size:80%;display:block;translate:-12% 0}.resume-age svg[data-v-bd2e010b]{fill:var(--color-blue);width:90px;translate:62px 20px;rotate:-28deg;scale:-1 1}.resume-note[data-v-bd2e010b]{rotate:-6deg;display:flex;align-items:center;animation-delay:1.55s}.resume-note svg[data-v-bd2e010b]{fill:var(--color-blue);width:90px;translate:12px -30px;rotate:28deg}@keyframes foot-notes-in-bd2e010b{to{opacity:1}}.loader[data-v-1233dd7b]{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}h2[data-v-1233dd7b]{margin:0}h2[data-v-1233dd7b]:before,h2[data-v-1233dd7b]:after{display:inline-block;color:var(--color-red);font-size:2em;font-weight:400;margin-inline:var(--spacer);translate:0 .3em}h2[data-v-1233dd7b]:before{content:"{"}h2[data-v-1233dd7b]:after{content:"}"}p[data-v-1233dd7b]{margin:0}.cv-code[data-v-61449aad]{border-radius:.5rem;overflow:hidden;background:var(--back-1);animation-delay:.75s;animation-duration:calc(var(--timing-slow) * 1.5)}@supports (content-visibility: auto){.cv-code[data-v-61449aad]{content-visibility:auto}}[data-v-61449aad] pre{margin:0}@container (width < 46rem){[data-v-61449aad] pre{padding:1.5em 1em}}[data-v-61449aad] pre:after{content:none}[data-v-61449aad] code{animation-delay:.5s}.top-bar[data-v-61449aad]{display:flex;align-items:center;background:var(--back-3);color:var(--front-body);text-align:center;padding:5px 10px;border-radius:.5rem .5rem 0 0;position:relative;font-family:var(--font-mono)}.fake-buttons[data-v-61449aad]{margin-right:1rem;display:flex;gap:6px}.fake-button[data-v-61449aad]{inline-size:.7rem;block-size:.7rem;border-radius:50%;background:var(--accent)}.title[data-v-61449aad]{margin:auto;translate:-32px 0;color:var(--front-subtle)}@container (width < 46rem){.title[data-v-61449aad]{margin:0;translate:0 0}}.presentation[data-v-8d13b2a2]{container:presentation / inline-size}.code[data-v-8d13b2a2]{margin-top:var(--spacer)}
