/*! tailwindcss v4.3.2 | 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;--tw-tracking:initial}}}.project:where(.astro-y2vllrex){border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgb(var(--color-border));padding:calc(var(--spacing,.25rem) * 4);background-image:linear-gradient(to right, rgb(var(--color-card)) 0%, rgb(var(--color-fill)) 45%)}.project--featured:where(.astro-y2vllrex){border-color:rgb(var(--color-accent))}@supports (color:color-mix(in lab, red, red)){.project--featured:where(.astro-y2vllrex){border-color:color-mix(in oklab, rgb(var(--color-accent)) 40%, transparent)}}.project__head:where(.astro-y2vllrex){align-items:center;gap:calc(var(--spacing,.25rem) * 2);flex-wrap:wrap;display:flex}.project__name:where(.astro-y2vllrex){font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:rgb(var(--color-accent));text-underline-offset:4px;text-decoration-style:dashed}@media (hover:hover){.project__name:where(.astro-y2vllrex):hover{text-decoration-line:underline}}.project__badge:where(.astro-y2vllrex){background-color:rgb(var(--color-accent));border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.project__badge:where(.astro-y2vllrex){background-color:color-mix(in oklab, rgb(var(--color-accent)) 15%, transparent)}}.project__badge:where(.astro-y2vllrex){padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);--tw-font-weight:var(--font-weight-semibold,600);font-size:10px;font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em);color:rgb(var(--color-accent));text-transform:uppercase}.project__desc:where(.astro-y2vllrex){margin-top: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)));color:rgb(var(--color-text-base))}@supports (color:color-mix(in lab, red, red)){.project__desc:where(.astro-y2vllrex){color:color-mix(in oklab, rgb(var(--color-text-base)) 80%, transparent)}}.project__meta:where(.astro-y2vllrex){margin-top:calc(var(--spacing,.25rem) * 3);align-items:center;column-gap:calc(var(--spacing,.25rem) * 3);row-gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));flex-wrap:wrap;display:flex}.muted:where(.astro-y2vllrex){color:rgb(var(--color-text-base))}@supports (color:color-mix(in lab, red, red)){.muted:where(.astro-y2vllrex){color:color-mix(in oklab, rgb(var(--color-text-base)) 60%, transparent)}}.pill:where(.astro-y2vllrex){border-style:var(--tw-border-style);border-width:1px;border-color:rgb(var(--color-border));background-color:rgb(var(--color-card));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:var(--spacing,.25rem);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:rgb(var(--color-text-base));border-radius:3.40282e38px}@supports (color:color-mix(in lab, red, red)){.pill:where(.astro-y2vllrex){color:color-mix(in oklab, rgb(var(--color-text-base)) 80%, transparent)}}.pill:where(.astro-y2vllrex){text-decoration-line:none}@media (hover:hover){a:where(.astro-y2vllrex).pill:hover{border-color:rgb(var(--color-accent))}@supports (color:color-mix(in lab, red, red)){a:where(.astro-y2vllrex).pill:hover{border-color:color-mix(in oklab, rgb(var(--color-accent)) 40%, transparent)}}a:where(.astro-y2vllrex).pill:hover{color:rgb(var(--color-accent))}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}.wrap:where(.astro-3rkrlumz){width:100%;max-width:var(--container-5xl,64rem);padding-inline:calc(var(--spacing,.25rem) * 4);padding-bottom:calc(var(--spacing,.25rem) * 28);margin-inline:auto}.title:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 2);font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wider,.05em);letter-spacing:var(--tracking-wider,.05em)}@media (width>=640px){.title:where(.astro-3rkrlumz){font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height,calc(2.25 / 1.875)))}}.lede:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 2);color:rgb(var(--color-text-base))}@supports (color:color-mix(in lab, red, red)){.lede:where(.astro-3rkrlumz){color:color-mix(in oklab, rgb(var(--color-text-base)) 80%, transparent)}}.section-title:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 10);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em)}@media (width>=640px){.section-title:where(.astro-3rkrlumz){font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}}.section-lede:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 2);color:rgb(var(--color-text-base))}@supports (color:color-mix(in lab, red, red)){.section-lede:where(.astro-3rkrlumz){color:color-mix(in oklab, rgb(var(--color-text-base)) 80%, transparent)}}.note:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 4);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgb(var(--color-accent))}@supports (color:color-mix(in lab, red, red)){.note:where(.astro-3rkrlumz){border-color:color-mix(in oklab, rgb(var(--color-accent)) 30%, transparent)}}.note:where(.astro-3rkrlumz){background-color:rgb(var(--color-accent))}@supports (color:color-mix(in lab, red, red)){.note:where(.astro-3rkrlumz){background-color:color-mix(in oklab, rgb(var(--color-accent)) 10%, transparent)}}.note:where(.astro-3rkrlumz){padding:calc(var(--spacing,.25rem) * 3);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgb(var(--color-text-base))}.apps-grid:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 6);gap:calc(var(--spacing,.25rem) * 4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.app-card:where(.astro-3rkrlumz){border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgb(var(--color-border));transition-property:all;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))}@media (hover:hover){.app-card:where(.astro-3rkrlumz):hover{border-color:rgb(var(--color-accent))}}.app-card:where(.astro-3rkrlumz){background-image:linear-gradient(to right, rgb(var(--color-card)) 0%, rgb(var(--color-fill)) 45%)}.app-link:where(.astro-3rkrlumz){align-items:center;gap:calc(var(--spacing,.25rem) * 4);padding:calc(var(--spacing,.25rem) * 4);text-decoration-line:none;display:flex}.app-icon:where(.astro-3rkrlumz){height:calc(var(--spacing,.25rem) * 16);width:calc(var(--spacing,.25rem) * 16);border-radius:var(--radius-xl,.75rem);flex-shrink:0}.app-info:where(.astro-3rkrlumz){flex-direction:column;display:flex}.app-name:where(.astro-3rkrlumz){font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:rgb(var(--color-accent))}.app-description:where(.astro-3rkrlumz){margin-top:var(--spacing,.25rem);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgb(var(--color-text-base))}@supports (color:color-mix(in lab, red, red)){.app-description:where(.astro-3rkrlumz){color:color-mix(in oklab, rgb(var(--color-text-base)) 80%, transparent)}}.app-platform:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 2);background-color:rgb(var(--color-accent));border-radius:3.40282e38px;width:fit-content;display:inline-block}@supports (color:color-mix(in lab, red, red)){.app-platform:where(.astro-3rkrlumz){background-color:color-mix(in oklab, rgb(var(--color-accent)) 10%, transparent)}}.app-platform:where(.astro-3rkrlumz){padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgb(var(--color-accent))}.projects-grid:where(.astro-3rkrlumz){margin-top:calc(var(--spacing,.25rem) * 6);gap:calc(var(--spacing,.25rem) * 4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}