@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial}}}.project-footer-link[data-astro-cid-4i455rzk]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-slate-600,oklch(44.6% .043 257.281));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.project-footer-link[data-astro-cid-4i455rzk]:hover{color:var(--color-primary,#11c1a2)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial}}}.project-nav-link[data-astro-cid-fnxs6eaj]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-slate-600,oklch(44.6% .043 257.281));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s;position:relative}@media (hover:hover){.project-nav-link[data-astro-cid-fnxs6eaj]:hover{color:var(--color-primary,#11c1a2)}}.project-nav-link[data-astro-cid-fnxs6eaj]:after{background-color:var(--color-primary,#11c1a2);content:"";transform-origin:100% 100%;width:100%;height:1px;transition:transform .25s ease-out;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.project-nav-link[data-astro-cid-fnxs6eaj]:hover:after{transform-origin:0 100%;transform:scaleX(1)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial;--tw-space-y-reverse:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-border-style:solid;--tw-duration:initial}}}.prose h1{margin-top:calc(var(--spacing,.25rem)*8);margin-bottom:calc(var(--spacing,.25rem)*6);font-family:var(--font-space-grotesk,"Space Grotesk",ui-sans-serif,system-ui,sans-serif);font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-slate-900,oklch(20.8% .042 265.755))}@media (min-width:48rem){.prose h1{font-size:var(--text-5xl,3rem);line-height:var(--tw-leading,var(--text-5xl--line-height,1))}}.prose h2{margin-top:calc(var(--spacing,.25rem)*8);margin-bottom:calc(var(--spacing,.25rem)*4);font-family:var(--font-space-grotesk,"Space Grotesk",ui-sans-serif,system-ui,sans-serif);font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-800,oklch(27.9% .041 260.031))}@media (min-width:48rem){.prose h2{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)))}}.prose h3{margin-top:calc(var(--spacing,.25rem)*6);margin-bottom:calc(var(--spacing,.25rem)*3);font-family:var(--font-space-grotesk,"Space Grotesk",ui-sans-serif,system-ui,sans-serif);font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-slate-800,oklch(27.9% .041 260.031))}@media (min-width:48rem){.prose h3{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ))}}.prose h4{margin-top:calc(var(--spacing,.25rem)*6);margin-bottom:calc(var(--spacing,.25rem)*3);font-family:var(--font-space-grotesk,"Space Grotesk",ui-sans-serif,system-ui,sans-serif);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-slate-800,oklch(27.9% .041 260.031))}@media (min-width:48rem){.prose h4{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)))}}.prose h5{margin-top:calc(var(--spacing,.25rem)*4);margin-bottom:calc(var(--spacing,.25rem)*2);font-family:var(--font-space-grotesk,"Space Grotesk",ui-sans-serif,system-ui,sans-serif);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-slate-800,oklch(27.9% .041 260.031))}@media (min-width:48rem){.prose h5{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)))}}.prose h6{margin-top:calc(var(--spacing,.25rem)*4);margin-bottom:calc(var(--spacing,.25rem)*2);font-family:var(--font-space-grotesk,"Space Grotesk",ui-sans-serif,system-ui,sans-serif);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-slate-700,oklch(37.2% .044 257.287))}@media (min-width:48rem){.prose h6{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}}.prose p{margin-bottom:calc(var(--spacing,.25rem)*4);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-700,oklch(37.2% .044 257.287))}@media (min-width:48rem){.prose p{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}}.prose ul,.prose ol{margin-bottom:calc(var(--spacing,.25rem)*6);margin-left:calc(var(--spacing,.25rem)*6);list-style-type:decimal}:where(:is(.prose ul,.prose ol)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing,.25rem)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing,.25rem)*2)*calc(1 - var(--tw-space-y-reverse)))}.prose ul{margin-bottom:calc(var(--spacing,.25rem)*6);margin-left:calc(var(--spacing,.25rem)*6);list-style-type:disc}:where(.prose ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing,.25rem)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing,.25rem)*2)*calc(1 - var(--tw-space-y-reverse)))}.prose li{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-700,oklch(37.2% .044 257.287))}@media (min-width:48rem){.prose li{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}}.prose img{margin-block:calc(var(--spacing,.25rem)*8);border-radius:var(--radius-lg,.5rem);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);width:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.prose blockquote{margin-block:calc(var(--spacing,.25rem)*6);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--color-primary,#11c1a2);background-color:var(--color-slate-50,oklch(98.4% .003 247.858));padding-block:calc(var(--spacing,.25rem)*4);padding-left:calc(var(--spacing,.25rem)*6);color:var(--color-slate-600,oklch(44.6% .043 257.281));font-style:italic}.prose code{background-color:var(--color-slate-100,oklch(96.8% .007 247.896));padding-inline:calc(var(--spacing,.25rem)*2);padding-block:calc(var(--spacing,.25rem)*1);font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-slate-800,oklch(27.9% .041 260.031));border-radius:.25rem}.prose pre{margin-block:calc(var(--spacing,.25rem)*8);border-radius:var(--radius-lg,.5rem);background-color:var(--color-slate-900,oklch(20.8% .042 265.755));padding:calc(var(--spacing,.25rem)*6);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-slate-100,oklch(96.8% .007 247.896));overflow-x:auto}.prose pre code{padding:calc(var(--spacing,.25rem)*0);color:var(--color-slate-100,oklch(96.8% .007 247.896));background-color:#0000}.prose a{color:var(--color-primary,#11c1a2);text-underline-offset:2px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;text-decoration-line:underline;transition-duration:.2s}@media (hover:hover){.prose a:hover{color:#11c1a2cc}@supports (color:color-mix(in lab,red,red)){.prose a:hover{color:color-mix(in oklab,var(--color-primary,#11c1a2)80%,transparent)}}}.prose strong{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.prose em{color:var(--color-slate-600,oklch(44.6% .043 257.281));font-style:italic}.prose>:first-child{margin-top:calc(var(--spacing,.25rem)*0)}.prose>:last-child{margin-bottom:calc(var(--spacing,.25rem)*0)}.prose table{margin-block:calc(var(--spacing,.25rem)*8);border-collapse:collapse;width:100%}.prose th,.prose td{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:left}.prose th{background-color:var(--color-slate-50,oklch(98.4% .003 247.858));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.prose td{color:var(--color-slate-700,oklch(37.2% .044 257.287))}.prose hr{margin-block:calc(var(--spacing,.25rem)*8);border-color:var(--color-slate-200,oklch(92.9% .013 255.508))}@property --tw-leading{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}/*! tailwindcss v4.1.13 | 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)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}.project-meta[data-astro-cid-xh7mzcst]{margin-bottom:calc(var(--spacing,.25rem)*8);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:var(--color-slate-50,oklch(98.4% .003 247.858));padding:calc(var(--spacing,.25rem)*6)}.tech-stack[data-astro-cid-xh7mzcst]{margin-top:calc(var(--spacing,.25rem)*2);gap:calc(var(--spacing,.25rem)*2);flex-wrap:wrap;display:flex}.tech-tag[data-astro-cid-xh7mzcst]{background-color:#11c1a21a;border-radius:3.40282e38px}@supports (color:color-mix(in lab,red,red)){.tech-tag[data-astro-cid-xh7mzcst]{background-color:color-mix(in oklab,var(--color-primary,#11c1a2)10%,transparent)}}.tech-tag[data-astro-cid-xh7mzcst]{padding-inline:calc(var(--spacing,.25rem)*3);padding-block:calc(var(--spacing,.25rem)*1);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);color:var(--color-primary,#11c1a2)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
