*,:before,:after{box-sizing:border-box}html,body{-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Open Sans,sans-serif;line-height:1.5}a{color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a:hover{text-decoration:underline}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit;background:0 0;border:none;outline:none}button{cursor:pointer}h1{margin-block:.67em;font-size:2em}body,html,*{box-sizing:border-box}body{color:#fff;font-optical-sizing:auto;font-variation-settings:"width" 100;background-color:#000;font-family:Open Sans,sans-serif;font-style:normal}#root{background-color:#000;flex-direction:column;height:100%;min-height:100vh;display:flex}.main-header{text-align:center;margin-bottom:1rem}.main-header h1{margin-bottom:0;font-size:4rem}.main-footer{text-align:center;color:gray;margin:5rem 1rem .5rem}@media (width>=992px){.main-footer{text-align:left;max-width:60%}}.main-footer .powered-by{color:#fff}.main-footer .last-commit{color:#a4a4a4}.main-footer .last-commit a{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.main-footer .last-commit a:hover{text-decoration:underline}.main-footer .last-commit .update-desc{font-size:.9rem}.main-navigation-bar ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;width:min(100%,24rem);margin:0 auto;padding-left:0;list-style:none;display:grid}.main-navigation-bar ul li a{text-align:center;opacity:.6;border-bottom:.1px solid #fff;margin:0;padding:.5rem 0;font-size:1.2rem;text-decoration:none;transition:all .2s ease-in-out;display:block}.main-navigation-bar ul li a.active,.main-navigation-bar ul li a:hover{opacity:1;box-shadow:0 2.5px #fff}.page{margin:0 1rem}.page .title{text-align:center;font-size:1.5rem}@media (width>=1200px){.page{max-width:55%;margin:0 auto}}@media (width>=1900px){.page{max-width:55%;margin:0 auto}}.about-page{text-align:center;width:100%;margin-left:auto;margin-right:auto}.about-page .about-columns{align-items:start;gap:1.25rem;display:grid}@media (width>=1200px){.about-page .about-columns{grid-template-columns:minmax(18rem,.85fr) minmax(0,1.4fr);grid-template-areas:"about-sidebar about-bio""recently-played recently-played""skills skills"}.about-page .about-sidebar{grid-area:about-sidebar;align-self:stretch}.about-page .about-sidebar-inner{position:sticky;top:1.25rem}.about-page .about-bio{grid-area:about-bio}.about-page .skills{grid-area:skills}.about-page .about-spotify{grid-area:recently-played}}@media (width>=1900px){.about-page{max-width:min(92vw,100rem)}.about-page .about-columns{grid-template-columns:minmax(18rem,.9fr) minmax(0,1.2fr) minmax(18rem,.9fr);grid-template-areas:"about-sidebar about-bio skills""recently-played recently-played recently-played"}}.about-sidebar-inner{align-content:start;gap:.75rem;display:grid}.about .pfp{border:.1rem solid #fff;border-radius:50%;width:min(50%,15rem);margin:1.5rem auto}.about .name{margin:0}.about .location{margin-top:0;margin-bottom:16px;font-weight:lighter}.about-socials ul{grid-template-columns:1fr 1fr;justify-content:center;gap:.5rem;width:100%;margin-top:0;padding:0;list-style:none;display:grid}.about-socials ul li a{border:.1rem solid #fff;justify-content:space-between;align-items:center;padding:.35rem;text-decoration:none;display:flex}.about-socials ul li.span-two{grid-column:1/-1}.about-spotify{text-align:left}.about-spotify h2{margin-top:0;margin-bottom:.75rem;font-size:1.25rem}.about-spotify p{color:#a4a4a4;margin:0}.about-spotify .spotify-track-list{grid-template-columns:1fr;gap:.6rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=576px){.about-spotify .spotify-track-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.about-spotify .spotify-track-list li a{text-align:center;background:radial-gradient(circle at top,#1d1d1d 0%,#090909 68%);border:.1rem solid #fff;justify-items:center;gap:.65rem;min-height:11rem;padding:.65rem .45rem;text-decoration:none;display:grid}.about-spotify .spotify-vinyl--spinning{animation:24s linear infinite spin-vinyl}.about-spotify .spotify-vinyl{aspect-ratio:1;background:radial-gradient(circle,#070707 8%,#0000 8.2%),repeating-radial-gradient(circle,#121212 0 2px,#0a0a0a 2px 4px);border-radius:50%;place-items:center;width:min(9rem,100%);display:grid;position:relative;box-shadow:inset 0 0 0 1px #3a3a3a}.about-spotify .spotify-vinyl:after{content:"";z-index:2;background-color:#1f1f1f;border:1px solid #5e5e5e;border-radius:50%;width:.55rem;height:.55rem;position:absolute}.about-spotify .spotify-album-art{aspect-ratio:1;object-fit:cover;z-index:1;border:2px solid #111;border-radius:50%;width:52%;height:auto;display:block}.about-spotify .spotify-album-fallback{aspect-ratio:1;z-index:1;color:#f4f4f4;background-color:#1c1c1c;border:1px solid #1f1f1f;border-radius:50%;place-items:center;width:52%;font-size:1.25rem;display:grid}.about-spotify .spotify-track-content{gap:.15rem;width:100%;min-width:0;display:grid}.about-spotify .spotify-track-name,.about-spotify .spotify-track-artist,.about-spotify .spotify-track-time{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.about-spotify .spotify-track-name{color:#fff;font-weight:600}.about-spotify .spotify-track-artist,.about-spotify .spotify-track-time{color:#b9b9b9;font-size:.88rem}@keyframes spin-vinyl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.about-spotify .spotify-vinyl--spinning{animation:none}}.about-bio{text-align:left}.about-bio .post-h2{text-align:center}@media (width>=1400px){.about-bio .post-h2,.skills h2{margin-top:0}}.skills .skill-label{-webkit-user-select:none;user-select:none;text-align:left;border-radius:12px;justify-content:space-between;transform:translateY(-6px)}.skills .skill-label summary{cursor:pointer;border:.1rem solid #fff;margin:.5rem 0;padding:10px 15px}.skill-list{flex-wrap:wrap;justify-content:center;margin:.6em;padding-left:0;display:flex}.skill-list li{border:1px solid #fff;margin:5px;padding:10px;display:inline-block}.about,.about-socials,.about-bio,.about-spotify,.skills{padding:1rem}.about-page figure{margin:2rem 0 0}.about-page figure embed{max-width:100%;margin:0 auto;display:block}@media (width>=1900px){.about-page figure embed{width:50%}}@media (width>=1400px){.projects-page .project-list{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.projects-page .project-list .project{margin:0}}.projects-page .projects-sort-selector{flex-direction:column;width:100%;margin-bottom:1rem;display:flex}.projects-page .projects-sort-selector label:not(select){font-weight:700;display:block}.projects-page .projects-sort-selector select{color:#fff;cursor:pointer;background-color:#0000;border:.1rem solid #fff;width:100%;margin-top:.3rem;padding:.5rem;font-weight:500}.projects-page .projects-sort-selector select:hover{background-color:#303030}.projects-page .project{text-align:center;border:.1rem solid #fff;margin:1rem 0;padding:1rem}.projects-page .project .project-name{justify-content:center;align-items:center;margin-top:0;margin-bottom:0;font-size:1.3rem;display:flex}.projects-page .project .project-created-at{color:gray;margin-top:0;font-size:.9rem;font-weight:500}.projects-page .project .project-topic-list{flex-wrap:wrap;justify-content:center;padding:0;list-style:none;display:flex}.projects-page .project .project-topic-list .project-topic{background-color:#303030;margin:.25rem;padding:.25rem .5rem;font-size:.75rem}.projects-page .project .project-last-commit{color:gray;font-size:.9rem}.projects-page .project .project-language{margin:.5rem;padding:.25rem;font-size:.9rem;font-weight:300;display:inline-block}.projects-page .project .project-stats{-webkit-user-select:none;user-select:none;justify-content:space-evenly;align-items:center;display:flex}.projects-page .project .links{width:100%;margin-bottom:0;padding-left:0;list-style:none;display:flex}.projects-page .project .links .link{flex:1;width:100%}.projects-page .project .links .link a{border-top:2px solid #0000;justify-content:center;align-items:center;padding:.5rem;text-decoration:none;transition:all .2s ease-in-out;display:flex}.projects-page .project .links .link a img{margin:0 5px}.projects-page .project .links .link a:hover{border-top:2px solid #fff}.projects-page .project .links .github{background-color:#4078c0}.projects-page .project .links .download{background-color:#000}.projects-page .project .links .nexus{background-color:#d98f40}.projects-page .project .links .steam{background-color:#171a21}.projects-page .project .project-tag{text-align:center;text-transform:uppercase;border:.1rem solid #fff;margin:.2rem;padding:.2rem .4rem;font-size:.6rem;list-style:none;display:inline-block}.projects-page .project .project-tag.abandoned{background-color:#2c2c2c}.projects-page .project .project-tag.finished{background-color:#00722c}.projects-page .project .project-tag.wip{background-color:#066896}@media (width>=1900px){.blog-page .blog-list{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.blog-page .blog-list .post{margin:0}}.blog-page .post{border:.1rem solid #fff}.post{margin:1rem 1rem 2rem;display:inline-block}.post .post-title{margin-top:0;margin-bottom:0;padding:1rem 1rem 0}.post .post-date{color:gray;margin-top:0;padding:.2rem 0 0 1rem;font-size:1rem;font-weight:500}.post .post-content{padding:.2rem 0 0 1rem}.post .post-table{border-collapse:collapse;width:100%}.post .post-table .post-table-row-header{text-align:left;border:.1rem solid #fff;padding:8px}.post .post-table .post-table-value{text-align:left;border:.1rem solid #fff;padding:5px}.post .read-more-button{background-color:#00722c;justify-content:flex-end;display:flex}.post .post-blockquote{background-color:#111;border-left:5px solid #1d1d1d;padding:.5rem;font-size:.9rem}.post .post-blockquote p{margin:0}.wakatime{margin:.5rem}.banner{text-align:center;justify-content:center;align-items:center;padding:.75rem;display:flex}.banner span{padding:0 1rem;font-size:1.2rem}.banner div>p,h4{display:inline}.icon{width:32px;display:inline-block}.back-button{border:.1rem solid #fff;align-items:center;gap:.8rem;padding:.5rem 1rem;font-size:1.2rem;display:flex}.back-button img{width:24px;margin:5px;display:inline-block}.back-button:hover{background-color:#303030}
