@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}a,button,.btn,.cta-btn,.social-icons a,.nav-actions,.theme-toggle,[role=button],input,select,.card,.project-card{transition:all .3s ease-in-out}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.hero-text a:not(.social-icons a),main a:not(.cta-btn),.footer-link{text-decoration:none;position:relative}.hero-text a:not(.social-icons a):after,main a:not(.cta-btn):after,.footer-link:after{content:"";background-color:var(--accent);transform-origin:100% 100%;width:100%;height:1px;transition:transform .25s ease-out;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.hero-text a:not(.social-icons a):hover:after,main a:not(.cta-btn):hover:after,.footer-link:hover:after{transform-origin:0 100%;transform:scaleX(1)}.cta-btn{position:relative;overflow:hidden}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.social-icons a{justify-content:center;align-items:center;display:inline-flex}.social-icons a:hover{color:var(--accent);transform:translateY(-3px)scale(1.1)}:root{--background:#f9fafb;--text-primary:#1f2937;--text-secondary:#4b5563;--accent:#58a6ff;--accent-hover:#4096ff;--border-color:#e5e7eb;--cta-bg:transparent;--cta-text:#58a6ff;--cta-border:#58a6ff;--cta-hover-bg:#58a6ff1a;--nav-bg:#f9fafb;--footer-text:#6b7280;--footer-icon:#6b7280;--footer-icon-hover:#4b5563;--hr-color:#e5e7eb}.dark{--background:#1d1e20;--text-primary:#dadadb;--text-secondary:#9b9c9d;--accent:#58a6ff;--accent-hover:#4096ff;--border-color:#374151;--cta-bg:transparent;--cta-text:#dadadb;--cta-border:#dadadb;--cta-hover-bg:#dadadb1a;--nav-bg:#1d1e20;--footer-text:#9b9c9d;--footer-icon:#9b9c9d;--footer-icon-hover:#dadadb;--hr-color:#9b9c9d}:root{--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-4xl:2.25rem;--fs-5xl:3rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-snug:1.375;--lh-normal:1.5;--lh-relaxed:1.625;--lh-loose:2;--ls-tighter:-.05em;--ls-tight:-.025em;--ls-normal:0;--ls-wide:.025em;--ls-wider:.05em}body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:var(--fs-base);line-height:var(--lh-normal);font-weight:var(--fw-regular);letter-spacing:var(--ls-normal);background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:900px;text-rendering:optimizeLegibility;margin:0 auto;padding:0;transition:background-color .3s,color .3s}h1{font-size:var(--fs-4xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:1.5rem}h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:1.25rem}h3{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);margin-bottom:1rem}h4{font-size:var(--fs-xl);font-weight:var(--fw-medium);line-height:var(--lh-snug);letter-spacing:var(--ls-normal);margin-bottom:.75rem}p{font-size:var(--fs-base);line-height:var(--lh-relaxed);margin-bottom:1rem}small{font-size:var(--fs-sm);line-height:var(--lh-normal)}@media screen and (max-width:768px){body{width:100%;padding:0 2rem}}a{color:var(--text-primary);transition:color .3s}a:hover{color:var(--accent)}li{list-style:none}.nav-container{background-color:var(--nav-bg);justify-content:space-between;align-items:center;padding:1rem 0;transition:background-color .3s;display:flex}.nav-container .logo{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--ls-tight);transition:color .3s}.nav-container .logo .logo-link{text-decoration:none;transition:all .3s;display:flex}.nav-container .logo .logo-text{font-size:calc(var(--fs-2xl)*1.1);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:var(--ls-wide);transition:color .3s}.nav-container .logo .logo-period{font-size:calc(var(--fs-2xl)*1.1);font-weight:var(--fw-semibold);color:var(--accent)}.nav-container .logo:hover .logo-text{color:var(--accent)}.cta-btn{background-color:var(--cta-bg);color:var(--cta-text);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);cursor:pointer;border:1px solid var(--cta-border);border-radius:6px;padding:.625rem 1.25rem;text-decoration:none;transition:all .25s ease-in-out;display:inline-block}.cta-btn:hover,.cta-btn:focus{background-color:var(--cta-hover-bg);border-color:var(--accent-hover);outline:none}hr{background-color:var(--hr-color);border:none;width:80%;height:1px;margin:0 auto;transition:background-color .3s}@media screen and (max-width:768px){hr{width:100%}}.footer-container{background-color:var(--background);justify-content:space-around;align-items:center;padding:2rem 0;transition:background-color .3s;display:flex}.footer-container p{font-size:var(--fs-sm);color:var(--footer-text);line-height:var(--lh-relaxed);transition:color .3s}.footer-container .social-icons{justify-content:space-between;align-items:center;gap:0 1.5rem;display:flex}.footer-container .social-icons a{color:var(--footer-icon);font-size:var(--fs-2xl);transition:all .2s ease-in-out}.footer-container .social-icons a:hover{color:var(--footer-icon-hover)}.hero-container{flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:2rem 0;display:flex}.hero-container .image-container{width:200px;height:200px;margin:0 auto;position:relative}.hero-container .image-placeholder{z-index:1;border-radius:50%;width:200px;height:200px;position:absolute;top:0;left:0}.hero-container .image-wrapper{z-index:2;position:relative}.hero-container .profile-img{object-fit:cover;border-radius:50%;width:200px;height:200px;margin:0 auto}.hero-container .hero-text{text-align:center;width:80%;margin:1rem 0}@media screen and (max-width:768px){.hero-container .hero-text{width:100%}}.hero-container .hero-text h1{font-size:var(--fs-4xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:1.25rem}.hero-container .hero-text h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:1.25rem}.hero-container .hero-text p{font-size:var(--fs-lg);font-weight:var(--fw-regular);line-height:var(--lh-relaxed);color:var(--text-secondary);margin-bottom:1.5rem}.hero-container .social-icons{justify-content:center;align-items:center;gap:0 1rem;display:flex}.hero-container .social-icons a{color:var(--footer-icon);font-size:var(--fs-2xl);transition:all .3s ease-in-out}.hero-container .social-icons a:hover{color:var(--footer-icon-hover)}.about-container{flex-direction:column;justify-content:center;align-items:center;padding:2rem 0;display:flex}.theme-toggle{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:background-color .3s,transform .2s;display:flex}.theme-toggle:hover{background-color:var(--border-color);transform:scale(1.1)}.theme-icon{width:1.25rem;height:1.25rem;color:var(--text-primary)}.about-container h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:1.5rem}.about-container .flex-about{align-items:center;display:flex}.about-container .flex-about .about-text{font-size:var(--fs-base);font-weight:var(--fw-regular);text-align:center;line-height:var(--lh-relaxed);margin-bottom:1.5rem}.about-container .flex-about .about-text p{font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-relaxed);color:var(--text-secondary);margin-bottom:1.5rem}.contact-container{flex-direction:column;justify-content:center;align-items:center;width:80%;margin:0 auto;padding:2rem 0 4rem;display:flex}@media screen and (max-width:768px){.contact-container{width:100%}}.contact-container h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:1.5rem}.contact-container p{font-size:var(--fs-base);font-weight:var(--fw-regular);text-align:center;line-height:var(--lh-relaxed);color:var(--text-secondary);margin-bottom:1.5rem}
