*,:after,:before{box-sizing:border-box}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9f9f9;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}img{max-width:100%}p{font-size:1.2em;word-break:keep-all}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hero{align-items:end;display:flex;justify-content:start;min-height:88vh;width:88%}.cta-button{border:none;cursor:pointer;font-size:1rem;padding:.5rem 0}.cta-button:hover,.title{color:#5f9ea0}.title{font-size:clamp(1.8rem,6vw,3.6rem);line-height:1.3}.decoration{height:auto;margin-bottom:20%;margin-left:30%;max-width:40%;position:absolute;z-index:1}@media (max-width:768px){.hero{align-items:center;min-height:70vh}.decoration{display:none}}.projects-section{display:flex;flex-direction:column;margin-bottom:30vh;width:88%}.projects-title{color:#395758;font-size:clamp(2.2rem,8vw,60px);margin-bottom:8rem;margin-top:15rem}.project-timeline{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-around;text-align:center}.project-card{color:inherit;overflow:hidden;padding:1.5rem;position:relative;text-decoration:none;transition:transform .3s ease;width:25%}@media (max-width:900px){.projects-title{margin-bottom:3rem;margin-top:6rem}.project-card{width:40%}}@media (max-width:560px){.project-card{width:80%}}.project-card:hover{transform:scale(1.1);z-index:2}.project-logo{display:block;height:80px;margin:0 auto 1rem}.project-date{color:#666;display:block;font-size:12px;margin-bottom:.5rem}.project-card h3{font-size:18px;font-weight:700;margin-bottom:.5rem}.project-card p{color:#444;font-size:14px;margin-bottom:1rem}.tags span{color:#395758;display:inline-block;font-size:12px;margin:0 4px}.contact-title{color:#395758;font-size:clamp(2.2rem,8vw,60px);width:100%}.contact{align-items:center;display:flex;flex-direction:column;width:88%}.contact-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.contact-link{background-color:#dcdcdc;border-radius:999px;color:#000;padding:5pt 12pt;text-decoration:none}.contact-link:hover{color:#5f9ea0}.about{display:flex;flex-direction:column;min-height:80vh;padding-top:20%;width:88%}.about>h2{color:#395758;font-size:clamp(2.2rem,8vw,60pt);z-index:1}.about h3{font-size:clamp(1.1rem,3.5vw,1.5rem)}.about p{line-height:1.7}.ornament{height:100pt;margin-left:28%;margin-top:2%;position:absolute}@media (max-width:768px){.about{padding-top:4rem}.ornament{height:60pt;margin-left:40%}}.experience{display:grid;grid-template-columns:repeat(2,1fr);min-height:80vh;padding-top:20%;width:88%}@media (max-width:768px){.experience{grid-template-columns:repeat(1,1fr);padding-top:4rem}.spikes{height:60pt}}.experience>h2{color:#395758;font-size:clamp(2.2rem,8vw,60pt);z-index:1}.spikes{height:100pt;margin-left:-2%;margin-top:2%;position:absolute}.awards-section,.certificates-section,.skills-section{display:flex;flex-direction:column;margin:10pt}.awards-section h3,.certificates-section h3,.skills-section h3{color:#395758;font-size:24pt;margin-bottom:4%}.skills-table{display:flex;flex-direction:column;gap:8px}.skill-row{display:flex;gap:16px}.label{flex-shrink:0;font-weight:700;gap:16px;width:100px}.date{color:gray;font-size:.9em;margin-left:8px}html{overflow-x:hidden;scroll-behavior:smooth}.container{position:relative}.container,.section{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.section{background-color:#f9f9f9;color:#333;width:88%}.scroll-to-top{background-color:#5f9ea0;border:none;border-radius:50%;bottom:40px;color:#fff;cursor:pointer;font-size:20px;height:40px;opacity:.7;position:fixed;right:40px;transition:opacity .3s ease;width:40px;z-index:1000}.scroll-to-top:hover{opacity:1}.project-detail{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;padding:2rem;width:88%}.project-info{flex:1 1 400px}.logo-title{align-items:center;display:flex;gap:1rem;margin-bottom:8%}.project-logo-large{height:80px}.title-highlight{color:#f14d70;font-size:3rem;font-weight:700}.env-section>div,.info-section>div{line-height:1.6;margin:.5rem 0}.section-title{color:gray;font-weight:700;margin-top:1.5rem}.project-screenshots{display:flex;flex:1 1 300px;gap:1rem;max-width:300px}.screenshot-img{border-radius:.5rem;box-shadow:0 0 10px #0000001a;width:50%}@media (max-width:768px){.project-detail{padding:1rem 0}.title-highlight{font-size:clamp(2rem,8vw,3rem)}}.pp-page{align-items:center;justify-content:center;position:relative}.pp-intro,.pp-page{display:flex;flex-direction:column}.pp-intro{align-items:end;justify-content:start;margin-bottom:10%;width:88%}.pp-title-box{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:8%;margin-top:16%;width:100%}.pp-logo{height:80px}.pp-title{font-size:3rem;margin-bottom:-3pt}.pp-sub-title,.pp-title{color:var(--accent);font-weight:700}.pp-origin{display:flex}.pp-origin-text{margin-left:4%}.pp-hero-img{height:var(--hero-height)}.pp-repo-btn{background:none;border:none;cursor:pointer;font:inherit;padding:0}.pp-repo-btn:hover{color:var(--accent)}.pp-develop{width:88%}.pp-feature-heading{color:#000;font-size:24pt;margin-top:10%}.pp-feature-block{align-items:center;display:flex}.pp-feature-item>h3{color:var(--accent);font-weight:700}.pp-feature-img{padding:30pt;width:33%;z-index:3}.pp-troubleshooting{width:88%}.pp-ts-item+.pp-ts-item{border-top:1px solid #e5e5e5;margin-top:4rem;padding-top:3rem}.pp-ts-subtitle{font-size:1.4rem;font-weight:600;margin-top:5rem}.pp-ts-desc{color:#444;margin-bottom:1rem}.pp-ts-problems,.pp-ts-result,.pp-ts-solutions{margin-top:1rem;padding-left:1rem}.pp-ts-problems p,.pp-ts-result p,.pp-ts-solutions p{margin:.4rem 0}.pp-ts-code-img{display:flex;justify-content:center;margin-top:1rem}.pp-ts-code-img img{border-radius:10px;box-shadow:0 0 8px #0000001a;height:auto;max-width:100%}.pp-achievements{margin-top:5rem;width:88%}.pp-achievement-list{list-style:none;padding-left:1rem}.pp-achievement-list li{font-size:1.2em;margin:.6rem 0;padding-left:1.4rem;position:relative;word-break:keep-all}.pp-achievement-list li:before{color:var(--accent);content:"▪";left:0;position:absolute}.pp-next-project{background-color:#f9f9f9;display:flex;justify-content:space-between;padding:4rem 0;text-align:center;width:88%}.pp-nav-btn{background-color:gray;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background-color .3s ease}.pp-nav-btn--prev:hover{background-color:var(--prev-hover)}.pp-nav-btn--next:hover{background-color:var(--next-hover)}@media (max-width:768px){.pp-origin{align-items:center;flex-direction:column;width:100%}.pp-hero-img{height:auto;width:100%}.pp-title-box{flex-wrap:wrap;margin-top:6rem}.pp-title{font-size:clamp(2rem,8vw,3rem)}.pp-origin-text{margin-left:0}.pp-feature-block{align-items:stretch;flex-direction:column}.pp-feature-img{padding:1rem 0;width:100%}.pp-next-project{flex-wrap:wrap;gap:1rem;justify-content:center;padding:3rem 0}}.header{align-items:center;background-color:#f9f9f9;display:flex;justify-content:space-between;padding:1.6rem;position:-webkit-sticky;position:sticky;top:0;z-index:3}.logo a{color:gray;font-size:1.5rem;font-weight:700;text-decoration:none}.menu-toggle{background:none;border:none;cursor:pointer;display:none;font-size:1.5rem}.category{display:flex;gap:1rem;list-style:none}.category li a{color:#000;font-weight:500;text-decoration:none}@media (max-width:768px){.menu-toggle{display:block}.category{background:#fff;border:1px solid #ddd;border-radius:5%;display:none;flex-direction:column;padding:1rem;position:absolute;right:1rem;top:60px}.category.open{display:flex}}.footer{margin:100pt;text-align:center}@media (max-width:768px){.footer{margin:40pt 1.5rem}}
/*# sourceMappingURL=main.e71aad93.css.map*/