*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: rgba(255, 255, 255, .05);--bg-hover: rgba(255, 255, 255, .08);--text-primary: #ffffff;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-muted: #64748b;--border-primary: rgba(255, 255, 255, .1);--border-secondary: rgba(255, 255, 255, .2);--border-accent: rgba(102, 126, 234, .3);--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .4);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-bg: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);--orb-opacity: .3;color-scheme:dark}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: rgba(100, 116, 139, .08);--bg-hover: rgba(100, 116, 139, .12);--text-primary: #0f172a;--text-secondary: #334155;--text-tertiary: #475569;--text-muted: #64748b;--border-primary: rgba(100, 116, 139, .2);--border-secondary: rgba(100, 116, 139, .3);--border-accent: rgba(102, 126, 234, .5);--shadow-sm: rgba(100, 116, 139, .15);--shadow-md: rgba(100, 116, 139, .25);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-bg: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--orb-opacity: .15;color-scheme:light}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;transition:background-color .3s ease,color .3s ease}#root{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#764ba2,#667eea)}.app{min-height:100vh;background:var(--bg-primary);transition:background-color .3s ease}*{scroll-behavior:smooth}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0f172acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}[data-theme=light] .header{background:#fffc}.header.scrolled{background:#0f172af2;box-shadow:0 4px 20px var(--shadow-sm)}[data-theme=light] .header.scrolled{background:#fffffff2}.header-container{max-width:1200px;margin:0 auto;padding:1.2rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.2rem}.logo-icon{width:40px;height:40px;object-fit:contain;margin-right:.5rem}.nav{display:flex;gap:.5rem}.nav-item{padding:.6rem 1.2rem;background:none;border:none;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .3s ease;position:relative}.nav-item:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%) scaleX(0);width:80%;height:2px;background:var(--gradient-primary);transition:transform .3s ease}.nav-item:hover,.nav-item.active{color:var(--text-primary)}.nav-item.active:before{transform:translate(-50%) scaleX(1)}.mobile-menu-button{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}.mobile-menu-button span{width:25px;height:3px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}@media(max-width:768px){.header-container{padding:1rem 1.5rem}.mobile-menu-button{display:flex}.nav{position:fixed;top:70px;right:-100%;flex-direction:column;background:#0f172afa;padding:2rem;border-radius:12px 0 0 12px;box-shadow:-4px 0 20px var(--shadow-sm);transition:right .3s ease;min-width:200px}[data-theme=light] .nav{background:#fffffffa}.nav.mobile-open{right:0}.nav-item{width:100%;text-align:left}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:6rem 2rem 4rem}.hero-background{position:absolute;inset:0;z-index:-1}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:var(--orb-opacity);animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:linear-gradient(135deg,#667eea,#764ba2);top:-10%;right:-10%;animation-delay:0s}.orb-2{width:400px;height:400px;background:linear-gradient(135deg,#f093fb,#f5576c);bottom:-5%;left:-5%;animation-delay:7s}.orb-3{width:350px;height:350px;background:linear-gradient(135deg,#4facfe,#00f2fe);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:14s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.hero-content{max-width:1200px;width:100%;display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center;opacity:0;transform:translateY(30px);transition:all 1s ease}.hero-content.visible{opacity:1;transform:translateY(0)}.hero-greeting{color:#667eea;font-size:1.2rem;font-weight:500;margin-bottom:.5rem;animation:fadeInUp .8s ease .2s both}.hero-name{font-size:3.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;animation:fadeInUp .8s ease .4s both}.hero-title-container{height:3rem;margin-bottom:1.5rem;overflow:hidden}.hero-title{font-size:2rem;font-weight:600;color:#fbbf24;animation:fadeInUp .8s ease .6s both,slideUp .5s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.hero-description{font-size:1.1rem;line-height:1.8;color:var(--text-tertiary);margin-bottom:2rem;animation:fadeInUp .8s ease .8s both}.hero-skills{display:flex;margin-bottom:.1rem;animation:fadeInUp .8s ease .9s both}.hero-skill-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;font-size:1.8rem;transition:all .3s ease;animation:wave 2s ease-in-out infinite}.hero-skill-icon:nth-child(1){animation-delay:0s}.hero-skill-icon:nth-child(2){animation-delay:.1s}.hero-skill-icon:nth-child(3){animation-delay:.2s}.hero-skill-icon:nth-child(4){animation-delay:.3s}.hero-skill-icon:nth-child(5){animation-delay:.4s}.hero-skill-icon:nth-child(6){animation-delay:.5s}.hero-skill-icon:nth-child(7){animation-delay:.6s}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-skill-icon:hover{transform:scale(1.2)}.hero-buttons{display:flex;gap:1rem;margin-bottom:2.5rem;animation:fadeInUp .8s ease 1s both}.btn{padding:.9rem 2rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.btn-secondary{background:#667eea1a;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#667eea33;transform:translateY(-2px)}.hero-links{display:flex;gap:1rem;animation:fadeInUp .8s ease 1.2s both}.hero-link{width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border-radius:10px;color:#667eea;transition:all .3s ease;border:1px solid rgba(102,126,234,.2)}.hero-link:hover{background:var(--gradient-primary);color:#fff;transform:translateY(-3px);box-shadow:0 5px 15px #667eea66}.hero-link svg{width:22px;height:22px}.hero-link-linkedin{background:#0a66c21a;border-color:#0a66c24d;color:#0a66c2}.hero-link-linkedin:hover{background:#0a66c2;color:#fff;box-shadow:0 5px 15px #0a66c280}.hero-link-github{background:#24292f1a;border-color:#24292f4d;color:#24292f}[data-theme=dark] .hero-link-github{color:#fff}.hero-link-github:hover{background:#24292f;color:#fff;box-shadow:0 5px 15px #24292f80}.hero-link-email{background:#ea43351a;border-color:#ea43354d;color:#ea4335}.hero-link-email:hover{background:#ea4335;color:#fff;box-shadow:0 5px 15px #ea433580}.hero-link-phone{background:#34a8531a;border-color:#34a8534d;color:#34a853}.hero-link-phone:hover{background:#34a853;color:#fff;box-shadow:0 5px 15px #34a85380}.hero-image{display:flex;justify-content:center;align-items:center;animation:fadeInUp .8s ease .6s both}.image-placeholder{width:100%;max-width:400px;aspect-ratio:1;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid var(--border-accent);position:relative;overflow:hidden;box-shadow:0 20px 60px var(--shadow-md)}.image-placeholder:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(102,126,234,.1),transparent);animation:shine 3s infinite}.profile-img{width:100%;height:100%;object-fit:cover;border-radius:50%;z-index:1}@keyframes shine{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.code-icon{width:150px;height:150px;color:#667eea;animation:pulse 2s ease-in-out infinite}.code-icon svg{width:100%;height:100%}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);animation:fadeIn 1s ease 2s both}.mouse{width:25px;height:40px;border:2px solid #667eea;border-radius:15px;position:relative;animation:bounce 2s infinite}.mouse:before{content:"";width:4px;height:8px;background:#667eea;border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes scroll{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(15px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:968px){.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-name{font-size:2.8rem}.hero-title{font-size:1.6rem}.hero-buttons{justify-content:center;flex-wrap:wrap}.hero-links{justify-content:center}.hero-image{order:-1}.image-placeholder{max-width:300px}.code-icon{width:120px;height:120px}}@media(max-width:640px){.hero{padding:5rem 1.5rem 3rem}.hero-name{font-size:2.2rem}.hero-title{font-size:1.4rem}.hero-description{font-size:1rem}.btn{padding:.8rem 1.5rem;font-size:.9rem}.image-placeholder{max-width:250px}.code-icon{width:100px;height:100px}}.experience{padding:6rem 2rem;background:var(--gradient-bg)}.container{max-width:1000px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{color:var(--text-tertiary);font-size:1.1rem}.timeline{position:relative;padding-left:4rem}.timeline:before{content:"";position:absolute;left:0;top:-2rem;bottom:0;width:3px;background:linear-gradient(180deg,#8b5cf6,#3b82f6,#10b981 66%,#f59e0b);border-radius:2px}.timeline-item{position:relative;margin-bottom:3rem;opacity:0;animation:fadeInLeft .8s ease forwards}.timeline-item:nth-child(1) .timeline-dot{background:linear-gradient(135deg,#8b5cf6,#ec4899);box-shadow:0 0 0 4px #8b5cf64d}.timeline-item:nth-child(2) .timeline-dot{background:linear-gradient(135deg,#3b82f6,#06b6d4);box-shadow:0 0 0 4px #3b82f64d}.timeline-item:nth-child(3) .timeline-dot{background:linear-gradient(135deg,#10b981,#06b6d4);box-shadow:0 0 0 4px #10b9814d}.timeline-item:nth-child(4) .timeline-dot{background:linear-gradient(135deg,#f59e0b,#ec4899);box-shadow:0 0 0 4px #f59e0b4d}.timeline-icon-wrapper{position:absolute;left:-5.3rem;top:0;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid var(--bg-primary);z-index:1}.timeline-item:nth-child(1) .timeline-icon-wrapper{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 0 4px #fbbf2466,0 4px 12px #fbbf2499}.timeline-item:nth-child(2) .timeline-icon-wrapper{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 0 0 4px #667eea66,0 4px 12px #667eea99}.timeline-item:nth-child(3) .timeline-icon-wrapper{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 0 0 4px #10b98166,0 4px 12px #10b98180}.timeline-item:nth-child(4) .timeline-icon-wrapper{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 0 0 4px #f59e0b66,0 4px 12px #f59e0b80}.timeline-icon{font-size:1.1rem;color:#fff}.timeline-dot{position:absolute;left:-2.6rem;top:0;width:16px;height:16px;background:var(--gradient-primary);border:3px solid var(--bg-primary);border-radius:50%;box-shadow:0 0 0 4px #667eea33;z-index:1}.timeline-content{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.timeline-content:hover{background:var(--bg-hover);border-color:var(--border-accent);transform:translate(10px);box-shadow:0 10px 30px var(--shadow-sm)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.timeline-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.3rem}.timeline-company{font-size:1.1rem;font-weight:600}.timeline-item:nth-child(1) .timeline-company{color:#8b5cf6}.timeline-item:nth-child(2) .timeline-company{color:#3b82f6}.timeline-item:nth-child(3) .timeline-company{color:#10b981}.timeline-item:nth-child(4) .timeline-company{color:#f59e0b}.timeline-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.timeline-period{color:var(--text-tertiary);font-size:.9rem;font-weight:500;padding:.3rem .8rem;border-radius:6px}.timeline-item:nth-child(1) .timeline-period{background:#8b5cf626;color:#c4b5fd}.timeline-item:nth-child(2) .timeline-period{background:#3b82f626;color:#93c5fd}.timeline-item:nth-child(3) .timeline-period{background:#10b98126;color:#6ee7b7}.timeline-item:nth-child(4) .timeline-period{background:#f59e0b26;color:#fcd34d}[data-theme=light] .timeline-item:nth-child(1) .timeline-period{background:#8b5cf633;color:#7c3aed}[data-theme=light] .timeline-item:nth-child(2) .timeline-period{background:#3b82f633;color:#2563eb}[data-theme=light] .timeline-item:nth-child(3) .timeline-period{background:#10b98133;color:#059669}[data-theme=light] .timeline-item:nth-child(4) .timeline-period{background:#f59e0b33;color:#d97706}.timeline-location{color:var(--text-secondary);font-size:.85rem}.timeline-responsibilities{list-style:none;padding:0;margin:0}.timeline-responsibilities li{padding-left:1.5rem;margin-bottom:.8rem;color:var(--text-secondary);line-height:1.6;position:relative}.timeline-responsibilities li:before{content:"▹";position:absolute;left:0;font-size:1.2rem;line-height:1.6}.timeline-item:nth-child(1) .timeline-responsibilities li:before{color:#8b5cf6}.timeline-item:nth-child(2) .timeline-responsibilities li:before{color:#3b82f6}.timeline-item:nth-child(3) .timeline-responsibilities li:before{color:#10b981}.timeline-item:nth-child(4) .timeline-responsibilities li:before{color:#f59e0b}@media(max-width:768px){.experience{padding:4rem 1.5rem}.section-title{font-size:2rem}.timeline{padding-left:1.5rem}.timeline-dot{left:-2.1rem}.timeline-header{flex-direction:column}.timeline-meta{align-items:flex-start}.timeline-content{padding:1.5rem}.timeline-content:hover{transform:translate(5px)}}.projects{padding:6rem 2rem;background:var(--bg-primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.project-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:16px;padding:2rem;transition:all .3s ease;opacity:0;animation:fadeInUp .8s ease forwards;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card:nth-child(1):before{background:linear-gradient(90deg,#8b5cf6,#ec4899)}.project-card:nth-child(2):before{background:linear-gradient(90deg,#3b82f6,#06b6d4)}.project-card:nth-child(3):before{background:linear-gradient(90deg,#10b981,#34d399)}.project-card:nth-child(4):before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.project-card:hover:before{transform:scaleX(1)}.project-card:hover{background:var(--bg-hover);border-color:var(--border-accent);transform:translateY(-8px);box-shadow:0 15px 40px var(--shadow-md)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.project-icon{font-size:2rem;margin-bottom:1rem;display:inline-block}.project-card:nth-child(1) .project-icon{color:#d62c2c}.project-card:nth-child(2) .project-icon{color:#3b82f6}.project-card:nth-child(3) .project-icon{color:#10b981}.project-card:nth-child(4) .project-icon{color:#f59e0b}.project-header{margin-bottom:1rem}.project-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.8rem}.project-meta{display:flex;gap:.8rem;flex-wrap:wrap}.project-tech{padding:.3rem .8rem;color:#fff;font-size:.85rem;font-weight:600;border-radius:6px}.project-card:nth-child(1) .project-tech{background:linear-gradient(135deg,#8b5cf6,#d62c2c)}.project-card:nth-child(2) .project-tech{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.project-card:nth-child(3) .project-tech{background:linear-gradient(135deg,#10b981,#34d399)}.project-card:nth-child(4) .project-tech{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.project-year{padding:.3rem .8rem;font-size:.85rem;font-weight:600;border-radius:6px;border:1px solid}.project-card:nth-child(1) .project-year{background:#8b5cf626;color:#c4b5fd;border-color:#8b5cf64d}.project-card:nth-child(2) .project-year{background:#3b82f626;color:#93c5fd;border-color:#3b82f64d}.project-card:nth-child(3) .project-year{background:#10b98126;color:#6ee7b7;border-color:#10b9814d}.project-card:nth-child(4) .project-year{background:#f59e0b26;color:#fcd34d;border-color:#f59e0b4d}[data-theme=light] .project-card:nth-child(1) .project-year{background:#8b5cf633;color:#7c3aed;border-color:#8b5cf666}[data-theme=light] .project-card:nth-child(2) .project-year{background:#3b82f633;color:#2563eb;border-color:#3b82f666}[data-theme=light] .project-card:nth-child(3) .project-year{background:#10b98133;color:#059669;border-color:#10b98166}[data-theme=light] .project-card:nth-child(4) .project-year{background:#f59e0b33;color:#d97706;border-color:#f59e0b66}.project-description{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem;font-size:.95rem}.project-features{list-style:none;padding:0;margin:0}.project-features li{padding-left:1.5rem;margin-bottom:.8rem;color:var(--text-tertiary);line-height:1.6;position:relative;font-size:.9rem}.project-features li:before{content:"✦";position:absolute;left:0;font-size:.8rem}.project-card:nth-child(1) .project-features li:before{color:#8b5cf6}.project-card:nth-child(2) .project-features li:before{color:#3b82f6}.project-card:nth-child(3) .project-features li:before{color:#10b981}.project-card:nth-child(4) .project-features li:before{color:#f59e0b}@media(max-width:768px){.projects{padding:4rem 1.5rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card{padding:1.5rem}}.skills{padding:6rem 2rem;background:var(--gradient-bg)}.skills .section-title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:3rem;text-align:center}.skills-content{max-width:1200px;margin:0 auto}.technical-skills{margin-bottom:5rem}.technical-skills h3{font-size:1.8rem;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:3rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.skill-item{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;transition:all .3s ease}.skill-item:hover{background:var(--bg-hover);border-color:var(--border-accent);transform:translateY(-3px);box-shadow:0 8px 24px var(--shadow-sm)}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.skill-icon{font-size:1.5rem;margin-right:.8rem}.skill-name{color:var(--text-primary);font-weight:600;font-size:.95rem;flex:1}.skill-percentage{color:var(--text-accent);font-weight:700;font-size:1rem}.skill-bar{height:8px;background:#667eea1a;border-radius:10px;overflow:hidden;position:relative}.skill-progress{height:100%;border-radius:10px;position:relative;animation:growWidth 1.2s ease forwards;transition:width .3s ease}.skill-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes growWidth{0%{width:0!important}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skill-categories{margin-top:5rem}.skill-categories h3{font-size:1.8rem;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:3rem}.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;margin:0 auto}.category-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:16px;padding:.9rem;text-align:center;transition:all .3s ease}.category-card:hover{background:var(--bg-hover);border-color:var(--border-accent);transform:translateY(-5px);box-shadow:0 12px 36px var(--shadow-sm)}.category-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.8rem;color:#fff}.category-card:nth-child(1) .category-icon{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea80}.category-card:nth-child(2) .category-icon{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 15px #f093fb80}.category-card:nth-child(3) .category-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 4px 15px #4facfe80}.category-card h4{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.category-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.category-skills{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}.skill-tag{background:#667eea1a;color:var(--text-accent);padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid var(--border-accent);transition:all .3s ease}.skill-tag:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-2px)}@media(max-width:1024px){.categories-grid{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:768px){.skills{padding:4rem 1.5rem}.skills .section-title{font-size:2rem}.technical-skills h3,.skill-categories h3{font-size:1.5rem;margin-bottom:2rem}.skills-grid,.categories-grid{grid-template-columns:1fr;gap:1.5rem}.skill-item{padding:1.2rem}.category-card{padding:2rem}.category-icon{width:70px;height:70px;font-size:2rem}}.education{padding:6rem 2rem;background:var(--bg-primary)}.education-timeline{max-width:900px;margin:0 auto;position:relative;padding-left:2rem}.education-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#3b82f6,#10b981,#f59e0b)}.education-item{position:relative;margin-bottom:3rem;opacity:0;animation:fadeInLeft .8s ease forwards}.education-icon-wrapper{position:absolute;left:-3.25rem;top:1rem;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid var(--bg-primary);z-index:1}.education-item:nth-child(1) .education-icon-wrapper{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 0 0 4px #3b82f666,0 4px 12px #3b82f699}.education-item:nth-child(2) .education-icon-wrapper{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 0 0 4px #10b98166,0 4px 12px #10b98199}.education-item:nth-child(3) .education-icon-wrapper{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 0 0 4px #f59e0b66,0 4px 12px #f59e0b99}.education-icon{font-size:1rem;color:#fff}.education-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:16px;padding:1.8rem;transition:all .3s ease;position:relative;overflow:hidden}.education-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.education-period-badge{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#3b82f626;color:#93c5fd;font-size:.85rem;font-weight:600;border-radius:6px}[data-theme=light] .education-period-badge{background:#3b82f633;color:#2563eb}.education-period-badge svg{width:14px;height:14px}.education-status{padding:.4rem 1rem;font-size:.75rem;font-weight:700;border-radius:20px;letter-spacing:.5px}.education-status.completed{background:#10b981;color:#fff}.education-status.in-progress{background:#3b82f6;color:#fff}.education-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;transform:scaleY(0);transform-origin:top;transition:transform .3s ease}.education-item:nth-child(1) .education-card:before{background:linear-gradient(180deg,#3b82f6,#60a5fa)}.education-item:nth-child(2) .education-card:before{background:linear-gradient(180deg,#10b981,#34d399)}.education-item:nth-child(3) .education-card:before{background:linear-gradient(180deg,#f59e0b,#fbbf24)}.education-card:hover:before{transform:scaleY(1)}.education-card:hover{background:var(--bg-hover);border-color:var(--border-accent);transform:translate(8px);box-shadow:0 15px 40px var(--shadow-md)}.education-content{flex:1}.education-degree{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.8rem;line-height:1.3}.education-institution{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;margin-bottom:.6rem;line-height:1.4}.institution-icon{width:16px;height:16px;flex-shrink:0}.education-item:nth-child(1) .education-institution{color:#3b82f6}.education-item:nth-child(2) .education-institution{color:#10b981}.education-item:nth-child(3) .education-institution{color:#f59e0b}.education-location{display:flex;align-items:center;gap:.4rem;color:var(--text-tertiary);font-size:.85rem;margin-bottom:1rem}.education-location svg{width:14px;height:14px}.education-description{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin:0}@media(max-width:640px){.education{padding:4rem 1.5rem}.education-timeline{padding-left:1.5rem}.education-dot{left:-2rem}.education-card{flex-direction:column;padding:1.5rem}.education-icon{font-size:2.5rem}.education-degree{font-size:1.1rem}}.contact{padding:6rem 2rem;background:var(--gradient-bg)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto}.contact-info{animation:fadeInLeft .8s ease}.contact-info-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.contact-info-text{color:var(--text-tertiary);line-height:1.8;margin-bottom:2rem}.contact-cards{display:flex;flex-direction:column;gap:1rem}.contact-card{display:flex;align-items:center;gap:1rem;padding:1.2rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;transition:all .3s ease;text-decoration:none;opacity:0;animation:fadeInUp .8s ease forwards}.contact-card:hover{background:var(--bg-hover);border-color:var(--border-accent);transform:translate(10px);box-shadow:0 5px 20px var(--shadow-sm)}.contact-card-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.contact-card:nth-child(1) .contact-card-icon{background:#ea4335}.contact-card:nth-child(2) .contact-card-icon{background:#34a853}.contact-card:nth-child(3) .contact-card-icon{background:#0a66c2}.contact-card:nth-child(4) .contact-card-icon{background:#f59e0b}[data-theme=dark] .contact-card:nth-child(4) .contact-card-icon{background:#f59e0b}.contact-card-icon svg{width:24px;height:24px;color:#fff}[data-theme=dark] .contact-card:nth-child(4) .contact-card-icon svg{color:#fff}.contact-card-content{flex:1}.contact-card-title{color:var(--text-tertiary);font-size:.85rem;margin-bottom:.2rem;font-weight:500}.contact-card-value{color:var(--text-primary);font-weight:600;font-size:.95rem}.contact-form{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:16px;padding:2.5rem;animation:fadeInRight .8s ease}.contact-form-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:var(--text-secondary);font-weight:600;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.9rem 1.2rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:var(--bg-hover);box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 15px #667eea66}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.submit-btn svg{width:20px;height:20px}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:968px){.contact-content{grid-template-columns:1fr;gap:2rem}.contact-form{padding:2rem}}@media(max-width:640px){.contact{padding:4rem 1.5rem}.contact-info-title,.contact-form-title{font-size:1.5rem}.contact-form{padding:1.5rem}.contact-card{padding:1rem}.contact-card:hover{transform:translate(5px)}}.footer{background:var(--bg-secondary);padding:3rem 2rem 2rem;border-top:1px solid var(--border-primary)}.footer-content{max-width:1200px;margin:0 auto}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.footer-brand{display:flex;flex-direction:column;gap:.5rem}.footer-logo{font-size:1.8rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.2rem}.footer-logo-icon{width:40px;height:40px;object-fit:contain;margin-right:.5rem}.logo-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-dot{color:#667eea;font-size:2rem}.footer-tagline{color:var(--text-muted);font-size:.95rem}.footer-links{display:flex;gap:1rem}.footer-link{width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border-radius:10px;color:#667eea;transition:all .3s ease;border:1px solid var(--border-accent)}.footer-link:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-3px);box-shadow:0 5px 15px #667eea66}.footer-link svg{width:22px;height:22px}.footer-link-github{background:#24292f1a;border-color:#24292f4d;color:#24292f}[data-theme=dark] .footer-link-github{color:#fff}.footer-link-github:hover{background:#24292f;color:#fff;box-shadow:0 5px 15px #24292f80}.footer-link-email{background:#ea43351a;border-color:#ea43354d;color:#ea4335}.footer-link-email:hover{background:#ea4335;color:#fff;box-shadow:0 5px 15px #ea433580}.footer-link-linkedin{background:#0a66c21a;border-color:#0a66c24d;color:#0a66c2}.footer-link-linkedin:hover{background:#0a66c2;color:#fff;box-shadow:0 5px 15px #0a66c280}.footer-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),transparent);margin:2rem 0}.footer-bottom{text-align:center;color:var(--text-muted);font-size:.9rem}.footer-copyright{margin:0}.heart{color:#f43f5e;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}@media(max-width:768px){.footer{padding:2rem 1.5rem 1.5rem}.footer-top{flex-direction:column;gap:2rem;text-align:center}.footer-brand{align-items:center}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}.theme-toggle{position:fixed;bottom:2rem;right:2rem;z-index:1000;background:none;border:none;cursor:pointer;padding:0;animation:fadeIn 1s ease .5s both}.toggle-track{width:70px;height:36px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:50px;position:relative;transition:all .3s ease;display:flex;align-items:center;padding:4px}.toggle-track:hover{background:#ffffff26;border-color:#667eea80;box-shadow:0 4px 15px #667eea4d}.toggle-track.dark{background:#0f172acc;border-color:#667eea4d}.toggle-track.light{background:#ffffffe6;border-color:#667eea4d}.toggle-thumb{width:28px;height:28px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000004d}.toggle-track.light .toggle-thumb{transform:translate(34px);background:linear-gradient(135deg,#fbbf24,#f59e0b)}.toggle-thumb svg{width:16px;height:16px}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.theme-toggle{bottom:1.5rem;right:1.5rem}.toggle-track{width:60px;height:32px}.toggle-thumb{width:24px;height:24px}.toggle-track.light .toggle-thumb{transform:translate(28px)}.toggle-thumb svg{width:14px;height:14px}}
