.layout_container__ba1z3{min-height:100vh;display:flex;justify-content:center}.layout_app__BnGsc{width:100%;max-width:var(--page-width);margin:0 auto;padding:0 1.5rem 3rem;box-sizing:border-box}@media (max-width:640px){.layout_app__BnGsc{padding:0 1rem 2.5rem}}.navbar_navbar__W944y{border-bottom:1px solid var(--border-color);margin-bottom:2rem}.navbar_inner__71bbF{max-width:var(--page-width);margin:0 auto;padding:1rem 1.5rem .75rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;box-sizing:border-box}.navbar_siteTitle__xUEJG{color:var(--text-color);text-decoration:none;font-size:1rem;font-weight:700}.navbar_navList__NoTkm{list-style:none;display:flex;flex-wrap:wrap;gap:.85rem;margin:0;padding:0}.navbar_navItem__oA71R{margin:0;padding:0}.navbar_navLink__EiGaQ{color:var(--muted-color);text-decoration:none}.navbar_navLink__EiGaQ:hover{color:var(--link-color);text-decoration:underline}.navbar_active__SE9U1 .navbar_navLink__EiGaQ{color:var(--text-color);font-weight:700}@media(max-width:640px){.navbar_inner__71bbF{padding:1rem 1rem .75rem;flex-direction:column;align-items:flex-start}.navbar_navList__NoTkm{gap:.5rem .75rem}}.blog_blogContainer__jA_MF{padding:.5rem 0 2rem}.blog_sectionTitle__eXU9Z{margin-bottom:.5rem}.blog_portfolioIntro__iVULi{color:var(--muted-color);margin-bottom:1.25rem}.blog_blogGrid__mvPHF{display:block}.blog_blogCard__fPJAN{padding:1rem 0;border-top:1px solid var(--border-color)}.blog_blogCard__fPJAN:last-child{border-bottom:1px solid var(--border-color)}.blog_blogCardLink__NnXlD{color:inherit;text-decoration:none;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.85rem;gap:.85rem}.blog_blogCardLink__NnXlD:hover{color:inherit}.blog_thumbnailPlaceholder__T9C4F,.blog_thumbnailWrapper__K8z8O{width:170px}.blog_thumbnailImage__CsHdW{width:100%;height:auto;border:1px solid var(--border-color)}.blog_thumbnailPlaceholder__T9C4F{display:flex;align-items:center;justify-content:center;min-height:96px;border:1px solid var(--border-color);background:var(--subtle-color);color:var(--muted-color);font-size:.9rem}.blog_blogCardContent__Itmk7{min-width:0}.blog_blogCardContent__Itmk7 h2,.blog_blogCardContent__Itmk7 h3,.blog_cardTitle__E3Diy{margin:0 0 .2rem;font-size:1.15rem}.blog_cardTags__oNykX,.blog_tags__N9TRi{display:flex;flex-wrap:wrap;gap:.2rem .45rem;margin-top:.6rem;align-items:baseline}.blog_cardTag__P7b47,.blog_tag__s_zqj{color:var(--muted-color);font-size:.95rem}.blog_tagLabel__XaoOI{color:var(--text-color);font-size:.95rem;font-weight:600;margin-right:.15rem}.blog_cardTags__oNykX a,.blog_tags__N9TRi a{color:var(--muted-color);text-decoration:none}.blog_cardTags__oNykX a:hover,.blog_tags__N9TRi a:hover{color:var(--link-color);text-decoration:underline}.blog_cardTags__oNykX a:not(:last-child):after,.blog_tags__N9TRi a:not(:last-child):after{content:",";color:var(--muted-color)}.blog_viewAllContainer__5Vpaq{margin-top:1rem}.blog_githubButton__F5lqy,.blog_viewAllLink__le0bU{display:inline;padding:0;background:none;border:0;color:var(--link-color);font:inherit;text-decoration:underline;text-underline-offset:.12em}.blog_githubButton__F5lqy:hover,.blog_viewAllLink__le0bU:hover{color:var(--link-hover-color)}.blog_githubIcon__uHDan,.blog_techIcon__cvGXK{display:none}.blog_projectDescription__1qY1X{margin:.4rem 0 0}.blog_blogPost__5Gcws,.blog_portfolioPost__Fo0pk{padding-top:.5rem}.blog_title__n3WNt{margin-bottom:1.5rem}.blog_titleContent__i8EoW h1{margin-bottom:.35rem}.blog_thumbnail__IlUKz{margin-bottom:1rem}.blog_markdownContent__eJaCp{overflow-wrap:anywhere}.blog_markdownContent__eJaCp blockquote,.blog_markdownContent__eJaCp ol,.blog_markdownContent__eJaCp p,.blog_markdownContent__eJaCp pre,.blog_markdownContent__eJaCp table,.blog_markdownContent__eJaCp ul{margin-bottom:1rem}.blog_markdownContent__eJaCp a{color:var(--link-color)}@media(min-width:640px){.blog_blogCardLink__NnXlD{grid-template-columns:170px minmax(0,1fr);align-items:start}}@media(max-width:639px){.blog_thumbnailPlaceholder__T9C4F,.blog_thumbnailWrapper__K8z8O{width:100%;max-width:240px}}