*,*:after,*:before{box-sizing:border-box;padding:0}:root{font-family:Fira Code,Fira Mono,SF Mono,Roboto Mono,Consolas,Monaco,Lucida Console,Courier New,monospace;line-height:1.5;font-weight:400;color-scheme:light dark;color:#191919;background-color:#faebd7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;align-self:center;justify-content:center;display:flex;justify-self:center;padding:10px}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;min-height:100vh;overflow-y:scroll}header{width:100%;justify-content:center;display:flex;align-items:center;height:75px}footer{align-self:center;margin-top:auto;text-align:center;width:100%}.cr-container{display:flex;flex-direction:column;padding-top:10px;padding-bottom:10px}h1{line-height:1.1}h3{font-size:1.1em}p{line-height:1.25;font-size:1em}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}ul{padding-left:30px}.title{text-align:center;font-size:1.3rem}.navbar{display:flex;flex-direction:row;gap:clamp(30px,5vw,100px);justify-content:center;align-items:center;width:100%;z-index:2}.nav-link{font-size:clamp(1rem,5vw,1.6rem);color:#000;-webkit-user-select:none;user-select:none}.nav-link:hover,.nav-link.active{color:#00be10}a:visited{color:#000}.underline_on{border-bottom:2px solid rgb(0,190,16)}.header-background{position:absolute;max-width:1280px;width:100%;max-height:73px;height:10rem;z-index:0;background-color:#e9dec2}.code-block{padding:1rem;border-radius:8px;overflow-x:auto;font-size:1.1rem}.panel{padding:1rem;width:100%}.panel-alt{background-color:#e9dec2;width:100%}.skills-flex{display:flex;justify-content:center;align-content:center;gap:.1em;margin-left:0}.skills-img{max-width:50px;max-height:50px;min-width:10px;min-height:10px;width:clamp(40px,10vw,50px);height:clamp(40px,10vw,50px);align-self:center;justify-self:center;object-fit:cover}.inset-container{display:flex;height:auto;width:auto;flex-direction:column;background-color:#3f3f3f;box-shadow:inset 2px 2px 10px #0000007a;padding:0px 1rem}.title-box{background-color:#008dff;box-shadow:0 5px 5px #000;padding:0px 10vw 0px 25px;margin:1vw 1vw 0px 1.3vw;text-wrap-mode:nowrap}.title-box-text{font-family:Russo One,sans-serif;color:#f2f1df;text-shadow:5px 5px 2px rgba(0,0,0,.438);margin:1vh 0px;font-size:clamp(.7rem,5vw,4rem)}.simple-button{background-color:#008dff;padding:clamp(0vw,2vw,1rem);max-width:100px;max-height:50px;width:100%;height:100%;align-self:self-end;text-align:center;margin:0 25px 0 0;font-family:Russo One,sans-serif;color:#f1f0de;cursor:pointer;box-shadow:inset 0 0 #000;-webkit-user-select:none;user-select:none}.simple-button:hover{background-color:#ff9700}.simple-button-text{color:#f1f0de;font-size:clamp(.6rem,3vw,1rem);text-wrap-mode:nowrap}.simple-button-text:visited{color:#f1f0de}div.btn-container{display:flex;position:absolute;right:1%;vertical-align:middle;text-align:center}@media(max-width:810px){div.btn-container{visibility:hidden}}div.btn-container i{display:inline-block;position:relative;top:-9px}label{font-size:13px;color:#424242;font-weight:500}.btn-color-mode-switch{display:inline-block;margin:0;position:relative}.btn-color-mode-switch>label.btn-color-mode-switch-inner{margin:0;width:140px;height:30px;background:#e0e0e0;border-radius:26px;overflow:hidden;position:relative;transition:all .3s ease;display:block;z-index:100;cursor:pointer}.btn-color-mode-switch>label.btn-color-mode-switch-inner:before{content:attr(data-on);position:absolute;font-size:12px;font-weight:500;top:7px;right:20px}.btn-color-mode-switch>label.btn-color-mode-switch-inner:after{content:attr(data-off);width:70px;height:100%;background:#fff;border-radius:26px;position:absolute;left:2px;top:2px;text-align:center;transition:all .3s ease;box-shadow:0 0 6px -2px #111;padding:5px 0}.btn-color-mode-switch>.alert{display:none;background:#ff9800;border:none;color:#fff}.btn-color-mode-switch input[type=checkbox]{cursor:pointer;width:50px;height:25px;opacity:0;position:absolute;top:0;z-index:1;margin:0}.btn-color-mode-switch input[type=checkbox]:checked+label.btn-color-mode-switch-inner{background:#151515;color:#fff}.btn-color-mode-switch input[type=checkbox]:checked+label.btn-color-mode-switch-inner:after{content:attr(data-on);left:68px;background:#3c3c3c}.btn-color-mode-switch input[type=checkbox]:checked+label.btn-color-mode-switch-inner:before{content:attr(data-off);right:auto;left:20px}.btn-color-mode-switch input[type=checkbox]:checked~.alert{display:block}.dark-theme{background:#0d0d0d}.dark-theme div.btn-container i.fa-sun-o{color:#777}.dark-theme div.btn-container i.fa-moon-o{color:#fff;text-shadow:0px 0px 11px #fff}.light-theme{background:#fbf7f0}.light-theme div.btn-container i.fa-sun-o{color:orange;text-shadow:0px 0px 16px #ffa500}.light-theme div.btn-container i.fa-moon-o{color:#777}p.by a{text-decoration:none;color:#000}.dark-theme p.by a{color:#777}.light-theme p.by a{color:#000}.profile-cover-pic{-webkit-mask-image:linear-gradient(to top,transparent,black 4%),linear-gradient(to right,transparent,black 4%),linear-gradient(to bottom,transparent,black 4%),linear-gradient(to left,transparent,black 4%);mask-image:linear-gradient(to top,transparent,black 4%),linear-gradient(to right,transparent,black 4%),linear-gradient(to bottom,transparent,black 4%),linear-gradient(to left,transparent,black 4%);-webkit-mask-composite:source-in;mask-composite:intersect;max-width:270px;max-height:270px;height:100%;width:100%}.profile-card{width:100%;overflow-x:hidden;overflow-wrap:initial}.image-placeholder-square{margin:0;object-fit:cover;max-width:270px;max-height:270px;width:clamp(133px,27vw,270px);min-width:100px;min-height:100px;border-radius:3rem;display:block;border-radius:50px;overflow-y:hidden;padding:0;box-shadow:inset 0 2px 6px #00000080}.profilepic{margin:0;object-fit:cover;max-width:370px;max-height:270px;width:100%;height:200vw;min-width:100px;min-height:100px;border-radius:3rem}.intro-paragraph{max-width:700px;min-width:auto;min-width:260px;max-height:450px;overflow-x:hidden;overflow-y:auto}.intro-paragraph p{line-height:1.2;font-size:clamp(.6rem,1.7vw,1rem);margin-top:.4em;margin-bottom:.4em;text-wrap-mode:wrap}@media(max-width:452px){.intro-paragraph{min-width:100px;max-height:40vh}}.intro-paragraph h2{font-size:clamp(.6rem,4vw,1.6rem);margin:0}#app{display:flex;flex-direction:column;max-width:1280px;width:100%;margin:0 auto;padding:0rem;background-color:#e9dec2;box-shadow:0 0 10px 5px #0003;overflow-x:hidden}body[data-theme=dark-theme]{background-color:#141a3b}body[data-theme=dark-theme] #app,body[data-theme=dark-theme] .header-background,body[data-theme=dark-theme] a:visited,body[data-theme=dark-theme] root,body[data-theme=dark-theme] a{background-color:#1c2236;color:#adb3bb}body[data-theme=dark-theme] .filter-nav{background-color:#171c2c}body[data-theme=dark-theme] .project-link-wrapper,body[data-theme=dark-theme] .nav-link,body[data-theme=dark-theme] .filter-text{color:#adb3bb;background-color:transparent}body[data-theme=dark-theme] .skills-img{filter:invert(.7)}body[data-theme=dark-theme] .nav-link.active,body[data-theme=dark-theme] .nav-link:hover,body[data-theme=dark-theme] .filter-text.active,body[data-theme=dark-theme] .filter-text:hover,body[data-theme=dark-theme] .project-link-wrapper:hover,body[data-theme=dark-theme] a:hover{color:#76adff}body[data-theme=dark-theme] .underline_on{border-bottom:2px solid rgb(118,173,255)}body[data-theme=dark-theme] .inset-container{background-color:#1b2b44}body[data-theme=dark-theme] .hr,body[data-theme=dark-theme] .hr-bottom{border-top:1px solid #09122e;border-bottom:1px solid #223454}body[data-theme=dark-theme] .back-button:hover .icon-backarrow{fill:#24a7ff}body[data-theme=dark-theme] .back-button:hover{background-color:#000000a8}.logo{height:6em;padding:1.5em}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.preact:hover{filter:drop-shadow(0 0 2em #673ab8aa)}.content{width:100%;max-width:1280px;display:flex;flex-direction:column}.hr{position:relative;z-index:10;margin:0;padding:2px;border-top:1px solid #817b6d;border-bottom:1px solid #eee5cc;border-left:0px;border-right:0px}.hr-bottom{position:relative;z-index:10;padding:2px;border-top:1px solid #817b6d;border-bottom:1px solid #eee5cc;border-left:0px;border-right:0px}.inline-text-img{display:flex;gap:50px}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}.horizontal-box{width:100%;display:flex;flex-direction:row;gap:clamp(1em,2vw,3em)}.vertical-box{display:flex;flex-direction:column;gap:15px}.gap-small{gap:50px}.gap-medium{gap:100px}.gap-high{gap:200px}.centered-h1{text-align:center}.centered-text{margin:auto;text-align:center}.space-between{justify-content:space-between}.icon-backarrow{max-width:45px;width:100%;fill:#000}.back-button{background-color:#ffffff54;outline:none;border:none;position:absolute;right:0;bottom:0;top:2px;left:2px;max-width:70px;width:100%;max-height:40px;height:100%}.back-button:hover .icon-backarrow{fill:#00be10}.back-button:hover{background-color:#00000025}.cr-notice{font-size:.7rem;margin:0}div.code-toolbar>.toolbar{display:flex;align-items:center}div.code-toolbar>.toolbar .toolbar-item:has(button){order:999}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1rem));grid-auto-rows:300px;grid-auto-flow:dense;justify-content:start;max-width:100%;max-height:100%;min-width:100%;min-height:100%;justify-self:center;justify-content:center;margin-top:25px;column-gap:15px;row-gap:15px}.projects-empty{text-align:center;justify-self:center}.project-title{margin:auto}.project-container{color:#000;padding:0;display:flex;flex-direction:column;grid-column:span 1;grid-row:span 1;max-width:312px;min-width:312px}.project-thumbnail-container{max-width:300px;max-height:300px}.project-thumbnail{width:100%;height:100%;min-width:100%;min-height:100%;max-width:100%;max-height:100%;object-fit:cover;border-radius:4%}.project-header-img{max-height:100px;height:100%;max-width:100%;width:100%;object-fit:cover;display:block;filter:blur(0px);box-shadow:0 0 5px #000}.project-header{position:relative}.project-text-container{max-width:300px;min-width:300px}.project-link-wrapper{color:#000;background-color:transparent;width:auto;height:auto;display:inline-block}.project-link-wrapper:hover{color:#00be10}.featured-project-container{position:relative;width:100%;height:auto;margin-top:1vw;margin-bottom:1vw;overflow:hidden;border-radius:10px;cursor:pointer;display:inline-block}.featured-thumbnail{width:100%;height:50%;object-fit:cover;object-position:50% 20%;box-shadow:10px 10px 4px #0003;border-radius:10px;padding:0}.featured-overlay{position:absolute;display:inline-block;width:auto;height:auto;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .2s ease;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#f5f5f56d;color:#000;justify-content:center;align-content:center}.card-title{justify-self:center}.card-description{max-width:500px;justify-self:center;width:100%;display:inline-block}.featured-project-container:hover .featured-overlay{opacity:1}.technologies-title{font-weight:700;margin-top:15px}.technologies img{height:30px;margin-right:10px;vertical-align:middle}.filter-nav{display:flex;justify-content:center;background-color:#dbd1b7;box-shadow:inset 0 0 1px #000;padding:clamp(0rem,4vw,10px)}.filter-text{padding:0 10px;-webkit-user-select:none;user-select:none;font-size:clamp(.4rem,3vw,1.1rem);margin:0}.filter-text:hover{color:#00be10;cursor:pointer}.filter-text.active{color:#00be10}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:#e0e0e033;box-shadow:0 2px #0003;border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}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;-moz-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.comment,.token.prolog,.token.cdata{color:#5c6370}.token.doctype,.token.punctuation,.token.entity{color:#abb2bf}.token.attr-name,.token.class-name,.token.boolean,.token.constant,.token.number,.token.atrule{color:#d19a66}.token.keyword{color:#c678dd}.token.property,.token.tag,.token.symbol,.token.deleted,.token.important{color:#e06c75}.token.selector,.token.string,.token.char,.token.builtin,.token.inserted,.token.regex,.token.attr-value,.token.attr-value>.token.punctuation{color:#98c379}.token.variable,.token.operator,.token.function{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.important,.language-css .token.atrule .token.rule,.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>.token.operator,.language-markdown .token.url-reference.url>.token.string{color:#abb2bf}.language-markdown .token.url>.token.content{color:#61afef}.language-markdown .token.url>.token.url,.language-markdown .token.url-reference.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.strike .token.content,.language-markdown .token.strike .token.punctuation,.language-markdown .token.list.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.tab:not(:empty):before,.token.token.cr:before,.token.token.lf:before,.token.token.space:before{color:#abb2bf26;text-shadow:none}div.code-toolbar>.toolbar.toolbar>.toolbar-item{margin-right:.4em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a,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>button:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:focus{background:#3e4451;color:#abb2bf}.line-highlight.line-highlight{background:#99bbff0a}.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 #0003}pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:#99bbff0a}.line-numbers.line-numbers .line-numbers-rows,.command-line .command-line-prompt{border-right-color:#abb2bf26}.line-numbers .line-numbers-rows>span:before,.command-line .command-line-prompt>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:#ff526626}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:#fb566940}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:#fb566940}pre.diff-highlight>code .token.token.inserted:not(.prefix),pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:#1aff5b26}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:#38e06240}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:#38e06240}.prism-previewer.prism-previewer:before,.prism-previewer-gradient.prism-previewer-gradient div{border-color:#262931}.prism-previewer-color.prism-previewer-color:before,.prism-previewer-gradient.prism-previewer-gradient div,.prism-previewer-easing.prism-previewer-easing:before{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-time.prism-previewer-time:before,.prism-previewer-easing.prism-previewer-easing{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 path,.prism-previewer-easing.prism-previewer-easing line{stroke:#abb2bf}.prism-previewer-easing.prism-previewer-easing circle{fill:transparent}
