.page_bio__W1cuC{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.8}.page_bio__W1cuC,.page_section__yPW7u{margin-bottom:var(--space-xl)}.page_sectionTitle__eC3_O{font-size:var(--text-lg);font-weight:500;color:var(--color-text);margin-bottom:var(--space-md)}.page_links__cp6EJ{display:flex;flex-direction:column;gap:var(--space-sm)}.page_externalLink__8UL_g{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--color-text);font-size:var(--text-base);transition:color var(--transition-fast);width:fit-content;flex-wrap:nowrap}.page_externalLink__8UL_g:hover{color:var(--color-accent)}.page_linkIcon__3pDoD{font-size:1.1em;color:var(--color-text-muted);transition:color var(--transition-fast);flex-shrink:0}.page_arrow__7_eA7,.page_externalLink__8UL_g:hover .page_linkIcon__3pDoD{color:var(--color-accent)}.page_arrow__7_eA7{margin-left:-2px;transition:transform var(--transition-fast);flex-shrink:0}.page_externalLink__8UL_g:hover .page_arrow__7_eA7{transform:translateX(3px)}.page_skillsGrid__FvKh2{display:flex;flex-direction:column;gap:var(--space-md)}.page_skillCategory__LZoTb{display:flex;align-items:flex-start;gap:var(--space-lg)}.page_categoryLabel__8xHDE{font-size:var(--text-sm);color:var(--color-text-dim);min-width:5.5rem;flex-shrink:0;padding-top:.2rem}.page_skillItems__m0DxC{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.page_skillItem__1FNn_{font-size:var(--text-sm);color:var(--color-text-muted);padding:.125rem .5rem;background:var(--color-bg-secondary);border:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.page_skillItem__1FNn_:hover{color:var(--color-text);border-color:var(--color-accent)}@media (max-width:40rem){.page_skillCategory__LZoTb{flex-direction:column;gap:var(--space-xs)}.page_categoryLabel__8xHDE{min-width:auto}}.page_colophonGrid__J7sP_{display:flex;flex-direction:column;gap:var(--space-xs)}.page_colophonRow__c_dxZ{font-size:var(--text-base);color:var(--color-text-muted);margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5em}.page_colophonLabel__MrFpA{color:var(--color-text);flex-shrink:0}.page_colophonArrowSmall__FbtkF{color:var(--color-text-dim);flex-shrink:0}.page_colophonValue__iJdWj{flex:1 1;min-width:0}.page_colorPalette__Hnh8G{display:flex;gap:0;margin-top:var(--space-md)}.page_colorSwatch__q0Boo{width:3rem;height:1.75rem;cursor:help}.page_colorSwatch__q0Boo:first-child{border:2px solid var(--color-border)}.Logo_container__tRZEP{position:relative;width:4.5rem;height:4.5rem;display:flex;justify-content:center;align-items:center;animation:Logo_spin__uo8ov 20s linear infinite;--logo-offset:5.4%}.Logo_arm__eoFim{position:absolute;inset:0;will-change:transform}.Logo_arm__eoFim:first-child{z-index:1}.Logo_arm__eoFim:nth-child(2){z-index:2}.Logo_arm__eoFim:nth-child(3){z-index:3}.Logo_three__ChZ6T{position:absolute;top:50%;left:50%;width:100%;height:100%;overflow:visible;will-change:transform;backface-visibility:hidden}.Logo_three__ChZ6T path{fill:none;stroke:var(--color-accent);stroke-width:16;stroke-linecap:butt;stroke-linejoin:bevel}.Logo_arm__eoFim:first-child .Logo_three__ChZ6T{animation:Logo_rotate1__n_zPE 6s cubic-bezier(.65,0,.35,1) infinite}.Logo_arm__eoFim:nth-child(2) .Logo_three__ChZ6T{animation:Logo_rotate2__XTmjt 6s cubic-bezier(.65,0,.35,1) infinite}.Logo_arm__eoFim:nth-child(3) .Logo_three__ChZ6T{animation:Logo_rotate3__1EFKI 6s cubic-bezier(.65,0,.35,1) infinite}@keyframes Logo_rotate1__n_zPE{0%,to{transform:translate(-50%,-50%) rotate(0deg) translateX(0)}20%,80%{transform:translate(-50%,-50%) rotate(0deg) translateX(var(--logo-offset))}}@keyframes Logo_rotate2__XTmjt{0%,to{transform:translate(-50%,-50%) rotate(0deg) translateX(0)}20%,80%{transform:translate(-50%,-50%) rotate(120deg) translateX(var(--logo-offset))}}@keyframes Logo_rotate3__1EFKI{0%,to{transform:translate(-50%,-50%) rotate(0deg) translateX(0)}20%,80%{transform:translate(-50%,-50%) rotate(-120deg) translateX(var(--logo-offset))}}@keyframes Logo_spin__uo8ov{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Logo_simple__nhgoA .Logo_arm__eoFim:first-child .Logo_three__ChZ6T{animation:none;transform:translate(-50%,-50%) rotate(0deg) translateX(var(--logo-offset))}.Logo_simple__nhgoA .Logo_arm__eoFim:nth-child(2) .Logo_three__ChZ6T{animation:none;transform:translate(-50%,-50%) rotate(120deg) translateX(var(--logo-offset))}.Logo_simple__nhgoA .Logo_arm__eoFim:nth-child(3) .Logo_three__ChZ6T{animation:none;transform:translate(-50%,-50%) rotate(-120deg) translateX(var(--logo-offset))}.Logo_dispersed__1WMEx .Logo_arm__eoFim:first-child{animation:Logo_disperse1__N9Lfq .8s cubic-bezier(.34,1.56,.64,1) both}.Logo_dispersed__1WMEx .Logo_arm__eoFim:nth-child(2){animation:Logo_disperse2__dLp4M .8s cubic-bezier(.34,1.56,.64,1) both}.Logo_dispersed__1WMEx .Logo_arm__eoFim:nth-child(3){animation:Logo_disperse3__cJx2w .8s cubic-bezier(.34,1.56,.64,1) both}@keyframes Logo_disperse1__N9Lfq{0%,to{transform:rotate(0deg) translateX(0)}50%{transform:rotate(30deg) translateX(160%)}}@keyframes Logo_disperse2__dLp4M{0%,to{transform:rotate(0deg) translateX(0)}50%{transform:rotate(150deg) translateX(160%)}}@keyframes Logo_disperse3__cJx2w{0%,to{transform:rotate(0deg) translateX(0)}50%{transform:rotate(-90deg) translateX(160%)}}@media (prefers-reduced-motion:reduce){.Logo_container__tRZEP{animation:none}.Logo_arm__eoFim:first-child .Logo_three__ChZ6T{animation:none;transform:translate(-50%,-50%) rotate(0deg) translateX(var(--logo-offset))}.Logo_arm__eoFim:nth-child(2) .Logo_three__ChZ6T{animation:none;transform:translate(-50%,-50%) rotate(120deg) translateX(var(--logo-offset))}.Logo_arm__eoFim:nth-child(3) .Logo_three__ChZ6T{animation:none;transform:translate(-50%,-50%) rotate(-120deg) translateX(var(--logo-offset))}.Logo_dispersed__1WMEx .Logo_arm__eoFim:first-child,.Logo_dispersed__1WMEx .Logo_arm__eoFim:nth-child(2),.Logo_dispersed__1WMEx .Logo_arm__eoFim:nth-child(3){animation:none}}.Navbar_row__9JIYG{display:flex;align-items:center;gap:1.5rem}.Navbar_logo__Am5h2{display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:400;color:var(--color-text);transition:color .2s}.Navbar_navLogo__e1WpN{width:clamp(1.75rem,1.5rem + .5vw,2.25rem);height:clamp(1.75rem,1.5rem + .5vw,2.25rem)}.Navbar_logo__Am5h2:hover{color:var(--color-accent)}.Navbar_nav___WITp{display:flex;gap:var(--gap-nav)}@media (max-width:48rem){.Navbar_nav___WITp{display:none}}.NavLink_navLink__VaERQ{display:inline-flex;align-items:center;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-lg);transition:color var(--transition-smooth);position:relative;text-decoration:none}.NavLink_active__9KXki,.NavLink_navLink__VaERQ:hover{color:var(--color-accent)}.NavLink_symbolWrapper__RvD8Z{position:relative;display:inline-flex;width:1.25em;height:1.5em;align-items:center;justify-content:center;margin-right:-.1em}.NavLink_symbol__OdOPD{display:block;width:1.2em;height:1.2em;overflow:visible}.NavLink_symbol__OdOPD path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.NavLink_glyph__2H5WT{transform-box:view-box;transform-origin:50% 50%;transform:rotate(-67deg);transition:transform .5s cubic-bezier(.2,0,0,1)}.NavLink_head__r1Drx{transform-box:view-box;transform-origin:83.333% 50%;transform:scale(0);opacity:0;transition:transform .5s cubic-bezier(.2,0,0,1),opacity .3s ease}.NavLink_active__9KXki .NavLink_glyph__2H5WT,.NavLink_navLink__VaERQ:hover .NavLink_glyph__2H5WT{transform:rotate(0deg)}.NavLink_active__9KXki .NavLink_head__r1Drx,.NavLink_navLink__VaERQ:hover .NavLink_head__r1Drx{transform:scale(1);opacity:1}@media (prefers-reduced-motion:reduce){.NavLink_glyph__2H5WT,.NavLink_head__r1Drx{transition:none}}.MobileBottomNav_bottomNav__IHc0K{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1000;background-color:var(--color-bg);border-top:2px solid var(--color-border);align-items:center;justify-content:safe center;padding:var(--space-sm) var(--space-md);padding-bottom:calc(var(--space-sm) + env(safe-area-inset-bottom, 0px));gap:0;font-family:var(--font-mono);font-size:var(--text-sm);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.MobileBottomNav_bottomNav__IHc0K::-webkit-scrollbar{display:none}@media (max-width:48rem){.MobileBottomNav_bottomNav__IHc0K{display:flex;animation:MobileBottomNav_navEnter__LMAbx .7s cubic-bezier(.22,1,.36,1)}}@keyframes MobileBottomNav_navEnter__LMAbx{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.MobileBottomNav_bottomNav__IHc0K{animation:none}}.MobileBottomNav_logoSection__5TBn5{display:flex;align-items:center;flex-shrink:0;padding:0 clamp(2px,.5vw,6px)}.MobileBottomNav_logo__7Fpv_{width:1.25rem;height:1.25rem}.MobileBottomNav_separator__Dg95l{color:var(--color-text-dim);padding:0 clamp(3px,.75vw,8px);-webkit-user-select:none;user-select:none;flex-shrink:0}.MobileBottomNav_navLinks__D_Llk{display:flex;align-items:center;justify-content:flex-start;margin:0;padding:0 var(--space-xs);list-style:none;scrollbar-width:none;-ms-overflow-style:none}.MobileBottomNav_navLinks__D_Llk::-webkit-scrollbar{display:none}.MobileBottomNav_linkWrapper__kSl4P{display:flex;align-items:center;flex-shrink:0}.MobileBottomNav_linkWrapper__kSl4P:last-child .MobileBottomNav_separator__Dg95l{display:none}.MobileBottomNav_navLink__k_mFi{display:block;color:var(--color-text-muted);text-decoration:none;padding:var(--space-xs) clamp(2px,.5vw,6px);white-space:nowrap;transition:color var(--transition-fast);outline:none;border:none;background:none}.MobileBottomNav_navLink__k_mFi:hover{color:var(--color-text)}.MobileBottomNav_navLink__k_mFi:focus{color:var(--color-text-muted)}.MobileBottomNav_navLink__k_mFi:focus-visible{color:var(--color-text);outline:2px solid var(--color-accent);outline-offset:1px}.MobileBottomNav_navLink__k_mFi.MobileBottomNav_active__2kOwX,.MobileBottomNav_navLink__k_mFi.MobileBottomNav_active__2kOwX:focus,.MobileBottomNav_navLink__k_mFi.MobileBottomNav_active__2kOwX:focus-visible,.MobileBottomNav_navLink__k_mFi.MobileBottomNav_active__2kOwX:hover{color:var(--color-accent)}.ClientLayout_layoutWrapper__fetLS{display:flex;flex-direction:column;min-height:100vh;position:relative;isolation:isolate}.ClientLayout_header__8agQR{display:flex;justify-content:space-between;align-items:center;gap:2rem;width:100%;max-width:var(--max-width-header);margin:0 auto;padding:0 var(--header-padding);height:var(--header-height);transition:transform .5s ease,opacity .4s ease,visibility .4s;transform:translateY(0);opacity:1;visibility:visible;flex-shrink:0;position:relative;z-index:100}.ClientLayout_header__8agQR.ClientLayout_home__KwYbX{position:absolute;top:0;left:0;right:0;transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none}.ClientLayout_container__y5B1_{flex:1 1;display:flex;flex-direction:column;position:relative;z-index:1}.ClientLayout_transition__xIHHk{width:100%;flex:1 1;background-color:var(--color-bg)}.ClientLayout_pageEnter__bCMm_{animation:ClientLayout_pageEnter__bCMm_ .6s cubic-bezier(.22,1,.36,1)}@keyframes ClientLayout_pageEnter__bCMm_{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ClientLayout_pageEnter__bCMm_{animation:none}}@media (max-width:48rem){.ClientLayout_header__8agQR{display:none}.ClientLayout_container__y5B1_{padding-bottom:calc(3rem + env(safe-area-inset-bottom, 0px))}}.Navigation_nav__89tEB{margin-top:var(--space-lg)}.Navigation_navList__plnnr{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.Navigation_horizontal__Hdz9q{margin-top:var(--space-md)}.Navigation_horizontalList__nE9_0{flex-direction:row;flex-wrap:wrap;gap:var(--gap-nav)}@media (max-width:40rem){.Navigation_horizontalList__nE9_0{flex-direction:column;gap:var(--space-sm)}}.Navigation_navLink__PxmIA{padding:var(--space-xs) 0}.PageLayout_main__4xUrl{min-height:calc(100vh - var(--header-height));padding:var(--space-2xl) 0;padding-bottom:var(--space-3xl)}.PageLayout_container__1qLxq{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.PageLayout_container__1qLxq.PageLayout_wide__FcFF2{max-width:var(--max-width-wide)}.PageLayout_header__RGtRS{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-lg)}.PageLayout_title__005em{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);margin:0}.PageLayout_actions__ed2kK{display:flex;gap:var(--space-md)}.PageLayout_titleNumber__JfCz1{color:var(--color-text-muted)}@media (max-width:48rem){.PageLayout_main__4xUrl{padding-bottom:var(--space-xl)}}.GitHubCalendar_calendarWrapper__hNmkp{width:100%;display:flex;flex-direction:column;gap:1rem;margin:var(--space-lg) 0;margin-bottom:var(--space-xl)}.GitHubCalendar_graphContainer__7BYM2{display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:0 2px 8px;align-items:center;scrollbar-width:thin!important;scrollbar-color:var(--color-text-muted) var(--color-bg-secondary);-ms-overflow-style:auto!important}.GitHubCalendar_graphContainer__7BYM2::-webkit-scrollbar{height:6px;width:6px;display:block!important;background:var(--color-bg-secondary)}.GitHubCalendar_graphContainer__7BYM2::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:0}.GitHubCalendar_graphContainer__7BYM2::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:0}.GitHubCalendar_graphContainer__7BYM2::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media (max-width:48rem){.GitHubCalendar_graphContainer__7BYM2{overflow-x:auto!important;direction:rtl;align-items:flex-start}.GitHubCalendar_graph__vT6JI{direction:ltr}}.GitHubCalendar_graph__vT6JI{display:block;direction:ltr;flex:0 0 auto}.GitHubCalendar_footer__5N4md{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-text-muted);font-family:var(--font-mono);width:100%}.GitHubCalendar_legend__67PXt{display:flex;align-items:center;gap:6px}.GitHubCalendar_legend__67PXt span{margin:0 2px}.GitHubCalendar_legendCell__Ct2vK{width:10px;height:10px}.GitHubCalendar_error__PFqfQ{color:var(--color-error);border:2px solid var(--color-error);padding:1rem;font-family:var(--font-mono)}.ArrowLink_link__KCNXi{display:inline;color:var(--color-text);font-size:var(--text-base);transition:color var(--transition-fast);text-decoration:none}.ArrowLink_link__KCNXi:hover{color:var(--color-accent)}.ArrowLink_link__KCNXi:hover .ArrowLink_arrow__Pz2Ln{transform:translateX(3px)}.ArrowLink_arrow__Pz2Ln{color:var(--color-accent);transition:transform var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;font-size:1.1em;line-height:1;vertical-align:middle;position:relative;top:-.1em}.ArrowLink_link__KCNXi .ArrowLink_arrow__Pz2Ln:first-child{margin-right:.3em}.ArrowLink_link__KCNXi .ArrowLink_arrow__Pz2Ln:last-child{margin-left:.3em}.PhotoItem_photoWrapper__5dmRF{position:relative;page-break-inside:avoid;break-inside:avoid;margin-bottom:var(--space-sm);overflow:hidden;background:var(--color-bg-secondary);border-radius:0;animation:PhotoItem_photoAppear__Kfn_2 .3s ease-out;contain:layout style paint}@keyframes PhotoItem_photoAppear__Kfn_2{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.PhotoItem_photoWrapper__5dmRF{animation:none}}.PhotoItem_image__buNqT{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;z-index:2}.PhotoItem_imageLink__XBLy1{display:block;position:absolute;inset:0;z-index:2;cursor:pointer}.GitHubStars_stars__HSa6l{display:inline-flex;align-items:center;gap:.3em;font-size:var(--text-sm);color:var(--color-text-muted);padding:.2em .6em;background:var(--color-bg-secondary);border:2px solid transparent;border-radius:var(--border-radius);transition:color var(--transition-fast),border-color var(--transition-fast)}.GitHubStars_stars__HSa6l:hover{border-color:var(--color-accent)}.GitHubStars_icon__9oOdE{font-size:1em;color:var(--color-accent)}.GitHubStars_count__e4_EA{font-weight:500}.ImageCarousel_carousel__fUhaD{position:relative;width:100vw;margin-left:calc(-50vw + 50%);height:clamp(17.5rem,35vw + 6.25rem,31.25rem)}.ImageCarousel_carousel__fUhaD:not(.ImageCarousel_ready__X4SGk) .ImageCarousel_navZoneLeft__4Et2v,.ImageCarousel_carousel__fUhaD:not(.ImageCarousel_ready__X4SGk) .ImageCarousel_navZoneRight__ExWAo{display:none}.ImageCarousel_viewport__6xie_{overflow-x:auto;scroll-snap-type:x mandatory;height:100%}.ImageCarousel_ready__X4SGk .ImageCarousel_viewport__6xie_{overflow:hidden;scroll-snap-type:none}.ImageCarousel_container___HZoK{display:flex;height:100%;will-change:transform}.ImageCarousel_slide___TkpD{flex:0 0 auto;height:100%;display:flex;align-items:center;justify-content:center;margin-right:var(--space-lg);scroll-snap-align:center}.ImageCarousel_image__xUsOL{height:100%;width:auto;max-width:clamp(17.5rem,85vw,90vw);object-fit:contain}.ImageCarousel_navZoneLeft__4Et2v,.ImageCarousel_navZoneRight__ExWAo{position:absolute;top:50%;transform:translateY(-50%);z-index:20;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none}.ImageCarousel_navZoneLeft__4Et2v{left:var(--space-lg)}.ImageCarousel_navZoneRight__ExWAo{right:var(--space-lg)}.ImageCarousel_arrow__PTM5o{padding:0;background:transparent;border:none;color:inherit;cursor:pointer;font:inherit;pointer-events:auto;-webkit-user-select:none;user-select:none}.ImageCarousel_arrowIcon__I7aSU,.ImageCarousel_arrow__PTM5o{width:clamp(2.25rem,3vw + 1.5rem,3rem);height:clamp(2.25rem,3vw + 1.5rem,3rem);display:flex;align-items:center;justify-content:center}.ImageCarousel_arrowIcon__I7aSU{background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-text);font-size:clamp(1.1rem,1vw + .8rem,1.5rem);transition:all .3s cubic-bezier(.25,1,.5,1)}@media (hover:hover){.ImageCarousel_navZoneLeft__4Et2v,.ImageCarousel_navZoneRight__ExWAo{top:0;bottom:0;height:100%;width:20%;transform:none;pointer-events:auto}.ImageCarousel_navZoneLeft__4Et2v{left:0;justify-content:flex-start}.ImageCarousel_navZoneRight__ExWAo{right:0;justify-content:flex-end}.ImageCarousel_arrow__PTM5o{width:100%;height:100%;display:flex;align-items:center}.ImageCarousel_navZoneLeft__4Et2v .ImageCarousel_arrow__PTM5o{justify-content:flex-start;padding-left:var(--space-xl)}.ImageCarousel_navZoneRight__ExWAo .ImageCarousel_arrow__PTM5o{justify-content:flex-end;padding-right:var(--space-xl)}.ImageCarousel_arrowIcon__I7aSU{width:4rem;height:4rem;font-size:2rem;opacity:.6;background:var(--color-bg);border:2px solid var(--color-border)}.ImageCarousel_arrow__PTM5o:focus-visible .ImageCarousel_arrowIcon__I7aSU,.ImageCarousel_arrow__PTM5o:hover .ImageCarousel_arrowIcon__I7aSU{opacity:1;border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg)}.ImageCarousel_arrow__PTM5o:active .ImageCarousel_arrowIcon__I7aSU{background:var(--color-bg-secondary)}}@media (hover:none){.ImageCarousel_arrow__PTM5o:active .ImageCarousel_arrowIcon__I7aSU{opacity:.8}}@media (max-width:48rem){.ImageCarousel_carousel__fUhaD{height:auto;min-height:12.5rem}.ImageCarousel_slide___TkpD{flex:0 0 85vw;height:auto;margin-right:var(--space-md)}.ImageCarousel_image__xUsOL{width:100%;height:auto;max-width:100%}}.typography_prose__MYBFA{max-width:72ch;margin-inline:auto;color:var(--color-text-muted);font-size:var(--text-base);line-height:1.8}.typography_prose__MYBFA h1{font-size:var(--text-2xl)}.typography_prose__MYBFA h1,.typography_prose__MYBFA h2{color:var(--color-text);margin-top:var(--space-xl);margin-bottom:var(--space-md)}.typography_prose__MYBFA h2{font-size:var(--text-xl)}.typography_prose__MYBFA h3{font-size:var(--text-lg);color:var(--color-text);margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.typography_prose__MYBFA p{margin-bottom:var(--space-md)}.typography_prose__MYBFA ol,.typography_prose__MYBFA ul{margin-bottom:var(--space-md);padding-left:1.75em;list-style-position:outside}.typography_prose__MYBFA li{margin-bottom:var(--space-xs);padding-left:.25em}.typography_prose__MYBFA a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.125rem}.typography_prose__MYBFA a:hover{color:var(--color-accent)}.typography_prose__MYBFA code{background:var(--color-bg-secondary);padding:.125rem .375rem;border-radius:0;font-size:.9em}.typography_prose__MYBFA pre{background:var(--color-bg-secondary);padding:var(--space-md);border-radius:0;overflow-x:auto;margin-bottom:var(--space-md)}.typography_prose__MYBFA pre code{background:none;padding:0}.typography_prose__MYBFA blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-md);margin:var(--space-md) 0;color:var(--color-text-dim);font-style:italic}.typography_prose__MYBFA strong{color:var(--color-text);font-weight:600}.typography_prose__MYBFA hr{border:none;border-top:2px solid var(--color-border);margin:var(--space-xl) 0}.typography_prose__MYBFA table{width:100%;border-collapse:collapse;margin-bottom:var(--space-md);font-size:var(--text-sm)}.typography_prose__MYBFA td,.typography_prose__MYBFA th{padding:var(--space-sm) var(--space-md);text-align:left;border:2px solid var(--color-border)}.typography_prose__MYBFA th{color:var(--color-accent);font-weight:600}.typography_prose__MYBFA img{max-width:100%;max-height:60vh;width:auto;height:auto;display:block;margin:var(--space-lg) auto;border:2px solid var(--color-border);border-radius:var(--border-radius)}@media (max-width:40rem){.typography_prose__MYBFA table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.typography_prose__MYBFA pre{padding:var(--space-sm)}}.ProjectCard_card__Tg139{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:2px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-secondary) 62%,transparent);color:inherit;text-decoration:none}.ProjectCard_card__Tg139:hover{border-color:color-mix(in srgb,var(--color-accent) 72%,var(--color-border));background:var(--color-bg-secondary)}.ProjectCard_card__Tg139:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.ProjectCard_imageWrapper__Bb6fi{position:relative;aspect-ratio:16/9;overflow:hidden;flex-shrink:0;border-bottom:2px solid var(--color-border);background:var(--color-bg-tertiary)}.ProjectCard_featured__UFmz_ .ProjectCard_imageWrapper__Bb6fi{aspect-ratio:2.25/1}.ProjectCard_imageWrapper__Bb6fi:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,color-mix(in srgb,var(--color-bg) 72%,transparent));content:"";pointer-events:none}.ProjectCard_image__89Aw9{object-fit:cover}.ProjectCard_placeholder__xPPtH{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:linear-gradient(135deg,transparent 49.5%,var(--color-border) 50%,transparent 50.5%),var(--color-bg-tertiary)}.ProjectCard_placeholderText__0zdDH{color:var(--color-text-dim);font-size:clamp(2rem,6vw,5rem);text-transform:uppercase}.ProjectCard_content___p07_{display:flex;flex:1 1;flex-direction:column;padding:var(--space-md) var(--space-lg) var(--space-lg)}.ProjectCard_title__j_s2R{display:flex;align-items:center;gap:var(--space-xs);margin:0 0 var(--space-xs);color:var(--color-text);font-size:var(--text-lg);font-weight:500;line-height:1.25}.ProjectCard_arrow__bpQvp{flex-shrink:0;color:var(--color-accent);opacity:0}.ProjectCard_card__Tg139:focus-visible .ProjectCard_arrow__bpQvp,.ProjectCard_card__Tg139:hover .ProjectCard_arrow__bpQvp{opacity:1}.ProjectCard_description__UWqaJ{max-width:60rem;margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.55}.ProjectCard_tags__9w3e9{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:auto 0 0;padding:var(--space-lg) 0 0;list-style:none}.ProjectCard_tags__9w3e9 li{padding:.15rem .45rem;border:2px solid var(--color-border);color:var(--color-text-dim);font-size:var(--text-xs)}@media (max-width:48rem){.ProjectCard_featured__UFmz_ .ProjectCard_imageWrapper__Bb6fi{aspect-ratio:16/9}.ProjectCard_content___p07_{padding:var(--space-md)}}