body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary:#2563eb;--color-secondary:#7c3aed;--color-background:#fff;--color-surface:#f8fafc;--color-text:#0f172a;--color-text-secondary:#475569;--color-accent:#06b6d4;--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-heading:var(--font-family-base);--font-size-h1:3rem;--font-size-h2:2rem;--font-size-h3:1.5rem;--font-size-body:1rem;--font-size-small:0.875rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:4rem;--transition-fast:200ms ease;--transition-base:300ms ease;--transition-slow:400ms ease}[data-theme=dark]{--color-primary:#60a5fa;--color-secondary:#a78bfa;--color-background:#0f172a;--color-surface:#1e293b;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-accent:#22d3ee;--color-button-primary:#1d4ed8;--color-button-secondary:#6d28d9}@media screen and (max-width:768px){:root{--font-size-h1:2rem;--font-size-h2:1.5rem;--font-size-h3:1.25rem;--spacing-2xl:2rem}}@font-face{font-family:Billy;src:url(/static/media/billy.5be87b49476de00d6d65.woff) format("woff"),url(/static/media/billy.ae125d11cc82dc015564.woff2) format("woff2"),url(/static/media/billy.28764b9258b35cfc516a.ttf) format("truetype")}html{scroll-behavior:smooth;scroll-padding-top:2rem}*{box-sizing:border-box}body,html{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family-base);margin:0;padding:0;transition:background-color var(--transition-base),color var(--transition-base)}#root,body,html{max-width:100vw;overflow-x:hidden!important;width:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.theme-toggle{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:2px solid var(--color-primary);border-radius:50%;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;font-size:1.5rem;height:3rem;justify-content:center;overflow:hidden;position:fixed;right:1rem;top:1rem;transition:all var(--transition-base);width:3rem;z-index:1000}.theme-toggle:before{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:50%;content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-base);z-index:-1}.theme-toggle:hover{border-color:#0000;box-shadow:0 6px 20px #0003,0 0 30px #2563eb4d;transform:scale(1.15) rotate(15deg)}.theme-toggle:hover:before{opacity:1}.theme-toggle:focus{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle:active{transform:scale(.95) rotate(0deg)}@media screen and (max-width:768px){.theme-toggle{font-size:1.25rem;height:44px;width:44px}}[data-theme=dark] .theme-toggle{background:#1e293bb3;border:2px solid var(--color-primary)}[data-theme=dark] .theme-toggle:hover{box-shadow:0 6px 20px #0006,0 0 30px #60a5fa66}.App{background-color:var(--color-background);box-sizing:border-box;display:flex;flex-direction:column;max-width:100vw;min-height:100vh;overflow-x:hidden!important;padding:0;width:100%}.App .section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:var(--color-text);display:inline-block;font-family:var(--font-family-heading);font-size:var(--font-size-h2);font-weight:700;margin:0 0 var(--spacing-xl) 0;padding:1em 0 0;position:relative;transition:color var(--transition-base),transform var(--transition-base)}.App .section-title:after{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:2px;bottom:-8px;content:"";height:4px;left:0;position:absolute;transition:width var(--transition-base);width:60px}.App .section-title:hover{transform:translateX(4px)}.App .section-title:hover:after{width:100%}@media screen and (min-width:768px){.App .section-title{font-size:2.5rem}}@media screen and (max-width:768px){.App .section-title{font-size:1.75rem;margin-bottom:var(--spacing-lg)}}.hero-section{align-items:center;animation:gradientFloat 15s ease infinite;background:linear-gradient(135deg,#2563eb26,#7c3aed26 50%,#06b6d426);background-size:200% 200%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--spacing-2xl) var(--spacing-xl);position:relative}[data-theme=dark] .hero-section{background:linear-gradient(135deg,#2563eb40,#7c3aed40 50%,#06b6d440);background-size:200% 200%}@media screen and (max-width:768px){.hero-section{min-height:auto;padding:var(--spacing-xl) var(--spacing-md);padding-top:4rem}}@media (prefers-reduced-motion:reduce){.hero-section{animation:none}}@keyframes gradientFloat{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.hero-background{background:#0000;bottom:0;left:0;opacity:1;overflow:hidden;position:absolute;right:0;top:0;z-index:0}.hero-background:before{animation:gradientShift 15s ease infinite;background:radial-gradient(circle,var(--color-accent) 0,#0000 70%);content:"";height:200%;left:-50%;opacity:.3;position:absolute;top:-50%;width:200%}.gradient-orb{animation:float 20s ease-in-out infinite;border-radius:50%;filter:blur(80px);opacity:.6;position:absolute}.gradient-orb.orb-1{animation-delay:0s;background:radial-gradient(circle,var(--color-primary),#0000);height:400px;left:-10%;top:-10%;width:400px}.gradient-orb.orb-2{animation-delay:-7s;background:radial-gradient(circle,var(--color-secondary),#0000);bottom:-15%;height:500px;right:-15%;width:500px}.gradient-orb.orb-3{animation-delay:-14s;background:radial-gradient(circle,var(--color-accent),#0000);height:350px;left:50%;top:50%;transform:translate(-50%,-50%);width:350px}@media (prefers-reduced-motion:reduce){.gradient-orb{animation:none}}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes gradientShift{0%,to{transform:translate(0)}50%{transform:translate(10%,10%)}}.hero-content{align-items:center;animation:heroFadeIn 1s ease-out;display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:1200px;position:relative;width:100%;z-index:1}@media screen and (max-width:768px){.hero-content{gap:var(--spacing-lg)}}.hero-image-wrapper{animation:heroImageFadeIn 1.2s ease-out;position:relative}.hero-image{border:4px solid var(--color-primary);border-radius:50%;box-shadow:none;height:200px;max-width:100%;object-fit:cover;position:relative;transition:transform var(--transition-base),border-color var(--transition-base);width:200px;z-index:2}.hero-image:hover{transform:scale(1.05)}@media screen and (min-width:768px) and (max-width:1023px){.hero-image{height:180px;width:180px}}@media screen and (max-width:767px){.hero-image{height:150px;width:150px}}.hero-image-glow{animation:pulse 3s ease-in-out infinite;background:radial-gradient(circle,var(--color-primary),var(--color-secondary));border-radius:50%;filter:blur(30px);height:220px;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%);width:220px;z-index:1}@media screen and (max-width:768px){.hero-image-glow{height:170px;width:170px}}@media (prefers-reduced-motion:reduce){.hero-image-glow{animation:none}}@keyframes pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.1)}}.hero-intro-card{animation:heroCardFadeIn 1.4s ease-out;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 8px 32px #0000001a;overflow:hidden;padding:var(--spacing-2xl);position:relative;text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.hero-intro-card:before{background:linear-gradient(135deg,#2563eb0d,#7c3aed0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.hero-intro-card>*{position:relative;z-index:1}.hero-intro-card:hover{box-shadow:0 16px 64px #0003,0 0 40px #2563eb1a;transform:translateY(-8px) scale(1.02)}@media screen and (max-width:768px){.hero-intro-card{border-radius:16px;padding:var(--spacing-xl)}}[data-theme=dark] .hero-intro-card{background:#1e293b80;border:1px solid #ffffff26}[data-theme=dark] .hero-intro-card:before{background:linear-gradient(135deg,#60a5fa14,#a78bfa14)}[data-theme=dark] .hero-intro-card:hover{box-shadow:0 16px 64px #0006,0 0 40px #60a5fa26}.hero-name{font-family:var(--font-family-heading);font-size:var(--font-size-h1);font-weight:700;line-height:1.2;margin:0 0 var(--spacing-sm) 0}@media screen and (max-width:768px){.hero-name{font-size:2rem}}.hero-name-text{-webkit-text-fill-color:#0000;animation:gradientSlide 3s ease infinite;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;background-size:200% 200%}@keyframes gradientSlide{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.hero-title{color:var(--color-text-secondary);font-size:var(--font-size-h2);font-weight:500;margin:0 0 var(--spacing-md) 0}@media screen and (max-width:768px){.hero-title{font-size:1.5rem}}.typing-text{animation:typing 2s steps(20) 1s forwards,blink .75s step-end infinite;border-right:3px solid var(--color-primary);display:inline-block;max-width:0;overflow:hidden;padding-right:4px;white-space:nowrap}@media (prefers-reduced-motion:reduce){.typing-text{animation:none;border-right:none;max-width:100%}}@keyframes typing{0%{max-width:0}to{max-width:100%}}@keyframes blink{50%{border-color:#0000}}.hero-tagline{animation:fadeInUp 1s ease-out 1.5s forwards;color:var(--color-text-secondary);font-size:var(--font-size-body);font-style:italic;margin:var(--spacing-md) 0 0 0;opacity:0}@media screen and (max-width:768px){.hero-tagline{font-size:.875rem}}@media (prefers-reduced-motion:reduce){.hero-tagline{animation:none;opacity:1}}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroImageFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes heroCardFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.content-divider{background:linear-gradient(90deg,var(--color-primary),var(--color-accent),var(--color-secondary));border-radius:2px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;height:3px;margin:var(--spacing-2xl) 0;max-width:100%;position:relative;transition:all var(--transition-base);width:100%}.content-divider:after{animation:dividerPulse 3s ease-in-out infinite;background:inherit;content:"";filter:blur(12px);height:100%;left:50%;opacity:.6;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}@media screen and (min-width:1024px){.content-divider{height:4px;margin:var(--spacing-2xl) auto;max-width:90%}}@media screen and (min-width:768px) and (max-width:1023px){.content-divider{height:3px;margin:var(--spacing-xl) auto;max-width:95%}}@media screen and (max-width:767px){.content-divider{height:2px;margin:var(--spacing-xl) 0;width:100%}}[data-theme=dark] .content-divider{box-shadow:0 2px 8px #0006}[data-theme=dark] .content-divider:after{opacity:.8}@keyframes dividerPulse{0%,to{opacity:.6}50%{opacity:.9}}h1{margin:0}h2{margin:1}.skills-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--spacing-xl)}@media screen and (min-width:1024px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media screen and (min-width:768px) and (max-width:1023px){.skills-grid{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:767px){.skills-grid{gap:var(--spacing-lg);grid-template-columns:1fr}}.skill-category{animation:fadeInUp .6s ease-out both;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:var(--spacing-lg);position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base)}.skill-category:before{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:12px;content:"";inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:2px;position:absolute;transition:opacity var(--transition-base)}.skill-category:hover{box-shadow:0 8px 24px #00000026,0 0 30px #2563eb1a;transform:translateY(-8px) scale(1.02)}.skill-category:hover:before{opacity:1}[data-theme=dark] .skill-category{background:#1e293b99;border:1px solid #ffffff26;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .skill-category:hover{box-shadow:0 8px 24px #00000080,0 0 30px #60a5fa26}.category-title{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary)) 0 100% no-repeat;background-size:100% 2px;border-bottom:2px solid #0000;color:var(--color-text);font-size:var(--font-size-h3);font-weight:600;margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);transition:background-size var(--transition-base)}.skill-category:hover .category-title{background-size:100% 3px}.skills-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.skill-badge{background:linear-gradient(135deg,var(--color-button-primary,var(--color-primary)),var(--color-button-secondary,var(--color-secondary)));border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:default;display:inline-block;font-size:var(--font-size-small);font-weight:500;padding:var(--spacing-xs) var(--spacing-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.skill-badge:hover{box-shadow:0 4px 12px #0003,0 0 20px #2563eb4d;transform:scale(1.1) translateY(-2px)}[data-theme=dark] .skill-badge:hover{box-shadow:0 4px 12px #0006,0 0 20px #60a5fa66}.skills{font-family:Billy,sans-serif;margin-bottom:5vh}@media screen and (min-width:768px){.skills{margin-bottom:10vh}}.skills p{max-width:90vw;padding:0 3em}@media screen and (min-width:768px){.skills p{max-width:40vw}}.skills ul{display:flex;flex-direction:row;flex-wrap:wrap;gap:1em;justify-content:flex-start;list-style:none;margin:.75em 0;max-width:80vw}@media screen and (min-width:768px){.skills ul{font-size:2.5vw;padding:0 3em}}@media screen and (max-width:768px){.skills ul{font-size:6vw;padding:0 0 0 .25em}}.skills ul li{background-color:#66e3ab;border:2px solid #000;box-shadow:5px 10px #000;-webkit-box-shadow:5px 10px #000;-moz-box-shadow:5px 10px #000;color:#dd7251;margin:1em 0;padding:.35em .25em}.contact-section{text-align:center}.contact-intro{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:1.6;margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;max-width:600px}.contact-links-container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xl);justify-content:center;margin-top:var(--spacing-xl)}@media screen and (max-width:768px){.contact-links-container{gap:var(--spacing-lg)}}.contact-link{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:44px;min-width:44px;padding:var(--spacing-sm);text-decoration:none;transition:transform var(--transition-base)}.contact-link:hover{transform:translateY(-8px)}.contact-link:focus{border-radius:8px;outline:2px solid var(--color-accent);outline-offset:4px}.contact-icon-wrapper{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 4px 16px #0000001a;display:flex;height:80px;justify-content:center;overflow:hidden;position:relative;transition:all var(--transition-base);width:80px}.contact-icon-wrapper:before{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));bottom:0;left:0;right:0;top:0}.contact-icon-wrapper:after,.contact-icon-wrapper:before{content:"";opacity:0;position:absolute;transition:opacity var(--transition-base)}.contact-icon-wrapper:after{background:linear-gradient(135deg,var(--color-primary),var(--color-accent),var(--color-secondary));border-radius:16px;inset:-3px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:3px}.contact-link:hover .contact-icon-wrapper{box-shadow:0 12px 40px #00000040,0 0 40px #2563eb33;transform:scale(1.15) rotate(5deg)}.contact-link:hover .contact-icon-wrapper:before{opacity:.15}.contact-link:hover .contact-icon-wrapper:after{opacity:1}@media screen and (max-width:768px){.contact-icon-wrapper{height:64px;width:64px}}[data-theme=dark] .contact-icon-wrapper{background:#1e293b99;border:1px solid #ffffff26;box-shadow:0 4px 16px #0000004d}[data-theme=dark] .contact-link:hover .contact-icon-wrapper{box-shadow:0 12px 40px #0009,0 0 40px #60a5fa4d}.contact-icon{height:40px;object-fit:contain;position:relative;transition:filter var(--transition-base);width:40px;z-index:1}@media screen and (max-width:768px){.contact-icon{height:32px;width:32px}}[data-theme=dark] .contact-icon{filter:brightness(0) invert(1)}[data-theme=dark] .contact-link[data-platform=linkedin] .contact-icon{filter:brightness(1.2)}[data-theme=dark] .contact-link[data-platform=email] .contact-icon{filter:brightness(0) invert(1)}.contact-label{color:var(--color-text);font-size:var(--font-size-small);font-weight:500;transition:color var(--transition-fast)}.contact-link:hover .contact-label{color:var(--color-primary)}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes delayFadein{0%{opacity:0}40%{opacity:0}to{opacity:1}}.about-section,.contact-section,.projects-section,.skills-section,.work-experience-section{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:var(--spacing-2xl) var(--spacing-xl);position:relative;width:100%}.about-section:before,.contact-section:before,.projects-section:before,.skills-section:before,.work-experience-section:before{background:radial-gradient(ellipse at top,#2563eb08,#0000 70%);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}@media screen and (max-width:768px){.about-section,.contact-section,.projects-section,.skills-section,.work-experience-section{padding:var(--spacing-xl) var(--spacing-md)}}[data-theme=dark] .about-section:before,[data-theme=dark] .contact-section:before,[data-theme=dark] .projects-section:before,[data-theme=dark] .skills-section:before,[data-theme=dark] .work-experience-section:before{background:radial-gradient(ellipse at top,#60a5fa0d,#0000 70%)}.about-card{animation:fadeInUp .6s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 4px 16px #0000001a;overflow:hidden;padding:var(--spacing-xl);position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base)}.about-card:after{background:linear-gradient(90deg,#0000,#2563eb1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.about-card:hover{box-shadow:0 12px 32px #00000026,0 0 30px #2563eb14;transform:translateY(-8px) scale(1.01)}.about-card:hover:after{left:100%}@media screen and (max-width:768px){.about-card{border-radius:12px;padding:var(--spacing-lg)}}[data-theme=dark] .about-card{background:#1e293b99;border:1px solid #ffffff26;box-shadow:0 4px 16px #0000004d}[data-theme=dark] .about-card:after{background:linear-gradient(90deg,#0000,#60a5fa26,#0000)}[data-theme=dark] .about-card:hover{box-shadow:0 12px 32px #00000080,0 0 30px #60a5fa1f}.about-text{color:var(--color-text);font-size:var(--font-size-body);line-height:1.6;margin:0 0 var(--spacing-md) 0}.about-text:last-child{margin-bottom:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-section,.contact-section,.projects-section,.skills-section,.work-experience-section{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.about-section.animate-in,.contact-section.animate-in,.projects-section.animate-in,.skills-section.animate-in,.work-experience-section.animate-in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.about-section,.contact-section,.projects-section,.skills-section,.work-experience-section{opacity:1;transform:none;transition:none}}.timeline{padding-left:var(--spacing-xl);position:relative}@media screen and (max-width:768px){.timeline{padding-left:var(--spacing-lg)}}.timeline:before{background:linear-gradient(to bottom,var(--color-primary),var(--color-secondary));bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.timeline-item{animation:fadeInUp .6s ease-out both;margin-bottom:var(--spacing-xl);position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:3px solid var(--color-background);border-radius:50%;box-shadow:0 0 0 2px var(--color-primary),0 0 12px #2563eb66;height:14px;left:calc(var(--spacing-xl)*-1 - 6px);position:absolute;top:8px;transition:transform var(--transition-base),box-shadow var(--transition-base);width:14px;z-index:1}.timeline-item:hover .timeline-marker{box-shadow:0 0 0 3px var(--color-primary),0 0 20px #2563eb99;transform:scale(1.3)}@media screen and (max-width:768px){.timeline-marker{left:calc(var(--spacing-lg)*-1 - 6px)}}[data-theme=dark] .timeline-marker{box-shadow:0 0 0 2px var(--color-primary),0 0 12px #60a5fa80}.timeline-item:hover [data-theme=dark] .timeline-marker{box-shadow:0 0 0 3px var(--color-primary),0 0 20px #60a5fab3}.timeline-content{padding-left:var(--spacing-lg)}.experience-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:var(--spacing-lg);position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base)}.experience-card:before{background:linear-gradient(135deg,#2563eb08,#7c3aed08);border-radius:12px;bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.experience-card:hover{box-shadow:0 8px 24px #00000026,0 0 30px #2563eb14;transform:translateX(12px) scale(1.01)}.experience-card:hover:before{opacity:1}[data-theme=dark] .experience-card{background:#1e293b99;border:1px solid #ffffff26;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .experience-card:before{background:linear-gradient(135deg,#60a5fa0d,#a78bfa0d)}[data-theme=dark] .experience-card:hover{box-shadow:0 8px 24px #00000080,0 0 30px #60a5fa1f}.experience-header{margin-bottom:var(--spacing-sm)}.experience-role{color:var(--color-text);font-size:var(--font-size-h3);font-weight:600;margin:0 0 var(--spacing-xs) 0}.experience-company{color:var(--color-primary);font-size:var(--font-size-body);font-weight:500}.experience-dates{color:var(--color-text-secondary);font-size:var(--font-size-small);font-style:italic;margin-bottom:var(--spacing-md)}.experience-description{color:var(--color-text);font-size:var(--font-size-body);line-height:1.6;margin:0}.projects-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:var(--spacing-xl)}@media screen and (min-width:1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media screen and (min-width:768px) and (max-width:1023px){.projects-grid{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:767px){.projects-grid{gap:var(--spacing-lg);grid-template-columns:1fr}}.project-images-comparison{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-md)}@media screen and (max-width:768px){.project-images-comparison{gap:var(--spacing-md);grid-template-columns:1fr}}.project-image-container{border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;transition:transform var(--transition-base);width:100%}.project-images-comparison .project-image-container{margin-bottom:0}.project-card:hover .project-image-container{transform:scale(1.02)}.project-image-container:not(.project-images-comparison .project-image-container){margin-bottom:var(--spacing-md)}.image-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;border-radius:4px;color:#fff;font-size:var(--font-size-small);font-weight:600;left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);position:absolute;top:var(--spacing-sm);z-index:2}.project-image{background:#00000005;display:block;height:auto;object-fit:contain;width:100%}[data-theme=dark] .project-image{background:#ffffff05}.project-card{animation:fadeInUp .6s ease-out both;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 4px 16px #0000001a;display:flex;flex-direction:column;gap:var(--spacing-md);overflow:hidden;padding:var(--spacing-xl);position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base)}.project-card:before{background:linear-gradient(135deg,#2563eb0d,#7c3aed0d);bottom:0;left:0;pointer-events:none;right:0;top:0}.project-card:after,.project-card:before{content:"";opacity:0;position:absolute;transition:opacity var(--transition-base)}.project-card:after{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:16px;inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px}.project-card>*{position:relative;z-index:1}.project-card:hover{box-shadow:0 16px 48px #0003,0 0 40px #2563eb26;transform:translateY(-12px) scale(1.02)}.project-card:hover:before{opacity:1}.project-card:hover:after{opacity:.6}@media screen and (max-width:768px){.project-card{border-radius:12px;padding:var(--spacing-lg)}}[data-theme=dark] .project-card{background:#1e293b80;border:1px solid #ffffff26;box-shadow:0 4px 16px #0000004d}[data-theme=dark] .project-card:before{background:linear-gradient(135deg,#60a5fa14,#a78bfa14)}[data-theme=dark] .project-card:hover{box-shadow:0 16px 48px #00000080,0 0 40px #60a5fa33}.project-header{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-title{color:var(--color-text);font-size:var(--font-size-h3);font-weight:600;line-height:1.3;margin:0}.project-company{color:var(--color-primary);font-size:var(--font-size-small);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.project-description{color:var(--color-text);flex-grow:1;font-size:var(--font-size-body);line-height:1.6;margin:0}.project-technologies{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.tech-badge{background:linear-gradient(135deg,var(--color-button-primary,var(--color-primary)),var(--color-button-secondary,var(--color-secondary)));border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:default;display:inline-block;font-size:var(--font-size-small);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.tech-badge:hover{box-shadow:0 4px 12px #0003,0 0 20px #2563eb4d;transform:scale(1.15) translateY(-2px)}[data-theme=dark] .tech-badge:hover{box-shadow:0 4px 12px #0006,0 0 20px #60a5fa66}.project-impact{background:linear-gradient(90deg,#06b6d41a,#06b6d40d);border-left:3px solid var(--color-accent);border-radius:8px;color:var(--color-text-secondary);font-size:var(--font-size-small);overflow:hidden;padding:var(--spacing-sm) var(--spacing-md);position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.project-impact:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.project-impact:hover{box-shadow:0 2px 8px #06b6d433;transform:translateX(4px)}.project-impact:hover:before{left:100%}[data-theme=dark] .project-impact{background:linear-gradient(90deg,#22d3ee26,#22d3ee14)}[data-theme=dark] .project-impact:hover{box-shadow:0 2px 8px #22d3ee4d}.project-impact strong{color:var(--color-accent);font-weight:600}.project-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:var(--font-size-body);font-weight:500;gap:var(--spacing-xs);margin-top:var(--spacing-sm);min-height:44px;padding:var(--spacing-sm) var(--spacing-md);position:relative;text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast),text-shadow var(--transition-fast)}.project-link:after{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));bottom:0;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-base);width:0}@media screen and (max-width:768px){.project-link{padding:var(--spacing-md) var(--spacing-lg)}}.project-link:hover{color:var(--color-secondary);text-shadow:0 0 20px #2563eb4d;transform:translateX(8px)}.project-link:hover:after{width:100%}.project-link:focus{border-radius:4px;outline:2px solid var(--color-accent);outline-offset:2px}[data-theme=dark] .project-link:hover{text-shadow:0 0 20px #60a5fa66}.lightbox-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000e6;bottom:0;cursor:zoom-out;display:flex;justify-content:center;left:0;padding:var(--spacing-xl);position:fixed;right:0;top:0;z-index:2000}@media screen and (max-width:768px){.lightbox-overlay{padding:var(--spacing-md)}}.lightbox-close{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:var(--color-text);cursor:pointer;display:flex;font-size:1.5rem;height:48px;justify-content:center;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);transition:all var(--transition-base);width:48px;z-index:2001}.lightbox-close:hover{background:#fff;box-shadow:0 4px 16px #0006;transform:scale(1.1) rotate(90deg)}.lightbox-close:focus{outline:2px solid var(--color-accent);outline-offset:2px}@media screen and (max-width:768px){.lightbox-close{height:44px;right:var(--spacing-md);top:var(--spacing-md);width:44px}}.lightbox-image{animation:zoomIn .3s ease-out;border-radius:8px;box-shadow:0 8px 32px #00000080;cursor:default;max-height:90vh;max-width:90%;object-fit:contain}@media screen and (max-width:768px){.lightbox-image{max-height:85vh;max-width:95%}}.project-image-container.clickable{cursor:zoom-in}.project-image-container.clickable:hover .project-image{opacity:.9}.project-image-container.clickable:focus{border-radius:12px;outline:2px solid var(--color-accent);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
/*# sourceMappingURL=main.6e27ec60.css.map*/