*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#fff7f1;--bg-secondary:#fff;--text-primary:#545454;--text-secondary:#666;--accent-primary:#f59fbc;--accent-secondary:#fccce4;--border-color:#e5e5e5;--shadow:#0000001a;--dark-bg-primary:#282828;--dark-bg-secondary:#333;--dark-text-primary:#e1e1e1;--dark-text-secondary:#ccc;--dark-accent-primary:#8ec6d1;--dark-accent-secondary:#6b9ca5;--dark-border-color:#444;--dark-shadow:#0000004d}[data-theme=dark]{--bg-primary:var(--dark-bg-primary);--bg-secondary:var(--dark-bg-secondary);--text-primary:var(--dark-text-primary);--text-secondary:var(--dark-text-secondary);--accent-primary:var(--dark-accent-primary);--accent-secondary:var(--dark-accent-secondary);--border-color:var(--dark-border-color);--shadow:var(--dark-shadow)}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background-color:#fff7f1;background-color:var(--bg-primary);color:#545454;color:var(--text-primary);font-family:Poppins,sans-serif;line-height:1.6;min-width:320px;transition:background-color .3s ease,color .3s ease}.container{margin:0 auto;max-width:1200px;padding:0 2rem;width:100%}.section-title{word-wrap:break-word;color:#545454;color:var(--text-primary);font-size:3rem;margin-bottom:3rem;text-align:center}.highlight{color:#f59fbc;color:var(--accent-primary);font-weight:600}@media (max-width:768px){.container{max-width:100vw;padding:0 1rem}.section-title{font-size:2.5rem;margin-bottom:2rem}}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-bottom:1px solid #ffffff1a;left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2}[data-theme=dark] .navbar{background:#2828281a;border-bottom:1px solid #ffffff0d}[data-theme=dark] .navbar.scrolled{background:#282828f2}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.nav-logo{color:var(--accent-primary);cursor:pointer;font-size:1.5rem;font-weight:700}.nav-links{display:flex;gap:2rem;list-style:none}.nav-link{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 0;position:relative;transition:color .3s ease}.nav-link:after{background:var(--accent-primary);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-link.active{color:var(--accent-primary)}.nav-toggle{background:none;border:none;color:var(--text-primary);cursor:pointer;display:none}.nav-mobile{background:var(--bg-secondary);border-top:1px solid var(--border-color);box-shadow:0 5px 20px var(--shadow);display:none;left:0;position:absolute;right:0;top:100%}.nav-link-mobile{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:1rem;padding:1rem 2rem;text-align:left;transition:background-color .3s ease;width:100%}.nav-link-mobile:hover{background:var(--accent-secondary)}@media (max-width:768px){.nav-links.desktop,.nav-toggle.mobile{display:none}.nav-mobile.open{display:block}}.mobile-nav-popup{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:15px;bottom:8rem;box-shadow:0 10px 30px var(--shadow);display:none;flex-direction:column;gap:.5rem;min-width:160px;padding:.5rem;position:fixed;right:2rem;transform-origin:bottom right;z-index:1000}.mobile-nav-popup.open{display:flex}.mobile-nav-popup .nav-link-mobile{background:none;border:none;border-radius:10px;color:var(--text-primary);cursor:pointer;display:block;font-size:.9rem;font-weight:500;padding:.75rem 1rem;text-align:center;transition:all .3s ease;width:100%}.mobile-nav-popup .nav-link-mobile:hover{background:var(--accent-primary);color:#fff;transform:translateY(-1px)}.mobile-nav-popup .nav-link-mobile.active{background:var(--accent-secondary);color:var(--accent-primary)}.mobile-hamburger{align-items:center;background:var(--accent-primary);border:none;border-radius:50%;bottom:2rem;box-shadow:0 5px 20px #0003;color:#fff;cursor:pointer;display:none;height:60px;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:60px;z-index:1001}.mobile-hamburger:hover{box-shadow:0 8px 25px #0000004d;transform:scale(1.1)}.mobile-hamburger:active{transform:scale(.95)}@media (max-width:768px){.mobile-hamburger{display:flex}}.hero{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem;position:relative;text-align:center}.hero-content{max-width:800px}.hero-greeting{color:var(--text-secondary);font-size:1.5rem;margin-bottom:1rem}.hero-name{color:var(--text-primary);font-size:4rem;font-weight:700;margin-bottom:2rem;position:relative}.cursor,.name-colored{color:var(--accent-primary)}.cursor{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-description{color:var(--text-secondary);font-size:1.25rem;line-height:1.6;margin-bottom:3rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.cta-button{align-items:center;border:none;border-radius:50px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.cta-button.primary{background:var(--accent-primary);color:#fff}.cta-button.secondary{background:#0000;border:2px solid var(--accent-primary);color:var(--accent-primary)}.cta-button:hover{transform:translateY(-2px)}.scroll-indicator{align-items:center;bottom:2rem;color:var(--accent-primary);display:flex;flex-direction:column;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%)}.scroll-text{color:var(--text-secondary);font-size:.9rem;font-weight:500;letter-spacing:1px;opacity:.8;text-transform:uppercase;transition:opacity .3s ease}.scroll-indicator:hover .scroll-text{opacity:1}@media (max-width:768px){.hero-name{font-size:2.5rem}.hero-description{font-size:1.1rem}.hero-actions{align-items:center;flex-direction:column}.cta-button{max-width:300px;width:100%}.scroll-text{font-size:.8rem}}.about{background:var(--bg-secondary);overflow:hidden;padding:6rem 0}.about-grid{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:2fr 1fr}.about-text{display:flex;flex-direction:column;gap:2rem}.about-card{background:var(--bg-primary);border-radius:20px;box-shadow:0 10px 30px var(--shadow);padding:2rem;transition:transform .3s ease;width:100%}.about-card:hover{transform:translateY(-5px)}.card-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.card-icon{color:var(--accent-primary);flex-shrink:0;height:32px;width:32px}.about-card h3{word-wrap:break-word;color:var(--text-primary);font-size:1.5rem;margin:0}.about-card p{word-wrap:break-word;color:var(--text-secondary);line-height:1.6}.skills-section{background:var(--bg-primary);border-radius:20px;box-shadow:0 10px 30px var(--shadow);height:-webkit-fit-content;height:fit-content;overflow:hidden;padding:2rem;position:-webkit-sticky;position:sticky;top:2rem;width:100%}.skills-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.tech-scroll-container{mask:linear-gradient(90deg,#0000,#fff 20%,#fff 80%,#0000);-webkit-mask:linear-gradient(90deg,#0000,#fff 20%,#fff 80%,#0000);max-width:100%;overflow:hidden;position:relative;width:100%}.tech-scroll-track{animation:scroll 20s linear infinite;display:flex;transform:translateX(0);width:-webkit-max-content;width:max-content;will-change:transform}.tech-logo-item{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;justify-content:center;margin:0 1.5rem;min-width:80px;padding:1rem;transition:transform .3s ease;width:80px}.tech-logo-item:hover{transform:scale(1.1)}.tech-logo{filter:grayscale(1) opacity(.7);height:48px;object-fit:contain;transition:all .3s ease;width:48px}.tech-logo-item:hover .tech-logo{filter:grayscale(0) opacity(1);transform:translateY(-2px)}.tech-name{color:var(--text-secondary);font-size:.75rem;font-weight:500;margin-top:.5rem;text-align:center;white-space:nowrap}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-33.33333%)}}[data-theme=dark] .tech-logo{filter:grayscale(1) opacity(.6) brightness(1.2)}[data-theme=dark] .tech-logo-item:hover .tech-logo{filter:grayscale(0) opacity(1) brightness(1)}@media (max-width:768px){.about{padding:4rem 0}.about-grid{gap:2rem;grid-template-columns:1fr}.skills-section{margin:0;position:static}.about-card{margin:0;padding:1.5rem}.card-header{gap:.75rem}.card-icon{height:28px;width:28px}.about-card h3{font-size:1.3rem}.tech-logo{height:40px;width:40px}.tech-logo-item{margin:0 1rem;min-width:60px;width:60px}.tech-scroll-track{animation-duration:15s}@media (max-width:480px){.tech-scroll-container{mask:linear-gradient(90deg,#0000,#fff 15%,#fff 85%,#0000);-webkit-mask:linear-gradient(90deg,#0000,#fff 15%,#fff 85%,#0000)}.tech-scroll-track{animation:scroll 25s linear infinite}.tech-logo-item{margin:0 .75rem;min-width:50px;width:50px}.tech-logo{height:32px;width:32px}.tech-name{font-size:.7rem}}}.projects{background:var(--bg-primary);padding:6rem 0}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-card{background:var(--bg-secondary);border-radius:20px;box-shadow:0 10px 30px var(--shadow);overflow:hidden;transition:all .3s ease}.project-image{height:200px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.1)}.project-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:1rem}.project-link{align-items:center;background:var(--accent-primary);border-radius:50%;color:#fff;display:flex;justify-content:center;padding:.75rem;text-decoration:none;transition:all .3s ease}.project-link:hover{background:var(--accent-secondary);transform:scale(1.1)}.project-content{padding:2rem}.project-title{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.project-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:var(--accent-secondary);border-radius:15px;color:var(--text-primary);font-size:.8rem;font-weight:500;padding:.25rem .75rem}@media (max-width:768px){.projects{padding:4rem 0}.projects-grid{gap:1.5rem;grid-template-columns:1fr}.project-content{padding:1.5rem}}.resume-section{background:var(--bg-primary);min-height:100vh;overflow-x:hidden;padding:6rem 2rem 2rem}.resume-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.action-button{align-items:center;background:var(--accent-primary);border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.action-button:hover{background:var(--accent-secondary);transform:translateY(-2px)}.resume-content{background:var(--bg-secondary);border-radius:15px;box-shadow:0 10px 30px var(--shadow);margin:0 auto;max-width:800px;overflow-wrap:break-word;padding:3rem;width:100%}.resume-header{border-bottom:2px solid var(--border-color);margin-bottom:3rem;padding-bottom:2rem;text-align:center}.resume-name{word-wrap:break-word;color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:1rem}.contact-info{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;max-width:100%}.contact-item{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:1;font-size:.9rem;gap:.5rem;min-width:0}.contact-item svg{color:var(--accent-primary);flex-shrink:0}.contact-link{color:var(--accent-primary);min-width:0;text-decoration:none;transition:color .3s ease;word-break:break-all}.contact-link:hover{color:var(--text-primary);text-decoration:underline}.contact-text-screen{display:inline}.contact-text-print{display:none}.resume-section-content{margin-bottom:2.5rem;overflow-wrap:break-word}.section-title{border-bottom:2px solid var(--accent-primary);color:var(--accent-primary);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.education-item,.experience-item,.project-item{margin-bottom:2rem}.education-item h3,.experience-item h3,.project-item h3{word-wrap:break-word;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.item-details{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.company,.institution{word-wrap:break-word;color:var(--text-secondary);flex:1 1;font-weight:500;min-width:0}.date{color:var(--accent-primary);flex-shrink:0;font-size:.9rem;font-weight:500;white-space:nowrap}.project-repository{align-items:flex-start;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem;margin-bottom:.75rem;overflow-wrap:break-word}.project-repository strong{color:var(--text-primary);flex-shrink:0;white-space:nowrap}.repo-link{color:var(--accent-primary);flex:1 1;font-weight:500;min-width:0;text-decoration:none;transition:color .3s ease;word-break:break-all}.repo-link:hover{color:var(--text-primary);text-decoration:underline}.achievements,.project-details,.responsibilities{list-style:none;padding:0}.achievements li,.project-details li,.responsibilities li{color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem;overflow-wrap:break-word;padding-left:1.5rem;position:relative}.achievements li:before,.project-details li:before,.responsibilities li:before{color:var(--accent-primary);content:"•";font-weight:700;left:0;position:absolute}.skills-content p{color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem;overflow-wrap:break-word}.skills-content strong{color:var(--text-primary)}@media print{.nav-logo,.no-print,[class*=TJP],[id*=TJP]{display:none!important}.resume-section{background:#fff!important;min-height:auto;padding:0}.resume-content{background:#fff!important;border-radius:0!important;box-shadow:none!important;margin:0!important;max-width:none!important;padding:1rem!important}.resume-header{border-bottom:1px solid #ddd!important;margin-bottom:1.5rem!important;padding-bottom:1rem!important}.resume-name{color:#333!important;font-size:1.8rem!important;margin-bottom:.75rem!important}.contact-info{align-items:center!important;flex-direction:column!important;gap:.5rem!important}.contact-item{color:#666!important;font-size:.75rem!important;justify-content:center!important}.contact-item svg,.contact-text-screen{display:none!important}.contact-text-print{display:inline!important}.contact-link{color:#666!important;text-decoration:none!important}.section-title{border-bottom:1px solid #2563eb!important;color:#2563eb!important;font-size:1.2rem!important;margin-bottom:.75rem!important;padding-bottom:.25rem!important}.resume-section-content:first-of-type .section-title{margin-top:0!important}.section-title{margin-top:1.25rem!important}.education-item h3,.experience-item h3,.project-item h3{color:#333!important;font-size:1rem!important;margin-bottom:.25rem!important}.item-details{flex-direction:row!important;justify-content:space-between!important;margin-bottom:.5rem!important}.company,.institution{color:#555!important;font-size:.8rem!important}.date{color:#2563eb!important;font-size:.8rem!important}.project-repository{align-items:center!important;color:var(--text-secondary);flex-direction:row!important;flex-wrap:wrap!important;font-size:.75rem!important;gap:.3rem!important;margin-bottom:.5rem!important}.project-repository strong{color:#333!important;white-space:nowrap!important}.repo-link{color:#2563eb!important;font-weight:400!important;text-decoration:none!important;word-break:break-all!important}.achievements,.project-details,.responsibilities{margin-bottom:1rem!important}.achievements li,.project-details li,.responsibilities li{color:#555!important;font-size:.8rem!important;line-height:1.4!important;margin-bottom:.25rem!important;padding-left:1rem!important}.achievements li:before,.project-details li:before,.responsibilities li:before{color:#2563eb!important;left:0!important}.skills-content p{color:#555!important;font-size:.8rem!important;line-height:1.4!important;margin-bottom:.5rem!important}.skills-content strong{color:#333!important}.resume-section-content{margin-bottom:1.25rem!important}.education-item,.experience-item,.project-item{margin-bottom:1rem!important}.project-item h3,.project-repository{page-break-after:avoid!important}.resume-section-content:last-child{margin-bottom:0!important}}.pdf-export{font-size:14px!important}.pdf-export .resume-header{margin-bottom:1.2rem!important}.pdf-export .section-title{margin-bottom:.8rem!important;margin-top:1rem!important}.pdf-export .project-item{margin-bottom:1rem!important}@media (max-width:768px){.resume-section{padding:5rem 1rem 2rem}.resume-content{padding:2rem 1.5rem}.resume-name{font-size:2rem}.contact-info{align-items:center;flex-direction:column;gap:.75rem}.contact-item{justify-content:center;text-align:center}.item-details,.project-repository{align-items:flex-start;flex-direction:column;gap:.25rem}.action-button{font-size:.9rem;padding:.5rem 1rem}}.contact{background:var(--bg-secondary);padding:6rem 0}.contact-subtitle{color:var(--text-secondary);font-size:1.2rem;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.contact-grid{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.contact-info h3{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.contact-info p{color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.social-links{display:flex;flex-direction:column;gap:1rem}.social-link{align-items:center;background:var(--bg-primary);border-radius:15px;color:var(--text-primary);display:flex;gap:1rem;padding:1rem;text-decoration:none;transition:all .3s ease}.social-link:hover{background:var(--accent-primary);color:#fff;transform:translateX(10px)}.contact-form{background:var(--bg-primary);border-radius:20px;box-shadow:0 10px 30px var(--shadow);padding:2rem}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:1rem;padding:1rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-primary);outline:none}.submit-button{align-items:center;background:var(--accent-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 2rem;transition:all .3s ease;width:100%}.submit-button:hover{background:var(--accent-secondary);transform:translateY(-2px)}@media (max-width:768px){.contact{padding:4rem 0}.contact-grid{gap:2rem;grid-template-columns:1fr}.contact-form{padding:1.5rem}}.theme-toggle{align-items:center;background:var(--bg-secondary);border:none;border-radius:50%;box-shadow:0 5px 20px var(--shadow);color:var(--text-primary);cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:2rem;top:2rem;transition:all .3s ease;width:60px;z-index:1001}.theme-toggle:hover{box-shadow:0 8px 25px var(--shadow);transform:scale(1.1)}@media (max-width:768px){.theme-toggle{height:50px;right:1rem;top:1rem;width:50px}}.app{max-width:100vw;min-height:100vh;overflow-x:hidden;position:relative;width:100%}.app.light{background-color:var(--bg-primary)}.app.dark{background-color:var(--dark-bg-primary)}main{overflow-x:hidden;position:relative;width:100%;z-index:1}
/*# sourceMappingURL=main.3ba2f41a.css.map*/