*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark;font-family:Helvetica Neue,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;--ink-0: rgb(238 238 238 / .95);--ink-1: rgb(214 214 214 / .9);--ink-2: rgb(166 166 166 / .78);--ink-3: rgb(128 128 128 / .7);--ink-4: rgb(150 150 150 / .42);--line-1: rgb(255 255 255 / .12);--line-2: rgb(255 255 255 / .07);--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}html,body{width:100%;min-height:100%;background:#000}html{overflow-x:hidden;overflow-y:auto;scrollbar-width:none}body{overflow:visible;-ms-overflow-style:none;color:var(--ink-1)}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0}#root{position:relative;width:100%;min-height:168vh;background:#000;overflow:hidden}#root canvas{display:block;position:fixed;inset:0 auto auto 0;z-index:0;width:100vw;height:100vh;pointer-events:none}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}::selection{color:#fffffffa;background:#ffffff38}.resume-layer{position:absolute;inset:0;z-index:2;min-height:100%;pointer-events:none}.resume-card{position:absolute;width:min(354px,calc(50vw - 46px));padding:19px 21px 20px;color:var(--ink-1);background:linear-gradient(180deg,rgb(255 255 255 / .028),transparent 46%),#0405076b;border:1px solid var(--line-1);border-radius:2px;box-shadow:inset 0 1px #ffffff0f,0 26px 64px #0000008c;-webkit-backdrop-filter:blur(9px) brightness(.62) grayscale(1);backdrop-filter:blur(9px) brightness(.62) grayscale(1);pointer-events:auto}.resume-card:before{content:"";position:absolute;top:22px;width:clamp(14px,4vw,40px);height:1px;background:linear-gradient(90deg,transparent,var(--line-1))}.resume-card-identity,.resume-card-building{text-align:left}.resume-card-identity:before,.resume-card-building:before{right:-1px;transform:translate(100%)}.resume-card-now:before,.resume-card-contact:before{left:-1px;transform:translate(-100%) scaleX(-1)}.resume-card-identity{top:22vh;left:max(24px,calc(50% - 600px))}.resume-card-now{top:22vh;right:max(24px,calc(50% - 600px))}.resume-card-building{top:70vh;left:max(24px,calc(50% - 600px))}.resume-card-contact{top:70vh;right:max(24px,calc(50% - 600px))}.resume-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:var(--ink-4)}.resume-index{color:var(--ink-2)}.resume-eyebrow{text-align:right}.resume-title{margin-bottom:11px;font-size:1.16rem;font-weight:300;letter-spacing:.005em;line-height:1.16;color:var(--ink-0)}.resume-card-identity .resume-title{text-transform:uppercase;letter-spacing:.14em;font-weight:200}.resume-copy{display:grid;gap:9px;font-size:.85rem;font-weight:320;line-height:1.58;color:var(--ink-2)}.resume-meta,.resume-tags{display:flex;flex-wrap:wrap;list-style:none}.resume-meta{gap:6px;margin-top:16px}.resume-tags{gap:5px;margin-top:13px}.resume-meta li,.resume-tags li,.resume-status,.resume-links a{border:1px solid var(--line-2);border-radius:1px;background:#ffffff06;font-family:var(--mono);font-size:.64rem;letter-spacing:.04em;line-height:1}.resume-meta li{padding:6px 8px;color:var(--ink-3)}.resume-tags li{padding:5px 7px;color:var(--ink-4);text-transform:lowercase}.resume-project-list{display:grid;gap:15px}.resume-project{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line-2)}.resume-project:first-child{padding-top:2px;border-top:0}.resume-project-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.resume-project-head strong{font-size:.92rem;font-weight:400;letter-spacing:.01em;color:var(--ink-0)}.resume-project-head span{flex-shrink:0;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}.resume-project-copy{font-size:.8rem;font-weight:320;line-height:1.5;color:var(--ink-3)}.resume-links{display:flex;flex-wrap:wrap;gap:6px}.resume-links a,.resume-status{display:inline-flex;align-items:center;min-height:27px;padding:0 11px;text-transform:uppercase;color:var(--ink-2);transition:border-color .18s ease,color .18s ease,background .18s ease}.resume-status{color:var(--ink-4)}.resume-links a:hover,.resume-links a:focus-visible{border-color:#ffffff57;background:#ffffff12;color:#fffffff5}.resume-links a:focus-visible{outline:1px solid rgb(255 255 255 / .5);outline-offset:3px}.resume-contact-links{margin-top:17px}#root.static-resume{min-height:100vh}@media(min-width:861px){#root.static-resume{min-height:168vh}}@media(max-width:860px){#root{min-height:232vh}.resume-layer{position:relative;display:grid;gap:16px;width:min(540px,calc(100vw - 28px));margin:0 auto;padding:60vh 0 26vh}.static-resume .resume-layer{padding:10vh 0 12vh}.resume-card{position:relative;inset:auto;width:100%}.resume-card:before{display:none}}@media(max-width:560px){#root{min-height:248vh}.resume-layer{width:min(100% - 22px,432px);padding-top:58vh}.resume-card{padding:16px 17px 17px}.resume-project-head{display:grid;gap:4px}}
