*{margin:0;padding:0;box-sizing:border-box}body{background:#fff;font-family:Futura,Century Gothic,Helvetica Neue,Arial,sans-serif;color:#111}canvas#bg{position:fixed;top:0;left:0;z-index:-1}#site-nav{position:sticky;top:0;z-index:100;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid rgba(0,0,0,.08)}.nav-name{font-size:.85rem;font-weight:400;letter-spacing:.01em}.nav-links{display:flex;gap:1.5rem}.nav-link{font-size:.85rem;font-weight:400;color:#111;opacity:.4;text-decoration:none;border-bottom:none;transition:opacity .2s}.nav-link:hover{opacity:.7;border-bottom:none}.nav-link.active{opacity:1;font-weight:600}.page{display:none}.page.active{display:block}main{position:relative;z-index:1;color:#111;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}.portfolio-root{width:100%;min-height:calc(100vh - 53px);display:flex;flex-direction:column}.portfolio-main{flex:1;display:flex;align-items:flex-start}.portfolio-list{width:340px;flex-shrink:0;padding:2rem 2.5rem 4rem;display:flex;flex-direction:column;gap:0;overflow:visible}.portfolio-section{display:flex;flex-direction:column;gap:0;margin-bottom:1.25rem}.portfolio-category{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.3;display:block;margin-bottom:.3rem;padding-top:.5rem}.portfolio-item{cursor:pointer;padding:.25rem 0}.portfolio-item-title{font-size:1rem;font-weight:300;display:block;line-height:1.6;opacity:.6;white-space:nowrap}.portfolio-item:hover .portfolio-item-title{opacity:1}.portfolio-canvas-area{flex:1;height:calc(100vh - 53px);position:sticky;top:53px;align-self:flex-start}.portfolio-canvas-area canvas{width:100%!important;height:100%!important;display:block}.shop-title{font-size:1rem;font-weight:400;letter-spacing:.02em;margin-bottom:1.5rem}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.shop-empty{background:#0000000a;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:1.5rem;opacity:.7;grid-column:1 / -1}.shop-product{background:#0000000a;border:1px solid rgba(0,0,0,.1);border-radius:12px;overflow:hidden}
