*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa;color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-top:80px}.container{margin:0 auto;max-width:1200px;padding:0 20px}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem}h1{color:#1f2937;font-size:2.5rem}h2{color:#374151;font-size:2rem}h3{color:#4b5563;font-size:1.5rem}p{color:#6b7280;margin-bottom:1rem}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb;transform:translateY(-2px)}.btn-secondary{background-color:initial;border:2px solid #3b82f6;color:#3b82f6}.btn-secondary:hover{background-color:#3b82f6;color:#fff;transform:translateY(-2px)}section{padding:80px 0}@media (max-width:768px){.container{padding:0 16px}h1{font-size:2rem}h2{font-size:1.75rem}section{padding:60px 0}.btn{font-size:.9rem;padding:10px 20px}}@media (max-width:480px){h1{font-size:1.75rem}h2{font-size:1.5rem}section{padding:40px 0}}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;border-bottom:1px solid #e5e7eb;left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.navbar-container{align-items:center;display:flex;height:80px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.navbar-logo{color:#1f2937;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .3s ease}.navbar-logo:hover{color:#3b82f6}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text}.navbar-menu{align-items:center;display:flex;gap:2rem}.nav-link{border-radius:8px;color:#6b7280;font-weight:500;padding:8px 16px;position:relative;text-decoration:none;transition:all .3s ease}.nav-link:hover{background-color:#f3f4f6;color:#3b82f6}.nav-link.active{background-color:#eff6ff;color:#3b82f6}.navbar-toggle{cursor:pointer;display:none;flex-direction:column;padding:8px}.hamburger{background-color:#6b7280;border-radius:2px;height:3px;margin:3px 0;transition:.3s;width:25px}.hamburger.active:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active:nth-child(2){opacity:0}.hamburger.active:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width:768px){.navbar-menu{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffffa;flex-direction:column;gap:1rem;height:calc(100vh - 80px);justify-content:flex-start;left:-100%;padding-top:2rem;position:fixed;top:80px;transition:left .3s ease;width:100%}.navbar-menu.active{left:0}.nav-link{border-radius:12px;font-size:1.1rem;padding:12px 24px;text-align:center;width:80%}.navbar-toggle{display:flex}}@media (max-width:480px){.navbar-container{padding:0 16px}.navbar-logo{font-size:1.25rem}}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;overflow:hidden;padding:120px 0 80px;position:relative}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='75' cy='75' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='50' cy='10' r='.5' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='10' cy='60' r='.5' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='90' cy='40' r='.5' fill='rgba(255,255,255,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.hero-container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:0 20px;position:relative;z-index:1}.hero-content{max-width:600px}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1rem}.highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#e5e7eb;font-size:1.5rem;font-weight:500;margin-bottom:1.5rem}.hero-description{color:#d1d5db;font-size:1.1rem;line-height:1.7;margin-bottom:2rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem}.hero-buttons .btn{min-width:140px}.hero-image,.profile-placeholder{align-items:center;display:flex;justify-content:center}.profile-placeholder{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:50%;box-shadow:0 20px 40px #0000001a;font-size:8rem;height:300px;width:300px}.profile-placeholder img{border-radius:50%!important;height:200px!important;object-fit:cover;width:200px!important}@media (max-width:1024px){.hero-container{gap:3rem}.hero-title{font-size:3rem}.profile-placeholder{font-size:6rem;height:250px;width:250px}}@media (max-width:768px){.hero{padding:100px 0 60px}.hero-container{gap:2rem;grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.hero-buttons{justify-content:center}.profile-placeholder{font-size:5rem;height:200px;width:200px}}@media (max-width:480px){.hero{padding:80px 0 40px}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{align-items:center;flex-direction:column}.hero-buttons .btn{max-width:280px;width:100%}.profile-placeholder{font-size:4rem;height:150px;width:150px}}.skills-section{background-color:#fff;padding:80px 0}.skills-intro{color:#6b7280;font-size:1.1rem;margin:0 auto 3rem;max-width:600px;text-align:center}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:3rem}.skill-category{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;transition:all .3s ease}.skill-category:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px)}.category-title{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.category-title:before{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:2px;content:"";height:20px;width:4px}.skills-list{display:flex;flex-wrap:wrap;gap:.75rem}.skill-item{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#374151;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.skill-item:hover{background:#3b82f6;box-shadow:0 4px 8px #3b82f64d;color:#fff;transform:translateY(-2px)}.loading{color:#6b7280;font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:768px){.skills-section{padding:60px 0}.skills-grid{gap:1.5rem;grid-template-columns:1fr}.skill-category{padding:1.5rem}.skills-intro{font-size:1rem;margin-bottom:2rem}}@media (max-width:480px){.skills-section{padding:40px 0}.skill-category{padding:1.25rem}.skills-list{gap:.5rem}.skill-item{font-size:.85rem;padding:.4rem .8rem}}.contact-section{padding:80px 0}.contact-form{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin:0 auto;max-width:600px;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{min-height:120px;resize:vertical}.submit-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 8px 16px #3b82f64d;transform:translateY(-2px)}.submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.submit-btn:disabled,.submit-btn:disabled:hover{box-shadow:none;transform:none}.form-group input:invalid,.form-group textarea:invalid{border-color:#ef4444}.form-group input:invalid:focus,.form-group textarea:invalid:focus{box-shadow:0 0 0 3px #ef44441a}@media (max-width:768px){.contact-section{padding:60px 0}.contact-form{margin:0 1rem;padding:2rem}.form-group{margin-bottom:1.25rem}.submit-btn{font-size:1rem;padding:.875rem}}@media (max-width:480px){.contact-section{padding:40px 0}.contact-form{margin:0 .5rem;padding:1.5rem}.form-group input,.form-group textarea{font-size:.95rem;padding:.625rem .875rem}.submit-btn{font-size:.95rem;padding:.75rem}}.home{min-height:100vh}.contact-section{background-color:#f9fafb}.contact-section h2{color:#1f2937;margin-bottom:1rem;text-align:center}.contact-section p{color:#6b7280;font-size:1.1rem;line-height:1.6;margin:0 auto 3rem;max-width:600px;text-align:center}.alert{border-radius:.5rem;font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}.alert-success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.alert-error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}@media (max-width:768px){.contact-section p{font-size:1rem;margin-bottom:2rem}}@media (max-width:480px){.contact-section p{font-size:.95rem;margin-bottom:1.5rem}}.project-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.project-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-8px)}.project-image{height:200px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-category{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3b82f6e6;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem}.project-content{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.project-title{color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.3;margin-bottom:1rem}.project-description{color:#6b7280;flex:1 1;line-height:1.6;margin-bottom:1.5rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:15px;color:#374151;font-size:.8rem;font-weight:500;padding:.375rem .75rem;transition:all .3s ease}.tech-tag:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}.project-links{display:flex;gap:1rem;margin-top:auto}.project-link{border-radius:8px;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.demo-link{background:#3b82f6;color:#fff}.demo-link:hover{background:#2563eb;box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.repo-link{background:#0000;border:2px solid #3b82f6;color:#3b82f6}.repo-link:hover{background:#3b82f6;box-shadow:0 4px 8px #3b82f64d;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.project-content{padding:1.25rem}.project-title{font-size:1.1rem}.project-description{font-size:.95rem}.project-links{flex-direction:column;gap:.75rem}.project-link{font-size:.85rem;padding:.625rem 1.25rem}}@media (max-width:480px){.project-content{padding:1rem}.project-image{height:180px}.project-category{font-size:.75rem;padding:.375rem .75rem;right:.75rem;top:.75rem}.tech-tag{font-size:.75rem;padding:.25rem .625rem}}.projects-page{background-color:#fff;padding:80px 0}.projects-intro{color:#6b7280;font-size:1.1rem;line-height:1.7;margin:0 auto 3rem;max-width:700px;text-align:center}.filter-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:25px;color:#6b7280;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.filter-btn:hover{border-color:#3b82f6;color:#3b82f6;transform:translateY(-2px)}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 8px #3b82f64d;color:#fff}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.error,.loading,.no-projects{color:#6b7280;font-size:1.1rem;padding:4rem 2rem;text-align:center}.error{color:#ef4444}.no-projects{color:#9ca3af;font-style:italic}@media (max-width:768px){.projects-page{padding:60px 0}.projects-intro{font-size:1rem;margin-bottom:2rem}.filter-buttons{gap:.75rem;margin-bottom:2rem}.filter-btn{font-size:.9rem;padding:.625rem 1.25rem}.projects-grid{gap:1.5rem;grid-template-columns:1fr}.error,.loading,.no-projects{font-size:1rem;padding:3rem 1rem}}@media (max-width:480px){.projects-page{padding:40px 0}.filter-buttons{align-items:center;flex-direction:column;gap:.5rem}.filter-btn{max-width:200px;padding:.75rem 1rem;width:100%}.projects-grid{gap:1rem}.error,.loading,.no-projects{padding:2rem .5rem}}.admin{background-color:#f9fafb;min-height:100vh;padding:2rem 0}.admin .container{margin:0 auto;max-width:1200px;padding:0 1rem}.admin h1{color:#1f2937;margin-bottom:.5rem;text-align:center}.admin>.container>p{color:#6b7280;margin-bottom:2rem;text-align:center}.admin-error,.admin-loading,.no-contacts{color:#6b7280;padding:3rem;text-align:center}.admin-error{color:#dc2626}.contacts-list{grid-gap:1.5rem;display:grid;gap:1.5rem}.contact-card{background:#fff;border-left:4px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.contact-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.contact-card.new{border-left-color:#3b82f6}.contact-card.read{border-left-color:#10b981}.contact-card.replied{border-left-color:#f59e0b}.contact-card.archived{border-left-color:#9ca3af;opacity:.7}.contact-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.contact-header h3{color:#1f2937;font-size:1.25rem;margin:0}.status-badge{border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.status-badge.new{background-color:#dbeafe;color:#1e40af}.status-badge.read{background-color:#d1fae5;color:#065f46}.status-badge.replied{background-color:#fef3c7;color:#92400e}.status-badge.archived{background-color:#f3f4f6;color:#374151}.contact-info{margin-bottom:1.5rem}.contact-info p{color:#4b5563;margin:.5rem 0}.contact-info strong{color:#1f2937}.message-content{background-color:#f9fafb;border-radius:.5rem;color:#374151;line-height:1.6;margin-top:.5rem;padding:1rem;white-space:pre-wrap}.contact-actions{display:flex;flex-wrap:wrap;gap:.75rem}.contact-actions button{border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.btn-mark-read{background-color:#10b981;color:#fff}.btn-mark-read:hover{background-color:#059669}.btn-mark-replied{background-color:#f59e0b;color:#fff}.btn-mark-replied:hover{background-color:#d97706}.btn-archive{background-color:#6b7280;color:#fff}.btn-archive:hover{background-color:#4b5563}@media (max-width:768px){.admin{padding:1rem 0}.contact-header{align-items:flex-start;gap:.5rem}.contact-actions,.contact-header{flex-direction:column}.contact-actions button{width:100%}}
/*# sourceMappingURL=main.0d0e5e5a.css.map*/