:root{--font:"Inter", sans-serif;--color-bg:#dbdbdb;--color-fg:#1a1a1a;--color-muted:#999;--color-body-text:#555;--color-accent:#e8803a;--color-border:#e0e0e0;--color-overlay-bg:#efefed;--color-arrow:#1a1a1a;--color-close:silver;--color-name:#282828dd}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);overflow:hidden}canvas{display:block}#name{letter-spacing:.15em;text-transform:uppercase;color:var(--color-name);z-index:10;pointer-events:none;white-space:nowrap;font-size:36px;font-weight:500;position:fixed;top:72px;left:50%;transform:translate(-50%)}.arrow{color:var(--color-arrow);cursor:pointer;z-index:10;opacity:.18;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:24px 40px;font-size:80px;font-weight:300;line-height:.7;transition:opacity .2s;position:fixed;top:50%;transform:translateY(-50%)}.arrow:hover{opacity:.55}#arrow-left{left:40px}#arrow-right{right:40px}#ui{opacity:0;transition:opacity 1.2s}#ui.visible{opacity:1}#intro{z-index:20;pointer-events:none;justify-content:center;align-items:center;padding-bottom:10%;transition:opacity .8s;display:flex;position:fixed;inset:0}#intro.hidden{opacity:0}#intro span{letter-spacing:.2em;color:var(--color-muted);text-transform:uppercase;font-size:32px;font-weight:400}#overlay{z-index:30;pointer-events:none;opacity:0;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}#overlay.visible{opacity:1;pointer-events:all}#overlay-panel{background:var(--color-overlay-bg);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;width:min(640px,88vw);max-height:80vh;transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;transform:translateY(16px);box-shadow:0 8px 40px #0000001a,0 2px 8px #0000000d}#overlay.visible #overlay-panel{transform:translateY(0)}#overlay-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}#overlay-title{letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);font-size:11px;font-weight:500}#overlay-close{color:var(--color-close);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;font-weight:300;line-height:1;transition:color .15s}#overlay-close:hover{color:var(--color-fg)}#overlay-body{color:var(--color-body-text);padding:32px 28px;font-size:15px;line-height:1.75;overflow-y:auto}#overlay-body h2{color:var(--color-fg);letter-spacing:.01em;margin:0 0 16px;font-size:18px;font-weight:500}#overlay-body p{margin:0 0 12px}#overlay-body::-webkit-scrollbar{width:6px}#overlay-body::-webkit-scrollbar-track{background:0 0}#overlay-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}#overlay-body::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}#overlay-body{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.project-card{flex-direction:column;gap:20px;display:flex}.project-img{border:1px solid var(--color-border);object-fit:cover;border-radius:8px;width:100%}.project-meta h2{margin-bottom:4px}.project-stack{letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-size:11px;font-weight:500;margin:0 0 12px!important}.resume-section{margin-bottom:28px}.resume-section:last-child{margin-bottom:0}.resume-section h2{letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-border);margin:0 0 12px;padding-bottom:8px;font-size:11px;font-weight:500}.resume-entry{border-bottom:1px solid var(--color-border);padding:12px 0}.resume-entry:last-child{border-bottom:none;padding-bottom:0}.resume-entry-header{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.resume-entry-title{color:var(--color-fg);font-size:14px;font-weight:500}.resume-entry-date{color:var(--color-muted);white-space:nowrap;margin-left:12px;font-size:11px}.resume-entry-sub{color:var(--color-muted);margin-bottom:4px;font-size:12px}.resume-entry p{margin:0;font-size:14px;line-height:1.6}#cube-label{letter-spacing:.2em;color:var(--color-accent);text-transform:uppercase;pointer-events:none;white-space:nowrap;font-size:24px;font-weight:500;transition:opacity .3s;position:fixed;bottom:8%;left:50%;transform:translate(-50%)}
