.main{font-family:Varela Round,sans-serif;font-optical-sizing:auto;display:flex;flex-direction:column;position:fixed;inset:0;overflow:hidden;opacity:0;transition:opacity .4s}@media screen and (width > 1300px){.main{font-size:18px}}@media screen and (width <= 700px){.main{font-size:14px}}@media screen and (width > 700px) and (width <= 1300px){.main{font-size:18px}}.main{cursor:default;-webkit-user-select:none;user-select:none}.main.show{opacity:1}.main *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.main.dark{--background-color-projects: #111827;--background-color-hobbies: #1f2937;--color-text-contact: #cccccc;--color-text-portfolio: white;--color-libraries-icon-bg: #2563eb;--color-libraries-icon: white;--color-libraries-title: #60a5fa;--color-tools-icon-bg: #16a34a;--color-tools-icon: white;--color-tools-title: #4ade80;--color-games-icon-bg: #9333ea;--color-games-icon: white;--color-games-title: #c084fc;--color-extra-icon-bg: #ea580c;--color-extra-icon: white;--color-extra-title: #fb923c;--color-section-subtitle: #d8d8d8;--color-header-subtitle: var(--color-section-subtitle);--color-github: white;--color-project-description: var(--color-section-subtitle);--color-project-background: var(--background-color-hobbies);--color-project-border: #374151;--color-project-shadow: #0000000d;--color-project-link-background: #293546;--color-hobby-description: var(--color-section-subtitle);--color-hobby-background: var(--background-color-projects);--color-hobby-border: #374151;--color-hobby-shadow: #0000000d;--color-hobby-media-background: #1a2234;--color-hobby-icon-orange: #fb923c;--color-hobby-icon-purple: #818cf8;--color-hobby-icon-red: #de4949;--color-hobby-icon-yellow: #facc15;--color-hobby-icon-blue: #60a5fa;--color-hobby-icon-redish: #f87171;--color-hobby-icon-green: #4ade80;--color-hobby-icon-pink: #f472b6;--color-hobby-icon-greenish: #cefa15;--color-tag-background-nodejs: #193e32;--color-tag-nodejs: #86efac;--color-tag-background-zero-deps: #3b225f;--color-tag-zero-deps: #d8b4fe;--color-tag-background-typescript: #1e3160;--color-tag-typescript: #93c5fd;--color-tag-background-cpp: #282b5c;--color-tag-cpp: #a5b4fc;--color-tag-background-html5: #4d2b24;--color-tag-html5: #fdba74;--color-tag-background-rust: #4f232a;--color-tag-rust: #fca5a5;--color-tag-background-javascript: #282b5c;--color-tag-javascript: #a5b4fc;--color-tag-background-flash: #3b225f;--color-tag-flash: #d8b4fe;--color-tag-background-ruby: #4f232a;--color-tag-ruby: #fca5a5;--color-tag-background-unity: #1e3160;--color-tag-unity: #93c5fd;--color-tag-background-unreal-engine: #4d2b24;--color-tag-unreal-engine: #fdba74}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.portfolio{color:var(--color-text-portfolio);overflow:auto;width:100%}.projects{display:flex;flex-direction:column;align-items:center;width:100%;background-color:var(--background-color-projects)}.projects>.list{max-width:100em;width:100vw;padding:0 1em;display:flex;flex-direction:column;gap:4em;margin-bottom:4em}.project{padding:2em 2em 0;background-color:var(--color-project-background);border-radius:1em;border:1px solid var(--color-project-border);box-shadow:0 1px 3px 0 var(--color-project-shadow);overflow:hidden;display:flex;flex-direction:column}.project>.header{display:flex;flex-direction:row;margin-bottom:.4em;height:2em;gap:.5em}.project>.header>.icon-container{flex:1}.project>.header>.icon-container>.icon{padding:.4em;border-radius:.5em;height:100%;display:inline-block;background-color:var(--color-section-icon-bg);color:var(--color-section-icon)}.project>.header>.icon-container>.icon>*{height:100%}.project>.header>.stars{flex:0;height:100%;padding:.5em;border-radius:.5em;border:1px solid var(--color-project-border)}.project>.title{font-weight:700;font-size:1.3em;margin-bottom:.4em}.project>.description{color:var(--color-project-description);display:flex;flex-direction:column;gap:.5em}.project>.tags{display:flex;flex-wrap:wrap;gap:.3em;flex:1;align-items:flex-end;margin-top:1em}.project>.tags:empty{margin-top:0}.project>.tags>.tag{border-radius:1em;padding:.2em .4em;font-size:.75em;display:inline-block}.project>.tags>.tag.nodejs{background-color:var(--color-tag-background-nodejs);color:var(--color-tag-nodejs)}.project>.tags>.tag.zero-deps{background-color:var(--color-tag-background-zero-deps);color:var(--color-tag-zero-deps)}.project>.tags>.tag.typescript{background-color:var(--color-tag-background-typescript);color:var(--color-tag-typescript)}.project>.tags>.tag.cpp{background-color:var(--color-tag-background-cpp);color:var(--color-tag-cpp)}.project>.tags>.tag.html5{background-color:var(--color-tag-background-html5);color:var(--color-tag-html5)}.project>.tags>.tag.rust{background-color:var(--color-tag-background-rust);color:var(--color-tag-rust)}.project>.tags>.tag.javascript{background-color:var(--color-tag-background-javascript);color:var(--color-tag-javascript)}.project>.tags>.tag.flash{background-color:var(--color-tag-background-flash);color:var(--color-tag-flash)}.project>.tags>.tag.ruby{background-color:var(--color-tag-background-ruby);color:var(--color-tag-ruby)}.project>.tags>.tag.unity{background-color:var(--color-tag-background-unity);color:var(--color-tag-unity)}.project>.tags>.tag.unreal-engine{background-color:var(--color-tag-background-unreal-engine);color:var(--color-tag-unreal-engine)}.project>.links{margin:1em -2em 0}.project>.links:empty{margin-top:2em}.project>.links{display:flex;flex-direction:column}.project>.links>.link{border-top:1px solid var(--color-project-border);background-color:var(--color-project-link-background);display:flex;flex-direction:row;align-items:center;cursor:pointer;gap:.2em;padding:.5em 1em;transition:opacity .2s}.project>.links>.link>.anchor{color:inherit;text-decoration:none;flex:1}.project>.links>.link>.anchor>.position{opacity:.5}.project>.links>.link>.out-icon{flex:0 0 1em;height:100%;opacity:.5;transition:transform .2s}.project>.links>.link:hover{opacity:.75}.project>.links>.link:hover>.out-icon{transform:translate(.15em) rotate(10deg)}.project>.links>.link:active{opacity:.9}.github-stars{height:100%;display:flex;align-items:center;gap:.2em;cursor:pointer;text-decoration:none;color:inherit;transition:opacity .2s}.github-stars>.github-icon{height:100%;color:var(--color-github);transition:transform .2s}.github-stars>.star-icon{height:100%;color:#eab308}.github-stars:hover{opacity:.8}.github-stars:hover>.github-icon{transform:rotate(25deg)}.github-stars:active{opacity:.65}.github-stars:active>.github-icon{transform:rotate(50deg)}.section.libraries{--color-section-icon-bg: var(--color-libraries-icon-bg);--color-section-icon: var(--color-libraries-icon);--color-section-title: var(--color-libraries-title)}.section.tools{--color-section-icon-bg: var(--color-tools-icon-bg);--color-section-icon: var(--color-tools-icon);--color-section-title: var(--color-tools-title)}.section.games{--color-section-icon-bg: var(--color-games-icon-bg);--color-section-icon: var(--color-games-icon);--color-section-title: var(--color-games-title)}.section.extra{--color-section-icon-bg: var(--color-extra-icon-bg);--color-section-icon: var(--color-extra-icon);--color-section-title: var(--color-extra-title)}.section>.title{display:flex;align-items:center;gap:.8em;margin-bottom:1em}.section>.title>.icon{height:2.4em;width:2.4em;padding:.4em;background-color:var(--color-section-icon-bg);color:var(--color-section-icon);border-radius:.5em}.section>.title>.text{flex:1}.section>.title>.text>.title{color:var(--color-section-title);font-size:1.2em;font-weight:600}.section>.title>.text>.subtitle{color:var(--color-section-subtitle);font-size:.8em}.section>.cards{display:grid;gap:2em}.section>.cards.columns-1{grid-template-columns:repeat(1,1fr)}@media screen and (width > 1300px){.section>.cards.columns-2-1{grid-template-columns:repeat(2,1fr)}}@media screen and (width <= 700px){.section>.cards.columns-2-1{grid-template-columns:repeat(1,1fr)}}@media screen and (width > 700px) and (width <= 1300px){.section>.cards.columns-2-1{grid-template-columns:repeat(2,1fr)}}@media screen and (width > 1300px){.section>.cards.columns-3-1{grid-template-columns:repeat(3,1fr)}}@media screen and (width <= 700px){.section>.cards.columns-3-1{grid-template-columns:repeat(1,1fr)}}@media screen and (width > 1300px){.section>.cards.columns-3-2-1{grid-template-columns:repeat(3,1fr)}}@media screen and (width <= 700px){.section>.cards.columns-3-2-1{grid-template-columns:repeat(1,1fr)}}@media screen and (width > 700px) and (width <= 1300px){.section>.cards.columns-3-2-1{grid-template-columns:repeat(2,1fr)}}.section-head{text-align:center;max-width:33em;padding:0 1em;margin:2em 0}@media screen and (width > 1300px){.section-head>.title{font-size:3em}}@media screen and (width <= 700px){.section-head>.title{font-size:2em}}@media screen and (width > 700px) and (width <= 1300px){.section-head>.title{font-size:3em}}.section-head>.title{margin-bottom:.2em;font-weight:600}.section-head>.subtitle{font-size:1em;color:var(--color-header-subtitle)}.hobbies{display:flex;flex-direction:column;align-items:center;width:100%;background-color:var(--background-color-hobbies)}.hobbies>.list{display:grid;gap:2em;max-width:100em;width:100vw;padding:0 1em;margin-bottom:4em}@media screen and (width > 1300px){.hobbies>.list{grid-template-columns:repeat(4,1fr)}}@media screen and (width <= 700px){.hobbies>.list{grid-template-columns:repeat(1,1fr)}}@media screen and (width > 700px) and (width <= 1300px){.hobbies>.list{grid-template-columns:repeat(2,1fr)}}.hobbies .orange-icon{color:var(--color-hobby-icon-orange)}.hobbies .purple-icon{color:var(--color-hobby-icon-purple)}.hobbies .red-icon{color:var(--color-hobby-icon-red)}.hobbies .yellow-icon{color:var(--color-hobby-icon-yellow)}.hobbies .blue-icon{color:var(--color-hobby-icon-blue)}.hobbies .redish-icon{color:var(--color-hobby-icon-redish)}.hobbies .green-icon{color:var(--color-hobby-icon-green)}.hobbies .pink-icon{color:var(--color-hobby-icon-pink)}.hobbies .greenish-icon{color:var(--color-hobby-icon-greenish)}.hobbies .love{width:1.2em;height:1.2em;vertical-align:bottom;color:#b31212}.hobby{background-color:var(--color-hobby-background);border-radius:1em;border:1px solid var(--color-hobby-border);box-shadow:0 1px 3px 0 var(--color-hobby-shadow);overflow:hidden;display:flex;flex-direction:column}.hobby>.media{width:100%;overflow:hidden;aspect-ratio:1.5/1;background-color:var(--color-hobby-media-background);text-align:center;position:relative}.hobby>.media>.control{position:absolute;top:25%;bottom:25%;width:25%;transition:opacity .2s,background-color .2s;cursor:pointer;display:flex;align-items:center;opacity:.5}.hobby>.media>.control:hover{background-color:#00000026;opacity:1}.hobby>.media>.control.disabled{cursor:default;opacity:0}.hobby>.media>.left{left:0;border-bottom-right-radius:1em;border-top-right-radius:1em;padding:0 15% 0 1%}.hobby>.media>.right{right:0;border-bottom-left-radius:1em;border-top-left-radius:1em;padding:0 1% 0 15%}.hobby>.media>.elements{height:100%;width:100%;white-space:nowrap;position:relative;transition:left .2s}.hobby>.media>.elements>.element{width:100%;height:100%;display:inline-block}.hobby>.media>.elements>.element>*{max-width:100%;height:100%}.hobby>.media>.elements>.tbd{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:3em}.hobby>.content{padding:2em;display:flex;flex-direction:column;gap:1em}.hobby>.content>.title{display:flex;flex-direction:row;gap:.5em;font-size:1.3em;font-weight:700;align-items:center}.hobby>.content>.title>.icon{width:1em;height:1em}.hobby .link{color:inherit;text-decoration:underline;white-space:nowrap;display:inline-flex;flex-direction:row;align-items:center;gap:.3em}.hobby .link>.open-icon{height:.9em;width:.9em}.image{opacity:0;transition:opacity .2s}.image.visible{opacity:1}.contact{width:100%;background-color:var(--background-color-hobbies);padding:.3em .4em;font-size:.8em;border-bottom:1px solid var(--color-project-border);font-style:italic;color:var(--color-text-contact);display:flex;flex-direction:row}.contact .mailto{flex:1;text-align:right;color:var(--color-text-contact)}.intro{overflow:hidden;position:absolute;width:230vw;top:0;bottom:0;left:0;animation-duration:2.8s;animation-name:main-out;animation-timing-function:ease-out}@media screen and (width > 1300px){.intro{font-size:2.5em}}@media screen and (width <= 700px){.intro{font-size:1.5em}}.intro>.shadow{box-shadow:1vh 1vh #0000000d}.intro>.line1{z-index:1;position:absolute;left:0;right:1vh;top:0;bottom:34%;background-color:#a3d5ff;border-top-right-radius:100vh;border-bottom-right-radius:100vh}.intro>.line2{z-index:3;position:absolute;left:0;right:42vw;top:30%;bottom:30%;background-color:#83c9f4;border-top-right-radius:100vh;border-bottom-right-radius:100vh}.intro>.line3{z-index:2;position:absolute;left:0;right:20vw;top:60%;bottom:0;background-color:#d9f0ff;border-top-right-radius:100vh;border-bottom-right-radius:100vh}.intro>.content{z-index:4;position:absolute;left:35vw;right:-35vw;top:0;bottom:0;display:flex;justify-content:center;align-items:center}@media screen and (width > 1300px){.intro>.content{flex-direction:row}}@media screen and (width <= 700px){.intro>.content{flex-direction:column}}.intro>.content>*{white-space:nowrap}.intro>.content>.photo{margin:.5em;height:30vmin;width:30vmin;background-color:red;border-radius:25%;border:1vmin solid white;position:relative}.intro>.content>.photo>.icon-0{height:10vmin;width:10vmin;position:absolute;animation-delay:.6s;animation-duration:.8s;transform:scale(0);animation-name:icons-out;transform-origin:center;animation-direction:normal}.intro>.content>.photo>.icon-1{height:10vmin;width:10vmin;position:absolute;animation-delay:.8s;animation-duration:.8s;transform:scale(0);animation-name:icons-out;transform-origin:center;animation-direction:reverse}.intro>.content>.photo>.icon-2{height:10vmin;width:10vmin;position:absolute;animation-delay:1s;animation-duration:.8s;transform:scale(0);animation-name:icons-out;transform-origin:center;animation-direction:normal}.intro>.content>.photo>.icon-3{height:10vmin;width:10vmin;position:absolute;animation-delay:1.2s;animation-duration:.8s;transform:scale(0);animation-name:icons-out;transform-origin:center;animation-direction:reverse}.intro>.content>.photo>.icon-4{height:10vmin;width:10vmin;position:absolute;animation-delay:1.4s;animation-duration:.8s;transform:scale(0);animation-name:icons-out;transform-origin:center;animation-direction:normal}.intro>.content>.photo>.icon-5{height:10vmin;width:10vmin;position:absolute;animation-delay:1.6s;animation-duration:.8s;transform:scale(0);animation-name:icons-out;transform-origin:center;animation-direction:reverse}@media screen and (width > 1300px){.intro>.content>.photo>.icon-0{left:1vmin;top:-13vmin}}@media screen and (width <= 700px){.intro>.content>.photo>.icon-0{right:-13vmin;top:1vmin}}@media screen and (width > 1300px){.intro>.content>.photo>.icon-1{right:1vmin;top:-13vmin}}@media screen and (width <= 700px){.intro>.content>.photo>.icon-1{right:-13vmin;bottom:1vmin}}@media screen and (width > 1300px){.intro>.content>.photo>.icon-2{right:-13vmin;top:1vmin}}@media screen and (width <= 700px){.intro>.content>.photo>.icon-2{right:1vmin;bottom:-13vmin}}@media screen and (width > 1300px){.intro>.content>.photo>.icon-3{right:-13vmin;bottom:1vmin}}@media screen and (width <= 700px){.intro>.content>.photo>.icon-3{left:1vmin;bottom:-13vmin}}@media screen and (width > 1300px){.intro>.content>.photo>.icon-4{right:1vmin;bottom:-13vmin}}@media screen and (width <= 700px){.intro>.content>.photo>.icon-4{left:-13vmin;bottom:1vmin}}@media screen and (width > 1300px){.intro>.content>.photo>.icon-5{left:1vmin;bottom:-13vmin}}@media screen and (width <= 700px){.intro>.content>.photo>.icon-5{left:-13vmin;top:1vmin}}.intro>.content>.photo>.react-icon{background-color:#1c3a53;padding:1vmin;border-radius:50%}.intro>.content>.photo>.nodejs-icon{background-color:#d9f2df;padding:1vmin;border-radius:50%}@keyframes icons-out{0%{animation-timing-function:cubic-bezier(.14,.63,.3,1.03);transform:rotate(-30deg) scale(0)}50%{animation-timing-function:cubic-bezier(.93,.08,1,.5);transform:rotate(0) scale(1)}to{transform:rotate(30deg) scale(0)}}@keyframes main-out{0%{left:0vw}30%{animation-timing-function:linear;left:-98vw}70%{animation-timing-function:ease-in;left:-102vw}to{left:-250vw}}
