@charset "UTF-8";:root{--background-main: #050505;--background-main-light: #101010;--primary-color: #f2f2f2;--secondary-color: #d9d9d9;--light-slate: #c7c7c7;--lightest-slate: #f0f0f0;--font-primary: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-secondary: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-content-color: #9b9b9b;--font-primary-color: #e7e7e7;--font-hover-color: #98ff4d;--header-height: 70px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;width:100%}body{margin:0;width:100%;-webkit-font-smoothing:antialiased;font-family:var(--font-primary);font-size:14px;line-height:1.3;color:var(--font-primary-color);background-color:var(--background-main);overflow-x:hidden}body.nav-open{overflow:hidden}.page-transition-scope{display:block;flex:1 0 auto;view-transition-name:page-content}a:focus-visible,button:focus-visible{outline:1px solid var(--font-hover-color);outline-offset:3px}.ui-scroll{overscroll-behavior:contain;scrollbar-color:var(--font-hover-color) var(--background-main-light);scrollbar-width:thin}.ui-scroll--y{overflow-x:hidden;overflow-y:auto}.ui-scroll--x{overflow-x:auto;overflow-y:hidden}.ui-scroll::-webkit-scrollbar{width:8px;height:8px}.ui-scroll::-webkit-scrollbar-track{background:var(--background-main-light);border-left:1px solid #242424}.ui-scroll--x::-webkit-scrollbar-track{border-left:0;border-top:1px solid #242424}.ui-scroll::-webkit-scrollbar-thumb{background:var(--font-hover-color);border-radius:0}.ui-scroll::-webkit-scrollbar-thumb:hover{background:var(--lightest-slate)}p{margin:0 0 20px;color:var(--font-content-color);font-size:15px;line-height:1.6;font-family:var(--font-secondary)}p>a{display:inline-block;position:relative;text-decoration:none;color:var(--font-hover-color);transition:.3s}p>a:hover{text-decoration:underline}.btn{display:flex;max-width:fit-content;padding:10px 20px;color:var(--font-hover-color);font-size:14px;border:1px solid var(--font-hover-color);border-radius:4px;text-decoration:none;transition:.5s;background:transparent;font-family:inherit}.btn:hover{outline:none;box-shadow:3px 3px 0 0 var(--font-hover-color);transform:translate(-4px,-4px)}.btn--big{padding:15px 30px}.btn--center{margin:0 auto}.container--full-width,.container{width:100%;margin:0 auto;padding:0 20px}.container{max-width:1000px}@media(min-width:560px){.container--full-width,.container{padding:0 32px}}@media(min-width:1000px){.container--full-width,.container{padding:0 50px}}@media(min-width:1300px){.container{padding:0 100px}}.section-content{display:grid;grid-template-columns:1fr;gap:40px}@media(min-width:760px){.section-content{grid-template-columns:3fr 2fr;gap:50px}}button:hover{cursor:pointer}section{padding:96px 0 48px;margin:0 auto;display:flex}@media(min-width:560px){section{padding-top:108px}}@media(min-width:760px){section{padding-bottom:0;min-height:calc(100dvh - 166px)}}@media(min-width:1000px){section{padding-top:120px;min-height:calc(100dvh - 176px)}}section#experience{align-items:unset}.header{position:fixed;top:-90px;width:100%;z-index:999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#050505d9;transition:.3s}.header.active{top:0;box-shadow:0 10px 30px -10px #020c1bb3}.header__area{position:relative;display:flex;justify-content:space-between;align-items:center;height:var(--header-height)}.logo{display:flex;gap:10px;color:var(--font-hover-color);text-decoration:none}.logo-svg{width:72px;height:36px}.logo-path{fill:none;stroke:#98ff4d;stroke-width:15;stroke-dasharray:0;stroke-dashoffset:0;transition:stroke-dashoffset 3s linear}.logo text{font-family:var(--font-primary);font-size:16px}@media(min-width:560px){.logo-svg{width:80px;height:40px}}.nav-toggle{position:relative;z-index:1001;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:42px;padding:0;border:1px solid #2a2a2a;background:transparent;flex-shrink:0}.nav-toggle__bar{display:block;width:18px;height:2px;background:var(--font-primary-color);transition:transform .25s ease,opacity .2s ease,background-color .25s ease}.nav-toggle:hover .nav-toggle__bar,.nav-toggle--active .nav-toggle__bar{background:var(--font-hover-color)}.nav-toggle--active .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle--active .nav-toggle__bar:nth-child(2){opacity:0}.nav-toggle--active .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{position:fixed;inset:var(--header-height) 0 0;z-index:998;background:#05050599}.main-menu__wrapper{position:fixed;top:var(--header-height);left:0;right:0;z-index:999;display:flex;flex-direction:column;align-items:stretch;gap:22px;max-height:calc(100dvh - var(--header-height));margin:0;padding:24px 20px 32px;overflow-y:auto;background:#050505fa;border-bottom:1px solid #242424;box-shadow:0 20px 30px -20px #020c1bb3;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s ease,opacity .2s ease,visibility .25s}.main-menu__wrapper--open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.locale-switcher{display:flex;gap:6px}.locale-switcher__item{padding:8px 10px;border:1px solid #2a2a2a;background:transparent;color:var(--light-slate);font:inherit}.locale-switcher__item--active,.locale-switcher__item:hover{color:var(--font-hover-color);border-color:var(--font-hover-color)}.main-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;counter-reset:section}.main-menu a{counter-increment:section;position:relative;display:flex;align-items:center;padding:14px 4px;font-size:16px;color:var(--font-primary-color);text-decoration:none;border-bottom:1px solid #1c1c1c}.main-menu__link--active{color:var(--font-hover-color)!important;text-shadow:0 0 8px rgba(152,255,77,.35)}.main-menu__link--active:before{color:var(--font-hover-color)}.main-menu a:before{content:counter(section,decimal-leading-zero) ".";padding-right:5px;color:var(--font-hover-color)}.main-menu a:hover,.main-menu a:focus-visible{color:var(--font-hover-color);cursor:pointer;text-shadow:0 0 8px rgba(152,255,77,.35)}.main-menu__wrapper .btn{width:100%;max-width:none;justify-content:center}@media(min-width:900px){.nav-toggle,.nav-backdrop{display:none}.main-menu__wrapper{position:static;display:flex;flex-direction:row;align-items:center;gap:20px;max-height:none;margin:0;padding:0;overflow:visible;background:transparent;border-bottom:0;box-shadow:none;transform:none;opacity:1;visibility:visible;pointer-events:auto}.main-menu{flex-direction:row;align-items:center;gap:10px}.main-menu a{padding:10px;font-size:14px;border-bottom:0}.main-menu__wrapper .btn{width:auto;max-width:fit-content;justify-content:flex-start}}.additional{display:none}@media(min-width:1300px){.additional--right{left:auto;right:40px}.additional--left{left:40px;right:auto}.additional{position:fixed;bottom:0;display:flex;flex-direction:column;-webkit-box-align:center;align-items:center;z-index:999}.additional:after{content:"";display:block;width:1px;height:90px;margin:0 auto;background-color:var(--light-slate)}}.additional__email a{margin:20px auto;padding:10px;font-size:13px;color:var(--light-slate);text-decoration:none;line-height:1;letter-spacing:.1em;-webkit-writing-mode:vertical-rl;writing-mode:vertical-rl;transition:.3s}.additional a{color:var(--light-slate)}.additional a:hover{color:var(--font-hover-color);fill:var(--font-hover-color);transform:translateY(-3px)}.additional__socials{display:flex;flex-direction:column;margin:20px 0;gap:8px}.additional .icon{width:25px;height:25px;margin:6px 5px}.additional .icon path{stroke:#fff}.hero-block{position:relative}.title{margin:0 0 30px;width:100%;font-size:20px;font-weight:500}.title h2{display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;position:relative;width:100%;font-size:20px;gap:6px 0}.title h2:before{counter-increment:section;content:counter(section) ". ";margin-right:10px;color:var(--font-hover-color);font-size:20px;font-weight:400}.title h2:after{content:"";display:block;flex:1 1 40px;min-width:40px;height:1px;margin-left:20px;background-color:var(--lightest-slate)}.simple h2{justify-content:center}.simple h2:before,.simple h2:after{display:none}.title h3{position:relative;margin:10px 0 20px;font-size:16px;font-family:var(--font-secondary)}@media(min-width:560px){.title,.title h2,.title h2:before{font-size:22px}}@media(min-width:1000px){.title{margin:0 0 40px;font-size:26px}.title h2,.title h2:before{font-size:26px}.title h3{font-size:18px}}#hero-block__bg{position:absolute;inset:0}.hero-block__hello{margin:0 0 20px 2px;color:var(--font-hover-color);font-size:13px}.hero-block h2,.hero-block h3{margin:0;font-size:34px;line-height:1.15;font-family:var(--font-secondary);color:var(--lightest-slate)}.hero-block h3{margin:0 0 24px;color:var(--light-slate);line-height:1.15}.hero-block__description{margin:0 0 32px;max-width:530px;font-family:var(--font-secondary);color:var(--light-slate);line-height:1.7}.hero-block__meta{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 25px;color:var(--font-hover-color);font-size:13px}@media(min-width:560px){.hero-block h2,.hero-block h3{font-size:46px}}@media(min-width:760px){.hero-block h2,.hero-block h3{font-size:58px}.hero-block__meta{font-size:14px}}@media(min-width:1000px){.hero-block__hello{margin:0 0 30px 4px;font-size:14px}.hero-block h2,.hero-block h3{font-size:70px}.hero-block h3,.hero-block__description{margin:0 0 40px}}#canvas-container{position:absolute;top:0;left:0;height:100vh;width:100vw;z-index:-1}#canvas-container canvas{height:100%;width:100%}.photo{position:relative;z-index:3;height:auto;width:100%;max-width:320px;aspect-ratio:1/1;margin:0 auto;border-radius:10px;background-color:var(--background-main);border:2px solid var(--font-hover-color);transition:.3s}.photo:before{content:"";position:absolute;z-index:-1;top:8px;left:8px;height:100%;width:100%;border-radius:10px;border:2px solid var(--font-hover-color);transition:.3s}.photo:hover{outline:0;transform:translate(-4px,-4px)}.photo:hover:before{top:20px;left:20px}.photo img{height:100%;width:100%;border-radius:7px;object-fit:cover}@media(min-width:760px){.photo{max-width:350px;margin:0}.photo:before{top:10px;left:10px}.photo:hover:before{top:30px;left:30px}}.tab-list{display:flex;flex-direction:column;gap:20px}.tab-list__titles{display:flex;flex-direction:row;gap:4px;padding:0;margin:0;border-bottom:2px solid #242424}.tab-list__titles li{padding:12px 16px;white-space:nowrap;font-size:14px;font-family:var(--font-secondary);color:var(--light-slate);border-bottom:2px solid transparent;margin-bottom:-2px;list-style:none}.tab-list__titles li:hover{cursor:pointer;color:var(--font-hover-color);background:var(--background-main-light)}.tab-list__titles li.active{color:var(--font-hover-color);border-bottom:2px solid var(--font-hover-color);background:var(--background-main-light)}.tab-list__content{width:100%}.tab-list__content li{display:none;transition:.2s}.tab-list__content li.active{display:block}.tab-list__content li>h3{margin:0 0 3px;font-size:18px;font-family:var(--font-secondary);text-transform:capitalize}.tab-list__content li>h3 span{color:var(--font-hover-color)}.tab-list__content li>h3 span:before{content:"@"}.tab-list__content__range{margin:0 0 25px;color:#9b9b9b;font-family:var(--font-secondary);font-size:13px}.tab-list__content p{position:relative;padding:0 0 0 20px}.tab-list__content p:before{content:"\25b9";position:absolute;left:0;color:var(--font-hover-color)}@media(min-width:760px){.tab-list{flex-direction:row;gap:20px}.tab-list__titles{flex-direction:column;border-bottom:0}.tab-list__titles li{padding:15px 30px;border-bottom:0;border-left:3px solid #242424;margin-bottom:0}.tab-list__titles li.active{border-left:3px solid var(--font-hover-color);border-bottom:0}.tab-list__content li>h3{font-size:20px}.tab-list__content__range{font-size:14px}}.contacts h2,.contacts h3{margin:0 0 20px;text-align:center;font-size:30px;font-family:var(--font-secondary);color:var(--lightest-slate)}.contacts__description{margin:0 auto 40px;max-width:600px;text-align:center;font-size:16px;font-family:var(--font-secondary);color:var(--light-slate)}.contact-links{display:grid;justify-items:center;gap:16px}.contact-links__item{color:var(--font-hover-color);text-decoration:none}@media(min-width:560px){.contacts h2,.contacts h3{font-size:38px}}@media(min-width:1000px){.contacts h2,.contacts h3{font-size:50px}.contacts__description{margin:0 auto 50px;font-size:18px}}:root{--git-border-0: #3a3a3a;--git-background-0: #111111;--git-border-1: #5e8f39;--git-background-1: #436927;--git-border-2: #6aa63a;--git-background-2: #6aa63a;--git-border-3: #86d843;--git-background-3: #86d843;--git-border-4: #b7ff7a;--git-background-4: #b7ff7a}.git-calendar{padding:24px 20px;margin:0 auto 42px;width:100%;box-sizing:border-box;background:var(--background-main-light);border:1px solid #242424;box-shadow:inset 0 0 0 1px #98ff4d0d}.git-calendar table{margin:0 0 20px}.git-calendar__title{margin:0 0 24px;font-size:15px}.git-calendar__bar{display:flex;flex-direction:column-reverse;justify-content:space-between;gap:16px;padding-bottom:10px}.git-calendar__grid,.git-calendar__legend{width:max-content;min-width:100%}.git-calendar__grid{display:flex;gap:4px}.git-calendar__week{display:flex;flex-direction:column}.graph{height:9px;width:9px;margin:2px;border-radius:2px}.graph[data-level="0"]{border:1px solid var(--git-border-0);background:var(--git-background-0)}.graph[data-level="1"]{border:1px solid var(--git-border-1);background:var(--git-background-1)}.graph[data-level="2"]{border:1px solid var(--git-border-2);background:var(--git-background-2)}.graph[data-level="3"]{border:1px solid var(--git-border-3);background:var(--git-background-3)}.graph[data-level="4"]{border:1px solid var(--git-border-4);background:var(--git-background-4)}.git-calendar__legend{display:flex;justify-content:flex-start;gap:10px}@media(min-width:760px){.git-calendar{padding:40px 20px;margin-bottom:60px}.git-calendar__title{margin-bottom:30px}.git-calendar__grid,.git-calendar__legend{width:auto;min-width:0}.git-calendar__legend{justify-content:end}}.github-docs{display:grid;gap:14px;margin:0 0 44px;padding:18px;border:1px dashed #3a3a3a;background:#0c0c0c;box-shadow:inset 4px 0 #98ff4dd9}.github-docs__title{width:fit-content;padding:2px 8px;color:var(--font-hover-color);background:#050505;font-size:15px}.github-docs__body{display:grid;gap:7px}.github-docs__body p{margin:0;overflow-wrap:anywhere;color:var(--font-content-color);font-family:var(--font-primary);font-size:14px;line-height:1.5;white-space:pre-wrap}.github-docs__body p:nth-child(2){margin-left:18px}.github-docs__body p:nth-child(3){margin-left:7px;color:var(--light-slate)}.github-docs__body p:nth-child(4){max-width:720px}@media(min-width:760px){.github-docs{margin-bottom:58px;padding:22px 24px 20px}}.repositories__list{display:grid;grid-template-columns:1fr;gap:16px;margin:40px 0}@media(min-width:560px){.repositories__list{grid-template-columns:1fr 1fr}}@media(min-width:1100px){.repositories__list{grid-template-columns:1fr 1fr 1fr;gap:20px;margin:50px 0}}.project{display:flex;flex-direction:column;gap:18px;margin:0 0 56px}.project--right{flex-direction:column}.project--right .project__content{align-items:flex-start}.project__screenshot{display:block;width:100%;max-width:none;height:220px;box-shadow:0 10px 30px -15px #020c1bb3}.project__screenshot img{width:auto;height:100%}.project__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;width:100%;margin:0}.project__status{color:var(--font-hover-color);font-size:16px;font-weight:400}.project__name{margin:0 0 10px;font-size:22px;font-family:var(--font-secondary);color:var(--light-slate);font-weight:600}.project__description{z-index:5;box-sizing:border-box;width:100%;margin:0 0 20px;padding:18px;background:var(--background-main-light);font-family:var(--font-secondary);font-size:15px;box-shadow:0 10px 30px -15px #020c1bb2}.project__technologies{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}@media(min-width:900px){.project{flex-direction:row;gap:0;margin:0 0 100px}.project--right{flex-direction:row-reverse}.project--right .project__content{align-items:flex-start;margin-left:auto;margin-right:-50px}.project__screenshot{max-width:580px;height:360px}.project__content{align-items:flex-end;margin-left:-50px}.project__status{font-size:18px}.project__name{font-size:28px}.project__description{width:auto;padding:25px;font-size:18px}}.tooltip{display:none;position:absolute;background-color:#111;color:#f2f2f2;padding:5px;border-radius:5px;z-index:1}.graph:hover .tooltip{display:block}.bot__wrapper{position:fixed;display:flex;justify-content:center;z-index:999;right:16px;bottom:16px;height:120px;width:120px}.bot__wrapper svg{fill:#98ff4d}.bot__chat{padding:20px}@media(min-width:900px){.bot__wrapper{right:100px;bottom:30px;height:200px;width:200px}}.repository-card{position:relative;padding:20px 22px;background-color:#101010;box-shadow:0 10px 30px -15px #020c1bb2;border:1px solid #242424;transition:linear .3s}.repository-card:hover{cursor:pointer;box-shadow:0 0 0 1px #98ff4d40}.repository-card:hover .repository-card__title{color:var(--font-hover-color)}.repository-card__top{display:flex;justify-content:space-between;margin:0 0 28px}.repository-card__folder svg{height:36px;width:36px;color:var(--font-hover-color)}.repository-card__links{position:relative;z-index:9;display:flex;gap:15px}.repository-card__links svg{height:22px;width:22px;color:var(--light-slate)}.repository-card__links a:hover svg{color:var(--font-hover-color)}.repository-card__title{display:block;margin:0 0 10px;color:var(--primary-color);font-family:var(--font-secondary);line-height:1.4;font-size:19px;text-decoration:none}.repository-card__title:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%}.repository-card__content{margin:0 0 15px;color:var(--light-slate);font-family:var(--font-secondary);line-height:1.4;font-size:15px}.repository-card__footer{display:flex;gap:10px}.repository-card__footer span{font-size:13px;color:var(--primary-color);opacity:.8;font-family:var(--font-secondary)}@media(min-width:760px){.repository-card{padding:28px 32px}.repository-card__top{margin-bottom:35px}.repository-card__folder svg{height:40px;width:40px}.repository-card__title{font-size:20px}}app-site-footer{flex-shrink:0;width:100%;display:flex;justify-content:center;padding:32px 0 20px;z-index:99}footer{width:100%;max-width:1000px;padding:0 20px;box-sizing:border-box}@media(min-width:560px){footer{padding:0 32px}app-site-footer{padding:40px 0 28px}}@media(min-width:1000px){footer{padding:0 50px}}@media(min-width:1300px){footer{padding:0 100px}}.footer-terminal{display:grid;grid-template-columns:1fr;gap:8px;padding:18px 20px;border:1px solid #242424;background:var(--background-main-light)}.footer-terminal__line{overflow-wrap:anywhere;color:var(--light-slate);font-size:13px}@media(min-width:560px){.footer-terminal{grid-template-columns:repeat(2,1fr);gap:10px;padding:24px}.footer-terminal__line{font-size:14px}}.lead-popup{position:fixed;left:12px;right:12px;bottom:12px;z-index:1200;width:auto;max-height:82dvh;overflow-y:auto;border:1px solid #242424;background:#101010fa;box-shadow:0 18px 40px #00000073}.lead-popup--minimized{width:auto;max-height:none;overflow:visible}.lead-popup__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #242424}.lead-popup__title{color:var(--lightest-slate)}.lead-popup__status{margin-top:4px;color:var(--font-hover-color);font-size:12px}.lead-popup__actions{display:flex;gap:8px}.lead-popup__icon{min-width:28px;height:28px;border:1px solid #2f2f2f;background:transparent;color:var(--font-primary-color)}.lead-popup__body{display:grid;gap:14px;padding:16px}.lead-popup__message{padding:12px;border:1px solid #242424;background:#0b0b0b;color:var(--light-slate);line-height:1.6}.lead-popup__prompts{display:flex;flex-wrap:wrap;gap:8px}.lead-popup__prompt{padding:8px 10px;border:1px solid #2c2c2c;background:transparent;color:var(--font-content-color);text-align:left}.lead-popup__prompt:hover,.lead-popup__icon:hover{color:var(--font-hover-color);border-color:var(--font-hover-color)}.lead-popup__label{color:var(--lightest-slate);font-size:13px}.lead-popup__textarea{width:100%;resize:vertical;min-height:100px;padding:12px;border:1px solid #2c2c2c;background:#090909;box-sizing:border-box;color:var(--primary-color);font:inherit}.lead-popup__textarea::placeholder{color:var(--font-content-color)}.lead-popup__send{justify-content:center;width:100%;max-width:none}@media(min-width:560px){.lead-popup{left:auto;right:24px;bottom:24px;width:380px;max-height:none;overflow:visible}.lead-popup--minimized{width:280px}.lead-popup__textarea{min-height:120px}}@media(prefers-reduced-motion:no-preference){::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-group(page-content){animation:none;overflow:clip}::view-transition-old(page-content),::view-transition-new(page-content){animation-duration:.62s;animation-timing-function:cubic-bezier(.65,0,.35,1);animation-fill-mode:both;transform-origin:center;will-change:clip-path,opacity,transform,filter}::view-transition-old(page-content){animation-name:page-wipe-out}::view-transition-new(page-content){animation-name:page-wipe-in}}@keyframes page-wipe-out{0%{opacity:1;clip-path:inset(0 0 0 0);transform:translate(0) skew(0) scale(1);filter:blur(0) brightness(1) saturate(1)}to{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-28px) skew(-2deg) scale(.985);filter:blur(6px) brightness(.68) saturate(.72)}}@keyframes page-wipe-in{0%{opacity:0;clip-path:inset(0 0 0 100%);transform:translate(28px) skew(2deg) scale(.985);filter:blur(6px) brightness(.68) saturate(.72)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translate(0) skew(0) scale(1);filter:blur(0) brightness(1) saturate(1)}}
