.header{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);padding:4rem 2rem;text-align:center;border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000000a;animation:fadeIn .8s ease-out;position:relative;overflow:hidden}.header:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:100%;background-size:cover;background-position:bottom;background-repeat:no-repeat;pointer-events:none;z-index:0}[data-theme=dark] .header:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%233bccbc' fill-opacity='0.1' d='M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,154.7C960,171,1056,181,1152,165.3C1248,149,1344,107,1392,85.3L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3Cpath fill='%233bccbc' fill-opacity='0.15' d='M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,197.3C672,192,768,160,864,154.7C960,149,1056,171,1152,181.3C1248,192,1344,192,1392,192L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3Cpath fill='%233bccbc' fill-opacity='0.08' d='M0,160L48,165.3C96,171,192,181,288,186.7C384,192,480,192,576,181.3C672,171,768,149,864,138.7C960,128,1056,128,1152,133.3C1248,139,1344,149,1392,154.7L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E")}[data-theme=light] .header:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%232563eb' fill-opacity='0.1' d='M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,154.7C960,171,1056,181,1152,165.3C1248,149,1344,107,1392,85.3L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3Cpath fill='%232563eb' fill-opacity='0.15' d='M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,197.3C672,192,768,160,864,154.7C960,149,1056,171,1152,181.3C1248,192,1344,192,1392,192L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3Cpath fill='%232563eb' fill-opacity='0.08' d='M0,160L48,165.3C96,171,192,181,288,186.7C384,192,480,192,576,181.3C672,171,768,149,864,138.7C960,128,1056,128,1152,133.3C1248,139,1344,149,1392,154.7L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E")}.header-content{max-width:800px;margin:0 auto;position:relative;z-index:1}.header h1{font-size:3rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;animation:fadeInUp 1s ease-out .2s both}.subtitle{font-size:1.5rem;color:var(--text-secondary);margin-bottom:2rem;animation:fadeInUp 1s ease-out .4s both}.header-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.header-links a{color:var(--text-secondary);text-decoration:none;padding:.5rem 1.5rem;border:1px solid var(--primary-color);border-radius:25px;transition:all .3s ease;animation:fadeInUp 1s ease-out .6s both;position:relative;overflow:hidden}.header-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.header-links a:hover:before{left:100%}.header-links a:hover{background-color:var(--primary-color);color:var(--text-primary);transform:translateY(-2px)}.theme-toggle{position:absolute;top:2rem;right:2rem;background:transparent;border:2px solid var(--primary-color);border-radius:50%;width:3rem;height:3rem;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--bg-overlay);animation:scaleIn .6s ease-out;z-index:2}.theme-toggle:hover{background-color:var(--primary-color);transform:scale(1.1)}@media (max-width: 768px){.theme-toggle{top:1rem;right:1rem;width:2.5rem;height:2.5rem;font-size:1.2rem}.header h1{font-size:2rem}.subtitle{font-size:1.2rem}.header-links{gap:1rem}.header-links a{padding:.4rem 1rem;font-size:.9rem}}.skills{margin-bottom:4rem}.skills h2{font-size:2.5rem;margin-bottom:2rem;text-align:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:0;transform:translateY(20px)}.skills h2.visible{animation:fadeInUp .6s ease-out forwards}.skills-grid{display:grid;gap:2rem}.skill-category{background:var(--bg-secondary);padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(30px)}.skill-category.visible{animation:fadeInUp .6s ease-out forwards}.skill-category:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:var(--shadow-md)}.skill-category h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.3rem}.skill-items{display:flex;flex-wrap:wrap;gap:.8rem}.skill-badge{background:var(--bg-overlay);color:var(--primary-color);padding:.5rem 1rem;border-radius:20px;border:1px solid var(--primary-color);font-size:.9rem;transition:all .3s ease;opacity:0;transform:translateY(10px)}.skill-category.visible .skill-badge{animation:fadeInUp .5s ease-out forwards}.skill-badge:hover{background:var(--primary-color);color:var(--text-primary);transform:scale(1.05)}@media (max-width: 768px){.skills h2{font-size:2rem}.skill-category{padding:1.5rem}}.experience{margin-bottom:4rem}.experience h2{font-size:2.5rem;margin-bottom:2rem;text-align:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:0;transform:translateY(20px)}.experience h2.visible{animation:fadeInUp .6s ease-out forwards}.experience-timeline{display:flex;flex-direction:column;gap:2rem;position:relative}.experience-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--primary-color),var(--secondary-color))}.experience-item{background:var(--bg-secondary);padding:2rem;border-radius:12px;border:1px solid var(--border-color);margin-left:2rem;position:relative;box-shadow:var(--shadow-sm);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;opacity:0;transform:translate(-30px)}.experience-item.visible{animation:slideInRight .6s ease-out forwards}.experience-item:before{content:"";position:absolute;left:-2.5rem;top:1.5rem;width:12px;height:12px;border-radius:50%;background:var(--primary-color);border:3px solid var(--bg-secondary)}.experience-item:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:var(--shadow-md)}.experience-header{margin-bottom:1rem}.experience-header h3{color:var(--primary-color);font-size:1.5rem;margin-bottom:.5rem}.experience-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-secondary)}.company{font-weight:600}.duration{color:var(--accent)}.experience-description{margin-bottom:1rem;line-height:1.8;color:var(--text-secondary);list-style:none;padding-left:0}.experience-description li{margin-bottom:.75rem;padding-left:1.5rem;position:relative}.experience-description li:before{content:"–";position:absolute;left:0;color:var(--primary-color);font-weight:700}.experience-description li:last-child{margin-bottom:0}.experience-technologies{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:var(--bg-overlay);color:var(--primary-color);padding:.3rem .8rem;border-radius:15px;font-size:.85rem;border:1px solid var(--primary-color);transition:all .3s ease;opacity:0;transform:scale(.8)}.experience-item.visible .tech-tag{animation:scaleIn .4s ease-out forwards}.experience-item.visible .tech-tag:nth-child(1){animation-delay:.1s}.experience-item.visible .tech-tag:nth-child(2){animation-delay:.15s}.experience-item.visible .tech-tag:nth-child(3){animation-delay:.2s}.experience-item.visible .tech-tag:nth-child(4){animation-delay:.25s}.experience-item.visible .tech-tag:nth-child(5){animation-delay:.3s}.experience-item.visible .tech-tag:nth-child(6){animation-delay:.35s}.experience-item.visible .tech-tag:nth-child(7){animation-delay:.4s}.experience-item.visible .tech-tag:nth-child(8){animation-delay:.45s}.experience-item.visible .tech-tag:nth-child(9){animation-delay:.5s}.experience-item.visible .tech-tag:nth-child(10){animation-delay:.55s}.experience-item.visible .tech-tag:nth-child(n+11){animation-delay:.6s}.tech-tag:hover{transform:scale(1.1);background:var(--primary-color);color:var(--text-primary)}@media (max-width: 768px){.experience h2{font-size:2rem}.experience-timeline:before{display:none}.experience-item{margin-left:0}.experience-item:before{display:none}}.education{margin-bottom:4rem}.education h2{font-size:2.5rem;margin-bottom:2rem;text-align:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:0;transform:translateY(20px)}.education h2.visible{animation:fadeInUp .6s ease-out forwards}.education-list{display:flex;flex-direction:column;gap:2rem}.education-item{background:var(--bg-secondary);padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(30px)}.education-item.visible{animation:fadeInUp .6s ease-out forwards}.education-item:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:var(--shadow-md)}.education-header{margin-bottom:1rem}.education-header h3{color:var(--primary-color);font-size:1.5rem;margin-bottom:.5rem}.education-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-secondary)}.institution{font-weight:600}.year{color:var(--accent)}.education-description{margin-top:1rem;line-height:1.8;color:var(--text-secondary);list-style-type:disc;padding-left:1.5rem}.education-description li{margin-bottom:.5rem}@media (max-width: 768px){.education h2{font-size:2rem}.education-item{padding:1.5rem}}.contact{margin-bottom:4rem}.contact h2{font-size:2.5rem;margin-bottom:2rem;text-align:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:0;transform:translateY(20px)}.contact h2.visible{animation:fadeInUp .6s ease-out forwards}.contact-content{max-width:800px;margin:0 auto}.contact-intro{text-align:center;color:var(--text-secondary);font-size:1.2rem;margin-bottom:3rem;line-height:1.8}.contact-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.contact-link{background:var(--bg-secondary);padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;min-width:250px;flex:1;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;opacity:0;transform:scale(.9)}.contact-link.visible{animation:scaleIn .5s ease-out forwards}.contact-link:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:var(--shadow-md)}.contact-link h3{color:var(--primary-color);font-size:1.5rem;margin-bottom:.5rem}.contact-link p{color:var(--text-secondary);font-size:1rem}.contact-icon{font-size:3rem;display:block}@media (max-width: 768px){.contact h2{font-size:2rem}.contact-intro{font-size:1rem}.contact-link{min-width:100%}}.App{min-height:100vh;transition:background-color .3s ease,color .3s ease}main{max-width:1200px;margin:0 auto;padding:4rem 2rem;transition:background-color .3s ease,color .3s ease}main>section{position:relative;padding-top:3rem;padding-bottom:3rem}main>section:not(:last-child):after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80%;max-width:600px;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}@media (max-width: 768px){main{padding:2rem 1rem}}:root[data-theme=dark]{--primary-color: #3bccbc;--primary-hover: #2aa89a;--secondary-color: #4dd4c4;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-section: #1e293b;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--accent: #3bccbc;--section-title-color: #a855f7;--section-title-secondary: #c084fc;--border-color: rgba(59, 204, 188, .2);--border-hover: rgba(59, 204, 188, .4);--bg-overlay: rgba(59, 204, 188, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2)}:root[data-theme=light]{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #3b82f6;--bg-primary: #e5e7eb;--bg-secondary: #f3f4f6;--bg-section: #e5e7eb;--text-primary: #111827;--text-secondary: #374151;--accent: #2563eb;--section-title-color: #9333ea;--section-title-secondary: #a855f7;--border-color: rgba(37, 99, 235, .2);--border-hover: rgba(37, 99, 235, .4);--bg-overlay: rgba(37, 99, 235, .12);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 6px 12px rgba(0, 0, 0, .15), 0 3px 6px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}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;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s ease,color .3s ease}html{scroll-behavior:smooth;scroll-padding-top:80px}section[id]{scroll-margin-top:80px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-on-scroll{opacity:0;animation:fadeInUp .8s ease-out forwards}.animate-on-scroll.delay-1{animation-delay:.1s}.animate-on-scroll.delay-2{animation-delay:.2s}.animate-on-scroll.delay-3{animation-delay:.3s}.animate-on-scroll.delay-4{animation-delay:.4s}.fade-in{animation:fadeIn .6s ease-out}.slide-in-left{animation:slideInLeft .6s ease-out}.slide-in-right{animation:slideInRight .6s ease-out}.scale-in{animation:scaleIn .5s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
