/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties;.home-page{width:100%}@media (width >= 40rem){.home-page{max-width:40rem}}@media (width >= 48rem){.home-page{max-width:48rem}}@media (width >= 64rem){.home-page{max-width:64rem}}@media (width >= 80rem){.home-page{max-width:80rem}}@media (width >= 96rem){.home-page{max-width:96rem}}.home-page{display:grid;gap:calc(var(--spacing, .25rem)*12);margin-inline:auto;margin-bottom:calc(var(--spacing, .25rem)*10)}.hero-section{align-items:center;display:grid;gap:calc(var(--spacing, .25rem)*8)}@media (min-width:768px){.hero-section{grid-template-columns:1fr auto}}.hero-section__content{display:grid;gap:calc(var(--spacing, .25rem)*8);order:2}@media (width >= 48rem){.hero-section__content{order:1}}.hero-section__header{display:block}.hero-section__title{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height,1.2));margin-bottom:calc(var(--spacing, .25rem)*3);--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.hero-section__subtitle,.hero-section__title{font-family:var(--font-heading,"Karla",ui-sans-serif,system-ui,sans-serif)}.hero-section__subtitle{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,1.33333))}.hero-section__icon{height:calc(var(--spacing, .25rem)*6);width:calc(var(--spacing, .25rem)*6)}.hero-section__avatar{order:1}@media (width >= 48rem){.hero-section__avatar{order:2}}.hero-section__avatar{aspect-ratio:1/1;border-color:hsl(var(--on-background));border-radius:calc(infinity*1px);border-style:var(--tw-border-style);border-width:2px;margin-bottom:calc(var(--spacing, .25rem)*8);width:calc(var(--spacing, .25rem)*40)}@supports (color:color-mix(in lab,red,red)){.hero-section__avatar{border-color:color-mix(in oklab,hsl(var(--on-background)) 50%,transparent)}}.hero-section__avatar{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hero-section__avatar:where(.dark,.dark *){--tw-shadow-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.hero-section__avatar:where(.dark,.dark *){--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-white,#fff) 10%,transparent) var(--tw-shadow-alpha),transparent)}}@media (width >= 48rem){.hero-section__avatar{height:calc(var(--spacing, .25rem)*48);min-width:calc(var(--spacing, .25rem)*48)}}.projects-section__title,.welcome-section__title{font-family:var(--font-heading,"Karla",ui-sans-serif,system-ui,sans-serif);font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,1.33333));margin-bottom:calc(var(--spacing, .25rem)*4);--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.projects-section__grid{display:grid;gap:calc(var(--spacing, .25rem)*4);grid-template-columns:repeat(1,minmax(0,1fr));margin-block:calc(var(--spacing, .25rem)*8)}@media (width >= 48rem){.projects-section__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}body{align-items:center;background-color:var(--color-background,hsl(var(--background)));color:var(--color-on-background,hsl(var(--on-background)));font-family:var(--font-sans,"Geist Sans",ui-sans-serif,system-ui,sans-serif);justify-content:center;margin-inline:auto;max-width:var(--container-3xl,48rem);min-height:100vh;padding:calc(var(--spacing, .25rem)*4);transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)))}nav{align-items:center;display:flex;gap:calc(var(--spacing, .25rem)*4);min-height:calc(var(--spacing, .25rem)*20);width:100%}@media (width >= 48rem){nav{min-height:calc(var(--spacing, .25rem)*24)}}nav:first-child{justify-self:flex-start}nav:last-child{justify-self:flex-end}nav .nav__right-col{align-items:center;display:flex;gap:calc(var(--spacing, .25rem)*4);margin-left:auto}:root{--switch-width:2.5rem;--switch-height:1.5rem;--thumb-size:1rem}.radiant-switch .thumb{display:block;height:var(--thumb-size);pointer-events:none;position:absolute;top:50%;width:var(--thumb-size);--tw-translate-y:-50%;background-color:var(--color-on-background,hsl(var(--on-background)));border-radius:var(--radius-lg,.5rem);transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));translate:var(--tw-translate-x) var(--tw-translate-y);--tw-duration:200ms;transition-duration:.2s;--tw-ease:var(--ease-in-out,cubic-bezier(0.4,0,0.2,1));transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1))}.radiant-switch .switch-wrapper{align-items:center;display:inline-flex;gap:calc(var(--spacing, .25rem)*2)}.radiant-switch .switch{background-color:color-mix(in srgb,hsl(var(--on-background)) 20%,transparent);height:var(--switch-height);position:relative;width:var(--switch-width)}@supports (color:color-mix(in lab,red,red)){.radiant-switch .switch{background-color:color-mix(in oklab,var(--color-on-background,hsl(var(--on-background))) 20%,transparent)}}.radiant-switch .switch{border-radius:var(--radius-lg,.5rem);cursor:pointer;padding:calc(var(--spacing, .25rem)*1);transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)))}.radiant-switch .switch:hover{background-color:color-mix(in srgb,hsl(var(--on-background)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.radiant-switch .switch:hover{background-color:color-mix(in oklab,var(--color-on-background,hsl(var(--on-background))) 30%,transparent)}}.radiant-switch{display:contents}.radiant-switch[checked=true] .switch{background-color:var(--color-primary,hsl(var(--primary)))}.radiant-switch[checked=true] .switch:hover{background-color:color-mix(in srgb,hsl(var(--primary)) 80%,transparent)}@supports (color:color-mix(in lab,red,red)){.radiant-switch[checked=true] .switch:hover{background-color:color-mix(in oklab,var(--color-primary,hsl(var(--primary))) 80%,transparent)}}.radiant-switch[disabled=true] .switch{cursor:not-allowed;opacity:50%}.radiant-switch[checked=true] .thumb{background-color:var(--color-on-primary,hsl(var(--on-primary)));translate:calc(var(--switch-width) - var(--thumb-size) - .5rem) -50%}.breadcrumb-list{align-items:center;column-gap:calc(var(--spacing, .25rem)*2);display:flex;flex-wrap:wrap;list-style-type:none;margin:calc(var(--spacing, .25rem)*0);padding:calc(var(--spacing, .25rem)*0)}.breadcrumb-item{align-items:center;display:flex;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));--tw-leading:calc(var(--spacing, 0.25rem)*3);line-height:calc(var(--spacing, .25rem)*3)}.breadcrumb-item:not(:last-child):after{color:color-mix(in srgb,hsl(var(--on-background)) 50%,transparent);content:">";margin-left:calc(var(--spacing, .25rem)*2);vertical-align:middle}@supports (color:color-mix(in lab,red,red)){.breadcrumb-item:not(:last-child):after{color:color-mix(in oklab,var(--color-on-background,hsl(var(--on-background))) 50%,transparent)}}@media (hover:hover){.breadcrumb-item a:hover{text-decoration-line:underline}}.breadcrumb-item span[aria-current=page]{color:color-mix(in srgb,hsl(var(--on-background)) 70%,transparent)}@supports (color:color-mix(in lab,red,red)){.breadcrumb-item span[aria-current=page]{color:color-mix(in oklab,var(--color-on-background,hsl(var(--on-background))) 70%,transparent)}}.footer{border-top-style:var(--tw-border-style);border-top-width:1px;padding-block:calc(var(--spacing, .25rem)*6)}.footer__container{width:100%}@media (width >= 40rem){.footer__container{max-width:40rem}}@media (width >= 48rem){.footer__container{max-width:48rem}}@media (width >= 64rem){.footer__container{max-width:64rem}}@media (width >= 80rem){.footer__container{max-width:80rem}}@media (width >= 96rem){.footer__container{max-width:96rem}}.footer__container{align-items:center;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem)*4);justify-content:space-between;margin-inline:auto;padding-inline:calc(var(--spacing, .25rem)*4)}@media (width >= 48rem){.footer__container{flex-direction:row}}.footer__copyright{color:var(--color-gray-700,oklch(37.3% .034 259.733));font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857))}.footer__copyright:where(.dark,.dark *){color:var(--color-gray-300,oklch(87.2% .01 258.338))}.footer__links{display:flex;gap:calc(var(--spacing, .25rem)*4)}.footer__link{color:var(--color-gray-700,oklch(37.3% .034 259.733));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));--tw-duration:200ms;transition-duration:.2s}.footer__link:where(.dark,.dark *){color:var(--color-gray-300,oklch(87.2% .01 258.338))}.footer__link:hover{color:var(--color-gray-900,oklch(21% .034 264.665))}.footer__link:hover:where(.dark,.dark *){color:var(--color-gray-100,oklch(96.7% .003 264.542))}.footer__icon{height:calc(var(--spacing, .25rem)*6);width:calc(var(--spacing, .25rem)*6)}.project-card{--project-card-image-light:none;--project-card-image-dark:var(--project-card-image-light);--project-card-image:var(--project-card-image-light);border-color:color-mix(in srgb,oklch(70.7% .022 261.325) 30%,transparent);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--spacing, .25rem)*4);transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)))}@supports (color:color-mix(in lab,red,red)){.project-card{border-color:color-mix(in oklab,var(--color-gray-400,oklch(70.7% .022 261.325)) 30%,transparent)}}.project-card:where(.dark,.dark *){border-color:color-mix(in srgb,oklch(92.8% .006 264.531) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.project-card:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-gray-200,oklch(92.8% .006 264.531)) 30%,transparent)}}.project-card{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:color-mix(in srgb,oklch(27.9% 0.041 260.031) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.project-card{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-800,oklch(27.9% 0.041 260.031)) 10%,transparent) var(--tw-shadow-alpha),transparent)}}.project-card:where(.dark,.dark *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.project-card:where(.dark,.dark *){--tw-shadow-color:color-mix(in srgb,#fff 5%,transparent)}@supports (color:color-mix(in lab,red,red)){.project-card:where(.dark,.dark *){--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-white,#fff) 5%,transparent) var(--tw-shadow-alpha),transparent)}}.project-card:hover{border-color:color-mix(in srgb,oklch(70.7% .022 261.325) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.project-card:hover{border-color:color-mix(in oklab,var(--color-gray-400,oklch(70.7% .022 261.325)) 50%,transparent)}}.project-card:hover:where(.dark,.dark *){border-color:color-mix(in srgb,oklch(92.8% .006 264.531) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.project-card:hover:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-gray-200,oklch(92.8% .006 264.531)) 50%,transparent)}}.project-card:hover{scale:1.01;--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,rgba(0,0,0,.1)),0 8px 10px -6px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.project-card--with-image{padding:calc(var(--spacing, .25rem)*3)}.project-card__preview{aspect-ratio:16/9;border-color:color-mix(in srgb,hsl(var(--on-background)/.2) 20%,transparent);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;margin-bottom:calc(var(--spacing, .25rem)*3)}@supports (color:color-mix(in lab,red,red)){.project-card__preview{border-color:color-mix(in oklab,var(--color-border,hsl(var(--on-background)/.2)) 20%,transparent)}}.project-card__preview{background-color:light-dark(hsl(var(--background-accent)/.4),hsl(var(--background-accent)/.6));background-image:var(--project-card-image);background-position:top;background-repeat:no-repeat;background-size:cover}.project-card__header{align-items:center;display:flex;gap:calc(var(--spacing, .25rem)*2);margin-bottom:calc(var(--spacing, .25rem)*2)}.project-card__icon{height:calc(var(--spacing, .25rem)*5);width:calc(var(--spacing, .25rem)*5)}.project-card__title{--tw-font-weight:var(--font-weight-semibold,600);color:var(--color-gray-900,oklch(21% .034 264.665));font-weight:var(--font-weight-semibold,600)}.project-card__title:where(.dark,.dark *){color:var(--color-white,#fff)}.project-card__description{color:var(--color-gray-600,oklch(44.6% .03 256.802));flex-grow:1;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));margin-bottom:calc(var(--spacing, .25rem)*4)}.project-card__description:where(.dark,.dark *){color:var(--color-gray-400,oklch(70.7% .022 261.325))}.project-card__language{align-items:center;align-self:flex-start;color:var(--color-gray-600,oklch(44.6% .03 256.802));display:flex;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));margin-top:auto}.project-card__language:where(.dark,.dark *){color:var(--color-gray-400,oklch(70.7% .022 261.325))}.project-card__language-indicator{background-color:var(--color-gray-500,oklch(55.1% .027 264.364));border-radius:calc(infinity*1px);display:inline-block;height:calc(var(--spacing, .25rem)*3);margin-right:calc(var(--spacing, .25rem)*1);width:calc(var(--spacing, .25rem)*3)}.project-card__language-indicator--typescript{background-color:var(--color-blue-500,oklch(62.3% .214 259.815))}html[data-theme=dark] .project-card{--project-card-image:var(--project-card-image-dark)}html[data-theme=light] .project-card{--project-card-image:var(--project-card-image-light)}staggered-list>*{opacity:0}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@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-font-weight:initial;--tw-border-style:solid;--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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-duration:initial;--tw-ease:initial;--tw-leading:initial}}}