.project-card.svelte-17gbm4a{position:relative;overflow:hidden;transition:border-color .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1)}.project-card.svelte-17gbm4a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--color-accent) 5%,transparent));opacity:0;transition:opacity .3s ease;pointer-events:none}.project-card.svelte-17gbm4a:hover:before,.project-card.svelte-17gbm4a:has(.card-link:where(.svelte-17gbm4a):focus-visible):before{opacity:1}.project-card.svelte-17gbm4a:hover,.project-card.svelte-17gbm4a:has(.card-link:where(.svelte-17gbm4a):focus-visible){border-color:color-mix(in srgb,var(--color-accent) 35%,transparent);transform:translateY(-3px);box-shadow:0 12px 40px #0000004d,0 0 20px color-mix(in srgb,var(--color-accent) 6%,transparent)}.project-card.svelte-17gbm4a:hover .project-name:where(.svelte-17gbm4a),.project-card.svelte-17gbm4a:has(.card-link:where(.svelte-17gbm4a):focus-visible) .project-name:where(.svelte-17gbm4a){color:var(--color-accent)}.project-card.svelte-17gbm4a:hover .card-cta:where(.svelte-17gbm4a),.project-card.svelte-17gbm4a:has(.card-link:where(.svelte-17gbm4a):focus-visible) .card-cta:where(.svelte-17gbm4a){color:var(--color-accent)}.project-card.svelte-17gbm4a:hover .card-cta:where(.svelte-17gbm4a) .cta-arrow:where(.svelte-17gbm4a),.project-card.svelte-17gbm4a:has(.card-link:where(.svelte-17gbm4a):focus-visible) .card-cta:where(.svelte-17gbm4a) .cta-arrow:where(.svelte-17gbm4a){transform:translate(3px)}.cta-arrow.svelte-17gbm4a{transition:transform .25s cubic-bezier(.22,1,.36,1)}.card-link.svelte-17gbm4a:after{content:"";position:absolute;top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem;z-index:1}.card-link.svelte-17gbm4a:focus-visible{outline:none}.project-card.svelte-17gbm4a:has(.card-link:where(.svelte-17gbm4a):focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.link-icon.svelte-17gbm4a{transition:color .2s ease,transform .2s ease}.link-icon.svelte-17gbm4a:hover{color:var(--color-accent);transform:translateY(-1px)}.project-description.svelte-17gbm4a code{font-family:var(--font-mono);font-size:.85em;padding:.1em .35em;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 15%,transparent);color:color-mix(in srgb,var(--color-accent-foreground) 85%,var(--color-accent))}.project-description.svelte-17gbm4a a{color:color-mix(in srgb,var(--color-accent) 75%,var(--color-accent-foreground));text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-accent) 40%,transparent);text-underline-offset:2px}.project-description.svelte-17gbm4a a:hover{color:color-mix(in srgb,var(--color-accent) 50%,var(--color-accent-foreground))}.project-description.svelte-17gbm4a strong{color:color-mix(in srgb,var(--color-foreground) 90%,transparent);font-weight:600}.project-description.svelte-17gbm4a em{font-style:italic}.projects-page.svelte-rqn88j{font-family:var(--font-sans)}.mono.svelte-rqn88j{font-family:var(--font-mono)}@keyframes svelte-rqn88j-card-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.card-in.svelte-rqn88j{animation:svelte-rqn88j-card-in .5s ease both;animation-delay:calc(.3s + var(--card-i, 0) * .06s)}
