@font-face{font-family:Departure Mono;src:url(./DepartureMono-Regular.DdmInpFy.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Mondwest;src:url(./PPMondwest-Bold.C8Uw-v4L.woff2) format("woff2");font-weight:700;font-style:normal}@font-face{font-family:Mondwest;src:url(./PPMondwest-Regular.BWBaObx3.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Supply Mono;src:url(./PPSupplyMono-Ultralight.Dyl3bUlF.woff2) format("woff2");font-weight:300;font-style:normal}@font-face{font-family:Supply Mono;src:url(./PPSupplyMono-Regular.CcDbH3Bk.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Supply Mono;src:url(./PPSupplyMono-Medium.B7vsXilz.woff2) format("woff2");font-weight:500;font-style:normal}@font-face{font-family:Supply Mono;src:url(./PPSupplyMono-Bold.CK698AYp.woff2) format("woff2");font-weight:700;font-style:normal}@font-face{font-family:iA Writer Duo;src:url(./iAWriterDuoS-Regular.DFzvKN5Y.eot);src:url(./iAWriterDuoS-Regular.Cz4bgMvL.woff2) format("woff2"),url(./iAWriterDuoS-Regular.WQrM_21q.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:iA Writer Duo;src:url(./iAWriterDuoS-Italic.ClkTA6IT.eot);src:url(./iAWriterDuoS-Italic.CnlQ3CFw.woff2) format("woff2"),url(./iAWriterDuoS-Italic.CSztZxWC.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:iA Writer Duo;src:url(./iAWriterDuoS-Bold.4HxTsWV5.eot);src:url(./iAWriterDuoS-Bold.DGKp3k3G.woff2) format("woff2"),url(./iAWriterDuoS-Bold.Cj5eiiop.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:iA Writer Duo;src:url(./iAWriterDuoS-BoldItalic.BFoQk-DD.eot);src:url(./iAWriterDuoS-BoldItalic.CNu_ohXD.woff2) format("woff2"),url(./iAWriterDuoS-BoldItalic.B4DYRigc.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Monorama;src:url(./Monorama-Regular.JnVdBaJM.eot);src:url(./Monorama-Regular.CY7UxXOY.woff2) format("woff2"),url(./Monorama-Regular.C11HiRbD.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Monorama;src:url(./Monorama-Medium.CVMijEri.eot);src:url(./Monorama-Medium.01LgJMjC.woff2) format("woff2"),url(./Monorama-Medium.BXHMolht.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Monorama;src:url(./Monorama-SemiBold.pnPmkEPy.eot);src:url(./Monorama-SemiBold.xe49ghh2.woff2) format("woff2"),url(./Monorama-SemiBold.DY21Zd4x.woff) format("woff");font-weight:600;font-style:normal}@font-face{font-family:Monorama;src:url(./Monorama-Bold.vjjuZoff.eot);src:url(./Monorama-Bold.DPOBsdUh.woff2) format("woff2"),url(./Monorama-Bold.BiLbM-vd.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:FK Raster Grotesk Compact Blended;src:url(./FKRasterGroteskCompactTrial-Blended.D-UIIG09.otf);font-weight:400;font-style:normal}@font-face{font-family:FK Raster Grotesk Blended;src:url(./FKRasterGroteskTrial-Blended.DOqqvKVL.otf);font-weight:400;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-Thin.BPcuZp14.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-ThinItalic.vmeLu_cn.ttf) format("truetype");font-weight:100;font-style:italic}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-ExtraLight.BBeuvyYi.ttf) format("truetype");font-weight:200;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-ExtraLightItalic.CIlLKMqE.ttf) format("truetype");font-weight:200;font-style:italic}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-Light.PwmZ9IUz.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-LightItalic.DMEC9VDZ.ttf) format("truetype");font-weight:300;font-style:italic}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-Regular.DcRNgwEx.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-Italic.DH08Y5e_.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-Text.CL10IBYx.ttf) format("truetype");font-weight:450;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-TextItalic.DyWarIT4.ttf) format("truetype");font-weight:450;font-style:italic}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-Medium.DS51KIF4.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-MediumItalic.A6JaBU_O.ttf) format("truetype");font-weight:500;font-style:italic}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-SemiBold.DV3hE7Mi.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-SemiBoldItalic.B9kjE6yu.ttf) format("truetype");font-weight:600;font-style:italic}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-Bold.AQCL9waR.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Zed Plex Mono;src:url(./ZedPlexMono-BoldItalic.DxecjFX3.ttf) format("truetype");font-weight:700;font-style:italic}#projects.svelte-rqn88j{min-height:100dvh;padding:calc(1rem + 5dvh) 1rem}#projects.svelte-rqn88j .projects-header:where(.svelte-rqn88j){display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1rem;margin-bottom:1rem;width:100%}#projects.svelte-rqn88j .projects-header:where(.svelte-rqn88j) h1:where(.svelte-rqn88j){font-family:FK Raster Grotesk Blended,sans-serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:400;color:var(--text-color)}#projects.svelte-rqn88j .projects-header:where(.svelte-rqn88j) p:where(.svelte-rqn88j){font-family:Supply Mono,monospace;font-size:1rem;line-height:1.6;text-align:left;color:var(--text-color);opacity:.9}#projects.svelte-rqn88j .project-grid:where(.svelte-rqn88j){display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;padding:1rem 0}@media (min-width: 768px){#projects.svelte-rqn88j .project-grid:where(.svelte-rqn88j){grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 1024px){#projects.svelte-rqn88j .project-grid:where(.svelte-rqn88j){grid-template-columns:repeat(3,1fr);gap:1.25rem}}#projects.svelte-rqn88j .project-card:where(.svelte-rqn88j){display:block;text-decoration:none;color:inherit;background:#ffffff0d;outline:1px solid rgba(255,255,255,.15);border-radius:1rem;padding:1.5rem 1rem;transition:all .3s ease;position:relative;overflow:hidden}#projects.svelte-rqn88j .project-card:where(.svelte-rqn88j):hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000026;background:#ffffff1a;outline:rgba(255,255,255,.3)}#projects.svelte-rqn88j .project-card:where(.svelte-rqn88j):before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);opacity:0;transition:opacity .3s ease}#projects.svelte-rqn88j .project-card:where(.svelte-rqn88j):hover:before{opacity:1}#projects.svelte-rqn88j .project-content:where(.svelte-rqn88j){height:100%;display:flex;flex-direction:column}#projects.svelte-rqn88j .project-header:where(.svelte-rqn88j){display:flex;justify-content:flex-start;align-items:flex-start;margin-bottom:.75rem}#projects.svelte-rqn88j .project-title:where(.svelte-rqn88j){font-family:FK Raster Grotesk Blended,sans-serif;font-size:1.5rem;font-weight:400;text-align:left;color:var(--text-color);line-height:1.3;flex:1}#projects.svelte-rqn88j .contribution-indicator:where(.svelte-rqn88j){display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:.75rem;flex-shrink:0}#projects.svelte-rqn88j .owner-badge:where(.svelte-rqn88j),#projects.svelte-rqn88j .contributor-badge:where(.svelte-rqn88j){font-size:1.25rem;opacity:.8;transition:opacity .2s ease}#projects.svelte-rqn88j .contributor-badge:where(.svelte-rqn88j) :where(.svelte-rqn88j){fill:var(--text-color)}#projects.svelte-rqn88j .contributor-badge:where(.svelte-rqn88j) svg:where(.svelte-rqn88j){scale:1.25}#projects.svelte-rqn88j .project-card:where(.svelte-rqn88j):hover .owner-badge:where(.svelte-rqn88j),#projects.svelte-rqn88j .project-card:where(.svelte-rqn88j):hover .contributor-badge:where(.svelte-rqn88j){opacity:1}#projects.svelte-rqn88j .project-description:where(.svelte-rqn88j){font-family:Zed Plex Mono,monospace;font-size:.95rem;text-align:left;line-height:1.5;color:var(--text-color);opacity:.85;margin-bottom:1rem;flex:1}#projects.svelte-rqn88j .contribution-description:where(.svelte-rqn88j){font-family:Zed Plex Mono,monospace;font-size:.85rem;font-style:italic;text-align:left;line-height:1.4;color:var(--text-color);opacity:.8;margin-bottom:1rem;padding:.5rem .75rem;background:#ffffff1a;border-left:2px solid rgba(255,255,255,.2);border-radius:4px}#projects.svelte-rqn88j .project-footer:where(.svelte-rqn88j){margin-top:auto}#projects.svelte-rqn88j .project-tech:where(.svelte-rqn88j){display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}#projects.svelte-rqn88j .project-meta:where(.svelte-rqn88j){display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}#projects.svelte-rqn88j .project-year:where(.svelte-rqn88j){font-family:Zed Plex Mono,monospace;font-size:.8rem;color:var(--text-color);opacity:.6}#projects.svelte-rqn88j .github-link:where(.svelte-rqn88j){background:none;border:none;color:var(--text-color);opacity:.6;transition:opacity .2s ease;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center}#projects.svelte-rqn88j .github-link:where(.svelte-rqn88j):hover{opacity:1;background:#ffffff0d}#projects.svelte-rqn88j .github-link:where(.svelte-rqn88j) svg:where(.svelte-rqn88j){width:16px;height:16px}#projects.svelte-rqn88j .tech-tag:where(.svelte-rqn88j){font-family:Zed Plex Mono,monospace;font-size:.75rem;padding:.25rem .6rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:16px;color:var(--text-color);opacity:.9;transition:all .2s ease}#projects.svelte-rqn88j .project-card:where(.svelte-rqn88j):hover .tech-tag:where(.svelte-rqn88j){background:#ffffff1f;border-color:#ffffff40}#projects.svelte-rqn88j{pointer-events:auto}
