/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}#__next,body,html{min-width:100vw;min-height:100vh;overflow-x:hidden;font-family:Poppins,sans-serif;background-color:var(--bg-color);color:var(--text-dim);display:flex;flex-direction:column;line-height:1.5rem;font-weight:400}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:Righteous,sans-serif;font-weight:inherit;color:var(--text)}ul{list-style-type:none}ul a{cursor:pointer}.blog,.dashboard,.hero,.projects{padding:0 1.5rem;margin-right:8px}.container{width:100%;max-width:64rem;margin:0 auto}@media(max-width:64rem){.container{max-width:56rem}}@media(max-width:56rem){.container{max-width:42rem}}@media(max-width:42rem){.container{max-width:36rem}}.loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nav,.nav__list{display:flex}.nav__list{list-style-type:none;justify-content:flex-start;align-items:center;margin:0;padding:0}.nav__link{position:relative;padding:.25rem .75rem;border-radius:.5rem}.nav__link:hover{background-color:var(--hover-bg)}.nav__link:focus-visible{outline:1px solid var(--hover-bg)}.nav .active{font-weight:500;color:var(--text)}.header{height:6rem;min-height:4rem;max-height:6rem;display:flex;justify-content:space-between;align-items:center;z-index:100000;padding:0 1.5rem}.theme__toggler{margin-left:auto}.theme__toggler a{cursor:pointer;padding:.4rem;border-radius:.25rem;display:flex;justify-content:center;align-items:center;transition:.2s ease}.theme__toggler a:active,.theme__toggler a:hover{background-color:var(--hover-bg);outline:2px solid var(--border-color)}.theme__toggler a:active svg,.theme__toggler a:hover svg{color:var(--text)}.footer{width:100%;min-height:14rem;display:flex}.footer__section{width:100%;padding:2rem;text-align:left}.footer__section__logo{width:50%;background-color:var(--text)}.footer__section__logo .logo{font-size:4rem;margin:0;color:var(--bg-color)!important}.footer .nav__list{flex-direction:column;align-items:flex-start}.footer .nav__list li{margin-bottom:1rem}@media(max-width:58rem){.footer{flex-direction:column-reverse;padding:0}.footer__section{width:100%;padding:0 1rem}.footer__section__logo{padding:1rem 2rem;width:auto}.footer:after{content:"";width:100%;height:2px;background-color:var(--border-color);display:block;margin:2rem 0}}.social .nav__list{flex-direction:row!important}.social .nav__link{height:1rem;width:1rem;display:flex;justify-content:center;align-items:center;padding:.5rem}.social .nav__link:hover svg{color:var(--text)}.content{height:100%;flex-direction:column;justify-content:center;align-items:center;flex-grow:1}.content,.hero{display:flex}.hero__left,.hero__right{flex:1 1}.hero__left{display:flex;flex-direction:column;padding-right:4rem}.hero__left .logo{font-size:3rem;color:var(--primary);margin:0}.hero__right{height:100%;display:flex;justify-content:center;align-items:center}.hero__image{width:16rem;height:24rem;position:relative}.hero__image:before,.hero__image__wrapper{width:16rem;height:24rem;overflow:hidden;border-radius:1rem;position:absolute}.hero__image__wrapper{z-index:10;position:relative}.hero__image:before{content:"";background-color:var(--primary);z-index:9}.hero__image img{height:100%;width:auto;position:absolute;left:-2rem}@media(max-width:58rem){.hero{flex-direction:column-reverse}.hero .logo{line-height:1.25;margin-top:1rem}.hero__left{padding:0}.hero__right{justify-content:flex-start}.hero__image,.hero__image:before,.hero__image__wrapper{width:10rem;height:10rem}.hero img{width:100%;height:auto;left:0}}.tech__list{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0}.tech__list li:before{content:"🌟";margin-right:.5rem}@media(max-width:58rem){.tech__list{grid-template-columns:1fr 1.5fr}}.projects{margin-bottom:5rem}.projects>h1{margin-bottom:3rem}.projects__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2.5rem;gap:2.5rem}@media(max-width:58rem){.projects__grid{grid-template-columns:1fr}}.project{min-height:12.5rem;display:flex;flex-direction:column;border-radius:1rem;border:1px solid var(--border-color);padding:1.5rem;cursor:pointer}@media(max-width:58rem){.project{min-height:10rem}}.project h2{margin:0 0 .5rem}.project p{margin:0 0 1.5rem}.project__tags{margin-top:.5rem;display:flex;grid-gap:.5rem;gap:.5rem;flex-wrap:wrap}.project__tag{background-color:var(--hover-bg);color:var(--text);font-size:.875rem}.project__link,.project__tag{padding:.25rem .75rem;border-radius:.25rem}.project__link{margin-top:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:rgba(var(--primary-rgb),.1);color:var(--primary);cursor:pointer;font-weight:500}.project__link:hover{background-color:rgba(var(--primary-rgb),.2)}.blog{height:100%;margin-bottom:auto}.blog>h1{margin-top:0}.post{max-width:42rem;width:90%;margin-bottom:2.5rem}.post a{text-decoration:underline}.post a:hover{background-color:var(--hover-bg)}.post p{line-height:1.75}.post__list{padding:0 1.5rem;width:calc(100% - 3rem)}.post__link{display:block;padding:1rem 1.5rem;border:1px solid var(--border-color);border-radius:.5rem;transition:.1s ease;margin-bottom:1rem}.post__link:active,.post__link:hover{outline:4px solid var(--border-color)}.post__link h4{margin:0;font-size:1.25rem;line-height:1.5}.post__link p{margin:0}.post__meta{display:flex;justify-content:space-between}.post pre code{padding:0}.post code{background-color:var(--hover-bg);padding:.2rem .4rem;border-radius:.25rem;color:var(--text)}.post blockquote{color:var(--text);border-left:4px solid var(--red);background-color:var(--border-color);padding:1rem;margin:0}.post blockquote p{margin:0}@media(max-width:58rem){.post__link,.post__list{padding:0;width:100%}.post__link{border:0;margin:1.5rem 0}.post__link:active,.post__link:hover{outline:none}.post__title{margin-top:0;line-height:1.25}.post__meta{flex-direction:column}}.mdx__image{width:100%}.mdx__image__wrap{width:100%;max-height:22rem;overflow:hidden;border-radius:.25rem}.mdx__image__wrap img{width:100%!important;height:auto!important}.mdx__image__ref{display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-size:10px;margin:.25rem 0 .25rem auto}::-webkit-scrollbar-thumb{background-color:#5f5f5f}::-webkit-scrollbar{background-color:#363636;width:8px;height:8px}::-moz-selection{background-color:var(--primary);color:var(--bg-color)}::selection{background-color:var(--primary);color:var(--bg-color)}code[class*=language-],pre[class*=language-]{background:#282c34;color:#abb2bf;text-shadow:0 1px rgba(0,0,0,.3);font-family:Fira Code,Fira Mono,Menlo,Consolas,DejaVu Sans Mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-]{padding:.2em .3em;border-radius:.3em;white-space:normal}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}.token.cdata,.token.comment,.token.prolog{color:#5c6370}.token.doctype,.token.entity,.token.punctuation{color:#abb2bf}.token.atrule,.token.attr-name,.token.boolean,.token.class-name,.token.constant,.token.number{color:#d19a66}.token.keyword{color:#c678dd}.token.deleted,.token.important,.token.property,.token.symbol,.token.tag{color:#e06c75}.token.attr-value,.token.attr-value>.token.punctuation,.token.builtin,.token.char,.token.inserted,.token.regex,.token.selector,.token.string{color:#98c379}.token.function,.token.operator,.token.variable{color:#61afef}.token.url{color:#56b6c2}.token.attr-value>.token.punctuation.attr-equals,.token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}.language-css .token.selector{color:#e06c75}.language-css .token.property{color:#abb2bf}.language-css .token.function,.language-css .token.url>.token.function{color:#56b6c2}.language-css .token.url>.token.string.url{color:#98c379}.language-css .token.atrule .token.rule,.language-css .token.important,.language-javascript .token.operator{color:#c678dd}.language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}.language-json .token.operator{color:#abb2bf}.language-json .token.null.keyword{color:#d19a66}.language-markdown .token.url,.language-markdown .token.url-reference.url>.token.string,.language-markdown .token.url>.token.operator{color:#abb2bf}.language-markdown .token.url>.token.content{color:#61afef}.language-markdown .token.url-reference.url,.language-markdown .token.url>.token.url{color:#56b6c2}.language-markdown .token.blockquote.punctuation,.language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}.language-markdown .token.code-snippet{color:#98c379}.language-markdown .token.bold .token.content{color:#d19a66}.language-markdown .token.italic .token.content{color:#c678dd}.language-markdown .token.list.punctuation,.language-markdown .token.strike .token.content,.language-markdown .token.strike .token.punctuation,.language-markdown .token.title.important>.token.punctuation{color:#e06c75}.token.bold{font-weight:700}.token.comment,.token.italic{font-style:italic}.token.entity{cursor:help}.token.namespace{opacity:.8}.token.token.cr:before,.token.token.lf:before,.token.token.space:before,.token.token.tab:not(:empty):before{color:hsla(220,14%,71%,.15);text-shadow:none}div.code-toolbar>.toolbar.toolbar>.toolbar-item{margin-right:.4em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span{background:#3a3f4b;color:#828997;padding:.1em .4em;border-radius:.3em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:hover{background:#3e4451;color:#abb2bf}.line-highlight.line-highlight{background:rgba(153,187,255,.04)}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{background:#3a3f4b;color:#abb2bf;padding:.1em .6em;border-radius:.3em;box-shadow:0 2px 0 0 rgba(0,0,0,.2)}pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(153,187,255,.04)}.command-line .command-line-prompt,.line-numbers.line-numbers .line-numbers-rows{border-right-color:hsla(220,14%,71%,.15)}.command-line .command-line-prompt>span:before,.line-numbers .line-numbers-rows>span:before{color:#636d83}.rainbow-braces .token.token.punctuation.brace-level-1,.rainbow-braces .token.token.punctuation.brace-level-5,.rainbow-braces .token.token.punctuation.brace-level-9{color:#e06c75}.rainbow-braces .token.token.punctuation.brace-level-2,.rainbow-braces .token.token.punctuation.brace-level-6,.rainbow-braces .token.token.punctuation.brace-level-10{color:#98c379}.rainbow-braces .token.token.punctuation.brace-level-3,.rainbow-braces .token.token.punctuation.brace-level-7,.rainbow-braces .token.token.punctuation.brace-level-11{color:#61afef}.rainbow-braces .token.token.punctuation.brace-level-4,.rainbow-braces .token.token.punctuation.brace-level-8,.rainbow-braces .token.token.punctuation.brace-level-12{color:#c678dd}pre.diff-highlight>code .token.token.deleted:not(.prefix),pre>code.diff-highlight .token.token.deleted:not(.prefix){background-color:rgba(255,82,102,.15)}pre.diff-highlight>code .token.token.deleted:not(.prefix)::-moz-selection,pre.diff-highlight>code .token.token.deleted:not(.prefix) ::-moz-selection,pre>code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection,pre>code.diff-highlight .token.token.deleted:not(.prefix) ::-moz-selection{background-color:rgba(251,86,105,.25)}pre.diff-highlight>code .token.token.deleted:not(.prefix)::selection,pre.diff-highlight>code .token.token.deleted:not(.prefix) ::selection,pre>code.diff-highlight .token.token.deleted:not(.prefix)::selection,pre>code.diff-highlight .token.token.deleted:not(.prefix) ::selection{background-color:rgba(251,86,105,.25)}pre.diff-highlight>code .token.token.inserted:not(.prefix),pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:rgba(25,255,91,.15)}pre.diff-highlight>code .token.token.inserted:not(.prefix)::-moz-selection,pre.diff-highlight>code .token.token.inserted:not(.prefix) ::-moz-selection,pre>code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection,pre>code.diff-highlight .token.token.inserted:not(.prefix) ::-moz-selection{background-color:rgba(56,224,98,.25)}pre.diff-highlight>code .token.token.inserted:not(.prefix)::selection,pre.diff-highlight>code .token.token.inserted:not(.prefix) ::selection,pre>code.diff-highlight .token.token.inserted:not(.prefix)::selection,pre>code.diff-highlight .token.token.inserted:not(.prefix) ::selection{background-color:rgba(56,224,98,.25)}.prism-previewer-gradient.prism-previewer-gradient div,.prism-previewer.prism-previewer:before{border-color:#262931}.prism-previewer-color.prism-previewer-color:before,.prism-previewer-easing.prism-previewer-easing:before,.prism-previewer-gradient.prism-previewer-gradient div{border-radius:.3em}.prism-previewer.prism-previewer:after{border-top-color:#262931}.prism-previewer-flipped.prism-previewer-flipped.after{border-bottom-color:#262931}.prism-previewer-angle.prism-previewer-angle:before,.prism-previewer-easing.prism-previewer-easing,.prism-previewer-time.prism-previewer-time:before{background:#31363f}.prism-previewer-angle.prism-previewer-angle circle,.prism-previewer-time.prism-previewer-time circle{stroke:#abb2bf;stroke-opacity:1}.prism-previewer-easing.prism-previewer-easing circle,.prism-previewer-easing.prism-previewer-easing line,.prism-previewer-easing.prism-previewer-easing path{stroke:#abb2bf}.prism-previewer-easing.prism-previewer-easing circle{fill:transparent}@import"https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;700&display=swap";:root{--red:#ed5c5a;--green:#98c379;--blue:#28a0ff;--yellow:#e3b505;--purple:#c64edd;--primary:var(--blue);--primary-rgb:40,160,255;--secondary:var(--purple);--bg-color:#111;--text:#fff;--text-dim:hsla(0,0%,100%,0.7);--hover-bg:hsla(0,0%,100%,0.1);--border-color:hsla(0,0%,100%,0.2)}[data-theme=light]{--blue:#007dff;--bg-color:#eff2f1;--text:#000;--text-dim:rgba(0,0,0,0.7);--hover-bg:rgba(0,0,0,0.1);--border-color:rgba(0,0,0,0.2)}.resume{background-color:#fff;color:#333!important;display:flex;flex-direction:column;width:21cm;height:29.7cm;border:1px solid #fff;margin:auto auto 2.5rem}.resume *{font-family:Poppins,serif!important;line-height:1.25;font-size:.9rem;margin:0;padding:0;color:inherit}.resume h1{font-size:1.75rem;font-family:Righteous,sans-serif!important}.resume h2{font-size:1.53125rem}.resume h3{font-size:1.09375rem}.resume h4{font-size:.975rem}.resume h1,.resume h2,.resume h3{font-weight:700}.resume h2,.resume h3,.resume h4,.resume p{margin-bottom:.5rem!important}.resume li{display:flex;justify-content:flex-start;align-items:center;height:-webkit-max-content;height:-moz-max-content;height:max-content;margin-bottom:.25rem!important}.resume li svg{width:1.25rem;height:1.25rem;margin-right:.5rem}.resume__header{padding:2rem}.resume__header,.resume__header .portrait{display:flex;justify-content:center;align-items:center}.resume__header .portrait{min-width:10rem;max-width:10rem;min-height:10rem;max-height:10rem;overflow:hidden;border-radius:1rem;margin-right:2rem}.resume__header .portrait img{width:100%;height:auto}.contacts{display:flex;justify-content:center;align-items:center;font-size:.9rem}.contacts ul{width:100%;display:grid;grid-template-columns:1fr 1fr;background-color:#f3f3f3;padding:2rem}.contacts ul li{margin:.25rem 0}.contacts ul li a{display:flex;justify-content:flex-start;align-items:center;font-size:1rem!important;line-height:1.5!important}.contacts ul li a svg{margin-right:.75rem;color:var(--primary)}.body{display:grid;grid-template-columns:1fr 1fr;padding:1rem 2rem;grid-gap:2rem;gap:2rem}.body .certificates,.body .hobbies,.body .languages,.body .projects,.body .skills,.body .work{margin-bottom:1rem}.body .work__status,.body .work ul{margin-bottom:.5rem!important}.body .work h4{opacity:.9}.body .work__status{font-size:.7875rem;display:flex;justify-content:space-between;opacity:.7}.body .skills ul{display:flex;flex-wrap:wrap;color:#fff}.body .skills ul li{font-size:.7rem!important;background-color:var(--primary);padding:.25rem .5rem;border-radius:.5rem;margin:.1rem}.body .education h3{display:flex;justify-content:space-between;align-items:center;margin:0!important}.body .certificates li{display:block!important}.body .hobbies ul{display:grid;grid-template-columns:1fr 1fr}.body .hobbies li{margin:.25rem 0!important}.body .certificates li,.body .languages li,.body .projects li,.body .work li{display:flex;justify-content:flex-start;align-items:flex-start}.body .certificates li:before,.body .languages li:before,.body .projects li:before,.body .work li:before{content:"⁕";margin-right:.5rem}.resume__utils{width:100%;padding:1.5rem 2.5rem;display:flex;justify-content:space-between;align-items:center}.resume__utils .print__resume{margin-left:auto}.resume__utils button{padding:.5rem 1rem;background:var(--hover-bg);border:none;border-radius:.5rem;cursor:pointer;position:relative}.resume__utils button:hover{opacity:.9}.resume__utils button:focus-visible{outline:1px solid var(--hover-bg)}@page{size:A4;margin:0}*{-webkit-print-color-adjust:exact!important;color-adjust:exact!important}@media(max-width:44rem){.resume{width:100%;height:100%}.resume__header{flex-direction:column;align-items:flex-start}.resume__header .portrait{margin-bottom:.5rem}.resume .contacts ul{margin:auto!important}.resume .body,.resume .contacts ul{grid-template-columns:1fr}}@media print{body,html{width:210mm;height:297mm}.resume{width:100%;height:100%}.resume__header{flex-direction:row;align-items:flex-start}.resume__header .portrait{margin-bottom:0}.resume .contacts ul{margin:0}.resume .body,.resume .contacts ul{grid-template-columns:1fr 1fr}}