/**
* @license
*
* Font Family: Satoshi
* Designed by: Deni Anggara
* URL: https://www.fontshare.com/fonts/satoshi
* © 2025 Indian Type Foundry
*
* Satoshi Light 
* Satoshi LightItalic 
* Satoshi Regular 
* Satoshi Italic 
* Satoshi Medium 
* Satoshi MediumItalic 
* Satoshi Bold 
* Satoshi BoldItalic 
* Satoshi Black 
* Satoshi BlackItalic 
* Satoshi Variable (Variable font)
* Satoshi VariableItalic (Variable font)

*
*/@font-face{font-family:Satoshi-Light;src:url(/assets/Satoshi-Light-IqwJ_ZjS.woff2) format("woff2"),url(/assets/Satoshi-Light-C_dmkKXz.woff) format("woff"),url(/assets/Satoshi-Light-B82kzbU-.ttf) format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-LightItalic;src:url(/assets/Satoshi-LightItalic-C9iuU4v7.woff2) format("woff2"),url(/assets/Satoshi-LightItalic-B9L6s97T.woff) format("woff"),url(/assets/Satoshi-LightItalic-BAhuxY-A.ttf) format("truetype");font-weight:300;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Regular;src:url(/assets/Satoshi-Regular-CPM9dct4.woff2) format("woff2"),url(/assets/Satoshi-Regular-CWSyEjGv.woff) format("woff"),url(/assets/Satoshi-Regular-DToFXog2.ttf) format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Italic;src:url(/assets/Satoshi-Italic-wVmEEc6M.woff2) format("woff2"),url(/assets/Satoshi-Italic-BPCXRxzy.woff) format("woff"),url(/assets/Satoshi-Italic-FMxkCD8o.ttf) format("truetype");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Medium;src:url(/assets/Satoshi-Medium-ByP-Zb-9.woff2) format("woff2"),url(/assets/Satoshi-Medium-DDwDPeBg.woff) format("woff"),url(/assets/Satoshi-Medium-DOt9kM-a.ttf) format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-MediumItalic;src:url(/assets/Satoshi-MediumItalic-BxR-IcRj.woff2) format("woff2"),url(/assets/Satoshi-MediumItalic-BPTJUpxz.woff) format("woff"),url(/assets/Satoshi-MediumItalic-BUFVYoD2.ttf) format("truetype");font-weight:500;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Bold;src:url(/assets/Satoshi-Bold-Bd5kKQ_U.woff2) format("woff2"),url(/assets/Satoshi-Bold-C2PhLWFc.woff) format("woff"),url(/assets/Satoshi-Bold-CPly9kH5.ttf) format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-BoldItalic;src:url(/assets/Satoshi-BoldItalic-CAjvAcxR.woff2) format("woff2"),url(/assets/Satoshi-BoldItalic-DQ7B0PfL.woff) format("woff"),url(/assets/Satoshi-BoldItalic-tClQcAb-.ttf) format("truetype");font-weight:700;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Black;src:url(/assets/Satoshi-Black-DjnQuuRz.woff2) format("woff2"),url(/assets/Satoshi-Black-D3hzT7Um.woff) format("woff"),url(/assets/Satoshi-Black-CizHyRqb.ttf) format("truetype");font-weight:900;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-BlackItalic;src:url(/assets/Satoshi-BlackItalic-ChCbTD27.woff2) format("woff2"),url(/assets/Satoshi-BlackItalic-D8Ai_S3C.woff) format("woff"),url(/assets/Satoshi-BlackItalic-CvIpOoSh.ttf) format("truetype");font-weight:900;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Variable;src:url(/assets/Satoshi-Variable-CFg-z2ne.woff2) format("woff2"),url(/assets/Satoshi-Variable-B5cVmYQo.woff) format("woff"),url(/assets/Satoshi-Variable-ChAXbpFa.ttf) format("truetype");font-weight:300 900;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-VariableItalic;src:url(/assets/Satoshi-VariableItalic-DjwFspxr.woff2) format("woff2"),url(/assets/Satoshi-VariableItalic-DeirzIcA.woff) format("woff"),url(/assets/Satoshi-VariableItalic-Bb7sdEFv.ttf) format("truetype");font-weight:300 900;font-display:swap;font-style:italic}/**
* @license
*
* Font Family: Array
* Designed by: Frode Helland
* URL: https://www.fontshare.com/fonts/array
* © 2025 Indian Type Foundry
*
* Array Wide 
* Array Regular 
* Array Semibold 
* Array SemiboldWide 
* Array BoldWide 
* Array Bold 

*
*/@font-face{font-family:Array-Wide;src:url(/assets/Array-Wide-C-gFUpru.woff2) format("woff2"),url(/assets/Array-Wide-waZpcl_3.woff) format("woff"),url(/assets/Array-Wide-B3nK6Sel.ttf) format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Array-Regular;src:url(/assets/Array-Regular-DpqtFAPH.woff2) format("woff2"),url(/assets/Array-Regular-BBspjYef.woff) format("woff"),url(/assets/Array-Regular-Bpzv_xZ6.ttf) format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Array-Semibold;src:url(/assets/Array-Semibold-n3UXsXBJ.woff2) format("woff2"),url(/assets/Array-Semibold-ulLnP35a.woff) format("woff"),url(/assets/Array-Semibold-DZokrDRO.ttf) format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Array-SemiboldWide;src:url(/assets/Array-SemiboldWide-KtdP1BxG.woff2) format("woff2"),url(/assets/Array-SemiboldWide-BFZStoSf.woff) format("woff"),url(/assets/Array-SemiboldWide-C7TJ96be.ttf) format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Array-BoldWide;src:url(/assets/Array-BoldWide-DRjmqz45.woff2) format("woff2"),url(/assets/Array-BoldWide-B3Mxpc7h.woff) format("woff"),url(/assets/Array-BoldWide-DZG0-AOJ.ttf) format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Array-Bold;src:url(/assets/Array-Bold-DD1Er77r.woff2) format("woff2"),url(/assets/Array-Bold-C1p-w29s.woff) format("woff"),url(/assets/Array-Bold-BdcmS1jS.ttf) format("truetype");font-weight:700;font-display:swap;font-style:normal}:root{--bg: light-dark(#f0fff1, #030303);--bg-s: #1b192b;--txt: light-dark(#050508, #ffffffec);--txt-m: light-dark(#616161, #7e7e7e);--acc-p: #3f37c9;--border: rgb(40, 43, 56);--warn: #e2d563;--guy-body: #111112;--guy-eyes: #fafafa;--item-size: 0;--font-p: "Satoshi-Regular", sans-serif;--font-s: "Array-Bold", sans-serif;--font-header: "Satoshi-Black", sans-serif;--font-body: "Satoshi-Regular", sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;font-size:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--txt);font-family:var(--font-body);transition:background .5s ease,color .5s ease}h1,h2,h3,h4,h5,big{font-family:var(--font-header);font-weight:700}h1{font-size:3.053rem}h2{font-size:2.442rem}h3{font-size:1.954rem}h4{font-size:1.563rem}h5{font-size:1.25rem}small{font-size:.8rem}big{font-size:5rem}a,button{all:unset;cursor:pointer}a:hover{filter:brightness(1.5)}p,pre{font-size:.9rem;line-height:1.5rem}img{object-fit:cover;width:100%;height:100%}hr{border:1px solid var(--border);width:100%}form{display:flex;flex-direction:column;gap:2rem;width:25rem}input{background:none;color:var(--txt);border:solid 1px var(--border);border-radius:.5rem;padding:1rem}textarea{background:none;color:var(--txt);border:solid 1px var(--border);border-radius:.5rem;padding:1rem;resize:none}canvas{width:100%;height:100%}grid{z-index:-3;top:-1px;left:-1px;height:100%;width:100%;position:absolute;background-size:var(--item-size) var(--item-size);background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);-webkit-mask-image:radial-gradient(circle,transparent 50%,rgba(0,0,0,1) 100%);mask-image:radial-gradient(circle,transparent 50%,rgba(0,0,0,1) 100%)}.text-container{z-index:-2;top:0;left:0;height:100%;width:100%;position:absolute;word-wrap:break-word;font-family:Satoshi-Medium,sans-serif;overflow:hidden;color:#ffffff4d;-webkit-mask-image:radial-gradient(ellipse,transparent 40%,rgba(0,0,0,.4) 60%,rgba(0,0,0,.6) 70%);mask-image:radial-gradient(ellipse,transparent 40%,rgba(0,0,0,.4) 60%,rgba(0,0,0,.6) 70%)}.text-container-gradient{background:radial-gradient(circle,var(--bg) 0%,rgb(255,255,255) 50%,var(--acc-p) 100%);position:absolute;height:100%;width:100%;mix-blend-mode:overlay;pointer-events:none;z-index:-1}announcement{width:100vw;height:2rem;justify-content:center;align-items:center;background:var(--warn);color:var(--bg);font-family:var(--font-header);display:flex;gap:.5rem}.code-wrapper{z-index:-1;position:absolute;height:100%;width:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;padding:0 25%;animation:flow 10s ease infinite}.code{width:fit-content;padding:5%;opacity:100%}nav,section{margin:0 20%;position:relative}section{border-bottom:none}tag{max-width:fit-content;font-family:var(--font-s);font-size:.7rem;padding:.2rem .75rem;background:none;border-radius:1rem;border:solid 1px var(--acc-p);color:var(--acc-p);filter:brightness(1.5)}.overlay{position:absolute}.overlay.circle{padding:8%;border-radius:50%;border:solid 1px var(--border)}.overlay.plus{height:24px;width:24px;z-index:10}.plus:after{content:"✦";position:absolute;color:var(--border);height:100%;left:50%;top:-10px;transform:translate(-50%);font-size:30px}.overlay.top-right{top:0;right:0}.overlay.top-left{top:-12.5px;left:-12.5px}.overlay.bottom-left{bottom:-12.5px;left:-12.5px}.overlay.bottom-right{bottom:-12.5px;right:-12.5px}nav{display:grid;grid-template-columns:1fr auto 1fr;top:0;border-right:solid 1px var(--border);border-left:solid 1px var(--border);z-index:10;padding:1rem}nav>div{display:flex;align-items:center;gap:1rem}nav>div:nth-child(3){justify-content:right}nav>div:nth-child(2){gap:4rem}nav>div:nth-child(4){justify-content:right;display:none}.pfp{height:1.75rem;width:1.75rem;border-radius:50%}footer{display:flex;flex-direction:column;align-items:center;align-self:center;justify-self:center;padding:2rem 0}.hero{min-height:50vh;padding:6rem 0;display:flex;align-items:center;justify-content:center;text-align:center;border:solid 1px var(--border)}.hero:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/img-bg.jpg);background-size:cover;mix-blend-mode:overlay;z-index:-1}.hero>div{padding:var(--item-size);align-items:center}.showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));border:solid 1px var(--border)}.showcase>div{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:10%;border:solid 1px var(--border);border-top:none}.about{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));overflow:hidden;border:solid 1px var(--border);border-top:none}.about div{max-height:400px}.about>div:nth-child(2){padding:10%}.projects{display:flex;flex-direction:column;border:solid 1px var(--border)}.project-item{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));border-bottom:solid 1px var(--border)}.project-link{color:var(--txt);border:solid 1px var(--border);padding:.5rem;border-radius:50%;display:flex;align-items:center;gap:.5rem}.project-item:nth-last-child(1){border-bottom:none}.project-item-content{display:flex;flex-direction:column;gap:2rem;padding:10%}.project-item-image{position:relative;padding:10%}.project-item-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/img-bg.jpg);background-size:cover;background-position:center;z-index:-1}.project-footer{display:flex;gap:.5rem;margin-top:auto}.project-footer h1{mix-blend-mode:difference}.green-filter:before{filter:hue-rotate(240deg)}.red-filter:before{filter:hue-rotate(300deg)}.projects img{border-radius:.75rem}.links{border-image:linear-gradient(to bottom,var(--border) 0%,rgba(0,0,0,0) 95%) 1;border-width:1px;border-style:solid}.links>div{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:8%}.container{width:100vw;height:100vh;z-index:5;position:fixed;pointer-events:none}#guy{position:relative;display:flex;height:2.5rem;width:2.5rem;border-radius:50%;background:linear-gradient(23deg,#000,#111112 80%,#545459);box-shadow:0 8px 20px var(--acc-p)}@keyframes idle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}#guy.idle{animation:idle 3s ease-in-out infinite both}#guy.excited{-webkit-animation:vibrate-1 .3s linear infinite both;animation:vibrate-1 .3s linear infinite both}.eye{position:absolute;height:.5rem;width:.5rem;border-radius:50%;background:var(--guy-eyes)}.eye-wrapper{position:absolute;display:flex;align-items:center;justify-content:center}#left{top:45%;left:32%}#right{top:45%;right:32%}@keyframes blink{0%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.eye.happy{mask:linear-gradient(180deg,black 60%,transparent 0%);-webkit-mask:linear-gradient(180deg,black 60%,transparent 0%)}.eye.unamused{mask:linear-gradient(0deg,black 60%,transparent 0%);-webkit-mask:linear-gradient(0deg,black 60%,transparent 0%)}.eye.sad-left{mask:linear-gradient(330deg,black 60%,transparent 0%);-webkit-mask:linear-gradient(330deg,black 60%,transparent 0%)}.eye.sad-right,.eye.angry-left{mask:linear-gradient(20deg,black 60%,transparent 0%);-webkit-mask:linear-gradient(20deg,black 60%,transparent 0%)}.eye.angry-right{mask:linear-gradient(330deg,black 60%,transparent 0%);-webkit-mask:linear-gradient(330deg,black 60%,transparent 0%)}.eye-wrapper.blink{animation:blink .15s ease-in-out}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;z-index:100;transition:opacity .75s ease}.progress-container{width:clamp(100px,50%,200px);height:8px;border-radius:.5rem;overflow:hidden;background:var(--bg-s)}.progress-bar{height:100%;width:0%;background:var(--acc-p);border-radius:.5rem;transition:width .5s ease}.modal{position:fixed;display:flex;flex-direction:column;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg);padding:3rem;border-radius:.5rem;border:solid 1px var(--border);z-index:10;display:none}.modal:before{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:100vh;background:#000000a6;z-index:-1}.modal.show{display:flex;animation:fade-in .5s ease-in-out}.modal>div{display:flex;flex-direction:column;gap:2rem}carousel{padding:10rem 0;display:grid;grid-template-columns:repeat(30,4rem);position:relative;width:100%;gap:8rem;overflow-x:clip}carousel:before,carousel:after{content:"";background:linear-gradient(to right,var(--bg) 0%,rgba(255,255,255,0) 100%);position:absolute;height:100%;width:20%;z-index:2}carousel:after{right:0;top:0;transform:rotate(180deg)}carousel:before{left:0;top:0}carousel>i{animation:scroll 15s linear infinite}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-120rem)}}button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;border-radius:.5rem;position:relative;text-wrap:nowrap;font-family:var(--font-p)}button.nav{border:solid 1px var(--border);border-radius:.5rem;padding:.5rem;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center}.txt-special{font-family:Array-Bold,sans-serif}.txt-primary{color:var(--acc-p)}.txt-ul{text-decoration:underline;color:var(--acc-p)}.txt-glow{text-shadow:0 0 5px var(--acc-p),0 0 10px var(--acc-p),0 0 20px var(--acc-p),0 0 40px var(--acc-p)}.txt-i{font-style:italic}.primary{background:var(--acc-p);color:var(--txt)}.row{display:flex}.column{display:flex;flex-direction:column}.break{flex-basis:100%;height:0}.wrap{flex-wrap:wrap}.gp-0-5{gap:.5rem}.gp-1{gap:1rem}.gp-2{gap:2rem}.gp-3{gap:3rem}.muted{color:var(--txt-m)}.stroke{-webkit-text-stroke-width:1px;-webkit-text-stroke-color:var(--txt);color:transparent}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes appear-from-top{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}#hero-title{font-size:4rem;animation:fade-in 1s ease-in-out}#one{top:10%;left:5%}@media (max-width: 1200px){nav,section{margin:0 4%}nav{grid-template-columns:1fr 1fr}nav div:nth-child(2),nav div:nth-child(3){display:none}nav div:nth-child(4){display:flex}}@media (min-width: 1500px){nav,section{margin:0 15%}}@media (min-width: 2000px){nav,section{margin:0 20%}}
