:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app-wrapper{position:relative;min-height:100vh}.control-buttons{position:fixed;top:2rem;right:2rem;z-index:1001;display:flex;gap:1rem}.control-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.2rem 2rem;border-radius:2.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 .4rem 1.5rem #667eea66}.control-btn:hover{transform:translateY(-.2rem);box-shadow:0 .6rem 2rem #667eea99}.control-btn:active{transform:translateY(0)}.control-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.control-btn:disabled:hover{transform:none;box-shadow:0 .4rem 1.5rem #667eea66}.pdf-btn{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 .4rem 1.5rem #28a74566}.pdf-btn:hover{box-shadow:0 .6rem 2rem #28a74599}.pdf-btn:disabled:hover{box-shadow:0 .4rem 1.5rem #28a74566}.loading-spinner{display:inline-block;margin-right:.5rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cv-container{max-width:85%;margin:2% auto;background:#fff;box-shadow:0 2rem 4rem #0000001a;border-radius:2rem;overflow:hidden;position:relative}.cv-navigation{position:fixed;top:0;left:0;height:100vh;width:6rem;background:linear-gradient(135deg,#667eea,#764ba2);z-index:1000;transition:width .3s ease;overflow:hidden;box-shadow:.2rem 0 2rem #0000001a}.cv-navigation:hover{width:28rem}.nav-trigger{position:absolute;top:2rem;left:0;width:6rem;height:6rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;cursor:pointer;transition:all .3s ease}.nav-trigger:hover{background:#ffffff1a;border-radius:0 1rem 1rem 0}.nav-content{position:absolute;top:0;left:0;width:28rem;height:100%;padding:2rem;opacity:0;transform:translate(-2rem);transition:all .3s ease}.cv-navigation:hover .nav-content{opacity:1;transform:translate(0)}@media (min-width: 769px){.mobile-overlay{display:none!important}.nav-trigger{position:absolute!important;top:2rem!important;left:0!important;width:6rem!important;height:6rem!important;background:none!important;border-radius:0!important;box-shadow:none!important;transform:none!important;z-index:auto!important}.nav-trigger:hover{background:#ffffff1a!important;border-radius:0 1rem 1rem 0!important;transform:none!important;box-shadow:none!important}.nav-trigger.active{background:#ffffff1a!important;transform:none!important}}.nav-header{margin-bottom:3rem;padding-top:2rem}.nav-header h3{color:#fff;font-size:1.8rem;font-weight:600;text-align:center}.nav-list{list-style:none;padding:0;margin:0}.nav-item{margin-bottom:.5rem}.nav-link{display:flex;align-items:center;width:100%;padding:1.2rem 1.5rem;background:none;border:none;color:#fff;cursor:pointer;border-radius:1rem;transition:all .3s ease;text-align:left;gap:1.5rem}.nav-link:hover{background:#ffffff1a;transform:translate(.5rem)}.nav-item.active .nav-link{background:#fff3;box-shadow:0 .5rem 1rem #0000001a}.nav-icon{font-size:1.5rem;min-width:2rem;text-align:center}.nav-label{font-size:1.1rem;font-weight:500;white-space:nowrap}.cv-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8% 5%;text-align:center}.profile-section{display:flex;align-items:center;justify-content:center;gap:5%;flex-wrap:wrap}.profile-photo{flex-shrink:0}.profile-photo img{width:22rem;height:22rem;border-radius:50%;border:.6rem solid rgba(255,255,255,.3);object-fit:cover;transition:transform .3s ease}.profile-photo img:hover{transform:scale(1.05)}.profile-info{text-align:left;max-width:60%}.name{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:.2rem .2rem .4rem rgba(0,0,0,.3)}.title{font-size:1.5rem;font-weight:400;margin-bottom:3rem;opacity:.9}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(25rem,1fr));gap:1.5rem}.contact-item{display:flex;align-items:center;gap:1rem;font-size:1rem;transition:all .3s ease}.contact-item.clickable{cursor:pointer;border-radius:1rem;padding:.5rem;transition:all .3s ease}.contact-item.clickable:hover{background:#ffffff1a;transform:translateY(-.1rem)}.icon{font-size:1.2rem;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%}.cv-section{padding:6% 5%;border-bottom:.1rem solid #eee}.cv-section:last-child{border-bottom:none}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:4rem;text-align:center;color:#333;position:relative}.section-title:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:8rem;height:.4rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:.2rem}.about-text{font-size:1.2rem;text-align:center;max-width:80%;margin:0 auto;color:#666;line-height:1.8}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(30rem,1fr));gap:4rem;margin-top:4rem}.skill-category{background:#f8f9fa;padding:3rem;border-radius:1.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.skill-category:hover{transform:translateY(-.5rem);box-shadow:0 1.5rem 3rem #0000001a}.skill-category h4{font-size:1.5rem;margin-bottom:2rem;color:#333}.skill-tags{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.skill-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.8rem 1.6rem;border-radius:2rem;font-size:.9rem;font-weight:500;transition:transform .3s ease}.skill-tag:hover{transform:scale(1.05)}.timeline{position:relative;max-width:80rem;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);top:0;bottom:0;width:.4rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:.2rem}.timeline-item{position:relative;margin-bottom:5rem}.timeline-item:nth-child(odd) .timeline-content{left:0;padding-right:5rem}.timeline-item:nth-child(2n) .timeline-content{right:0;padding-left:5rem}.timeline-marker{position:absolute;left:50%;transform:translate(-50%);width:2rem;height:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;border:.4rem solid white;box-shadow:0 0 0 .4rem #667eea;z-index:1}.timeline-content{position:relative;background:#fff;padding:3rem;border-radius:1.5rem;box-shadow:0 1rem 3rem #0000001a;width:calc(50% - 3rem);transition:transform .3s ease}.timeline-content:hover{transform:translateY(-.5rem)}.timeline-item.clickable .timeline-content{transition:all .3s ease;border:.2rem solid transparent}.timeline-item.clickable:hover .timeline-content{border-color:#667eea;box-shadow:0 1.5rem 4rem #667eea33;transform:translateY(-.8rem)}.timeline-item.clickable:hover .timeline-marker{transform:translate(-50%) scale(1.2);box-shadow:0 0 0 .6rem #667eea4d}.experience-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.experience-header.no-logo{gap:0}.experience-header.no-logo .experience-info{padding-left:0}.company-logo{width:5rem;height:5rem;border-radius:.8rem;object-fit:contain;background:#f8f9fa;padding:.5rem;border:.1rem solid #e9ecef;flex-shrink:0}.experience-info{flex:1}.timeline-content h4{font-size:1.5rem;margin-bottom:.5rem;color:#333}.company{color:#667eea;font-weight:600;margin-bottom:1.5rem}.responsibilities{list-style:none;padding:0}.responsibilities li{margin-bottom:1rem;position:relative;padding-left:2rem;color:#666}.responsibilities li:before{content:"✓";position:absolute;left:0;color:#667eea;font-weight:700}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(35rem,1fr));gap:3rem;margin-top:4rem}.education-item{text-align:center;background:#f8f9fa;padding:3rem;border-radius:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.education-item:hover{transform:translateY(-.5rem);box-shadow:0 1.5rem 3rem #0000001a}.education-item h4{font-size:1.8rem;margin-bottom:1rem;color:#333}.institution{color:#667eea;font-weight:600;margin-bottom:1rem;font-size:1.1rem}.period{color:#888;font-weight:500;margin-bottom:1rem;font-size:1rem}.degree{color:#666;font-size:1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(35rem,1fr));gap:3rem;margin-top:4rem}.project-card{background:#fff;border-radius:1.5rem;padding:3rem;box-shadow:0 1rem 3rem #0000001a;transition:transform .3s ease,box-shadow .3s ease;border:.1rem solid #eee;position:relative}.project-card:hover{transform:translateY(-1rem);box-shadow:0 2rem 4rem #00000026}.project-status-badge{position:absolute;top:1.5rem;right:1.5rem;background:#28a745;color:#fff;padding:.4rem .8rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 .2rem .5rem #28a7454d;z-index:1}.project-card h4{font-size:1.5rem;margin-bottom:1.5rem;color:#333;padding-right:8rem}.project-description{color:#666;line-height:1.6;margin-bottom:2rem}.project-tech{display:flex;flex-wrap:wrap;gap:.8rem}.tech-tag{background:#f8f9fa;color:#667eea;padding:.6rem 1.2rem;border-radius:1.5rem;font-size:.85rem;font-weight:500;border:.1rem solid #e9ecef}.organizations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(35rem,1fr));gap:3rem;margin-top:4rem}.organization-card{background:#fff;border-radius:1.5rem;padding:3rem;box-shadow:0 1rem 3rem #0000001a;transition:transform .3s ease,box-shadow .3s ease;border:.1rem solid #eee;text-align:center}.organization-card:hover{transform:translateY(-1rem);box-shadow:0 2rem 4rem #00000026}.organization-card h4{font-size:1.3rem;margin-bottom:1.5rem;color:#333}.organization-name{color:#667eea;font-weight:600;margin-bottom:1rem;font-size:1.1rem}.organization-period{color:#888;font-weight:500;margin-bottom:1.5rem;font-size:1rem}.organization-description{color:#666;line-height:1.6;font-size:.95rem}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(25rem,1fr));gap:3rem;margin-top:4rem}.contact-card{background:#fff;padding:3rem;border-radius:1.5rem;text-align:center;box-shadow:0 1rem 3rem #0000001a;transition:transform .3s ease;border:.1rem solid #eee}.contact-card:hover{transform:translateY(-.5rem)}.contact-card.clickable{cursor:pointer}.contact-card.clickable:hover{transform:translateY(-.8rem);box-shadow:0 1.5rem 3rem #00000026}.contact-icon{font-size:2.5rem;margin-bottom:1.5rem;display:block}.contact-card h4{font-size:1.2rem;margin-bottom:1rem;color:#333}.contact-card p{color:#666;font-size:1rem}.cv-footer{background:#f8f9fa;padding:3rem;text-align:center;color:#666;font-size:.9rem}@media print{.cv-navigation,.control-buttons{display:none!important}.cv-container{max-width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important}.cv-section,.timeline-content,.project-card{page-break-inside:avoid}}@media (max-width: 1024px){.cv-container{max-width:94%;margin:1.5rem auto;border-radius:1.5rem}.section-title{font-size:2.2rem}.profile-photo img{width:20rem;height:20rem}.name{font-size:2.7rem}.title{font-size:1.3rem}.timeline:before{left:2rem}.timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(2n) .timeline-content{width:calc(100% - 6rem);left:4rem;right:auto;padding:2rem}.skills-grid,.projects-grid,.education-grid,.organizations-grid,.contact-grid{grid-template-columns:1fr}.control-buttons{top:1.2rem;right:1.2rem;gap:.8rem}}@media (max-width: 768px){.cv-container{max-width:95%;margin:1rem;border-radius:1rem}.control-buttons{top:1rem;right:1rem;flex-direction:column;gap:.5rem}.control-btn{padding:.8rem 1.6rem;font-size:.9rem}.cv-navigation{width:0;height:100vh;position:fixed;top:0;left:0;background:linear-gradient(135deg,#667eea,#764ba2);z-index:1002;transition:width .3s ease;overflow:hidden}.cv-navigation.mobile-open{width:75%;box-shadow:.5rem 0 2rem #0000004d}.cv-navigation:hover{width:0}.cv-navigation.mobile-open:hover{width:75%}.nav-content{width:100%;padding:2rem;opacity:0;transform:translate(-100%);transition:all .3s ease}.cv-navigation.mobile-open .nav-content{opacity:1;transform:translate(0)}.nav-trigger{position:fixed;top:1rem;left:1rem;width:5rem;height:5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;cursor:pointer;z-index:1003;box-shadow:0 .5rem 1.5rem #667eea66;transition:all .3s ease}.nav-trigger:hover{transform:scale(1.1);box-shadow:0 .8rem 2rem #667eea99}.nav-trigger.active{background:linear-gradient(135deg,#dc3545,#c82333);transform:rotate(45deg)}.nav-header h3{font-size:1.5rem;margin-bottom:2rem}.nav-link{padding:1rem 1.5rem;margin-bottom:.5rem;border-radius:1rem;gap:1rem}.nav-label{font-size:1rem}.mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1001;opacity:0;visibility:hidden;transition:all .3s ease}.mobile-overlay.open{opacity:1;visibility:visible}.cv-header{padding:5% 3%}.profile-section{flex-direction:column;text-align:center}.profile-info{text-align:center;max-width:100%}.profile-photo img{width:18rem;height:18rem}.name{font-size:2.5rem}.title{font-size:1.3rem}.contact-info{grid-template-columns:1fr}.cv-section{padding:5% 3%}.section-title{font-size:2rem}.skills-grid{grid-template-columns:1fr}.timeline:before{left:2rem}.timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(2n) .timeline-content{width:calc(100% - 6rem);left:4rem;padding:2rem}.timeline-marker{left:2rem}.company-logo{width:4rem;height:4rem}.projects-grid{grid-template-columns:1fr}.project-card{padding:2rem}.project-status-badge{top:1rem;right:1rem;font-size:.7rem;padding:.3rem .6rem}.project-card h4{font-size:1.3rem;padding-right:6rem}.education-grid,.organizations-grid,.contact-grid{grid-template-columns:1fr}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.cv-section{animation:fadeInUp .6s ease-out}
