body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;max-width:100vw;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#fluid-canvas{height:100vh!important;left:50%!important;pointer-events:auto!important;position:fixed!important;top:50%!important;transform:translate(-50%,-50%)!important;width:100vw!important;z-index:0!important}.theBall{background-color:#ff7272cc}.zooming.theBall{background-color:#ff7272}.App{height:auto;max-width:100vw;overflow-x:hidden;text-align:center}.App,.App-header{min-height:100vh;position:relative}.App-header{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-direction:column;justify-content:flex-start;margin:0;overflow-y:auto;padding:0;width:100%}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#0a0a0f,#1a1a2e 40%,#16213e 80%,#0f3460);background-attachment:fixed;background-size:cover;color:#f5f5f5;height:auto;margin:0;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;transition:background .6s cubic-bezier(.23,1,.32,1)}.theBall,.theBall-outer{height:20px;width:20px}.theBall-outer{left:-20px;pointer-events:none!important;position:fixed;top:-20px;z-index:10000000000000000000}.theBall{background-color:#4a90e2cc;border-radius:50%;position:absolute;transform-origin:center center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.zooming.theBall{background-color:#4a90e2;transform:scale(2)}.mouse-move{bottom:-130px;left:50%;margin-left:-50px;position:absolute;width:65px}.mouse-move a{border-radius:900px;display:inline-block;font-size:12px;height:65px;letter-spacing:2px;line-height:65px;text-align:center;text-transform:uppercase;width:65px}.mouse-move .boom:after,.mouse-move .boom:before{animation:clipMe 8s linear infinite;border-radius:900px;bottom:0;box-shadow:inset 0 0 0 2px;content:"";left:0;margin:0;position:absolute;right:0;top:0;z-index:-1}.mouse-move .boom:before{animation-delay:-4s}@keyframes clipMe{0%,to{clip:rect(0,220px,2px,0)}25%{clip:rect(0,2px,220px,0)}50%{clip:rect(218px,220px,220px,0)}75%{clip:rect(0,220px,220px,218px)}}.banner_canvas{height:100%;left:0;position:fixed;top:0;width:100%}.portfolio-title{color:#4a90e2;font-size:6rem;font-weight:700;letter-spacing:3px;margin-bottom:.2em;text-shadow:0 0 20px #4a90e24d}.portfolio-subtitle{color:#7bb3f0;font-size:3rem;font-weight:400;margin-bottom:1.2em;opacity:.9;text-shadow:0 0 15px #7bb3f04d}.portfolio-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181ce6;border-radius:50px;display:flex;gap:1em;justify-content:center;margin:2em auto;padding:1em;position:relative;width:fit-content;z-index:1}.portfolio-section:before{display:none}.portfolio-nav a{background:#4a90e21a;border:1px solid #4a90e233;border-radius:25px;color:#fff;font-size:1.4em;font-weight:500;margin:0;padding:.75em 1.5em;text-decoration:none;transition:all .3s ease}.portfolio-nav a:hover{background:#4a90e2e6;border-color:#0000;box-shadow:0 5px 15px #4a90e24d;transform:translateY(-2px)}.portfolio-section{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181cd9;border-left:none;border-top:1px solid #4a90e21a;margin:0;max-width:100vw;overflow:hidden;padding:4rem max(5vw,2rem);position:relative;transform:translateZ(0);transition:all .3s ease;width:100%}.portfolio-section .content-wrapper{margin:0 auto;max-width:1200px;position:relative}.portfolio-section:hover{box-shadow:0 5px 25px 0 #0006,0 0 50px #4a90e226;transform:translateY(-5px) translateZ(0)}.portfolio-section:before{background:linear-gradient(180deg,#0000,#4a90e2);content:"";height:50px;left:-2.5px;opacity:.5;position:absolute;top:-50px;width:5px}.portfolio-section h2,.portfolio-section h3{color:#7bb3f0;display:inline-block;font-size:2.5rem;margin-bottom:1.2em;position:relative}.portfolio-section h2:after,.portfolio-section h3:after{background:linear-gradient(90deg,#7bb3f0,#0000);bottom:-8px;content:"";height:3px;left:0;position:absolute;width:100%}.portfolio-section ul{display:none}.portfolio-section li{color:#f5f5f5;margin-bottom:.5em}.portfolio-section li,.portfolio-section p{font-size:1.6em;line-height:1.6}.certificates-banner,.certificates-section,.styled-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181bf2;border-bottom:1px solid #4a90e21a;border-top:1px solid #4a90e21a;color:#f5f5f5;margin:0 calc(-50vw + 50%);padding:4rem max(10vw,2rem);position:relative;width:100vw}.styled-section:after{display:none}.styled-section{border-left:none;border-right:none;margin:0}.profile-section{border:none;flex-direction:column;margin:0;max-width:100vw;padding:4rem max(10vw,2rem)}.profile-content,.profile-section{align-items:center;display:flex;width:100%}.profile-content{gap:4rem;justify-content:space-between;max-width:1200px}.profile-info{flex:1 1;text-align:left}.profile-section h1{color:#4a90e2;font-size:4rem;letter-spacing:2px;margin:0 0 .5rem;text-shadow:0 0 20px #4a90e24d}.profile-section .title{color:#ffffffe6;font-size:1.8rem;font-weight:500;line-height:1.4;margin:0 0 .5rem}.profile-section .location{color:#7bb3f0;font-size:1.4rem;font-weight:500;margin:0 0 1rem}.profile-section .description{color:#ffffffe6;font-size:1.6rem;line-height:1.6;margin:0}.profile-image{border:3px solid #4a90e24d;border-radius:50%;box-shadow:0 0 30px #4a90e233;flex-shrink:0;height:200px;overflow:hidden;transition:all .3s ease;width:200px}.profile-image:hover{border-color:#4a90e280;box-shadow:0 0 40px #4a90e24d;transform:scale(1.05)}.profile-image img{height:100%;object-fit:cover;width:100%}.certificates-section{background:linear-gradient(90deg,#18181bf2 60%,#222222f2);border-left:none;border-right:none;box-shadow:none;margin:0 auto;max-width:100vw;padding-left:0;padding-right:0;width:100%}.certificates-section h2,.technologies-banner h2{color:#7bb3f0;display:inline-block;font-size:2.5rem;margin-bottom:1.2em;position:relative}.certificates-section h2:after,.technologies-banner h2:after{background:linear-gradient(90deg,#7bb3f0,#0000);bottom:-8px;content:"";height:3px;left:0;position:absolute;width:100%}.content-wrapper{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1400px;padding:0 1rem;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}80%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes float{0%{transform:translateY(0) translateZ(0)}50%{transform:translateY(-10px) translateZ(0)}to{transform:translateY(0) translateZ(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%{box-shadow:0 0 20px #4a90e24d}50%{box-shadow:0 0 40px #4a90e280}to{box-shadow:0 0 20px #4a90e24d}}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.23,1,.32,1) both}.animate-slide-in{animation:slideIn .7s cubic-bezier(.23,1,.32,1) both}.animate-pop{animation:popIn .5s cubic-bezier(.23,1,.32,1) both}html{scroll-behavior:smooth}section[id]{scroll-margin-top:80px}.projects-scroll-container{margin:0 auto;max-width:1600px;overflow-x:auto;overflow-y:hidden;padding-bottom:1rem;scrollbar-color:#ff2d2d80 #0000;scrollbar-width:thin;width:100%}.projects-scroll-container::-webkit-scrollbar{height:8px}.projects-scroll-container::-webkit-scrollbar-thumb{background:#4a90e280;border-radius:4px}.projects-grid{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;flex-wrap:nowrap;gap:2rem;margin-top:2rem;overflow-x:auto;padding-bottom:1rem;scroll-behavior:smooth;scrollbar-color:#ff2d2d80 #0000;scrollbar-width:thin}.projects-grid::-webkit-scrollbar{height:8px}.projects-grid::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.projects-grid::-webkit-scrollbar-thumb{background:#4a90e280;border-radius:4px}.project-card{box-sizing:border-box;display:flex;flex:0 0 380px;flex-direction:column;height:auto;max-width:380px;min-height:650px;min-width:380px}.project-image{height:200px}.project-main-content{display:flex;flex:1 1 auto;flex-direction:column}.project-bottom{flex-shrink:0;margin-top:auto;padding-top:1rem}.project-links{display:flex;flex-shrink:0;gap:1rem;margin-top:0;padding-top:0}.project-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181cd9;border:1px solid #4a90e21a;border-radius:16px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:#4a90e24d;box-shadow:0 10px 30px #0000004d,0 0 60px #4a90e233;transform:translateY(-10px)}.project-image{flex-shrink:0;height:190px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{display:flex;flex:1 1 auto;flex-direction:column;justify-content:space-between;min-height:0;padding:1.5rem;position:relative}.project-content h4{color:#4a90e2;font-size:1.8rem;margin-bottom:1rem;text-shadow:0 0 15px #4a90e233}.project-content p{color:#ffffffe6;flex:1 1 auto;font-size:1.1rem;line-height:1.6;margin-bottom:1.2rem}.project-technologies{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;margin-top:0;padding-top:0}.tech-tag{background:#7bb3f026;border:1px solid #7bb3f033;border-radius:20px;color:#7bb3f0;font-size:1.1rem;padding:.4rem .8rem;transition:all .3s ease}.tech-tag:hover{background:#7bb3f040;transform:translateY(-2px)}.project-link{border-radius:25px;flex:1 1;font-size:1.2rem;font-weight:500;padding:.8rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.project-link.live{background:#4a90e2e6;color:#fff}.project-link.github{background:#ffffff1a;border:1px solid #fff3;color:#fff}.project-link:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.project-link.live:hover{background:#4a90e2}.project-link.github:hover{background:#fff3}.contact-info{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.contact-info p{align-items:center;display:flex;font-size:1.4rem;gap:.5rem;margin:0}.contact-info a{color:#1976d2;font-size:1.4rem;font-weight:500;text-decoration:none;transition:color .2s}.contact-info a:hover{color:#e53935}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-section{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out;visibility:hidden;will-change:opacity,visibility}.fade-in-section.is-visible{opacity:1;transform:translateY(0);visibility:visible}.stagger-children>*{animation:fadeInUp .5s ease forwards;opacity:0}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.2s}.stagger-children>:nth-child(3){animation-delay:.3s}.stagger-children>:nth-child(4){animation-delay:.4s}.stagger-children>:nth-child(5){animation-delay:.5s}.stagger-children>:nth-child(n+6){animation-delay:.6s}@media (max-width:768px){.portfolio-section{margin:2em auto;padding:1.5em}.certificates-grid,.projects-grid{grid-template-columns:1fr}.portfolio-title{font-size:3rem}.portfolio-subtitle{font-size:1.8rem}.portfolio-nav{flex-wrap:wrap;justify-content:center}.profile-content{flex-direction:column;gap:2rem}.profile-info{text-align:center}.profile-section h1{font-size:3rem}}.certificate-card,.project-card{overflow:hidden;position:relative}.certificate-card:after,.project-card:after{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-75%;pointer-events:none;position:absolute;top:0;transform:skewX(-25deg);transition:.75s;width:50%}.certificate-card:hover:after,.project-card:hover:after{left:125%;transition-timing-function:ease-in-out}.certificates-grid{-webkit-overflow-scrolling:touch;box-sizing:border-box;display:flex;flex-wrap:nowrap;gap:2.5rem;justify-content:flex-start;margin:2rem auto;overflow-x:auto;padding:1rem 2rem 2rem;scroll-behavior:smooth;scrollbar-color:#61a0ff80 #0000;scrollbar-width:thin;width:100%}.certificates-grid::-webkit-scrollbar{height:8px}.certificates-grid::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.certificates-grid::-webkit-scrollbar-thumb{background:#7bb3f080;border-radius:4px}.certificate-card{align-items:center;background:#18181cd9;border:1px solid #4a90e21a;border-radius:16px;display:flex;flex:0 0 300px;flex-direction:column;max-width:300px;min-width:300px;padding:2rem;transition:all .3s ease}.certificate-card img.certificate-icon{height:80px;margin-bottom:1rem;object-fit:contain;transition:transform .3s ease;width:80px}.certificate-card:hover{border-color:#4a90e24d;box-shadow:0 10px 30px #0000004d,0 0 60px #4a90e233;transform:translateY(-5px)}.certificate-card:hover img.certificate-icon{transform:scale(1.1)}.certificate-card h3{color:#7bb3f0;font-size:1.6rem;margin:.5rem 0;text-align:center}.view-cert{align-items:center;color:#fffc;display:flex;font-size:1.1rem;gap:.5rem;margin-top:1rem}.technologies-banner{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181bf2;border-bottom:1px solid #4a90e21a;border-top:1px solid #4a90e21a;color:#f5f5f5;display:flex;flex-direction:column;margin:0;max-width:100vw;padding:6rem max(10vw,2rem);position:relative;width:100%}.tech-category{margin:3rem 0;max-width:1200px;width:100%}.category-title{color:#4a90e2;font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center;text-shadow:0 0 15px #4a90e24d;text-transform:capitalize}.technologies-grid{grid-gap:2rem;align-items:stretch;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-content:center;margin-top:2rem}.technology-card{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f346033;border:1px solid #4a90e233;border-radius:16px;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.technology-card:hover{background:#0f34604d;border-color:#4a90e266;box-shadow:0 10px 30px #4a90e21a;transform:translateY(-5px)}.technology-icon{flex-shrink:0;height:50px;object-fit:contain;opacity:.9;transition:transform .3s ease;width:50px}.technology-card:hover .technology-icon{opacity:1;transform:scale(1.1)}.tech-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.tech-name{color:#7bb3f0;font-size:1.3rem;font-weight:600;margin:0;text-shadow:0 0 10px #7bb3f033}.tech-description{color:#fffc;font-size:.95rem;line-height:1.4;margin:0}.floating-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181cf2;border-bottom:1px solid #4a90e21a;left:0;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .3s ease;z-index:1000}.floating-nav.visible{transform:translateY(0)}.nav-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem}.nav-brand{color:#4a90e2;font-size:1.6rem;font-weight:700;text-shadow:0 0 15px #4a90e233}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:#fff;font-size:1.2rem;font-weight:500;position:relative;text-decoration:none;transition:all .3s ease}.nav-links a:after{background:#4a90e2;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-links a:hover{color:#4a90e2}.nav-links a:hover:after{width:100%}#fluid-canvas,.banner_canvas{pointer-events:none!important}@media (hover:hover) and (pointer:fine){#fluid-canvas{pointer-events:auto!important}}.highlight-text{color:#4a90e2;font-weight:600;text-shadow:0 0 10px #4a90e24d;transition:all .3s ease}.status-no{color:#e53935;font-weight:600}.contact-info{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f346033;border:1px solid #4a90e233;border-radius:16px;margin-top:2rem;padding:2rem;transition:all .3s ease}.contact-info:hover{background:#0f34604d;border-color:#4a90e266}.contact-info h4{color:#7bb3f0;font-size:1.8rem;margin-bottom:1rem;text-align:center;text-shadow:0 0 15px #7bb3f04d}.contact-details{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.contact-details p{align-items:center;display:flex;font-size:1.4rem;gap:1rem;margin:0}.contact-label{color:#7bb3f0;font-weight:600;min-width:80px}.contact-link{color:#4a90e2;font-weight:500;text-decoration:none;transition:all .3s ease}.contact-link:hover{color:#7bb3f0;text-shadow:0 0 8px #7bb3f066}.project-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f346033;border:1px solid #4a90e233;border-radius:16px;margin:2rem 0;padding:2rem;width:100%}.search-container{margin-bottom:2rem}.search-input{background:#18181ccc;border:2px solid #4a90e24d;border-radius:25px;color:#fff;font-size:1.2rem;max-width:500px;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.search-input:focus{border-color:#4a90e2;box-shadow:0 0 20px #4a90e24d;outline:none}.search-input::placeholder{color:#fff9}.filter-container{display:flex;flex-direction:column;gap:1rem}.filter-label{color:#7bb3f0;font-size:1.4rem;font-weight:600;text-shadow:0 0 10px #7bb3f04d}.technology-filters{display:flex;flex-wrap:wrap;gap:.8rem}.filter-btn{background:#7bb3f026;border:1px solid #7bb3f04d;border-radius:25px;color:#7bb3f0;cursor:pointer;font-size:1.1rem;font-weight:500;padding:.8rem 1.5rem;transition:all .3s ease}.filter-btn:hover{background:#7bb3f040;box-shadow:0 5px 15px #7bb3f033;transform:translateY(-2px)}.filter-btn.active{background:#4a90e2cc;border-color:#4a90e2;box-shadow:0 0 20px #4a90e266;color:#fff}.clear-filters-btn{background:#e5393533;border:1px solid #e539354d;border-radius:25px;color:#e53935;cursor:pointer;font-size:1.1rem;font-weight:500;margin-top:1rem;padding:.8rem 1.5rem;transition:all .3s ease}.clear-filters-btn:hover{background:#e539354d;box-shadow:0 5px 15px #e5393533;transform:translateY(-2px)}.results-info{font-size:1.2rem;margin:1rem 0}.no-results,.results-info{color:#ffffffb3;text-align:center}.no-results{padding:3rem}.no-results p{font-size:1.4rem;margin-bottom:2rem}.work-status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f346033;border:1px solid #4a90e233;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.work-status p{font-size:1.4rem;margin:.5rem 0}@media (max-width:768px){.project-controls{padding:1.5rem}.technology-filters{justify-content:center}.filter-btn{font-size:1rem;padding:.6rem 1.2rem}.search-input{font-size:1.1rem;padding:.8rem 1.2rem}.contact-details{gap:.8rem}.contact-details p{align-items:flex-start;flex-direction:column;font-size:1.2rem;gap:.5rem}.contact-label{min-width:auto}}
/*# sourceMappingURL=main.82e6af90.css.map*/