.page-head[data-astro-cid-jljc7dey]{background:var(--bg-surface);border-bottom:1px solid var(--border);padding:64px 32px 48px}.page-head-inner[data-astro-cid-jljc7dey]{max-width:1120px;margin:0 auto}h1[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:48px;font-weight:700;color:var(--fg1);line-height:1.08;letter-spacing:-.03em;margin:0 0 16px}.page-head[data-astro-cid-jljc7dey] p[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:17px;color:var(--fg2);line-height:1.7;max-width:560px;margin:0}.toolbar[data-astro-cid-jljc7dey]{border-bottom:1px solid var(--border);padding:0 32px}.toolbar-inner[data-astro-cid-jljc7dey]{max-width:1120px;margin:0 auto;display:flex;justify-content:flex-end;align-items:center}.view-btns[data-astro-cid-jljc7dey]{display:flex;gap:2px}.view-btn[data-astro-cid-jljc7dey]{width:32px;height:32px;border:none;border-radius:var(--radius);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--fg3);transition:background .15s,color .15s}.view-btn[data-astro-cid-jljc7dey].active{background:var(--bg-surface-2);color:var(--fg1)}.view-btn[data-astro-cid-jljc7dey]:focus-visible{outline:2px solid var(--fg-accent);outline-offset:2px}.projects-wrap[data-astro-cid-jljc7dey]{padding:0 32px 96px}.projects-inner[data-astro-cid-jljc7dey]{max-width:1120px;margin:0 auto}.projects-container[data-astro-cid-jljc7dey][data-view=list] .grid-view[data-astro-cid-jljc7dey],.projects-container[data-astro-cid-jljc7dey][data-view=grid] .list-view[data-astro-cid-jljc7dey]{display:none}.project-row[data-astro-cid-jljc7dey]{display:grid;grid-template-columns:72px 1fr auto;gap:32px;align-items:start;padding:36px 0;border-top:1px solid var(--border);text-decoration:none;background:transparent;transition:background .15s ease}.project-row[data-astro-cid-jljc7dey]:hover{background:#2563eb04}.project-row[data-astro-cid-jljc7dey]:hover h2[data-astro-cid-jljc7dey]{color:var(--fg-accent)}.project-row[data-astro-cid-jljc7dey]:hover .row-arrow[data-astro-cid-jljc7dey]{opacity:1}.project-row[data-astro-cid-jljc7dey]:hover .row-type[data-astro-cid-jljc7dey]{color:var(--fg-accent)}.list-end[data-astro-cid-jljc7dey]{border-top:1px solid var(--border)}.row-meta[data-astro-cid-jljc7dey]{display:flex;flex-direction:column;gap:6px}.row-year[data-astro-cid-jljc7dey]{font-family:var(--font-mono);font-size:12px;color:var(--fg3)}.row-type[data-astro-cid-jljc7dey]{font-family:var(--font-mono);font-size:10px;color:var(--fg4);letter-spacing:.04em;text-transform:uppercase;transition:color .15s}.project-row[data-astro-cid-jljc7dey] h2[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:20px;font-weight:600;color:var(--fg1);margin:0 0 10px;letter-spacing:-.02em;transition:color .15s ease}.project-row[data-astro-cid-jljc7dey] p[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:14px;color:var(--fg2);line-height:1.7;margin:0 0 16px;max-width:640px}.tags[data-astro-cid-jljc7dey]{display:flex;gap:6px;flex-wrap:wrap}.row-stats[data-astro-cid-jljc7dey]{display:flex;flex-direction:column;gap:16px;align-items:flex-end;min-width:120px}.row-stat[data-astro-cid-jljc7dey]{text-align:right}.rs-val[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:22px;font-weight:700;color:var(--fg1);letter-spacing:-.02em;line-height:1}.rs-lbl[data-astro-cid-jljc7dey]{font-family:var(--font-mono);font-size:10px;color:var(--fg3);margin-top:4px;letter-spacing:.04em}.row-arrow[data-astro-cid-jljc7dey]{opacity:0;transition:opacity .15s ease}.grid-inner[data-astro-cid-jljc7dey]{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}.project-card[data-astro-cid-jljc7dey]{display:block;padding:40px 36px;text-decoration:none;background:var(--bg-page);transition:background .15s ease}.project-card[data-astro-cid-jljc7dey]:hover{background:var(--bg-surface)}.project-card[data-astro-cid-jljc7dey]:hover h2[data-astro-cid-jljc7dey]{color:var(--fg-accent)}.project-card[data-astro-cid-jljc7dey]:hover .card-arrow[data-astro-cid-jljc7dey]{opacity:1}.card-head[data-astro-cid-jljc7dey]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.card-year[data-astro-cid-jljc7dey]{font-family:var(--font-mono);font-size:11px;color:var(--fg3)}.card-type[data-astro-cid-jljc7dey]{font-family:var(--font-mono);font-size:11px;color:var(--fg4);margin-left:12px}.card-arrow[data-astro-cid-jljc7dey]{opacity:0;transition:opacity .15s}.project-card[data-astro-cid-jljc7dey] h2[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:18px;font-weight:600;color:var(--fg1);margin:0 0 10px;letter-spacing:-.01em;transition:color .15s}.project-card[data-astro-cid-jljc7dey] p[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:14px;color:var(--fg2);line-height:1.7;margin:0 0 20px}.card-stats[data-astro-cid-jljc7dey]{display:flex;gap:32px;border-top:1px solid var(--border);padding-top:20px}.cs-val[data-astro-cid-jljc7dey]{font-family:var(--font-sans);font-size:20px;font-weight:700;color:var(--fg1);letter-spacing:-.02em}.cs-lbl[data-astro-cid-jljc7dey]{font-family:var(--font-mono);font-size:10px;color:var(--fg3);margin-top:2px}
