:root{--r-xs: 2px;--r-s: 6px;--r-sm: 8px;--r-m: 12px;--r-n: 17px;--r-l: 23px;--r-xl: 30px;--r-full: 999px;--mo-effect: .2s;--mo-spatial: .35s;--ease: cubic-bezier(.2, 0, 0, 1);--e0: none;--e1: 0 1px 2px rgba(16,12,24,.05), 0 1px 3px 1px rgba(16,12,24,.04);--e2: 0 1px 2px rgba(16,12,24,.06), 0 2px 6px 2px rgba(16,12,24,.05);--e3: 0 4px 8px 3px rgba(16,12,24,.05), 0 1px 3px rgba(16,12,24,.07);--fs-display: clamp(30px, 5.1vw, 45px);--fs-h2: clamp(20px, 3.3vw, 25px);--fs-lede: clamp(17px, 2.1vw, 19.5px);--fs-stat: clamp(26px, 3.9vw, 33px);--fs-body: 15.5px;--fs-card: 14.8px;--display: "Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root,:root[data-theme=dark]{--surface: #141313;--surface-container-lowest: #0f0e0e;--surface-container-low: #1c1b1c;--surface-container: #232223;--surface-container-high: #2d2b2e;--surface-container-highest: #383639;--on-surface: #e6e1e1;--on-surface-variant: #cbc5ca;--outline: #948f94;--outline-variant: #49464a;--primary: #eaba7c;--on-primary: #3d2911;--primary-container: #38281a;--on-primary-container: #f6d7b2;--accent2: #74d9ca;--on-accent2: #06312c;--accent2-container: #10302c;--on-accent2-container: #a8e9dd;--secondary-container: #4d4b4d;--on-secondary-container: #ece6e9;--tertiary-container: #31292b;--on-tertiary-container: #c1b4b7;--scrim: #000;--e1: none;--e2: none;--e3: none;--card: var(--surface-container);--card-border: var(--outline-variant);--state-layer: currentColor;--hover-border: var(--outline);--hl: #e8bd85;--hl-quiet: #c79a63;--hl-container: #2a2119;--accent: #3ddc84;--on-accent: #00391c;--accent-container: #0e1a13;--accent-outline: #1d3a2a;--sev-crash: #f87171;--sev-crash-bg: #2a1214;--sev-perf: #60a5fa;--sev-perf-bg: #0f1c2e;--sev-behaviour: #c084fc;--sev-behaviour-bg: #1e1330;--sev-build: #fbbf24;--sev-build-bg: #241d0c}:root[data-theme=light]{--surface: #fbfafc;--surface-container-lowest: #ffffff;--surface-container-low: #f5f4f8;--surface-container: #efedf3;--surface-container-high: #e6e3ec;--surface-container-highest: #dcd8e4;--on-surface: #15131a;--on-surface-variant: #45414e;--outline: #6d6878;--outline-variant: #dbd7e3;--primary: #8a5410;--on-primary: #ffffff;--primary-container: #f8ead5;--on-primary-container: #2d1a03;--accent2: #0c6459;--on-accent2: #ffffff;--accent2-container: #cdeee7;--on-accent2-container: #04302a;--secondary-container: #e4e0ef;--on-secondary-container: #1b1826;--tertiary-container: #ece6f0;--on-tertiary-container: #241f29;--card: var(--surface-container-lowest);--card-border: var(--outline-variant);--e1: 0 1px 2px rgba(60,42,16,.05), 0 1px 3px 1px rgba(60,42,16,.04);--e2: 0 2px 4px rgba(60,42,16,.06), 0 6px 14px 2px rgba(60,42,16,.07);--e3: 0 4px 8px 3px rgba(60,42,16,.06), 0 1px 3px rgba(60,42,16,.08);--state-layer: var(--primary);--hover-border: color-mix(in srgb, var(--primary) 38%, var(--outline-variant));--hl: #7a4f14;--hl-quiet: #8a6230;--hl-container: #f6ecdf;--scrim: #000;--accent: #0f6b3c;--on-accent: #ffffff;--accent-container: #c6f2d8;--accent-outline: #8fd6ae;--sev-crash: #a4232a;--sev-crash-bg: #ffdad6;--sev-perf: #0b4a8f;--sev-perf-bg: #d8e6ff;--sev-behaviour: #6b21a8;--sev-behaviour-bg: #f0dcff;--sev-build: #7a4f00;--sev-build-bg: #ffe8b0}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--surface: #fbfafc;--surface-container-lowest: #ffffff;--surface-container-low: #f5f4f8;--surface-container: #efedf3;--surface-container-high: #e6e3ec;--surface-container-highest: #dcd8e4;--on-surface: #15131a;--on-surface-variant: #45414e;--outline: #6d6878;--outline-variant: #dbd7e3;--primary: #8a5410;--on-primary: #ffffff;--primary-container: #f8ead5;--on-primary-container: #2d1a03;--accent2: #0c6459;--on-accent2: #ffffff;--accent2-container: #cdeee7;--on-accent2-container: #04302a;--secondary-container: #e4e0ef;--on-secondary-container: #1b1826;--tertiary-container: #ece6f0;--on-tertiary-container: #241f29;--card: var(--surface-container-lowest);--card-border: var(--outline-variant);--e1: 0 1px 2px rgba(60,42,16,.05), 0 1px 3px 1px rgba(60,42,16,.04);--e2: 0 2px 4px rgba(60,42,16,.06), 0 6px 14px 2px rgba(60,42,16,.07);--e3: 0 4px 8px 3px rgba(60,42,16,.06), 0 1px 3px rgba(60,42,16,.08);--state-layer: var(--primary);--hover-border: color-mix(in srgb, var(--primary) 38%, var(--outline-variant));--hl: #7a4f14;--hl-quiet: #8a6230;--hl-container: #f6ecdf;--scrim: #000;--accent: #0f6b3c;--on-accent: #ffffff;--accent-container: #c6f2d8;--accent-outline: #8fd6ae;--sev-crash: #a4232a;--sev-crash-bg: #ffdad6;--sev-perf: #0b4a8f;--sev-perf-bg: #d8e6ff;--sev-behaviour: #6b21a8;--sev-behaviour-bg: #f0dcff;--sev-build: #7a4f00;--sev-build-bg: #ffe8b0}}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark light}body{background:var(--surface);color:var(--on-surface);font-family:var(--sans);line-height:1.62;font-size:var(--fs-body);letter-spacing:-.003em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}.wrap{max-width:920px;margin:0 auto;padding:0 24px}a{color:inherit}.bar{background:var(--surface-container);position:sticky;top:0;z-index:20}.bar .wrap{display:flex;align-items:center;gap:18px;height:64px}.brand{font-family:var(--mono);font-size:13px;color:var(--on-surface-variant)}.bar nav{margin-left:auto;display:flex;gap:24px;font-size:14px;color:var(--on-surface-variant)}.bar nav a{text-decoration:none}.bar nav a:hover{color:var(--on-surface)}.avail{font-size:13px;color:var(--on-secondary-container);background:var(--secondary-container);height:32px;display:inline-flex;align-items:center;padding:0 14px;border-radius:var(--r-sm);white-space:nowrap}.icon{width:40px;height:40px;border:0;border-radius:var(--r-full);background:transparent;color:var(--on-surface-variant);cursor:pointer;display:grid;place-items:center;flex:none}header{padding:56px 0 44px}.idrow{display:flex;align-items:center;gap:22px;margin-bottom:22px}.photo{width:88px;height:88px;border-radius:var(--r-full);object-fit:cover;flex-shrink:0}h1{font-family:var(--display);font-size:var(--fs-display);line-height:1.05;letter-spacing:-.03em;font-weight:700;color:var(--on-surface)}.role{font-size:14px;color:var(--on-surface-variant);margin-top:8px;letter-spacing:.1px}.lede{font-size:15.5px;line-height:1.65;color:var(--on-surface-variant);max-width:68ch;margin-bottom:14px}.lede:first-of-type{font-size:var(--fs-lede);line-height:1.48;color:var(--on-surface);margin-bottom:20px;letter-spacing:-.015em;font-weight:450}.lede b{color:var(--hl);font-weight:600}.lede a{text-decoration-color:var(--hl);text-underline-offset:3px;text-decoration-thickness:1px}.lede a:hover{color:var(--hl)}.links{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.btn{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 24px;border-radius:var(--r-full);font-size:14px;font-weight:500;letter-spacing:.1px;line-height:1;text-decoration:none;border:1px solid var(--outline);color:var(--primary);background:transparent;transition:background var(--mo-effect) var(--ease)}.btn.p{background:var(--primary);color:var(--on-primary);border-color:transparent}.impact{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:40px 0 8px}.impact>div{background:var(--card);padding:20px 18px 18px;border-radius:var(--r-n);border:1px solid var(--card-border);box-shadow:var(--e1);display:flex;flex-direction:column;gap:10px}.impact .n{font-family:var(--display);font-size:var(--fs-stat);font-weight:700;color:var(--on-surface);letter-spacing:-.03em;line-height:1}.impact .l{font-size:12.5px;color:var(--on-surface-variant);line-height:1.42;margin-top:auto}section{padding:46px 0}section+section{border-top:1px solid var(--outline-variant)}h2{font-family:var(--display);font-size:var(--fs-h2);line-height:1.16;font-weight:600;letter-spacing:-.022em;color:var(--on-surface);text-transform:none;margin-bottom:10px;display:flex;align-items:baseline;gap:8px}h2>span{letter-spacing:-.025em}.sub{color:var(--on-surface-variant);font-size:15px;line-height:1.6;margin-bottom:26px;max-width:64ch}.job{background:var(--card);border-radius:var(--r-n);padding:21px 24px;margin-bottom:11px;border:1px solid var(--card-border);box-shadow:var(--e1)}.job-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:2px}.job-h h3{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--on-surface)}.scale,.owner{height:26px;display:inline-flex;align-items:center;padding:0 11px;border-radius:var(--r-sm);font-size:12px;font-weight:500;letter-spacing:.1px}.scale{color:var(--on-accent2-container);background:var(--accent2-container)}.owner{margin-left:auto;color:var(--on-surface-variant);background:transparent;border:1px solid var(--outline-variant);font-weight:500}.owner.built,.owner.inherit{color:var(--on-surface-variant);background:transparent;border-color:var(--outline-variant)}.job p{color:var(--on-surface-variant);font-size:var(--fs-card);line-height:1.58;margin:10px 0 0}.job p b{color:var(--hl);font-weight:600}.job .res{color:var(--on-surface)}.job .res b{color:var(--on-surface);font-weight:600}.stack,.prob .tag{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.stack span,.prob .tag span,.spec span{font-family:var(--mono);font-size:11.3px;line-height:1;color:var(--hl);background:var(--hl-container);padding:6px 9px;border-radius:var(--r-s);border:1px solid color-mix(in srgb,var(--hl) 16%,transparent);white-space:nowrap}.jl{display:flex;gap:8px;margin-top:16px;font-size:13px;font-weight:500;flex-wrap:wrap}.jl-a{color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;gap:6px;line-height:1;padding:9px 14px;border-radius:var(--r-full);background:transparent;border:1px solid color-mix(in srgb,var(--primary) 34%,transparent);font-weight:600;letter-spacing:-.005em;transition:background var(--dur-effects,.2s) var(--curve-effects,ease),color var(--dur-effects,.2s) var(--curve-effects,ease),border-color var(--dur-effects,.2s) var(--curve-effects,ease)}.jl-a:hover{background:var(--primary);color:var(--on-primary);border-color:transparent}.jl-a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.prob{background:var(--card);border-radius:var(--r-n);padding:18px 20px;margin-bottom:10px;border:1px solid var(--card-border);box-shadow:var(--e1)}.prob h4{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--on-surface);margin-bottom:7px}.prob p{color:var(--on-surface-variant);font-size:14.3px;line-height:1.58}.prob p b{color:var(--hl);font-weight:600}.sk{display:grid;grid-template-columns:150px 1fr;gap:14px 24px;font-size:14px;align-items:baseline}.sk dt{font-size:11.5px;color:var(--primary);text-align:right;font-weight:700;text-transform:uppercase;letter-spacing:.1em;line-height:1.7}.sk dd{color:var(--on-surface)}footer{padding:36px 0 64px;color:var(--on-surface-variant);font-size:13.5px;border-top:1px solid var(--outline-variant);line-height:1.7}footer .wrap>*{max-width:70ch}.tokline{font-size:12.5px;color:var(--outline);margin-top:18px;line-height:1.6}.foot-note{color:var(--outline)}footer p+p{margin-top:2px}.stack,.spec span,.jl-a,code{overflow-wrap:anywhere}img,svg{max-width:100%;height:auto}.wrap{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}@media(max-width:900px){.avail{display:none}}@media(max-width:760px){.impact{grid-template-columns:repeat(2,1fr)}.sk{grid-template-columns:1fr;gap:2px 0}.sk dt{text-align:left;margin-top:10px}section{padding:34px 0}.owner{margin-left:0}}@media(max-width:640px){.bar .wrap{gap:12px}.bar nav{gap:18px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap;margin-left:auto;-webkit-overflow-scrolling:touch}.bar nav::-webkit-scrollbar{display:none}.brand{flex:none}.job,.app-card{padding:18px 16px}.prob{padding:16px}.wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}header{padding:36px 0 32px}}@media(max-width:520px){.idrow{flex-direction:column;align-items:flex-start;gap:14px}.photo{width:64px;height:64px}.impact{grid-template-columns:1fr 1fr;gap:8px}.links{gap:6px}.btn{padding:0 18px}}@media(max-width:380px){.impact{grid-template-columns:1fr}.btn{width:100%}}@media(pointer:coarse){.bar nav a{padding:14px 0;display:inline-block}.jl-a{padding:11px 15px}.faq summary{padding:18px 0}}@media(min-width:1600px){.wrap{max-width:1000px}}.faq{background:var(--surface-container);border-radius:var(--r-m);padding:0 20px;margin-bottom:8px}.faq summary{list-style:none;cursor:pointer;padding:16px 0;font-size:15.5px;font-weight:500;color:var(--on-surface);display:flex;align-items:center;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";margin-left:auto;flex:none;width:9px;height:9px;border-right:1.8px solid var(--on-surface-variant);border-bottom:1.8px solid var(--on-surface-variant);transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--mo-effect) var(--ease)}.faq[open] summary:after{transform:rotate(225deg) translate(-2px,-2px)}.faq p{color:var(--on-surface-variant);font-size:14.5px;padding:0 0 18px;max-width:70ch}.ar{width:.74em;height:.74em;flex:none;display:block;position:relative;top:-.144em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur-fast,.35s) var(--curve-expressive,cubic-bezier(.38,1.21,.22,1))}.jl-a:hover .ar,.btn:hover .ar,.raise:hover .ar{transform:translate(2px,-2px)}.gh a{border:1px solid var(--outline-variant);background:var(--surface-container)}.gh a:hover{background:var(--surface-container-high)}[data-reveal]{opacity:0;transform:translate3d(0,12px,0);transition:opacity var(--dur-enter,.4s) var(--curve-emphasized-decel,ease-out) var(--reveal-delay,0ms),transform var(--dur-enter,.4s) var(--curve-emphasized-decel,ease-out) var(--reveal-delay,0ms);will-change:opacity,transform}[data-reveal=in]{opacity:1;transform:none;will-change:auto}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--curve-standard: cubic-bezier(.2, 0, 0, 1);--curve-standard-accel: cubic-bezier(.3, 0, 1, 1);--curve-standard-decel: cubic-bezier(0, 0, 0, 1);--curve-emphasized-accel:cubic-bezier(.3, 0, .8, .15);--curve-emphasized-decel:cubic-bezier(.05, .7, .1, 1);--curve-expressive: cubic-bezier(.38, 1.21, .22, 1);--curve-expressive-fast: cubic-bezier(.42, 1.67, .21, .9);--curve-effects: cubic-bezier(.34, .8, .34, 1);--dur-effects: .2s;--dur-fast: .35s;--dur-default: .5s;--dur-enter: .4s;--dur-exit: .2s;--dur-resize: .3s;--state-hover: .08;--state-focus: .1;--state-press: .1;--state-drag: .16}.state{position:relative;isolation:isolate}.state:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--state-layer, currentColor);opacity:0;pointer-events:none;transition:opacity var(--dur-effects) var(--curve-effects);z-index:1}.state:hover:after{opacity:var(--state-hover)}.state:focus-visible:after{opacity:var(--state-focus)}.state:active:after{opacity:var(--state-press)}.state[data-dragging]:after{opacity:var(--state-drag)}.raise{border:1px solid var(--card-border);box-shadow:var(--e1);transition:border-color var(--dur-effects) var(--curve-effects),box-shadow var(--dur-effects) var(--curve-effects),transform var(--dur-fast) var(--curve-expressive);will-change:transform}.raise:hover,.raise:focus-within{border-color:var(--hover-border);transform:translateY(-2px);box-shadow:var(--e2)}.raise:active{transform:translateY(0);box-shadow:0 1px 2px color-mix(in srgb,var(--scrim) 20%,transparent);transition-duration:var(--dur-exit)}.raise.clickable{cursor:pointer}@media(prefers-reduced-motion:reduce){.raise:hover,.raise:focus-within,.raise:active{transform:none}}.rowstate{border:1px solid transparent;border-radius:var(--r-s);transition:border-color var(--dur-effects) var(--curve-effects)}.rowstate:hover{border-color:var(--outline-variant)}.state>*{position:relative;z-index:2}:where(a,button,[tabindex]):focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:inherit}.btn,.icon{transition:transform var(--dur-enter) var(--curve-expressive)}.btn:active,.icon:active{transform:scale(.96)}@keyframes elementMoveEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal{animation:elementMoveEnter var(--dur-enter) var(--curve-emphasized-decel) both}.resizes{transition:height var(--dur-resize) var(--curve-standard),max-height var(--dur-resize) var(--curve-standard)}body{transition:background-color var(--dur-effects) var(--curve-effects),color var(--dur-effects) var(--curve-effects)}.elev-1{box-shadow:0 1px 2px color-mix(in srgb,var(--scrim) 30%,transparent)}.elev-2{box-shadow:0 2px 4px color-mix(in srgb,var(--scrim) 30%,transparent)}.elev-3{box-shadow:0 4px 8px color-mix(in srgb,var(--scrim) 30%,transparent)}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:active,.icon:active{transform:none}}:root{--fade-size: 40px}:root[data-theme=light]{--fade-size: 20px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--fade-size: 20px}}.scrollfade{position:relative}.scrollfade:before,.scrollfade:after{content:"";position:absolute;left:0;right:0;height:var(--fade-size);pointer-events:none;z-index:3;opacity:0;transition:opacity var(--dur-exit) var(--curve-effects)}.scrollfade:before{top:0;background:linear-gradient(to bottom,var(--surface) 0%,transparent 100%)}.scrollfade:after{bottom:0;background:linear-gradient(to top,var(--surface) 0%,transparent 100%)}.scrollfade[data-top="1"]:before{opacity:1}.scrollfade[data-bottom="1"]:after{opacity:1}.scrollfade>.scroller{max-height:62vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--outline-variant) transparent;padding-right:4px}.scrollfade>.scroller::-webkit-scrollbar{width:8px}.scrollfade>.scroller::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:var(--r-full)}.scrollfade>.scroller::-webkit-scrollbar-track{background:transparent}
