@import url(https://fonts.googleapis.com/css2?family=Noto+Sans:wght@200;300;400;500;600;700;800;900&display=swap);:root{--first-color:#ff4d61;--title-color:#090085;--text-color:#5e5c7f;--body-color:#f9f7fd;--container-color:#fff;--border-color:rgba(0,0,0,.05);--body-font:"Noto Sans",san-serif;--h1-font-size:2.25rem;--h2-font-size:1.5rem;--h3-font-size:1.25rem;--normal-font-size:1rem;--small-font-size:0.875rem;--smaller-font-size:0.813rem;--font-medium:500;--font-semibold:600;--font-bold:700;--shadow:0px 5px 20px 0px rgba(69,67,96,.1);--border-radius:20px}[data-theme=dark]{--first-color:#ff4d61;--title-color:#a7aeb9;--text-color:#fff;--body-color:#202020;--container-color:#383838;--shadow:0px 5px 20px 0px rgba(0,0,0,.2);--border-color:rgba(167,174,185,.1)}@media screen and (max-width:1024px){:root{--h1-font-size:1.75rem;--h2-font-size:1.25rem;--h3-font-size:1rem;--normal-font-size:0.9rem;--small-font-size:0.813rem;--smaller-font-size:0.75rem}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,button,input,textarea{font-family:Noto Sans,san-serif;font-family:var(--body-font);font-size:1rem;font-size:var(--normal-font-size)}body{line-height:1.7}main{background-color:initial;color:#5e5c7f;color:var(--text-color);position:relative;z-index:1}h1,h2,h3{color:#090085;color:var(--title-color);font-weight:600;font-weight:var(--font-semibold);line-height:1.2}ul{list-style:none}a{text-decoration:none}button{border:none;cursor:pointer;outline:none}img{height:auto;max-width:100%;vertical-align:middle}.container{margin:0 auto;max-width:1080px;padding-left:15px;padding-right:15px}.grid{display:grid}.section{padding-bottom:2rem;padding-top:7rem}.section__title{font-size:2.25rem;font-size:var(--h1-font-size);font-weight:700;font-weight:var(--font-bold);margin-bottom:3.75rem;margin-left:.875rem;position:relative}.section__title:before{background:url(/static/media/dots-bg.aa8289c51cd678b8cd47.svg)}.section__title:before,[data-theme=dark] .section__title:before{content:"";height:2.25rem;left:-.875rem;position:absolute;top:-.875rem;width:2.25rem}[data-theme=dark] .section__title:before{background:url(/static/media/dots-bg-dark.3a79e4a2778386f14af1.svg)}.btn{background-color:#ff4d61;background-color:var(--first-color);border:1px solid transparent;border-radius:1.875rem;box-shadow:0 0 1px transparent;color:#fff;display:inline-block;font-weight:700;font-weight:var(--font-bold);line-height:1;padding:.75rem 2rem}@-webkit-keyframes button-push{50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes button-push{50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);transform:scale(1)}}.btn:hover{-webkit-animation:button-push .3s linear 1;animation:button-push .3s linear 1}.app{background-color:var(--body-color);min-height:100vh}.main{margin-left:110px}@media screen and (max-width:1024px){.main{margin-left:0}}aside{background-color:var(--body-color);border-right:1px solid var(--border-color);justify-content:space-between;left:0;min-height:100vh;padding:2.5rem;position:fixed;top:0;transition:.3s;width:110px;z-index:11}.nav__list,aside{display:flex;flex-direction:column}.nav__list{row-gap:1rem}.nav__link{color:var(--title-color);font-size:1.5rem;font-weight:var(--font-bold);transition:.3s}.nav__link:hover{color:#ffd15c}.nav__link{position:relative}.nav__tooltip{background-color:#ffd15c;border-radius:4px;color:#000;font-size:.75rem;font-weight:600;left:130%;opacity:0;padding:4px 10px;pointer-events:none;transition:opacity .2s ease;white-space:nowrap}.nav__tooltip,.nav__tooltip:before{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.nav__tooltip:before{border:5px solid transparent;border-right-color:#ffd15c;content:"";right:100%}.nav__link:hover .nav__tooltip{opacity:1}.footer__button{background-color:initial}.copyright{color:var(--title-color);font-size:var(--small-font-size);-webkit-transform:rotate(-180deg);transform:rotate(-180deg);-webkit-writing-mode:vertical-rl;writing-mode:vertical-rl}.nav__toggle{align-items:center;background-color:var(--body-color);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:1rem;height:40px;justify-content:center;left:1.875rem;top:1.25rem;transition:.3s;width:40px;z-index:100}.nav__overlay,.nav__toggle{display:none;position:fixed}.nav__overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(0,0,0,.5);inset:0;z-index:10}.nav__overlay--visible{display:block}[data-theme=dark] .nav__toggle{border:1px solid var(--title-color)}[data-theme=dark] .nav__toggle>svg{color:var(--title-color)}@media screen and (max-width:1024px){.aside{left:-110px}.nav__toggle{display:flex}.nav__toggle-open{left:140px}.show-menu{left:0}}.home{align-items:center;display:flex;justify-content:center;min-height:100vh;position:relative}.intro{max-width:540px;padding-bottom:6rem;text-align:center;z-index:10}.home__img-wrap{display:inline-block;margin-bottom:1.5rem;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.home__img-glow{-webkit-animation:spinGlow 4s linear infinite;animation:spinGlow 4s linear infinite;background:conic-gradient(#6c6ce5,#f9d74c,#f97c8b,#6c6ce5);border-radius:50%;-webkit-filter:blur(10px);filter:blur(10px);inset:-8px;opacity:.7;position:absolute;z-index:-1}@-webkit-keyframes spinGlow{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinGlow{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.home__img{margin-bottom:0;position:relative;z-index:1}.home__name{font-size:var(--h1-font-size);font-weight:var(--font-bold);margin-bottom:.5rem}.scroll__down{bottom:2.5rem;left:50%;position:absolute;text-align:center;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10}.mouse__wrapper{align-items:center;display:flex;flex-direction:column}.home__scroll-name{color:var(--title-color);font-size:var(--small-font-size)}.mouse{border:2px solid #454360;border-radius:1rem;display:block;height:1.6rem;margin:.75rem auto auto;position:relative;width:1.25rem}@-webkit-keyframes ani-mouse{0%{top:29%}15%{top:50%}50%{top:50%}to{top:29%}}@keyframes ani-mouse{0%{top:29%}15%{top:50%}50%{top:50%}to{top:29%}}.wheel{-webkit-animation:ani-mouse 2s linear infinite;animation:ani-mouse 2s linear infinite;background-color:var(--title-color);border-radius:100%;height:.25rem;left:50%;top:.5rem;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:.25rem}.shapes,.wheel{position:absolute}.shapes{height:100%;left:0;top:0;width:100%}.shape{position:absolute}.s1{left:2%;top:10%}.s2{left:18%;top:30%}.s3{bottom:30%;left:5%}.s4{bottom:10%;left:2%}.s5{left:44%;top:10%}.s6{bottom:10%;left:36%}.s7{right:25%;top:20%}.s8{bottom:20%;right:24%}.s9{right:2%;top:10%}.s10{right:11%;top:45%}.s11{bottom:10%;right:2%}.home__socials{display:flex;gap:.75rem;justify-content:center;margin:1.5rem 0}.home__social-link{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:12px;color:var(--title-color);display:flex;flex-direction:column;font-size:1.3rem;gap:.3rem;min-width:64px;padding:.65rem 1rem;text-decoration:none;transition:all .3s ease}.home__social-link:hover{background:color-mix(in srgb,var(--social-color) 12%,transparent);border-color:var(--social-color);box-shadow:0 8px 20px color-mix(in srgb,var(--social-color) 30%,transparent);color:var(--social-color);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.home__social-label{font-size:.6rem;font-weight:600;letter-spacing:.05em;opacity:.7;text-transform:uppercase}[data-theme=light] .home__social-link{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1)}.hero-orbs{inset:0;overflow:hidden;pointer-events:none;z-index:0}.hero-orbs,.orb{position:absolute}.orb{-webkit-animation:orbFloat linear infinite;animation:orbFloat linear infinite;border-radius:50%;-webkit-filter:blur(80px);filter:blur(80px);opacity:.55}.orb-1{-webkit-animation-duration:12s;animation-duration:12s;-webkit-animation-name:orbFloat1;animation-name:orbFloat1;background:radial-gradient(circle,#6c6ce5,#a78bfa);height:420px;right:-60px;top:-80px;width:420px}.orb-2{-webkit-animation-duration:16s;animation-duration:16s;-webkit-animation-name:orbFloat2;animation-name:orbFloat2;background:radial-gradient(circle,#f9d74c,#fb923c);bottom:5%;height:300px;left:5%;opacity:.35;width:300px}.orb-3{-webkit-animation-duration:10s;animation-duration:10s;-webkit-animation-name:orbFloat3;animation-name:orbFloat3;background:radial-gradient(circle,#f97c8b,#ec4899);height:200px;opacity:.3;right:20%;top:40%;width:200px}@-webkit-keyframes orbFloat1{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(-30px,40px) scale(1.08);transform:translate(-30px,40px) scale(1.08)}66%{-webkit-transform:translate(20px,-20px) scale(.95);transform:translate(20px,-20px) scale(.95)}to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}@keyframes orbFloat1{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(-30px,40px) scale(1.08);transform:translate(-30px,40px) scale(1.08)}66%{-webkit-transform:translate(20px,-20px) scale(.95);transform:translate(20px,-20px) scale(.95)}to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}@-webkit-keyframes orbFloat2{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}50%{-webkit-transform:translate(40px,-50px) scale(1.1);transform:translate(40px,-50px) scale(1.1)}to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}@keyframes orbFloat2{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}50%{-webkit-transform:translate(40px,-50px) scale(1.1);transform:translate(40px,-50px) scale(1.1)}to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}@-webkit-keyframes orbFloat3{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}40%{-webkit-transform:translate(-25px,30px) scale(1.15);transform:translate(-25px,30px) scale(1.15)}to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}@keyframes orbFloat3{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}40%{-webkit-transform:translate(-25px,30px) scale(1.15);transform:translate(-25px,30px) scale(1.15)}to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}.about__container{align-items:start;-webkit-column-gap:3rem;column-gap:3rem;grid-template-columns:320px 1fr}.about__photo-card{cursor:default;width:300px;will-change:transform}.about__photo-card,.about__photo-inner{position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.about__photo-inner{background:#0e0e1a;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 2px rgba(108,108,229,.5),0 0 30px rgba(108,108,229,.15);overflow:hidden}.about__photo{display:block;height:380px;object-fit:cover;object-position:center 10%;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;width:100%}.about__photo-card:hover .about__photo{-webkit-transform:scale(1.04);transform:scale(1.04)}.about__photo-overlay{background:linear-gradient(180deg,transparent 50%,rgba(108,108,229,.25));inset:0;pointer-events:none;position:absolute}.about__badge{align-items:center;-webkit-animation:badgeFloat 3s ease-in-out infinite;animation:badgeFloat 3s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(108,108,229,.9);border:1px solid hsla(0,0%,100%,.2);border-radius:12px;box-shadow:0 8px 24px rgba(108,108,229,.4);display:flex;flex-direction:column;justify-content:center;padding:.5rem .85rem;position:absolute;z-index:10}.about__badge--tl{-webkit-animation-delay:0s;animation-delay:0s;left:-16px;top:-16px}.about__badge--tr{-webkit-animation-delay:1s;animation-delay:1s;right:-16px;top:-16px}.about__badge--bl{-webkit-animation-delay:1.5s;animation-delay:1.5s;bottom:-16px;left:-16px}.about__badge--br{-webkit-animation-delay:2s;animation-delay:2s;bottom:-16px;right:-16px}@-webkit-keyframes badgeFloat{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@keyframes badgeFloat{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}.about__badge-num{color:#fff;font-size:1rem;font-weight:800;line-height:1}.about__badge-icon{font-size:1.1rem;line-height:1}.about__badge-txt{color:hsla(0,0%,100%,.8);font-size:.58rem;font-weight:600;letter-spacing:.05em;margin-top:2px}.about__card-dot{-webkit-animation:dotPulse 2s ease-in-out infinite;animation:dotPulse 2s ease-in-out infinite;background:#6c6ce5;border-radius:50%;opacity:.5;position:absolute}.about__card-dot--1{-webkit-animation-delay:0s;animation-delay:0s;bottom:60px;height:10px;left:-20px;width:10px}.about__card-dot--2{-webkit-animation-delay:1s;animation-delay:1s;height:6px;right:-16px;top:80px;width:6px}@-webkit-keyframes dotPulse{0%,to{opacity:.5;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes dotPulse{0%,to{opacity:.5;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.5);transform:scale(1.5)}}.about__data{align-items:flex-start;background-color:var(--container-color);border-radius:var(--border-radius);box-shadow:var(--shadow);-webkit-column-gap:1.875rem;column-gap:1.875rem;grid-template-columns:repeat(1,1fr);padding:1.875rem;position:relative}.about__data:before{display:none}.about__description{margin-bottom:1rem;text-align:justify}.about__list{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.about__list li{padding-left:20px;position:relative}.about__list li:before{content:"▹";left:0;position:absolute}.about__skills{row-gap:1.25rem}.skills__titles{display:flex;justify-content:space-between;margin-bottom:1rem}.skills__name{font-size:var(--normal-font-size);font-weight:var(--font-medium)}.skills__number{line-height:1.2}.skills__bar,.skills__percentage{border-radius:.25rem;height:7px}.skills__bar{background-color:#f1f1f1}.skills__percentage{display:block}.development{background-color:#ffd15c;width:90%}.ui__design{background-color:#ff4c60;width:80%}.photography{background-color:#6c6cff;width:60%}.about__boxes{gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:2rem}.about__box{border-radius:12px;-webkit-column-gap:1.5rem;column-gap:1.5rem;cursor:default;display:flex;padding:1rem;transition:background .3s ease,box-shadow .3s ease,-webkit-transform .3s ease;transition:background .3s ease,transform .3s ease,box-shadow .3s ease;transition:background .3s ease,transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.about__box:hover{background:var(--container-color);box-shadow:0 8px 24px rgba(108,108,229,.15);-webkit-transform:translateY(-4px) scale(1.03);transform:translateY(-4px) scale(1.03)}.about__icon{color:#dedeea;font-size:var(--h1-font-size)}.about__title{font-size:1.875rem}@media screen and (max-width:1024px){.about__container{grid-template-columns:1fr;justify-items:center;row-gap:2.5rem}.about__photo-card{width:280px}.about__photo{height:340px}.about__box{align-items:center;flex-direction:column;row-gap:.5rem;text-align:center}}@media screen and (max-width:768px){.about__photo-card{width:240px}.about__photo{height:290px}.about__data{grid-template-columns:1fr;row-gap:1.875rem}.about__boxes{grid-template-columns:repeat(2,1fr);row-gap:1rem}}@media screen and (max-width:480px){.about__photo-card{width:200px}.about__photo{height:240px}.about__boxes{grid-template-columns:repeat(2,1fr)}}.techbubbles{margin-top:3rem}.techbubbles__title{color:var(--text-color);font-size:.75rem;letter-spacing:.2em;margin-bottom:1.25rem;opacity:.5;text-transform:uppercase}.techbubbles__grid{display:flex;flex-wrap:wrap;gap:.75rem}.techbubble{align-items:center;background:color-mix(in srgb,var(--bubble-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--bubble-color) 40%,transparent);border-radius:50px;color:var(--bubble-color);cursor:default;display:inline-flex;font-weight:600;gap:.5rem;padding:.45rem 1rem;transition:box-shadow .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;will-change:transform}.techbubble:hover{box-shadow:0 8px 24px color-mix(in srgb,var(--bubble-color) 35%,transparent);-webkit-transform:translateY(-4px) scale(1.06)!important;transform:translateY(-4px) scale(1.06)!important}.techbubble--lg{font-size:.9rem;padding:.55rem 1.25rem}.techbubble--md{font-size:.82rem}.techbubble--sm{font-size:.75rem;padding:.35rem .85rem}.techbubble__dot{background:var(--bubble-color);border-radius:50%;box-shadow:0 0 6px var(--bubble-color);flex-shrink:0;height:7px;width:7px}.services__container{-webkit-column-gap:1.875rem;column-gap:1.875rem;grid-template-columns:repeat(3,1fr)}.services__card{background-color:var(--container-color);border-radius:var(--border-radius);cursor:default;overflow:hidden;padding:1.875rem;position:relative;text-align:center;will-change:transform}.services__shimmer{border-radius:inherit;inset:0;opacity:0;pointer-events:none;position:absolute;z-index:2}.services__card:first-child{background-color:#6c6ce5;box-shadow:0 5px 20px 0 rgb(108,108,229/50%)}.services__card:nth-child(2){background-color:#f9d74c;box-shadow:0 5px 20px 0 rgb(249,215,76/50%)}.services__card:nth-child(3){background-color:#f97b8b;box-shadow:0 5px 20px 0 rgb(249,123,139/50%)}.services__img{margin-bottom:1.25rem}.services__title{color:#fff;font-size:var(--h3-font-size);margin-bottom:1rem}.services__description{color:#f8f9fa}.services__card:nth-child(2) .services__description,.services__card:nth-child(2) .services__title{color:var(--title-color)}[data-theme=dark] .services__card:nth-child(2) .services__description,[data-theme=dark] .services__card:nth-child(2) .services__title{color:var(--body-color)}@media screen and (max-width:1024px){.services__container{grid-template-columns:repeat(2,330px);justify-content:center;row-gap:1.875rem}}@media screen and (max-width:768px){.services__container{grid-template-columns:310px;justify-content:center;row-gap:1.875rem}}@media screen and (max-width:350px){.services__container{grid-template-columns:1fr}}.tabs{display:flex;height:100%;position:relative}.tab__list{width:15rem}.tab__panel{background-color:var(--container-color);border-radius:var(--border-radius);box-shadow:var(--shadow);display:none;flex:1 1;padding:1.5rem 2rem}.tab__panel.is-active{display:block}.tab__panel-list li{padding-left:20px;position:relative}.tab__panel-list li:before{content:"▹";left:0;position:absolute}.button{background:none;color:var(--title-color);cursor:pointer;display:inline-block;font-family:inherit;font-size:var(--normal-font-size);font-weight:var(--font-bold);padding:1rem 2rem;text-align:left;width:100%}.tab:first-child .button{border-top-left-radius:var(--border-radius)}.tab:last-child .button{border-bottom-left-radius:var(--border-radius)}.button:focus,.button:hover{color:var(--first-color);outline:0}.tab.is-active .button{background-color:var(--container-color);border-bottom-left-radius:var(--border-radius);border-top-left-radius:var(--border-radius);box-shadow:var(--shadow);color:var(--first-color)}.tab__panel:first-of-type.is-active,.tab__panel:last-child.is-active{border-bottom-left-radius:0;border-top-left-radius:0}@media screen and (max-width:768px){.resume__container{margin:0 auto;max-width:350px}.tabs{flex-wrap:wrap}.tab__list{margin-bottom:1.25rem;width:100vw}.tab__panel:first-of-type.is-active,.tab__panel:last-child.is-active{border-bottom-left-radius:var(--border-radius);border-top-left-radius:var(--border-radius)}.tab.is-active .button{border-bottom-right-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}}.tab__panel-title{color:var(--title-color);font-size:var(--h3-font-size);margin-bottom:1rem}[data-theme=dark] .tab__panel-title{color:#fff}.tab__company-link{color:#6c6ce5;text-decoration:none;transition:opacity .2s}.tab__company-link:hover{opacity:.75}.tab__company-links{display:flex;gap:.6rem;margin-bottom:.75rem}.tab__company-badge{align-items:center;background:rgba(108,108,229,.08);border:1px solid rgba(108,108,229,.3);border-radius:20px;color:#6c6ce5;display:inline-flex;font-size:.72rem;font-weight:700;gap:.3rem;padding:.3rem .85rem;text-decoration:none;transition:background .2s ease,-webkit-transform .2s ease;transition:background .2s ease,transform .2s ease;transition:background .2s ease,transform .2s ease,-webkit-transform .2s ease}.tab__company-badge:hover{background:rgba(108,108,229,.18);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.tab__panel-subtitle{font-size:var(--normal-font-size);margin-bottom:1rem}[data-theme=dark] .tab__panel-subtitle{color:#f8f9fa}.portfolio__filters{align-items:center;-webkit-column-gap:1.875rem;column-gap:1.875rem;display:flex;flex-wrap:wrap;margin-bottom:2.5rem}.portfolio__item{cursor:pointer;font-weight:var(--font-bold);transition:.3s}.portfolio__item-active,.portfolio__item:hover{color:var(--first-color)}.portfolio__container{gap:1.875rem;grid-template-columns:repeat(3,1fr)}.portfolio__card{background-color:var(--container-color);border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;flex-direction:column}.portfolio__card,.portfolio__thumbnail{overflow:hidden;position:relative}.portfolio__info{flex:1 1;padding:1rem 1.25rem .5rem}.portfolio__description{font-size:.82rem;line-height:1.5;margin-bottom:.5rem;opacity:.75}.portfolio__stack{color:#6c6ce5;font-size:.72rem;font-weight:600;opacity:.85}.portfolio__actions{display:flex;gap:.75rem;padding:.75rem 1.25rem 1.25rem}.portfolio__action-btn{align-items:center;background:#6c6ce5;border-radius:20px;color:#fff;display:inline-flex;font-size:.78rem;font-weight:700;gap:.4rem;padding:.4rem 1rem;text-decoration:none;transition:background .2s ease,-webkit-transform .2s ease;transition:background .2s ease,transform .2s ease;transition:background .2s ease,transform .2s ease,-webkit-transform .2s ease}.portfolio__action-btn:hover{background:#5252cc;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.portfolio__action-btn--private{background:rgba(108,108,229,.12);color:var(--text-color);cursor:default;opacity:.6}.portfolio__mask{background-color:#6c6ce5;height:100%;left:0;opacity:0;position:absolute;top:0;transition:.3s;width:100%}.portfolio__card:hover .portfolio__mask{opacity:.9}.portfolio__category{background-color:var(--first-color);border-bottom-left-radius:.98rem;border-bottom-right-radius:.98rem;color:#fff;display:inline-block;font-size:var(--small-font-size);left:1.5rem;padding:.19rem .625rem;position:absolute;top:0;-webkit-transform:translateY(-40px);transform:translateY(-40px);transition:.3s}.portfolio__title{margin:0 0 .98rem;padding:0 1.25rem;top:3.75rem;-webkit-transform:translateY(30px);transform:translateY(30px)}.portfolio__button,.portfolio__title{color:#fff;font-size:var(--h3-font-size);opacity:0;position:absolute;transition:.3s}.portfolio__button{left:1.5rem}.portfolio__button,.portfolio__github-button{background-color:#ffd15c;border-radius:50%;bottom:1.5rem;cursor:pointer;display:block;height:40px;line-height:42px;text-align:center;width:40px}.portfolio__github-button{color:#fff;font-size:var(--h3-font-size);left:4.5rem;opacity:0;position:absolute;transition:.3s}.portfolio__card:hover .portfolio__button,.portfolio__card:hover .portfolio__github-button{opacity:1}.portfolio__card:hover .portfolio__category,.portfolio__card:hover .portfolio__title{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}@media screen and (max-width:1024px){.portfolio__container,.portfolio__filters{justify-content:center}.portfolio__container{grid-template-columns:repeat(2,330px);row-gap:1.875rem}}@media screen and (max-width:768px){.portfolio__container{grid-template-columns:310px;justify-content:center;row-gap:1.875rem}.portfolio__filters{row-gap:.25rem}}@media screen and (max-width:350px){.portfolio__container{grid-template-columns:1fr}}.contact.section{padding-bottom:6.25rem}.contact__container{-webkit-column-gap:1.875rem;column-gap:1.875rem;grid-template-columns:4fr 8fr}.contact__title{font-size:var(--h3-font-size);margin-bottom:.5rem}.contact__direct{display:flex;flex-direction:column;gap:.85rem;margin-top:1.5rem}.contact__direct-item{display:flex;flex-direction:column;gap:.15rem}.contact__direct-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;opacity:.45;text-transform:uppercase}.contact__direct-value{color:var(--title-color);font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s;word-break:break-all}a.contact__direct-value:hover{color:#6c6ce5}.contact__success{background:var(--container-color);border:1px solid rgba(108,108,229,.2);border-radius:var(--border-radius);box-shadow:var(--shadow);flex-direction:column;gap:1rem;padding:3rem 2rem;text-align:center}.contact__success,.contact__success-icon{align-items:center;display:flex;justify-content:center}.contact__success-icon{background:linear-gradient(135deg,#6c6ce5,#a78bfa);border-radius:50%;box-shadow:0 8px 24px rgba(108,108,229,.4);color:#fff;font-size:2rem;font-weight:700;height:70px;width:70px}.contact__success-title{color:var(--title-color);font-size:var(--h3-font-size);margin:0}.contact__success-msg{color:var(--text-color);font-size:.9rem;line-height:1.6;margin:0;max-width:280px;opacity:.75}.contact__form-group{grid-column-gap:1.5rem;-webkit-column-gap:1.5rem;column-gap:1.5rem;display:grid;grid-template-columns:repeat(2,1fr)}.contact__form-div{height:3.75rem;margin-bottom:1.875rem;position:relative}.contact__form-input{background-color:var(--container-color);border:none;border-radius:1.875rem;box-shadow:var(--shadow);color:var(--text-color);height:100%;left:0;outline:none;padding:.625rem 1.875rem;position:absolute;top:0;width:100%;z-index:1}.contact__form-area{height:10.25rem}.contact__form-area textarea{resize:none}@media screen and (max-width:1024px){.contact__container{gap:1.875rem;grid-template-columns:300px 360px;justify-content:center}.contact__form-group{grid-template-columns:1fr}}@media screen and (max-width:768px){.contact__container{grid-template-columns:310px;row-gap:1.875rem}.contact__info{text-align:center}}@media screen and (max-width:350px){.contact__container{grid-template-columns:1fr}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translate3d(0,0,9999 px);-webkit-transform:translate3d(0,0,var(--toastify-z-index) px);width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;-webkit-transform:translateX(0);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;-webkit-transform:translateX(0);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);box-sizing:border-box;cursor:pointer;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative}.Toastify__toast--rtl{direction:rtl}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{-webkit-animation-duration:.7s;animation-duration:.7s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.Toastify--animate-icon{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:hsla(0,0%,100%,.7);background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:transparent;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@-webkit-keyframes Toastify__trackProgress{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}to{-webkit-transform:scaleX(0);transform:scaleX(0)}}@keyframes Toastify__trackProgress{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}to{-webkit-transform:scaleX(0);transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;-webkit-transform-origin:left;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{-webkit-animation:Toastify__trackProgress linear 1 forwards;animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;-webkit-transform-origin:right;transform-origin:right}.Toastify__spinner{-webkit-animation:Toastify__spin .65s linear infinite;animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@-webkit-keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes Toastify__bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@-webkit-keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes Toastify__bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@-webkit-keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes Toastify__bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@-webkit-keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes Toastify__bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes Toastify__bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{-webkit-animation-name:Toastify__bounceInLeft;animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{-webkit-animation-name:Toastify__bounceInRight;animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{-webkit-animation-name:Toastify__bounceInDown;animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{-webkit-animation-name:Toastify__bounceInUp;animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{-webkit-animation-name:Toastify__bounceOutLeft;animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{-webkit-animation-name:Toastify__bounceOutRight;animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{-webkit-animation-name:Toastify__bounceOutUp;animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{-webkit-animation-name:Toastify__bounceOutDown;animation-name:Toastify__bounceOutDown}@-webkit-keyframes Toastify__zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@-webkit-keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{-webkit-animation-name:Toastify__zoomIn;animation-name:Toastify__zoomIn}.Toastify__zoom-exit{-webkit-animation-name:Toastify__zoomOut;animation-name:Toastify__zoomOut}@-webkit-keyframes Toastify__flipIn{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes Toastify__flipIn{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes Toastify__flipOut{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{opacity:1;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}@keyframes Toastify__flipOut{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{opacity:1;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{-webkit-animation-name:Toastify__flipIn;animation-name:Toastify__flipIn}.Toastify__flip-exit{-webkit-animation-name:Toastify__flipOut;animation-name:Toastify__flipOut}@-webkit-keyframes Toastify__slideInRight{0%{-webkit-transform:translate3d(110%,0,0);transform:translate3d(110%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes Toastify__slideInRight{0%{-webkit-transform:translate3d(110%,0,0);transform:translate3d(110%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes Toastify__slideInLeft{0%{-webkit-transform:translate3d(-110%,0,0);transform:translate3d(-110%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{-webkit-transform:translate3d(-110%,0,0);transform:translate3d(-110%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes Toastify__slideInUp{0%{-webkit-transform:translate3d(0,110%,0);transform:translate3d(0,110%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{-webkit-transform:translate3d(0,110%,0);transform:translate3d(0,110%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes Toastify__slideInDown{0%{-webkit-transform:translate3d(0,-110%,0);transform:translate3d(0,-110%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{-webkit-transform:translate3d(0,-110%,0);transform:translate3d(0,-110%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes Toastify__slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(110%,0,0);transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(110%,0,0);transform:translate3d(110%,0,0);visibility:hidden}}@-webkit-keyframes Toastify__slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-110%,0,0);transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-110%,0,0);transform:translate3d(-110%,0,0);visibility:hidden}}@-webkit-keyframes Toastify__slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,500px,0);transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,500px,0);transform:translate3d(0,500px,0);visibility:hidden}}@-webkit-keyframes Toastify__slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-500px,0);transform:translate3d(0,-500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-500px,0);transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{-webkit-animation-name:Toastify__slideInLeft;animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{-webkit-animation-name:Toastify__slideInRight;animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{-webkit-animation-name:Toastify__slideInDown;animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{-webkit-animation-name:Toastify__slideInUp;animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{-webkit-animation-name:Toastify__slideOutLeft;animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{-webkit-animation-name:Toastify__slideOutRight;animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{-webkit-animation-name:Toastify__slideOutUp;animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{-webkit-animation-name:Toastify__slideOutDown;animation-name:Toastify__slideOutDown}@-webkit-keyframes Toastify__spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes Toastify__spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.cursor-dot,.cursor-glow{border-radius:50%;left:0;pointer-events:none;position:fixed;top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:9999}.cursor-dot{background:#6c6ce5;height:8px;width:8px}.cursor-glow{background:radial-gradient(circle,rgba(108,108,229,.6),transparent 70%);height:40px;opacity:.4;width:40px}@media (max-width:768px){.cursor-dot,.cursor-glow{display:none}}.preloader{align-items:center;background:#080810;display:flex;flex-direction:column;inset:0;justify-content:center;overflow:hidden;position:fixed;z-index:99999}.preloader__name{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#6c6ce5,#a78bfa 40%,#f9d74c);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,8vw,6rem);font-weight:900;letter-spacing:.1em;overflow:hidden;white-space:nowrap}.preloader__letter{display:inline-block}.preloader__role{color:hsla(0,0%,100%,.3);font-size:.9rem;letter-spacing:.25em;margin-top:.75rem;text-transform:uppercase}.preloader__bottom{align-items:center;bottom:3rem;display:flex;gap:1.5rem;left:0;padding:0 3rem;position:absolute;width:100%}.preloader__counter{color:hsla(0,0%,100%,.4);font-size:.8rem;font-weight:600;letter-spacing:.05em;min-width:42px}.preloader__bar-bg{background:hsla(0,0%,100%,.08);border-radius:2px;flex:1 1;height:1px;overflow:hidden}.preloader__bar{background:linear-gradient(90deg,#6c6ce5,#f9d74c);border-radius:2px;height:100%;transition:none;width:0}.marquee-wrapper{background:var(--container-color);border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);margin-left:-15px;margin-right:-15px;overflow:hidden;padding:.85rem 0;width:100%;width:calc(100% + 30px)}.marquee-track{-webkit-animation:marqueeScroll 28s linear infinite;animation:marqueeScroll 28s linear infinite;display:flex;width:-webkit-max-content;width:max-content}.marquee-track:hover{-webkit-animation-play-state:paused;animation-play-state:paused}.marquee-item{align-items:center;color:var(--text-color);display:inline-flex;font-size:.75rem;font-weight:700;gap:1rem;letter-spacing:.15em;opacity:.5;padding:0 1rem;transition:opacity .2s;white-space:nowrap}.marquee-dot,.marquee-item:hover{color:#6c6ce5;opacity:1}@-webkit-keyframes marqueeScroll{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes marqueeScroll{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.aurora{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.aurora__blob{border-radius:50%;-webkit-filter:blur(90px);filter:blur(90px);mix-blend-mode:screen;position:absolute}[data-theme=light] .aurora__blob{-webkit-filter:blur(110px);filter:blur(110px);mix-blend-mode:multiply}.aurora__blob--1{-webkit-animation:aurora1 18s ease-in-out infinite;animation:aurora1 18s ease-in-out infinite;background:radial-gradient(circle,rgba(108,108,229,.35),transparent 70%);height:600px;right:-100px;top:-150px;width:600px}.aurora__blob--2{-webkit-animation:aurora2 22s ease-in-out infinite;animation:aurora2 22s ease-in-out infinite;background:radial-gradient(circle,rgba(14,165,233,.2),transparent 70%);height:500px;left:-100px;top:30%;width:500px}.aurora__blob--3{-webkit-animation:aurora3 16s ease-in-out infinite;animation:aurora3 16s ease-in-out infinite;background:radial-gradient(circle,rgba(249,124,139,.2),transparent 70%);bottom:10%;height:550px;left:30%;width:550px}.aurora__blob--4{-webkit-animation:aurora4 25s ease-in-out infinite;animation:aurora4 25s ease-in-out infinite;background:radial-gradient(circle,rgba(249,215,76,.15),transparent 70%);height:400px;left:20%;top:20%;width:400px}.aurora__blob--5{-webkit-animation:aurora5 20s ease-in-out infinite;animation:aurora5 20s ease-in-out infinite;background:radial-gradient(circle,rgba(167,139,250,.2),transparent 70%);bottom:5%;height:450px;right:5%;width:450px}@-webkit-keyframes aurora1{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(-60px,80px) scale(1.1);transform:translate(-60px,80px) scale(1.1)}66%{-webkit-transform:translate(40px,-40px) scale(.9);transform:translate(40px,-40px) scale(.9)}}@keyframes aurora1{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(-60px,80px) scale(1.1);transform:translate(-60px,80px) scale(1.1)}66%{-webkit-transform:translate(40px,-40px) scale(.9);transform:translate(40px,-40px) scale(.9)}}@-webkit-keyframes aurora2{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(80px,-60px) scale(1.15);transform:translate(80px,-60px) scale(1.15)}66%{-webkit-transform:translate(-30px,50px) scale(.95);transform:translate(-30px,50px) scale(.95)}}@keyframes aurora2{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(80px,-60px) scale(1.15);transform:translate(80px,-60px) scale(1.15)}66%{-webkit-transform:translate(-30px,50px) scale(.95);transform:translate(-30px,50px) scale(.95)}}@-webkit-keyframes aurora3{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}50%{-webkit-transform:translate(-70px,-80px) scale(1.1);transform:translate(-70px,-80px) scale(1.1)}}@keyframes aurora3{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}50%{-webkit-transform:translate(-70px,-80px) scale(1.1);transform:translate(-70px,-80px) scale(1.1)}}@-webkit-keyframes aurora4{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(50px,70px) scale(.9);transform:translate(50px,70px) scale(.9)}66%{-webkit-transform:translate(-40px,-30px) scale(1.05);transform:translate(-40px,-30px) scale(1.05)}}@keyframes aurora4{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}33%{-webkit-transform:translate(50px,70px) scale(.9);transform:translate(50px,70px) scale(.9)}66%{-webkit-transform:translate(-40px,-30px) scale(1.05);transform:translate(-40px,-30px) scale(1.05)}}@-webkit-keyframes aurora5{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}40%{-webkit-transform:translate(-50px,-60px) scale(1.12);transform:translate(-50px,-60px) scale(1.12)}80%{-webkit-transform:translate(30px,40px) scale(.92);transform:translate(30px,40px) scale(.92)}}@keyframes aurora5{0%,to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}40%{-webkit-transform:translate(-50px,-60px) scale(1.12);transform:translate(-50px,-60px) scale(1.12)}80%{-webkit-transform:translate(30px,40px) scale(.92);transform:translate(30px,40px) scale(.92)}}.techkb__subtitle{font-size:.8rem;letter-spacing:.15em;margin-bottom:2.5rem;margin-top:-2.5rem;opacity:.4;text-align:center;text-transform:uppercase}.techkb__scene{display:flex;justify-content:center;overflow:visible;padding:1rem 0 5rem;-webkit-perspective:1400px;perspective:1400px;-webkit-perspective-origin:50% 40%;perspective-origin:50% 40%}.techkb__keyboard{background:rgba(10,10,20,.6);border:1px solid hsla(0,0%,100%,.08);border-radius:20px;box-shadow:0 40px 80px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.07);display:flex;flex-direction:column;gap:10px;padding:24px 28px 32px;-webkit-transform:rotateX(28deg) rotate(-2deg);transform:rotateX(28deg) rotate(-2deg);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform,opacity}[data-theme=light] .techkb__keyboard{background:rgba(220,218,240,.8);border-color:rgba(108,108,229,.2);box-shadow:0 40px 80px rgba(108,108,229,.2),inset 0 1px 0 hsla(0,0%,100%,.9)}.techkb__row{display:flex;gap:10px}.techkb__key{cursor:pointer;height:90px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;width:110px}.techkb__key-face{align-items:center;background:var(--kc);border:1px solid hsla(0,0%,100%,.15);border-radius:10px;box-shadow:0 8px 0 var(--ks),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),inset 0 -1px 0 rgba(0,0,0,.2);display:flex;flex-direction:column;gap:6px;inset:0;justify-content:center;padding:10px 8px 8px;position:absolute;transition:box-shadow .12s ease,-webkit-transform .12s ease,-webkit-filter .12s ease;transition:box-shadow .12s ease,transform .12s ease,filter .12s ease;transition:box-shadow .12s ease,transform .12s ease,filter .12s ease,-webkit-transform .12s ease,-webkit-filter .12s ease}.techkb__key-side{background:var(--ks);border-radius:0 0 8px 8px;bottom:-8px;height:8px;left:3px;position:absolute;right:3px;transition:height .12s ease,bottom .12s ease}.techkb__key:hover .techkb__key-face{box-shadow:0 12px 0 var(--ks),0 20px 40px rgba(0,0,0,.35),0 0 24px hsla(0,0%,100%,.15),inset 0 1px 0 hsla(0,0%,100%,.35);-webkit-filter:brightness(1.35) saturate(1.2);filter:brightness(1.35) saturate(1.2);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.techkb__key:hover .techkb__key-side{bottom:-12px;height:12px}.techkb__key:active .techkb__key-face{box-shadow:0 2px 0 var(--ks),0 4px 10px rgba(0,0,0,.3);-webkit-filter:brightness(.9);filter:brightness(.9);-webkit-transform:translateY(5px);transform:translateY(5px)}.techkb__key:active .techkb__key-side{bottom:-2px;height:2px}.techkb__key-icon{color:hsla(0,0%,100%,.95);-webkit-filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));flex-shrink:0;font-size:2rem}.techkb__key-name{color:hsla(0,0%,100%,.9);font-size:.58rem;font-weight:700;letter-spacing:.04em;line-height:1.2;text-align:center}.techkb__key-tooltip{background:rgba(8,8,18,.95);border:1px solid hsla(0,0%,100%,.12);border-radius:6px;bottom:calc(100% + 14px);box-shadow:0 4px 16px rgba(0,0,0,.4);color:#fff;font-size:.72rem;font-weight:700;left:50%;letter-spacing:.08em;opacity:0;padding:5px 14px;pointer-events:none;position:absolute;-webkit-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px);transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease;white-space:nowrap;z-index:20}.techkb__key-tooltip:after{border:5px solid transparent;border-top-color:hsla(0,0%,100%,.12);content:"";left:50%;position:absolute;top:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.techkb__key:hover .techkb__key-tooltip{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}@media screen and (max-width:900px){.techkb__key{height:72px;width:85px}.techkb__key-icon{font-size:1.6rem}.techkb__key-name{font-size:.52rem}}@media screen and (max-width:680px){.techkb__key{height:58px;width:68px}.techkb__key-icon{font-size:1.3rem}.techkb__key-name{display:none}.techkb__row{gap:6px;margin-left:0!important}.techkb__keyboard{gap:6px;padding:14px 16px 20px}}
/*# sourceMappingURL=main.a78717ee.css.map*/