@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-Medium.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-Regular.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #fdfdfc;--color-fg: #000000;--color-fg-muted: #505050;--color-neutral: #f5f5f5;--color-border: #d3d3d3;--spacing-xl: 4rem;--spacing-lg: 1.5rem;--spacing-sm: 1.5rem;--spacing-xs: 1rem;--spacing-2xs: .5rem;--rounded-xl: 2rem;--rounded-lg: 1rem;--rounded-sm: 8px;--rounded-xs: 3px;--text-lg: 1.125rem;font-family:Inter,system-ui,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color-scheme:light dark;background-color:var(--color-bg);color:var(--color-fg-muted);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: dark){:root{--color-bg: #111111;--color-fg: #fdfdfc;--color-fg-muted: #c8c8c8;--color-border: #404040;--color-neutral: #202020}img{border:1px solid var(--color-border);box-shadow:none}}*{margin:0;padding:0;font-size:inherit}*:focus-visible{outline:2px solid var(--color-fg);outline-offset:-1px;box-shadow:none;border-bottom:none}body{padding:4rem 3rem 1.5rem;margin:auto;max-width:40rem}main{display:grid;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}h1,h2,h3,h4{font-weight:500;color:var(--color-fg)}a{cursor:pointer;text-decoration:none;color:var(--color-fg-muted)}ul{list-style:none}footer{display:flex;gap:var(--spacing-sm);align-items:center;justify-content:space-between;padding-top:var(--spacing-xs);padding-left:.25rem;border-top:1px solid var(--color-border)}img{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.text-lg{font-size:var(--text-lg)}.content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.button{display:flex;gap:.5em;align-items:center;width:fit-content;padding:.5em 1em;background-color:var(--color-neutral);border-radius:2em;transition:transform ease-out .2s,color ease-out .2s;will-change:transform}.button-small{padding:.35em .7em}.button:hover{transform:scale(1.05);color:var(--color-fg)}.button>svg{height:1.25rem}.button-back{position:absolute;top:2rem}.link{border-bottom:1px solid var(--color-border);transition:border ease-in .15s;position:relative}.link:after{content:"";position:absolute;width:100%;border-bottom:1px solid var(--color-fg-muted);left:0;bottom:-1px;transform:scaleX(0);transition:transform ease-out .25s;transform-origin:left}.link:hover:not(:focus-visible):after{transform:scaleX(1)}.link:focus-visible{outline-offset:4px;border-radius:.5em;border:none}.logo{width:1.25rem;height:1.25rem;border:none;box-shadow:none}.social{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:flex-start}.card{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xs);transition:all ease-out .25s;border-radius:var(--rounded-sm)}.card:hover{transform:scale(1.01);background-color:var(--color-neutral);box-shadow:0 0 0 1rem var(--color-neutral)}.card>img{height:auto;width:100%;max-width:18.75rem;border-radius:var(--rounded-lg);object-fit:cover;object-position:center}.card:focus-visible{outline-offset:1rem}.project-header{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm)}.project-info{display:flex;flex-direction:column;gap:var(--spacing-lg)}.project-img{border-radius:var(--rounded-lg);margin:var(--spacing-sm) 0;max-width:42rem;width:100%}.project-img:first-of-type{margin-top:0}.divider{width:4rem;border-top:2px solid var(--color-border);margin:0 auto var(--spacing-xs)}.tools{display:flex;flex-direction:column;gap:var(--spacing-xs);text-align:center}@media (min-width: 56rem){:root{--spacing-xl: 4rem;--spacing-lg: 3rem}body{padding:8rem 8rem 1rem}.button-back{top:4rem}}@media (min-width: 40rem){.card{flex-direction:row}.card>img{height:9rem;width:13.5rem}.social{flex-direction:row;align-items:center}}
