@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Lato:wght@300;400;500;600;700;900&display=swap);body{background:var(--bg-primary);transition:all .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--gradient);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}::selection{background:var(--primary-color);color:#fff}:focus{outline:2px solid var(--primary-color);outline-offset:2px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.btn{align-items:center;background:#2563eb;background:var(--primary-color,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn-secondary{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);color:#1e293b;color:var(--text-primary,#1e293b)}.btn-secondary:hover{background:#f8fafc;background:var(--surface-color,#f8fafc)}.fade-in{animation:fadeIn .5s ease-in}*{box-sizing:border-box;margin:0;padding:0}a:focus,button:focus,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{background-color:var(--background-color);color:var(--text-primary);font-family:var(--font-family);font-size:1rem;font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);transition:background-color .3s ease,color .3s ease}.cv-container{min-height:100vh;overflow-x:hidden;padding-top:100px;position:relative}.container{margin:0 auto;max-width:1200px;padding:0 2%;width:90%}.cv-main{font-size:1rem;margin-left:20vw;padding:2vh 0;transition:margin-left .3s ease}.cv-section{animation:fadeInUp .8s ease-out;margin-bottom:4vh;padding:4vh 0}.section-title{color:var(--text-primary);font-size:1.875rem;font-weight:700;letter-spacing:-.025em;line-height:1.15;margin-bottom:2rem;position:relative;text-align:center}.section-title:after{border-radius:2px;bottom:-.5rem;content:"";height:.25rem;left:50%;position:absolute;transform:translateX(-50%);width:4rem}.cv-header,.section-title:after{background:var(--gradient-primary)}.cv-header{box-shadow:0 2px 10px var(--shadow-color);color:#fff;left:0;padding:1.5rem 0;position:fixed;right:0;top:0;z-index:120}.header-content{align-items:center;display:flex;gap:1rem;justify-content:space-between}.sidebar-toggle{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff1a;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;min-height:48px;min-width:48px;padding:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-toggle:hover{background:#ffffff4d;box-shadow:0 4px 12px #fff3;transform:scale(1.05)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-toggle svg{transition:transform .3s ease}.sidebar-toggle:hover svg{transform:rotate(90deg)}.mobile-only{display:none}.cv-name{-webkit-text-fill-color:#0000;animation:glow 2s ease-in-out infinite alternate;background:linear-gradient(45deg,#fff,#e0e7ff);-webkit-background-clip:text;background-clip:text;cursor:pointer;font-size:2.25rem;font-weight:900;letter-spacing:-.025em;line-height:1.1;overflow:hidden;position:relative;text-shadow:0 2px 4px #0000001a;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.cv-name:before{background:linear-gradient(90deg,#0000,#fff6,#0000);height:100%;left:-100%;top:0;transition:left .6s ease}.cv-name:after,.cv-name:before{content:"";position:absolute;width:100%}.cv-name:after{animation:none;background:linear-gradient(90deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3,#54a0ff);background-size:200% 100%;bottom:-2px;height:2px;left:0;transition:all .3s ease}.cv-name:hover:before{left:100%}.cv-name:hover:after{animation:rainbowSlide 1.5s linear infinite;box-shadow:0 0 10px #ffffff80;height:3px}.cv-name:hover{filter:drop-shadow(0 0 20px rgba(255,255,255,.6));letter-spacing:1px;transform:scale(1.02) translateY(-2px)}.header-qr-codes{align-items:center;display:flex;gap:1rem}.qr-code-container{align-items:center;display:flex;flex-direction:column;gap:.25rem}.qr-code-wrapper{display:inline-block;position:relative}.qr-code{border:2px solid #ffffff4d;border-radius:8px;position:relative}.qr-code,.qr-logo{transition:all .3s cubic-bezier(.4,0,.2,1)}.qr-logo{border-radius:8px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.qr-code-wrapper:hover .qr-code,.qr-logo{opacity:0;transform:scale(.8)}.qr-code-wrapper:hover .qr-logo{opacity:1;transform:scale(1)}.qr-code:after{animation:pulse 2s infinite;border:2px solid #fff3;border-radius:12px;bottom:-4px;content:"";left:-4px;opacity:0;position:absolute;right:-4px;top:-4px}.qr-code:hover:after{opacity:1}.qr-code:hover{border-color:#fffc;box-shadow:0 8px 24px #fff3}.qr-code-wrapper:hover,.qr-code:hover{transform:scale(1.05) rotate(2deg)}.qr-code-wrapper:hover:after{animation:pulse 2s infinite;border:2px solid #fffc;border-radius:12px;bottom:-4px;box-shadow:0 8px 24px #fff3;content:"";left:-4px;position:absolute;right:-4px;top:-4px}.qr-label{color:#ffffffe6;font-size:.75rem;font-weight:500}.header-controls{align-items:center;display:flex;gap:1rem}.navigation-buttons{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:90px;width:90px}.nav-btn,.toggle-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;padding:.5rem;transition:all .3s ease;width:40px}.nav-btn:hover,.toggle-btn:hover{background:#ffffff4d;transform:scale(1.1)}.nav-btn:disabled,.toggle-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.cv-hero{align-items:center;display:flex;gap:4vw;margin-bottom:4vh;padding:4vh 0}.hero-content{flex:1 1}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes rgbGlitch{0%{text-shadow:none}10%{text-shadow:1px 0 red,-1px 0 cyan,0 1px blue}20%{text-shadow:2px -1px red,-2px 1px cyan,1px 2px blue}40%{text-shadow:-1px 1px red,1px -1px cyan,-2px 0 blue}60%{text-shadow:0 0 red,0 0 cyan,0 0 blue}80%{text-shadow:2px 1px red,-2px -1px cyan,1px -2px blue}to{text-shadow:none}}.hero-title{animation:slideInLeft 1s ease-out;background:var(--card-color);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px var(--shadow-color);color:var(--text-primary);font-size:4vw;font-weight:700;letter-spacing:3px;margin-bottom:.25rem;margin-top:2px;padding:1vw 1.5vw;position:relative;text-align:center;transition:all .3s ease}.hero-title:after{content:none}.hero-title-card{border-radius:16px;display:inline-block;margin-bottom:3vh;overflow:hidden;padding:1px;position:relative}.hero-title-card:before{animation:rgbBorder 6s ease-in-out infinite;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3,#54a0ff,#5f27cd,#00d2d3,#ff9f43,#ff6b6b);background-size:300% 300%;border-radius:16px;bottom:0;content:"";filter:blur(4px);left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity 1s ease;z-index:-1}.hero-title-card:hover:before{opacity:1}.hero-title-card:hover .hero-title{animation:slideInLeft 1s ease-out,rgbGlitch 4s infinite;box-shadow:0 12px 32px var(--shadow-color);transform:translateY(1px)}@keyframes rgbBorder{0%{background-position:0 50%}25%{background-position:100% 50%}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0 50%}}.hero-summary{color:var(--text-secondary);font-size:1.6vw;line-height:1.6;margin-bottom:2vw}.hero-contact{display:flex;flex-direction:column;gap:1vh}.contact-item{align-items:center;display:flex;font-size:1.5vw;gap:.5vw}.contact-item a{color:var(--primary-color);text-decoration:none;transition:color .3s ease}.contact-item a:hover{color:var(--secondary-color)}.hero-avatar{flex-shrink:0}.avatar-placeholder{align-items:center;animation:pulse 2s infinite;background:var(--gradient-secondary);border-radius:50%;box-shadow:0 8px 32px var(--shadow-color);display:flex;font-size:5vw;height:15vw;justify-content:center;max-height:200px;max-width:200px;width:15vw}.profile-image-container{animation:fadeIn .3s ease-in-out;cursor:pointer;left:4vw;position:fixed;top:12vw;transform:none;z-index:150}.profile-image{border:3px solid var(--primary-color);border-radius:50%;height:120px;object-fit:cover;transition:transform .3s ease;width:120px}.profile-image:hover{transform:scale(1.5)}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.certifications-grid{grid-gap:2vh 2vw;display:grid;gap:2vh 2vw;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3vh}.certification-card{background:var(--card-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px var(--shadow-color);margin-bottom:1rem;overflow:hidden;position:relative;transition:all .3s ease}.certification-card:hover{box-shadow:0 8px 32px var(--shadow-color);transform:translateY(-2px)}.certification-header{align-items:center;background:var(--surface-color);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-weight:600;gap:1rem;justify-content:space-between;outline:none;padding:1.5rem 2rem;text-align:left;transition:background-color .3s ease;width:100%}.certification-header:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.certification-header:hover{background:var(--gradient-secondary)}.certification-toggle{color:var(--primary-color);font-size:1.5rem;font-weight:700;min-width:24px;text-align:center;transition:transform .3s ease}.certification-header:hover .certification-toggle{transform:scale(1.1)}.certification-category,.platform-title{color:var(--text-primary);flex:1 1;font-size:1.25rem;font-weight:600}.certification-content,.platform-content{max-height:0;overflow:hidden;padding:0 2rem;transition:max-height .3s ease,padding .3s ease}.certification-content.open,.platform-content.open{padding:1.5rem 2rem}.certification-items{display:flex;flex-direction:column;gap:1rem}.certification-item{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.certification-item:last-child{border-bottom:none}.certification-name{color:var(--text-primary);font-size:1rem;font-weight:600}.certification-date{color:var(--text-secondary);font-size:.875rem}.category-section{margin-bottom:1.5rem}.category-section:last-child{margin-bottom:0}.category-title{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;position:relative}.course-list{list-style:none;padding-left:1rem}.course-item{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem;padding:.5rem 0;position:relative}.course-item:before{color:var(--primary-color);content:"•";font-weight:700;left:-1rem;position:absolute}.course-item:hover{color:var(--text-primary);transform:translateX(.5rem);transition:all .3s ease}.interests-grid{grid-gap:2vh 2vw;display:grid;gap:2vh 2vw;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:3vh}.interest-card{background:var(--card-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 16px var(--shadow-color);cursor:pointer;overflow:hidden;padding:2vh 2vw;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.interest-card:before{background:linear-gradient(45deg,#0000 30%,#3b82f61a 50%,#0000 70%);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s ease;width:100%}.interest-card:hover{border-color:var(--primary-color);box-shadow:0 12px 40px var(--shadow-color);transform:translateY(-8px) scale(1.02)}.interest-card:hover:before{transform:translateX(100%)}.interest-icon{font-size:2.2rem;margin-bottom:.5rem;text-align:center}.interest-title{color:var(--text-primary);font-size:1.7vw;font-weight:600;margin-bottom:.75vw}.interest-description{color:var(--text-secondary);font-size:1.4vw;line-height:1.5}@keyframes rainbowSlide{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes glow{0%{filter:drop-shadow(0 0 5px rgba(255,255,255,.3))}to{filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.cv-name:hover,.interest-card:hover,.skill-badge:hover{transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:900px){body{font-size:.94rem}.skills-section-title{font-size:1.1rem;padding:1rem}.skill-filter-btn{font-size:.94rem;padding:.5rem 1rem}.skills-category.active{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.soft-skills-category.active{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.skill-name{font-size:.8rem}.cv-sidebar{background:var(--card-color);border-radius:0 20px 20px 0;border-right:1px solid var(--border-color);box-shadow:4px 0 24px var(--shadow-color);height:70vh;left:0;max-width:80vw;overflow-y:auto;padding:2rem 1rem;position:fixed;top:50%;transform:translateX(-100%) translateY(-50%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:140}.cv-sidebar.open{transform:translateX(0) translateY(-50%)}.cv-main{margin-left:0;width:100%}.mobile-only,.sidebar-close{display:block}.sidebar-nav{margin-top:2rem}.sidebar-nav li{margin-bottom:1rem}.sidebar-nav li:first-child{animation-delay:.1s}.sidebar-nav li:nth-child(2){animation-delay:.2s}.sidebar-nav li:nth-child(3){animation-delay:.3s}.sidebar-nav li:nth-child(4){animation-delay:.4s}.sidebar-nav li:nth-child(5){animation-delay:.5s}.sidebar-nav li:nth-child(6){animation-delay:.6s}.sidebar-nav li:nth-child(7){animation-delay:.7s}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.sidebar-nav-btn{font-size:1rem;padding:1rem 1.5rem}.sidebar-nav-btn:hover{background:var(--gradient-primary);color:#fff}.sidebar-nav-btn:active{transform:scale(.98)}.container{padding:0 1rem}.hero-title{font-size:3vw}.hero-summary{font-size:1.6vw}.contact-item{font-size:1.4vw}.section-title{font-size:1.5rem}.skill-card-title{font-size:2vw}.carousel-btn{font-size:1.5rem}.skill-dot{height:12px;width:12px}.timeline-container{gap:2rem;grid-template-columns:1fr}.timeline-column-title{font-size:1.25rem}.profile-image{height:250px;width:250px}.interests-grid,.projects-grid{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.interest-title,.project-title{font-size:1.25rem}.interest-description,.project-description{font-size:1rem}.tech-tag{font-size:.875rem;padding:.5rem 1rem}}@media (max-width:600px){.skills-filters{gap:.5rem}.skill-filter-btn{font-size:.8rem;padding:.4rem .8rem}.skills-category.active{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.soft-skills-category.active{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.skill-item{padding:1rem .5rem}.cv-sidebar{max-width:100%;width:100%}.container{padding:0 .5rem;width:100%}.hero-title{font-size:2.5vw}.hero-summary{font-size:1.4vw}.section-title{font-size:1.25rem}.skill-card-title{font-size:1.7vw}.profile-image{height:60px;width:60px}.interests-grid,.projects-grid{gap:1.5rem;grid-template-columns:1fr}.interest-title,.project-title{font-size:1.125rem}.interest-description,.project-description{font-size:.875rem}.tech-tag{font-size:.8rem;padding:.25rem .75rem}.interest-icon{font-size:1.8rem}}@media (max-width:768px){.header-content{flex-wrap:wrap;gap:.5rem}.cv-name{font-size:1.5rem}.cv-hero{flex-direction:column;gap:2rem;text-align:center}.timeline-container{gap:2rem}.certifications-grid,.skills-grid,.soft-skills-grid,.timeline-container{grid-template-columns:1fr}.cv-section{padding:2rem 0}.header-qr-codes{display:none}.profile-image-container{padding:15px}.profile-image{height:150px;width:150px}}@media (max-width:480px){.container{padding:0 .5rem}.cv-section{padding:1rem 0}.hero-title{font-size:2.3vw}.section-title{font-size:1.25rem}.profile-image{height:180px;width:180px}.profile-image-container{padding:10px}.profile-image{height:120px;width:120px}}.projects-grid{grid-gap:2vh 2vw;display:grid;gap:2vh 2vw;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3vh}.project-card{background:var(--card-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px var(--shadow-color);padding:2vh 2vw;transition:all .3s ease}.project-card:hover{box-shadow:0 8px 32px var(--shadow-color);transform:translateY(-4px)}.project-title{color:var(--text-primary);font-size:1.7vw;font-weight:600;margin-bottom:.75vw}.project-description{color:var(--text-secondary);font-size:1.4vw;line-height:1.5;margin-bottom:1vw}.project-tech{display:flex;flex-wrap:wrap;gap:1vw}.tech-tag{background:var(--gradient-secondary);border:1px solid var(--border-color);border-radius:15px;color:var(--text-primary);font-size:1.3vw;font-weight:500;padding:.25vw .75vw;transition:all .3s ease}.cv-sidebar{background:var(--surface-color);border:1px solid var(--border-color);border-radius:0 20px 20px 0;box-shadow:0 8px 32px var(--shadow-color);display:flex;flex-direction:column;height:60%;justify-content:center;left:0;max-width:260px;min-width:180px;padding:2rem 1rem;position:fixed;top:50%;transform:translateY(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:18vw;z-index:110}@media (min-width:901px){.cv-sidebar{left:0}}@media (max-width:900px){.cv-sidebar{transform:translateX(-100%) translateY(-50%);z-index:140}.cv-sidebar.open{transform:translateX(0) translateY(-50%)}}.mobile-overlay{background:#0009;height:100%;left:0;opacity:0;position:fixed;top:0;transition:all .4s cubic-bezier(.25,.46,.45,.94);visibility:hidden;width:100%;z-index:130}.mobile-overlay.open{opacity:1;visibility:visible}.sidebar-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000001a;border:1px solid #0000001a;border-radius:12px;color:var(--text-primary);cursor:pointer;display:none;font-size:1.5rem;justify-content:center;min-height:48px;min-width:48px;padding:.75rem;position:absolute;right:1rem;top:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-close:hover{background:#0003;box-shadow:0 4px 12px #0003;transform:scale(1.1)}.sidebar-close:active{transform:scale(.95)}.sidebar-nav{width:100%}.sidebar-nav ul{display:flex;flex-direction:column;gap:.5rem;list-style:none}.sidebar-nav li{width:100%}.sidebar-nav-btn{align-items:center;background:#0000000d;border:none;border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:1vw;overflow:hidden;padding:1vh 1.5vw;position:relative;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1}.sidebar-nav-btn:before{background:var(--gradient-primary);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:-1}.sidebar-nav-btn:hover:before{transform:scaleX(1)}.sidebar-nav-btn:hover{color:#fff;transform:translateX(8px)}.sidebar-icon{font-size:1.3em;min-width:1.5rem;position:relative;text-align:center;z-index:2}.sidebar-label{font-weight:500;position:relative;z-index:2}.scroll-navigation{display:none}.skills-section{margin-bottom:4vh}.skills-section-title{background:var(--gradient-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin-bottom:1.5rem;overflow:hidden;padding:1rem 1.5rem;position:relative;text-align:center;transition:all .3s ease}.skills-section-title:before{background:linear-gradient(90deg,#0000,#3b82f633,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%;z-index:10}.skills-section-title:hover:before{left:100%}.skills-section-title:hover{border-color:var(--primary-color);box-shadow:0 8px 24px var(--shadow-color);transform:translateY(-2px)}.skills-filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.skill-filter-btn{background:var(--surface-color);border:2px solid var(--border-color);border-radius:25px;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.025em;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.skill-filter-btn:before{background:var(--gradient-primary);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:-1}.skill-filter-btn:hover:before{transform:scaleX(1)}.skill-filter-btn:hover{transform:translateY(-2px)}.skill-filter-btn.active,.skill-filter-btn:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb4d;color:#fff}.skill-filter-btn.active{background:var(--gradient-primary)}.skills-grid{grid-gap:2vh 2vw;display:grid;gap:2vh 2vw;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2vh}.skills-category{animation:fadeInUp .5s ease-out;display:none}.skills-category.active{grid-gap:1.5vh 1vw;display:grid;gap:1.5vh 1vw;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.skill-item{align-items:center;background:var(--card-color);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.5vh;overflow:hidden;padding:1rem .5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.skill-item:before{background:linear-gradient(45deg,#0000 30%,#3b82f61a 50%,#0000 70%);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s ease;width:100%}.skill-item:hover{border-color:var(--primary-color);box-shadow:0 8px 24px var(--shadow-color);transform:translateY(-4px) scale(1.02)}.skill-item:hover:before{transform:translateX(100%)}.skill-badge{height:20px;max-width:80px;object-fit:contain;transition:transform .3s ease;width:100%}.skill-item:hover .skill-badge{transform:scale(1.1)}.skill-name{font-size:.8rem}.skill-item.programming-language .skill-name,.skill-name{display:none}.skill-item.programming-language{padding:1vh .5vw}.skill-item.programming-language .skill-badge{height:20px;max-width:80px}.soft-skills-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2vh}.soft-skills-category{animation:fadeInUp .5s ease-out;display:none}.soft-skills-category.active{grid-gap:1.5vh 1vw;display:grid;gap:1.5vh 1vw;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.soft-skills-grid{grid-gap:2vh 2vw;display:grid;gap:2vh 2vw;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:3vh}.soft-skill-category{background:var(--card-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px var(--shadow-color);padding:2vh 2vw;transition:all .3s ease}.soft-skill-category:hover{box-shadow:0 8px 32px var(--shadow-color);transform:translateY(-4px)}.soft-skill-category-title{border-bottom:2px solid var(--secondary-color);color:var(--text-primary);font-size:1.7vw;font-weight:600;margin-bottom:1vw;padding-bottom:.5vw}.soft-skill-tags{display:flex;flex-wrap:wrap;gap:1vw}.soft-skill-tag{background:var(--gradient-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);font-size:1.4vw;font-weight:500;padding:.5vw 1vw;transition:transform .3s ease}.soft-skill-tag:hover{background:var(--gradient-primary);color:#fff;transform:scale(1.05)}.timeline-container{grid-gap:4vw;display:grid;gap:4vw;grid-template-columns:1fr 1fr;margin-top:3vh}.timeline-column{position:relative}.timeline-column:before{background:var(--gradient-primary);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.timeline-column-title{background:var(--gradient-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:1.5vw;overflow:hidden;padding:1vw;position:relative;text-align:center;transition:all .3s ease}.timeline-column-title:before{background:linear-gradient(45deg,#2563eb1a,#3b82f61a,#60a5fa1a);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.timeline-column-title:after{background:var(--gradient-primary);bottom:0;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.timeline-column-title:hover:before{opacity:1}.timeline-column-title:hover:after{transform:scaleX(1)}.timeline-column-title:hover{border-color:var(--primary-color);box-shadow:0 8px 24px var(--shadow-color);transform:translateY(-2px)}.timeline-card{background:var(--card-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px var(--shadow-color);margin-bottom:2vh;overflow:hidden;position:relative;transition:all .3s ease;z-index:20}.timeline-card:before{background:var(--primary-color);border:3px solid var(--background-color);border-radius:50%;box-shadow:0 0 0 2px var(--primary-color);content:"";height:1vw;left:-1vw;position:absolute;top:50%;transform:translateY(-50%);width:1vw}.timeline-card:nth-child(2n):before{left:auto;right:-1vw}.timeline-card:hover{box-shadow:0 8px 32px var(--shadow-color);transform:translateY(-2px)}.timeline-header{align-items:center;background:var(--surface-color);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-weight:600;gap:1vw;justify-content:space-between;outline:none;padding:2vh 2vw;text-align:left;transition:background-color .3s ease;width:100%}.timeline-header:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.timeline-header:hover{background:var(--gradient-secondary)}.timeline-toggle{color:var(--primary-color);font-size:1.5rem;font-weight:700;min-width:24px;text-align:center;transition:transform .3s ease}.timeline-header:hover .timeline-toggle{transform:scale(1.1)}.timeline-title{color:var(--text-primary);flex:1 1;font-size:1.1rem;font-weight:600}.timeline-date{background:var(--surface-color);border:1px solid #2563eb33;border-radius:12px;color:var(--primary-color);font-size:.875rem;font-weight:500;padding:.25rem .75rem;white-space:nowrap}.timeline-content{max-height:0;overflow:hidden;padding:0 2vw;transition:max-height .3s ease,padding .3s ease}.timeline-content.open{max-height:none;padding:2vh 2vw}.timeline-company{color:var(--primary-color);font-size:.875rem;font-weight:500;margin-bottom:1vh}.timeline-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:1rem}:root{--primary-color:#3b82f6;--secondary-color:#8b5cf6;--accent-color:#06b6d4;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--font-family:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--background-color:#fff;--surface-color:#f1f5f9;--card-color:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#64748b;--border-color:#e2e8f0;--shadow-color:#0000001a;--gradient-primary:linear-gradient(135deg,#3b82f6,#06b6d4);--gradient-secondary:linear-gradient(135deg,#84b1ff,#b1fbff);--gradient-accent:linear-gradient(135deg,#4facfe,#00f2fe)}[data-theme=dark]{--primary-color:#3b82f6;--secondary-color:#60a5fa;--accent-color:#60a5fa;--background-color:#0f172a;--surface-color:#1e293b;--card-color:#334155;--text-primary:#f1f5f9;--text-secondary:#e2e8f0;--text-muted:#94a3b8;--border-color:#475569;--shadow-color:#0000004d;--gradient-primary:linear-gradient(135deg,#3b82f6,#60a5fa);--gradient-secondary:linear-gradient(135deg,#1e40af,#3b82f6);--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444}
/*# sourceMappingURL=main.d652eb33.css.map*/