:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{width:100vw;min-height:100vh;margin:0;padding:0;overflow:hidden auto}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{scroll-snap-type:y mandatory;scroll-behavior:smooth;width:100vw;min-height:100vh;margin:0;padding:0;overflow:hidden scroll}#root:before,#root:after{content:"";pointer-events:none;z-index:50;position:fixed;left:0;right:0}#root:before{background:linear-gradient(to bottom,var(--bg-color,#000)0%,transparent 100%);height:150px;top:0}#root:after{background:linear-gradient(to top,var(--bg-color,#000)0%,transparent 100%);height:150px;bottom:0}@media (max-width:768px){#root:before,#root:after{height:100px}}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.read-the-docs{color:#888}@media (min-width:1201px){.terminal-wrapper{width:40%!important;max-width:50vw!important;left:2rem!important}}@media (max-width:1010px){.terminal-wrapper{border-radius:8px 8px 0 0!important;width:calc(100% - 2rem)!important;max-width:100%!important;height:200px!important;max-height:200px!important;margin:0!important;padding:.5rem!important;font-size:10px!important;transition:opacity .3s,transform .3s!important;bottom:.5rem!important;left:.5rem!important;right:2rem!important}.terminal-wrapper.game-active{opacity:0!important;pointer-events:none!important;transform:translateY(100%)!important}@supports (animation-timeline:scroll()){.terminal-wrapper{animation:linear hide-terminal-mobile;animation-timeline:scroll();animation-range:80% 100%}}@keyframes hide-terminal-mobile{to{opacity:0;pointer-events:none;transform:translateY(100%)}}.terminal-wrapper .terminal-output{max-height:120px!important;font-size:10px!important}.terminal-wrapper input{font-size:10px!important}}@media (min-width:1011px) and (max-width:1200px){.terminal-wrapper{width:45%!important;max-width:500px!important;height:300px!important;margin-left:5px!important;font-size:12px!important;left:1rem!important}.terminal-wrapper .terminal-output{max-height:200px!important;font-size:12px!important}.terminal-wrapper input{font-size:12px!important}}@media (max-width:1010px){.hero-wrapper h1{font-size:2rem!important}.hero-wrapper p{font-size:1rem!important}.hero-wrapper a{padding:.4rem .8rem!important;font-size:.875rem!important}}.glitch-container{will-change:transform,opacity;--glitch-color-1:255,0,0;--glitch-color-2:0,255,255;display:inline-block;position:relative}.glitch-container.glitching:before,.glitch-container.glitching:after{content:"";background:inherit;pointer-events:none;opacity:.8;mix-blend-mode:screen;animation:.3s infinite glitch-anim;position:absolute;inset:0}.glitch-container.glitching:before{clip-path:polygon(0 0,100% 0,100% 45%,0 45%);animation:.3s infinite glitch-anim-1;transform:translate(-2px,-2px)}.glitch-container.glitching:after{clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%);animation:.3s infinite glitch-anim-2;transform:translate(2px,2px)}.glitch-container[data-intensity=low].glitching:before{background:rgba(var(--glitch-color-1),.2);animation-duration:.4s}.glitch-container[data-intensity=low].glitching:after{background:rgba(var(--glitch-color-2),.2);animation-duration:.4s}.glitch-container[data-intensity=medium].glitching:before{background:rgba(var(--glitch-color-1),.4);animation-duration:.3s}.glitch-container[data-intensity=medium].glitching:after{background:rgba(var(--glitch-color-2),.4);animation-duration:.3s}.glitch-container[data-intensity=high].glitching:before{background:rgba(var(--glitch-color-1),.6);animation-duration:.2s;transform:translate(-5px,-3px)}.glitch-container[data-intensity=high].glitching:after{background:rgba(var(--glitch-color-2),.6);animation-duration:.2s;transform:translate(5px,3px)}@keyframes glitch-anim-1{0%{clip-path:polygon(0 2%,100% 2%,100% 35%,0 35%);transform:translate(-5px,3px)}10%{clip-path:polygon(0 15%,100% 15%,100% 18%,0 18%);transform:translate(8px,-4px)}20%{clip-path:polygon(0 40%,100% 40%,100% 70%,0 70%);transform:translate(-3px,6px)}30%{clip-path:polygon(0 55%,100% 55%,100% 60%,0 60%);transform:translate(6px,-8px)}40%{clip-path:polygon(0 10%,100% 10%,100% 45%,0 45%);transform:translate(-7px,2px)}50%{clip-path:polygon(0 25%,100% 25%,100% 28%,0 28%);transform:translate(4px,5px)}60%{clip-path:polygon(0 60%,100% 60%,100% 90%,0 90%);transform:translate(-6px,-3px)}70%{clip-path:polygon(0 5%,100% 5%,100% 50%,0 50%);transform:translate(9px,4px)}80%{clip-path:polygon(0 70%,100% 70%,100% 75%,0 75%);transform:translate(-4px,-7px)}90%{clip-path:polygon(0 30%,100% 30%,100% 80%,0 80%);transform:translate(7px,6px)}to{clip-path:polygon(0 0%,100% 0%,100% 20%,0 20%);transform:translate(-5px,-5px)}}@keyframes glitch-anim-2{0%{clip-path:polygon(0 50%,100% 50%,100% 85%,0 85%);transform:translate(6px,-5px)}10%{clip-path:polygon(0 8%,100% 8%,100% 40%,0 40%);transform:translate(-7px,3px)}20%{clip-path:polygon(0 65%,100% 65%,100% 68%,0 68%);transform:translate(4px,8px)}30%{clip-path:polygon(0 20%,100% 20%,100% 55%,0 55%);transform:translate(-8px,-6px)}40%{clip-path:polygon(0 75%,100% 75%,100% 95%,0 95%);transform:translate(5px,7px)}50%{clip-path:polygon(0 35%,100% 35%,100% 38%,0 38%);transform:translate(-6px,-4px)}60%{clip-path:polygon(0 12%,100% 12%,100% 60%,0 60%);transform:translate(8px,5px)}70%{clip-path:polygon(0 45%,100% 45%,100% 48%,0 48%);transform:translate(-5px,9px)}80%{clip-path:polygon(0 80%,100% 80%,100% 100%,0 100%);transform:translate(7px,-7px)}90%{clip-path:polygon(0 0%,100% 0%,100% 25%,0 25%);transform:translate(-9px,4px)}to{clip-path:polygon(0 55%,100% 55%,100% 75%,0 75%);transform:translate(6px,-6px)}}.glitch-container.glitching{position:relative}.glitch-container.glitching:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#00000026 0,#0000 1px 2px,#00000026 3px);animation:8s linear infinite scanline;position:absolute;inset:0}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(10px)}}.glitch-container[data-intensity=high].glitching{filter:contrast(1.1)brightness(1.05)}@media (max-width:768px){.glitch-container[data-intensity=high].glitching:before{transform:translate(-3px,-2px)}.glitch-container[data-intensity=high].glitching:after{transform:translate(3px,2px)}}@media (prefers-reduced-motion:reduce){.glitch-container.glitching:before,.glitch-container.glitching:after{opacity:.3;animation:none}.glitch-container.glitching{animation:none}}.glitch{color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;margin:0 auto;font-family:Source Code Pro,monospace;font-size:clamp(.5rem,10vw,2.5rem);font-weight:900;position:relative}@media (max-width:768px){.glitch{font-size:clamp(.5rem,10vw,1.8rem)}}.glitch:after,.glitch:before{content:attr(data-text);color:#fff;clip-path:inset(0);background-color:#000;position:absolute;top:0;overflow:hidden}.glitch:not(.enable-on-hover):after{text-shadow:var(--after-shadow,-10px 0 #000);animation:animate-glitch var(--after-duration,3s)infinite linear alternate-reverse;left:10px}.glitch:not(.enable-on-hover):before{text-shadow:var(--before-shadow,10px 0 #3f0);animation:animate-glitch var(--before-duration,2s)infinite linear alternate-reverse;left:-10px}.glitch.enable-on-hover:after,.glitch.enable-on-hover:before{content:"";opacity:0;animation:none}.glitch.enable-on-hover:hover:after{content:attr(data-text);opacity:1;text-shadow:var(--after-shadow,-10px 0 red);animation:animate-glitch var(--after-duration,3s)infinite linear alternate-reverse;left:10px}.glitch.enable-on-hover:hover:before{content:attr(data-text);opacity:1;text-shadow:var(--before-shadow,10px 0 cyan);animation:animate-glitch var(--before-duration,2s)infinite linear alternate-reverse;left:-10px}@keyframes animate-glitch{0%{clip-path:inset(20% 0 50%)}5%{clip-path:inset(10% 0 60%)}10%{clip-path:inset(15% 0 55%)}15%{clip-path:inset(25% 0 35%)}20%{clip-path:inset(30% 0 40%)}25%{clip-path:inset(40% 0 20%)}30%{clip-path:inset(10% 0 60%)}35%{clip-path:inset(15% 0 55%)}40%{clip-path:inset(25% 0 35%)}45%{clip-path:inset(30% 0 40%)}50%{clip-path:inset(20% 0 50%)}55%{clip-path:inset(10% 0 60%)}60%{clip-path:inset(15% 0 55%)}65%{clip-path:inset(25% 0 35%)}70%{clip-path:inset(30% 0 40%)}75%{clip-path:inset(40% 0 20%)}80%{clip-path:inset(20% 0 50%)}85%{clip-path:inset(10% 0 60%)}90%{clip-path:inset(15% 0 55%)}95%{clip-path:inset(25% 0 35%)}to{clip-path:inset(30% 0 40%)}}.mobile-touch-area{display:none}@media (max-width:1010px){.game-wrapper{width:auto!important;max-width:100%!important;padding:.75rem!important;position:fixed!important;top:200px!important;left:1rem!important;right:1rem!important;transform:none!important}.game-wrapper h2{font-size:1.25rem!important}.game-wrapper p{font-size:.75rem!important}.game-wrapper canvas{max-width:100%;height:auto!important}.mobile-touch-area{min-height:80px;font-weight:700;animation:2s ease-in-out infinite pulse;display:block!important}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}}@media (min-width:1011px) and (max-width:1200px){.game-wrapper{width:45%!important;margin-right:10px!important;right:2rem!important}}@media (max-width:1010px){#about{margin-top:-20rem}#about h2{font-size:1.75rem!important}#about h3{font-size:1.25rem!important}#about h4{font-size:.875rem!important}#about p{font-size:.9rem!important}#about>div>div:last-child{grid-template-columns:1fr!important}#projects h2{font-size:1.75rem!important}#projects h3{font-size:1.1rem!important}#projects p{font-size:.85rem!important}#projects a{font-size:.75rem!important}#projects span{font-size:.65rem!important}#contact h2{font-size:1.75rem!important}#contact h4{font-size:.75rem!important}#contact p,#contact a{font-size:.9rem!important}}.staggered-menu-wrapper{z-index:4000;width:100%;height:100%;margin-top:-10px;position:relative}.staggered-menu-wrapper.fixed-wrapper{z-index:400;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.staggered-menu-wrapper.fixed-wrapper[data-open]{pointer-events:auto}.staggered-menu-header{pointer-events:none;z-index:200;background:0 0;justify-content:space-between;align-items:center;width:95%;padding:2em;display:flex;position:absolute;top:0;left:0}.staggered-menu-header>*{pointer-events:auto}.sm-logo{-webkit-user-select:none;user-select:none;align-items:center;display:flex}.sm-logo-img{object-fit:contain;width:auto;height:32px;display:block}.sm-toggle{cursor:pointer;color:#e9e9ef;background:0 0;border:none;align-items:center;gap:.3rem;font-family:Source Code Pro,monospace;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:visible}.sm-theme-toggle{padding:.5rem;transition:opacity .2s}.sm-theme-toggle:hover{opacity:.7}.sm-toggle:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fffa}.sm-line:last-of-type{margin-top:6px}.sm-toggle-textWrap{white-space:nowrap;height:1em;width:var(--sm-toggle-width,auto);min-width:var(--sm-toggle-width,auto);display:inline-block;position:relative;overflow:hidden}.sm-toggle-textInner{flex-direction:column;line-height:1;display:flex}.sm-toggle-line{height:1em;line-height:1;display:block}.sm-icon{will-change:transform;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex;position:relative}.sm-panel-itemWrap{line-height:1;position:relative;overflow:hidden}.sm-icon-line{will-change:transform;background:currentColor;border-radius:2px;width:100%;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sm-line{display:none!important}.staggered-menu-panel{-webkit-backdrop-filter:blur(12px);z-index:100;background:#fff;flex-direction:column;width:clamp(260px,38vw,420px);height:90%;padding:6em 2em 2em;display:flex;position:absolute;top:0;right:0;overflow-y:auto}[data-position=left] .staggered-menu-panel{left:0;right:auto}.sm-prelayers{pointer-events:none;z-index:5;width:clamp(260px,38vw,420px);position:absolute;top:0;bottom:0;right:0}[data-position=left] .sm-prelayers{left:0;right:auto}.sm-prelayer{width:100%;height:100%;position:absolute;top:0;right:0;transform:translate(0)}.sm-panel-inner{flex-direction:column;flex:1;gap:1.25rem;display:flex}.sm-socials{flex-direction:column;gap:.75rem;margin-top:auto;padding-top:2rem;display:flex}.sm-socials-title{color:var(--sm-accent,red);margin:0;font-family:Source Code Pro,monospace;font-size:1rem;font-weight:500}.sm-socials-list{flex-flow:wrap;align-items:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.sm-socials-list .sm-socials-link{opacity:1}.sm-socials-list:hover .sm-socials-link{opacity:.35}.sm-socials-list:hover .sm-socials-link:hover{opacity:1}.sm-socials-link:focus-visible{outline:2px solid var(--sm-accent,red);outline-offset:3px}.sm-socials-list:focus-within .sm-socials-link{opacity:.35}.sm-socials-list:focus-within .sm-socials-link:focus-visible{opacity:1}.sm-socials-link{color:#111;padding:2px 0;font-family:Source Code Pro,monospace;font-size:1.2rem;font-weight:500;text-decoration:none;transition:color .3s,opacity .3s;display:inline-block;position:relative}.sm-socials-link:hover{color:var(--sm-accent,red)}@media (max-width:600px){.staggered-menu-header{padding:1rem;pointer-events:auto!important}.sm-logo h2{font-size:1.5rem!important}.staggered-menu-panel{width:100vw!important;max-width:100vw!important;padding:4em 1.5em 1.5em!important}.sm-prelayers{width:100vw!important;max-width:100vw!important}.sm-panel-item{letter-spacing:-1px!important;padding-right:.8em!important;font-size:2.5rem!important}.sm-panel-list[data-numbering] .sm-panel-item:after{font-size:.8rem!important;top:.3em!important;right:.5em!important}.sm-socials-link{font-size:1rem!important}}@media (min-width:601px) and (max-width:1010px){.staggered-menu-header{padding:1rem;pointer-events:auto!important}.sm-logo h2{font-size:1.5rem!important}.staggered-menu-panel{width:100vw!important;max-width:100vw!important;margin-left:50%!important;padding:4em 1.5em 1.5em!important}.sm-prelayers{width:50vw!important;max-width:50vw!important}.sm-panel-item{letter-spacing:-1px!important;padding-right:.8em!important;font-size:2rem!important}.sm-panel-list[data-numbering] .sm-panel-item:after{font-size:.7rem!important;top:.3em!important;right:.5em!important}.sm-socials-link{font-size:.9rem!important}}@media (min-width:1011px) and (max-width:1200px){.staggered-menu-panel,.sm-prelayers{width:clamp(300px,45vw,500px)!important}.sm-panel-item{font-size:2.5rem!important}}.sm-panel-title{color:#fff;text-transform:uppercase;margin:0;font-size:1rem;font-weight:600}.sm-panel-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sm-panel-item{color:#000;cursor:pointer;letter-spacing:-2px;text-transform:uppercase;padding-right:1.4em;font-family:Source Code Pro,monospace;font-size:3.5rem;font-weight:600;line-height:1;text-decoration:none;transition:background .25s,color .25s;display:inline-block;position:relative}.staggered-menu-panel .sm-socials-list .sm-socials-link{opacity:1;transition:opacity .3s}.staggered-menu-panel .sm-socials-list:hover .sm-socials-link:not(:hover),.staggered-menu-panel .sm-socials-list:focus-within .sm-socials-link:not(:focus-visible){opacity:.35}.staggered-menu-panel .sm-socials-list .sm-socials-link:hover,.staggered-menu-panel .sm-socials-list .sm-socials-link:focus-visible{opacity:1}.sm-panel-itemLabel{will-change:transform;transform-origin:50% 100%;display:inline-block}.sm-panel-item:hover{color:var(--sm-accent,#5227ff)}.sm-panel-list[data-numbering]{counter-reset:smItem}.sm-panel-list[data-numbering] .sm-panel-item:after{counter-increment:smItem;content:counter(smItem,decimal-leading-zero);color:var(--sm-accent,#5227ff);letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--sm-num-opacity,0);font-size:18px;font-weight:400;position:absolute;top:.1em;right:2.8em}@media (max-width:1024px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert()}}@media (max-width:640px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert()}}
