@font-face{font-family:Lexend;src:url(/assets/Lexend-VariableFont_wght-uvWnkqI3.ttf)format("truetype");font-weight:100 800;font-style:normal}@media (width>=768px){.page-center-col{margin:auto;width:75%!important}}@media (width>=1200px){.page-center-col{margin:auto;width:50%!important}}@keyframes fade-in{to{transform:scale(1) rotate(var(--ca)) translate(var(--r)) rotate(calc(-1 * var(--ca)));opacity:1}}@font-face{font-family:Lexend;src:url(/assets/Lexend-VariableFont_wght-uvWnkqI3.ttf)format("truetype");font-weight:100 800;font-style:normal}*{-webkit-tap-highlight-color:transparent}body,html{color:#fff;width:100%;margin:0;padding:0;font-family:Lexend,sans-serif;font-size:20px;position:relative;overflow-x:hidden}#root{width:100%;height:100%;position:relative}main{box-sizing:border-box;flex-direction:column;gap:60px;width:100%;margin:0 auto;padding:15px;display:flex}@media (width>=768px){.page-center-col{margin:auto;width:75%!important}}@media (width>=1200px){.page-center-col{margin:auto;width:50%!important}}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.p-0{box-sizing:border-box;padding:0}.p-5{box-sizing:border-box;padding:5px}.p-15{box-sizing:border-box;padding:15px}.p-30{box-sizing:border-box;padding:30px}.m-0{margin:0}.m-5{margin:5px}.m-15{margin:15px}.m-30{margin:30px}.mh-5{margin-left:5px;margin-right:5px}.mh-15{margin-left:15px;margin-right:15px}.mh-30{margin-left:30px;margin-right:30px}.mv-5{margin-top:5px;margin-bottom:5px}.mv-15{margin-top:15px;margin-bottom:15px}.mv-30{margin-top:30px;margin-bottom:30px}.m-auto{margin:auto}.fit-content{width:fit-content!important;min-width:0!important;height:fit-content!important;min-height:0!important}.row{display:flex;flex-direction:row!important}.row .wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column!important}.flex-center{flex-direction:column;justify-content:center;align-items:center;display:flex}.col-space-between{flex-direction:column;justify-content:space-between;display:flex}.row-space-between{flex-direction:row;justify-content:space-between;display:flex}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.relative{position:relative}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.g-0{gap:0!important}.g-5{gap:5px!important}.g-15{gap:15px!important}.g-30{gap:30px!important}h1,h2,h3,h4,h5,h6{margin:10px 0}h1{font-size:2.6rem}p{margin:15px 0}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-accent{color:#00ff9d}.text-dim{color:#8f8f8f}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#16181c}::-webkit-scrollbar-thumb{cursor:grab;background:#8f8f8f}::-webkit-scrollbar-thumb:hover{background:#00ff9d}::-webkit-scrollbar-thumb:active{cursor:grabbing}.no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-khtml-user-select:none}address{font-style:normal}.fade-in{opacity:0;animation:1s forwards fade-in;transform:translateY(10px)}.star-background{z-index:-1;perspective:2000px;background:#080b0e;width:100%;height:100%;position:absolute;overflow:hidden}.star-background canvas{background:0 0;width:100%;height:130%;position:absolute}.star-background:before{content:"";pointer-events:none;z-index:-2;mix-blend-mode:screen;background:radial-gradient(circle at 20% 30%,#00ff9d1f,#0000 40%),radial-gradient(circle at 90%,#ffffff1f,#0000 45%),radial-gradient(circle at 50% 80%,#253c2b4d,#0000 50%);position:fixed;inset:0}.avatar-wrapper{--rotation-speed:120s;--icon-count:0;--icon-index:0;justify-content:center;align-items:center;width:300px;height:300px;display:flex;position:relative}.avatar{z-index:1;width:90px;height:auto}.circle-container{--d:50px;--rel:1;--ba:calc(1turn / var(--icon-count));--r:calc(.5 * (1 + var(--rel)) * var(--d) / tan(.5 * var(--ba)));-webkit-animation:spin var(--rotation-speed) linear infinite;-moz-animation:spin var(--rotation-speed) linear infinite;-ms-animation:spin var(--rotation-speed) linear infinite;-o-animation:spin var(--rotation-speed) linear infinite;animation:spin var(--rotation-speed) linear infinite;place-items:center;display:grid;position:absolute;inset:0}.tech-icon{width:var(--d);height:var(--d);-webkit-animation:counter-spin var(--rotation-speed) linear infinite;-moz-animation:counter-spin var(--rotation-speed) linear infinite;-ms-animation:counter-spin var(--rotation-speed) linear infinite;-o-animation:counter-spin var(--rotation-speed) linear infinite;animation:counter-spin var(--rotation-speed) linear infinite}.icon-wrapper{--ca:calc(var(--icon-index) * var(--ba));opacity:0;transform:scale(.1) rotate(var(--ca)) rotate(calc(-1 * var(--ca)));grid-area:1/1;animation:1s forwards fade-in}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@-webkit-keyframes counter-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes counter-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.button.accent{color:#00ff9d;background-color:#fff;border:3px solid #0000}@media (hover:hover) and (pointer:fine){.button.accent:hover{color:#fff;background-color:#00ff9d}}.button.white{color:#fff;background-color:#080b0e;border:3px solid #0000}@media (hover:hover) and (pointer:fine){.button.white:hover{color:#080b0e;background-color:#fff}}.button.black{color:#fff;background-color:#080b0e;border:3px solid #fff}@media (hover:hover) and (pointer:fine){.button.black:hover{color:#080b0e;background-color:#fff}}.button.discord{color:#fff;background-color:#5865f2;border:3px solid #0000}@media (hover:hover) and (pointer:fine){.button.discord:hover{color:#5865f2;background-color:#fff}}.button{box-sizing:border-box;color:var(--btn-text-color);background-color:var(--btn-bg-color);cursor:pointer;border:3px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px;text-decoration:none;transition:color .2s ease-in-out,background-color .2s ease-in-out,transform 50ms ease-in-out;display:flex;flex-direction:row!important}.button svg{width:20px;height:100%}.button:active{transform:scale(.95)}.scroll-down-wrapper{transition:all .3s ease-in-out;position:fixed;bottom:0;right:0}.scroll-down-wrapper.invisible{filter:opacity(0)!important}header{min-height:800px}header p{padding:0 30px}@media (width>=768px){header{padding-top:0;height:100vh!important}}footer{height:100px}.perspective-wrapper{perspective:2000px}.project-card{color:#fff;will-change:transform;-webkit-tap-highlight-color:transparent;backface-visibility:hidden;background:#080b0e;border:3px solid #8f8f8f;border-radius:10px;width:100%;max-width:400px;text-decoration:none;transition:transform 50ms linear,border-color .3s,background .3s,box-shadow 30ms}.project-card *{backface-visibility:hidden}.project-card img{width:100%;height:100px;margin:10px 0;transition:all .5s}.project-card .tech-icon{aspect-ratio:1;height:30px;margin:0}.project-card p,.project-card h3{margin:0}.project-card p{word-break:break-word;overflow:auto}.project-card:before{content:"";opacity:0;pointer-events:none;z-index:-1;background:radial-gradient(80% 60% at 50% 0,#ffffff1a,#0000 70%),#080b0e;border-radius:10px;transition:opacity .5s;position:absolute;inset:0}@media (width>=768px){.project-card{height:400px}}@media (hover:hover) and (pointer:fine){.project-card:hover{background:radial-gradient(80% 60% at 50% 0,#ffffff1a,#0000 70%),#080b0e;border-color:#00ff9d;box-shadow:0 0 23px -3px #00ff9d8f}.project-card:hover:before{opacity:1}.project-card:hover .visit-prompt{background:linear-gradient(90deg,#00ff9d 0% 40%,#fff 50%,#00ff9d 60% 100%) 200% 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite shine}.project-card:hover img{transform:scale(1.05)}}@-webkit-keyframes shine{0%{background-position:200% 0}to{background-position:-200% 0}}.fixed-container{z-index:1;position:fixed}.fixed-container.left{left:15px}.fixed-container.right{right:15px}.fixed-container.top{top:15px}.fixed-container.bottom{bottom:15px}.switch-label{cursor:pointer}.switch-label,.switch-label *{transition:all .5s}.switch-label svg{color:#fff;height:30px}.switch-label.on svg{color:#00ff9d}.switch{box-sizing:border-box;background-color:#fff;border-radius:15px;width:50px;height:30px;padding:5px}.switch input{display:none}.switch .slider{aspect-ratio:1;background-color:#080b0e;border-radius:50%;height:100%;display:block}.switch.on{background-color:#00ff9d}.switch.on .slider{transform:translate(20px)}
