.error-module__uHmsfa__page{background:var(--bg-0);flex-direction:column;min-height:100vh;display:flex}.error-module__uHmsfa__container{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.error-module__uHmsfa__code{font-size:6rem;font-weight:600;font-family:var(--font-mono);color:var(--accent);letter-spacing:-.04em;margin-bottom:16px;line-height:1}.error-module__uHmsfa__heading{color:var(--ink);letter-spacing:-.02em;margin-bottom:12px;font-size:1.5rem;font-weight:500}.error-module__uHmsfa__sub{font-size:var(--text-prose);color:var(--ink-3);max-width:36ch;margin-bottom:32px;line-height:1.7}.error-module__uHmsfa__btn{font-size:var(--text-sm);border:.5px solid var(--accent);color:var(--accent);cursor:pointer;font-family:var(--font-sans);background:0 0;border-radius:5px;align-items:center;gap:8px;padding:10px 20px;transition:background .15s,color .15s;display:inline-flex}.error-module__uHmsfa__btn:hover{background:var(--accent);color:#06301f}
.Header-module__KHjLKa__header{z-index:100;background:var(--bg-0);border-bottom:.5px solid #0000;transition:border-color .2s;position:sticky;top:0}.Header-module__KHjLKa__scrolled{border-bottom-color:var(--line-soft)}.Header-module__KHjLKa__nav{justify-content:space-between;align-items:center;height:64px;padding:0 40px;display:flex}.Header-module__KHjLKa__logo{font-size:var(--text-md);color:var(--ink);letter-spacing:-.02em;flex-shrink:0;font-weight:600}.Header-module__KHjLKa__navList{align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.Header-module__KHjLKa__navLink{font-size:var(--text-sm);color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.04em;padding:8px 14px;transition:color .15s;position:relative}.Header-module__KHjLKa__navLink:after{content:"";background:var(--accent);transform-origin:0;height:1.5px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:4px;left:14px;right:14px;transform:scaleX(0)}.Header-module__KHjLKa__navLink:hover{color:var(--ink)}.Header-module__KHjLKa__navLink:hover:after{transform:scaleX(1)}.Header-module__KHjLKa__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.Header-module__KHjLKa__burger span{background:var(--ink);transform-origin:50%;width:22px;height:1.5px;transition:transform .25s,opacity .25s;display:block}.Header-module__KHjLKa__burgerOpen span:first-child{transform:translateY(6.5px)rotate(45deg)}.Header-module__KHjLKa__burgerOpen span:nth-child(2){opacity:0}.Header-module__KHjLKa__burgerOpen span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.Header-module__KHjLKa__drawer{background:var(--bg-1);max-height:0;transition:max-height .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.Header-module__KHjLKa__drawerOpen{max-height:400px}.Header-module__KHjLKa__drawerList{flex-direction:column;gap:4px;padding:16px 24px 24px;list-style:none;display:flex}.Header-module__KHjLKa__drawerLink{font-size:var(--text-base);color:var(--ink-2);padding:10px 0;font-weight:500;transition:color .15s;display:block}.Header-module__KHjLKa__drawerLink:hover{color:var(--accent)}.Header-module__KHjLKa__drawerSocials{gap:20px;padding-top:16px;display:flex}.Header-module__KHjLKa__drawerSocials a{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em}@media (min-width:769px){.Header-module__KHjLKa__burger,.Header-module__KHjLKa__drawer{display:none!important}}@media (max-width:768px){.Header-module__KHjLKa__nav{padding:0 24px}.Header-module__KHjLKa__navList{display:none}.Header-module__KHjLKa__burger{display:flex}}@media (max-width:480px){.Header-module__KHjLKa__nav{padding:0 16px}}
.Footer-module__yg9ahW__footer{border-top:.5px solid var(--line-soft);padding:20px 0}.Footer-module__yg9ahW__copy{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.08em;justify-content:center;transition:color .15s;display:flex}
.Noteworthy-module__XAHBTW__section{padding:22px 0}.Noteworthy-module__XAHBTW__list{flex-direction:column;display:flex}.Noteworthy-module__XAHBTW__item{border-bottom:.5px solid var(--line-soft);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px 0;transition:padding-left .2s cubic-bezier(.16,1,.3,1);display:grid}.Noteworthy-module__XAHBTW__item:last-child{border-bottom:none;padding-bottom:0}.Noteworthy-module__XAHBTW__item:hover{padding-left:8px}.Noteworthy-module__XAHBTW__item:hover .Noteworthy-module__XAHBTW__title{color:var(--accent)}.Noteworthy-module__XAHBTW__title{font-size:var(--text-md);letter-spacing:.05em;color:var(--ink);margin-bottom:4px;font-weight:500;transition:color .2s}.Noteworthy-module__XAHBTW__desc{font-size:var(--text-prose);color:var(--ink-3);letter-spacing:.02em;line-height:1.65}.Noteworthy-module__XAHBTW__tags{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;padding-top:3px;display:flex}.Noteworthy-module__XAHBTW__tag{font-size:var(--text-xs);font-family:var(--font-mono);background:var(--bg-1);color:var(--accent);border:.5px solid var(--accent-dim);white-space:nowrap;letter-spacing:.02em;border-radius:4px;padding:4px 10px}@media (max-width:480px){.Noteworthy-module__XAHBTW__item{grid-template-columns:1fr}.Noteworthy-module__XAHBTW__tags{justify-content:flex-start;padding-top:8px}}
.Projects-module__ojkyHG__section{padding:22px 0}.Projects-module__ojkyHG__table{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;display:grid}.Projects-module__ojkyHG__row{display:contents}.Projects-module__ojkyHG__row>div{align-self:center;padding:18px 12px 18px 0}.Projects-module__ojkyHG__name{font-size:var(--text-base);color:var(--ink);font-weight:500;transition:transform .2s cubic-bezier(.16,1,.3,1)}.Projects-module__ojkyHG__name a{letter-spacing:.05em;font-size:var(--text-md);color:inherit;transition:color .15s}.Projects-module__ojkyHG__tagline{font-size:var(--text-prose);color:var(--ink-3);letter-spacing:.01em;margin-top:4px;font-weight:400;line-height:1.5}.Projects-module__ojkyHG__tech{flex-wrap:wrap;gap:5px;display:flex}.Projects-module__ojkyHG__techChip{font-size:var(--text-xs);background:var(--bg-2);color:var(--ink-2);border:.5px solid #0000;border-radius:3px;padding:3px 10px;transition:background .18s,color .18s,border-color .18s,transform .2s cubic-bezier(.16,1,.3,1);display:inline-block}.Projects-module__ojkyHG__techChip:hover{background:color-mix(in oklch, var(--accent), transparent 88%);color:var(--accent);border-color:color-mix(in oklch, var(--accent), transparent 55%);transform:translateY(-2px)}.Projects-module__ojkyHG__links{justify-content:flex-end;gap:6px;display:flex}.Projects-module__ojkyHG__link{font-size:var(--text-sm);color:var(--ink-3);border:.5px solid var(--line-soft);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:5px 12px;transition:border-color .15s,color .15s;display:inline-flex}.Projects-module__ojkyHG__link:hover{border-color:var(--accent-dim);color:var(--accent)}.Projects-module__ojkyHG__row:hover .Projects-module__ojkyHG__name{transform:translate(7px)}.Projects-module__ojkyHG__row:hover .Projects-module__ojkyHG__name a{color:var(--accent)}@media (max-width:700px){.Projects-module__ojkyHG__name a{text-align:center;display:block}.Projects-module__ojkyHG__table{grid-template-columns:1fr}.Projects-module__ojkyHG__row{flex-direction:column;gap:10px;padding:20px 0;display:flex}.Projects-module__ojkyHG__row>div{padding:0}.Projects-module__ojkyHG__row:hover .Projects-module__ojkyHG__name{transform:none}.Projects-module__ojkyHG__links{justify-content:flex-start}}
