.DeveloperTerminal_window__LRwGI{margin:0;background:#1c1b18;color:#e9e4d8;border-radius:6px;font-family:var(--font-code);font-size:12.5px;line-height:1.55;box-shadow:0 1px 0 rgba(0,0,0,.04),0 12px 32px -18px rgba(28,27,24,.55);overflow:hidden}:root[data-theme=dark] .DeveloperTerminal_window__LRwGI{background:#0d0c0b;box-shadow:inset 0 0 0 1px var(--rule)}.DeveloperTerminal_titleBar__pbSmk{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.07);color:#8f887a;font-size:11.5px}.DeveloperTerminal_dots__ld3S9{display:inline-flex;gap:6px}.DeveloperTerminal_dots__ld3S9 i{width:9px;height:9px;border-radius:50%;background:#3a3832}.DeveloperTerminal_title__B12t_{flex:1;text-align:center;margin-right:37px}.DeveloperTerminal_scroll__vwpv6{height:196px;overflow-y:auto;padding:12px 14px 14px;scrollbar-width:thin;scrollbar-color:#3a3832 transparent}.DeveloperTerminal_entry__uGMnF{margin-bottom:8px;word-break:break-word;animation:DeveloperTerminal_appear__7hjse .24s ease-out}.DeveloperTerminal_prompt__wgkoC{color:var(--lemon);margin-right:8px;user-select:none}.DeveloperTerminal_output__QTxej{color:#9e978a}.DeveloperTerminal_cursor__h0K23{display:inline-block;width:7px;height:14px;vertical-align:-2px;background:#e9e4d8;animation:DeveloperTerminal_blink__SgVsJ 1.1s steps(1) infinite}@keyframes DeveloperTerminal_blink__SgVsJ{50%{opacity:0}}@keyframes DeveloperTerminal_appear__7hjse{0%{opacity:0;transform:translateY(3px)}}.Activity_panel__6yO0s{--heat-0:#ddd6c6;--heat-1:#dfbf45;--heat-2:#b8911a;--heat-3:#8a6c08;--heat-4:#4d3f00;--bar:#b8911a;position:relative;padding-top:20px}:root[data-theme=dark] .Activity_panel__6yO0s{--heat-0:#272520;--heat-1:#5c4c17;--heat-2:#8f7622;--heat-3:#c6a533;--heat-4:#f0d85c;--bar:#c6a533}.Activity_toolbar__caxtw{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.Activity_range__VWaHp{height:30px;padding:0 12px;border:1px solid var(--rule);border-radius:15px;background:transparent;color:var(--ink-soft);font-family:var(--font-code);font-size:12px;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.Activity_range__VWaHp:hover{color:var(--ink);border-color:var(--ink-soft)}.Activity_range__VWaHp[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.Activity_profile__IUrHe{margin-left:auto;font-family:var(--font-code);font-size:12px;color:var(--muted);text-decoration:none}.Activity_profile__IUrHe:hover{color:var(--lemon-text)}.Activity_stats__lojh3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:20px 0 28px;background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden}.Activity_stats__lojh3>div{padding:14px 16px;background:var(--paper)}.Activity_stats__lojh3 dt{font-family:var(--font-code);font-size:11px;color:var(--muted)}.Activity_stats__lojh3 dd{margin-top:4px;font-size:24px;font-weight:600;line-height:1.2;color:var(--ink)}.Activity_sub__MpWng{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--muted)}.Activity_calendarScroll__nfZeK{overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.Activity_calendar__jQmrZ{display:block}.Activity_axis__ajI2A{font-family:var(--font-code);font-size:10px;fill:var(--muted)}.Activity_l0__6AA8t{fill:var(--heat-0);background:var(--heat-0)}.Activity_l1__DNWdv{fill:var(--heat-1);background:var(--heat-1)}.Activity_l2__TZ5we{fill:var(--heat-2);background:var(--heat-2)}.Activity_l3__Up3_F{fill:var(--heat-3);background:var(--heat-3)}.Activity_l4__X63pq{fill:var(--heat-4);background:var(--heat-4)}.Activity_calendar__jQmrZ rect{transition:opacity .12s}.Activity_calendar__jQmrZ rect:hover{stroke:var(--ink);stroke-width:1}.Activity_legend__FtYXQ{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:8px;font-family:var(--font-code);font-size:11px;color:var(--muted)}.Activity_legend__FtYXQ i{width:11px;height:11px;border-radius:2px}.Activity_legend__FtYXQ span:first-child{margin-right:4px}.Activity_legend__FtYXQ span:last-child{margin-left:4px}.Activity_chartTitle__OzGk4{margin:28px 0 12px;font-family:var(--font-code);font-size:12px;font-weight:400;color:var(--muted)}.Activity_barRow__uIPJe{display:flex;align-items:flex-end;border-bottom:1px solid var(--rule)}.Activity_barSlot__kY_YN{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;outline:none;cursor:default}.Activity_bar__kUwfn{display:block;width:min(24px,60%);min-height:2px;border-radius:4px 4px 0 0;background:var(--bar);transition:filter .12s}.Activity_barSlot__kY_YN:focus-visible .Activity_bar__kUwfn,.Activity_barSlot__kY_YN:hover .Activity_bar__kUwfn{filter:brightness(1.15)}.Activity_barSlot__kY_YN:focus-visible{box-shadow:inset 0 0 0 1px var(--ink-soft);border-radius:4px}.Activity_barValue__IkQ6t{margin-bottom:4px;font-family:var(--font-code);font-size:11px;color:var(--ink-soft)}.Activity_barLabels__nUYrm{display:flex;margin-top:6px;font-family:var(--font-code);font-size:11px;color:var(--muted)}.Activity_barLabels__nUYrm span{text-align:center}.Activity_tooltip__6saJ8{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 8px));display:flex;flex-direction:column;gap:1px;padding:6px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--paper-raised);box-shadow:0 8px 24px -12px rgba(0,0,0,.45);pointer-events:none;white-space:nowrap}.Activity_tooltip__6saJ8 strong{font-size:13px;font-weight:600;color:var(--ink)}.Activity_tooltip__6saJ8 span{font-family:var(--font-code);font-size:11px;color:var(--muted)}.Activity_note__vqsr_{margin-top:24px;font-size:13px;color:var(--muted);max-width:62ch}.Activity_table__0b4X3{margin-top:12px;font-size:14px}.Activity_table__0b4X3 summary{width:fit-content;font-family:var(--font-code);font-size:12px;color:var(--ink-soft);cursor:pointer}.Activity_table__0b4X3 table{width:100%;max-width:480px;margin-top:10px;border-collapse:collapse}.Activity_table__0b4X3 td,.Activity_table__0b4X3 th{padding:6px 0;border-bottom:1px solid var(--rule);text-align:left;font-weight:400}.Activity_table__0b4X3 td{text-align:right;font-variant-numeric:tabular-nums}.Activity_table__0b4X3 thead th{font-family:var(--font-code);font-size:11px;color:var(--muted)}.Activity_table__0b4X3 thead th:not(:first-child){text-align:right}@media (max-width:640px){.Activity_stats__lojh3{grid-template-columns:repeat(2,minmax(0,1fr))}.Activity_profile__IUrHe{margin-left:0;width:100%;margin-top:4px}}.Activity_skelPill__Z9hV3{width:84px;height:30px;border-radius:15px}.Activity_skelLabel__AKRqw{width:70px;height:11px}.Activity_skelValue__bDSBM{width:56px;height:24px;margin-top:8px}.Activity_skelCalendar__Z8NV9{height:118px}.Activity_skelBars__jxKae{height:120px;margin-top:28px}.BinaryField_field__8f2_d{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;animation:BinaryField_fadeIn__cUJ8Y 1.6s ease-out .4s both}.BinaryField_hero__w1RxN{mask-image:radial-gradient(ellipse 60% 85% at 82% 35%,#000 25%,transparent 80%)}.BinaryField_section__TQZK1{mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);animation:none}@keyframes BinaryField_fadeIn__cUJ8Y{0%{opacity:0}}.Toast_toast__mQHrE{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:flex-start;gap:12px;width:min(380px,calc(100vw - 32px));padding:14px 12px 14px 14px;border:1px solid var(--rule);border-left:3px solid var(--lemon);border-radius:6px;background:var(--paper-raised);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08),0 16px 40px -18px rgba(0,0,0,.5);animation:Toast_enter__QXHYP .28s cubic-bezier(.2,.8,.2,1) both}.Toast_error__AZCUw{border-left-color:#c2453a}.Toast_leaving__ze20k{animation:Toast_leave__DvqaB .2s ease-in forwards}.Toast_icon__zlsIR{display:grid;place-items:center;flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--lemon);color:#1c1b18;font-family:var(--font-code);font-size:12px;font-weight:700}.Toast_error__AZCUw .Toast_icon__zlsIR{background:#c2453a;color:#fff}.Toast_body__U8CjL{flex:1;min-width:0}.Toast_title__QvwW6{font-weight:500;font-size:15px;line-height:1.35}.Toast_text__KXe0K{margin-top:2px;font-size:14px;line-height:1.45;color:var(--ink-soft)}.Toast_close__HSSf8{flex:none;width:26px;height:26px;margin:-3px -2px 0 0;border:none;border-radius:4px;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.Toast_close__HSSf8:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}@keyframes Toast_enter__QXHYP{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes Toast_leave__DvqaB{to{opacity:0;transform:translateY(8px)}}@media (max-width:560px){.Toast_toast__mQHrE{right:16px;left:16px;bottom:16px;width:auto}}.ContactForm_form__cfPSc{display:grid;gap:20px}.ContactForm_row__2MweN{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ContactForm_field__W_jHN{display:grid;gap:6px}.ContactForm_field__W_jHN span{font-family:var(--font-code);font-size:12px;color:var(--muted)}.ContactForm_field__W_jHN input,.ContactForm_field__W_jHN textarea{width:100%;padding:10px 0;background:transparent;border:none;border-bottom:1px solid var(--rule);color:var(--ink);font:inherit;font-size:16px;resize:vertical;transition:border-color .15s}.ContactForm_field__W_jHN input:focus,.ContactForm_field__W_jHN textarea:focus{outline:none;border-bottom-color:var(--ink)}.ContactForm_trap__ftoZg{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.ContactForm_footer__8C6m3{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:4px}.ContactForm_footer__8C6m3 button{display:inline-flex;align-items:center;gap:10px;position:relative;isolation:isolate;overflow:hidden;height:44px;padding:0 22px;border:none;border-radius:3px;background:var(--ink);color:var(--paper);font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:color .2s,transform .16s}.ContactForm_footer__8C6m3 button:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--lemon);transform:translateX(-101%);transition:transform .42s cubic-bezier(.2,.8,.2,1)}.ContactForm_footer__8C6m3 button:active:not(:disabled){transform:scale(.97)}@media (hover:hover){.ContactForm_footer__8C6m3 button:hover:not(:disabled){color:#1c1b18}.ContactForm_footer__8C6m3 button:hover:not(:disabled):before{transform:none}}.ContactForm_footer__8C6m3 button:disabled{opacity:.6;cursor:progress}@media (max-width:520px){.ContactForm_row__2MweN{grid-template-columns:1fr}}.GithubPeek_peek__COb61{position:absolute;top:100%;right:0;z-index:30;width:288px;padding-top:12px;opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .16s,transform .2s cubic-bezier(.2,.8,.2,1),visibility 0s .2s}.GithubPeek_card__cl7u_{padding:14px 16px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--paper-raised);box-shadow:0 12px 32px -12px rgb(0 0 0/.35);font-size:14px}.GithubPeek_head__S1zHw{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-family:var(--font-code);font-size:11.5px;color:var(--muted)}.GithubPeek_stats__Sdw_M{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.GithubPeek_stats__Sdw_M dt{font-size:12px;color:var(--muted)}.GithubPeek_stats__Sdw_M dd{margin:2px 0 0;font-size:18px;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}.GithubPeek_stats__Sdw_M dd span{margin-left:6px;font-size:12px;color:var(--muted)}.GithubPeek_spark__mOWMP{display:flex;align-items:flex-end;gap:2px;height:32px;margin-top:14px}.GithubPeek_spark__mOWMP i{flex:1;border-radius:1px;background:var(--lemon-text)}.GithubPeek_spark__mOWMP i[data-empty]{background:var(--rule)}.GithubPeek_skelHead__sU9Y8{height:12px;width:60%;margin-bottom:12px}.GithubPeek_skelStat__7A1d_{height:38px}.GithubPeek_skelSpark__2y_Ne{height:32px;margin-top:14px}.Header_bar__YUmZy{position:sticky;top:0;z-index:20;height:var(--header-height);border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--paper-top) 82%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px)}.Header_inner__NumeB{max-width:var(--page-width);height:100%;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font-size:14px}.Header_identity__sw1jg{display:grid;grid-template-columns:32px auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;justify-self:start;min-width:0}.Header_avatarLink__a5Ckb{grid-row:1/span 2;display:block;line-height:0}.Header_avatar__t5L6p{border-radius:50%;background:var(--paper-raised)}.Header_brand__iPD97{align-self:end;font-weight:500;line-height:1.25;text-decoration:none;white-space:nowrap}.Header_nav__VMcGW{display:flex;gap:28px}.Header_nav__VMcGW a{position:relative;padding:4px 0;text-decoration:none;color:var(--ink-soft);transition:color .15s}.Header_nav__VMcGW a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--lemon);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.Header_nav__VMcGW a:hover,.Header_nav__VMcGW a[aria-current]{color:var(--ink)}.Header_nav__VMcGW a:hover:after,.Header_nav__VMcGW a[aria-current]:after{transform:scaleX(1)}.Header_tools__C6VvR{display:flex;align-items:center;gap:20px;justify-self:end}.Header_profiles__wnSIA{display:flex;height:30px;border:1px solid var(--rule);border-radius:15px}.Header_profileWrap__uPqJe{position:relative;display:flex}.Header_profileWrap__uPqJe+.Header_profileWrap__uPqJe{border-left:1px solid var(--rule)}.Header_profile__IbolZ{display:grid;place-items:center;width:34px;color:var(--ink-soft);transition:color .15s,background-color .15s}.Header_profileWrap__uPqJe:first-child .Header_profile__IbolZ{border-radius:14px 0 0 14px}.Header_profileWrap__uPqJe:last-child .Header_profile__IbolZ{border-radius:0 14px 14px 0}.Header_profileWrap__uPqJe:only-child .Header_profile__IbolZ{border-radius:14px}@media (hover:hover){.Header_profileWrap__uPqJe:has(:focus-visible)>[data-peek],.Header_profileWrap__uPqJe:hover>[data-peek]{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:.12s,.12s,0s}}.Header_profile__IbolZ:focus-visible,.Header_profile__IbolZ:hover{color:var(--lemon-text);background:var(--paper-raised)}.Header_prefs__1Bv7G{display:flex;align-items:center;gap:12px;padding-left:20px;border-left:1px solid var(--rule)}.Header_clock__KEUxQ{font-family:var(--font-code);font-size:11.5px;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums;cursor:default;grid-column:2;align-self:start}.Header_clockRoll__bWkM2{display:inline-grid;overflow:hidden;height:1.4em;line-height:1.4;vertical-align:bottom}.Header_clockFace__1hrxo{grid-area:1/1;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .26s}.Header_clockFace__1hrxo:last-child{transform:translateY(100%);opacity:0;color:var(--ink)}.Header_clock__KEUxQ:focus .Header_clockFace__1hrxo:first-child,.Header_clock__KEUxQ:hover .Header_clockFace__1hrxo:first-child{transform:translateY(-100%);opacity:0}.Header_clock__KEUxQ:focus .Header_clockFace__1hrxo:last-child,.Header_clock__KEUxQ:hover .Header_clockFace__1hrxo:last-child{transform:none;opacity:1}.Header_languages__iIMcc{display:flex;gap:2px;font-family:var(--font-code);font-size:12px}.Header_languages__iIMcc a{padding:3px 6px;border-radius:3px;color:var(--muted);text-decoration:none}.Header_languages__iIMcc a:hover{color:var(--ink)}.Header_languages__iIMcc a[aria-current]{color:var(--ink);background:var(--paper-raised)}.Header_iconButton__4bLAS{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--rule);border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer;transition:color .15s,border-color .15s,transform .3s cubic-bezier(.2,.8,.2,1)}.Header_iconButton__4bLAS:hover{color:var(--ink);border-color:var(--ink);transform:rotate(-20deg)}@media (max-width:900px){.Header_inner__NumeB{display:flex;gap:20px}.Header_identity__sw1jg{margin-right:auto}}@media (max-width:560px){.Header_profiles__wnSIA{display:none}.Header_prefs__1Bv7G{padding-left:0;border-left:0}}@media (max-width:760px){.Header_optional__ddnFY{display:none}.Header_inner__NumeB{gap:16px}.Header_tools__C6VvR{gap:14px}}.Header_bar__YUmZy{animation:Header_bar-in__JLr_4 .6s cubic-bezier(.28,.11,.32,1) backwards}@keyframes Header_bar-in__JLr_4{0%{opacity:0;transform:translateY(-8px)}}.Header_progress__eH0YK{display:none;position:absolute;inset:auto 0 -1px;height:1px;background:var(--lemon);transform-origin:left;transform:scaleX(0)}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.Header_progress__eH0YK{display:block;animation:Header_fill__ktti6 linear both;animation-timeline:scroll(root block)}}}@keyframes Header_fill__ktti6{to{transform:scaleX(1)}}.Hero_hero__I2_8D{position:relative;isolation:isolate}.Hero_inner__MZ8Lq{max-width:var(--page-width);margin:0 auto;padding:64px var(--gutter) 16px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:end}.Hero_kicker__h2VAF{font-family:var(--font-code);font-size:13px;color:var(--muted);margin-bottom:20px}.Hero_statement__jgf0H{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.022em;max-width:20ch;text-wrap:balance}.Hero_about__etI9u{margin-top:28px;max-width:56ch;color:var(--ink-soft);font-size:17px}.Hero_actions__Cn1mm{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}.Hero_primary___LLnQ,.Hero_secondary__co0wv{display:inline-flex;border:none;font-family:inherit;cursor:pointer;align-items:center;height:44px;padding:0 20px;border-radius:3px;font-size:15px;font-weight:500;text-decoration:none;position:relative;isolation:isolate;overflow:hidden;transition:color .2s,border-color .2s,transform .16s}.Hero_primary___LLnQ:before,.Hero_secondary__co0wv:before{content:"";position:absolute;inset:0;z-index:-1;transition:transform .42s cubic-bezier(.2,.8,.2,1)}.Hero_primary___LLnQ:active,.Hero_secondary__co0wv:active{transform:scale(.97)}.Hero_primary___LLnQ{background:var(--ink);color:var(--paper)}.Hero_primary___LLnQ:before{background:var(--lemon);transform:translateX(-101%)}.Hero_secondary__co0wv{border:1px solid var(--rule);background:transparent;color:var(--ink)}.Hero_secondary__co0wv:before{background:var(--paper-raised);transform:translateY(101%)}@media (hover:hover){.Hero_primary___LLnQ:hover{color:#1c1b18}.Hero_primary___LLnQ:hover:before,.Hero_secondary__co0wv:hover:before{transform:none}.Hero_secondary__co0wv:hover{border-color:var(--ink)}}.Hero_links__NdwpV{list-style:none;margin-top:28px;display:none;flex-wrap:wrap;gap:8px 24px;font-size:14px}.Hero_links__NdwpV a{color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}.Hero_links__NdwpV a:hover{color:var(--ink);text-decoration-color:var(--ink)}.Hero_withIcon___N4le{display:inline-flex;align-items:center;gap:8px}.Hero_withIcon___N4le svg{flex:none;color:var(--muted)}@media (max-width:560px){.Hero_links__NdwpV{display:flex}}.Hero_pulseSkeleton__kiJKE{width:280px;max-width:100%;height:14px;margin-top:22px}.Hero_pulse__vwwyg{display:inline-block;margin-top:20px;font-size:13px;color:var(--muted);text-decoration:none}.Hero_pulseText__nm887{animation:Hero_pulse-glow__StDE1 2.8s ease-in-out infinite}.Hero_pulse__vwwyg:hover .Hero_pulseText__nm887{animation:none;color:var(--ink)}.Hero_arrow__RPXt7{display:inline-block;margin-left:6px;background-image:linear-gradient(to bottom,var(--muted) 0 42%,var(--lemon-text) 50%,var(--muted) 58% 100%);background-size:100% 300%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:Hero_arrow-sweep__FQg7E 1.6s ease-in-out infinite,Hero_arrow-bob___fiPS 1.6s ease-in-out infinite}@keyframes Hero_pulse-glow__StDE1{50%{color:var(--lemon-text)}}@keyframes Hero_arrow-sweep__FQg7E{0%{background-position:0 100%}to{background-position:0 0}}@keyframes Hero_arrow-bob___fiPS{50%{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.Hero_arrow__RPXt7,.Hero_pulseText__nm887{animation:none}.Hero_arrow__RPXt7{background-image:none;color:var(--lemon-text)}}@media (max-width:560px){.Hero_pulse__vwwyg{margin-top:14px}}.Hero_status__mZS8E{font-size:13px;color:var(--ink-soft);margin-bottom:14px}@media (max-width:960px){.Hero_inner__MZ8Lq{grid-template-columns:1fr;gap:40px;padding-top:40px}.Hero_side__LLQIg{max-width:460px}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.Hero_text__goXtt{animation:Hero_lift__qJY3z cubic-bezier(.4,0,1,1) both;animation-timeline:view();animation-range:exit 0 exit 100%}}}@keyframes Hero_lift__qJY3z{to{opacity:0;transform:translateY(-48px)}}.Experience_list__FvCaR{list-style:none}.Experience_entry__gJz8z{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding:24px 0}.Experience_entry__gJz8z+.Experience_entry__gJz8z{border-top:1px solid var(--rule)}.Experience_dates__5QiNk{font-family:var(--font-code);font-size:12px;color:var(--muted);padding-top:6px;font-variant-numeric:tabular-nums}.Experience_duration__dXujW{display:block;margin-top:4px;color:var(--ink-soft)}.Experience_total__hK9W_ strong{display:block;margin-top:2px;color:var(--ink)}.Experience_role__NkgXY,.Experience_total__hK9W_ strong{font-family:var(--font-display);font-size:22px;font-weight:400}.Experience_role__NkgXY{line-height:1.25}.Experience_link__DnnLL{text-decoration:none;color:inherit}.Experience_arrow__lWMjV{display:inline-block;margin-left:8px;font-family:var(--font-body);font-size:15px;color:var(--muted);transition:transform .18s,color .18s}@media (hover:hover){.Experience_link__DnnLL:hover .Experience_arrow__lWMjV{color:var(--lemon-text);transform:translate(2px,-2px)}}.Experience_at__OeL0q{font-style:italic;color:var(--muted)}.Experience_location__eb5Bt{font-size:14px;color:var(--muted)}.Experience_summary__jY9Xg{margin-top:8px;color:var(--ink-soft);max-width:62ch}.Experience_highlights__RWyrI{margin-top:10px;list-style:none;color:var(--ink-soft);font-size:15px;max-width:62ch}.Experience_highlights__RWyrI li{position:relative;padding-left:20px}.Experience_highlights__RWyrI li+li{margin-top:4px}.Experience_highlights__RWyrI li:before{content:"–";position:absolute;left:0;color:var(--muted)}.Experience_subhead__4CZaj{margin-top:32px;padding:14px 0 0;border-top:1px solid var(--rule);font-family:var(--font-code);font-size:12px;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}@media (max-width:640px){.Experience_entry__gJz8z{grid-template-columns:1fr;gap:6px}.Experience_dates__5QiNk{padding-top:0}}.Contact_grid__pGFa4{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;padding-top:24px}.Contact_lead___Tlun{font-family:var(--font-display);font-size:26px;line-height:1.3;letter-spacing:-.01em;max-width:20ch}.Contact_email__pLNNN{display:inline-block;margin-top:20px;font-size:16px;text-decoration:underline;text-decoration-color:var(--lemon);text-decoration-thickness:2px;text-underline-offset:5px;overflow-wrap:anywhere}.Contact_email__pLNNN:hover{text-decoration-color:var(--ink)}@media (max-width:860px){.Contact_grid__pGFa4{grid-template-columns:1fr;gap:32px;padding-top:8px}}.Footer_footer__K91Sq{max-width:var(--page-width);margin:96px auto 0;padding:20px var(--gutter) 40px;display:flex;flex-wrap:wrap;gap:8px 32px;border-top:1px solid var(--rule);font-family:var(--font-code);font-size:12px;color:var(--muted)}.Footer_footer__K91Sq p:last-child:not(:first-child){margin-left:auto}.HeroLens_lens__ct0e6{position:absolute;left:0;top:0;width:144px;height:144px;margin:-72px 0 0 -72px;z-index:4;pointer-events:none;will-change:transform}.HeroLens_glass__qJG2S{position:absolute;inset:0;overflow:hidden;border-radius:50%;background:var(--paper-top);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 30%,transparent),0 10px 26px rgb(0 0 0/.2);opacity:0;transform:scale(.72);transition:opacity .16s,transform .32s cubic-bezier(.2,.8,.2,1)}.HeroLens_lens__ct0e6.HeroLens_on__nQHna .HeroLens_glass__qJG2S{opacity:1;transform:scale(1)}.HeroLens_glass__qJG2S:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 24%,rgb(255 255 255/.09),transparent 46%)}.HeroLens_stage__g78hV{position:absolute;left:0;top:0;transform-origin:0 0;user-select:none}.HeroLens_stage__g78hV *{animation:none!important}.HeroLens_digits__IdDl6{position:absolute;pointer-events:none}.HeroLens_stage__g78hV .reveal-word>span{transform:none!important}.HeroLens_stage__g78hV .mark-draw{background-size:100% 100%!important}.Section_section__qh_YH{position:relative;isolation:isolate}.Section_inner__N2khD{max-width:var(--page-width);margin:0 auto;padding:72px var(--gutter) 0;display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px}.Section_label__z_az_{position:relative;padding-top:15px}.Section_label__z_az_:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--ink);transform-origin:left;transform:scaleX(var(--rule-scale,1));transition:transform .9s cubic-bezier(.2,.8,.2,1)}.Section_index__swqCa{display:block;font-family:var(--font-code);font-size:12px;color:var(--muted);margin-bottom:6px}.Section_title__xQcyx{width:fit-content;font-family:var(--font-display);font-size:28px;font-weight:400;line-height:1.15;letter-spacing:-.01em}.Section_aside__9EMR1{margin-top:12px;font-size:14px;color:var(--muted);max-width:26ch}.Section_body__UsYHE{border-top:1px solid var(--rule);min-width:0}@media (max-width:860px){.Section_inner__N2khD{grid-template-columns:1fr;gap:20px;padding-top:56px}.Section_body__UsYHE{border-top:none}}.Work_list__mA7z8{list-style:none}.Work_list__mA7z8 li+li{border-top:1px solid var(--rule)}.Work_row__bkiOe{display:grid;grid-template-columns:112px minmax(0,1fr) 132px;gap:28px;padding:28px 0;text-decoration:none;color:inherit}.Work_linked__tpZ23{position:relative}.Work_linked__tpZ23:before{content:"";position:absolute;inset:0 -16px;border-radius:4px;background:var(--paper-raised);opacity:0;transition:opacity .18s;z-index:-1}.Work_linked__tpZ23:hover:before{opacity:1}.Work_thumb__i7KK0{width:112px;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--paper-raised);box-shadow:inset 0 0 0 1px var(--rule)}.Work_thumb__i7KK0 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.Work_linked__tpZ23:hover .Work_thumb__i7KK0 img{transform:scale(1.04)}.Work_initial__HZ_1k{display:grid;place-items:center;height:100%;font-family:var(--font-display);font-size:40px;color:var(--muted)}.Work_title__GqUdo{font-family:var(--font-display);font-size:26px;font-weight:400;line-height:1.2;letter-spacing:-.01em}.Work_arrow__O5z_q{display:inline-block;margin-left:8px;font-family:var(--font-body);font-size:16px;color:var(--muted);transition:transform .18s,color .18s}.Work_linked__tpZ23:hover .Work_arrow__O5z_q{color:var(--ink);transform:translate(2px,-2px)}.Work_subtitle__w1osm{margin-top:2px;font-size:14px;color:var(--muted)}.Work_description__xQQNp{margin-top:12px;color:var(--ink-soft);max-width:62ch}.Work_tags__pOudh{margin-top:12px}.Work_meta__F7_yZ,.Work_tags__pOudh{font-family:var(--font-code);font-size:12px;color:var(--muted)}.Work_meta__F7_yZ{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;padding-top:8px}.Work_host__9kC63{overflow-wrap:anywhere}.Work_more__8hep0{display:inline-flex;align-items:center;gap:2px;margin-top:8px;padding:10px 0;border:none;background:none;color:var(--ink-soft);font-family:var(--font-code);font-size:13px;cursor:pointer;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:5px;transition:color .15s,text-decoration-color .15s}.Work_more__8hep0:hover{color:var(--ink);text-decoration-color:var(--lemon)}.Work_more__8hep0 span{display:inline-block;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.Work_more__8hep0:hover span{transform:translateY(2px)}.Work_more__8hep0[aria-expanded=true]:hover span{transform:translateY(-2px)}.Work_revealed__JWNzZ:not([hidden]){animation:Work_reveal___pyv_ .42s cubic-bezier(.2,.8,.2,1) both}@keyframes Work_reveal___pyv_{0%{opacity:0;transform:translateY(8px)}}@media (max-width:720px){.Work_row__bkiOe{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:22px 0}.Work_thumb__i7KK0{width:72px}.Work_title__GqUdo{font-size:22px}.Work_meta__F7_yZ{grid-column:2;flex-direction:row;justify-content:flex-start;gap:12px;padding-top:0;text-align:left}.Work_linked__tpZ23:before{inset:0 -8px}}.Skills_row__e5ueu{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding:16px 0}.Skills_row__e5ueu+.Skills_row__e5ueu{border-top:1px solid var(--rule)}.Skills_row__e5ueu dt{font-family:var(--font-code);font-size:12px;color:var(--muted);padding-top:5px}.Skills_row__e5ueu dd{font-family:var(--font-display);font-size:21px;line-height:1.4}@media (max-width:640px){.Skills_row__e5ueu{grid-template-columns:1fr;gap:2px}.Skills_row__e5ueu dd{font-size:19px}}.admin_shell__nIi4o{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;font-size:15px}.admin_sidebar__1BNSW{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:24px 16px;border-right:1px solid var(--rule)}.admin_brand__8RH6p{font-family:var(--font-display);font-size:20px;padding:0 10px}.admin_nav__tazFV{display:flex;flex-direction:column;gap:2px}.admin_nav__tazFV a{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:4px;color:var(--ink-soft);text-decoration:none}.admin_nav__tazFV a:hover,.admin_nav__tazFV a[aria-current=page]{background:var(--paper-raised);color:var(--ink)}.admin_nav__tazFV a[aria-current=page]{font-weight:500}.admin_count__BekvO{min-width:20px;padding:0 6px;border-radius:10px;background:var(--lemon);color:#1c1b18;font-size:12px;text-align:center}.admin_sidebarFooter__JA4cs{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 10px;font-size:14px}.admin_sidebarFooter__JA4cs a,.admin_sidebarFooter__JA4cs button{color:var(--muted);background:none;border:none;padding:0;font:inherit;cursor:pointer;text-decoration:none}.admin_sidebarFooter__JA4cs a:hover,.admin_sidebarFooter__JA4cs button:hover{color:var(--ink)}.admin_content__buezr{padding:32px 40px 80px;max-width:860px;width:100%}.admin_pageHeader__WZSCN{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--rule)}.admin_pageHeader__WZSCN h1{font-family:var(--font-display);font-size:32px;font-weight:400;line-height:1.1}.admin_muted__gW8dh,.admin_pageHeader__WZSCN p{color:var(--muted);font-size:14px}.admin_pageHeader__WZSCN p{margin-top:4px}.admin_button__OztEu,.admin_primary__Ouk9O,.admin_rowActions__piJ6T a,.admin_rowActions__piJ6T button{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;border-radius:4px;font:inherit;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}.admin_primary__Ouk9O{border:none;background:var(--ink);color:var(--paper);font-weight:500}.admin_primary__Ouk9O:hover:not(:disabled){background:var(--ink-soft)}.admin_button__OztEu,.admin_rowActions__piJ6T a,.admin_rowActions__piJ6T button{border:1px solid var(--rule);background:var(--paper);color:var(--ink)}.admin_button__OztEu:hover,.admin_rowActions__piJ6T a:hover,.admin_rowActions__piJ6T button:hover:not(:disabled){border-color:var(--ink)}.admin_primary__Ouk9O:disabled,.admin_rowActions__piJ6T button:disabled{opacity:.45;cursor:default}.admin_rowActions__piJ6T .admin_danger__djhiH{color:#b3261e}:root[data-theme=dark] .admin_rowActions__piJ6T .admin_danger__djhiH{color:#f2968f}.admin_rows__GV8Vr{list-style:none}.admin_rows__GV8Vr>li{border-bottom:1px solid var(--rule)}.admin_rowOpen__h5J5O{background:color-mix(in srgb,var(--paper-raised) 50%,transparent)}.admin_row__gZng7{display:flex;align-items:center;gap:12px;padding:12px 8px}.admin_rowText__sbFV1{flex:1;min-width:0;display:flex;flex-direction:column}.admin_rowText__sbFV1 strong{font-weight:500}.admin_rowText__sbFV1 span{font-size:13px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.admin_rowActions__piJ6T{display:flex;flex-wrap:wrap;gap:6px}.admin_rowActions__piJ6T a,.admin_rowActions__piJ6T button{height:30px;padding:0 10px;font-size:13px}.admin_badge__Vddfe{font-family:var(--font-code);font-size:11px;padding:2px 6px;border:1px solid var(--rule);border-radius:3px;color:var(--muted)}.admin_editor__PcA9m{padding:16px 8px 20px}.admin_grid__Bxy0A{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.admin_field__34Klx{display:flex;flex-direction:column;gap:6px;min-width:0}.admin_wide__NlnLU{grid-column:1/-1}.admin_label__3Q3cT{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:500}.admin_hint__5UQWb{font-weight:400;color:var(--muted)}.admin_field__34Klx input:not([type=checkbox]),.admin_field__34Klx select,.admin_field__34Klx textarea,.admin_fileRow__cR9ji input{width:100%;padding:8px 10px;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:15px}.admin_field__34Klx textarea{resize:vertical;line-height:1.5}.admin_field__34Klx input:focus,.admin_field__34Klx select:focus,.admin_field__34Klx textarea:focus{outline:none;border-color:var(--ink)}.admin_check__Tbroj{flex-direction:row;align-items:center;gap:8px;font-size:14px;grid-column:1/-1}.admin_check__Tbroj input{width:16px;height:16px;accent-color:var(--ink)}.admin_fileRow__cR9ji{display:flex;align-items:center;gap:8px}.admin_fileRow__cR9ji .admin_button__OztEu{height:38px}.admin_preview__GNBBG{width:38px;height:38px;border-radius:4px;object-fit:cover;flex:none;background:var(--paper-raised)}.admin_translation__5nn6z{margin-top:24px;padding:16px 0 0;border:none;border-top:1px dashed var(--rule)}.admin_translation__5nn6z legend{display:flex;gap:12px;align-items:baseline;padding:0 0 12px;font-family:var(--font-display);font-size:18px}.admin_translation__5nn6z legend .admin_hint__5UQWb{font-family:var(--font-body);font-size:12px}.admin_translation__5nn6z input::placeholder,.admin_translation__5nn6z textarea::placeholder{color:var(--muted);opacity:.7}.admin_formFooter__OMsBZ{display:flex;gap:8px;margin-top:20px}.admin_error__TKT_F{color:#b3261e;font-size:13px}.admin_errorBanner__pN90U,.admin_notice__R87_T{padding:10px 14px;border-radius:4px;margin-bottom:16px;font-size:14px}.admin_errorBanner__pN90U{background:color-mix(in srgb,#b3261e 12%,var(--paper));color:#b3261e}.admin_notice__R87_T{background:color-mix(in srgb,var(--lemon) 35%,var(--paper));color:var(--ink)}:root[data-theme=dark] .admin_errorBanner__pN90U,:root[data-theme=dark] .admin_error__TKT_F{color:#f2968f}.admin_messages__LDoWn{list-style:none}.admin_messages__LDoWn>li{padding:16px 8px;border-bottom:1px solid var(--rule)}.admin_unread__NNmtP{box-shadow:inset 3px 0 0 var(--lemon)}.admin_messageHead__rBQ_7{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.admin_messageHead__rBQ_7 strong{font-weight:500}.admin_messageHead__rBQ_7 a{color:var(--ink-soft);font-size:14px}.admin_messageHead__rBQ_7 time{margin-left:auto;font-family:var(--font-code);font-size:12px;color:var(--muted)}.admin_messageBody__Ayfv6{margin:8px 0 12px;white-space:pre-wrap;color:var(--ink-soft)}.admin_loginPage__b6ajG{min-height:100vh;display:grid;place-items:center;padding:24px}.admin_loginCard__7UXN7{width:min(360px,100%);display:flex;flex-direction:column;gap:16px}.admin_loginCard__7UXN7 h1{font-family:var(--font-display);font-size:32px;font-weight:400}.admin_loginCard__7UXN7 .admin_primary__Ouk9O{height:40px}@media (max-width:760px){.admin_shell__nIi4o{grid-template-columns:1fr}.admin_sidebar__1BNSW{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;border-right:none;border-bottom:1px solid var(--rule)}.admin_brand__8RH6p{display:none}.admin_nav__tazFV{flex-direction:row;flex-wrap:wrap}.admin_sidebarFooter__JA4cs{margin:0 0 0 auto;flex-direction:row}.admin_content__buezr{padding:24px 16px 64px}.admin_grid__Bxy0A{grid-template-columns:1fr}.admin_row__gZng7{flex-wrap:wrap}}.admin_cvSlot__Ro_Xu{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--rule)}.admin_cvHead___WakA{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.admin_cvHead___WakA h2{font-family:var(--font-display);font-size:22px;font-weight:400}.admin_cvUpload__3i03c{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;margin-bottom:16px;border:1px dashed var(--rule);border-radius:6px}.admin_cvUpload__3i03c input[type=file]{font:inherit;font-size:14px;max-width:240px}.admin_cvUpload__3i03c input:not([type]){flex:1;min-width:180px;padding:8px 10px;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:14px}.admin_inlineCheck__W4Rgn{display:inline-flex;align-items:center;gap:6px;font-size:14px}.admin_inlineCheck__W4Rgn input{accent-color:var(--ink)}.admin_liveBadge__p6Z59{font-family:var(--font-code);font-size:11px;padding:2px 8px;border-radius:3px;background:var(--lemon);color:#1c1b18}