@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/8c6f6f0aec3d26a6-s.1_989u-8wo87d.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/1eec9d9ffa9353d6-s.0p_e0o_mmch4k.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a743aa2c0cf8fb8f-s.3_ipbiomk_uac.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/10995ca37aac8da2-s.1lwvfe4dbkct1.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/6c734a20b6a058c6-s.3sggwitc9b6nr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/dfb4b19a8d76831e-s.p.0212ts7yts16_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:italic;font-weight:100 900;font-display:swap;src:url(../media/f67ad414ed34149c-s.p.2b482_kimkjhm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,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(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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.0%;size-adjust:107.12%}.c7V7Wq_className{font-family:Inter,Inter Fallback}.c7V7Wq_variable{--font-inter:"Inter", "Inter Fallback"}
:root{--bg:#f4f0e6;--bg-rgb:244,240,230;--ink:#161310;--ink-rgb:22,19,16;--ink-2:#46423a;--muted:#66615a;--accent:#9e4a2f;--acc-rgb:158,74,47;--box-ink-rgb:120,48,30;--on-accent:#f4f0e6;--surface:#ebe5d8;--nav:#f4f0e6e0;--line:rgba(var(--ink-rgb),.14);--font:var(--font-inter), system-ui, sans-serif;--gutter:clamp(16px, 4vw, 32px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#161310;--bg-rgb:22,19,16;--ink:#f4f0e6;--ink-rgb:244,240,230;--ink-2:#d3ccbe;--muted:#9d9585;--accent:#d98a5f;--acc-rgb:217,138,95;--box-ink-rgb:240,180,145;--on-accent:#161310;--surface:#211d18;--nav:#161310e0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px;font-size:125%}body{background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;overflow-x:hidden}h1,h2,h3,h4,p,dl,dd,ul{margin:0}h3,h4{font-size:1rem;font-weight:600;line-height:1.4}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}.role a,.meta a,.lede a,.page-lead a,.post p a,.post li a{text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{max-width:920px;padding-inline:var(--gutter);margin:0 auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.top{z-index:50;background:var(--nav);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.top-in{max-width:920px;min-height:56px;padding-inline:var(--gutter);flex-wrap:wrap;align-items:center;gap:0 24px;margin:0 auto;display:flex}.icons{gap:18px;padding:0;list-style:none;display:flex}.icons a{color:var(--ink);display:inline-flex}.icons a:hover{color:var(--accent)}svg.i{width:22px;height:22px;display:block}.nav{gap:22px;margin-left:auto;display:flex}.nav a{color:var(--ink);font-size:1.0625rem}.nav a:hover{color:var(--accent);text-decoration:none}.theme{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px}.theme:hover{color:var(--accent)}.theme svg{width:18px;height:18px;display:block}.theme .i-sun{display:none}:root[data-theme=dark] .theme .i-sun{display:block}:root[data-theme=dark] .theme .i-moon{display:none}main{padding-block:40px 72px}main>section+section{margin-top:48px}h2{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:8px;font-size:clamp(1.25rem,2.75vw,1.375rem);font-weight:600;line-height:1.1}.chips{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:3px;padding:3px 10px;font-size:.75rem}.pub{border-bottom:1px solid var(--line);padding:18px 0}.pub:last-of-type{border-bottom:0}.tags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.venue,.tag{font:600 .6875rem/1.3 var(--font);border-radius:999px;padding:3px 9px}.venue{background:var(--accent);color:var(--on-accent)}.tag{border:1px solid var(--accent);color:var(--accent);font-weight:500}.pub h3 a{color:var(--ink)}.pub h3 a:hover{color:var(--accent)}.authors,.meta{margin-top:4px;font-size:.8125rem}.authors{color:var(--ink-2)}.authors b{color:var(--ink)}.meta{color:var(--muted)}.links{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.btn{font:.6875rem/1 var(--font);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 10px}.btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.more{margin-top:18px;font-size:.9375rem;display:inline-block}.entry{border-bottom:1px solid var(--line);padding:16px 0}.entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 16px;display:flex}.entry h3{font-size:1.0625rem}.entry h3 span{color:var(--muted);font-weight:400}.when{font:.75rem var(--font);color:var(--muted);white-space:nowrap}.entry ul{color:var(--ink-2);gap:4px;margin-top:8px;padding-left:20px;font-size:.9375rem;display:grid}.projects{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:6px;flex-direction:column;gap:8px;padding:18px;display:flex}.card h3 a{color:var(--ink)}.card h3 a:hover{color:var(--accent)}.card p{color:var(--ink-2);flex:1;font-size:.875rem}.card .meta{flex:0;margin:0}footer{background:var(--surface);border-top:1px solid var(--line);text-align:center;padding:28px 16px 36px}footer .icons{justify-content:center;margin-bottom:12px}footer p{color:var(--muted);font-size:.875rem}.nav a[aria-current=page]{color:var(--accent)}.page-title{letter-spacing:-.01em;font-size:clamp(1.625rem,4vw,2rem);font-weight:700;line-height:1.2}.page-lead{color:var(--muted);margin:6px 0 36px}.page-lead a{font-weight:500}.dl{border:1px solid var(--accent);color:var(--accent);border-radius:999px;margin-top:12px;padding:6px 14px;font-size:.875rem;display:inline-block}.dl:hover{background:var(--accent);color:var(--on-accent);text-decoration:none}.skills{grid-template-columns:250px 1fr;gap:10px 20px;font-size:.9375rem;display:grid}.skills dt{font-weight:600}.skills dd{color:var(--ink-2)}@media (max-width:640px){.skills{grid-template-columns:1fr;gap:0}.skills dd{margin-bottom:12px}}.toc{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:14px 18px;font-size:.875rem}.toc b{font-weight:600}.toc ol{gap:2px;margin:6px 0 0;padding-left:18px;display:grid}.post{margin-top:32px}.post time{color:var(--muted);font-size:.8125rem;font-weight:600}.post-title{border:0;margin:4px 0 6px;padding:0;font-size:clamp(1.375rem,3.25vw,1.75rem);line-height:1.25}.post .tags{margin:10px 0 0}.post h3{margin:32px 0 8px;scroll-margin-top:72px;font-size:1.125rem}.post p,.post li{color:var(--ink-2);line-height:1.75}.post p+p,.post ul+p{margin-top:12px}.post ul{gap:6px;margin-top:10px;padding-left:20px;display:grid}.post .lede-p{color:var(--ink);margin-top:18px;font-size:1.0625rem}.post+.post{border-top:1px solid var(--line);margin-top:56px;padding-top:40px}.post h3+.tags{margin:-2px 0 10px}.about h1{letter-spacing:-.01em;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;line-height:1.2}.hello{color:var(--muted);font-size:.9375rem;font-style:italic}.role{color:var(--ink-2);margin-top:4px;font-size:1rem}.about-row{align-items:flex-start;gap:32px;margin-top:28px;display:flex}.about-text{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.lede{color:var(--ink-2);text-align:justify;-webkit-hyphens:auto;hyphens:auto;font-size:.9375rem;line-height:1.65}.stats{border-top:1px solid var(--line);flex-wrap:wrap;gap:28px;padding-top:14px;display:flex}.stats div{flex-direction:column;gap:2px;display:flex}.stats b{font-size:1.25rem;font-weight:600;line-height:1.1}.stats span{color:var(--muted);font-size:.75rem}.cta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pill{background:var(--ink);color:var(--bg);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);border-radius:100px;align-items:center;gap:6px;padding:9px 18px;font-size:.75rem;display:inline-flex}.pill:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);text-decoration:none}.under{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;font-size:.75rem}.under:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.textlinks{flex-wrap:wrap;gap:14px;display:flex}.textlinks a{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:2px;font-size:.8125rem}.textlinks a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.brain-fig{flex:0 0 300px;align-self:stretch;position:relative}.brain{pointer-events:none;width:max(300px,50vw - 158px);position:absolute;top:-100px;bottom:-40px;left:0}.brain canvas{width:100%;height:100%;display:block}.hud{font-variant-numeric:tabular-nums;color:rgba(var(--ink-rgb),.5);position:absolute;top:clamp(80px,13vh,130px);left:8px}.hud-row{align-items:stretch;gap:12px;display:flex}.hud-bin{border:1px solid rgba(var(--ink-rgb),.3);letter-spacing:.16em;padding:8px 9px;font-size:9px;line-height:1.55}.hud-p{letter-spacing:.06em;flex-direction:column;justify-content:center;gap:7px;font-size:12px;display:flex}.hud-p i{background:rgba(var(--ink-rgb),.3);width:64px;height:1px}.hud-read{letter-spacing:.06em;color:rgba(var(--acc-rgb),.75);margin-top:14px;font-size:9px;line-height:1.7}.cap{position:absolute;right:24px}.cap-top{letter-spacing:.28em;text-transform:uppercase;color:rgba(var(--ink-rgb),.42);font-size:10px;top:112px}.cap-bot{letter-spacing:.16em;color:rgba(var(--acc-rgb),.7);font-size:12px;bottom:48px}.pdf{border:1px solid var(--line);background:var(--surface);border-radius:6px;width:100%;height:85dvh;min-height:560px;display:block}.pdf p{color:var(--ink-2);padding:16px}.pdf-open{display:none}@media (max-width:900px){.top-in{gap:0 16px}.top .icons{gap:14px}.nav{gap:16px}.nav a{font-size:17px}.about-row{flex-direction:column-reverse;gap:16px}.brain-fig{flex:none;width:100%;height:280px}.brain{top:0;bottom:0;left:calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter))}.hud{top:12px;left:var(--gutter)}.cap{right:var(--gutter)}.cap-top{top:12px}.cap-bot{bottom:8px}.lede{text-align:left;-webkit-hyphens:manual;hyphens:manual}}@media (max-width:720px){.top-in{gap:0 12px}.top .icons{display:none}.nav{scrollbar-width:none;min-width:0;margin-left:0;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{flex-shrink:0}.theme{margin-left:auto}}@media (max-width:640px){.nav{gap:10px}.nav a{font-size:16px}main{padding-block:24px 56px}main>section+section{margin-top:40px}.page-lead{margin-bottom:28px}.brain-fig{height:220px}.hud-read,.cap{display:none}.stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.pdf{display:none}.pdf-open{display:inline-block}}@media (max-width:380px){.nav{gap:10px}.nav a{font-size:14px}}@media (pointer:coarse){.nav a{padding-block:10px}.icons,.top .icons{gap:6px}.icons a{padding:6px}.theme{padding:9px}.btn{padding:8px 14px}.textlinks a,.under{padding-top:8px;display:inline-block}.toc ol{gap:8px}.toc a{padding-block:4px;display:inline-block}h3{line-height:1.5}.card h3 a,.pub h3 a{display:block}}
