@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;font-family:inherit}#root{min-height:100vh;display:flex;flex-direction:column}.portfolio{flex:1;display:flex;flex-direction:column}main{flex:1}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:900px;margin:0 auto;padding:0 2rem}.loading,.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:2rem}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #333;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error h1{color:#e74c3c;margin-bottom:1rem}section{padding:4rem 0}section:first-child{padding-top:2rem}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:3rem;color:#2c3e50;position:relative}.section-title:after{content:"";display:block;width:60px;height:3px;background-color:#3498db;margin:1rem auto 0;border-radius:2px}a{color:#3498db;text-decoration:none;transition:color .3s ease}a:hover{color:#2980b9;text-decoration:underline}a:focus{outline:2px solid #3498db;outline-offset:2px;border-radius:2px}button{background:none;border:none;cursor:pointer;font-family:inherit}@media (max-width: 768px){.container{padding:0 1rem}section{padding:3rem 0}.section-title{font-size:2rem;margin-bottom:2rem}}@media (max-width: 480px){.container{padding:0 .75rem}section{padding:2rem 0}.section-title{font-size:1.75rem}}.hero{text-align:center;padding:4rem 0 6rem;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e9ecef}.hero-content{max-width:600px;margin:0 auto;padding:0 2rem}.profile-photo{margin-bottom:2rem}.profile-image{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid #ffffff;box-shadow:0 8px 32px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.profile-image:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.hero-name{font-size:3.5rem;font-weight:800;color:#2c3e50;margin-bottom:.5rem;line-height:1.2}.hero-title{font-size:1.5rem;font-weight:400;color:#7f8c8d;margin-bottom:1.5rem;font-style:italic}.hero-intro{font-size:1.125rem;line-height:1.7;color:#5a6c7d;max-width:500px;margin:0 auto}@media (max-width: 768px){.hero{padding:3rem 0 4rem}.hero-content{padding:0 1rem}.profile-image{width:120px;height:120px}.hero-name{font-size:2.5rem}.hero-title{font-size:1.25rem}.hero-intro{font-size:1rem}}@media (max-width: 480px){.hero{padding:2rem 0 3rem}.profile-image{width:100px;height:100px}.hero-name{font-size:2rem}.hero-title{font-size:1.125rem}}.work{background-color:#fff}.work-list{display:flex;flex-direction:column;gap:2rem}.work-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.work-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.work-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.work-title{font-size:1.5rem;font-weight:700;color:#2c3e50;margin:0}.work-company{font-size:1.125rem;font-weight:600;color:#3498db}.work-duration{font-size:.9rem;color:#7f8c8d;font-weight:500;background-color:#f8f9fa;padding:.25rem .75rem;border-radius:20px;align-self:flex-start}.work-description{font-size:1rem;line-height:1.6;color:#5a6c7d;margin:0}@media (max-width: 768px){.work-item{padding:1.5rem}.work-title{font-size:1.25rem}.work-company{font-size:1rem}.work-description{font-size:.9rem}}@media (max-width: 480px){.work-item{padding:1.25rem}.work-header{gap:.25rem}}.projects{background-color:#f8f9fa}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.project-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e9ecef}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.project-image{width:100%;height:200px;overflow:hidden;background-color:#f8f9fa;display:flex;align-items:center;justify-content:center}.project-screenshot{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-screenshot{transform:scale(1.05)}.project-content{padding:1.5rem}.project-name{font-size:1.25rem;font-weight:700;color:#2c3e50;margin-bottom:.75rem;line-height:1.3}.project-description{font-size:.95rem;line-height:1.6;color:#5a6c7d;margin-bottom:1.5rem}.project-links{display:flex;gap:1rem;flex-wrap:wrap}.project-link{display:inline-block;padding:.5rem 1rem;background-color:#3498db;color:#fff;border-radius:6px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s ease;border:1px solid #3498db}.project-link:hover{background-color:#2980b9;border-color:#2980b9;color:#fff;text-decoration:none;transform:translateY(-1px)}.project-link--demo{background-color:transparent;color:#3498db;border-color:#3498db}.project-link--demo:hover{background-color:#3498db;color:#fff}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-content{padding:1.25rem}.project-name{font-size:1.125rem}.project-description{font-size:.9rem}.project-links{gap:.75rem}.project-link{padding:.4rem .8rem;font-size:.85rem}}@media (max-width: 480px){.project-image{height:150px}.project-content{padding:1rem}.project-links{flex-direction:column}.project-link{text-align:center}}.skills{background-color:#fff}.skills-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.skill-badge{display:inline-block;padding:.15rem 1.5rem;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-radius:25px;font-size:.9rem;font-weight:600;text-align:center;transition:all .3s ease;box-shadow:0 2px 8px #3498db33;border:1px solid transparent}.skill-badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3498db4d;background:linear-gradient(135deg,#2980b9,#1f5f8b)}.skill-badge:focus{outline:2px solid #3498db;outline-offset:2px}@media (max-width: 768px){.skills-list{gap:.75rem}.skill-badge{padding:.6rem 1.25rem;font-size:.85rem}}@media (max-width: 480px){.skills-list{gap:.5rem}.skill-badge{padding:.5rem 1rem;font-size:.8rem}}.education{background-color:#f8f9fa}.education-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.education-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d;transition:transform .3s ease,box-shadow .3s ease;position:relative}.education-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.education-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:12px 0 0 12px}.education-degree{font-size:1.25rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem;line-height:1.3}.education-school{display:block;font-size:1rem;font-weight:600;color:#3498db;margin-bottom:.25rem}.education-years{display:block;font-size:.9rem;color:#7f8c8d;font-weight:500;background-color:#f8f9fa;padding:.25rem .75rem;border-radius:20px;align-self:flex-start;display:inline-block;margin-bottom:.5rem}.education-details{font-size:.9rem;line-height:1.6;color:#5a6c7d;margin:0;margin-top:.5rem}@media (max-width: 768px){.education-item{padding:1.5rem}.education-degree{font-size:1.125rem}.education-school{font-size:.95rem}.education-years{font-size:.85rem}}@media (max-width: 480px){.education-item{padding:1.25rem}.education-degree{font-size:1rem}.education-school{font-size:.9rem}}.footer{background-color:#2c3e50;color:#fff;padding:3rem 0 1rem;margin-top:4rem}.footer-content{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;margin-bottom:2rem}.footer-contact h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#fff}.footer-contact p{font-size:1rem;color:#bdc3c7;margin:0}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-link{display:inline-block;padding:.75rem 1.5rem;background-color:transparent;color:#bdc3c7;border:2px solid #34495e;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s ease;text-align:center}.footer-link:hover{background-color:#3498db;border-color:#3498db;color:#fff;text-decoration:none;transform:translateY(-2px)}.footer-link:focus{outline:2px solid #3498db;outline-offset:2px}.footer-bottom{border-top:1px solid #34495e;padding-top:1.5rem;text-align:center}.footer-bottom p{font-size:.9rem;color:#95a5a6;margin:0}@media (max-width: 768px){.footer{padding:2rem 0 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem;text-align:center}.footer-links{justify-content:center;gap:1rem}.footer-link{padding:.6rem 1.25rem;font-size:.85rem}}@media (max-width: 480px){.footer{padding:1.5rem 0 1rem}.footer-content{gap:1rem}.footer-contact h3{font-size:1.25rem}.footer-contact p{font-size:.9rem}.footer-links{flex-direction:column;gap:.75rem}.footer-link{padding:.5rem 1rem}}
