@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_4dc837{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{color-scheme:light;--ink:#23212b;--muted:#6b6878;--paper:#ffffff;--line:rgba(35,33,43,0.1);--hud-opacity:0.6;--hud-bg:rgb(255 255 255/var(--hud-opacity));--tile-rest:none;--surface:#f1eff6;--field:#ffffff;--on-ink:#ffffff;--shadow:rgb(40,30,80);--tile-shadow:var(--card-shadow);--card-shadow:0 12px 32px -10px rgb(40 30 80/0.22),0 2px 8px -2px rgb(40 30 80/0.1);--danger:#c0392b;--strip-weight:100%;--tint-weight:45%;--tint-hover:100%;--bg:#f6f4f1;--bg-warm:#fde9df;--bg-cool:#e3e6ff;--bg-green:#dff3ec;--rule-top:linear-gradient(var(--line),var(--line)) top /100% 1px no-repeat;--rule-bottom:linear-gradient(var(--line),var(--line)) bottom /100% 1px no-repeat;--brand:#7a6cf0;--sans:var(--font-sans),ui-sans-serif,system-ui,sans-serif;--mono:var(--font-mono),ui-monospace,Menlo,monospace}:root[data-theme=dark]{color-scheme:dark;--ink:#ece9f5;--muted:#a29db3;--paper:#1f1d27;--line:rgba(236,233,245,0.12);--brand:#a397ff;--hud-opacity:0.9;--hud-bg:rgb(23 22 27/var(--hud-opacity));--tile-rest:brightness(0.5) contrast(1.35);--surface:#2b2835;--field:#26232f;--on-ink:#1a1820;--shadow:rgb(0,0,0);--tile-shadow:0 10px 24px -6px rgb(236 233 245/0.25),0 2px 6px -1px rgb(236 233 245/0.15);--card-shadow:0 12px 32px -10px rgb(236 233 245/0.1),0 2px 8px -2px rgb(236 233 245/0.06);--danger:#ff8070;--strip-weight:30%;--tint-weight:16%;--tint-hover:28%;--bg:#121118;--bg-warm:#2a1c22;--bg-cool:#1a1c38;--bg-green:#12261f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink:#ece9f5;--muted:#a29db3;--paper:#1f1d27;--line:rgba(236,233,245,0.12);--brand:#a397ff;--hud-opacity:0.9;--hud-bg:rgb(23 22 27/var(--hud-opacity));--tile-rest:brightness(0.5) contrast(1.35);--surface:#2b2835;--field:#26232f;--on-ink:#1a1820;--shadow:rgb(0,0,0);--tile-shadow:0 10px 24px -6px rgb(236 233 245/0.25),0 2px 6px -1px rgb(236 233 245/0.15);--card-shadow:0 12px 32px -10px rgb(236 233 245/0.1),0 2px 8px -2px rgb(236 233 245/0.06);--danger:#ff8070;--strip-weight:30%;--tint-weight:16%;--tint-hover:28%;--bg:#121118;--bg-warm:#2a1c22;--bg-cool:#1a1c38;--bg-green:#12261f}}*{box-sizing:border-box}body,html{margin:0;height:100%;overflow:hidden;color:var(--ink);font-family:var(--sans);background:radial-gradient(1200px 800px at 15% 10%,var(--bg-warm) 0,transparent 60%),radial-gradient(1000px 900px at 85% 20%,var(--bg-cool) 0,transparent 60%),radial-gradient(1200px 900px at 50% 100%,var(--bg-green) 0,transparent 60%),var(--bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.world{position:fixed;inset:0}.world-html{position:absolute;inset:0;overflow:hidden;pointer-events:none}.panel,.panel-wrap{position:relative}.panel{opacity:.35;transition:opacity .6s ease;font-size:15px;line-height:1.6}.panel.is-active{opacity:1}.panel :is(.panel-header,.home-logo){transform:translateY(14px);transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .5s ease}.panel.is-active :is(.panel-header,.home-logo){transform:none}.panel :is(.panel-scroll,.home-body,.panel-home .chips){opacity:0;transform:translateY(28px);transition:opacity .25s ease,transform 0s linear .25s}.panel.is-revealed :is(.panel-scroll,.home-body,.panel-home .chips){opacity:1;transform:none;transition:opacity .7s ease .1s,transform .9s cubic-bezier(.2,.7,.2,1) .1s}@media (prefers-reduced-motion:reduce){.panel :is(.panel-header,.home-logo,.panel-scroll,.home-body,.panel-home .chips){transform:none}}.panel-cover{position:absolute;inset:0;border-radius:18px;cursor:pointer}.panel-header{display:flex;align-items:flex-end;justify-content:space-between;padding:0 0 20px;color:var(--ink)}.panel-header .kicker{display:block;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--strip) var(--strip-weight),var(--ink))}.panel-header h2{margin:2px 0 0;font-size:102px;line-height:1.05;letter-spacing:-.02em;font-weight:700}.panel-scroll{padding:0}.panel h3{margin:28px 0 8px;font-size:18px}.panel-bio .panel-scroll>h3{margin:45px 0 10px;font-size:43px;line-height:1.05;letter-spacing:-.02em}.prose>:first-child{margin-top:0}.prose ol,.prose p,.prose ul{margin:0 0 12px}.prose ol,.prose ul{padding-left:20px}.prose a{color:var(--brand);-webkit-text-decoration:underline 1px color-mix(in srgb,var(--brand) 35%,transparent);text-decoration:underline 1px color-mix(in srgb,var(--brand) 35%,transparent);text-underline-offset:3px}.prose a:hover{-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand)}.prose code{font-family:var(--mono);font-size:.9em;padding:1px 5px;border-radius:4px;background:var(--surface)}.prose img{max-width:100%}.lede{font-size:17px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chips a{padding:7px 14px;border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:500;text-decoration:none}.chips a:hover{background:var(--brand);color:var(--on-ink)}.panel-home .chips a{background:var(--ink);color:var(--on-ink);box-shadow:var(--card-shadow)}.panel-home .chips a:hover{background:var(--brand)}.cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:20px}.card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:12px;background:var(--hud-bg);box-shadow:var(--card-shadow);color:var(--ink);text-decoration:none}.card span{color:var(--muted);font-size:14px}.card:hover{background:color-mix(in srgb,color-mix(in srgb,var(--tint) var(--tint-hover),var(--paper)) calc(var(--hud-opacity) * 100%),transparent)}.panel-home .home{display:flex;flex-direction:column;padding:40px 0}.home-heading{margin:0 0 36px}.home-logo{--logo-width:120%;--logo-margin:calc(var(--logo-width) * 2 / 142.56795);display:block;width:calc(var(--logo-width) + 2 * var(--logo-margin));max-width:none;margin:calc(-1 * var(--logo-margin)) 0 calc(-1 * var(--logo-margin)) calc(-1 * var(--logo-margin));height:auto;fill:var(--ink)}.toolset{display:flex;justify-content:space-between;gap:12px 16px;margin:20px 0 8px;padding:16px 0;background:var(--rule-top),var(--rule-bottom);font-size:14px}.toolset ul{margin:4px 0 0;padding:0;list-style:none;color:var(--muted)}.resume-item{display:grid;grid-template-columns:34% 1fr;grid-gap:20px;gap:20px;padding:14px 0;background:var(--rule-bottom)}.resume-item:last-child{background:none}.resume-role{display:flex;flex-direction:column}.resume-role strong{text-transform:uppercase;font-size:13px;letter-spacing:.03em}.resume-role span{color:var(--muted)}.resume-blurb p{margin:0 0 6px}.thumbs{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px;margin-top:16px}.thumbs a{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:8px;background:#ffffff;box-shadow:var(--tile-shadow);filter:var(--tile-rest);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,filter .3s ease}.thumbs a:focus-visible,.thumbs a:hover{z-index:1;filter:none;transform:scale(1.25);box-shadow:0 24px 40px -12px color-mix(in srgb,var(--shadow) 35%,transparent),0 8px 16px -8px color-mix(in srgb,var(--shadow) 20%,transparent)}.thumbs img{width:100%;height:100%;object-fit:cover;filter:saturate(0);opacity:.7;transition:filter .3s,opacity .3s}.thumbs.dimmed{opacity:.15}.thumbs a:hover img{filter:none;opacity:1}.viewer{position:absolute;top:-24px;left:-32px;right:-32px;height:600px;display:flex;flex-direction:column;color-scheme:light;--ink:#23212b;--muted:#6b6878;--paper:#ffffff;--line:rgba(35,33,43,0.1);--surface:#f1eff6;--brand:#7a6cf0;--on-ink:#ffffff;background:#ffffff;color:var(--ink);border-radius:16px;box-shadow:0 30px 60px -20px color-mix(in srgb,var(--shadow) 30%,transparent),0 10px 20px -10px color-mix(in srgb,var(--shadow) 15%,transparent)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:var(--rule-bottom)}.viewer-nav{display:flex;gap:16px;font-size:14px}.viewer-nav a{color:var(--ink);text-decoration:none}.viewer-nav a:hover{color:var(--brand)}.viewer-stage{position:relative;flex:1 1;min-height:0;margin:16px 24px;display:flex;align-items:center;justify-content:center}.viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}.viewer-dots{display:flex;justify-content:center;gap:8px;padding:0 0 16px}.viewer-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer}.viewer-dots button.on{background:var(--ink)}.contact{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px}.form{gap:10px}.form,.form label{display:flex;flex-direction:column}.form label{gap:4px;font-size:13px;font-weight:500}.form input,.form textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 11px;border:0;border-radius:8px;background:var(--field);box-shadow:0 1px 6px -1px color-mix(in srgb,var(--shadow) 18%,transparent);color:var(--ink);font:inherit;font-size:14px;resize:none;transition:box-shadow .2s ease}.form input:focus,.form textarea:focus{outline:none;box-shadow:0 1px 6px -1px color-mix(in srgb,var(--shadow) 18%,transparent),0 0 6px 1px color-mix(in srgb,var(--brand) 45%,transparent)}.form button{align-self:flex-start;margin-top:6px;padding:9px 18px;border:0;border-radius:999px;background:var(--ink);color:var(--on-ink);font:inherit;font-weight:600;cursor:pointer}.form button:disabled{opacity:.5}.form-error{margin:0;color:var(--danger);font-size:13px}.form-note{align-self:center}.hud-band{position:absolute;inset:0;z-index:16777272;background:var(--hud-bg);-webkit-clip-path:polygon(0 0,100% 0,100% var(--band-right,80px),0 var(--band-left,80px));clip-path:polygon(0 0,100% 0,100% var(--band-right,80px),0 var(--band-left,80px));pointer-events:none;transition:opacity .4s ease}.hud-band.is-hidden{opacity:0}.hud a.hud-page{transition:color .2s ease,opacity .4s ease}.hud.is-home a.hud-page{opacity:0;pointer-events:none}.hud{display:flex;align-items:center;justify-content:space-between;gap:16px;height:40px;pointer-events:none}.hud a{pointer-events:auto;color:var(--ink);text-decoration:none}.hud .home-button{display:grid;place-items:center;width:32px;height:32px;color:var(--muted);transition:color .2s ease}.hud nav{display:flex;align-items:center;gap:18px}.hud nav a{font-size:14px;color:var(--muted);transition:color .2s ease}.hud .home-button:hover,.hud nav a.current,.hud nav a:hover{color:var(--ink)}.hud nav a.current{font-weight:600}.hud .lang{pointer-events:auto;padding:0;border:0;background:none;color:var(--muted);font-family:var(--mono);font-size:12px;font-weight:700;cursor:pointer;transition:color .2s ease}.hud .lang:hover{color:var(--ink)}.hud .theme{display:inline-flex;align-items:center}.hud .theme svg{display:block}.lost{position:fixed;inset:0;display:grid;place-content:center;text-align:center;z-index:100000001;background:color-mix(in srgb,var(--bg) 85%,transparent)}