@font-face{font-family:"Hubot Sans";src:url("../fonts/HubotSans[slnt,wdth,wght].woff2") format("woff2");font-weight:200 900;font-stretch:75% 125%;font-style:normal;font-display:swap}@font-face{font-family:"Fira Code VF";src:url("../fonts/FiraCode-VF.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}@media(prefers-reduced-motion: reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}html{scroll-behavior:smooth}body{font-family:"Hubot Sans",sans-serif;background-color:#0b0b0b;background-image:linear-gradient(to bottom, transparent 0%, rgba(15, 207, 127, 0.03125) 100%);background-attachment:fixed;color:rgba(229,229,229,.625);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}p{line-height:1.75}::selection{background-color:#0fcf7f;color:#0b0b0b}ol,ul{padding-left:0}iconify-icon{display:inline-block;width:1em;height:1em}.skip-link{position:absolute;top:-3rem;left:1rem;background:#0fcf7f;color:#0b0b0b;padding:.5rem 1rem;z-index:1000;text-decoration:none;border-radius:.25rem;font-weight:700;font-stretch:125%}.skip-link:focus{top:1rem}:focus-visible{outline:.125rem solid #0fcf7f;outline-offset:.125rem;border-radius:.25rem}.sr-only{position:absolute;width:.0625rem;height:.0625rem;padding:0;margin:-0.0625rem;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media(prefers-contrast: high){:root{--color-text-primary: #ffffff;--color-text-secondary: #cccccc;--color-accent-primary: #00ff00;--color-bg-primary: #000000;--color-bg-secondary: #111111}}@keyframes slideIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes slideOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.95)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes triangleGlowLeft{0%,100%{opacity:.125;transform:translateX(-0.5rem)}50%{opacity:.25;transform:translateX(0)}}@keyframes triangleGlowRight{0%,100%{opacity:.125;transform:translateX(0.5rem)}50%{opacity:.25;transform:translateX(0)}}@keyframes blink{50%{opacity:0}}@keyframes element-destroy{0%{transform:scale(1) rotate(0deg)}100%{transform:scale(0) rotate(720deg)}}@keyframes screenshake{0%,100%{transform:translateX(0)}10%{transform:translateX(-0.25rem) translateY(-0.125rem)}20%{transform:translateX(0.25rem) translateY(0.125rem)}30%{transform:translateX(-0.1875rem) translateY(-0.0625rem)}40%{transform:translateX(0.1875rem) translateY(0.0625rem)}50%{transform:translateX(-0.125rem) translateY(-0.0625rem)}60%{transform:translateX(0.125rem) translateY(0.0625rem)}70%{transform:translateX(-0.0625rem) translateY(0rem)}80%{transform:translateX(0.0625rem) translateY(0rem)}90%{transform:translateX(-0.0625rem) translateY(0rem)}}@keyframes dynamite-float{0%,100%{transform:translateY(0.125rem)}50%{transform:translateY(-0.125rem)}}@keyframes dynamite-grow{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.project-card.destroyed,.prominent-link.destroyed,.old-button.destroyed,.button-link.destroyed{pointer-events:none}.container.screenshake{animation:screenshake .3s ease-out}@media(hover: hover)or (pointer: fine){body[style*="cursor: none"] *,body[style*="cursor: none"] *:hover{cursor:none !important}}.container{min-height:100vh;max-width:80rem;margin:0 auto;padding:1.5rem;position:relative}@media(min-width: 1024px){.container{padding:0 8rem}}.main-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width: 1024px){.main-grid{transform:translateX(-0.5rem);grid-template-columns:40% 60%;justify-content:space-between}}.spotlight-effect{pointer-events:none;position:fixed;inset:0;z-index:30;transition:background .25s cubic-bezier(0.5, 0, 0.25, 1);background:radial-gradient(64rem circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(15, 207, 127, 0.0625), transparent 80%)}@media(max-width: 1023.98px){.spotlight-effect{display:none}}@media(prefers-reduced-motion: reduce){.spotlight-effect{display:none !important}}.triangle-decoration,.triangle-accent{position:fixed;top:0;width:0;height:0;pointer-events:none;z-index:10;opacity:.125;transition:opacity .5s ease-out}@media(max-width: 1023.98px){.triangle-decoration,.triangle-accent{display:none}}.triangle-left{left:0;border-style:solid;border-width:100vh 10vw 0 0;border-color:#0fcf7f rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);animation:triangleGlowLeft 5s ease-in-out infinite}.triangle-right{right:0;top:auto;bottom:0;border-style:solid;border-width:100vh 10vw 0 0;border-color:rgba(0,0,0,0) #0fcf7f rgba(0,0,0,0) rgba(0,0,0,0);animation:triangleGlowRight 5s ease-in-out infinite}.triangle-accent{z-index:9;opacity:.125}.triangle-accent-left{left:0;border-style:solid;border-width:50vh 5vw 0 0;border-color:#0fcf7f rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);animation:triangleGlowLeft 10s ease-in-out infinite reverse}.triangle-accent-right{right:0;top:auto;bottom:0;border-style:solid;border-width:50vh 5vw 0 0;border-color:rgba(0,0,0,0) #0fcf7f rgba(0,0,0,0) rgba(0,0,0,0);animation:triangleGlowRight 10s ease-in-out infinite reverse}.header-column{position:relative;margin-bottom:4.375rem}@media(min-width: 1024px){.header-column{position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;max-height:100vh;padding:6rem 0;margin-bottom:0}}.hero-section{margin-top:1rem}@media(min-width: 1024px){.hero-section{margin-top:0}}.header-content{flex:1}.name-3d-container{position:relative;width:14.5rem;height:.5rem;margin-bottom:4rem}.name-3d-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;pointer-events:none}.name-3d{font-family:"Hubot Sans",sans-serif;position:absolute;top:50%;left:50%;font-weight:900;font-stretch:125%;text-transform:uppercase}.name-3d:nth-child(1){font-size:1rem;color:#0b0b0b;transform:translateX(-50%) translateY(calc(-50% + 0rem))}.name-3d:nth-child(2){font-size:1.2rem;color:hsl(155,22.3255813953%,5.6209150327%);transform:translateX(-50%) translateY(calc(-50% + 0.125rem))}.name-3d:nth-child(3){font-size:1.4rem;color:hsl(155,36.2264150943%,6.9281045752%);transform:translateX(-50%) translateY(calc(-50% + 0.25rem))}.name-3d:nth-child(4){font-size:1.6rem;color:rgb(11.4,30.6,22.6);transform:translateX(-50%) translateY(calc(-50% + 0.375rem))}.name-3d:nth-child(5){font-size:1.8rem;color:hsl(155,52.602739726%,9.5424836601%);transform:translateX(-50%) translateY(calc(-50% + 0.5rem))}.name-3d:nth-child(6){font-size:2rem;color:hsl(155,57.8313253012%,10.8496732026%);transform:translateX(-50%) translateY(calc(-50% + 0.625rem))}.name-3d:nth-child(7){font-size:2.2rem;color:rgb(11.8,50.2,34.2);transform:translateX(-50%) translateY(calc(-50% + 0.75rem))}.name-3d:nth-child(8){font-size:2.4rem;color:hsl(155,65.2427184466%,13.4640522876%);transform:translateX(-50%) translateY(calc(-50% + 0.875rem))}.name-3d:nth-child(9){font-size:2.6rem;color:hsl(155,67.9646017699%,14.7712418301%);transform:translateX(-50%) translateY(calc(-50% + 1rem))}.name-3d:nth-child(10){font-size:2.8rem;color:rgb(12.2,69.8,45.8);transform:translateX(-50%) translateY(calc(-50% + 1.125rem))}.name-3d:nth-child(11){font-size:3rem;color:hsl(155,72.1804511278%,17.385620915%);transform:translateX(-50%) translateY(calc(-50% + 1.25rem))}.name-3d:nth-child(12){font-size:3.2rem;color:hsl(155,73.8461538462%,18.6928104575%);transform:translateX(-50%) translateY(calc(-50% + 1.375rem))}.name-3d:nth-child(13){font-size:3.4rem;color:rgb(12.6,89.4,57.4);transform:translateX(-50%) translateY(calc(-50% + 1.5rem))}.name-3d:nth-child(14){font-size:3.6rem;color:hsl(155,76.5644171779%,21.3071895425%);transform:translateX(-50%) translateY(calc(-50% + 1.625rem))}.name-3d:nth-child(15){font-size:3.8rem;color:hsl(155,77.6878612717%,22.614379085%);transform:translateX(-50%) translateY(calc(-50% + 1.75rem))}.name-3d:nth-child(16){font-size:4rem;color:#0d6d45;transform:translateX(-50%) translateY(calc(-50% + 1.875rem))}.name-3d:nth-child(16){background:linear-gradient(135deg, rgb(15, 207, 127), rgb(15, 205, 175));background-clip:text;color:rgba(0,0,0,0);text-shadow:0 0 10px rgba(229,229,229,.125)}.title{font-size:1.25rem;font-weight:500;font-family:"Fira Code VF",monospace;color:#e5e5e5;margin-bottom:1rem}@media(min-width: 1024px){.title{margin-bottom:3rem}}.title::after{content:"_";animation:blink 1.25s step-end infinite;margin-left:.125rem;font-weight:700}.prominent-links{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 0 0;max-width:none}@media(max-width: 768px){.prominent-links{grid-template-columns:1fr;gap:.75rem}}.prominent-links .prominent-link{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125);border-radius:.75rem;text-decoration:none;color:#e5e5e5;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;position:relative;overflow:hidden;min-width:0}.prominent-links .prominent-link:hover{background:rgba(15,207,127,.25);border-color:#0fcf7f;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(15,207,127,.5)}.prominent-links .prominent-link-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;color:#e5e5e5;font-size:1.25rem;position:relative;z-index:1}.prominent-links .prominent-link-content{flex:1;position:relative;z-index:1}.prominent-links .prominent-link-content h3{font-size:1.125rem;font-weight:600;font-stretch:125%;color:#e5e5e5;margin:0 0 .25rem 0;line-height:1.2}.prominent-links .prominent-link-content p{font-size:.875rem;color:rgba(229,229,229,.625);margin:0 !important;line-height:1.3}.prominent-links .prominent-link.distant-illusions{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.prominent-links .prominent-link.distant-illusions:hover{background:rgba(115,73,199,.25);border-color:#7349c7;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(115,73,199,.5)}.prominent-links .prominent-link.distant-illusions .prominent-link-icon{background:rgba(115,73,199,.875);border:.0625rem solid rgba(115,73,199,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(115,73,199,.25)}.prominent-links .prominent-link.patreon{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.prominent-links .prominent-link.patreon:hover{background:rgba(252,103,77,.25);border-color:#fc674d;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(252,103,77,.5)}.prominent-links .prominent-link.patreon .prominent-link-icon{background:rgba(252,103,77,.875);border:.0625rem solid rgba(252,103,77,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(252,103,77,.25)}.prominent-links .prominent-link.bluesky{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.prominent-links .prominent-link.bluesky:hover{background:rgba(0,133,255,.25);border-color:#0085ff;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(0,133,255,.5)}.prominent-links .prominent-link.bluesky .prominent-link-icon{background:rgba(0,133,255,.875);border:.0625rem solid rgba(0,133,255,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(0,133,255,.25)}.prominent-links .prominent-link.x{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.prominent-links .prominent-link.x:hover{background:rgba(229,229,229,.25);border-color:#e5e5e5;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(229,229,229,.5)}.prominent-links .prominent-link.x .prominent-link-icon{background:rgba(0,0,0,.875);border:.0625rem solid rgba(0,0,0,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(0,0,0,.25)}.prominent-links .prominent-link.email{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.prominent-links .prominent-link.email:hover{background:rgba(229,229,229,.25);border-color:#e5e5e5;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(229,229,229,.5)}.prominent-links .prominent-link.email .prominent-link-icon{background:rgba(11,11,11,.875);border:.0625rem solid rgba(11,11,11,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(11,11,11,.25)}.navigation{display:none;margin-bottom:2rem}.navigation ul{list-style:none;width:fit-content}@media(min-width: 1024px){.navigation{display:block}}.navigation .nav-link{display:flex;align-items:center;padding:.75rem 0;text-decoration:none;color:rgba(229,229,229,.4375);font-size:.875rem;font-weight:700;font-stretch:125%;text-transform:uppercase;transition:color .25s,text-shadow .25s;position:relative}.navigation .nav-link::before{content:"";margin-right:1rem;height:.125rem;width:2rem;background-color:rgba(229,229,229,.4375);transition:width .25s,background-color .25s}.navigation .nav-link:hover,.navigation .nav-link:focus,.navigation .nav-link.active{color:#0fcf7f;text-shadow:0 0 1.75rem rgba(15,207,127,.5)}.navigation .nav-link:hover::before,.navigation .nav-link:focus::before,.navigation .nav-link.active::before{width:4rem;background-color:#0fcf7f}.social-links{display:flex;align-items:center;gap:1rem}.social-links .social-link{color:rgba(229,229,229,.4375);text-decoration:none;transition:color .25s,filter .25s;font-size:1.5rem}.social-links .social-link:hover,.social-links .social-link:focus{color:#0fcf7f;filter:drop-shadow(0 0 0.875rem rgba(15, 207, 127, 0.5))}@media(min-width: 1024px){.content-column{padding:6rem 0}}.section{margin-bottom:6rem;scroll-margin-top:4rem}.section-header{position:sticky;top:0;z-index:20;margin:-1.5rem -1.5rem 0 -1.5rem;width:100vw;padding:1.25rem 1.5rem;backdrop-filter:blur(0.5rem);background:rgba(11,11,11,.5)}@media(max-width: 1023.98px){.section-header{margin:-1.5rem -1.5rem 0 -1.5rem}}@media(min-width: 1024px){.section-header{position:relative;top:auto;margin:-0.25rem auto 1.25rem auto;width:100%;background:rgba(0,0,0,0);backdrop-filter:none;padding:0}}@media(min-width: 1024px){.section{margin-bottom:9rem;scroll-margin-top:6rem}}.section-title{font-size:2rem;font-weight:700;font-stretch:125%;text-transform:uppercase;color:#e5e5e5;margin-bottom:0}.section-content{line-height:1.6}.section-content p{margin-bottom:1rem}.link{color:#e5e5e5;text-decoration:none;font-weight:700;transition:color .25s,text-decoration .25s,text-shadow .25s;position:relative}.link:hover,.link:focus{color:#0fcf7f;text-decoration:underline;text-shadow:0 0 1.75rem rgba(15,207,127,.5)}button.link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;cursor:pointer;margin-top:1rem}#read-more-btn{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;cursor:pointer;margin-top:-1.5rem;color:#0fcf7f;font-weight:700;transition:color .25s,text-decoration .25s,text-shadow .25s}#read-more-btn:hover,#read-more-btn:focus{color:#e5e5e5;text-decoration:underline;text-shadow:0 0 1.75rem rgba(229,229,229,.5)}#about-more{max-height:0;overflow:hidden;transition:max-height .5s ease-in-out}.projects-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;padding-top:.25rem}.projects-grid .project-card{position:relative;cursor:pointer;transition:opacity .25s,transform .25s,box-shadow .25s;border-radius:.75rem;overflow:hidden;background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:0 .125rem .5rem rgba(229,229,229,.03125)}.projects-grid .project-card:hover{border-color:#0fcf7f;box-shadow:0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(15,207,127,.5)}@media(hover: hover)or (pointer: fine){.projects-grid .project-card:hover .project-image::after{opacity:.25}.projects-grid .project-card:hover .project-image img{transform:scale(1.125) rotate(1deg);filter:grayscale(0.9625)}.projects-grid .project-card:hover .project-title{transform:translateY(-2.5rem)}.projects-grid .project-card:hover .project-roles{opacity:1;transform:translateY(0)}.projects-grid .project-card:hover .project-engine{opacity:1;transform:translateY(0)}}@media(min-width: 1024px){.projects-grid .project-card{transition:opacity .25s,transform .25s,box-shadow .25s}}.projects-grid .project-card .project-image{position:relative;aspect-ratio:4/1;overflow:hidden}.projects-grid .project-card .project-image::before{content:"";position:absolute;top:.125rem;bottom:.125rem;left:.125rem;right:.125rem;border-radius:.5rem;background:linear-gradient(to bottom, rgba(229, 229, 229, 0.125) 0%, transparent 5%, transparent 95%, rgba(229, 229, 229, 0.0625) 100%);pointer-events:none;z-index:4}.projects-grid .project-card .project-image::after{content:"";position:absolute;inset:0;background:#0fcf7f;opacity:0;pointer-events:none;z-index:1;transition:opacity .5s cubic-bezier(0.215, 0.61, 0.355, 1)}.projects-grid .project-card .project-image img{width:100%;height:100%;image-rendering:pixelated;object-fit:contain;transition:transform .5s cubic-bezier(0.215, 0.61, 0.355, 1),filter .5s cubic-bezier(0.215, 0.61, 0.355, 1)}.projects-grid .project-card .project-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;color:#fff;transition:background .25s;z-index:3}@media(max-width: 1023.98px){.projects-grid .project-card .project-overlay{padding:1rem}}.projects-grid .project-card .project-title{font-size:1.5rem;font-weight:700;font-stretch:125%;margin-bottom:-2rem;color:#e5e5e5;transition:transform .25s ease-out;transform:translateY(0);position:relative}@media(max-width: 1023.98px){.projects-grid .project-card .project-title{font-size:1rem}}.projects-grid .project-card .project-year{display:inline-block;background:rgba(15,207,127,.875);border:.0625rem solid rgba(15,207,127,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(15,207,127,.25);color:#0b0b0b;padding:.25rem .625rem;border-radius:999rem;font-size:.875rem;font-weight:700;font-stretch:125%;margin-right:.25rem;transition:background .25s,border-color .25s,box-shadow .25s;transform:translateY(-0.1875rem)}@media(max-width: 1023.98px){.projects-grid .project-card .project-year{font-size:.625rem;padding:.1875rem .5rem;transform:translateY(-0.125rem)}}.projects-grid .project-card .project-roles{display:flex;flex-wrap:nowrap;gap:.375rem;opacity:0;transform:translateY(0.5rem);transition:opacity .25s ease-out,transform .25s ease-out}.projects-grid .project-card .role-tag{background:rgba(15,207,127,.875);border:.0625rem solid rgba(15,207,127,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(15,207,127,.25);color:#0b0b0b;padding:.25rem .625rem;border-radius:999rem;font-size:.75rem;font-weight:700;font-stretch:125%;white-space:nowrap}.projects-grid .project-card .role-tag.programming{background:rgba(63,159,251,.875);border:.0625rem solid rgba(63,159,251,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(63,159,251,.25)}.projects-grid .project-card .role-tag.design{background:rgba(251,87,127,.875);border:.0625rem solid rgba(251,87,127,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(251,87,127,.25)}.projects-grid .project-card .role-tag.art{background:rgba(159,127,251,.875);border:.0625rem solid rgba(159,127,251,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(159,127,251,.25)}.projects-grid .project-card .role-tag.sound{background:rgba(251,151,63,.875);border:.0625rem solid rgba(251,151,63,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(251,151,63,.25)}.projects-grid .project-card .project-engine{position:absolute;top:1rem;right:1rem;opacity:0;transform:translateY(-0.5rem);transition:opacity .25s ease-out,transform .25s ease-out;z-index:5}@media(max-width: 1023.98px){.projects-grid .project-card .project-engine{top:.75rem;right:.75rem}}.projects-grid .project-card .engine-tag{background:rgba(15,207,127,.875);border:.0625rem solid rgba(15,207,127,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(15,207,127,.25);color:#0b0b0b;padding:.25rem .625rem;border-radius:999rem;font-size:.75rem;font-weight:700;font-stretch:125%;white-space:nowrap;display:inline-block}@media(max-width: 1023.98px){.projects-grid .project-card .engine-tag{font-size:.625rem;padding:.1875rem .5rem}}.projects-grid .project-card .engine-tag.gamemaker{background:rgba(102,128,255,.875);border:.0625rem solid rgba(102,128,255,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(102,128,255,.25)}.projects-grid .project-card .engine-tag.unity{background:rgba(159,159,159,.875);border:.0625rem solid rgba(159,159,159,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(159,159,159,.25)}.projects-grid .project-card .engine-tag.unreal{background:rgba(0,0,0,.875);border:.0625rem solid rgba(0,0,0,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(0,0,0,.25);color:#e5e5e5}.projects-grid .project-card .engine-tag.monogame{background:rgba(231,60,0,.875);border:.0625rem solid rgba(231,60,0,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(231,60,0,.25);color:#e5e5e5}.projects-grid .project-card .engine-tag.csharp{background:rgba(54,0,146,.875);border:.0625rem solid rgba(54,0,146,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(54,0,146,.25);color:#e5e5e5}.projects-grid .project-card .engine-tag.cpp{background:rgba(0,88,157,.875);border:.0625rem solid rgba(0,88,157,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(0,88,157,.25);color:#e5e5e5}.projects-grid .project-card .engine-tag.web{background:rgba(240,219,79,.875);border:.0625rem solid rgba(240,219,79,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(240,219,79,.25)}.projects-grid .project-card .engine-tag.other{background:rgba(63,63,63,.875);border:.0625rem solid rgba(63,63,63,.25);box-shadow:inset 0 .1875rem .125rem -0.125rem rgba(229,229,229,.5),inset 0 -0.1875rem .125rem -0.125rem rgba(229,229,229,.25),0 0 .625rem rgba(63,63,63,.25);color:#e5e5e5}.footer{margin-top:4rem;font-size:.875rem;color:rgba(229,229,229,.4375)}.footer p{margin-bottom:.5rem}.footer .copyright{margin-top:1rem}.piss{font-size:1.1em;vertical-align:baseline;filter:hue-rotate(200deg) saturate(1.5);margin-right:.25rem;margin-left:.25rem}.buttons-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.buttons-grid .old-button{height:fit-content}.buttons-grid .old-button.static{margin-bottom:.5rem}.buttons-grid .button-link{margin-bottom:.5rem;image-rendering:pixelated}.buttons-grid .button-link img{transition:filter .25s,box-shadow .25s}.buttons-grid .button-link:hover img{filter:brightness(2);box-shadow:0 0 2rem -0.25rem rgba(15,207,127,.5)}.popup-notification{position:fixed;top:2rem;right:2rem;background:#171717;border:.125rem solid rgba(148,163,184,.125);border-radius:.75rem;box-shadow:inset 0 .25rem .5rem -0.25rem rgba(229,229,229,.125),0 .5rem 2rem -0.25rem rgba(11,11,11,.5);padding:1.5rem;max-width:40rem;z-index:40;transform:translateX(calc(100% + 2rem));transition:transform .25s ease-out}.popup-notification.show{transform:translateX(0)}.popup-notification-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.popup-notification-header h2{color:#e5e5e5;font-size:1.25rem;font-weight:700;font-stretch:125%;margin:0;margin-top:.25rem;line-height:1.2}.popup-notification-close{background:none;border:.125rem solid rgba(0,0,0,0);color:rgba(229,229,229,.4375);font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:.375rem;transition:color .25s,background .25s,border-color .25s,box-shadow .25s;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;margin-left:.5rem}.popup-notification-close:hover{color:#0b0b0b;background:rgba(15,207,127,.75);border-color:#0fcf7f;box-shadow:0 0 2rem -0.25rem rgba(15,207,127,.5)}.popup-notification-content{color:rgba(229,229,229,.625);line-height:1.4;margin-bottom:1rem}.popup-notification-links{display:flex;gap:.75rem;flex-wrap:wrap}.popup-notification-link{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125);color:#e5e5e5;text-decoration:none;border-radius:.375rem;transition:background .25s,border-color .25s,box-shadow .25s;font-weight:600;font-stretch:125%;font-size:.8125rem;line-height:1}.popup-notification-link:hover{background:rgba(15,207,127,.25);border-color:#0fcf7f;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(15,207,127,.5)}.popup-notification-link iconify-icon{font-size:1rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.popup-notification-link.platform-steam{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.popup-notification-link.platform-steam:hover{background:rgba(0,174,239,.25);border-color:#00aeef;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(0,174,239,.5)}.popup-notification-link.platform-itch{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.popup-notification-link.platform-itch:hover{background:rgba(250,92,92,.25);border-color:#fa5c5c;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(250,92,92,.5)}.popup-notification-link.platform-nintendo{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.popup-notification-link.platform-nintendo:hover{background:rgba(230,0,18,.25);border-color:#e60012;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(230,0,18,.5)}@media(max-width: 768px){.popup-notification{top:1rem;right:1rem;left:1rem;max-width:none;transform:translateY(-100vh)}.popup-notification.show{transform:translateY(0)}}@media(prefers-reduced-motion: reduce){.popup-notification{transition:none !important}}#modal-container{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:1rem}.modal-overlay{position:absolute;inset:0;background:rgba(11,11,11,.5);backdrop-filter:blur(0.5rem);animation:fadeIn .25s ease-out;display:flex;align-items:center;justify-content:center}.modal-overlay.modal-dismissing{animation:fadeOut .25s ease-out forwards}@media(prefers-reduced-motion: reduce){.modal-overlay,.modal-overlay.modal-dismissing{animation:none !important}}.modal{position:relative;background:#171717;border:.125rem solid rgba(148,163,184,.125);border-radius:.75rem;max-width:min(48rem,100vw - 2rem);width:100%;max-height:calc(100vh - 2rem);overflow:hidden;box-shadow:inset 0 .25rem .5rem -0.25rem rgba(229,229,229,.125),0 .5rem 2rem -0.25rem rgba(11,11,11,.5);animation:slideIn .25s ease-out}.modal.modal-dismissing{animation:slideOut .25s ease-out forwards}@media(prefers-reduced-motion: reduce){.modal,.modal.modal-dismissing{animation:none !important}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:.0625rem solid #1f1f1f;background:#0b0b0b;box-shadow:inset 0 .25rem .5rem -0.25rem rgba(229,229,229,.125)}.modal-header h2{font-size:1.5rem;font-weight:700;font-stretch:125%;color:#e5e5e5;margin:0}.modal-close{background:none;border:.125rem solid rgba(0,0,0,0);color:rgba(229,229,229,.4375);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:color .25s,background .25s,border-color .25s,box-shadow .25s;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem}.modal-close:hover{color:#0b0b0b;background:rgba(15,207,127,.75);border-color:#0fcf7f;box-shadow:0 0 2rem -0.25rem rgba(15,207,127,.5)}.modal-body{padding:1.5rem;overflow-y:auto;max-height:calc(100vh - 7.5rem)}.modal-screenshot{width:100%;border-radius:.75rem;margin-bottom:.5rem;border:.0625rem solid #1f1f1f}.modal-meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:1.5rem;color:rgba(229,229,229,.4375);font-size:.875rem}.modal-meta span{display:flex;align-items:center;gap:.5rem}.modal-description{color:rgba(229,229,229,.625);line-height:1.5;margin-bottom:1.5rem}.modal-links{display:flex;gap:1rem;flex-wrap:wrap}.modal-link{display:inline-flex;align-items:center;gap:.5rem;padding:.8125rem 1.5rem .75rem 1.5rem;background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125);color:#e5e5e5;text-decoration:none;border-radius:.5rem;transition:background .25s,border-color .25s,box-shadow .25s;font-weight:600;font-stretch:125%;font-size:.875rem;line-height:1}.modal-link:hover{background:rgba(15,207,127,.25);border-color:#0fcf7f;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(15,207,127,.5)}.modal-link iconify-icon{font-size:1.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;transform:translateY(-0.0625rem)}.modal-link.platform-steam{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-steam:hover{background:rgba(0,174,239,.25);border-color:#00aeef;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(0,174,239,.5)}.modal-link.platform-epic{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-epic:hover{background:rgba(47,45,46,.25);border-color:#2f2d2e;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(47,45,46,.5)}.modal-link.platform-itch{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-itch:hover{background:rgba(250,92,92,.25);border-color:#fa5c5c;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(250,92,92,.5)}.modal-link.platform-gog{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-gog:hover{background:rgba(181,108,254,.25);border-color:#b56cfe;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(181,108,254,.5)}.modal-link.platform-gamejolt{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-gamejolt:hover{background:rgba(47,127,111,.25);border-color:#2f7f6f;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(47,127,111,.5)}.modal-link.platform-operagx{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-operagx:hover{background:rgba(250,30,78,.25);border-color:#fa1e4e;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(250,30,78,.5)}.modal-link.platform-nintendo{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-nintendo:hover{background:rgba(230,0,18,.25);border-color:#e60012;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(230,0,18,.5)}.modal-link.platform-playstation{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-playstation:hover{background:rgba(0,48,135,.25);border-color:#003087;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(0,48,135,.5)}.modal-link.platform-xbox{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-xbox:hover{background:rgba(16,124,16,.25);border-color:#107c10;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(16,124,16,.5)}.modal-link.platform-googleplay{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-googleplay:hover{background:rgba(9,47,66,.25);border-color:#092f42;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(9,47,66,.5)}.modal-link.platform-appstore{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-appstore:hover{background:rgba(0,0,0,.25);border-color:#000;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(0,0,0,.5)}.modal-link.platform-website{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-website:hover{background:rgba(15,207,127,.25);border-color:#0fcf7f;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(15,207,127,.5)}.modal-link.platform-di{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-di:hover{background:rgba(115,73,199,.25);border-color:#7349c7;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(115,73,199,.5)}.modal-link.platform-youtube{background:rgba(229,229,229,.046875);border:.125rem solid rgba(229,229,229,.046875);box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125)}.modal-link.platform-youtube:hover{background:rgba(255,0,0,.25);border-color:red;box-shadow:inset 0 .125rem .125rem -0.125rem rgba(229,229,229,.5),0 .125rem .5rem rgba(229,229,229,.03125),0 0 2rem -0.25rem rgba(255,0,0,.5)}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{background:#0b0b0b}::-webkit-scrollbar-thumb{background:rgba(229,229,229,.4375);border-radius:.5rem}::-webkit-scrollbar-thumb:hover{background:#0fcf7f}.dynamite-launcher{position:fixed;image-rendering:pixelated;bottom:1.5rem;right:1.5rem;width:48px;height:48px;cursor:pointer;background:url("../img/tnt.png") center/contain no-repeat;z-index:998;transition:transform .25s,filter .25s;border:none;animation:dynamite-float 2s ease-in-out infinite}.dynamite-launcher:hover{transform:scale(1.25);filter:drop-shadow(0 0 0.875rem rgba(229, 229, 229, 0.5)) brightness(2)}.dynamite-launcher.growing{animation:dynamite-grow .5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,dynamite-float 2s ease-in-out infinite .6s}@media(hover: none)and (pointer: coarse){.dynamite-cursor{display:none !important}}.dynamite-cursor,.dynamite-throw{position:fixed;image-rendering:pixelated;width:2.5rem;height:2.5rem;background:url("../img/tnt.png") center/contain no-repeat;pointer-events:none;z-index:998;transform:translate(-50%, -50%)}.dynamite-throw{animation:dynamite-throw .75s linear forwards}@keyframes dynamite-throw{0%{transform:translate(-50%, -50%) scale(1) rotate(0deg)}50%{transform:translate(-50%, calc(-50% - 32px)) scale(0.5) rotate(360deg)}100%{transform:translate(-50%, -50%) scale(0) rotate(720deg)}}.explosion{position:fixed;image-rendering:pixelated;width:284px;height:400px;background:url("../img/explosion.gif") center/contain no-repeat;pointer-events:none;z-index:997;transform:translate(-50%, -50%)}/*# sourceMappingURL=style.css.map */
