@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}.post-grid_main-grid__hth84{display:grid;grid-template-areas:"post toc";grid-template-columns:1fr 20rem;gap:2rem;@media (width < 64rem){grid-template-areas:"post";grid-template-columns:1fr}}.post-grid_post__x5vlj{grid-area:post}.post-grid_toc__PylpY{grid-area:toc;display:grid;@media (width < 64rem){display:none}}.post-grid_other-posts__NVi99{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem;row-gap:2.5rem;@media (width < 64rem){grid-template-columns:1fr;column-gap:1.5rem;row-gap:2rem}}.project-grid_main-grid__yyEPw{display:grid;grid-template-areas:"goBack showcase" "intro showcase" "techstack showcase" "controls showcase" "details details";grid-template-columns:30rem 1fr;grid-template-rows:repeat(3,max-content) 1fr max-content;column-gap:2rem;row-gap:1.5rem;@media (width < 80rem){grid-template-columns:24rem 1fr}@media (width < 64rem){grid-template-areas:"goBack" "showcase" "controls" "intro" "techstack" "details";grid-template-columns:auto;grid-template-rows:repeat(6,max-content);column-gap:0;row-gap:1.5rem}}.project-grid_showcase__R3LGW{grid-area:showcase;min-height:calc(100dvh - 5rem - 3rem);@media (width < 64rem){min-height:auto}}.project-grid_techStack__PAMZ8{grid-area:techstack}.project-grid_controls__scILm{grid-area:controls;align-self:end}.project-grid_goBack__f2MqF{grid-area:goBack}.project-grid_main-grid__yyEPw .project-intro{grid-area:intro}.project-grid_main-grid__yyEPw .project-details{grid-area:details;padding-top:10rem;@media (width < 64rem){padding-top:1rem;border-top:calc(var(--line-size) * 1px) solid var(--color-border)!important}}

/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-font-weight:initial}}}[data-rehype-pretty-code-fragment] code{border-style:var(--tw-border-style);min-width:100%;padding:calc(var(--spacing,.25rem)*0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));overflow-wrap:break-word;color:var(--color-black,#000);counter-reset:line;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#0000;border-width:0;border-radius:0;display:grid}[data-rehype-pretty-code-fragment] .line{padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*1)}[data-rehype-pretty-code-fragment] [data-line-numbers]>.line:before{counter-increment:line;content:counter(line);text-align:right;color:gray;width:1rem;margin-right:1rem;display:inline-block}[data-rehype-pretty-code-fragment] .line--highlighted{background-color:#cad5e21a}@supports (color:color-mix(in lab,red,red)){[data-rehype-pretty-code-fragment] .line--highlighted{background-color:color-mix(in oklab,var(--color-slate-300,oklch(86.9% .022 252.894))10%,transparent)}}[data-rehype-pretty-code-fragment] .line-highlighted span{position:relative}[data-rehype-pretty-code-fragment] .word--highlighted{background-color:#cad5e21a;border-radius:0}@supports (color:color-mix(in lab,red,red)){[data-rehype-pretty-code-fragment] .word--highlighted{background-color:color-mix(in oklab,var(--color-slate-300,oklch(86.9% .022 252.894))10%,transparent)}}[data-rehype-pretty-code-fragment] .word--highlighted{padding:calc(var(--spacing,.25rem)*1)}[data-rehype-pretty-code-title]{margin-top:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}[data-rehype-pretty-code-title]+pre{margin-top:calc(var(--spacing,.25rem)*0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}