:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#de52c3;text-decoration:inherit}a:hover{color:#de52c3}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#de52c3}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#de52c3}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}button{border:none;background:none;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;font-family:inherit}button:focus,button:focus-visible{outline:none}a{outline:none}body{font-family:-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;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit}a{color:inherit;text-decoration:none}.app{width:100%;overflow-x:hidden}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1)}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{height:40px;width:auto;object-fit:contain}.nav-links{display:flex;gap:2rem;align-items:center}.nav-link{background:none;border:none;font-size:.95rem;color:#1f2937;cursor:pointer;padding:.5rem .75rem;border-radius:.375rem;transition:all .3s ease;position:relative}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#de52c3;transition:width .3s ease}.nav-link:hover{color:#de52c3}.nav-link:hover:after{width:100%}.nav-link.active{color:#de52c3;font-weight:600}.nav-link.active:after{width:100%}.language-toggle{background:#de52c3;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.language-toggle:hover{background:#de52c3;transform:scale(1.05)}@media (max-width: 768px){.nav-container{padding:.75rem 1rem}.nav-links{gap:.5rem;display:none}.nav-logo{font-size:1.25rem}.language-toggle{padding:.4rem .75rem;font-size:.75rem}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;margin-top:60px;background:linear-gradient(135deg,#1f2937,#111827);animation:fadeInUp .8s ease-out}.hero-inner{max-width:1200px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-content{animation:fadeInUp .8s ease-out .2s both;text-align:left}.hero-title{font-size:3.5rem;font-weight:700;color:#de52c3;margin-bottom:.5rem;letter-spacing:-.02em}.hero-subtitle{font-size:1.25rem;color:#f0f0f0;margin-bottom:1.5rem;font-weight:400}.typewriter-wrapper{min-height:180px;margin-bottom:2rem}.typewriter-text{font-size:1rem;line-height:1.8;color:#f0f0f0;margin:0;font-family:Courier New,monospace;font-weight:400;white-space:pre-wrap;word-wrap:break-word}.cursor{display:inline-block;width:2px;height:1.2em;background:#de52c3;margin-left:2px;animation:blink .7s infinite}@keyframes blink{0%,49%{background:#de52c3}50%,to{background:transparent}}.hero-image{animation:fadeInUp .8s ease-out .4s both;display:flex;justify-content:center}.hero-img{width:100%;max-width:400px;height:auto;border-radius:.75rem;box-shadow:0 20px 50px #de52c333;object-fit:cover}.hero-cta{background:#de52c3;color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;border-radius:.375rem;cursor:pointer;transition:all .3s ease;font-weight:600;display:inline-block}.hero-cta:hover{background:#de52c3;transform:translateY(-2px);box-shadow:0 10px 25px #de52c34d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.hero-inner{grid-template-columns:1fr;gap:2rem}.hero-content{text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-img{max-width:300px}}@media (max-width: 768px){.hero{min-height:auto;padding:2rem 1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.typewriter-wrapper{min-height:150px}.typewriter-text{font-size:.9rem}.hero-img{max-width:250px}}.experience-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(135deg,#fff,#f9fafb);animation:fadeIn .8s ease-out}.experience-container{max-width:1000px;width:100%}.unified-timeline{display:none;position:relative;padding:2rem 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#de52c3,#7c3aed 50% 100%);transform:translate(-50%)}.timeline-items{display:flex;flex-direction:column;gap:2.5rem;position:relative}.timeline-item{display:grid;grid-template-columns:1fr 40px 1fr;gap:2rem;align-items:flex-start;position:relative;pointer-events:none}.timeline-dot,.timeline-content{pointer-events:auto}.timeline-dot{position:absolute;left:50%;top:15px;width:14px;height:14px;border:3px solid white;border-radius:50%;transform:translate(-50%);transition:width .4s ease-out,height .4s ease-out,top .4s ease-out,box-shadow .4s ease-out;cursor:pointer;z-index:10;box-shadow:0 0 0 3px #de52c31a}.timeline-dot.experience-dot{background:#de52c3}.timeline-dot.education-dot{background:#7c3aed}.timeline-dot.active{width:20px;height:20px;top:12px}.timeline-item.experience .timeline-dot.active{box-shadow:0 0 0 6px #de52c333}.timeline-item.education .timeline-dot.active{box-shadow:0 0 0 6px #7c3aed33}.timeline-content{padding:1rem 1.25rem;background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;transition:box-shadow .4s ease-out;overflow:visible;cursor:pointer}.timeline-content.left{grid-column:1}.timeline-content.right{grid-column:3}.timeline-content.active{box-shadow:0 8px 20px #de52c326;max-height:1000px;padding-bottom:1.5rem}.timeline-item.education .timeline-content.active{box-shadow:0 8px 20px #7c3aed26}.timeline-year{font-size:1rem;font-weight:700;margin-bottom:.35rem}.timeline-item.experience .timeline-year{color:#de52c3}.timeline-item.education .timeline-year{color:#7c3aed}.timeline-info{display:flex;flex-direction:column;gap:.35rem}.timeline-title{font-size:.95rem;font-weight:700;color:#1f2937;margin:0}.timeline-school,.timeline-company{font-size:.85rem;font-weight:600;margin:0}.timeline-item.education .timeline-school{color:#7c3aed}.timeline-item.experience .timeline-company{color:#de52c3}.timeline-specialty{font-size:.75rem;color:#6b7280;margin:0;font-style:italic}.timeline-period,.timeline-location{font-size:.75rem;color:#6b7280;margin:0}.timeline-grade{font-size:.75rem;color:#7c3aed;margin:0;font-weight:600}.timeline-hover-content{display:none;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb;opacity:0;transition:opacity .7s ease-in-out}.timeline-content.active .timeline-hover-content{display:block;opacity:1}.timeline-description{font-size:.8rem;color:#6b7280;line-height:1.4;margin:0 0 .5rem}.timeline-technologies{display:flex;flex-wrap:wrap;gap:.35rem}.tech-tag{display:inline-block;background:#f3f4f6;color:#de52c3;padding:.2rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600}.timeline-item.education .tech-tag{color:#7c3aed}.experience-timeline-mobile{display:flex;flex-direction:column;gap:2rem}.experience-item{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.experience-item:last-child{border-bottom:none}.experience-year{font-size:1.25rem;font-weight:600}.experience-item.experience .experience-year{color:#de52c3}.experience-item.education .experience-year{color:#7c3aed}.experience-content{display:flex;flex-direction:column;gap:.35rem}.experience-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0}.experience-company{font-size:.9rem;font-weight:600;margin:0}.experience-item.education .experience-company{color:#7c3aed}.experience-item.experience .experience-company{color:#de52c3}.experience-specialty{font-size:.8rem;color:#6b7280;margin:0;font-style:italic}.experience-period,.experience-location{font-size:.8rem;color:#6b7280;margin:0}.experience-grade{font-size:.8rem;color:#7c3aed;margin:0;font-weight:600}.experience-description{font-size:.9rem;color:#6b7280;line-height:1.5;margin:.35rem 0}.experience-technologies{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.tech-badge{display:inline-block;background:#f3f4f6;padding:.25rem .6rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.experience-item.experience .tech-badge{color:#de52c3}.experience-item.education .tech-badge{color:#7c3aed}.view-more-button{display:block;margin:3rem auto 0;padding:.75rem 2rem;background:#de52c3;color:#fff;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;animation:fadeInUp .8s ease-out .5s both}.view-more-button:hover{background:#de52c3;transform:translateY(-2px);box-shadow:0 10px 25px #de52c34d}.view-more-button-mobile{display:none}@media (min-width: 1024px){.unified-timeline{display:block}.experience-timeline-mobile{display:none}}@media (max-width: 1023px){.unified-timeline{display:none}.experience-timeline-mobile{display:flex}.view-more-button{display:none}.view-more-button-mobile{display:block;margin:2rem auto 0;padding:.75rem 2rem;background:#de52c3;color:#fff;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;animation:fadeInUp .8s ease-out .5s both}.view-more-button-mobile:hover{background:#de52c3;transform:translateY(-2px);box-shadow:0 10px 25px #de52c34d}}@media (max-width: 768px){.experience-section{min-height:auto;padding:3rem 1rem}.section-title-light{font-size:2rem}.experience-item{grid-template-columns:70px 1fr;gap:1rem}.experience-year{font-size:1.1rem}}.skills-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);animation:fadeIn .8s ease-out}.skills-container{max-width:1200px;width:100%}.section-title-dark{font-size:2.5rem;font-weight:700;color:#de52c3;margin-bottom:3rem;letter-spacing:-.02em;text-align:center}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem}.skill-group-wrapper{background:#fff;padding:2rem;border-radius:.75rem;box-shadow:0 2px 12px #00000014}.skill-group-title{font-size:.875rem;font-weight:700;color:#de52c3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;margin-top:0}.skills-list{display:flex;flex-direction:column;gap:1.25rem}.skill-item{display:flex;flex-direction:column;gap:.5rem}.skill-name{display:block;font-size:.95rem;font-weight:600;color:#1f2937}.skill-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;position:relative}.skill-progress{height:100%;background:linear-gradient(90deg,#de52c3 0% 100%);border-radius:3px;transition:width .5s ease-out;width:0%}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.skill-group-wrapper{padding:1.5rem}}@media (max-width: 768px){.skills-section{min-height:auto;padding:3rem 1rem}.section-title-dark{font-size:2rem}.skills-grid{grid-template-columns:1fr;gap:1.5rem}.skill-group-wrapper{padding:1.25rem}.skills-list{gap:1rem}.skill-name{font-size:.9rem}}.portfolio-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(135deg,#fff,#f9fafb);animation:fadeIn .8s ease-out}.portfolio-container{max-width:1200px;width:100%}.section-title-light{font-size:2.5rem;font-weight:700;color:#de52c3;margin-bottom:3rem;letter-spacing:-.02em;text-align:center}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.portfolio-card{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;text-decoration:none;color:inherit}.portfolio-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #de52c333}.portfolio-image{width:100%;height:200px;transition:transform .3s ease}.portfolio-card:hover .portfolio-image{transform:scale(1.05)}.portfolio-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.portfolio-title{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0}.portfolio-description{font-size:.95rem;color:#6b7280;line-height:1.6;margin:0;flex:1}.portfolio-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.tech-badge{display:inline-block;background:#f3f4f6;color:#de52c3;padding:.35rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.portfolio-section{min-height:auto;padding:3rem 1rem}.section-title-light{font-size:2rem}.portfolio-grid{grid-template-columns:1fr}}.contact-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(135deg,#1f2937,#111827);animation:fadeIn .8s ease-out}.contact-container{max-width:1200px;width:100%}.contact-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:3rem;letter-spacing:-.02em;text-align:center}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;animation:fadeIn .8s ease-out .2s both}.contact-image{display:flex;justify-content:center}.contact-image-placeholder{width:300px;height:300px;background:linear-gradient(135deg,#de52c3 0% 100%);border-radius:.75rem;box-shadow:0 20px 50px #de52c34d}.contact-img{width:300px;height:300px;border-radius:.75rem;box-shadow:0 20px 50px #de52c34d;object-fit:cover;display:block}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-email{margin:0}.contact-email a{font-size:1.5rem;font-weight:600;color:#fff;text-decoration:none;transition:color .3s ease}.contact-email a:hover{color:#de52c3}.contact-cv{display:inline-block;background:#de52c3;color:#fff;padding:.75rem 2rem;border-radius:.375rem;text-decoration:none;font-weight:600;transition:all .3s ease;width:fit-content}.contact-cv:hover{background:#f0f0f0;box-shadow:0 10px 25px #de52c34d}.contact-links{display:flex;gap:1rem}.social-link{display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border:2px solid #de52c3;border-radius:50%;color:#de52c3;transition:all .3s ease;text-decoration:none}.social-link:hover{background:#de52c3;color:#fff}@media (max-width: 768px){.contact-section{min-height:auto;padding:3rem 1rem}.contact-title{font-size:2rem}.contact-content{grid-template-columns:1fr;gap:2rem}.contact-image-placeholder{width:200px;height:200px}.contact-email a{font-size:1.25rem}}
