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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f0ead6}.App{margin:0 auto;max-width:1200px;padding:clamp(15px,3vw,40px)}.banner{margin-bottom:clamp(20px,4vw,50px)}.banner-image{display:block;height:auto;width:100%}.about{margin-bottom:clamp(25px,5vw,60px);padding:clamp(15px,3vw,30px);text-align:center}.projects-container{display:flex;flex-wrap:wrap;gap:clamp(15px,4vw,40px);justify-content:center;margin-bottom:clamp(30px,5vw,60px)}.projects-container>*{flex:0 1 400px;max-width:400px}.project-card{background:#5f9ea0;border-radius:4px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;padding:20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-4px)}.project-card-name{color:#000;font-size:1.5rem;font-weight:600;margin-bottom:4px;margin-top:0}.project-card-tagline{color:#2c3e50;font-size:.9rem;margin-bottom:16px}.project-card-preview{border-radius:2px;height:200px;margin-bottom:12px;object-fit:cover;width:100%}.project-card-cta{color:#1a2930;font-size:.85rem;font-style:italic;margin:0}.modal-backdrop{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:20px;position:fixed;right:0;top:0;transition:opacity .3s ease-in-out;z-index:1000}.modal-backdrop.open{opacity:1}.modal-content{background:#f0ead6;border-radius:8px;max-height:90vh;max-width:900px;opacity:0;overflow-y:auto;padding:clamp(20px,4vw,40px);position:relative;transform:translateY(-20px);transition:transform .3s ease-out,opacity .3s ease-out}.modal-content.open{opacity:1;transform:translateY(0)}.modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;display:flex;font-size:2rem;height:44px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease;width:44px}.modal-close:hover{background:#0000001a}.modal-header{margin-bottom:16px;padding-right:44px}.modal-title{font-size:2rem;margin:0 0 8px}.modal-tagline{color:#666;margin:0}.modal-description{line-height:1.6;margin-bottom:16px}.modal-description p{margin:0}.modal-section{margin-bottom:16px}.modal-section h3{font-size:1.2rem;margin-bottom:12px}.modal-features{list-style:none;margin:0;padding-left:0}.modal-features li{line-height:1.5;margin-bottom:8px;padding-left:24px;position:relative}.modal-features li:before{color:#5f9ea0;content:"•";font-weight:700;left:8px;position:absolute}.modal-technologies{display:flex;flex-wrap:wrap;gap:8px}.modal-tech-tag{background:#5f9ea0;border-radius:16px;color:#fff;font-size:.85rem;padding:4px 12px}.modal-image-gallery{margin:20px 0}.modal-image-item{margin-bottom:20px}.modal-image-container{margin-bottom:8px;max-height:800px;overflow-y:auto}.modal-image-container a{cursor:pointer;display:block}.modal-screenshot{border-radius:8px;display:block;height:auto;transition:opacity .2s ease;width:100%}.modal-screenshot:hover{opacity:.9}.modal-image-container::-webkit-scrollbar{width:8px}.modal-image-container::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.modal-image-container::-webkit-scrollbar-thumb{background:#d4c4a8;border-radius:4px}.modal-image-container::-webkit-scrollbar-thumb:hover{background:#c4b498}.modal-image-container{scrollbar-color:#d4c4a8 #f0f0f0;scrollbar-width:thin}.modal-image-caption{color:#666;font-size:.9rem;font-style:italic;margin:0;text-align:center}.modal-github-link{background:#5f9ea0;border-radius:4px;color:#fff;display:inline-block;margin-top:24px;padding:12px 24px;text-decoration:none;transition:background .2s ease}.modal-github-link:hover{background:#5a8a9a}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#0000}.modal-content::-webkit-scrollbar-thumb{background:#d4c4a8;border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:#c4b498}.modal-content{scrollbar-color:#d4c4a8 #0000;scrollbar-width:thin}.image-viewer-backdrop{background:#000000f2;bottom:0;cursor:zoom-out;left:0;padding:20px;right:0;top:0;z-index:2000}.image-viewer-backdrop,.image-viewer-close{align-items:center;display:flex;justify-content:center;position:fixed}.image-viewer-close{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:3rem;height:60px;right:20px;top:20px;transition:background .2s ease;width:60px;z-index:2001}.image-viewer-close:hover{background:#fff3}.image-viewer-content{cursor:default;max-height:95vh;max-width:95vw;overflow:auto}.image-viewer-image{border-radius:4px;display:block;height:auto;max-width:100%}.image-viewer-content::-webkit-scrollbar{height:12px;width:12px}.image-viewer-content::-webkit-scrollbar-track{background:#ffffff1a}.image-viewer-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:6px}.image-viewer-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.image-viewer-content{scrollbar-color:#ffffff4d #ffffff1a;scrollbar-width:thin}.bottom-section{grid-gap:clamp(15px,4vw,40px);display:grid;gap:clamp(15px,4vw,40px);grid-template-columns:1fr 1fr;margin-bottom:clamp(20px,4vw,40px)}@media (max-width:768px){.projects-container>*{flex:1 1 100%;max-width:100%}.bottom-section{grid-template-columns:1fr}.modal-content{max-height:95vh;max-width:95vw;padding:20px}.modal-title{font-size:1.5rem}.modal-close{right:8px;top:8px}.modal-image-container{max-height:600px}}.blog-container h3{margin-bottom:30px}.blog-posts-wrapper{position:relative}.blog-posts-wrapper:after{background:linear-gradient(180deg,#0000,#f0ead6);bottom:0;content:"";height:60px;left:0;pointer-events:none;position:absolute;right:0}.blog-posts-scroll{max-height:500px;overflow-y:auto;padding-right:8px;scroll-behavior:smooth}.blog-posts-scroll::-webkit-scrollbar{width:6px}.blog-posts-scroll::-webkit-scrollbar-track{background:#0000}.blog-posts-scroll::-webkit-scrollbar-thumb{background:#d4c4a8;border-radius:3px}.blog-posts-scroll::-webkit-scrollbar-thumb:hover{background:#c4b498}.blog-posts-scroll{scrollbar-color:#d4c4a8 #0000;scrollbar-width:thin}.blog-post{border-bottom:1px solid #ddd;margin-bottom:24px;padding-bottom:20px}.blog-post:last-child{border-bottom:none;margin-bottom:0}.post-date{color:#666;font-size:.9rem;margin-bottom:6px}.post-title{font-size:1.1rem;margin:0 0 8px}.post-content{line-height:1.5;margin:0}
/*# sourceMappingURL=main.e44d29d8.css.map*/