.page_main__XtsNF{width:100%;padding:6.5rem var(--space-lg) var(--space-2xl)}.page_shell__4vT2v{max-width:980px;margin:0 auto}.page_projectList__vrDSH{display:grid;grid-gap:var(--space-md);gap:var(--space-md);margin-top:var(--space-lg)}.page_projectRow__memjj{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:var(--space-lg);gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--bg-solid-panel)}.page_projectThumbWrap__sQIiM{display:flex;align-items:flex-start}.page_projectThumb__G4MOx{width:100%;max-width:72px;aspect-ratio:1;border-radius:var(--radius-lg);background-size:cover;background-position:50%;background-color:var(--bg-base);overflow:hidden}.page_projectMain__oIn7R{min-width:0}.page_projectHeading__BZbKh{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.page_projectTitle__WD5z4{margin:0;color:var(--text-primary);font-size:1.05rem;line-height:1.2;letter-spacing:-.02em}.page_projectTitleLink__QYeAD{color:inherit;text-decoration:none}.page_projectTitleLink__QYeAD:hover{text-decoration:underline;text-underline-offset:2px}.page_projectPeriod__1t_E9{margin:var(--space-xs) 0 0;color:var(--text-muted);font-size:.82rem}.page_projectDescription__k_Mej{margin:var(--space-sm) 0 0;color:var(--text-secondary);line-height:1.55;font-size:.88rem}.page_techStack__Zj3qS{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.page_techItem__IOA6o{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:.8rem}.page_linkIcon__4ihby,.page_techIcon__ZsGW7{filter:var(--icon-filter)}.page_linkList__e__eo{list-style:none;margin:var(--space-sm) 0 0;padding:0;display:grid;grid-gap:var(--space-xs);gap:var(--space-xs)}.page_externalLink__MtbUK{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);text-decoration:none;font-size:.84rem}.page_externalLink__MtbUK:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:2px}.page_externalLink__MtbUK:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:.35rem}@media (max-width:700px){.page_main__XtsNF{padding:6.75rem .85rem 1.8rem}.page_projectRow__memjj{grid-template-columns:1fr;gap:var(--space-md)}.page_projectThumb__G4MOx{max-width:72px}}