*{margin:0;padding:0;box-sizing:border-box}body{background:#fff}canvas#bg{position:fixed;top:0;left:0;z-index:-1}main{position:relative;z-index:1;color:#111;font-family:Helvetica Neue,Arial,sans-serif;padding:1.25rem;max-width:900px;margin:0 auto;font-size:.9rem}section{min-height:0;display:flex;flex-direction:column;justify-content:flex-start;padding:1.5rem 0}#hero h1{font-size:2.25rem;margin-bottom:.5rem}#hero p{font-size:1.1rem;opacity:.85}h2{font-size:1.5rem;margin-bottom:1rem}.project-card{background:#0000000a;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.project-card h3{font-size:1.15rem;margin-bottom:.35rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.tags span{background:#0000000f;border:1px solid rgba(0,0,0,.12);padding:.25rem .6rem;border-radius:6px;font-size:.75rem;opacity:.9}.experience-card{background:#0000000a;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.experience-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.5rem}.experience-header h3{font-size:1.1rem;margin:0}.experience-header .company{opacity:.85;font-weight:500}.experience-header .date{margin-left:auto;font-size:.8rem;opacity:.7}.tech-tags{font-size:.75rem;opacity:.7;margin-bottom:.75rem;font-family:monospace}.experience-card ul{margin:0;padding-left:1.15rem;line-height:1.45;font-size:.875rem}.experience-card li{margin-bottom:.35rem}.experience-card li:last-child{margin-bottom:0}.project-role{font-size:.8rem;opacity:.8;margin-bottom:.35rem}.skills-block{margin-top:1rem;padding:1rem;background:#0000000a;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.skills-block p{margin-bottom:.4rem;font-size:.85rem;line-height:1.45}.skills-block p:last-child{margin-bottom:0}#contact p{margin-bottom:.5rem}.contact-links{margin-top:.75rem}a{color:#111;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.35)}a:hover{border-bottom-color:#000000b3}
