:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}.navbar{position:fixed;top:2rem;left:50%;transform:translate(-50%);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:50px;padding:.5rem;box-shadow:0 8px 32px #0000004d;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}.navbar:hover{background:#0000004d;border-color:#fff3}.navbar-nav{display:flex;list-style:none;margin:0;padding:0;gap:.25rem;align-items:center}.nav-item{margin:0}.nav-link{display:flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:25px;color:#ffffffb3;text-decoration:none;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;white-space:nowrap;min-width:fit-content}.nav-link:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff1a;border-radius:25px;transform:scale(0);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:-1}.nav-link:hover{color:#fff;transform:translateY(-1px)}.nav-link:hover:before{transform:scale(1)}.nav-link.active{color:#64ffda;background:#64ffda26;border:1px solid rgba(100,255,218,.3);box-shadow:0 0 20px #64ffda33}.nav-link.active:before{display:none}@media (max-width: 768px){.navbar{top:1rem;padding:.375rem}.navbar-nav{gap:.125rem}.nav-link{padding:.625rem 1rem;font-size:.8rem}}@media (max-width: 480px){.navbar{top:1rem;padding:.25rem;max-width:calc(100vw - 2rem)}.navbar-nav{gap:.125rem}.nav-link{padding:.5rem .75rem;font-size:.75rem;min-width:auto}}@media (prefers-reduced-motion: reduce){.navbar,.nav-link,.nav-link:before{transition:none}}.nav-link:focus{outline:2px solid #64ffda;outline-offset:2px}@media (prefers-contrast: high){.navbar{background:#000000e6;border:2px solid white}.nav-link{border:1px solid transparent}.nav-link:hover{border-color:#fff;background:#fff3}.nav-link.active{border-color:#64ffda;background:#64ffda4d}}.portfolio-section{min-height:100vh;display:flex;position:relative}@media (min-width: 769px){.portfolio-section,.portfolio-section.text-left{flex-direction:row}.portfolio-section.text-right{flex-direction:row-reverse}.section-particles-area{width:50%;height:100vh}.section-content-area{width:50%;min-height:100vh}}@media (max-width: 768px){.portfolio-section{flex-direction:column}.section-particles-area{height:40vh;width:100%}.section-content-area{flex:1;min-height:60vh;width:100%}}.section-particles-area .particles-canvas{width:100%;height:100%;position:relative}.section-particles-area .particles-canvas canvas{width:100%!important;height:100%!important;display:block;pointer-events:auto!important}@media (max-width: 768px){.section-content-area{padding:1.5rem;justify-content:center;background:#000}}.project-carousel{position:relative;width:100%;max-width:600px;margin:0 auto}.carousel-container{position:relative;width:100%;height:400px;overflow:hidden}.carousel-track{display:flex;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1)}.carousel-slide{flex:0 0 100%;width:100%;height:100%;position:relative}.carousel-image{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:16px}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000c;border:1px solid rgba(255,255,255,.2);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.carousel-nav:hover{background:#64ffda33;border-color:#64ffda66;color:#64ffda;transform:translateY(-50%) scale(1.15);box-shadow:0 4px 16px #64ffda4d}.carousel-nav:active{transform:translateY(-50%) scale(1.05)}.carousel-nav--prev{left:12px}.carousel-nav--next{right:12px}.carousel-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;background:#000000b3;padding:10px 20px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.carousel-dot{width:10px;height:10px;border-radius:50%;border:none;background:#fff6;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0;position:relative}.carousel-dot:hover{background:#ffffffb3;transform:scale(1.3)}.carousel-dot.active{background:#64ffda;transform:scale(1.4);box-shadow:0 0 16px #64ffda99}.carousel-dot.active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:#64ffda33;z-index:-1}.carousel-counter{position:absolute;top:16px;right:16px;background:#000c;color:#fff;padding:8px 14px;border-radius:20px;font-size:.875rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);z-index:10;font-variant-numeric:tabular-nums}.carousel-nav:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0;transition:opacity .3s ease}.carousel-nav:hover:after{opacity:.3}.carousel-image{transition:opacity .3s ease}.carousel-slide.loading .carousel-image{opacity:.7}.carousel-nav:focus,.carousel-dot:focus{outline:2px solid #64ffda;outline-offset:2px}@media (max-width: 768px){.carousel-container{height:300px}.carousel-nav{width:36px;height:36px}.carousel-nav--prev{left:8px}.carousel-nav--next{right:8px}.carousel-dots{bottom:16px;padding:8px 16px;gap:8px}.carousel-dot{width:8px;height:8px}.carousel-counter{top:12px;right:12px;font-size:.75rem;padding:6px 10px}}@media (max-width: 480px){.carousel-container{height:250px;border-radius:12px}.carousel-image{border-radius:12px}.carousel-nav{width:32px;height:32px}.carousel-nav svg{width:16px;height:16px}.carousel-dots{bottom:12px;padding:6px 12px;gap:6px}.carousel-dot{width:6px;height:6px}.carousel-counter{top:10px;right:10px;font-size:.7rem;padding:4px 8px}}@media (prefers-reduced-motion: reduce){.carousel-track,.carousel-nav,.carousel-dot{transition:none}.carousel-nav:hover,.carousel-dot:hover,.carousel-dot.active{transform:none}}@media (prefers-contrast: high){.carousel-container{border:2px solid white}.carousel-nav,.carousel-dots{background:#000000f2;border:2px solid white}.carousel-dot{border:1px solid white}.carousel-dot.active{background:#fff;color:#000}.carousel-counter{background:#000000f2;border:2px solid white}}.carousel-nav svg{transition:transform .2s ease}.carousel-nav:hover svg{transform:scale(1.1)}.carousel-nav:active{background:#64ffda4d}.carousel-dot:active{transform:scale(1.1)}.project-section{min-height:100vh;display:flex;position:relative;max-width:1300px;margin:auto}@media (min-width: 769px){.project-section,.project-section.text-right{flex-direction:row}.project-section.text-left{flex-direction:row-reverse}.section-image-area{width:50%;height:100vh}.section-content-area{width:50%;min-height:100vh}}@media (max-width: 768px){.project-section{flex-direction:column}.section-image-area{height:50vh;width:100%}.section-content-area{flex:1;min-height:50vh;width:100%}}.section-image-area{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:2rem}.project-section .section-content-area{display:flex;align-items:center;justify-content:center;padding:2rem;background:#000}@media (max-width: 768px){.section-image-area,.project-section .section-content-area{padding:1.5rem}}@media (max-width: 480px){.section-image-area,.project-section .section-content-area{padding:1rem}}.tech-scroll-container{width:100%;height:100%;overflow:visible;position:relative;display:flex;align-items:flex-start}.tech-scroll-track{display:flex;gap:2rem;animation:scrollTech 60s linear infinite;white-space:nowrap}@keyframes scrollTech{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech-card{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:180px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.tech-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.tech-icon{font-size:2rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.devicon-size{width:2rem!important;height:2rem!important;font-size:2rem!important}.tech-name{font-size:1.1rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.tech-category{font-size:.875rem;color:#ffffffb3;text-align:center;font-weight:500;line-height:1.3}@media (max-width: 768px){.tech-scroll-track{gap:1.5rem;animation-duration:45s}.tech-card{min-width:140px;padding:1.25rem .75rem}.tech-header{gap:.5rem}.tech-icon{font-size:1.75rem}.tech-name{font-size:1rem}.tech-category{font-size:.8rem}}@media (max-width: 480px){.tech-scroll-track{gap:1rem;animation-duration:40s}.tech-card{min-width:120px;padding:1rem .5rem}.tech-icon{font-size:1.5rem}.tech-name{font-size:.9rem}.tech-category{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.tech-scroll-track{animation:none}.tech-card:hover{transform:none}}@media (prefers-contrast: high){.tech-card{background:#ffffff1a;border:2px solid white}.tech-card:hover{background:#fff3;border-color:#64ffda}.tech-name{color:#fff}.tech-category{color:#ffffffe6}}.skills-section{min-height:100vh;display:flex;position:relative;max-width:1300px;margin:auto}.skills-section.vertical-stack{flex-direction:column}.skills-section.vertical-stack .section-content-area{width:100%;min-height:70vh;flex:1}.skills-section.vertical-stack .section-tech-area{width:100%;height:30vh;min-height:200px}.skills-section .section-content-area{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;overflow-y:auto}.skills-section .section-tech-area{position:relative;overflow:visible;display:flex;align-items:center;justify-content:center}.skills-section .skills-content{text-align:center;max-width:1000px;width:100%}.skills-section .section-title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1.5rem;background:linear-gradient(135deg,#64ffda,#4fd1a8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.skills-section .section-description{font-size:1.25rem;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto;color:#ffffffd9;line-height:1.6}.expertise-section,.interests-section{margin-bottom:3rem}.subsection-title{font-size:1.5rem;color:#64ffda;margin-bottom:1.5rem;font-weight:600;text-align:center}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.skill-card{background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-align:left;display:flex;flex-direction:column;height:100%}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#64ffda,transparent);opacity:0;transition:opacity .3s ease}.skill-card:hover{background:#ffffff0d;border-color:#64ffda4d;transform:translateY(-4px);box-shadow:0 8px 32px #64ffda1a}.skill-card:hover .skill-icon-svg{color:#4fd1a8;transform:scale(1.1)}.skill-card:hover:before{opacity:1}.skill-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.skill-icon{font-size:2.5rem;flex-shrink:0}.skill-icon-svg{font-size:2.5rem;flex-shrink:0;color:#64ffda;transition:all .3s ease}.skill-header h4{color:#fff;font-size:1.25rem;margin:0;font-weight:600}.skill-description{color:#fffc;line-height:1.6;margin:0;font-size:1rem;flex-grow:1}.interests-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.interest-card{background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;position:relative;display:flex;flex-direction:column;height:100%}.interest-card:hover{background:#ffffff0a;border-color:#64ffda33;transform:translateY(-2px);box-shadow:0 4px 20px #64ffda0d}.interest-card:hover .interest-icon-svg{color:#4fd1a8;transform:scale(1.1)}.interest-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.interest-icon{font-size:2rem;flex-shrink:0;margin-top:.25rem}.interest-icon-svg{font-size:2rem;flex-shrink:0;margin-top:.25rem;color:#64ffda;transition:all .3s ease}.interest-title-group h4{color:#fff;font-size:1.1rem;margin:0 0 .25rem;font-weight:600}.interest-status{background:#64ffda26;color:#64ffda;padding:.2rem .6rem;border-radius:10px;font-size:.7rem;font-weight:500;border:1px solid rgba(100,255,218,.25)}.interest-description{color:#ffffffbf;line-height:1.5;margin:0;font-size:1rem;flex-grow:1}.skill-highlights{display:flex;flex-wrap:wrap;gap:.5rem}.highlight-tag{background:#64ffda1a;color:#64ffda;padding:.3rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;border:1px solid rgba(100,255,218,.3)}.journey-statement{margin-top:2rem;padding:2rem;background:linear-gradient(135deg,#64ffda0d,#64ffda05,#64ffda0d);border-radius:16px;border:1px solid rgba(100,255,218,.15);position:relative;overflow:hidden}.journey-statement:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#64ffda,transparent)}.journey-content h3{color:#64ffda;font-size:1.5rem;margin-bottom:1rem;font-weight:600;text-align:center}.journey-content p{color:#ffffffd9;line-height:1.7;font-size:1.1rem;text-align:left;max-width:800px;margin:0 auto}@media (max-width: 768px){.skills-section .section-content-area{padding:3rem 1.5rem}.skills-section.vertical-stack .section-content-area{min-height:60vh}.skills-section.vertical-stack .section-tech-area{height:40vh;min-height:180px}.skills-grid,.interests-grid{grid-template-columns:1fr;gap:1rem}.skill-card,.interest-card{padding:1.25rem}.skill-header h4{font-size:1.1rem}.skill-description,.interest-description{font-size:.9rem}.journey-statement{padding:1.5rem;margin-top:1.5rem}.journey-content h3{font-size:1.25rem}.journey-content p{font-size:1rem}}@media (max-width: 480px){.skills-section .section-content-area{padding:2rem 1rem}.skills-section.vertical-stack .section-tech-area{height:35vh;min-height:160px}.skill-card,.interest-card{padding:1rem}.skill-header{gap:.75rem}.skill-icon,.interest-icon,.skill-icon-svg,.interest-icon-svg{font-size:1.75rem}.interest-header{gap:.75rem}.journey-statement{padding:1.25rem}.journey-content h3{font-size:1.1rem}.journey-content p{font-size:.95rem}}@media (prefers-reduced-motion: reduce){.skill-card,.interest-card{transition:none}.skill-card:hover,.interest-card:hover{transform:none}}@media (prefers-contrast: high){.skill-card,.interest-card{background:#ffffff1a;border:2px solid white}.skill-card:hover,.interest-card:hover{background:#fff3;border-color:#64ffda}.journey-statement{background:#ffffff1a;border:2px solid #64ffda}}.contact-section{min-height:100vh;display:flex;position:relative;max-width:1300px;margin:auto;background:linear-gradient(135deg,#000,#181818,#000)}.contact-full-area{width:100%;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;min-height:100vh}.contact-section .contact-content{text-align:center;max-width:700px;width:100%}.contact-section .section-title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:2rem;background:linear-gradient(135deg,#64ffda,#4fd1a8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-section .section-description{font-size:1.5rem;line-height:1.6;margin-bottom:3rem;color:#ffffffe6}.contact-section .contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0;max-width:600px;margin-left:auto;margin-right:auto}.contact-section .contact-method{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.contact-section .contact-method:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(100,255,218,.1) 0%,transparent 50%);opacity:0;transition:opacity .3s ease}.contact-section .contact-method:hover{transform:translateY(-8px);border-color:#64ffda4d;box-shadow:0 16px 48px #64ffda1a}.contact-section .contact-method:hover:before{opacity:1}.contact-section .contact-method h3{color:#fff;font-size:1.5rem;margin-bottom:1rem;font-weight:600;position:relative;z-index:1}.contact-section .contact-method a{color:#64ffda;text-decoration:none;font-size:1.1rem;font-weight:500;transition:all .3s ease;position:relative;z-index:1}.contact-section .contact-method a:hover{color:#4fd1a8;text-shadow:0 0 8px rgba(100,255,218,.4)}.contact-section .availability{display:flex;align-items:center;gap:1rem;margin:3rem auto;padding:1.5rem 2rem;background:#64ffda0d;border-radius:16px;border:1px solid rgba(100,255,218,.2);justify-content:center;max-width:400px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-section .status-indicator{width:16px;height:16px;border-radius:50%;background:#4ade80;box-shadow:0 0 16px #4ade8099;animation:pulse 2s infinite;position:relative}.contact-section .status-indicator:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:#4ade8033;animation:ripple 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes ripple{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}.contact-section .availability span{color:#ffffffe6;font-weight:600;font-size:1.1rem}.contact-section .contact-note{margin-top:3rem;padding:2rem;background:#64ffda08;border-radius:16px;border:1px solid rgba(100,255,218,.15);position:relative;overflow:hidden}.contact-section .contact-note:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#64ffda,transparent)}.contact-section .contact-note p{color:#fffc;margin:0;line-height:1.7;font-size:1.1rem}.contact-section .contact-note strong{color:#64ffda;font-weight:600}@media (max-width: 768px){.contact-full-area{padding:3rem 1.5rem}.contact-section .contact-methods{grid-template-columns:1fr;gap:1.5rem;margin:2rem 0}.contact-section .contact-method{padding:1.5rem}.contact-section .contact-method h3{font-size:1.3rem}.contact-section .availability{padding:1.25rem 1.5rem;margin:2rem auto}.contact-section .contact-note{padding:1.5rem;margin-top:2rem}}@media (max-width: 480px){.contact-full-area{padding:2rem 1rem}.contact-section .section-description{font-size:1.25rem}.contact-section .contact-method{padding:1.25rem}.contact-section .contact-method h3{font-size:1.2rem}.contact-section .contact-method a{font-size:1rem}.contact-section .availability{flex-direction:column;gap:.75rem;padding:1rem;text-align:center}.contact-section .availability span{font-size:1rem}}@media (prefers-reduced-motion: reduce){.contact-section .contact-method,.contact-section .status-indicator,.contact-section .status-indicator:before{animation:none;transition:none}.contact-section .contact-method:hover{transform:none}}@media (prefers-contrast: high){.contact-section{background:#000}.contact-section .contact-method{background:#ffffff1a;border:2px solid white}.contact-section .availability,.contact-section .contact-note{background:#ffffff1a;border:2px solid #64ffda}}.demos-section{min-height:100vh;display:flex;position:relative;width:100%;max-width:none;margin:auto;background:linear-gradient(135deg,#000,#181818,#000)}.demos-section .demos-full-area{width:100%;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;min-height:100vh}.demos-section .demos-content{text-align:center;max-width:1200px;width:100%}.demos-section .section-title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:2rem;background:linear-gradient(135deg,#64ffda,#4fd1a8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demos-section .section-description{font-size:1.25rem;line-height:1.6;color:#ffffffe6;max-width:800px;margin-left:auto;margin-right:auto}.demo-carousel{position:relative;margin:2rem 0;padding:2rem 3rem;overflow:hidden;max-width:1000px;margin-left:auto;margin-right:auto}.carousel-container{position:relative;width:100%;height:500px;overflow:hidden;border-radius:12px}.carousel-track{display:flex;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);gap:2rem}.demo-cards-container{display:flex;justify-content:center;gap:2rem;min-width:100%;padding:0 1rem}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#000c;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.carousel-arrow:hover{background:#64ffda26;border-color:#64ffda4d;color:#64ffda;transform:translateY(-50%) scale(1.1)}.carousel-arrow--prev{left:1rem}.carousel-arrow--next{right:1rem}.demo-card{flex:1;display:flex;flex-direction:column;text-align:center;padding:1rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:0;max-width:500px;max-height:600px}.demo-card:hover{background:#ffffff0d;border-color:#64ffda4d;transform:translateY(-4px);box-shadow:0 8px 32px #64ffda1a}.demo-preview{position:relative;width:100%;height:200px;margin-bottom:1.5rem;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.demo-preview:hover{transform:translateY(-4px);box-shadow:0 8px 32px #64ffda33;border-color:#64ffda4d}.demo-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.demo-preview:hover .demo-image{transform:scale(1.05)}.demo-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.demo-preview:hover .demo-overlay{opacity:1}.play-button{width:60px;height:60px;border-radius:50%;background:#64ffda33;border:2px solid #64ffda;display:flex;align-items:center;justify-content:center;color:#64ffda;margin-bottom:.5rem;transition:all .3s ease}.demo-preview:hover .play-button{transform:scale(1.1);background:#64ffda4d;box-shadow:0 0 20px #64ffda66}.demo-overlay-text{color:#fff;font-size:.9rem;font-weight:500}.demo-info{text-align:center;flex:1;display:flex;flex-direction:column;justify-content:space-between;height:max-content;max-height:400px}.demo-title{font-size:1.5rem;color:#64ffda;margin:0 0 1rem;font-weight:700;line-height:1.2}.demo-description{color:#fffc;line-height:1.6;margin-bottom:1.5rem;font-size:1rem;flex:1}.demo-tech{margin-bottom:1.5rem}.tech-tag{background:#64ffda1a;color:#64ffda;padding:.3rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid rgba(100,255,218,.3);transition:all .3s ease}.tech-tag:hover{background:#64ffda33;border-color:#64ffda80}.demo-launch-button{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#64ffda;color:#0a0a0a;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;width:100%;justify-content:center}.demo-launch-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.demo-launch-button:hover{background:#4fd1a8;transform:translateY(-2px);box-shadow:0 8px 25px #64ffda4d}.demo-launch-button:hover:before{left:100%}.demo-launch-button svg{transition:transform .3s ease}.demo-launch-button:hover svg{transform:translate(4px)}.carousel-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:2rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#0009;padding:.5rem 1rem;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.indicator{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.indicator:hover{background:#ffffff80;transform:scale(1.2)}.indicator.active{background:#64ffda;transform:scale(1.3);box-shadow:0 0 8px #64ffda99}@media (max-width: 768px){.demos-section .demos-full-area{padding:3rem 1.5rem}.carousel-container{height:450px}.demo-cards-container{flex-direction:column;gap:1.5rem}.carousel-arrow{width:40px;height:40px}.carousel-arrow--prev{left:.5rem}.carousel-arrow--next{right:.5rem}.demo-preview{height:150px}.play-button{width:50px;height:50px}.demo-title{font-size:1.25rem}.demo-description{font-size:.9rem}.demo-launch-button{padding:.75rem 1.25rem;font-size:.85rem}}@media (max-width: 480px){.demos-section .demos-full-area{padding:2rem 1rem}.carousel-container{height:400px}.carousel-arrow{width:36px;height:36px}.demo-preview{height:120px}.demo-title{font-size:1.1rem}.tech-tag{font-size:.7rem;padding:.25rem .5rem}.demo-launch-button{font-size:.8rem}}@media (prefers-reduced-motion: reduce){.carousel-track,.carousel-arrow,.demo-card,.demo-preview,.indicator{transition:none}.carousel-arrow:hover,.demo-card:hover,.demo-preview:hover,.indicator:hover,.indicator.active{transform:none}}@media (prefers-contrast: high){.demos-section{background:#000}.demo-card{background:#ffffff1a;border:2px solid white}.carousel-indicators{background:#000000e6;border:1px solid white}.indicator{border:1px solid white}.indicator.active{background:#fff;color:#000}}.demos-section .section-demos-area{position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(circle at center,#64ffda08,#000000e6 70%)}.demos-section .demos-canvas{width:100%;height:100%;position:relative;border-radius:0}.demos-section .demos-canvas>div{width:100%!important;height:100%!important}.demos-section .demos-canvas canvas{width:100%!important;height:100%!important;display:block;border-radius:0}.interaction-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#000c;color:#fffc;padding:.75rem 1.5rem;border-radius:25px;font-size:.875rem;border:1px solid rgba(100,255,218,.2);z-index:10;animation:fadeInUp 2s ease-out 1s both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.demos-section.text-left{flex-direction:row}.demos-section.text-right{flex-direction:row-reverse}@media (min-width: 769px){.demos-section .section-demos-area{width:50%;height:100vh}.demos-section .section-content-area{width:50%;min-height:100vh}}@media (max-width: 768px){.demos-section{flex-direction:column}.demos-section .section-demos-area{height:50vh;width:100%}.demos-section .section-content-area{flex:1;min-height:50vh;width:100%}.interaction-hint{font-size:.75rem;padding:.5rem 1rem}}.text-content{max-width:600px;width:100%;color:#fff;z-index:20;position:relative;text-align:center}.section-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#fff;margin-bottom:1.5rem;line-height:1.1;letter-spacing:-.02em}.section-description{font-size:1.25rem;color:#fffc;line-height:1.6;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.hero-content{text-align:center;max-width:600px}.hero-greeting{display:block;font-size:1.5rem;color:#64ffda;margin-bottom:.5rem;font-weight:400}.hero-name{display:block;font-size:clamp(3rem,8vw,6rem);font-weight:700;color:#fff;line-height:1;margin-bottom:.5rem;letter-spacing:-.02em}.hero-subtitle{font-size:clamp(2rem,5vw,3.5rem);font-weight:300;color:#ffffffb3;margin-bottom:2rem;line-height:1.2}.hero-description{font-size:1.25rem;color:#fffc;line-height:1.6;margin-bottom:3rem;max-width:500px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.cta-button{padding:1rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.cta-button.primary{background:#64ffda;color:#0a0a0a}.cta-button.primary:hover{background:#4fd1a8;transform:translateY(-2px);box-shadow:0 8px 25px #64ffda4d}.cta-button.secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}.cta-button.secondary:hover{background:#ffffff1a;border-color:#fff9;transform:translateY(-2px)}.skills-content{text-align:center;max-width:600px}.skills-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:3rem}.skill-category h3{color:#64ffda;font-size:1.25rem;margin-bottom:1rem;font-weight:600}.skill-category ul{list-style:none;padding:0;margin:0}.skill-category li{color:#fffc;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1);transition:color .3s ease}.skill-category li:hover{color:#fff}.project-content{text-align:center;max-width:650px}.project-header{margin-bottom:2rem}.project-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;justify-content:center}.project-category{background:#64ffda26;color:#64ffda;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid rgba(100,255,218,.3)}.project-year{color:#fff9;font-size:.875rem;font-weight:500}.project-info{margin-top:1rem}.project-description{color:#fffc;line-height:1.6;margin-bottom:2rem;font-size:1.125rem;text-align:left;max-width:600px;margin-left:auto;margin-right:auto}.project-features{margin-bottom:2rem;text-align:left}.project-features h4,.project-tech h4{color:#fff;font-size:1.1rem;margin-bottom:1rem;font-weight:600;text-align:center}.features-list{list-style:none;padding:0;max-width:500px;margin:0 auto}.feature-item{color:#fffc;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:flex-start;gap:.75rem;transition:all .3s ease}.feature-bullet{color:#64ffda;font-weight:700;margin-top:.1rem;flex-shrink:0}.feature-item:hover{color:#fff;padding-left:.5rem}.project-tech{margin-bottom:2.5rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.tech-tag{background:#ffffff1a;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.tech-tag:hover{background:#64ffda26;border-color:#64ffda4d;color:#64ffda}.project-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.project-link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.project-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.project-link:hover:before{left:100%}.project-link.primary{background:#64ffda;color:#0a0a0a;border:2px solid transparent}.project-link.primary:hover{background:#4fd1a8;transform:translateY(-2px);box-shadow:0 8px 25px #64ffda4d}.project-link.secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}.project-link.secondary:hover{background:#ffffff1a;border-color:#fff9;transform:translateY(-2px)}.project-link svg{transition:transform .3s ease}.project-link:hover svg{transform:translate(4px) translateY(-2px)}.contact-content{text-align:center;max-width:600px}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin:3rem 0}.contact-method h3{color:#fff;font-size:1.1rem;margin-bottom:.5rem;font-weight:500}.contact-method a{color:#64ffda;text-decoration:none;font-size:1rem;transition:color .3s ease}.contact-method a:hover{color:#4fd1a8}.availability{display:flex;align-items:center;gap:.75rem;margin:2rem 0;padding:1rem;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);justify-content:center}.status-indicator{width:12px;height:12px;border-radius:50%;background:#4ade80;box-shadow:0 0 12px #4ade8099;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.availability span{color:#ffffffe6;font-weight:500}.contact-note{margin-top:2rem;padding:1.5rem;background:#64ffda0d;border-radius:8px;border:1px solid rgba(100,255,218,.1)}.contact-note p{color:#fffc;margin:0;line-height:1.6}.contact-note strong{color:#64ffda}@media (max-width: 768px){.text-content{padding:0 1rem}.hero-content,.skills-content,.project-content,.contact-content{text-align:center;max-width:100%}.hero-actions{justify-content:center}.cta-button{padding:.875rem 1.5rem;font-size:.9rem}.skills-categories,.contact-methods{grid-template-columns:1fr;gap:1.5rem}.project-links{justify-content:center;flex-direction:column;align-items:center}.project-link{width:100%;max-width:280px;justify-content:center}.availability{justify-content:center}.project-description,.project-features{text-align:center}.features-list{text-align:left}}@media (max-width: 480px){.hero-actions{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:280px}.project-meta{flex-direction:column;gap:.5rem}}.portfolio-container{position:relative;width:100%;min-height:100vh}.portfolio-sections{position:relative;z-index:2}.portfolio-section{min-height:100vh;display:flex;position:relative;max-width:1300px;margin:auto}.demos-section{max-width:none;width:100%}@media (min-width: 769px){.portfolio-section,.portfolio-section.text-left{flex-direction:row}.portfolio-section.text-right{flex-direction:row-reverse}.section-particles-area{width:50%;height:100vh}.section-content-area{width:50%;min-height:100vh}.demos-section .demos-full-area{width:100%;min-height:100vh}}@media (max-width: 768px){.portfolio-section{flex-direction:column}.section-particles-area{height:40vh;width:100%}.section-content-area{flex:1;min-height:60vh;width:100%}.demos-section .demos-full-area{width:100%;min-height:100vh}}.section-particles-area{position:relative;overflow:hidden;display:flex;align-items:center}.section-particles-area .particles-canvas{width:100%;height:100%;position:relative;max-height:600px}.section-particles-area .particles-canvas>div{width:100%!important;height:100%!important}.section-particles-area .particles-canvas canvas{display:inline-block;pointer-events:auto!important}.section-content-area{display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(to bottom,#18181800,#181818cc 20%,#181818f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (min-width: 769px){.section-content-area{background:#000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.hero-section .section-content-area,.skills-section .section-content-area,.project1-section .section-content-area,.project2-section .section-content-area,.project3-section .section-content-area,.project4-section .section-content-area,.contact-section .section-content-area{justify-content:center;padding:2rem}.section-indicator{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:1rem}.indicator-dot{width:12px;height:12px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.indicator-dot:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-radius:50%;background:#64ffda4d;transition:all .3s cubic-bezier(.4,0,.2,1)}.indicator-dot:hover{background:#ffffff80;transform:scale(1.2)}.indicator-dot.active{background:#64ffda;transform:scale(1.3);box-shadow:0 0 12px #64ffda99}.indicator-dot.active:before{width:20px;height:20px}@media (max-width: 768px){.section-content-area{padding:1.5rem;justify-content:center;background:#000}.section-indicator{right:1rem;gap:.75rem}.indicator-dot{width:10px;height:10px}}@media (max-width: 480px){.section-content-area{padding:1rem}}.image-navigation{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;height:50px!important;gap:15px;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 8px;border-radius:30px;border:1px solid rgba(255,255,255,.1);z-index:10;box-shadow:0 8px 32px #0006;transition:all .3s cubic-bezier(.4,0,.2,1)}.image-navigation:hover{background:#000000e6;border-color:#fff3}.nav-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#ffffffb3;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0}.nav-button:hover{background:#ffffff1a;border-color:#fff6;color:#fff;transform:scale(1.1)}.nav-button:active{transform:scale(.95)}.nav-button:disabled{opacity:.3;cursor:not-allowed;transform:none}.image-indicators{display:flex;gap:8px;align-items:center;min-width:60px;justify-content:center}.indicator-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff4d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;padding:0}.indicator-dot:hover{background:#ffffff80;transform:scale(1.1)}.indicator-dot.active{background:#64ffda;box-shadow:0 0 10px #64ffda99;transform:scale(1.2)}.indicator-dot.active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#64ffda33;z-index:-1}.image-counter{font-size:.75rem;color:#fff9;font-weight:500;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}@media (max-width: 768px){.image-navigation{bottom:15px;padding:10px 16px;gap:12px}.nav-button{width:32px;height:32px}.nav-button svg{width:14px;height:14px}.indicator-dot{width:6px;height:6px}.indicator-dot.active:before{width:14px;height:14px}.image-counter{font-size:.7rem;min-width:35px}}@media (max-width: 480px){.image-navigation{bottom:10px;padding:8px 12px;gap:10px;max-width:calc(100vw - 2rem)}.nav-button{width:28px;height:28px}.nav-button svg{width:12px;height:12px}.image-indicators{gap:6px;min-width:50px}.image-counter{font-size:.65rem;min-width:30px}}@media (prefers-reduced-motion: reduce){.image-navigation,.nav-button,.indicator-dot{transition:none}.nav-button:hover,.indicator-dot:hover,.indicator-dot.active{transform:none}}@media (prefers-contrast: high){.image-navigation{background:#000000f2;border:2px solid white}.nav-button{border:2px solid white}.indicator-dot{border:1px solid white}.indicator-dot.active{background:#fff;color:#000}}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;min-height:100vh;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{width:100vw;min-height:100vh;background-color:#000}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.bottom-left-stats{position:fixed!important;top:calc(100% - 60px)!important;left:10px!important;z-index:1000;height:50px!important}
