@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:300;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-300-DY0RiUhr.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:300;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-300italic-Cj0cv-si.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-regular-DjSKT3ac.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:400;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-italic-DyFKLmcR.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-500-D4vP8KEK.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:500;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-500italic-PH0s0PyQ.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-600-DG4NQsIw.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:600;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-600italic-Ckcmk16e.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:700;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-700-CrnP-mbf.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:700;src:url(/assets/jetbrains-mono-v23-cyrillic_latin-700italic-Bf0UjgD6.woff2) format("woff2")}:root{--background: hsl(218, 12%, 18%);--background-op: hsla(218, 12%, 18%, .95);--primary: hsl(91, 91%, 74%);--primary-op: hsla(91, 91%, 74%, .1);--gray: hsl(219, 14%, 71%);--gray-op: hsla(219, 14%, 71%, .1);--white: hsl(0, 0%, 100%);--error: hsl(0, 100%, 71%);font-family:JetBrains Mono,monospace;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--white);background-color:var(--background);font-synthesis:none;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,a,img,ol,ul,li,fieldset,form,label,article,aside,details,header,nav,section,summary{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html,body{overflow-x:hidden;max-width:100%}*{box-sizing:border-box;max-width:100%}a{text-decoration:none;color:inherit}ul{list-style:none}img,picture{max-width:100%;display:block;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}figure{display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:2.5rem;margin-inline-end:2.5rem;unicode-bidi:isolate}section{width:100%;display:block;unicode-bidi:isolate}.container{width:100%;max-width:1024px;margin:0 auto;position:relative;overflow-x:hidden}.content{margin-top:7rem;flex:1;display:flex;flex-direction:column;align-items:center;gap:8rem}.logo{display:flex;align-items:center;gap:.5rem;color:inherit}.logo_img{aspect-ratio:1;width:1.5rem}.logo_name{font-weight:700}@media (max-width: 1024px){.container{padding:0 1rem}}@media (max-width: 768px){.content{margin-top:6rem;gap:6rem}}@media (max-width: 350px){html{transform:scale(calc(100vw / 350));transform-origin:top left;width:350px}}.empty_list,.skills_loading p,.skills_error p,.projects_loading p,.projects_error p,.facts_loading p,.facts_error p,.education_loading p,.education_error p{color:var(--gray);font-style:italic;padding:16px;text-align:center}.skills_error p,.projects_error p,.facts_error p,.education_error p{color:var(--error)}.button{display:inline-block;padding:8px 16px;font-weight:400;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;transition:background-color .2s ease;cursor:pointer}.button.primary{border:1px solid var(--primary)}.button.primary:after{content:" ->"}.button.primary:hover{background-color:var(--primary-op)}.button.gray{border:1px solid var(--gray)}.button.gray:hover{background-color:var(--gray-op)}.button:disabled,.button[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.button:disabled:hover,.button[disabled]:hover{background-color:transparent}.button:disabled:after,.button[disabled]:after{content:""}.subtitle{font-size:2rem;font-weight:500;position:relative;float:none;clear:both;display:inline-block}.subtitle:before{content:"$";color:var(--primary)}.subtitle:after{content:"";display:block;width:min(10vw,100px);height:1px;background-color:var(--primary);position:absolute;transform:translate(100%,-50%);right:-1rem;top:50%}@media (max-width: 768px){.subtitle:after{width:min(8vw,60px)}}@media (max-width: 305px){.subtitle:after{display:none}.subtitle{font-size:1.75rem}}.path{align-self:start;display:block;width:100%}.path_name{font-size:2rem;font-weight:600}.path_name:before{content:"/";color:var(--primary)}.path_description{color:var(--gray);margin-top:1rem}.header{padding-top:1.5rem;padding-bottom:1rem;background-color:var(--background);position:fixed;top:0;width:100%;z-index:1000}.header_inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;position:relative}.header_nav{margin-left:auto;display:flex;align-items:center;gap:2rem}.header_nav a:before{content:"$";color:var(--primary);font-weight:400}.header_link{color:var(--gray);transition:color .2s ease}.header_link:hover{color:var(--white)}.header_nav a.active{color:var(--white);font-weight:700}button.locale{display:flex;position:relative;top:1.5px;width:48px;gap:4px;border:none;cursor:pointer;color:var(--gray);background-color:inherit}.locale_icon{width:14px;aspect-ratio:1}.hamburger{display:none;flex-direction:column;background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;padding:8px;width:2.5rem;height:2.5rem;justify-content:center;align-items:center;gap:4px;z-index:1001;transition:all .3s ease;position:relative}.hamburger span{display:block;height:2px;width:18px;background-color:var(--white);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);transform-origin:center;border-radius:1px}.hamburger.active{transform:rotate(180deg)}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0;transform:scale(0)}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile_menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;height:100dvh;background-color:var(--background);transition:right .3s ease;z-index:1000;display:flex;flex-direction:column;padding:6rem 2rem 2rem;gap:2rem;overflow-y:auto}.mobile_menu.open{right:0}.mobile_nav{display:flex;flex-direction:column;gap:1.5rem;flex:1}.mobile_link{color:var(--gray);font-size:1.1rem;transition:color .2s ease;padding:.2rem 0;border-bottom:1px solid transparent}.mobile_link:before{content:"$";color:var(--primary);margin-right:.5rem}.mobile_link:hover,.mobile_link.active{color:var(--white);border-bottom-color:var(--primary)}.mobile_locale{display:flex;gap:4px;justify-content:center;align-items:center;padding:1rem 0;border-top:1px solid var(--gray-op);border-bottom:1px solid var(--gray-op)}.mobile_locale button.locale{width:auto;background-color:inherit;font-size:.9rem;color:var(--gray)}button.locale:hover{filter:brightness(0) invert(1)}.mobile_social{display:flex;gap:1rem;justify-content:center;padding:1rem 0;margin-top:auto}.mobile_social_link{display:flex;width:32px;height:32px;align-items:center;justify-content:center;transition:transform .2s ease}.mobile_social_link:hover{transform:scale(1.1)}.mobile_social_link img{width:80%;height:80%;transition:filter .2s ease}.mobile_social_link:hover img{filter:brightness(0) invert(1)}.menu_overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background-color:#00000080;z-index:999}@media (max-width: 1024px){.header_nav,button.locale{display:none}.hamburger{display:flex}.mobile_locale button.locale{display:flex;gap:4px}}.footer{width:100%;border-top:1px solid var(--gray-op);margin-top:5rem;padding-top:2.5rem;padding-bottom:1rem}.media_list{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media{display:flex;width:32px;aspect-ratio:1;align-items:center;justify-content:center;transition:transform .2s ease}.media:hover{transform:scale(1.1)}.media_icon{width:80%;aspect-ratio:1;transition:filter .2s ease}.media_icon:hover{filter:brightness(0) invert(1)}.copyright{color:var(--gray);text-align:center}.contacts_form{display:flex;flex-direction:column;justify-items:center;width:22rem}.form_group{width:100%;margin-bottom:1rem}.form_input,.form_textarea{width:100%;padding:.75rem;border:1px solid var(--gray);background-color:var(--background);color:var(--white);font-family:inherit;font-size:.9rem;font-weight:400;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.form_input:focus,.form_textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.form_input_error,.form_textarea_error{border-color:var(--error);box-shadow:0 0 0 2px #ff6b6b33}.form_input_error:focus,.form_textarea_error:focus{border-color:var(--error);box-shadow:0 0 0 2px #ff6b6b4d}.form_input::placeholder,.form_textarea::placeholder{color:var(--gray)}.form_submit{width:100%;padding:.75rem 0;color:var(--white);background-color:var(--background);border:1px solid var(--primary);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;transition:background-color .2s ease}.form_submit:hover:not(:disabled){background-color:var(--primary-op)}.form_submit:disabled{opacity:.6;cursor:not-allowed}.form_message{padding:.5rem;text-align:center;font-size:.9rem}.form_message.success{color:var(--primary);border:1px solid var(--primary);background-color:var(--primary-op)}.form_message.error{color:var(--error);border:1px solid var(--error);background-color:#ff6b6b1a}.form_error{display:block;color:var(--error);font-size:.8rem;margin-top:.25rem;margin-bottom:.5rem;font-weight:400;line-height:1.2}.form_status{margin-top:.5rem}.form_group{position:relative}.form_input,.form_textarea{border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width: 768px){.contacts_form,.contacts_description{max-width:100%}}.project{border:1px solid var(--gray);max-width:100%;overflow:hidden}.project_image{border-bottom:1px solid var(--gray);aspect-ratio:16 / 9;width:100%;object-fit:cover}.placeholder{font-size:1.5rem;color:var(--gray);display:flex;align-items:center;justify-content:center}.project_stack{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--gray);padding:8px;border-bottom:1px solid var(--gray)}.project_content{padding:16px}.project_name{font-size:24px;font-weight:500}.project_description{color:var(--gray);margin:16px 0;line-height:1.5}.project_links{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 768px){.project_name{font-size:20px}.project_content{padding:12px}.project_description{margin:12px 0}}.quote{border:1px solid var(--gray);position:relative;margin:0;max-width:100%}.quote:before,.quote:after{content:'"';position:absolute;color:var(--gray);font-size:4rem;font-weight:700;background-image:linear-gradient(var(--background),var(--background));background-size:100% 40%;background-repeat:no-repeat}.quote:before{top:-32px;left:16px}.quote:after{bottom:-64px;right:16px}.quote_text{padding:2rem;font-size:1.5rem;font-weight:500;background-color:var(--background)}.quote_author{position:absolute;color:var(--gray);border:1px solid var(--gray);padding:.75rem .5rem .5rem;right:-1px;font-size:1rem}.quote_author:before{content:"-";margin-right:4px}@media (max-width: 768px){.quote_text{padding:1.5rem;font-size:1.25rem}.quote:before,.quote:after{font-size:3rem}.quote:before{top:-24px;left:12px}.quote:after{bottom:-48px;right:12px}}.skill-block{margin-bottom:1rem;border:1px solid var(--gray);display:inline-block;max-width:18.75rem;min-width:12.5rem;flex-grow:1;flex-shrink:1;flex-basis:0;overflow:hidden}.skill-block_title{font-weight:600;padding:.5rem;border-bottom:1px solid var(--gray);background-color:var(--background)}.skill-block_items{padding:8px;display:flex;flex-wrap:wrap;gap:8px;justify-content:start;align-items:start;color:var(--gray)}.skill-block_item:before{content:"•";color:var(--primary);margin-right:4px}.skill-block_item.empty{color:var(--gray);font-style:italic;text-align:center;width:100%}.skill-block_item.empty:before{content:""}@media (max-width: 768px){.skill-block{min-width:10rem;max-width:100%}}@media (max-width: 480px){.skill-block{min-width:100%;margin-bottom:.5rem}}.intro{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;max-width:100%}.intro_content,.intro_composition{flex:1 0 0;max-width:100%}.intro_title{min-width:15rem;font-size:2rem;font-weight:700}.intro_title span{color:var(--primary)}.intro_description{font-size:1rem;line-height:1.5;color:var(--gray);margin:2rem 0}.intro_buttons{display:flex;gap:1rem;flex-wrap:wrap}.intro_composition{position:relative;display:inline-block;max-width:100%}.intro_circle{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;border:2px solid var(--white);border-radius:50% 40% 60%;box-shadow:0 0 48px 8px var(--primary),inset 0 0 48px 8px var(--primary);-webkit-box-shadow:0 0 48px 8px var(--primary),inset 0 0 48px 8px var(--primary);-moz-box-shadow:0 0 48px 8px var(--primary),inset 0 0 48px 8px var(--primary);background:transparent;pointer-events:none;transform:scale(.8);-webkit-transform:scale(.8);-moz-transform:scale(.8)}.intro_avatar{display:block;width:100%;height:auto;z-index:2;position:relative;border-bottom:1px solid var(--primary);min-width:15rem;max-width:30rem}.intro_status{position:absolute;bottom:-2rem;left:50%;transform:translate(-50%);padding:.5rem;border:1px solid var(--gray);background-color:var(--background);color:var(--gray);display:inline-flex;justify-content:center;align-items:center;z-index:3;font-weight:500;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intro_status:before{content:"";display:inline-block;aspect-ratio:1;width:.9rem;background-color:var(--primary-op);border:1px solid var(--primary);margin-right:.5rem}.intro_status:after{content:"";display:inline-block;width:.5rem;overflow:hidden;vertical-align:bottom;animation:idle 1.25s infinite;margin-left:1px}@keyframes idle{0%{content:""}to{content:"_"}}@media (max-width: 768px){.intro{flex-direction:column;text-align:center}.intro_circle{box-shadow:0 0 16px 4px var(--primary),inset 0 0 32px 8px var(--primary);-webkit-box-shadow:0 0 16px 4px var(--primary),inset 0 0 32px 8px var(--primary);-moz-box-shadow:0 0 16px 4px var(--primary),inset 0 0 32px 8px var(--primary)}.intro_buttons{justify-content:center}}@media (max-width: 480px){.intro_title{font-size:1.5rem;min-width:auto}.intro_avatar{min-width:12rem}}.projects_header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:3rem;gap:1rem}.projects_link{text-decoration:underline;transition:color .2s ease}.projects_link:after{content:" ~~>";font-size:1rem}.projects_link:hover{color:var(--primary)}.project_list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start;margin-top:3rem}@media (max-width: 1024px){.project_list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width: 700px){.projects_header{margin-bottom:2rem}.project_list{margin-top:2rem;grid-template-columns:1fr}}@media (max-width: 420px){.projects_link{font-size:0}.projects_link:after{content:"~~~>";font-size:1rem}}.skills_header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:1rem;gap:1rem}.skills_link{text-decoration:underline;transition:color .2s ease}.skills_link:after{content:" ~~>";font-size:1rem}.skills_link:hover{color:var(--primary)}.skills_content{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1rem;max-width:100%}.skills_composition,.skills_list{flex:1 0 0;max-width:100%}.skills_composition{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem}.cat{display:flex;min-width:20rem;max-width:20rem;align-self:center;justify-self:center;scale:1.3;z-index:0}.skills_list{gap:1rem;columns:2;column-gap:1rem;align-self:center;z-index:1}@media (max-width: 552px){.skills_composition{min-width:15rem}.skills_list{columns:2}}@media (max-width: 422px){.skills_list{columns:1}}@media (max-width: 420px){.skills_link{font-size:0}.skills_link:after{content:"~~~>";font-size:1rem}}.about{display:flex;gap:2rem;flex-wrap:wrap;justify-content:space-between;align-items:center}.about_content{flex:1 1 0;min-width:250px}.about_text{margin-bottom:32px;margin-top:48px;display:flex;flex-direction:column;gap:16px}.about_description{color:var(--gray)}.about_image{flex:1 1 0;min-width:20rem;border-bottom:1px solid var(--primary)}@media (max-width: 350px){.about_content,.about_image{min-width:100%}}.education_content{display:flex;flex-direction:column;gap:48px;margin-top:48px}.education_subsection_title{width:fit-content;font-size:1rem;font-weight:500;margin-bottom:16px;border-bottom:1px solid var(--gray-op);padding-bottom:8px;padding-right:1rem}.education_subsection_title:before{content:"~. ";color:var(--primary)}.education_list{display:flex;flex-direction:column;gap:16px}.education_item{display:flex;gap:24px;padding:16px;border:1px solid var(--gray-op)}.education_period{display:flex;align-items:center;flex-direction:column;min-width:100px;gap:8px}.education_years{font-weight:500;font-size:.9rem;color:var(--primary)}.education_status{font-size:.75rem;padding:4px 8px;background:var(--primary-op);border:solid 1px var(--primary);font-weight:500;width:fit-content}.education_details{flex:1;display:flex;flex-direction:column;gap:8px}.education_institution{font-size:1rem;font-weight:500;color:var(--white);margin:0}.education_degree{font-size:.875rem;color:var(--gray);margin:0}.education_location{font-size:.8rem;font-weight:300;font-style:italic;color:var(--gray);margin:0}@media (max-width: 768px){.education_content{gap:32px;margin-top:32px}.education_item{flex-direction:column;gap:16px}.education_period{flex-direction:row;justify-content:space-between;align-items:center;min-width:auto}}@media (max-width: 480px){.education_item{padding:12px}.education_period{align-items:flex-start;gap:4px}}.contacts{width:100%;max-width:100%}.contacts_content{display:flex;justify-content:space-between;gap:2rem}.contacts_info{display:flex;flex-direction:column;gap:1rem}.contacts_description{margin-top:2rem;margin-bottom:1rem;color:var(--gray);max-width:30rem;line-height:1.5}.contacts_media{display:grid;gap:1rem;width:fit-content}.media_title{width:fit-content;display:flex;gap:.5rem;align-items:center;color:var()}.contacts-link{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;width:fit-content;color:var(--gray);transition:all .2s ease}.contacts-link:hover{color:var(--primary)}.contacts-link_icon{width:20px;height:20px;flex-shrink:0}.contacts-link_text{font-size:.9rem;font-weight:400}@media (max-width: 768px){.contacts_content{flex-direction:column;align-items:center;text-align:center}.contacts_info{width:100%;max-width:400px;align-items:center;text-align:center}.contacts_media{display:flex;justify-content:center}.contacts-link_text{display:none}}.facts_content{display:flex;align-items:start;flex-wrap:wrap}.facts_list{margin-top:48px;display:flex;gap:16px;align-items:start;flex-wrap:wrap}.fact{padding:8px;color:var(--gray);border:1px solid var(--gray)}
