.back-link[data-astro-cid-xh7mzcst]{display:inline-block;font-size:var(--text-sm);color:var(--color-text-light);margin-bottom:var(--space-8)}.back-link[data-astro-cid-xh7mzcst]:hover{color:var(--color-primary-light)}.project-header[data-astro-cid-xh7mzcst]{margin-bottom:var(--space-8)}.project-header[data-astro-cid-xh7mzcst] h1[data-astro-cid-xh7mzcst]{margin-bottom:var(--space-2);text-wrap:balance}.project-period[data-astro-cid-xh7mzcst]{margin-bottom:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-light)}.tags[data-astro-cid-xh7mzcst]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag[data-astro-cid-xh7mzcst]{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-primary-light);background-color:var(--color-primary-lighter);padding:var(--space-1) var(--space-3);border-radius:9999px}.links[data-astro-cid-xh7mzcst]{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-10)}.link-btn[data-astro-cid-xh7mzcst]{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s,background-color .2s}.link-btn[data-astro-cid-xh7mzcst]:hover{border-color:var(--color-primary-light);background-color:var(--color-primary-lighter);color:var(--color-primary)}.project-figures[data-astro-cid-xh7mzcst]{display:grid;grid-auto-flow:column;grid-auto-columns:17rem;justify-content:center;gap:var(--space-4);width:min(calc(100vw - 3rem),72rem);margin-left:50%;margin-bottom:var(--space-10);overflow-x:auto;padding-bottom:var(--space-2);scroll-snap-type:x proximity;scrollbar-width:thin;transform:translate(-50%)}.project-figure[data-astro-cid-xh7mzcst]{display:flex;flex-direction:column;margin:0;overflow:hidden;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);scroll-snap-align:center}.project-figure[data-astro-cid-xh7mzcst] a[data-astro-cid-xh7mzcst]{display:flex;width:100%;height:13rem;min-height:13rem;align-items:center;justify-content:center;padding:var(--space-3);background-color:#fff}.project-figure[data-astro-cid-xh7mzcst] img[data-astro-cid-xh7mzcst]{display:block;width:100%;max-width:100%;height:100%;max-height:100%;object-fit:contain}.project-figure[data-astro-cid-xh7mzcst] a[data-astro-cid-xh7mzcst]:hover img[data-astro-cid-xh7mzcst]{opacity:.92}.project-figure[data-astro-cid-xh7mzcst] figcaption[data-astro-cid-xh7mzcst]{flex:1;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-light)}.content[data-astro-cid-xh7mzcst] h2{font-size:var(--text-2xl);color:var(--color-primary);margin-top:var(--space-10);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.content[data-astro-cid-xh7mzcst] h3{font-size:var(--text-lg);color:var(--color-primary);margin-top:var(--space-6);margin-bottom:var(--space-3)}.content[data-astro-cid-xh7mzcst] p{margin-bottom:var(--space-4);line-height:var(--leading-relaxed);text-indent:2em}.content[data-astro-cid-xh7mzcst] ul,.content[data-astro-cid-xh7mzcst] ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.content[data-astro-cid-xh7mzcst] li{margin-bottom:var(--space-2);line-height:var(--leading-relaxed)}.content[data-astro-cid-xh7mzcst] strong{color:var(--color-primary);font-weight:var(--font-semibold)}.content[data-astro-cid-xh7mzcst] code{font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--color-bg-alt);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.content[data-astro-cid-xh7mzcst] blockquote{border-left:3px solid var(--color-primary-light);padding-left:var(--space-4);color:var(--color-text-light);font-style:italic;margin-bottom:var(--space-4)}@media(max-width:640px){.project-figures[data-astro-cid-xh7mzcst].has-multiple .project-figure[data-astro-cid-xh7mzcst]:last-child:nth-child(odd):not(.wide){width:100%}}
