@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap";.dot-grid{display:flex;align-items:center;justify-content:center;height:100%;width:100%;position:relative}.dot-grid__wrap{width:100%;height:100%;position:relative}.dot-grid__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}@keyframes gradient{0%{background-position:0% 0%;transform:rotate(0)}50%{background-position:100% 100%;transform:rotate(180deg)}to{background-position:0% 0%;transform:rotate(360deg)}}.animated-gradient{position:relative;overflow:hidden}.animated-gradient:before{content:"";position:absolute;top:-100%;left:-100%;right:-100%;bottom:-100%;background:radial-gradient(circle at center,#fff5f3cc,#ffe8e699 45%,#e94e3c1a 75%,#fff5f366);animation:gradient 20s cubic-bezier(.4,0,.2,1) infinite;z-index:0}.animated-gradient.dark:before{background:radial-gradient(circle at center,#2a2a2acc,#1a1a1a99 45%,#e94e3c1a 75%,#2a2a2a66)}.animated-gradient>*{position:relative;z-index:1}.home-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.home-content{max-width:1200px;width:100%;display:flex;justify-content:space-between;align-items:center;gap:4rem;padding:2rem}.profile-section{text-align:center}.profile-image-container{width:150px;height:150px;margin:0 auto 1.5rem;position:relative}.profile-name{font-size:1.8rem;margin-bottom:.5rem}.title-container{margin-bottom:1.5rem}.developer-title{font-size:2.5rem;line-height:1.2;margin-bottom:1.2rem;text-align:center;font-weight:700}.social-links{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.code-editor-section{flex:0 0 45%}@media screen and (max-width: 1200px){.home-content{padding:1.5rem;gap:3rem}.code-editor-section{flex:0 0 50%}}@media screen and (max-width: 1024px){.home-content{flex-direction:column;text-align:center;gap:3rem;margin-top:3rem}.code-editor-section{width:100%;max-width:600px}.code-editor-section pre{text-align:left}.developer-title{font-size:2.2rem}}@media screen and (max-width: 768px){.home-container{padding:1rem}.home-content{padding:1rem;gap:2rem;margin-top:4rem}.code-editor-section pre{text-align:left;padding-left:.5rem}.developer-title{font-size:2rem}.profile-name{font-size:1.6rem}}@media screen and (max-width: 480px){.home-content{margin-top:5rem}.profile-image-container{width:120px;height:120px}.profile-name{font-size:1.2rem}.developer-title{font-size:1.5rem}.code-editor-section{font-size:12px}.code-editor-section pre{text-align:left;white-space:pre-wrap;word-break:break-word}}@media screen and (max-width: 360px){.home-container{padding:.5rem}.home-content{padding:.5rem;gap:1.5rem;margin-top:5.5rem}.social-links{gap:.75rem}.profile-image-container{width:100px;height:100px}.code-editor-section pre{padding-left:0}}.navbar{position:fixed;top:0;left:50%;width:100%;height:70px;transform:translate(-50%);transition:all .3s ease;z-index:1000}.navbar.scrolled{top:20px;width:95%;height:60px;border-radius:16px}.navbar-container{max-width:1200px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 2rem}.desktop-menu{display:flex;gap:2rem}.mobile-menu-button{display:none;flex-direction:column;justify-content:space-between;width:24px;height:20px;cursor:pointer}.mobile-menu-button div{width:100%;height:2px;transition:all .3s ease}.mobile-menu-button div:nth-child(1){transform-origin:center}.mobile-menu-button div:nth-child(3){transform-origin:center}.mobile-menu-button.active div:nth-child(1){transform:translateY(9px) rotate(45deg)}.mobile-menu-button.active div:nth-child(2){opacity:0}.mobile-menu-button.active div:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:70px;left:0;width:100%;height:calc(100vh - 70px);padding:2rem;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:999;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media screen and (max-width: 768px){.desktop-menu{display:none}.mobile-menu-button{display:flex;margin-left:auto}.mobile-menu.active{display:flex}.mobile-menu .nav-item{width:100%;max-width:300px;text-align:center;font-size:1.2rem;margin:.75rem 0;padding:1rem;transition:all .3s ease}.mobile-menu .nav-item+.nav-item{margin-top:.75rem}.mobile-menu .nav-item-underline{width:0;max-width:80%;left:50%;transform:translate(-50%)}.mobile-menu .nav-item.active .nav-item-underline,.mobile-menu .nav-item:hover .nav-item-underline{width:80%}}@media screen and (max-width: 480px){.navbar.scrolled{width:98%}.navbar-container{padding:0 .8rem}}.nav-item{text-decoration:none;font-size:16px;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease;position:relative}.nav-item-underline{position:absolute;bottom:0;left:50%;width:0;height:2px;transition:all .3s ease;transform:translate(-50%);opacity:0}.nav-item.active .nav-item-underline,.nav-item:hover .nav-item-underline{width:80%;opacity:1}@media screen and (max-width: 768px){.nav-item{padding:1rem;width:100%;text-align:center}}.about-section{min-height:100vh;padding:6rem 2rem}.about-container{max-width:1200px;margin:0 auto}.about-header{text-align:center;margin-bottom:4rem}.about-title{font-size:2.5rem;margin-bottom:1.5rem;font-weight:700}.about-description{font-size:1.1rem;max-width:800px;margin:0 auto;line-height:1.6}.cv-button{margin-top:2rem;padding:.8rem 2rem;font-size:1.1rem;font-weight:700;border-radius:30px;display:flex;align-items:center;gap:10px;margin:2rem auto 0}.journey-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:2rem}.journey-card{border-radius:20px;padding:2.5rem;position:relative;overflow:hidden;transform-origin:center center}.journey-year{display:inline-block;padding:.5rem 1.2rem;border-radius:25px;font-size:.9rem;font-weight:700;margin-bottom:1.2rem}.journey-title{font-size:1.4rem;margin-bottom:1rem;font-weight:700;letter-spacing:-.02em}.journey-description{font-size:1rem;line-height:1.7;margin-bottom:1rem}@media screen and (max-width: 1200px){.about-container{padding:0 1rem}.journey-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width: 1024px){.about-section{padding:5rem 1.5rem}.about-title{font-size:2.2rem}.about-description{font-size:1rem;padding:0 1rem}}@media screen and (max-width: 768px){.about-section{padding:4rem 1rem}.journey-grid{grid-template-columns:1fr;padding:1rem;gap:1.5rem}.about-header{margin-bottom:3rem}.about-title{font-size:2rem}.journey-card{padding:2rem}}@media screen and (max-width: 480px){.about-section{padding:3rem .8rem;margin-top:2rem}.about-title{font-size:1.8rem;margin-bottom:1rem}.about-description{font-size:.95rem;padding:0 .5rem}.cv-button{padding:.7rem 1.8rem;font-size:1rem}.journey-card{padding:1.8rem}.journey-title{font-size:1.2rem}.journey-description{font-size:.95rem}}@media screen and (max-width: 360px){.about-section{padding:2.5rem .5rem}.journey-grid{padding:.5rem;gap:1.2rem}.journey-card{padding:1.5rem}.cv-button{padding:.6rem 1.5rem;font-size:.95rem}}.experience-section{min-height:100vh;padding:6rem 2rem}.experience-container{max-width:1200px;margin:0 auto}.experience-title{font-size:2.5rem;margin-bottom:3rem;text-align:center;font-weight:700}.timeline-container{display:flex;flex-direction:column;gap:4rem;position:relative}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%)}.timeline-item{position:relative;width:100%;display:flex;padding-right:1rem}.timeline-item:nth-child(2n){justify-content:flex-end;padding-right:0;padding-left:1rem}.timeline-dot{position:absolute;left:50%;top:30px;width:20px;height:20px;border-radius:50%;transform:translate(-50%);z-index:2}.experience-card{width:45%;border-radius:16px;padding:2.5rem;position:relative;transition:all .3s ease}.experience-period{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.9rem;font-weight:700;margin-bottom:1.5rem}.experience-position{font-size:1.8rem;margin-bottom:.5rem;font-weight:700}.experience-company{font-size:1.2rem;margin-bottom:1.5rem;opacity:.9}.experience-description{margin-bottom:2rem;line-height:1.7;font-size:1rem}.achievements-title{margin-bottom:1rem;font-size:1.1rem;font-weight:700}.achievements-list{list-style-type:none;padding:0;margin:0 0 2rem}.achievement-item{margin-bottom:.8rem;position:relative;padding-left:20px}.tech-tags{display:flex;flex-wrap:wrap;gap:.8rem}.tech-tag{padding:.4rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;letter-spacing:.5px}@media screen and (max-width: 1200px){.experience-container{padding:0 1rem}.experience-card{padding:2rem}}@media screen and (max-width: 1024px){.experience-section{padding:5rem 1.5rem}.experience-title{font-size:2.2rem}.timeline-container{gap:3rem}}@media screen and (max-width: 768px){.experience-section{padding:4rem 1rem}.timeline-line{left:20px}.timeline-dot{left:20px;top:35px}.timeline-item,.timeline-item:nth-child(2n){justify-content:flex-start;padding-left:50px;padding-right:15px}.experience-card{width:100%;padding:1.8rem}.experience-title{font-size:2rem;margin-bottom:2.5rem}.experience-position{font-size:1.5rem}.experience-company{font-size:1.1rem}}@media screen and (max-width: 480px){.experience-section{padding:3rem .8rem}.timeline-container{gap:2.5rem}.timeline-line{left:15px}.timeline-dot{left:15px;width:16px;height:16px;top:32px}.timeline-item{padding-left:40px;padding-right:10px}.experience-card{padding:1.5rem}.experience-position{font-size:1.3rem}.experience-description{font-size:.95rem}.tech-tags{gap:.5rem}.tech-tag{padding:.3rem .8rem;font-size:.85rem}}@media screen and (max-width: 360px){.experience-section{padding:2.5rem .5rem}.timeline-item{padding-left:35px;padding-right:8px}.experience-card{padding:1.2rem}.experience-title{font-size:1.8rem;margin-bottom:2rem}.timeline-container{gap:2rem}}.skills-section{min-height:100vh;padding:6rem 2rem;position:relative;overflow:hidden}.skills-container{max-width:1200px;margin:0 auto;position:relative}.skills-title{font-size:2.5rem;margin-bottom:4rem;text-align:center;font-weight:700;position:relative}.skills-title-underline{width:120px;height:4px;margin:1rem auto 0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;padding:1rem}.skill-card{border-radius:24px;padding:2.5rem;position:relative;overflow:hidden}.category-header{margin-bottom:2rem;position:relative;z-index:1}.category-title{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.category-description{font-size:.9rem;margin-bottom:1.5rem}.skills-list{display:flex;flex-direction:column;gap:1.5rem}.skill-item{display:flex;flex-direction:column;gap:.5rem}.skill-header{display:flex;justify-content:space-between;align-items:center}.skill-name{font-size:1rem;font-weight:500}.skill-percentage{font-size:.9rem;font-weight:600}.skill-bar-container{width:100%;height:6px;border-radius:3px;position:relative;overflow:hidden}.skill-level-markers{position:absolute;height:100%;width:1px}@media screen and (max-width: 1200px){.skills-container{padding:0 1rem}.skills-grid{gap:2rem}}@media screen and (max-width: 1024px){.skills-section{padding:5rem 1.5rem}.skills-title{font-size:2.2rem;margin-bottom:3rem}.skill-card{padding:2rem}.category-title{font-size:1.6rem}}@media screen and (max-width: 768px){.skills-section{padding:4rem 1rem}.skills-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto;padding:.5rem;gap:1.5rem}.skills-title{font-size:2rem;margin-bottom:2.5rem}.category-title{font-size:1.5rem}.skill-card{padding:1.8rem}}@media screen and (max-width: 480px){.skills-section{padding:3rem .8rem}.skills-title{font-size:1.8rem;margin-bottom:2rem}.skills-grid{gap:1.2rem}.skill-card{padding:1.5rem}.category-title{font-size:1.4rem}.category-description{font-size:.85rem}.skill-name{font-size:.95rem}.skill-percentage{font-size:.85rem}.skills-list{gap:1.2rem}}@media screen and (max-width: 360px){.skills-section{padding:2.5rem .5rem}.skill-card{padding:1.2rem}.category-title{font-size:1.3rem}.skills-list{gap:1rem}}.projects-section{min-height:100vh;padding:6rem 2rem;position:relative;overflow:hidden}.projects-container{max-width:1400px;margin:0 auto;position:relative}.projects-title{font-size:2.5rem;margin-bottom:4rem;text-align:center;font-weight:700}.projects-list{display:flex;flex-direction:column;gap:8rem}.project-card{display:flex;align-items:center;gap:4rem;position:relative}.project-card.even{flex-direction:row}.project-card.odd{flex-direction:row-reverse}.project-content{flex:1;position:relative;z-index:1}.project-subtitle{display:inline-block;font-size:.9rem;font-weight:500;margin-bottom:1rem;letter-spacing:2px}.project-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.project-title{font-size:3rem;font-weight:700;line-height:1.2}.project-number{font-size:3rem;font-weight:900;opacity:.1;margin-left:auto}.project-description{background:var(--surface);padding:2rem;border-radius:20px;margin-bottom:2rem;box-shadow:0 10px 30px var(--shadow-dark);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color)}.project-description p{font-size:1.1rem;line-height:1.7}.project-tech-stack{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.tech-tag{padding:.5rem 1rem;border-radius:100px;font-size:.9rem;font-weight:500;border:1px solid var(--border-color)}.project-links{display:flex;gap:1.5rem}.project-link{display:flex;align-items:center;gap:.5rem;font-size:1rem;text-decoration:none;font-weight:500}.project-stars{display:flex;align-items:center;gap:.3rem;font-size:.9rem;padding:.4rem .8rem;border-radius:18px;width:fit-content}.project-visual{flex:1;aspect-ratio:16/9;position:relative}.project-image-container{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;overflow:hidden;border:.5px solid var(--border-color)}.project-image{width:100%;height:100%;object-fit:cover}.project-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.project-corner-decoration{position:absolute;top:20px;right:20px;width:60px;height:60px;border:2px solid;border-left:none;border-bottom:none;opacity:.7}.tech-visual-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;justify-content:center;align-items:center}.floating-elements{position:relative;width:100%;height:100%;padding:2rem}.tech-stack-visual{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;max-width:80%}.tech-item{padding:.8rem 1.5rem;border-radius:30px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.tech-dot{width:8px;height:8px;border-radius:50%;opacity:.6}@media screen and (max-width: 1200px){.projects-container{padding:0 1rem}.project-card{gap:3rem}.project-title{font-size:2.5rem}}@media screen and (max-width: 1024px){.projects-section{padding:5rem 1.5rem}.projects-list{gap:6rem}.project-card{flex-direction:column!important;gap:2rem}.project-content,.project-visual{width:100%}.project-title,.project-number{font-size:2.2rem}.project-description{padding:1.5rem}.project-description p{font-size:1rem}}@media screen and (max-width: 768px){.projects-section{padding:4rem 1rem}.projects-title{font-size:2rem;margin-bottom:3rem}.projects-list{gap:4rem}.project-header{margin-bottom:1rem}.project-title,.project-number{font-size:2rem}.tech-tag{padding:.4rem .8rem;font-size:.85rem}}@media screen and (max-width: 480px){.projects-section{padding:3rem .8rem}.projects-title{font-size:1.8rem;margin-bottom:2.5rem}.projects-list{gap:3rem}.project-title,.project-number{font-size:1.8rem}.project-description{padding:1.2rem}.project-description p{font-size:.95rem}.project-links{flex-wrap:wrap}.tech-item{padding:.6rem 1rem;font-size:.85rem}}@media screen and (max-width: 360px){.projects-section{padding:2.5rem .5rem}.project-title,.project-number{font-size:1.6rem}.project-subtitle{font-size:.8rem}.tech-tag{padding:.3rem .7rem;font-size:.8rem}}.footer{background:var(--surface);border-top:1px solid var(--border-color);padding:1.2rem}.footer-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.social-links{display:flex;gap:1.5rem}.social-link{color:var(--text-secondary);font-size:1.2rem;transition:color .2s ease}.social-link:hover{color:var(--primary)}.contact-info{display:flex;align-items:center;gap:2rem}.contact-email{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s ease}.contact-email:hover{color:var(--primary)}.contact-phone{color:var(--text-secondary);font-size:.9rem;transition:color .2s ease}.contact-phone:hover{color:var(--primary)}.contact-phone i{margin-right:8px;color:var(--primary)}.copyright{color:var(--text-secondary);font-size:.9rem;opacity:.7}@media screen and (max-width: 1200px){.footer-container{padding:0 .8rem}}@media screen and (max-width: 1024px){.contact-info{gap:1.2rem}}@media screen and (max-width: 768px){.footer-container{flex-direction:column;gap:1rem;text-align:center}.contact-info{flex-direction:column;gap:.8rem}}@media screen and (max-width: 480px){.footer{padding:1rem}.social-links{gap:1.2rem}.social-link{font-size:1.1rem}.contact-info{gap:.8rem}.contact-email,.contact-phone,.copyright{font-size:.85rem}}@media screen and (max-width: 360px){.footer{padding:.8rem}.social-links{gap:1rem}.social-link{font-size:1rem}}@media screen and (max-width: 768px){.model-3d-overlay{display:none!important}}@media screen and (max-width: 480px){.model-3d-overlay{display:none!important}}html[data-theme=light],html[data-theme=light] body,html[data-theme=light] .app{background-color:#f6f6f6}html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] .app{background-color:#262626}*{margin:0;padding:0;box-sizing:border-box;transition:background-color .3s ease,color .3s ease}html,body{margin:0;padding:0;min-height:100vh;width:100%;overflow-x:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed}a{text-decoration:none;color:inherit}button{font-family:inherit}code{font-family:Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh;width:100%;transition:background-color .3s ease;position:relative;overflow-x:hidden}:root{--on: 0;--bg: hsl(calc(200 - (var(--on) * 160)), calc((20 + (var(--on) * 50)) * 1%), calc((20 + (var(--on) * 60)) * 1%));--cord: hsl(0, 0%, calc((60 - (var(--on) * 50)) * 1%));--stroke: hsl(0, 0%, calc((60 - (var(--on) * 50)) * 1%));--shine: hsla(0, 0%, 100%, calc(.75 - (var(--on) * .5)));--cap: hsl(0, 0%, calc((40 + (var(--on) * 30)) * 1%));--filament: hsl(45, calc(var(--on) * 80%), calc((25 + (var(--on) * 75)) * 1%))}
