:root{--bg-primary:#1a1a1a;--bg-secondary:#141414;--text-primary:#f8f8f2;--text-secondary:#75715e;--accent:#66d9ef;--accent-hover:#a1edf8;--highlight:#f92672;--highlight-secondary:#ae81ff;--green:#a6e22e;--yellow:#e6db74;--orange:#fd971f;--font-primary:"SF Mono","Fira Code","Fira Mono",monospace;--font-secondary:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","Roboto",sans-serif}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;background-color:var(--bg-primary);color:#f8f8f2;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;font-family:var(--font-secondary);line-height:1.7;overflow-x:hidden}.container{margin:0 auto;max-width:1200px;padding:0 2rem}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem}h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f8f8f2,#66d9ef);background:linear-gradient(to right,var(--text-primary),var(--accent));-webkit-background-clip:text;background-clip:text;font-size:3rem}h2{color:#66d9ef;color:var(--accent);font-size:2.5rem;margin-bottom:2rem}h3{color:#f92672;color:var(--highlight);font-size:1.5rem}p{color:#75715e;color:var(--text-secondary);margin-bottom:1.5rem}a{color:#66d9ef;color:var(--accent);position:relative;text-decoration:none;transition:color .3s ease}a:hover{color:#a1edf8;color:var(--accent-hover)}a:after{background-color:#66d9ef;background-color:var(--accent);bottom:-4px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease-out;width:100%}a:hover:after{transform:scaleX(1);transform-origin:bottom left}main{padding:6rem 0}section{display:flex;flex-direction:column;justify-content:center;margin-bottom:8rem;min-height:80vh;position:relative}header{left:0;padding:1.5rem 0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:100}header.scrolled{padding:1rem 0}header .container{align-items:center;display:flex;justify-content:space-between;max-width:1300px}header nav{margin-left:auto}header nav ul{display:flex;gap:2rem;justify-content:flex-end;list-style:none;margin-left:2.5rem}header nav ul li a{background:linear-gradient(90deg,#0000,#0000);border-radius:4px;color:#f8f8f2;color:var(--text-primary);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);font-size:.85rem;font-weight:500;letter-spacing:.5px;opacity:.9;padding:.5rem .6rem;transition:all .3s ease;white-space:nowrap}header nav ul li a:hover{background:linear-gradient(90deg,#66d9ef0d,#0000);color:#66d9ef;color:var(--accent);opacity:1;text-shadow:0 0 8px #66d9ef4d}header nav ul li a span{opacity:.7;transition:opacity .3s ease}header nav ul li a:hover span{opacity:1}header nav ul li a:after{display:none;height:0}header .logo{color:#66d9ef;color:var(--accent);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);font-size:1.5rem;font-weight:700;margin-right:3rem;position:relative;text-shadow:0 0 15px #66d9ef66}header .logo:after{background-color:#66d9ef1a;border-radius:4px;bottom:0;content:"";height:8px;left:-10%;position:absolute;width:120%;z-index:-1}#hero{display:flex;flex-direction:column;height:100vh;justify-content:center}#hero h1{font-size:4.5rem;margin-bottom:1rem}#hero p{font-size:1.5rem;margin-bottom:2rem;max-width:600px}#hero .intro{color:#a6e22e;color:var(--green);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);font-size:1rem;margin-bottom:1rem}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.project-card{background-color:#141414;background-color:var(--bg-secondary);border-radius:8px;border-top:2px solid #fd971f;border-top:2px solid var(--orange);box-shadow:0 10px 30px #0003;overflow:hidden;padding:1.5rem;position:relative;transition:transform .3s ease,box-shadow .3s ease,background-color .2s ease;z-index:1}.project-card:hover{background-color:#272822e6;box-shadow:0 20px 40px #0000004d;transform:translateY(-10px)}.project-card:hover:before{opacity:1}.project-card:before{background:radial-gradient(circle at center,#66d9ef1a 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:-1}.click-indicator{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512' fill='%2366D9EF' opacity='.5'%3E%3Cpath d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z'/%3E%3C/svg%3E") no-repeat 50%;bottom:15px;height:30px;opacity:0;position:absolute;right:15px;transform:scale(.8);transition:opacity .3s ease,transform .3s ease;width:30px}.project-card:hover .click-indicator{opacity:.6;transform:scale(1)}.project-card:active{transform:scale(.98)}.project-card .project-links a{position:relative;z-index:5}.project-card h3{color:#e6db74;color:var(--yellow);margin-bottom:1rem}.project-card .project-links{display:flex;gap:1rem;margin-top:1.5rem}.project-card .project-links a{color:#f8f8f2;color:var(--text-primary);font-size:1.2rem}.project-card .tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.project-card .tech-stack span{color:#a6e22e;color:var(--green);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);font-size:.7rem}#contact{text-align:center}form{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:600px}input,textarea{background-color:#141414;background-color:var(--bg-secondary);border:1px solid #66d9ef4d;border-radius:4px;color:#f8f8f2;color:var(--text-primary);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);padding:1rem;resize:vertical;transition:border-color .3s ease}input:focus,textarea:focus{border-color:#66d9ef;border-color:var(--accent);outline:none}button{background-color:initial;border:1px solid #66d9ef;border:1px solid var(--accent);border-radius:4px;color:#66d9ef;color:var(--accent);cursor:pointer;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);font-weight:500;padding:.75rem 2rem;transition:all .3s ease}button:hover{background-color:#66d9ef1a}footer{background-color:#141414;background-color:var(--bg-secondary);color:#75715e;color:var(--text-secondary);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);font-size:.9rem;padding:2rem 0;text-align:center}.social-links{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;margin-top:1rem}.social-links a{color:#75715e;color:var(--text-secondary);font-size:1.5rem}social-links a:hover{color:#66d9ef;color:var(--accent)}.fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-up.appear{opacity:1;transform:translateY(0)}@media (max-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}section{margin-bottom:4rem}#hero p{font-size:1.2rem}}@media (max-width:480px){h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 1rem}header nav ul{gap:1rem}}a:hover~.cursor-dot,button:hover~.cursor-dot{background-color:initial;transform:translate(-50%,-50%) scale(2)}a:hover~.cursor-outline,button:hover~.cursor-outline{transform:translate(-50%,-50%) scale(1.5)}.cursor-dot{background-color:#66d9ef!important;background-color:var(--accent)!important}.cursor-outline{border-color:#66d9ef!important;border-color:var(--accent)!important}.social-links a:hover{color:#66d9ef;color:var(--accent)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.highlight{color:#a6e22e;color:var(--green);display:inline-block;position:relative}.highlight:after{background-color:#a6e22e1a;bottom:0;content:"";height:8px;left:0;position:absolute;width:100%;z-index:-1}@media (min-width:768px){#hero h1{font-size:clamp(3rem,8vw,5rem);letter-spacing:-2px}#hero .description{max-width:540px}}a[role=button]:hover,button:hover{box-shadow:0 0 15px #66d9ef4d}.project-card .project-links a:after{display:none}.project-card .project-links a:hover{color:#66d9ef;color:var(--accent);transform:translateY(-3px)}.tech-stack{color:#a6e22e;color:var(--green);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary)}.tech-stack span{margin-right:15px}header.scrolled .logo{transform:scale(.9)}.blur-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414cc;height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:99}.blur-overlay.visible{opacity:1;pointer-events:all}a:focus,button:focus{outline:2px dashed #66d9ef;outline:2px dashed var(--accent);outline-offset:4px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}.scroll-indicator{align-items:center;background-color:#27282280;border:1px solid #66d9ef;border:1px solid var(--accent);border-radius:50%;bottom:40px;color:#66d9ef;color:var(--accent);display:flex;height:40px;justify-content:center;opacity:0;pointer-events:none;position:fixed;right:40px;transform:translateY(20px);transition:all .3s ease;width:40px;z-index:80}.scroll-indicator.visible{opacity:.8;pointer-events:all;transform:translateY(0)}.scroll-indicator:hover{background-color:#66d9ef1a;opacity:1}.tech-grid{display:flex;flex-direction:column;gap:2rem;margin-top:3rem}.tech-card{align-items:flex-start;background-color:#141414;background-color:var(--bg-secondary);border-left:4px solid #ae81ff;border-left:4px solid var(--highlight-secondary);border-radius:8px;box-shadow:0 10px 30px #0003;display:flex;overflow:hidden;padding:2.5rem;position:relative;transition:transform .3s ease,box-shadow .3s ease}.tech-card:hover{box-shadow:0 20px 40px #0000004d;transform:translateY(-5px)}.tech-icon{align-items:center;background-color:#ae81ff1a;border-radius:8px;color:#ae81ff;color:var(--highlight-secondary);display:flex;flex-shrink:0;font-size:3rem;height:100px;justify-content:center;margin-right:2rem;min-width:100px;padding:1rem;transition:all .3s ease}.tech-card:hover .tech-icon{background-color:#66d9ef1a;color:#66d9ef;color:var(--accent);transform:scale(1.05)}.tech-card-content{flex:1 1}.tech-card h3{color:#f8f8f2;color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.tech-card p{color:#75715e;color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:0}.tech-icons-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin-top:2rem}.tech-icon-card{background-color:#141414;background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 6px #0000001a;cursor:pointer;flex-direction:column;padding:1rem .5rem;transition:all .3s ease}.tech-icon-card,.tech-icon-wrapper{align-items:center;display:flex;justify-content:center}.tech-icon-wrapper{margin-bottom:.5rem}.tech-name{color:#75715e;color:var(--text-secondary);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-family:var(--font-primary);font-size:.7rem;margin-bottom:0;text-align:center}@media (max-width:768px){.tech-icons-grid{gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.tech-icon-card{padding:.8rem .5rem}.tech-name{font-size:.65rem}}@media (max-width:480px){.tech-icons-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}@media (max-width:768px){.tech-card{flex-direction:column;padding:1.5rem}.tech-icon{margin-bottom:1.5rem;margin-right:0}}.roadmap-item{opacity:0;transition:opacity .5s ease,transform .5s ease}.roadmap-item.visible{opacity:1!important;transform:translateY(0)!important}.tech-grid .tech-card{opacity:0;transform:translateY(20px)}.parallax-bg{background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;overflow:hidden;position:relative}.reveal-left{transform:translateX(-30px)}.reveal-left,.reveal-right{opacity:0;transition:all .6s cubic-bezier(.645,.045,.355,1)}.reveal-right{transform:translateX(30px)}.reveal-left.visible,.reveal-right.visible{opacity:1;transform:translateX(0)}@media (prefers-reduced-motion:no-preference){.tech-card:first-child{transition-delay:.05s}.tech-card:nth-child(2){transition-delay:.1s}.tech-card:nth-child(3){transition-delay:.15s}.tech-card:nth-child(4){transition-delay:.2s}.tech-card:nth-child(5){transition-delay:.25s}.tech-card:nth-child(6){transition-delay:.3s}.tech-card:nth-child(7){transition-delay:.35s}.tech-card:nth-child(8){transition-delay:.4s}}html{scroll-behavior:smooth}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.animated-bg{animation:gradientAnimation 15s ease infinite;background:linear-gradient(270deg,var(--bg-lighter),#141414,var(--bg-darker));background:linear-gradient(270deg,var(--bg-lighter),var(--bg-secondary),var(--bg-darker));background-size:600% 600%}@keyframes gradientAnimation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.parallax-container{align-items:center;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative}.parallax-bg{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#121212,#1a1a1a 50%,#121212);background-size:400% 400%;transform:translateZ(0);z-index:-1}.parallax-bg,.parallax-bg:after{bottom:0;left:0;position:absolute;right:0;top:0}.parallax-bg:after{background:radial-gradient(circle at center,#66d9ef0d 0,#0000 70%);content:""}.parallax-bg:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%239C92AC' fill-opacity='.03' fill-rule='evenodd'/%3E%3C/svg%3E");content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}#hero .container{position:relative;transition:opacity .3s ease-out;z-index:2}#hero h1{animation:float 6s ease-in-out infinite}#hero p.intro{animation:float 7s ease-in-out infinite;animation-delay:.5s}#hero p.fade-up:nth-child(3){animation:float 8s ease-in-out infinite;animation-delay:1s}#hero p.description{animation:float 9s ease-in-out infinite;animation-delay:1.5s}h2{transition:transform .3s ease,text-shadow .3s ease}h2:hover{text-shadow:0 0 10px #66d9ef33,0 0 20px #66d9ef1a;transform:translateZ(15px)}.scroll-reveal{transform:translateY(30px)}.scroll-reveal.visible{opacity:1;transform:translateY(0)}.scroll-indicator{animation:bounce 1.5s infinite;box-shadow:0 0 15px #66d9ef33}.scroll-indicator:hover{box-shadow:0 0 20px #66d9ef66}.scroll-reveal{opacity:0;transition:all .8s cubic-bezier(.645,.045,.355,1)}.scroll-reveal.visible-from-bottom{animation:fadeInUp .8s cubic-bezier(.645,.045,.355,1) forwards;opacity:1;transform:translateY(0)}.scroll-reveal.visible-from-top{animation:fadeInDown .8s cubic-bezier(.645,.045,.355,1) forwards;opacity:1;transform:translateY(0)}.tech-card{opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.645,.045,.355,1)}.tech-card.visible-from-bottom{animation:fadeInUp .8s cubic-bezier(.645,.045,.355,1) forwards;opacity:1;transform:translateY(0)}.tech-card.visible-from-top{animation:fadeInDown .8s cubic-bezier(.645,.045,.355,1) forwards;opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
/*# sourceMappingURL=main.952f79ba.css.map*/