@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/Inter-Regular.woff2") format("woff2")}@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url("/fonts/Inter-Medium.woff2") format("woff2")}@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url("/fonts/Inter-SemiBold.woff2") format("woff2")}@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("/fonts/Inter-Bold.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/JetBrainsMono-Regular.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-weight:500;font-style:normal;font-display:swap;src:url("/fonts/JetBrainsMono-Medium.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-weight:600;font-style:normal;font-display:swap;src:url("/fonts/JetBrainsMono-SemiBold.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-weight:700;font-style:normal;font-display:swap;src:url("/fonts/JetBrainsMono-Bold.woff2") format("woff2")}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;background-color:#0d1117;color:#e6edf3;line-height:1.6;font-size:16px}a{color:#50c878;text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}.container{max-width:900px;margin:0 auto;padding:0 1.5rem}section{padding:3rem 0}h1,h2,h3,h4{font-weight:600;line-height:1.3}h1{font-size:2.5rem}@media (max-width: 600px){h1{font-size:2rem}}h2{font-size:1.5rem;margin-bottom:1.5rem;color:#e6edf3}h2::before{content:"## ";color:#50c878;font-family:"JetBrains Mono","Fira Code",monospace;font-weight:400}h3{font-size:1.125rem;margin-bottom:.5rem}p{color:#8b949e}code,.mono{font-family:"JetBrains Mono","Fira Code",monospace}.intro{padding:4rem 0 2rem}.intro-name{margin-bottom:.25rem}.intro-tagline{font-family:"JetBrains Mono","Fira Code",monospace;font-size:1rem;color:#8b949e;margin-bottom:1rem}.intro-bio{font-size:1.0625rem;color:#8b949e;margin-bottom:1.5rem;max-width:500px}.intro-links{display:flex;gap:1rem;flex-wrap:wrap}.intro-links a{display:inline-flex;align-items:center;gap:.4rem;font-family:"JetBrains Mono","Fira Code",monospace;font-size:.875rem;color:#8b949e;padding:.4rem .75rem;border:1px solid #30363d;border-radius:6px;transition:all .2s ease}.intro-links a:hover{color:#50c878;border-color:#50c878;background-color:rgba(80,200,120,.15)}.intro-links a svg{width:16px;height:16px}.projects-grid{display:flex;flex-direction:column;gap:1.5rem}.project-card{background-color:#161b22;border:1px solid #30363d;border-radius:8px;overflow:hidden;transition:border-color .2s ease}.project-card:hover{border-color:#50c878}.project-card.featured{border-color:#50c878;border-width:1px}.project-card.featured .project-content{padding:1.5rem}.project-screenshot{width:100%;height:auto;display:block;border-bottom:1px solid #30363d}.project-screenshots-row{display:flex;gap:0;border-bottom:1px solid #30363d;background-color:#21262d}.project-screenshots-row img{flex:1;min-width:0;height:280px;object-fit:cover;object-position:top}.project-screenshots-row img:not(:last-child){border-right:1px solid #30363d}@media (max-width: 600px){.project-screenshots-row img{height:200px}}.project-content{padding:1.25rem}.project-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.project-title{font-size:1.125rem;margin-bottom:0}.project-title a{color:#e6edf3}.project-title a:hover{color:#50c878}.project-badge{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.6875rem;padding:.2rem .4rem;background-color:rgba(80,200,120,.15);color:#50c878;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.project-description{margin-bottom:1rem;font-size:.9375rem;line-height:1.65}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.tech-tag{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.75rem;padding:.2rem .5rem;background-color:#21262d;border-radius:4px;color:#6e7681}.project-links{display:flex;gap:1rem}.project-links a{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.875rem}.project-metrics{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #30363d}.project-metrics .metric{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.875rem;color:#6e7681}.project-metrics .metric span{color:#50c878;font-weight:600}.contributions-list{display:flex;flex-direction:column;gap:1.5rem}.contribution-card{background-color:#161b22;border:1px solid #30363d;border-radius:8px;overflow:hidden;transition:border-color .2s ease}.contribution-card:hover{border-color:#50c878}.contribution-card .project-content{padding:1.25rem}.contribution-card .project-screenshot{width:100%;height:auto}.contribution-header{margin-bottom:.5rem}.contribution-repo{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.8125rem;color:#6e7681}.contribution-title{font-size:1.125rem;margin-bottom:.75rem}.contribution-title a{color:#e6edf3}.contribution-title a:hover{color:#50c878}.contribution-description{font-size:.9375rem;margin-bottom:.75rem;line-height:1.65}.contribution-list,.project-description ul,.contribution-description ul{list-style:none;margin-bottom:.75rem}.contribution-list li,.project-description ul li,.contribution-description ul li{font-size:.9375rem;color:#8b949e;line-height:1.65;padding-left:1rem;position:relative;margin-bottom:.25rem}.contribution-list li::before,.project-description ul li::before,.contribution-description ul li::before{content:"-";position:absolute;left:0;color:#6e7681}.project-description p,.contribution-description p{font-size:.9375rem;color:#8b949e;line-height:1.65;margin-bottom:.5rem}.contribution-impact{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.8125rem;color:#50c878;margin-bottom:1rem}.contribution-impact::before{content:"> "}.hackathons-list{display:flex;flex-direction:column;gap:.75rem}.hackathon-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.25rem;background-color:#161b22;border:1px solid #30363d;border-radius:8px;flex-wrap:nowrap;position:relative;padding-right:4.5rem}.hackathon-date{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.8125rem;color:#6e7681;min-width:90px;flex-shrink:0}.hackathon-content{flex:1;min-width:0;padding-right:1rem}.hackathon-name{font-weight:600;margin-bottom:.125rem}.hackathon-location{font-size:.8125rem;color:#6e7681}.hackathon-location:empty{display:none}.hackathon-project{font-size:.875rem;color:#8b949e;margin-top:.375rem;line-height:1.5}.hackathon-award{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.75rem;padding:.25rem .5rem;background-color:rgba(80,200,120,.15);color:#50c878;border-radius:4px;white-space:nowrap;flex-shrink:0;position:absolute;top:1rem;right:1.25rem}@media (max-width: 600px){.hackathon-item{flex-direction:column;flex-wrap:wrap;gap:.5rem;padding-right:1.25rem}.hackathon-award{position:static;margin-left:0}}.contact{padding:2rem 0 3rem;border-top:1px solid #30363d;margin-top:2rem}.contact-links{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap;font-family:"JetBrains Mono","Fira Code",monospace;font-size:.875rem}.contact-sep{color:#6e7681}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media print{body{background-color:#fff;color:#000}a{color:#000;text-decoration:underline}}