.Footer-module__S6Hkya__footer{border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-muted);padding-block:2rem 2.5rem}.Footer-module__S6Hkya__inner{flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;display:flex}.Footer-module__S6Hkya__colophon{max-width:40em}
.Header-module__hBw1pG__header{z-index:10;background:color-mix(in oklab, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.Header-module__hBw1pG__inner{height:var(--header-h);align-items:center;gap:2rem;display:flex}.Header-module__hBw1pG__name{letter-spacing:-.015em;white-space:nowrap;font-weight:600;text-decoration:none}.Header-module__hBw1pG__nav{font-size:var(--fs-sm);gap:1.6rem;margin-left:auto;display:flex}.Header-module__hBw1pG__nav a{color:var(--text-muted);text-decoration:none;transition:color .2s}.Header-module__hBw1pG__nav a:hover,.Header-module__hBw1pG__nav .Header-module__hBw1pG__navContact{color:var(--text)}.Header-module__hBw1pG__tools{align-items:center;gap:.5rem;display:flex}.Header-module__hBw1pG__lang{border:1px solid color-mix(in oklab, var(--accent) 80%, transparent);background:color-mix(in oklab, var(--accent) 14%, transparent);height:38px;color:var(--text);font-size:var(--fs-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:0 .9rem 0 .75rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-flex}.Header-module__hBw1pG__lang:hover{background:color-mix(in oklab, var(--accent) 28%, transparent)}.Header-module__hBw1pG__langIcon{width:17px;height:17px;color:var(--accent-strong)}.Header-module__hBw1pG__langShort{display:none}.Header-module__hBw1pG__theme{border:1px solid var(--line);width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:0;transition:border-color .2s;position:relative}.Header-module__hBw1pG__theme:hover{border-color:var(--text-muted)}.Header-module__hBw1pG__themeIcon{opacity:0;width:18px;height:18px;transition:opacity .18s, transform .25s var(--ease-out);margin:auto;position:absolute;inset:0;transform:scale(.6)rotate(-20deg)}:is([data-theme=light] .Header-module__hBw1pG__moon,[data-theme=dark] .Header-module__hBw1pG__sun){opacity:1;transform:none}.Header-module__hBw1pG__theme:hover .Header-module__hBw1pG__sun,.Header-module__hBw1pG__theme:hover .Header-module__hBw1pG__moon,.Header-module__hBw1pG__theme:focus-visible .Header-module__hBw1pG__sun,.Header-module__hBw1pG__theme:focus-visible .Header-module__hBw1pG__moon{opacity:0;transform:scale(.6)rotate(20deg)}:is([data-theme=light] .Header-module__hBw1pG__theme:hover .Header-module__hBw1pG__bulbOn,[data-theme=light] .Header-module__hBw1pG__theme:focus-visible .Header-module__hBw1pG__bulbOn,[data-theme=dark] .Header-module__hBw1pG__theme:hover .Header-module__hBw1pG__bulbOff,[data-theme=dark] .Header-module__hBw1pG__theme:focus-visible .Header-module__hBw1pG__bulbOff){opacity:1;transform:none}.Header-module__hBw1pG__bulbOn{color:var(--accent-strong)}.Header-module__hBw1pG__menu{display:none;position:relative}.Header-module__hBw1pG__menuButton{place-items:center;display:grid}.Header-module__hBw1pG__burger,.Header-module__hBw1pG__burger:before,.Header-module__hBw1pG__burger:after{width:16px;height:1.8px;transition:transform .25s var(--ease-out), background-color .15s;background:currentColor;border-radius:1px;display:block}.Header-module__hBw1pG__burger{position:relative}.Header-module__hBw1pG__burger:before,.Header-module__hBw1pG__burger:after{content:"";position:absolute;left:0}.Header-module__hBw1pG__burger:before{top:-5px}.Header-module__hBw1pG__burger:after{top:5px}.Header-module__hBw1pG__menuOpen .Header-module__hBw1pG__burger{background:0 0}.Header-module__hBw1pG__menuOpen .Header-module__hBw1pG__burger:before{transform:translateY(5px)rotate(45deg)}.Header-module__hBw1pG__menuOpen .Header-module__hBw1pG__burger:after{transform:translateY(-5px)rotate(-45deg)}.Header-module__hBw1pG__menuPanel{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--bg-raised);min-width:220px;box-shadow:0 12px 32px -12px color-mix(in oklab, var(--text) 30%, transparent);opacity:0;visibility:hidden;transition:opacity .2s, transform .2s var(--ease-out), visibility .2s;padding:.5rem;display:grid;position:absolute;top:calc(100% + 12px);right:0;transform:translateY(-6px)}.Header-module__hBw1pG__menuPanelOpen{opacity:1;visibility:visible;transform:none}.Header-module__hBw1pG__menuPanel a{border-radius:var(--radius-s);color:var(--text);padding:.7rem .85rem;text-decoration:none}.Header-module__hBw1pG__menuPanel a:hover,.Header-module__hBw1pG__menuPanel a:focus-visible{background:color-mix(in oklab, var(--accent) 16%, transparent)}@media (max-width:1080px){.Header-module__hBw1pG__nav{display:none}.Header-module__hBw1pG__menu{display:block}.Header-module__hBw1pG__tools{margin-left:auto}}@media (max-width:420px){.Header-module__hBw1pG__inner{gap:1rem}.Header-module__hBw1pG__langFull{display:none}.Header-module__hBw1pG__langShort{display:inline}}
.Logo-module__wacNiq__logo{letter-spacing:-.02em;white-space:nowrap;align-items:baseline;font-weight:650;display:inline-flex}.Logo-module__wacNiq__x{color:var(--accent-strong);display:inline-block}.Logo-module__wacNiq__braces .Logo-module__wacNiq__brace{color:var(--text-muted);font-family:var(--font-mono);transition:transform .3s var(--ease-out);font-weight:400}.Logo-module__wacNiq__braces .Logo-module__wacNiq__brace:first-child{margin-right:.05em}a:hover .Logo-module__wacNiq__braces .Logo-module__wacNiq__brace:first-of-type{transform:translate(-.15em)}a:hover .Logo-module__wacNiq__braces .Logo-module__wacNiq__brace:last-of-type{transform:translate(.15em)}.Logo-module__wacNiq__spin .Logo-module__wacNiq__x{transition:transform .5s var(--ease-out)}a:hover .Logo-module__wacNiq__spin .Logo-module__wacNiq__x{transform:rotate(45deg)}a:hover .Logo-module__wacNiq__spin .Logo-module__wacNiq__x+.Logo-module__wacNiq__x{transform:rotate(-45deg)}.Logo-module__wacNiq__xyxar{font-family:var(--font-mono);letter-spacing:0;font-weight:600}.Logo-module__wacNiq__cursor{background:var(--accent);align-self:center;width:.5em;height:1.05em;margin-left:.15em;animation:1.1s step-end infinite Logo-module__wacNiq__blink}@keyframes Logo-module__wacNiq__blink{50%{opacity:0}}.Logo-module__wacNiq__hand{font-family:var(--font-hand);letter-spacing:0;font-size:1.45em;font-weight:400;line-height:1}.Logo-module__wacNiq__hand .Logo-module__wacNiq__x{transform:rotate(-8deg)scale(1.15)}
.ResumeButton-module__u5FqSq__wrap{display:inline-flex;position:relative}.ResumeButton-module__u5FqSq__tip{z-index:30;border-radius:var(--radius-s);background:var(--text);width:max-content;max-width:220px;color:var(--bg);font-size:var(--fs-sm);pointer-events:none;opacity:0;transition:opacity .2s, transform .2s var(--ease-out);padding:.45rem .7rem;line-height:1.35;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px)}.ResumeButton-module__u5FqSq__tip:empty{padding:0}.ResumeButton-module__u5FqSq__open{opacity:1;transform:translate(-50%)}@media (max-width:600px){.ResumeButton-module__u5FqSq__compact{justify-content:center;width:38px;padding:0}.ResumeButton-module__u5FqSq__compact .ResumeButton-module__u5FqSq__label{display:none}}
.Mascot-module__-e_S3W__wrap{z-index:15;animation:Mascot-module__-e_S3W__arrive .5s var(--ease-out) 1.4s both;position:fixed;bottom:20px;right:20px}.Mascot-module__-e_S3W__mascot{border:1px solid var(--line);background:var(--bg-raised);cursor:pointer;border-radius:24px;width:104px;height:104px;padding:0;display:block;overflow:hidden;box-shadow:0 10px 24px -14px #3b2a268c}.Mascot-module__-e_S3W__frame{width:100%;height:100%;animation:Mascot-module__-e_S3W__swap .22s var(--ease-out);display:block}.Mascot-module__-e_S3W__frame svg,.Mascot-module__-e_S3W__photo{object-fit:cover;width:100%;height:100%;display:block}.Mascot-module__-e_S3W__sign{z-index:1;color:#3b2a26;font-family:var(--font-hand);white-space:nowrap;transform-origin:100% 100%;pointer-events:none;animation:Mascot-module__-e_S3W__raise .35s var(--ease-out);background:#ead2b4;border:2px solid #866554;border-radius:6px;padding:.35rem .8rem .45rem;font-size:1.45rem;line-height:1;position:absolute;bottom:10px;right:34px;transform:rotate(-5deg)}.Mascot-module__-e_S3W__leaving .Mascot-module__-e_S3W__mascot{animation:1.1s ease-in forwards Mascot-module__-e_S3W__vanish}@keyframes Mascot-module__-e_S3W__arrive{0%{opacity:0;transform:translateY(16px)scale(.9)}}@keyframes Mascot-module__-e_S3W__swap{0%{transform:scale(.96)}}@keyframes Mascot-module__-e_S3W__raise{0%{opacity:0;transform:rotate(-5deg)translateY(14px)}}@keyframes Mascot-module__-e_S3W__vanish{40%{filter:brightness(.55)}to{opacity:0;filter:brightness(.15)blur(1.5px);transform:translateY(4px)scale(.94)}}
.Section-module__A23O5q__section{padding-block:clamp(4rem,3rem + 5vw,7rem)}.Section-module__A23O5q__divider{border-top:1px solid var(--line)}.Section-module__A23O5q__title{font-size:var(--fs-xl);letter-spacing:-.025em;text-wrap:balance;font-weight:600;line-height:1.1}.Section-module__A23O5q__stack .Section-module__A23O5q__head{margin-bottom:clamp(2rem,1.5rem + 2vw,3rem)}.Section-module__A23O5q__split{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,3rem);display:grid}.Section-module__A23O5q__split .Section-module__A23O5q__head{top:calc(var(--header-h) + 2rem);grid-column:1/span 4;align-self:start;position:sticky}.Section-module__A23O5q__split .Section-module__A23O5q__body{grid-column:5/-1}@media (max-width:860px){.Section-module__A23O5q__split{display:block}.Section-module__A23O5q__split .Section-module__A23O5q__head{margin-bottom:2rem;position:static}}
.About-module__RHteCa__photo{aspect-ratio:4/5;border:1px dashed var(--line);border-radius:var(--radius-l);background:var(--bg-raised);text-align:center;width:min(100%,260px);font-size:var(--fs-sm);place-items:center;margin-top:2rem;padding:1.25rem;display:grid;position:relative;overflow:hidden}.About-module__RHteCa__photo img{object-fit:cover}.About-module__RHteCa__text{max-width:38em;font-size:var(--fs-md);gap:1.1em;line-height:1.55;display:grid}.About-module__RHteCa__principles{margin-top:clamp(2.5rem,2rem + 2vw,3.5rem)}.About-module__RHteCa__principle{border-top:1px solid var(--line);padding-block:1.5rem}.About-module__RHteCa__principle dt{max-width:26em;font-size:var(--fs-lg);letter-spacing:-.015em;text-wrap:balance;font-weight:550;line-height:1.25}.About-module__RHteCa__principle q{quotes:auto}.About-module__RHteCa__principle dd{max-width:40em;color:var(--text-muted);margin-top:.6rem}@media (max-width:860px){.About-module__RHteCa__photo{width:min(100%,220px);margin-top:1.5rem}}
.HandNote-module__nECOxW__note{max-width:22rem;font-family:var(--font-hand);color:var(--accent-strong);transform-origin:0;align-items:flex-start;gap:.35rem;font-size:2.1rem;line-height:1.05;display:flex;transform:rotate(-3deg)}.HandNote-module__nECOxW__text{padding-top:.9rem}.HandNote-module__nECOxW__arrow{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:64px;height:40px}.HandNote-module__nECOxW__left .HandNote-module__nECOxW__arrow{transform:rotate(-28deg)}.HandNote-module__nECOxW__down-left .HandNote-module__nECOxW__arrow{transform:scaleY(-1)}.HandNote-module__nECOxW__down-left .HandNote-module__nECOxW__text{padding-top:0}.HandNote-module__nECOxW__down-right{flex-direction:row-reverse;justify-content:flex-end}.HandNote-module__nECOxW__down-right .HandNote-module__nECOxW__arrow{margin-top:1.1em;transform:scale(-1)}.HandNote-module__nECOxW__down-right .HandNote-module__nECOxW__text{padding-top:0}.HandNote-module__nECOxW__animated .HandNote-module__nECOxW__arrow path{stroke-dasharray:1;stroke-dashoffset:1px;animation:HandNote-module__nECOxW__draw .7s var(--ease-out) .65s forwards}.HandNote-module__nECOxW__animated .HandNote-module__nECOxW__arrow path+path{animation-duration:.3s;animation-delay:1.2s}.HandNote-module__nECOxW__animated .HandNote-module__nECOxW__text{animation:.6s .9s both HandNote-module__nECOxW__appear}@keyframes HandNote-module__nECOxW__draw{to{stroke-dashoffset:0}}@keyframes HandNote-module__nECOxW__appear{0%{opacity:0;transform:translateY(4px)}}
.Tech-module__093z6W__list{flex-wrap:wrap;gap:.45rem;display:flex}.Tech-module__093z6W__badge{border:1px solid var(--chip-line);border-radius:var(--radius-s);background:var(--chip);color:var(--text);align-items:center;gap:.42rem;padding:.34rem .65rem .34rem .55rem;font-size:.875rem;font-weight:500;line-height:1.25;transition:border-color .2s;display:inline-flex}.Tech-module__093z6W__badge:hover{border-color:color-mix(in oklab, var(--brand,var(--accent)) 55%, var(--chip-line))}.Tech-module__093z6W__logo,.Tech-module__093z6W__fallback{flex:none;width:15px;height:15px;transition:fill .2s,stroke .2s}.Tech-module__093z6W__logo{fill:var(--text-muted)}.Tech-module__093z6W__badge:hover .Tech-module__093z6W__logo{fill:var(--brand,var(--accent-strong))}.Tech-module__093z6W__fallback{color:var(--text-muted)}.Tech-module__093z6W__dashed .Tech-module__093z6W__badge{border-style:dashed;border-color:color-mix(in oklab, var(--accent-strong) 55%, var(--chip-line));background:0 0}.Tech-module__093z6W__sm .Tech-module__093z6W__badge{padding:.26rem .55rem .26rem .45rem;font-size:.8125rem}.Tech-module__093z6W__sm .Tech-module__093z6W__logo,.Tech-module__093z6W__sm .Tech-module__093z6W__fallback{width:13px;height:13px}.Tech-module__093z6W__badge .todo{font-weight:400}
.Contact-module__DIbnYa__headline{letter-spacing:-.03em;text-wrap:balance;max-width:18ch;font-size:clamp(2.25rem,1.4rem + 3.6vw,4.25rem);font-weight:650;line-height:1.05}.Contact-module__DIbnYa__text{max-width:36em;font-size:var(--fs-md);color:var(--text-muted);margin-top:1.5rem;line-height:1.55}.Contact-module__DIbnYa__row{flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:clamp(2rem,1.5rem + 2vw,3rem);display:flex}.Contact-module__DIbnYa__links{flex-wrap:wrap;gap:.75rem;display:flex}.Contact-module__DIbnYa__links a{overflow-wrap:anywhere;max-width:100%}.Contact-module__DIbnYa__note{font-size:1.6rem}
.Faq-module__KRU6Oa__group+.Faq-module__KRU6Oa__group{margin-top:clamp(2.5rem,2rem + 2vw,3.5rem)}.Faq-module__KRU6Oa__groupTitle{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:.75rem;font-weight:600}.Faq-module__KRU6Oa__item{border-top:1px solid var(--line)}.Faq-module__KRU6Oa__item:last-child{border-bottom:1px solid var(--line)}.Faq-module__KRU6Oa__item::details-content{block-size:0;transition:block-size .3s var(--ease-out), content-visibility .3s allow-discrete;overflow:clip}.Faq-module__KRU6Oa__item[open]::details-content{block-size:auto}.Faq-module__KRU6Oa__q{font-size:var(--fs-md);letter-spacing:-.01em;cursor:pointer;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-block:1.15rem;font-weight:500;line-height:1.35;list-style:none;display:flex}.Faq-module__KRU6Oa__q::-webkit-details-marker{display:none}.Faq-module__KRU6Oa__icon{width:14px;height:14px;transition:transform .25s var(--ease-out);flex:none;margin-top:.45em;position:relative}.Faq-module__KRU6Oa__icon:before,.Faq-module__KRU6Oa__icon:after{content:"";background:var(--accent-strong);border-radius:1px;height:2px;position:absolute;inset:6px 0 auto}.Faq-module__KRU6Oa__icon:after{transform:rotate(90deg)}.Faq-module__KRU6Oa__item[open] .Faq-module__KRU6Oa__icon{transform:rotate(45deg)}.Faq-module__KRU6Oa__a{max-width:40em;color:var(--text-muted);padding-bottom:1.4rem}.Faq-module__KRU6Oa__minor .Faq-module__KRU6Oa__q{font-size:var(--fs-base)}
.Landscape-module__uQOK1W__landscape{height:clamp(250px,36vw,500px);margin-top:auto;position:relative}.Landscape-module__uQOK1W__svg{width:100%;height:100%;display:block}.Landscape-module__uQOK1W__stars{fill:var(--text);opacity:calc(var(--stars) * .55);transition:opacity .4s}.Landscape-module__uQOK1W__sun,.Landscape-module__uQOK1W__moon{transition:opacity .4s}.Landscape-module__uQOK1W__moon{opacity:0}[data-theme=dark] .Landscape-module__uQOK1W__sun{opacity:0}[data-theme=dark] .Landscape-module__uQOK1W__moon{opacity:1}.Landscape-module__uQOK1W__clouds{fill:var(--cloud)}.Landscape-module__uQOK1W__birds,.Landscape-module__uQOK1W__tower,.Landscape-module__uQOK1W__wires,.Landscape-module__uQOK1W__branches{fill:none;stroke-linecap:round;stroke-linejoin:round}.Landscape-module__uQOK1W__birds{stroke:var(--ink);stroke-width:2px}.Landscape-module__uQOK1W__tower{stroke:var(--ink);stroke-width:2.5px}.Landscape-module__uQOK1W__waves{stroke:var(--ink-soft);stroke-width:2.5px}.Landscape-module__uQOK1W__led{fill:var(--led);stroke:none}:is([data-theme=dark] .Landscape-module__uQOK1W__led,[data-theme=dark] .Landscape-module__uQOK1W__screen){filter:drop-shadow(0 0 4px var(--led))}.Landscape-module__uQOK1W__wires{stroke:var(--ink);stroke-width:3px}.Landscape-module__uQOK1W__cable{stroke-width:1.6px}.Landscape-module__uQOK1W__branches{stroke:var(--ink-strong);stroke-width:4px}.Landscape-module__uQOK1W__branches path:first-child{stroke-width:7px}.Landscape-module__uQOK1W__commits{fill:var(--led);stroke:var(--ink-strong);stroke-width:3px}.Landscape-module__uQOK1W__person{fill:var(--ink-strong);stroke-linecap:round;stroke-linejoin:round}.Landscape-module__uQOK1W__limb,.Landscape-module__uQOK1W__arm,.Landscape-module__uQOK1W__laptopBase,.Landscape-module__uQOK1W__screen{fill:none}.Landscape-module__uQOK1W__limb{stroke:var(--ink-strong);stroke-width:7px}.Landscape-module__uQOK1W__arm{stroke:var(--ink-strong);stroke-width:5px}.Landscape-module__uQOK1W__laptopBase{stroke:var(--ink);stroke-width:3.5px}.Landscape-module__uQOK1W__screen{stroke:var(--led);stroke-width:3.5px}.Landscape-module__uQOK1W__svg .Landscape-module__uQOK1W__note{max-width:none;font-size:30px}
.Hero-module___w2HtG__hero{min-height:calc(100svh - var(--header-h));flex-direction:column;padding-top:clamp(2rem,1rem + 3vw,3.5rem);display:flex;overflow:clip}.Hero-module___w2HtG__content{z-index:1;padding-bottom:1.5rem;position:relative}.Hero-module___w2HtG__meta{font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-bottom:clamp(2rem,1rem + 3.5vw,4rem);display:flex}.Hero-module___w2HtG__status{color:var(--text);align-items:flex-start;gap:.65rem;display:inline-flex}.Hero-module___w2HtG__network{width:1.6em;height:1.6em;color:var(--text-muted);place-items:center;margin-top:-.15em;transition:color .2s;display:inline-grid}.Hero-module___w2HtG__network:first-of-type{margin-left:-.3rem}.Hero-module___w2HtG__network:hover,.Hero-module___w2HtG__network:focus-visible{color:var(--accent)}.Hero-module___w2HtG__network svg{width:1.1em;height:1.1em}.Hero-module___w2HtG__dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 30%, transparent);border-radius:50%;flex:none;margin-top:.45em}.Hero-module___w2HtG__headline{max-width:15ch;font-size:var(--fs-display);letter-spacing:-.035em;text-wrap:balance;animation:Hero-module___w2HtG__rise .8s var(--ease-out) both;font-weight:650;line-height:1}.Hero-module___w2HtG__lead{max-width:34em;font-size:var(--fs-md);color:var(--text-muted);animation:Hero-module___w2HtG__rise .8s var(--ease-out) .12s both;margin-top:clamp(1.5rem,1rem + 2vw,2.25rem);line-height:1.5}.Hero-module___w2HtG__actions{animation:Hero-module___w2HtG__rise .8s var(--ease-out) .2s both;flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.75rem,1.25rem + 1.5vw,2.5rem);display:flex}@keyframes Hero-module___w2HtG__rise{0%{opacity:0;transform:translateY(14px)}}
.Mode-module__pg0dkq__switch{border:1px solid var(--line);background:var(--bg-sunken);border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:inline-grid;position:relative}.Mode-module__pg0dkq__switch button{z-index:1;min-height:38px;color:var(--text-muted);font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 1rem;font-weight:600;transition:color .2s;position:relative}.Mode-module__pg0dkq__switch button[aria-pressed=true]{color:var(--accent-ink)}.Mode-module__pg0dkq__thumb{background:var(--accent);width:calc(50% - 4px);transition:transform .3s var(--ease-out);border-radius:9px;position:absolute;top:4px;bottom:4px;left:4px}.Mode-module__pg0dkq__thumb[data-mode=tech]{transform:translate(100%)}.Mode-module__pg0dkq__typed{max-width:40em;font-size:var(--fs-md);gap:1em;line-height:1.55;display:grid}.Mode-module__pg0dkq__paragraph{display:grid}.Mode-module__pg0dkq__ghost,.Mode-module__pg0dkq__live{grid-area:1/1}.Mode-module__pg0dkq__ghost{visibility:hidden}.Mode-module__pg0dkq__caret{vertical-align:-.15em;background:var(--accent-strong);width:.5em;height:1.05em;margin-left:.08em;animation:.8s step-end infinite Mode-module__pg0dkq__blink;display:inline-block}@keyframes Mode-module__pg0dkq__blink{50%{opacity:0}}.Mode-module__pg0dkq__tech{font-family:var(--font-mono), monospace;font-size:1rem;line-height:1.7}
.Projects-module__tl4Q0a__intro{max-width:38em;font-size:var(--fs-md);color:var(--text-muted);margin-bottom:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.55}.Projects-module__tl4Q0a__carousel{flex-direction:column;gap:.75rem;display:flex}.Projects-module__tl4Q0a__slide{border:1px solid var(--line);border-radius:var(--radius-l);transition:background-color .5s var(--ease-out), border-color .3s;position:relative;overflow:hidden}.Projects-module__tl4Q0a__slide.Projects-module__tl4Q0a__open{background:var(--bg-raised)}.Projects-module__tl4Q0a__slide:not(.Projects-module__tl4Q0a__open):hover{border-color:color-mix(in oklab, var(--accent) 60%, var(--line))}.Projects-module__tl4Q0a__slideHead{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:4rem minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:.25rem clamp(1rem,2.5vw,2rem);padding:1.1rem clamp(1.25rem,1rem + 1.5vw,2.25rem);display:grid}.Projects-module__tl4Q0a__slideHead:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-4px;border-radius:var(--radius-l)}.Projects-module__tl4Q0a__year{color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.Projects-module__tl4Q0a__slideName{font-size:var(--fs-md);letter-spacing:-.015em;transition:font-size .5s var(--ease-out);font-weight:600;line-height:1.2}.Projects-module__tl4Q0a__open .Projects-module__tl4Q0a__slideName{font-size:var(--fs-xl);letter-spacing:-.03em;font-weight:650;line-height:1.05}.Projects-module__tl4Q0a__kind{color:var(--text-muted);font-size:var(--fs-sm);text-align:right;justify-self:end;font-weight:500;transition:color .5s}.Projects-module__tl4Q0a__open .Projects-module__tl4Q0a__kind{color:var(--accent-strong)}.Projects-module__tl4Q0a__progress{background:var(--accent);transform-origin:0;width:100%;height:3px;animation-name:Projects-module__tl4Q0a__progress;animation-timing-function:linear;animation-fill-mode:both;position:absolute;top:0;left:0}@keyframes Projects-module__tl4Q0a__progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.Projects-module__tl4Q0a__slideBody{transition:grid-template-rows .6s var(--ease-out);grid-template-rows:0fr;display:grid}.Projects-module__tl4Q0a__open .Projects-module__tl4Q0a__slideBody{grid-template-rows:1fr}.Projects-module__tl4Q0a__slideInner{opacity:0;min-height:0;transition:opacity .3s;overflow:hidden}.Projects-module__tl4Q0a__open .Projects-module__tl4Q0a__slideInner{opacity:1;transition:opacity .4s .15s}.Projects-module__tl4Q0a__featured{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,3vw,3rem);padding:.25rem clamp(1.25rem,1rem + 1.5vw,2.25rem) clamp(1.25rem,1rem + 1.5vw,2.25rem);display:grid}.Projects-module__tl4Q0a__featured.Projects-module__tl4Q0a__noShot{grid-template-columns:minmax(0,1fr);max-width:52em}.Projects-module__tl4Q0a__featuredText{flex-direction:column;gap:1.1rem;display:flex}.Projects-module__tl4Q0a__summary{font-size:var(--fs-md);line-height:1.5}.Projects-module__tl4Q0a__links{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;display:flex}.Projects-module__tl4Q0a__featuredText .Projects-module__tl4Q0a__links{margin-top:auto;padding-top:.5rem}.Projects-module__tl4Q0a__link{white-space:nowrap;border-bottom:1px solid var(--line);align-items:center;gap:.3rem;font-weight:500;text-decoration:none;transition:border-color .2s;display:inline-flex}.Projects-module__tl4Q0a__link:hover{border-color:var(--accent)}.Projects-module__tl4Q0a__link svg{width:16px;height:16px}.Projects-module__tl4Q0a__shot{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--bg-sunken);min-height:260px;position:relative;overflow:hidden}.Projects-module__tl4Q0a__shot img{object-fit:cover;object-position:top}.Projects-module__tl4Q0a__footer{flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:clamp(2rem,1.5rem + 2vw,3rem);display:flex}@media (max-width:860px){.Projects-module__tl4Q0a__featured{grid-template-columns:minmax(0,1fr)}.Projects-module__tl4Q0a__shot{order:-1;min-height:0}.Projects-module__tl4Q0a__slideHead{grid-template-columns:minmax(0,1fr) auto}.Projects-module__tl4Q0a__slideHead .Projects-module__tl4Q0a__year{grid-area:1/2}.Projects-module__tl4Q0a__kind{text-align:left;grid-column:1/-1;justify-self:start}}
.ProjectsPage-module__5ibEvW__intro{padding-block:clamp(2rem,1.5rem + 2vw,3rem)}.ProjectsPage-module__5ibEvW__back{color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:.25rem;margin-left:-.3rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.ProjectsPage-module__5ibEvW__back:hover{color:var(--text)}.ProjectsPage-module__5ibEvW__back svg{width:18px;height:18px}.ProjectsPage-module__5ibEvW__title{letter-spacing:-.035em;margin-top:1.25rem;font-size:clamp(2.5rem,1.6rem + 3.6vw,4.5rem);font-weight:650;line-height:1}.ProjectsPage-module__5ibEvW__lead{flex-wrap:wrap;align-items:flex-end;gap:1rem 3rem;margin-top:1.5rem;display:flex}.ProjectsPage-module__5ibEvW__lead p{max-width:36em;font-size:var(--fs-md);color:var(--text-muted);line-height:1.55}.ProjectsPage-module__5ibEvW__toolbar{top:var(--header-h);z-index:5;border-block:1px solid var(--line);background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);position:sticky}.ProjectsPage-module__5ibEvW__toolbarInner{align-items:center;gap:1rem 2rem;min-height:64px;display:flex}.ProjectsPage-module__5ibEvW__index{scrollbar-width:none;font-size:var(--fs-sm);gap:1.25rem;margin-left:auto;display:flex;overflow-x:auto}.ProjectsPage-module__5ibEvW__index a{color:var(--text-muted);white-space:nowrap;text-decoration:none;transition:color .2s}.ProjectsPage-module__5ibEvW__index a:hover{color:var(--text)}.ProjectsPage-module__5ibEvW__article{scroll-margin-top:calc(var(--header-h) + 64px);padding-block:clamp(3rem,2.5rem + 3vw,5rem)}.ProjectsPage-module__5ibEvW__article+.ProjectsPage-module__5ibEvW__article{border-top:1px solid var(--line)}.ProjectsPage-module__5ibEvW__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;display:flex}.ProjectsPage-module__5ibEvW__name{font-size:var(--fs-xl);letter-spacing:-.03em;font-weight:650;line-height:1.05}.ProjectsPage-module__5ibEvW__kind{color:var(--accent-strong);font-size:var(--fs-sm);margin-top:.4rem;font-weight:500}.ProjectsPage-module__5ibEvW__meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ProjectsPage-module__5ibEvW__year{color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin-right:.5rem}.ProjectsPage-module__5ibEvW__body{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:2rem clamp(2rem,4vw,4rem);margin-top:clamp(1.5rem,1rem + 1.5vw,2.25rem);display:grid}.ProjectsPage-module__5ibEvW__stackTitle{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:.85rem;font-weight:600}.ProjectsPage-module__5ibEvW__gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:start;gap:1.5rem;margin-top:clamp(2rem,1.5rem + 2vw,3rem);display:grid}.ProjectsPage-module__5ibEvW__shot{gap:.6rem;display:grid}.ProjectsPage-module__5ibEvW__imageLink,.ProjectsPage-module__5ibEvW__placeholder{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--bg-sunken);display:block;overflow:hidden}.ProjectsPage-module__5ibEvW__imageLink{width:fit-content;max-width:100%}.ProjectsPage-module__5ibEvW__imageLink img{width:auto;max-width:100%;height:auto;max-height:min(80svh,720px);display:block}.ProjectsPage-module__5ibEvW__placeholder{aspect-ratio:16/10;font-size:var(--fs-sm);text-align:center;border-style:dashed;place-items:center;padding:1rem;display:grid}.ProjectsPage-module__5ibEvW__caption{color:var(--text-muted);font-size:var(--fs-sm)}@media (max-width:860px){.ProjectsPage-module__5ibEvW__body{grid-template-columns:minmax(0,1fr)}.ProjectsPage-module__5ibEvW__toolbarInner{flex-wrap:wrap;padding-block:.75rem}.ProjectsPage-module__5ibEvW__index{width:100%;margin-left:0}}.ProjectsPage-module__5ibEvW__outro{max-width:38em;color:var(--text-muted);font-size:var(--fs-md);padding-block:clamp(2.5rem,2rem + 2vw,4rem);line-height:1.55}
.Roadmap-module__G0WTGa__intro{max-width:38em;font-size:var(--fs-md);color:var(--text-muted);margin-bottom:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.55}.Roadmap-module__G0WTGa__milestone{border-top:1px solid var(--line);grid-template-columns:6.5rem minmax(0,1fr);gap:1.5rem;padding-block:1.5rem;display:grid}.Roadmap-module__G0WTGa__year{font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.Roadmap-module__G0WTGa__items{gap:1.25rem;display:grid}.Roadmap-module__G0WTGa__itemTitle{font-size:var(--fs-md);letter-spacing:-.015em;font-weight:600;line-height:1.3}.Roadmap-module__G0WTGa__itemText{color:var(--text-muted);margin-top:.3rem}.Roadmap-module__G0WTGa__note{margin-top:-.25rem;font-size:1.85rem}.Roadmap-module__G0WTGa__next{border-top-style:dashed}.Roadmap-module__G0WTGa__next .Roadmap-module__G0WTGa__year{color:var(--accent-strong)}.Roadmap-module__G0WTGa__next .Roadmap-module__G0WTGa__items{gap:.6rem}.Roadmap-module__G0WTGa__next .Roadmap-module__G0WTGa__itemText{margin:0}.Roadmap-module__G0WTGa__skills{gap:1.75rem;margin-top:clamp(3rem,2.5rem + 2vw,4.5rem);display:grid}.Roadmap-module__G0WTGa__skillsTitle{font-size:var(--fs-lg);letter-spacing:-.02em;font-weight:600}.Roadmap-module__G0WTGa__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2rem;display:grid}.Roadmap-module__G0WTGa__groupTitle{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:.85rem;font-weight:600}@media (max-width:1100px){.Roadmap-module__G0WTGa__pair{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.Roadmap-module__G0WTGa__milestone{grid-template-columns:minmax(0,1fr);gap:.75rem}}
