@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--color-green: #22c55e;--color-red: #ef4444;--color-yellow: #eab308;--color-blue: #2563eb;--color-black: #0a0a0a;--color-white: #ffffff}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #171717;--bg-tertiary: #262626;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .85);--text-muted: rgba(255, 255, 255, .7);--border-color: rgba(255, 255, 255, .1);--accent-primary: var(--color-blue);--accent-secondary: var(--color-green);--accent-tertiary: var(--color-red);--accent-yellow: var(--color-yellow)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e5e5e5;--text-primary: #0a0a0a;--text-secondary: rgba(0, 0, 0, .85);--text-muted: rgba(0, 0, 0, .6);--border-color: rgba(0, 0, 0, .1);--accent-primary: var(--color-blue);--accent-secondary: var(--color-green);--accent-tertiary: var(--color-red);--accent-yellow: var(--color-yellow)}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}#root{min-height:100vh}button{font-family:inherit}a{color:inherit}::selection{background:var(--color-blue);color:var(--color-white)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 2rem;transition:all .3s ease;background:transparent}.navbar.scrolled{background:color-mix(in srgb,var(--bg-primary) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:none;box-shadow:0 8px 32px -8px color-mix(in srgb,var(--text-primary) 8%,transparent)}.navbar-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-size:1.5rem;font-weight:800;color:var(--accent-primary);text-decoration:none;display:flex;align-items:center}.navbar-logo{height:50px;width:auto;transition:transform .3s ease}.navbar-logo:hover{transform:scale(1.05)}.navbar-toggle{display:none;background:color-mix(in srgb,var(--text-primary) .1,transparent);border:1px solid var(--border-color);color:var(--text-primary);width:45px;height:45px;border-radius:10px;cursor:pointer;font-size:1.25rem;transition:all .3s ease}.navbar-toggle:hover{background:var(--accent-primary);color:var(--color-white)}.navbar-menu{display:flex;list-style:none;align-items:center;gap:2rem;margin:0;padding:0}.navbar-theme-item{margin-left:auto}.theme-toggle{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--accent-yellow);cursor:pointer;font-size:1.1rem;transition:all .3s ease}.theme-toggle:hover{color:var(--color-black);transform:rotate(20deg) scale(1.15)}.navbar-link{background:none;border:none;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem;position:relative;transition:color .3s ease}.navbar-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--accent-primary);transition:all .3s ease;transform:translate(-50%)}.navbar-link:hover{color:var(--text-primary)}.navbar-link:hover:after{width:100%}@media(max-width:768px){.navbar-toggle{display:flex;align-items:center;justify-content:center}.navbar-menu{position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;background:color-mix(in srgb,var(--bg-primary) 98%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;padding:5rem 2rem 2rem;gap:0;border-left:1px solid var(--border-color);transition:right .4s ease}.navbar-menu.open{right:0}.navbar-theme-item{margin-left:0;border-bottom:1px solid var(--border-color)}.navbar-menu li{border-bottom:1px solid var(--border-color)}.navbar-link{display:block;padding:1rem;font-size:1.1rem}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.hero.visible{opacity:1;transform:translateY(0)}.hero-bg-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(37,99,235,.12) 1px,transparent 1px);background-size:32px 32px;z-index:0;pointer-events:none}[data-theme=light] .hero-bg-grid{background-image:radial-gradient(circle,rgba(37,99,235,.07) 1px,transparent 1px)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}.hero:before{width:500px;height:500px;background:#2563eb;opacity:.18;top:-150px;left:-150px;animation:floatBlob 20s ease-in-out infinite}.hero:after{width:400px;height:400px;background:#3b82f6;opacity:.14;bottom:-100px;right:-80px;animation:floatBlob 26s ease-in-out infinite reverse}[data-theme=light] .hero:before{opacity:.08}[data-theme=light] .hero:after{opacity:.06}@keyframes floatBlob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.08)}66%{transform:translate(-20px,20px) scale(.94)}}.hero-content{position:relative;z-index:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:5rem;padding:2rem 4rem;max-width:1100px;width:100%}.hero-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.hero-availability{display:inline-flex;align-items:center;gap:.6rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.35);color:#22c55e;padding:.4rem 1rem;border-radius:50px;font-size:.82rem;font-weight:500;margin-bottom:1.25rem;animation:fadeInUp .6s ease .1s both}.hero-availability-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 6px #22c55e00}}.hero-greeting{font-size:1.05rem;color:var(--text-muted);margin-bottom:.25rem;animation:fadeInUp .6s ease .2s both}.hero-name{font-size:clamp(2.6rem,7vw,4.2rem);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;line-height:1.05;margin-bottom:.75rem;animation:fadeInUp .6s ease .3s both}.hero-role{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--accent-primary);font-weight:500;animation:fadeInUp .6s ease .35s both;min-height:2em;display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.hero-role-icon{opacity:.7;font-size:.95em}.hero-role-text{display:inline-block;animation:fadeIn .5s ease}.hero-role-cursor{animation:blink 1s step-end infinite;color:var(--accent-primary)}@keyframes blink{50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hero-description{color:var(--text-muted);font-size:1rem;line-height:1.8;margin-bottom:1.25rem;max-width:460px;animation:fadeInUp .6s ease .4s both}.hero-location{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem;animation:fadeInUp .6s ease .45s both}.hero-location svg{color:var(--accent-primary)}.hero-social{display:flex;gap:.75rem;margin-bottom:1.75rem;animation:fadeInUp .6s ease .5s both}.hero-social-link{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:var(--bg-tertiary);border:1.5px solid var(--border-color);border-radius:10px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .25s ease}.hero-social-link:hover{transform:translateY(-3px)}.hero-social-link.linkedin{background:#0a66c2;color:#fff;border-color:#0a66c2}.hero-social-link.linkedin:hover{background:transparent;color:#0a66c2;border-color:#0a66c24d}.hero-social-link.instagram{background:#c13584;color:#fff;border-color:#c13584}.hero-social-link.instagram:hover{background:transparent;color:#c13584;border-color:#c135844d}.hero-social-link.github{background:#24292e;color:#fff;border-color:#24292e}.hero-social-link.github:hover{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeInUp .6s ease .55s both}.hero-cta .btn{padding:.5rem .8rem;font-size:.95rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .25s ease;border:2px solid transparent}.btn-primary{background:var(--color-blue);color:#fff;border-color:var(--color-blue);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px #2563eb66;background:color-mix(in srgb,var(--color-blue) 85%,black)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--color-blue)}.btn-secondary:hover{background:var(--color-blue);color:#fff;transform:translateY(-3px)}.hero-image-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.hero-profile-wrapper{width:220px;height:220px;border-radius:50%;position:relative;animation:fadeInUp .6s ease .15s both}.hero-profile-wrapper:before{content:"";position:absolute;inset:-18px;border-radius:50%;border:1.5px dashed rgba(37,99,235,.45);animation:spin 22s linear infinite}.hero-profile-wrapper:after{content:"";position:absolute;inset:-36px;border-radius:50%;border:1px dashed rgba(37,99,235,.2);animation:spin 38s linear infinite reverse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-profile-glow{position:absolute;inset:-6px;border-radius:50%;background:var(--color-blue);opacity:.3;filter:blur(18px);animation:pulseGlow 3s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.45;transform:scale(1.06)}}.hero-profile-img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid var(--accent-primary);box-shadow:0 0 40px #2563eb59;display:block}.hero-tech-tags{display:flex;gap:.5rem;animation:fadeInUp .6s ease .5s both}.hero-tech-tags span{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 30%,transparent);color:var(--accent-primary);font-size:.75rem;font-weight:600;padding:.3rem .75rem;border-radius:50px;letter-spacing:.03em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-content{flex-direction:column-reverse;align-items:center;text-align:center;padding:2rem 1.5rem;gap:2.5rem}.hero-text{align-items:center}.hero-social,.hero-cta,.hero-location,.hero-role{justify-content:center}.hero-description{text-align:center}.hero-profile-wrapper{width:170px;height:170px}}.about-me{padding:6rem 2rem;background:var(--bg-secondary);opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.about-me.visible{opacity:1;transform:translateY(0)}.about-container{max-width:960px;margin:0 auto}.about-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:2.5rem}.about-content{display:grid;grid-template-columns:1fr 220px;gap:4rem;align-items:start}.about-bio p{color:var(--text-secondary);line-height:1.85;font-size:1rem;margin-bottom:1.1rem}.about-bio p:last-child{margin-bottom:0}.about-bio strong{color:var(--text-primary);font-weight:600}.about-aside{display:flex;flex-direction:column;gap:0;border-left:1px solid var(--border-color);padding-left:2rem}.about-detail{display:flex;flex-direction:column;padding:.875rem 0;border-bottom:1px solid var(--border-color)}.about-detail:last-child{border-bottom:none}.about-detail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;margin-bottom:.2rem}.about-detail-value{font-size:.9rem;color:var(--text-primary);font-weight:500}@media(max-width:768px){.about-content{grid-template-columns:1fr;gap:2.5rem}.about-aside{border-left:none;padding-left:0;border-top:1px solid var(--border-color);padding-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0}.about-detail{padding:.75rem 1rem .75rem 0}.about-detail:nth-child(2n){padding-left:1rem;border-left:1px solid var(--border-color)}}.experience{padding:6rem 2rem;background:var(--bg-primary);position:relative;opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.experience.visible{opacity:1;transform:translateY(0)}.experience-container{max-width:900px;margin:0 auto}.experience-header{text-align:center;margin-bottom:4rem}.experience .section-badge{display:inline-flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--color-red) 20%,transparent);color:var(--color-red);padding:.5rem 1rem;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:1rem}.experience .section-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.experience-timeline{position:relative}.projects{padding:6rem 2rem;background:var(--bg-secondary);opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.projects.visible{opacity:1;transform:translateY(0)}.projects-container{max-width:960px;margin:0 auto}.projects-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:3rem;text-align:center}.projects-group{margin-bottom:3rem}.projects-group:last-child{margin-bottom:0}.projects-group-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1.25rem;padding-bottom:.6rem;border-bottom:1px solid var(--border-color)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.project-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;height:100%;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.project-card:hover{border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 8px 24px #2563eb1f}.project-card--contributed{border-style:dashed}.project-card--contributed:hover{border-style:solid}.project-card-img{margin:-1.5rem -1.5rem .75rem;height:160px;overflow:hidden;border-radius:13px 13px 0 0;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;padding:1.25rem}.project-card-img--dark{background:#1a1a2e}.project-card-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;transition:transform .4s ease}.project-card:hover .project-card-img img{transform:scale(1.06)}.project-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.project-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent-primary) 12%,transparent);border-radius:10px;color:var(--accent-primary);font-size:1rem;flex-shrink:0}.project-tech{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 25%,transparent);padding:.2rem .6rem;border-radius:50px}.project-contributed-badge{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--color-orange, #f97316);background:#f973161a;border:1px solid rgba(249,115,22,.25);padding:.2rem .6rem;border-radius:50px}.project-name{font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1.3}.project-subtitle{font-weight:400;color:var(--text-muted);font-size:.9rem}.project-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.75;margin:0;flex:1}.project-tech-logos{display:flex;gap:.5rem;align-items:center;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.project-tech-logo{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:4px;transition:transform .2s ease,border-color .2s ease}.project-tech-logo:hover{transform:translateY(-2px) scale(1.15);border-color:var(--accent-primary)}.project-tech-logo img{width:100%;height:100%;object-fit:contain;display:block}@media(max-width:640px){.projects-grid{grid-template-columns:1fr}}.skills{padding:6rem 2rem;background:var(--bg-secondary);position:relative;opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.skills.visible{opacity:1;transform:translateY(0)}.skills-container{max-width:1100px;margin:0 auto}.skills-header{text-align:center;margin-bottom:3rem}.skills .section-badge{display:inline-flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--color-yellow) 20%,transparent);color:var(--color-yellow);padding:.5rem 1rem;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:1rem}.skills .section-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.skill-box{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:16px;padding:1.5rem;text-align:center;transition:all .3s ease;opacity:0;animation:boxIn .5s ease forwards}.skill-box:hover{border-color:var(--skill-color, var(--color-yellow));box-shadow:0 8px 25px color-mix(in srgb,var(--skill-color, #eab308) 30%,transparent);transform:translateY(-4px)}@keyframes boxIn{to{opacity:1}}.skill-box-icon{width:64px;height:64px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:16px;transition:transform .3s ease,box-shadow .3s ease}.skill-box:hover .skill-box-icon{transform:scale(1.1) rotate(2deg)}.skill-box-name{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:1rem;line-height:1.3;min-height:2.6em;display:flex;align-items:center;justify-content:center}.skill-progress{display:flex;flex-direction:column;gap:.4rem}.skill-progress-track{height:8px;background:var(--border-color);border-radius:10px;overflow:hidden}.skill-progress-fill{height:100%;border-radius:10px;transition:width 1s cubic-bezier(.4,0,.2,1)}.skill-progress-label{font-size:.9rem;font-weight:700;transition:color .3s ease}.education{padding:6rem 2rem;background:var(--bg-secondary);position:relative;opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.education.visible{opacity:1;transform:translateY(0)}.education-container{max-width:900px;margin:0 auto}.education-header{text-align:center;margin-bottom:4rem}.education .section-badge{display:inline-flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--color-blue) 20%,transparent);color:var(--color-blue);padding:.5rem 1rem;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:1rem}.education .section-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.education-timeline{position:relative}.timeline-line{position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb;border-radius:4px}.timeline-item{position:relative;margin-bottom:3rem;padding-left:60px;opacity:0;animation:slideInRight .6s ease forwards}.timeline-item:last-child{margin-bottom:0}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.timeline-node{position:absolute;left:0;top:24px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;z-index:2;transform:translate(-50%);margin-left:2px}.node-blue{background:#2563eb}.node-green{background:#22c55e}.timeline-connector{position:absolute;left:50px;top:48px;width:24px;height:2px;background:var(--border-color)}.timeline-card{background:var(--bg-tertiary);border-radius:16px;padding:1.75rem 2rem;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-color);transition:all .3s ease}.timeline-card:hover{box-shadow:0 8px 30px #0000001f}.card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.card-date{display:inline-flex;align-items:center;gap:.5rem;color:#2563eb;font-size:.9rem;font-weight:500}.card-date svg{font-size:.85rem}.card-status{background:#22c55e;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.card-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:.75rem;line-height:1.3}.card-institution,.card-location{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.95rem;margin-bottom:.5rem}.card-icon{font-size:.9rem;color:var(--text-muted);width:16px}.card-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-top:1rem;margin-bottom:0}@media(max-width:640px){.timeline-item{padding-left:50px}.timeline-node{width:40px;height:40px;font-size:1rem;top:20px;margin-left:2px}.timeline-line{width:3px}.timeline-connector{left:42px;top:40px;width:16px}.timeline-card{padding:1.25rem 1.5rem}}.contact-me{padding:6rem 2rem;background:var(--bg-primary);position:relative;opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.contact-me.visible{opacity:1;transform:translateY(0)}.contact-container{max-width:900px;margin:0 auto}.contact-header{text-align:center;margin-bottom:4rem}.contact-me .section-badge{display:inline-flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--color-blue) 20%,transparent);color:var(--color-blue);padding:.5rem 1rem;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:1rem}.contact-me .section-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.contact-subtitle{color:var(--text-muted);font-size:1.1rem;margin-top:1rem}.contact-content{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}@media(max-width:768px){.contact-content{grid-template-columns:1fr}}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;align-items:center;gap:1.5rem;background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:1rem;padding:1.5rem;text-decoration:none;color:inherit;transition:all .3s ease;opacity:0;transform:translate(-20px);animation:contactItemIn .6s ease forwards}.contact-item.no-link{cursor:default;pointer-events:none}.contact-item:hover:not(.no-link){border-color:var(--color-blue);transform:translate(5px);box-shadow:0 10px 30px #2563eb26}@keyframes contactItemIn{to{opacity:1;transform:translate(0)}}.contact-icon{width:55px;height:55px;min-width:55px;display:flex;align-items:center;justify-content:center;background:var(--color-blue);border-radius:14px;color:#fff;font-size:1.4rem}.contact-details{display:flex;flex-direction:column;gap:.25rem}.contact-label{color:var(--text-muted);font-size:.85rem}.contact-value{color:var(--text-primary);font-weight:600;font-size:1rem}.contact-form{background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:1.5rem;padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem;transition:all .4s ease}.contact-form:hover{border-color:var(--color-blue)}.form-group input,.form-group textarea{width:100%;padding:1rem 1.25rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px #2563eb33}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:var(--color-blue);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px #2563eb66}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:2.5rem 2rem}.footer-content{max-width:900px;margin:0 auto}.footer-brand{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.footer-logo{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:14px}.footer-logo img{height:60px;width:auto;object-fit:contain;margin-right:40px}.footer-brand-info{flex:1}.footer-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}.footer-tagline{font-size:.85rem;color:var(--text-muted)}.footer-divider{height:1px;background:var(--border-color);margin:1.5rem 0}.footer-social{display:flex;gap:.75rem}.footer-social-link{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:30px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s ease}.footer-social-link.linkedin{background:#0a66c2;color:#fff;border-color:#0a66c2}.footer-social-link.linkedin:hover{background:transparent;color:#0a66c2;border-color:#0a66c24d;transform:translateY(-3px)}.footer-social-link.instagram{background:#c13584;color:#fff;border-color:#c13584}.footer-social-link.instagram:hover{background:transparent;color:#c13584;border-color:#c135844d;transform:translateY(-3px)}.footer-social-link.github{background:#24292e;color:#fff;border-color:#24292e}.footer-social-link.github:hover{background:transparent;color:var(--text-primary);border-color:var(--border-color);transform:translateY(-3px)}.footer-bottom{text-align:center}.footer-copyright{color:var(--text-muted);font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.35rem}.heart-icon{color:var(--color-red);animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@media(max-width:600px){.footer-brand{flex-direction:column;align-items:flex-start;gap:1rem}}.admin-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding-bottom:4rem;font-family:Outfit,system-ui,sans-serif}.admin-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1.5rem 2rem;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.admin-header-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.admin-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:#2563eb;background:#2563eb1f;padding:.35rem .8rem;border-radius:50px;margin-bottom:.4rem}.admin-title{font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.admin-actions{display:flex;align-items:center;gap:1rem}.admin-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.2rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;border:1px solid transparent;text-decoration:none}.admin-btn-primary{background:#2563eb;color:#fff}.admin-btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 20px #2563eb4d}.admin-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.admin-btn-secondary:hover{background:color-mix(in srgb,var(--bg-tertiary) 80%,black)}.admin-container{max-width:1200px;margin:2rem auto 0;padding:0 1.5rem}.admin-notify{background:#10b981;color:#fff;padding:.85rem 1.25rem;border-radius:12px;font-weight:600;font-size:.95rem;margin-bottom:1.5rem;animation:fadeIn .3s ease}.admin-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.75rem;border-bottom:2px solid var(--border-color);margin-bottom:2rem}.admin-tab{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;background:transparent;border:none;border-radius:10px;color:var(--text-muted);font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .25s ease}.admin-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.admin-tab.active{color:#2563eb;background:#2563eb1f}.admin-content-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;padding:2.5rem;box-shadow:0 10px 40px #00000014}.admin-section-heading{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.admin-section-sub{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.admin-tab-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.admin-header-btns{display:flex;gap:.75rem}.admin-btn-add{background:#22c55e;color:#fff}.admin-btn-add:hover{background:#16a34a}.admin-btn-add.secondary{background:#0284c7}.admin-btn-add.secondary:hover{background:#0369a1}.admin-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.admin-form-group{display:flex;flex-direction:column;gap:.5rem}.admin-form-group.full-width{grid-column:span 2}.admin-form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.admin-form-group input,.admin-form-group textarea,.admin-form-group select{background:var(--bg-primary);border:1.5px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:10px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s ease}.admin-form-group input:focus,.admin-form-group textarea:focus{border-color:#2563eb}.admin-form-actions{display:flex;gap:1rem;margin-top:2rem}.admin-btn-save{background:#2563eb;color:#fff}.admin-btn-cancel{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.admin-modal-form{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1.75rem;border-radius:16px;margin-bottom:2rem}.admin-modal-form h3{margin-bottom:1.25rem}.admin-item-list{display:flex;flex-direction:column;gap:1rem}.admin-list-item{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1.25rem 1.5rem;border-radius:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.admin-item-info h4{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.admin-item-meta{font-size:.85rem;color:#2563eb;font-weight:600;margin-bottom:.5rem}.admin-item-desc{font-size:.9rem;color:var(--text-muted);line-height:1.5}.admin-grab-handle{cursor:grab;color:var(--text-muted);font-size:1.1rem;padding:.25rem;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease}.admin-list-item:hover .admin-grab-handle,.admin-skill-card:hover .admin-grab-handle{opacity:1}.admin-grab-handle:active{cursor:grabbing}.admin-item-actions{display:flex;gap:.4rem;align-items:center}.admin-btn-icon{width:34px;height:34px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s ease}.admin-btn-icon.move{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.admin-btn-icon.move:hover:not(:disabled){background:#2563eb;color:#fff;border-color:#2563eb}.admin-btn-icon.move:disabled{opacity:.3;cursor:not-allowed}.admin-btn-icon.edit{background:#2563eb1f;color:#2563eb}.admin-btn-icon.edit:hover{background:#2563eb;color:#fff}.admin-btn-icon.delete{background:#ef44441f;color:#ef4444}.admin-btn-icon.delete:hover{background:#ef4444;color:#fff}.admin-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.admin-skill-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:5px solid #2563eb;border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.admin-skill-details{display:flex;align-items:center;gap:.75rem}.admin-skill-dot{width:12px;height:12px;border-radius:50%}.admin-skill-card h4{font-size:1rem;font-weight:700}.admin-skill-level{font-size:.8rem;color:var(--text-muted)}.color-picker-row{display:flex;align-items:center;gap:.75rem}.color-picker-row input[type=color]{width:44px;height:44px;padding:0;border:none;cursor:pointer;border-radius:8px}.admin-btn-logout{background:#ef44441f;color:#ef4444;border-color:#ef44444d}.admin-btn-logout:hover{background:#ef4444;color:#fff}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:2rem 1.5rem;font-family:Outfit,system-ui,sans-serif}.admin-login-card{width:100%;max-width:440px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:24px;padding:2.5rem;box-shadow:0 20px 60px #00000026;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:fadeIn .4s ease}.admin-login-header{text-align:center;margin-bottom:2rem}.admin-login-icon{width:64px;height:64px;background:#2563eb1f;color:#2563eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1.25rem}.admin-login-header h2{font-size:1.6rem;font-weight:800;margin-bottom:.5rem}.admin-login-header p{color:var(--text-muted);font-size:.9rem;line-height:1.5}.admin-login-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:12px;font-size:.85rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.admin-login-form{display:flex;flex-direction:column;gap:1.25rem}.admin-login-btn{width:100%;justify-content:center;padding:.85rem;font-size:1rem;margin-top:.5rem}.admin-login-footer{text-align:center;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.admin-back-link{color:var(--text-muted);font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease}.admin-back-link:hover{color:#2563eb}@media(max-width:768px){.admin-form-grid{grid-template-columns:1fr}.admin-form-group.full-width{grid-column:span 1}.admin-content-card{padding:1.5rem}}main{overflow-x:hidden}
