.decoder-text:after{content:"_";visibility:hidden}.decoder-text__glyph{opacity:.8;font-weight:var(--fontWeightRegular);font-family:var(--japaneseFontStack);line-height:0}.intro{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;outline:none}.intro__text{max-width:1024px;width:100%;position:relative;top:calc(var(--spaceL)*-1)}@media (max-width:2080px){.intro__text{max-width:920px}}@media (max-width:1680px){.intro__text{max-width:780px}}@media (max-width:696px){.intro__text{top:calc(var(--space3XL)*-1)}}@media (max-width:400px){.intro__text{top:calc(var(--spaceXL)*-1)}}@media (max-width:820px) and (max-height:420px){.intro__text{top:calc(var(--spaceM)*-1)}}.intro__name{text-transform:uppercase;font-size:1.5rem;letter-spacing:.3em;color:var(--colorTextBody);margin-bottom:var(--space2XL);margin-top:0;font-weight:var(--fontWeightMedium);line-height:1;opacity:0}@media (max-width:2080px){.intro__name{font-size:1.75rem;margin-bottom:var(--space2XL)}}@media (max-width:1024px){.intro__name{font-size:1.125rem;margin-bottom:var(--space2XL)}}@media (max-width:696px){.intro__name{margin-bottom:20px;letter-spacing:.2em;white-space:nowrap;overflow:hidden}}@media (max-width:820px) and (max-height:420px){.intro__name{margin-bottom:20px;margin-top:30px}}.intro__name--entered,.intro__name--entering{animation:fade-in var(--durationL) ease .2s forwards}.intro__title{display:flex;flex-direction:column;font-size:8.75rem;letter-spacing:-.005em}@media (max-width:2080px){.intro__title{font-size:7.5rem}}@media (max-width:1680px){.intro__title{font-size:6.25rem}}@media (max-width:860px){.intro__title{font-size:5rem}}@media (max-width:696px){.intro__title{font-size:3.5rem}}@media (max-width:400px){.intro__title{font-size:2.625rem}}.intro__title-row{display:flex;flex-direction:row;align-items:center;position:relative}.intro__title-row--hidden{opacity:0}@keyframes intro-text-reveal{0%{color:rgb(var(--rgbText)/0)}50%{color:rgb(var(--rgbText)/0)}60%{color:var(--colorTextTitle)}to{color:var(--colorTextTitle)}}@keyframes intro-text-reveal-mask{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}51%{transform:scaleX(1);transform-origin:right}to{transform:scaleX(0);transform-origin:right}}.intro__title-word{position:relative;display:flex;align-items:center;line-height:1;color:rgb(var(--rgbText)/0);transition:opacity .5s ease .4s}.intro__title-word,.intro__title-word:after{animation-duration:1.5s;animation-delay:var(--delay);animation-fill-mode:forwards;animation-timing-function:var(--bezierFastoutSlowin)}.intro__title-word:after{content:"";width:100%;height:100%;background:rgb(var(--rgbAccent));transform-origin:left;transform:scaleX(0);position:absolute;inset:0;z-index:1;will-change:transform}.intro__title-word--plus:before{content:"+";margin-right:10px;opacity:.4}.intro__title-word--entering{animation-name:intro-text-reveal}@media (prefers-reduced-motion:no-preference){.intro__title-word--entering:after{animation-name:intro-text-reveal-mask}}.intro__title-word--entered{color:var(--colorTextTitle)}.intro__title-word--entered:after{opacity:1;transform:scale3d(0,0,1);transform-origin:right}.intro__title-word--exiting{color:var(--colorTextTitle);opacity:0;position:absolute;top:0;z-index:0}@keyframes intro-line{0%{transform:scaleX(0);opacity:1}to{transform:scaleX(1);opacity:1}}.intro__title-line{content:"";height:2px;background:rgb(var(--rgbText)/.3);width:120%;display:flex;margin-left:20px;animation-duration:.8s;animation-delay:1s;animation-fill-mode:forwards;animation-timing-function:var(--bezierFastoutSlowin);transform-origin:left;opacity:0}.intro__title-line--entering{animation-name:fade-in}@media (prefers-reduced-motion:no-preference){.intro__title-line--entering{animation-name:intro-line}}.intro__title-line--entered{transform:scaleX(1);opacity:1}@keyframes intro-scroll-indicator{0%{transform:translate3d(-1px,0,0);opacity:0}20%{transform:translate3d(-1px,0,0);opacity:1}to{transform:translate3d(-1px,8px,0);opacity:0}}.intro__scroll-indicator{border:2px solid rgb(var(--rgbText)/.4);border-radius:20px;width:26px;height:38px;position:fixed;bottom:64px;transition-property:opacity;transition-duration:var(--durationL);transition-timing-function:ease;opacity:0}.intro__scroll-indicator:before{content:"";height:7px;width:2px;background:rgb(var(--rgbText)/.4);border-radius:4px;position:absolute;top:6px;left:50%;transform:translateX(-1px)}@media (prefers-reduced-motion:no-preference){.intro__scroll-indicator{transition-property:opacity,transform}.intro__scroll-indicator:before{animation:intro-scroll-indicator 2s ease infinite}}@media (max-width:820px) and (max-height:420px){.intro__scroll-indicator{display:none}}.intro__scroll-indicator--entered{opacity:1}.intro__scroll-indicator--hidden{opacity:0}@media (prefers-reduced-motion:no-preference){.intro__scroll-indicator--hidden{transform:translate3d(0,20px,0)}}@keyframes intro-mobile-scroll-indicator{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.intro__mobile-scroll-indicator{position:fixed;bottom:20px;opacity:0;animation-duration:1.5s;animation-iteration-count:infinite;transition-property:opacity;transition-timing-function:cubic-bezier(.8,.1,.27,1);transition-duration:var(--durationM)}@media (prefers-reduced-motion:no-preference){.intro__mobile-scroll-indicator{animation-name:intro-mobile-scroll-indicator;transition-property:opacity,transform;transform:translate3d(0,20px,0)}}@media (max-width:820px) and (max-height:420px){.intro__mobile-scroll-indicator{display:none}}.intro__mobile-scroll-indicator--entered{opacity:1}.intro__mobile-scroll-indicator--hidden{opacity:0;transform:none}.intro__mobile-scroll-indicator svg{stroke:rgb(var(--rgbText)/.5)}.divider{position:relative;width:var(--lineWidth);height:var(--lineHeight)}.divider__line{content:"";display:block;width:100%;height:100%;background-color:rgb(var(--rgbPrimary));opacity:1;transition-property:opacity;transition-duration:var(--durationL);transition-timing-function:var(--bezierFastoutSlowin);transition-delay:var(--collapseDelay);transform-origin:left center;transform:scaleX(1)}@media (prefers-reduced-motion:no-preference){.divider__line{transition-property:transform,opacity}}.divider__line--collapsed{opacity:0;transform:scaleX(0)}.divider__notch{content:"";background-color:rgb(var(--rgbPrimary));position:absolute;transition-property:opacity;transition-duration:var(--durationL);transition-timing-function:var(--bezierFastoutSlowin);transition-delay:var(--collapseDelay);opacity:1;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,10px 100%);width:var(--notchWidth);height:var(--notchHeight);top:var(--lineHeight)}@media (prefers-reduced-motion:no-preference){.divider__notch{transition-property:clip-path,opacity}}.divider__notch--collapsed{opacity:0;clip-path:polygon(0 0,0 0,10px 100%,10px 100%)}.profile{width:100vw;min-height:100vh;margin-top:60px;margin-bottom:40px;padding-top:60px;padding-bottom:40px;display:flex;justify-content:center}@media (max-width:1024px){.profile{padding-top:50px;padding-right:80px;padding-left:160px;height:auto;margin-top:40px;margin-bottom:20px}}@media (max-width:696px){.profile{margin-top:0;padding-top:90px;padding-left:25px;padding-right:25px;overflow-x:hidden}}@media (max-height:696px),(max-width:696px){.profile{padding-right:var(--spaceOuter);padding-left:var(--spaceOuter)}}@media (max-width:820px) and (max-height:420px){.profile{padding-right:var(--space4XL);padding-left:var(--space4XL)}}.profile__content{display:grid;grid-template-columns:1fr 50%;grid-column-gap:var(--space2XL);max-width:var(--maxWidthL);width:100%}@media (max-width:1024px){.profile__content{max-width:600px;grid-template-columns:100%}}.profile__column{position:relative;display:flex;flex-direction:column;align-items:flex-start;margin-bottom:40px;transform:translateZ(0)}.profile__title{white-space:nowrap;margin-bottom:var(--spaceL);opacity:0;transition:opacity var(--durationXL) ease var(--durationM)}.profile__title--entered{opacity:1}.profile__description{margin-bottom:var(--spaceXL);opacity:0;transition:opacity var(--durationXL) ease var(--durationL)}.profile__description--entered{opacity:1}.profile__tag{margin-top:65px;margin-bottom:40px;display:grid;grid-template-columns:var(--space4XL) 1fr;grid-gap:12px;gap:12px;align-items:center}@media (max-width:1024px){.profile__tag{margin-top:30px}}.profile__tag-text{font-size:var(--fontSizeBodyS);font-weight:var(--fontWeightMedium);color:rgb(var(--rgbPrimary));opacity:0;transition-property:opacity;transition-timing-function:var(--bezierFastoutSlowin);transition-duration:var(--durationM);transition-delay:1.3s}@media (prefers-reduced-motion:no-preference){.profile__tag-text{transition-property:opacity,transform;transform:translate3d(calc(var(--spaceM)*-1),0,0)}}.profile__tag-text--entered{transform:none;opacity:1}.profile__image-wrapper{position:relative;width:100%}.profile__svg{position:absolute;right:0;bottom:0;transform:translate3d(50%,-20%,0);height:100%;z-index:32;opacity:0;transition:opacity var(--durationM) ease var(--durationL);fill:var(--colorTextTitle)}.profile__svg--entered{opacity:1}.profile__button{opacity:0;transition:opacity var(--durationXL) ease var(--durationL)}.profile__button--entered{opacity:1}.skillsContainer{width:100%;margin-bottom:var(--spaceXL);margin-top:var(--spaceXL);opacity:0;transition:opacity var(--durationXL) ease var(--durationL)}.skillsContainer--entered{opacity:1}.skill{width:100%;margin-bottom:var(--spaceM)}.details{width:100%;display:flex;justify-content:space-between;margin-bottom:10px}.bar{background-color:rgb(var(--rgbBackgroundLight));padding:7px 10px;border-radius:20px;backdrop-filter:blur(10px)}.bar,.innerBar{position:relative}.innerBar{width:0;height:5px;border-radius:10px;background-color:rgb(var(--rgbPrimary));border:rgb(var(--rgbText));box-shadow:0 0 5px rgb(var(--rgbBackground));transition:width 2s ease-out var(--durationXL)}.ReactJsBar--entered{width:95%;opacity:1}.NextJSBar--entered{opacity:1;width:85%}.NodeJsBar--entered{opacity:1;width:80%}.JavaScriptBar--entered{opacity:1;width:90%}.ReactNativeBar--entered{opacity:1;width:80%}.FlutterBar--entered{opacity:1;width:75%}.TypeScriptBar--entered{opacity:1;width:90%}.details__content{max-width:var(--maxWidthL);width:100%}@media (max-width:1024px){.details__content{max-width:600px}}.timeline-item{border-top:2px dashed rgb(var(--rgbPrimary));margin:0;padding:2.5rem 2rem;position:relative}.timeline-item p{margin-bottom:0}.timeline-item:nth-child(2n){border-left:2px dashed rgb(var(--rgbPrimary));border-top-left-radius:2rem;border-bottom-left-radius:2rem;margin-right:2rem;padding-right:0}.timeline-item:nth-child(odd){border-right:2px dashed rgb(var(--rgbPrimary));border-top-right-radius:30px;border-bottom-right-radius:30px;margin-left:2rem;padding-left:0}.timeline-item:first-child{border-top:0;border-top-right-radius:0;border-top-left-radius:0}.timeline-item:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.number{position:absolute;top:50%;transform:translate(-50%,-50%);margin-bottom:0;background:rgb(var(--rgbPrimary));width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;color:rgb(var(--rgbText));font-weight:700}.number--light{color:rgb(var(--rgbBackground));background:rgb(var(--rgbText))}.timeline-item:nth-child(2n) .number{left:0}.timeline-item:nth-child(odd) .number{right:0;transform:translate(50%,-50%)}.timeline-item-color{color:var(--colorTextTitle)}.para-margin-top{margin-top:var(--spaceM)}.position-margin-top{margin-top:var(--spaceXS)}.model{position:relative;opacity:0}.model--loaded{animation:fade-in 1s ease forwards var(--delay)}.model__canvas{position:absolute;inset:0}.project-summary{height:100vh;width:100%;max-height:1080px;padding-bottom:var(--spaceL);margin:120px 0;position:relative;display:flex;align-items:center;justify-content:center;outline:none}@media (max-width:2080px){.project-summary{margin:40px 0}}@media (max-width:1024px){.project-summary{height:auto;margin:60px 0}}@media (max-width:696px){.project-summary{padding-bottom:var(--space4XL);margin-bottom:0}}.project-summary--first{margin-top:0}@media (max-width:1024px){.project-summary--first{margin-top:0}}.project-summary__content{width:100%;max-width:var(--maxWidthL);align-items:center;justify-content:center;display:grid;grid-template-columns:40% 1fr;grid-column-gap:var(--space2XL)}.project-summary--alternate .project-summary__content{grid-template-columns:1fr 40%}@media (max-width:1680px){.project-summary__content{.project-summary__content{grid-template-columns:1fr 1fr}}}@media (max-width:1024px){.project-summary--alternate .project-summary__content,.project-summary__content{grid-template-columns:100%}.project-summary__content{flex-direction:column-reverse;height:auto}}.project-summary__details{z-index:1;position:relative}@media (max-width:1024px){.project-summary__details{flex:0 0 auto;max-width:410px;grid-row:2;grid-column:1;justify-self:center}}.project-summary__preview{flex:0 1 auto;position:relative;display:flex;align-items:center;justify-self:center;justify-content:center;height:100%;width:100%}.project-summary__model{--width:180%;--aspectRatio:10/12;min-width:var(--width);padding-bottom:calc(var(--aspectRatio)*var(--width))}.project-summary__model--laptop{top:6%;left:14%}@media (max-width:2080px){.project-summary__model--laptop{--width:180%}}@media (max-width:1024px){.project-summary__model--laptop{--width:140%;top:10%;left:0}}.project-summary__model--phone{--width:116%;--aspectRatio:10/7;top:5%;left:-10%}@media (max-width:2080px){.project-summary__model--phone{--width:108%;left:0}}@media (max-width:1024px){.project-summary__model--phone{--width:108%;left:0}}.project-summary__svg{opacity:0;transition:opacity 1.2s ease 1.4s;fill:var(--colorTextTitle)}.project-summary__svg--entered{opacity:var(--opacity)}.project-summary__svg--laptop{position:absolute;width:100%;right:-36%;bottom:24%;transform:translateY(50%)}@media (max-width:1024px){.project-summary__svg--laptop{width:80%;right:-10%;bottom:18%}}@media (max-width:696px){.project-summary__svg--laptop{right:0}}.project-summary__svg--phone{position:absolute;bottom:23%;transform:translateY(50%);width:100%;transition-delay:.8s}@media (max-width:1024px){.project-summary__svg--phone{width:80%;bottom:23%}}.project-summary__index{position:relative;display:grid;grid-template-columns:90px 1fr;grid-gap:var(--spaceM);gap:var(--spaceM);align-items:center;margin-bottom:var(--spaceXL)}.project-summary__index-number{font-size:var(--fontSizeBodyS);font-weight:var(--fontWeightMedium);color:rgb(var(--rgbPrimary));opacity:0;transition-property:opacity;transition-timing-function:var(--bezierFastoutSlowin);transition-duration:var(--durationM);transition-delay:1.3s}@media (prefers-reduced-motion:no-preference){.project-summary__index-number{transition-property:transform,opacity;transform:translateX(calc(var(--spaceM)*-1))}}.project-summary__index-number--entered{transform:translateX(0);opacity:1}.project-summary__title{margin-bottom:var(--spaceL);transition-property:opacity;transition-timing-function:var(--bezierFastoutSlowin);transition-duration:var(--durationXL);transition-delay:var(--durationM);opacity:0}@media (prefers-reduced-motion:no-preference){.project-summary__title{transition-property:transform,opacity;transform:translate3d(0,var(--spaceL),0)}}.project-summary__title--entered{transform:none;opacity:1}.project-summary__description{margin-bottom:var(--spaceXL);transition-property:opacity;transition-timing-function:var(--bezierFastoutSlowin);transition-duration:var(--durationXL);transition-delay:var(--durationL);opacity:0}@media (prefers-reduced-motion:no-preference){.project-summary__description{transition-property:transform,opacity;transform:translate3d(0,var(--spaceL),0)}}.project-summary__description--entered{transform:none;opacity:1}.project-summary__button{transition-property:opacity;transition-timing-function:var(--bezierFastoutSlowin);transition-duration:var(--durationXL);transition-delay:var(--durationXL);transform:translate3d(0,var(--spaceL),0);opacity:0}@media (prefers-reduced-motion:no-preference){.project-summary__button{transition-property:transform,opacity;transform:translate3d(0,var(--spaceL),0)}}.project-summary__button--entered{transform:none;opacity:1}.home{overflow-x:hidden}
/*# sourceMappingURL=7.8f042cd5.chunk.css.map */