#main-content:where(.astro-2hwget37){margin-left:auto;margin-right:auto;width:100%;max-width:48rem;padding-left:1rem;padding-right:1rem;padding-bottom:4rem}.page-intro:where(.astro-2hwget37){margin-bottom:2.5rem}@media (min-width: 640px){.page-intro:where(.astro-2hwget37){margin-bottom:3rem}}.page-intro:where(.astro-2hwget37) h1:where(.astro-2hwget37){font-size:1.5rem;line-height:2rem;font-weight:600}@media (min-width: 640px){.page-intro:where(.astro-2hwget37) h1:where(.astro-2hwget37){font-size:1.875rem;line-height:2.25rem}}.page-intro:where(.astro-2hwget37) p:where(.astro-2hwget37){margin-top:.5rem;font-size:.875rem;line-height:1.75rem;opacity:.7}@media (min-width: 640px){.page-intro:where(.astro-2hwget37) p:where(.astro-2hwget37){font-size:1rem;line-height:1.5rem}}.project-list:where(.astro-2hwget37)>:not([hidden]):where(.astro-2hwget37)~:not([hidden]):where(.astro-2hwget37){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}@media (min-width: 640px){.project-list:where(.astro-2hwget37)>:not([hidden]):where(.astro-2hwget37)~:not([hidden]):where(.astro-2hwget37){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}}.project-card:where(.astro-2hwget37){position:relative;isolation:isolate;display:grid;overflow:hidden;border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--color-border),var(--tw-border-opacity));background-color:rgba(var(--color-card),.2)}@media (min-width: 640px){.project-card:where(.astro-2hwget37){grid-template-columns:minmax(0,1fr) minmax(240px,.86fr)}}.project-copy:where(.astro-2hwget37){z-index:10;display:flex;flex-direction:column;padding:1.5rem}@media (min-width: 640px){.project-copy:where(.astro-2hwget37){padding:2rem}}.project-heading:where(.astro-2hwget37){display:flex;align-items:center;gap:1rem}.app-icon:where(.astro-2hwget37){height:5rem;width:5rem;flex-shrink:0;border-radius:22%;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.app-icon:where(.astro-2hwget37){height:88px;width:88px}}.platform:where(.astro-2hwget37){margin-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.project-heading:where(.astro-2hwget37) h2:where(.astro-2hwget37){font-size:1.5rem;line-height:2rem;font-weight:600;line-height:1.25}@media (min-width: 640px){.project-heading:where(.astro-2hwget37) h2:where(.astro-2hwget37){font-size:1.7rem}}.subtitle:where(.astro-2hwget37){margin-top:.25rem;font-size:.875rem;line-height:1.25rem;opacity:.65}.description:where(.astro-2hwget37){margin-top:1.5rem;font-size:.875rem;line-height:1.75rem;opacity:.85}@media (min-width: 640px){.description:where(.astro-2hwget37){font-size:.95rem}}.feature-list:where(.astro-2hwget37){margin-top:1.25rem;display:grid;gap:.5rem;font-size:.875rem;line-height:1.25rem}.feature-list:where(.astro-2hwget37) li:where(.astro-2hwget37){display:flex;align-items:center;gap:.75rem}.feature-list:where(.astro-2hwget37) li:where(.astro-2hwget37):before{content:"";height:.375rem;width:.375rem;flex-shrink:0;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgba(var(--color-accent),var(--tw-bg-opacity))}.store-link:where(.astro-2hwget37){margin-top:1.75rem;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.5rem;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgba(var(--color-accent),var(--tw-bg-opacity));padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgba(var(--color-fill),var(--tw-text-opacity));text-decoration-line:none;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.store-link:where(.astro-2hwget37):hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.store-link:where(.astro-2hwget37) svg:where(.astro-2hwget37){height:18px;width:18px;fill:currentColor}.store-link:where(.astro-2hwget37) .arrow:where(.astro-2hwget37){margin-left:.25rem;fill:none;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.store-link:where(.astro-2hwget37):hover .arrow:where(.astro-2hwget37){--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.project-visual:where(.astro-2hwget37){position:relative;min-height:18rem;overflow:hidden;border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--color-border),var(--tw-border-opacity))}@media (min-width: 640px){.project-visual:where(.astro-2hwget37){min-height:100%;border-left-width:1px;border-top-width:0px}}.project-visual:where(.astro-2hwget37):after{content:"";pointer-events:none;position:absolute;inset:0;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-inset: inset;--tw-ring-color: rgb(255 255 255 / .1)}.preview:where(.astro-2hwget37){position:absolute;height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.project-card--linkset:where(.astro-2hwget37) .project-visual:where(.astro-2hwget37){background:#eef0ff}.project-card--linkset:where(.astro-2hwget37) .preview:where(.astro-2hwget37){left:50%;top:1.5rem;height:112%;width:auto;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-top-left-radius:2rem;border-top-right-radius:2rem;-o-object-fit:contain;object-fit:contain;--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.project-card--quickright:where(.astro-2hwget37) .preview:where(.astro-2hwget37){-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}@media (max-width: 639px){.project-card--linkset:where(.astro-2hwget37) .project-visual:where(.astro-2hwget37){min-height:23rem}.project-card--linkset:where(.astro-2hwget37) .preview:where(.astro-2hwget37){top:1.5rem;height:108%}.project-card--quickright:where(.astro-2hwget37) .project-visual:where(.astro-2hwget37){min-height:14rem}}@media (prefers-reduced-motion: reduce){.store-link:where(.astro-2hwget37),.store-link:where(.astro-2hwget37) .arrow:where(.astro-2hwget37){transition:none}}
