:root{--charcoal: #111714;--moss: #1c2823;--olive: #34382b;--teal: #559e8d;--sage: #9eb7a5;--gold: #dcb35d;--copper: #c97952;--apricot: #e5a37c;--violet: #817d9d;--ivory: #f2e8d4;--panel-edge: rgba(158, 183, 165, .24);--mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ivory);background:var(--charcoal);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body,h1,h2,h3,p,ol{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:10px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ledger{position:relative;height:100svh;height:100dvh;overflow:clip;isolation:isolate;background:var(--charcoal)}.environment{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse 58% 52% at 30% 32%,#2b3c33 0%,transparent 72%),radial-gradient(ellipse 48% 58% at 78% 64%,#2e3229 0%,transparent 72%),radial-gradient(ellipse 36% 30% at 64% 18%,#203129 0%,transparent 70%),linear-gradient(180deg,#151c19,#111714 62%,#14170f)}.static-ledger{position:absolute;inset:0;background:url(/assets/ledger.svg) center / cover no-repeat;opacity:1;transition:opacity 1.2s}.environment canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s}.webgl-ready canvas{opacity:1}.webgl-ready .static-ledger{opacity:0}.atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 18% 12%,rgba(220,179,93,.09),transparent 46%),radial-gradient(ellipse at 86% 84%,rgba(85,158,141,.08),transparent 50%);box-shadow:inset 0 0 170px #080c0a99}.overlay{position:absolute;inset:0;pointer-events:none}.region{display:contents}.anchor{position:absolute;left:0;top:0;pointer-events:auto;will-change:transform;transform:translate(-50%,-50%) translate3d(var(--fx, 50vw),var(--fy, 50vh),0);transition:opacity .55s}[data-behind]{visibility:hidden}#identity{--fx: 43.1vw;--fy: 40vh}#company-line{--fx: 43.1vw;--fy: 55vh}#email-anchor{--fx: 13.1vw;--fy: 74vh}#hub-anchor{--fx: 82.9vw;--fy: 33.2vh}#github-header{--fx: 49.8vw;--fy: 29.9vh}#contributions{--fx: 16.1vw;--fy: 35.6vh}#activity{--fx: 85.3vw;--fy: 33.2vh}#work{--fx: 49.5vw;--fy: 63.7vh}#repo-0{--fx: 21.3vw;--fy: 73vh}#repo-1{--fx: 48.9vw;--fy: 76.1vh}#repo-2{--fx: 78.3vw;--fy: 75.1vh}[data-layout=narrow] #identity{--fx: 47.7vw;--fy: 39.2vh}[data-layout=narrow] #company-line{--fx: 47.7vw;--fy: 46.7vh}[data-layout=narrow] #email-anchor{--fx: 30.8vw;--fy: 56.3vh}[data-layout=narrow] #hub-anchor{--fx: 63.5vw;--fy: 66.3vh}.capsule{display:inline-flex;align-items:center;gap:.6rem;padding:.74rem 1.25rem;border-radius:999px;background:linear-gradient(180deg,#3a3e2fd1,#1e2924e6);border:1px solid rgba(220,179,93,.3);color:var(--ivory);font-size:.96rem;letter-spacing:.02em;white-space:nowrap;box-shadow:0 12px 32px -14px #000000f2,inset 0 1px #f2e8d417;transition:transform .35s,border-color .35s,box-shadow .35s,background .35s}.capsule:hover,[data-hover=true]>.capsule,.capsule:focus-visible{border-color:#e5a37cbf;background:linear-gradient(180deg,#484a34e6,#222e28f0);transform:translateY(-2px);box-shadow:0 18px 36px -14px #000000f2,0 0 0 5px #dcb35d14,inset 0 1px #f2e8d41f}.capsule:active{transform:translateY(0)}.capsule svg,.capsule img{width:20px;height:20px;flex-shrink:0}.capsule-arrow{font-size:.8em;opacity:.7}.profile-link,.return-control,.overview-control,.motion-toggle,.repo-link,.repo-back{font-size:.76rem;letter-spacing:.14em;font-weight:600}.return-control{padding:.8rem 1.35rem}.return-control span:first-child{font-size:1rem}.hub-trigger{padding-right:1.1rem;font-size:1.05rem}.hub-trigger[aria-expanded=true]{border-color:#e5a37c99}.identity{width:min(50.8vw,760px);min-width:240px;text-align:center;pointer-events:none}[data-layout=narrow] .identity{width:min(87vw,520px)}.wordmark{line-height:0;filter:drop-shadow(0 6px 30px rgba(220,179,93,.14))}.wordmark img{width:100%;height:auto;transition:opacity 1s}[data-renderer=webgl] .wordmark img{opacity:0}.company-line{color:var(--sage);letter-spacing:.42em;text-indent:.42em;font-size:clamp(.72rem,1.05vw,1rem);font-weight:500;white-space:nowrap;pointer-events:none;text-shadow:0 2px 14px rgba(0,0,0,.55)}[data-layout=narrow] .company-line{font-size:clamp(.66rem,3vw,.9rem)}.github-header{width:clamp(280px,30vw,430px);display:grid;justify-items:center;gap:.4rem;text-align:center;padding:.9rem 1rem .8rem;border-radius:20px;background:radial-gradient(ellipse at 50% 30%,rgba(28,40,35,.82),rgba(17,23,20,.55) 70%,transparent 100%)}.eyebrow{font-size:.7rem;letter-spacing:.22em;font-weight:600;color:var(--sage)}.hub-identity{display:flex;align-items:center;gap:.6rem;font-size:clamp(1.35rem,2.1vw,1.85rem);font-weight:600;letter-spacing:.01em;outline:none}.hub-identity img{width:26px;height:26px}.header-controls{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:.25rem}.data-status{font-family:var(--mono);font-size:.7rem;color:var(--violet);letter-spacing:.02em}.block-panel,.repository,.work-label{border-radius:16px;background:linear-gradient(160deg,#29362eeb,#18211df0);border:1px solid var(--panel-edge);box-shadow:0 26px 54px -26px #000000f2,inset 0 1px #f2e8d40f;transition:opacity .55s,border-color .4s,box-shadow .4s,width .5s}.block-panel{width:clamp(250px,24vw,350px);padding:.7rem .95rem .95rem}[data-hover=true].block-panel,.block-panel:has(.panel-trigger:hover),.block-panel:has(:focus-visible),[data-hover=true].work-label,.work-label:has(.panel-trigger:hover),[data-hover=true].repository,.repository:has(.repo-trigger:hover){border-color:#dcb35d80;box-shadow:0 30px 56px -26px #000000f2,0 0 0 5px #dcb35d12,inset 0 1px #f2e8d414}.panel-trigger{display:flex;width:100%;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.4rem .3rem;border-radius:10px;text-align:left}.panel-title{font-size:.72rem;letter-spacing:.17em;font-weight:700;color:var(--gold)}.panel-meta{font-family:var(--mono);font-size:.72rem;color:var(--sage);white-space:nowrap}.panel-body{padding:.55rem .3rem 0}.work-label{padding:.35rem .6rem;border-radius:999px}.work-label .panel-trigger{padding:.35rem .6rem;gap:1rem;align-items:center}.empty-message{color:var(--sage);font-size:.86rem;line-height:1.4}.calendar-overview{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.calendar-total{font-size:2.4rem;font-weight:600;line-height:1;color:var(--gold);display:grid;gap:.3rem}.calendar-total-label{font-size:.72rem;font-weight:500;letter-spacing:.04em;color:var(--sage)}.calendar-grid{--cell: 15px;display:flex;gap:3px}.calendar-grid.full-calendar{--cell: 8px;gap:2px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px}.week{display:grid;grid-template-rows:repeat(7,var(--cell));gap:3px}.full-calendar .week{gap:2px}.week[data-old]{display:none}[data-focus=contributions] .week[data-old]{display:grid}.day{width:var(--cell);height:var(--cell);border-radius:3px;background:#2a3630;font:600 9px / var(--cell) var(--mono);text-align:center;color:var(--charcoal)}.day.empty-day{background:transparent}.day[data-level="1"]{background:#3f6f64;color:var(--ivory)}.day[data-level="2"]{background:var(--teal)}.day[data-level="3"]{background:var(--gold)}.day[data-level="4"]{background:var(--apricot)}.calendar-caption{margin-top:.7rem;font-size:.74rem;line-height:1.45;color:var(--sage)}.calendar-range{display:block;font-family:var(--mono);font-size:.68rem;color:var(--violet);margin-top:.15rem}.calendar-legend{display:inline-flex;align-items:center;gap:3px;margin-top:.5rem;font-family:var(--mono);font-size:.64rem;color:var(--violet)}.calendar-legend i{width:9px;height:9px;border-radius:2px;background:#2a3630}.calendar-legend i:nth-of-type(2){background:#3f6f64}.calendar-legend i:nth-of-type(3){background:var(--teal)}.calendar-legend i:nth-of-type(4){background:var(--gold)}.calendar-legend i:nth-of-type(5){background:var(--apricot)}.events{list-style:none;padding:0;display:grid;gap:.6rem}.events li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;line-height:1.35}.events svg{width:18px;height:18px;margin-top:2px;color:var(--apricot);flex-shrink:0}.events a{display:block;border-radius:6px}.events a:hover .event-repo{color:var(--gold)}.event-repo{color:var(--sage);word-break:break-word}.events time{display:block;font-family:var(--mono);font-size:.7rem;color:var(--violet);margin-top:.15rem}.repository{width:clamp(222px,17.5vw,262px)}.repo-trigger{display:flex;gap:.7rem;width:100%;padding:.8rem .9rem;align-items:flex-start;text-align:left;border-radius:16px}.repo-trigger svg{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:1px}.repo-label{display:grid;gap:.3rem;min-width:0}.repo-name{font-weight:600;font-size:.95rem;line-height:1.25;overflow-wrap:anywhere}.repo-meta{display:flex;gap:.7rem;flex-wrap:wrap;font-family:var(--mono);font-size:.7rem;color:var(--sage)}.repo-language:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);margin-right:.4rem;vertical-align:1px}.repo-chevron{margin-left:auto;color:var(--sage);font-size:1rem;line-height:1;transition:transform .4s}.repository[data-active=true] .repo-chevron{transform:rotate(45deg);color:var(--gold)}.repo-detail{padding:0 .95rem .95rem;display:grid;gap:.75rem}.repo-description{font-size:.86rem;line-height:1.5;color:#f2e8d4e0;max-height:13.5em;overflow:auto}[data-density=compact] .repo-description{max-height:10.5em}.repo-trigger:focus-visible,.panel-trigger:focus-visible{outline-offset:-3px}.repo-actions{display:flex;gap:.5rem;flex-wrap:wrap}.repo-link,.repo-back{padding:.6rem 1rem}.repository[data-active=true]{width:clamp(280px,26vw,390px);border-color:#dcb35d8c;box-shadow:0 34px 60px -26px #000000f2,0 0 0 6px #dcb35d14}[data-focus=repository] .repository:not([data-active=true]){opacity:.55}[data-focus=repository] .work-label,[data-focus=work] .work-label{opacity:.7}[data-focus=repository] .block-panel,[data-focus=repository] .github-header,[data-focus=repository] .repository:not([data-active=true]),[data-focus=contributions] .github-header,[data-focus=contributions] #activity,[data-focus=contributions] .work-label,[data-focus=contributions] .repository,[data-focus=activity] .github-header,[data-focus=activity] #contributions,[data-focus=activity] .work-label,[data-focus=activity] .repository,[data-focus=work] .github-header,[data-focus=work] .block-panel{opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}.return{position:absolute;left:max(1rem,env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));right:max(1rem,env(safe-area-inset-right));display:flex;flex-wrap:wrap;gap:.5rem;pointer-events:none;transition:opacity .45s}.return>*{pointer-events:auto}.overview-control,.return-control{padding:.7rem 1.1rem}[data-focus]:not([data-focus=company]) #email-anchor,[data-focus]:not([data-focus=company]) #hub-anchor,[data-focus]:not([data-focus=company]) #company-line{opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}[data-phase=travelling][data-focus=company] #github .anchor,[data-phase=travelling][data-focus=company] #return-anchor,[data-phase=travelling][data-origin=company] #github .anchor,[data-phase=travelling][data-origin=company] #return-anchor{opacity:0}[data-density=compact] .block-panel{width:min(86vw,360px)}[data-density=compact] .repository{width:min(82vw,340px)}[data-density=compact] .repository[data-active=true]{width:min(88vw,380px)}[data-density=compact] .overview-control,[data-density=compact] .return-control{padding:.62rem .95rem;font-size:.7rem}[data-density=compact][data-layout=wide] .block-panel{width:min(250px,30vw)}[data-density=compact][data-layout=wide] .github-header{width:min(280px,34vw);padding:.5rem .4rem .4rem}[data-density=compact][data-layout=wide] .repository{width:min(250px,28vw)}[data-density=compact][data-layout=wide] .motion-controls{top:auto;bottom:max(1rem,env(safe-area-inset-bottom))}[data-density=compact][data-layout=wide][data-focus=repository] .overview-control{display:none}@media(max-height:460px){.repo-description{max-height:6.5em}}@media(max-height:400px){.repo-description{max-height:4.2em}.repo-detail{gap:.5rem;padding-bottom:.6rem}.repo-trigger{padding:.6rem .9rem}}[data-density=compact][data-focus=github] .repository{opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}[data-density=compact] .github-header{width:min(92vw,380px);padding:.6rem .6rem .5rem}[data-density=compact] .block-panel .panel-body{display:none}[data-density=compact][data-focus=contributions] #contributions .panel-body,[data-density=compact][data-focus=activity] #activity .panel-body{display:block}[data-density=compact] .work-label{border-radius:16px}[data-density=compact] .data-status{font-size:.64rem}[data-density=compact] .calendar-total{font-size:2rem}.motion-controls{position:absolute;right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top));z-index:5;display:flex;gap:.5rem}.motion-toggle{padding:.6rem 1rem}.motion-toggle[aria-pressed=true]{border-color:#559e8db3;color:var(--sage)}.motion-toggle:disabled{opacity:.7}[data-tilt=denied] .motion-toggle,[data-tilt=error] .motion-toggle,[data-tilt=unsupported] .motion-toggle{text-decoration:line-through;text-decoration-color:#e5a37cb3}.flow-layout{height:auto;min-height:100dvh;overflow:auto}.flow-layout .environment{position:fixed}.flow-layout .overlay{position:relative;inset:auto;pointer-events:auto;display:grid;gap:1.25rem;padding:1.5rem max(1rem,env(safe-area-inset-right)) 3.5rem max(1rem,env(safe-area-inset-left));max-width:42rem;margin:0 auto}.flow-layout .region{display:grid;gap:1.25rem;justify-items:center}.flow-layout .anchor{position:static;transform:none!important;visibility:visible;opacity:1!important;width:min(100%,420px);max-width:none}.flow-layout .identity{width:min(100%,460px);padding-top:1rem}.flow-layout .company-line{width:auto}.flow-layout .repositories{display:contents}.flow-layout .repository[data-active=true]{width:min(100%,420px)}.flow-layout .block-panel .panel-body{display:block}.flow-layout .week[data-old]{display:grid}.flow-layout .motion-controls{position:fixed}.flow-layout .return{position:static;justify-content:flex-start;justify-self:start}.flow-layout .capsule,.flow-layout .panel-meta,.flow-layout .company-line{white-space:normal}.flow-layout .capsule{overflow-wrap:anywhere;text-align:left}.flow-layout .panel-trigger,.flow-layout .repo-actions{flex-wrap:wrap}.flow-layout .block-panel,.flow-layout .repository,.flow-layout .work-label,.flow-layout .github-header{max-width:100%;overflow-wrap:anywhere}.flow-layout .repo-description{max-height:none}.flow-layout .calendar-grid.full-calendar{overflow-x:auto}@media(prefers-reduced-motion:reduce){.anchor,.capsule,.block-panel,.repository,.work-label,.github-header,.wordmark img,.environment canvas,.static-ledger,.repo-chevron,.return,#email-anchor,#hub-anchor,#company-line,#github .anchor{transition-duration:.2s;transition-delay:0s}}[data-motion=reduced] .anchor,[data-motion=reduced] .capsule,[data-motion=reduced] .block-panel,[data-motion=reduced] .repository{transition-duration:.2s}
