@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}#themeToggle[data-astro-cid-rknshgfe]{background:0 0;border:0}#themeToggle[data-astro-cid-rknshgfe]:hover{cursor:pointer;rotate:10deg}.moon[data-astro-cid-rknshgfe]{fill:var(--text)}.sun[data-astro-cid-rknshgfe],.light .moon[data-astro-cid-rknshgfe]{fill:#0000}.light .sun[data-astro-cid-rknshgfe]{fill:var(--text-light)}.halo[data-astro-cid-ugj6dwmm]{display:inline-block;position:relative}.halo[data-astro-cid-ugj6dwmm]:before{content:"";border:3px solid var(--celestial-gold-light);opacity:0;pointer-events:none;border-radius:50%;width:17px;height:8px;transition:opacity .2s ease-out;position:absolute;bottom:62%;left:50%;transform:translate(-58%)rotate(-20deg)}a[data-astro-cid-ugj6dwmm]:hover .halo[data-astro-cid-ugj6dwmm]:before,a[data-astro-cid-ugj6dwmm]:focus .halo[data-astro-cid-ugj6dwmm]:before,a[data-astro-cid-ugj6dwmm]:focus-visible .halo[data-astro-cid-ugj6dwmm]:before{opacity:1}@media (prefers-reduced-motion:reduce){.halo[data-astro-cid-ugj6dwmm]:before{transition:none}}@font-face{font-family:"13 Misa";src:url(/fonts/13misa/13_Misa.TTF)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--background:#0a1017;--background-light:#f4f7fa;--button:#7ee0c2;--text:#e8edf2;--text-light:#111922;--text-link:#7ee0c2;--text-link-light:#1f6b56;--underline:#ffcb8d;--body:"Inter", ui-sans-serif, system-ui, sans-serif;--display:"Oxanium", sans-serif;--sans:"Inter", ui-sans-serif, system-ui, sans-serif;--technical:"Space Grotesk", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--chrome:"Oxanium", sans-serif;--chrome-weight:200;--chrome-tracking:.06em;--chrome-inset:3rem;--celestial-gold-light:#fff2cc;--celestial-gold:#ffcb8d;--celestial-gold-dark:#dca462;--display-colour:var(--text);--display-colour-light:var(--text-light);--emboss-shadow:none;--emboss-highlight:none;--emboss-shadow-light:none;--emboss-highlight-light:none;--display-opsz:normal;--title-weight:400;--scene:url(/images/background/both-circuits-bg5.jpeg)}@property --zoom{syntax:"<percentage>";inherits:true;initial-value:100%}html.option1{--display:"Oxanium", sans-serif;--sans:"Inter", sans-serif;--technical:"Space Grotesk", sans-serif;--mono:"JetBrains Mono", monospace;--underline:var(--celestial-gold)}html.option2{--display:"Oxanium", sans-serif;--sans:"Inter", sans-serif;--technical:"Space Grotesk", sans-serif;--mono:"JetBrains Mono", monospace;--underline:var(--celestial-gold);--display-colour:var(--celestial-gold);--emboss-shadow:0 -1px 1px #0000008c;--emboss-highlight:0 1px 1px color-mix(in srgb, var(--celestial-gold-light) 75%, transparent);--emboss-shadow-light:0 -1px 1px #fffc;--emboss-highlight-light:0 1px 1px #00000059}html.option3{--display:"Fraunces", Georgia, serif;--sans:"Inter", sans-serif;--technical:"Space Grotesk", sans-serif;--mono:"JetBrains Mono", monospace;--underline:var(--celestial-gold);--display-opsz:144;--emboss-shadow:0 -1px 1px #0000008c;--emboss-highlight:0 1px 1px color-mix(in srgb, var(--celestial-gold-light) 75%, transparent);--emboss-shadow-light:0 -1px 1px #fffc;--emboss-highlight-light:0 1px 1px #00000059}html.option4{--display:"Oxanium", sans-serif;--sans:"Inter", sans-serif;--technical:"Space Grotesk", sans-serif;--mono:"JetBrains Mono", monospace;--underline:var(--celestial-gold);--title-weight:200;--emboss-shadow:0 -1px 1px #0000008c;--emboss-highlight:0 1px 1px color-mix(in srgb, var(--celestial-gold-light) 75%, transparent);--emboss-shadow-light:0 -1px 1px #fffc;--emboss-highlight-light:0 1px 1px #00000059}html{background-color:var(--background);color:var(--text);background-image:var(--scene);--zoom:140%;background-size:var(--zoom) calc(var(--zoom) * 2);background-position:bottom;background-repeat:no-repeat;background-attachment:fixed}html.theme-animating{transition:background-position 1.5s cubic-bezier(.16,1,.3,1)}html.unzoomed{--zoom:100%}html.unzoomed.leaving{--zoom:140%;transition:--zoom .8s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){html.theme-animating,html.unzoomed.leaving{transition:none}}body{width:min(756px,100vw - 60px);margin:0 auto}main{padding-top:1px}html.unzoomed body{width:min(540px,100vw - 60px)}h1,h2{font-family:var(--display);font-weight:var(--title-weight);color:var(--display-colour);font-variation-settings:"opsz" var(--display-opsz);text-shadow:var(--emboss-shadow), var(--emboss-highlight)}h1{margin:0 0 5px;font-size:2.6rem}h2{margin-bottom:0;font-size:1.9rem}h3{font-family:var(--technical);margin-top:1.6rem;margin-bottom:0;font-size:1.5rem;font-weight:500}h4{font-family:var(--technical);margin-top:1.4rem;margin-bottom:0;font-size:1.2rem;font-weight:500}p{font-family:var(--sans);hyphens:auto;font-size:1.1rem;line-height:1.5}small,li{font-family:var(--sans)}header{box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);padding:0}.navbar{grid-template-columns:auto 1fr;gap:1rem;width:min(756px,100vw - 60px);margin-top:.8rem;margin-left:auto;margin-right:auto;display:grid}html.unzoomed .navbar{width:min(540px,100vw - 60px)}.navbar__title{font-family:var(--chrome);font-weight:var(--chrome-weight);color:var(--display-colour);text-transform:uppercase;letter-spacing:var(--chrome-tracking);text-shadow:var(--emboss-shadow), var(--emboss-highlight);white-space:nowrap;font-size:1.3rem}.navbar__title>a{color:var(--text);text-decoration:none}.toolbar{top:3.2rem;right:var(--chrome-inset);z-index:10;font-family:var(--chrome);font-weight:var(--chrome-weight);text-transform:uppercase;letter-spacing:var(--chrome-tracking);flex-direction:column;align-items:flex-end;gap:1.2rem;font-size:1.1rem;display:flex;position:absolute}.toolbar__menu{text-align:right;flex-direction:column;align-items:flex-end;gap:.7rem;display:flex}.toolbar__menu>a{color:var(--text);white-space:nowrap;text-decoration:none}.toolbar__toggle{top:.6rem;right:var(--chrome-inset);z-index:11;justify-content:flex-end;align-items:center;display:flex;position:absolute}@media only screen and (width<=899px){.toolbar{right:.4rem}}@media only screen and (width<=599px){.toolbar{flex-direction:row;justify-content:center;align-items:center;gap:1rem;max-width:540px;margin:0 auto;position:static;transform:none}.toolbar__menu{text-align:center;flex-direction:row;align-items:center;gap:0}.toolbar__menu>a{margin:0 7px}}.gif{text-align:center;margin:20px 0 0}.badge{color:var(--text);font-family:var(--technical);background-color:#584966;border-radius:6px;padding:.3em .6em .2em;font-size:.85rem;font-weight:600}.badge__list{text-indent:1rem;padding:0;list-style:none}.badge__list>li{margin-top:10px}.badge--item{font-family:var(--mono);letter-spacing:.05em;border-radius:4px;margin-right:5px;padding:.5em .3em .3em;font-size:.7rem}.badge__link{color:var(--text-link);text-decoration:none}.badge__link:hover{text-decoration:underline}.card{background-size:400%;padding:20px;list-style:none;display:flex}.card__link{width:100%;color:var(--text);border-radius:8px;line-height:1.4;text-decoration:none}.card__img{border-radius:16px}.card__title{font-family:var(--display);font-size:1.5rem;font-weight:var(--title-weight);text-align:center;margin:0}.card__txt{text-indent:0;text-align:center;margin:.5rem 0 0;font-size:1rem;line-height:1.5}.card__link:hover{transform:scale(1.05)}.link-card-grid{grid-template-columns:repeat(auto-fit,minmax(24ch,1fr));gap:1rem;padding:0;display:grid}@media only screen and (width<=769px){.link-card-grid{grid-template-columns:1fr}}.btn{text-align:center;border:2px solid var(--button);color:var(--text);font:600 16px var(--body);background:0 0;border-radius:8px;padding:8px 16px;transition:background-color .4s,color .4s}.btn:hover{background-color:var(--button);color:var(--text-light);cursor:pointer}.skills{margin-top:8px}.skills__img{margin:8px 4px}.center{text-align:center}.pro-img{border-radius:16px;margin-top:10px}footer{margin:4rem 0}.footer__link{color:var(--text-link);text-decoration:none}.footer{cursor:default;padding:0;list-style:none}.icon__btn{padding:0 .5rem;display:inline-block}.icon__link{border:2px solid #fdebf3;border-radius:50%;width:20px;height:20px;padding:10px;display:flex}.icon__link:hover{border-color:var(--text-link)}.git-icon{content:url(/images/social/gitlab-mark.svg)}.mail-icon{content:url(/images/social/mail-white.svg)}.linked-in{content:url(/images/social/li-in-white.png)}.lost{text-align:center;margin-top:4rem}.lost .banner{margin-bottom:2rem}.lost__header{text-align:center;letter-spacing:10px;border:0;margin:0 auto;font-size:7.5rem}.lost__body{color:#5c5b77}.lost__link{color:var(--text-link);text-decoration:none}html.light{background-color:var(--background-light);color:var(--text-light);--display-colour:var(--display-colour-light);--emboss-shadow:var(--emboss-shadow-light);--emboss-highlight:var(--emboss-highlight-light);background-position:top}.light .navbar__title>a,.light .toolbar__menu>a,.light .card__title,.light .card__txt,.light .btn{color:var(--text-light)}.light .btn:hover{color:var(--text)}.light .icon__link{border:2px solid var(--text-light)}.light .git-icon{content:url(/images/social/gitlab-mark-dark.svg)}.light .mail-icon{content:url(/images/social/mail.svg)}.light .linked-in{content:url(/images/social/li-in.png)}.light .badge__link,.light .footer__link{color:var(--text-link-light)}.light .icon__link:hover{border-color:var(--text-link-light)}@media only screen and (width<=600px){.navbar__title{white-space:normal}.toolbar__menu>a{margin:0 5px}.toolbar{flex-wrap:wrap;row-gap:.4rem}.toolbar__menu{flex-wrap:wrap;justify-content:center}.skills__img{width:30px;height:30px;margin:8px 1px}.badge__list{text-indent:0;font-size:.9rem}.pro-img{width:350px;height:auto}}.dev-only{display:none}:root.ut .dev-only{display:revert}.type-sampler{flex-direction:column;gap:1.6rem;margin:1.5rem 0;display:flex}.type-sampler__row{border-bottom:1px solid color-mix(in srgb, var(--text) 20%, transparent);flex-direction:column;gap:.5rem;padding-bottom:1.4rem;display:flex}.type-sampler__row:last-child{border-bottom:none}.type-sampler__meta{flex-direction:column;gap:.15rem;display:flex}.type-sampler__name{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-link);font-size:.8rem}.type-sampler__note{font-family:var(--sans);color:var(--text);opacity:.75;text-indent:0;font-size:.85rem;line-height:1.4}.type-sampler__sample{text-decoration:underline var(--underline);text-underline-offset:6px;color:var(--display-colour);font-size:2.1rem;line-height:1.25;text-decoration-thickness:4px}.light .type-sampler__note{color:var(--text-light)}.light .type-sampler__row{border-bottom-color:color-mix(in srgb, var(--text-light) 20%, transparent)}
