:root{--paper:#f5f3ec;--ink:#1d1c19;--muted:#6b675d;--rule:#d9d4c6;--link:#1d1c19;--hero-bg:#0d0d0b;--hero-ink:#efe9da;--t-alife:#b8741a;--t-grn:#4c8a2f;--t-tissue:#b0435a;--t-tools:#2c69a3;--t-ml:#7350b0;--t-sw:#5f5b52;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Charter, Georgia, serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--paper:#12120f;--ink:#e9e4d6;--muted:#9a9486;--rule:#2e2c26;--link:#e9e4d6;--t-alife:#e3a24a;--t-grn:#86c062;--t-tissue:#e57a90;--t-tools:#6ea6dc;--t-ml:#a98be6;--t-sw:#a7a296}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--serif)}a{color:var(--link);text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);text-underline-offset:2px}a:hover{text-decoration-color:initial}.masthead,.colophon{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:baseline;max-width:980px;margin:0 auto;padding:1rem 16px;font:13px/1.4 var(--mono);letter-spacing:.02em}.masthead nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}.masthead a{text-decoration:none;color:var(--muted)}.masthead a:hover,.masthead .wordmark{color:var(--ink)}.home .masthead .wordmark{visibility:hidden}.colophon{color:var(--muted);border-top:1px solid var(--rule);margin-top:4rem;padding-bottom:2rem}.colophon a{color:var(--muted)}main{max-width:980px;margin:0 auto;padding:0 16px}.hero{position:relative;background:var(--hero-bg);color:var(--hero-ink);border-radius:4px;overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end}#physarum{position:absolute;inset:0;width:100%;height:100%;color:#e3a24a;image-rendering:auto}.hero-text{position:relative;padding:2rem 1.5rem .5rem}.hero::after{content:"";position:absolute;inset:35% 0 0 0;background:linear-gradient(transparent,color-mix(in srgb,var(--hero-bg) 85%,transparent) 45%);pointer-events:none}.hero-text,.hero-note{z-index:1}.hero h1{font-weight:400;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1;margin:0 0 .5rem;letter-spacing:-.01em}.hero p{margin:.2rem 0}.hero a{color:var(--hero-ink)}.hero .role{font-size:1.1rem}.hero .span,.hero .links,.hero-note{font:13px/1.5 var(--mono)}.hero .span{color:#b9b19d}.hero .links{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin-top:.6rem}.hero-note{position:relative;margin:0;padding:.4rem 1.5rem .9rem;color:#8f887a;font-size:11.5px}.hero-note a{color:#b9b19d}.hero-note button{font:inherit;color:#b9b19d;background:0 0;border:1px solid #4a463d;border-radius:3px;padding:0 .4rem;margin-left:.4rem;cursor:pointer}.intro{max-width:40rem;margin-top:2.5rem}.block{margin-top:3.5rem}h2{font:600 12px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 1rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}.more{font:13px var(--mono)}.dot{display:inline-block;width:.55em;height:.55em;border-radius:50%;margin-right:.5em;vertical-align:.08em;background:var(--muted);flex:none}.t-alife{--c:var(--t-alife)}.t-grn{--c:var(--t-grn)}.t-tissue{--c:var(--t-tissue)}.t-tools{--c:var(--t-tools)}.t-ml{--c:var(--t-ml)}.t-sw{--c:var(--t-sw)}.dot[class*=t-]{background:var(--c)}.t-sw.dot{border-radius:1px;transform:rotate(45deg)scale(.85)}.lanes-wrap{overflow-x:auto}.lanes{width:100%;min-width:560px;height:auto;display:block}.lanes line{stroke:var(--c);stroke-width:1.5;opacity:.45}.lanes circle{fill:var(--c)}.lanes text{font:10px var(--mono);fill:var(--muted);text-anchor:middle}.legend{list-style:none;padding:0;margin:.8rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;font:12.5px var(--mono)}.legend button{font:inherit;color:var(--ink);background:0 0;border:0;padding:.15rem 0;cursor:pointer;border-bottom:1px solid transparent}.legend button[aria-pressed=true]{border-bottom-color:initial}.pubs,.timeline,.plain,.cv{list-style:none;padding:0;margin:0}.pubs ul,.timeline ul{list-style:none;padding:0;margin:0}.pub-y,.year-row,.cv>li{display:grid;grid-template-columns:4.2rem 1fr;gap:0 1rem;padding:.45rem 0;border-bottom:1px dotted var(--rule)}.cv>li{grid-template-columns:7.5rem 1fr}.year{font:13px/1.9 var(--mono);color:var(--muted)}.pub{padding:.12rem 0;transition:opacity .15s;display:grid;grid-template-columns:2.6em 1fr;align-items:baseline}.pub .venue{white-space:normal}.dots{white-space:nowrap}.dots .dot{margin-right:.18em}.item{transition:opacity .15s}.pub a{text-decoration:none}.pub a:hover{text-decoration:underline}.venue{font:12px var(--mono);color:var(--muted);margin-left:.5em;white-space:nowrap}.role-line{margin:.1rem 0 .2rem;font-style:italic}.plain li{padding:.2rem 0}.plain .year{margin-right:.8rem}.cv p{margin:0}.cv .detail{color:var(--muted);font-size:.92rem}[data-filter] .item{opacity:.16}[data-filter=alife] .item[data-thread~=alife],[data-filter=ml] .item[data-thread~=ml],[data-filter=grn] .item[data-thread~=grn],[data-filter=tissue] .item[data-thread~=tissue],[data-filter=tools] .item[data-thread~=tools]{opacity:1}.page{max-width:44rem;margin-top:2rem}.page.wide{max-width:none}.page h1{font-weight:400;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.2;margin:.2rem 0 1rem}.page h2{margin-top:2.5rem}.kicker{font:12.5px var(--mono);color:var(--muted);margin:0}.authors{margin:0 0 .3rem}.venue-full{margin:0;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font:13px var(--mono);margin:1rem 0}.prose img,figure img{max-width:100%;height:auto;border-radius:3px}figure{margin:1.5rem 0}figcaption{font:12.5px/1.5 var(--mono);color:var(--muted);margin-top:.4rem}.prose table{border-collapse:collapse;font:13px var(--mono);display:block;overflow-x:auto}.prose th,.prose td{padding:.25rem .7rem;border-bottom:1px solid var(--rule);text-align:left}.prose pre,.prose code{font-family:var(--mono);font-size:.88em}.prose pre{background:color-mix(in srgb,var(--ink) 6%,transparent);padding:.8rem 1rem;overflow-x:auto;border-radius:3px}@media(max-width:560px){body{font-size:16px}.hero{min-height:320px}.hero-text{padding:1.5rem 1rem .4rem}.hero-note{padding:.3rem 1rem .8rem}.pub-y,.year-row{grid-template-columns:1fr}.cv>li{grid-template-columns:1fr}.year{line-height:1.4}}.talks li{padding-left:4.2rem;text-indent:-4.2rem}.talks .year{display:inline-block;width:3.4rem;text-indent:0;margin-right:.8rem}.meta-line{margin:.2rem 0;font:12px/1.7 var(--mono);color:var(--muted)}.meta-line .label{display:inline-block;min-width:6.2em;margin-right:.4em;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.meta-line .item+.item::before{content:" · ";color:var(--rule)}.meta-line a{color:var(--ink)}.note{font:12.5px var(--mono);color:var(--muted);margin:-.4rem 0 .8rem}