:root{--color-bg:#222;--color-subtle-bg:#000;--color-highlight:#484848;--color-text:#fff;--color-subtle-text:#bebebe;--color-accent:#fdca00;--grid-columns:[full-width-start] 1fr [margin-start] 1rem [content-start] min(80ch, calc(100vi - 2rem) ) [content-end] 1rem [margin-end] 1fr [full-width-end]}@supports (color:color(display-p3 0 0 0%)){:root{--color-accent:#fdca00}@media (color-gamut:p3){:root{--color-accent:color(display-p3 .96334 .80066 .24776)}}}@view-transition{navigation:auto}@media (prefers-reduced-motion:no-preference){:root{interpolate-size:allow-keywords}html{scroll-behavior:smooth}}body{background-color:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;font-family:sans-serif;justify-content:stretch;line-height:1.5;margin:unset;min-block-size:100svb}header>h1{height:1px;margin:-1px;overflow:hidden;padding:0;position:fixed;width:1px;clip:rect(0,0,0,0);border:0}header>img{height:auto;object-fit:cover;view-transition-name:hero-image;width:100%}:is(h1,h2,h3){font-weight:300;letter-spacing:.05ch;line-height:1.25;text-transform:uppercase;text-wrap:balance}p{text-wrap:pretty}@media (prefers-reduced-motion:no-preference){p{animation:fadeIn 1ms linear both;animation-range:entry 10%entry 60%;animation-timeline:view()}}main{container:main/inline-size;display:grid;flex-grow:1;grid-auto-rows:min-content;grid-template-columns:var(--grid-columns);margin-block:2rem}main>*{grid-column:content}body>nav{justify-items:center;position:sticky;top:.25rem;z-index:1}:is(body>nav)>ul{display:flex;justify-content:center;list-style:none;margin:unset;padding:unset}:is(body>nav) li{background:radial-gradient(circle at 50% 250%,var(--color-subtle-bg),var(--color-bg)),linear-gradient(var(--color-bg),var(--color-subtle-bg));background-clip:padding-box,border-box;background-origin:padding-box,border-box;border:2px solid #0000;box-shadow:0 .75rem 1rem -.25rem hsl(var(--hsl-shadow)/.06),0 .25rem .375rem -.125rem hsl(var(--hsl-shadow)/.02)}:is(:is(body>nav) li):is(:hover,:focus-within){background:radial-gradient(circle at 50% 250%,var(--color-subtle-bg) 75%,var(--color-highlight)),linear-gradient(var(--color-highlight),var(--color-subtle-bg));background-clip:padding-box,border-box;background-origin:padding-box,border-box}:is(:is(body>nav) li) a{color:var(--color-text);display:block;padding-block:.5rem;padding-inline:1.5rem;-webkit-text-decoration:none;text-decoration:none;text-transform:uppercase}[aria-current]:is(:is(:is(body>nav) li) a){font-weight:700}:is(:is(body>nav) li):first-of-type{border-end-start-radius:.5rem;border-inline-end-width:1px;border-start-start-radius:.5rem}:is(:is(body>nav) li):last-of-type{border-end-end-radius:.5rem;border-inline-start-width:1px;border-start-end-radius:.5rem}:is(:is(body>nav) li):not(:first-of-type):not(:last-of-type){border-inline-width:1px}body>footer{background:radial-gradient(circle at 50% 250%,var(--color-subtle-bg),var(--color-bg)),linear-gradient(var(--color-bg),var(--color-subtle-bg));background-clip:padding-box,border-box;background-origin:padding-box,border-box;border-block-start:2px solid #0000;box-shadow:0 .75rem 1rem -.25rem hsl(var(--hsl-shadow)/.06),0 .25rem .375rem -.125rem hsl(var(--hsl-shadow)/.02);display:grid;grid-template-columns:var(--grid-columns);padding-block:2rem}:is(body>footer)>*{grid-column:content}:is(body>footer)>small{border-block-start:1px solid #636363;display:flex;justify-content:space-between;margin-block-start:1rem;padding-block-start:1rem}a.to-top{color:inherit;-webkit-text-decoration:none;text-decoration:none}a.to-top:is(:hover,:focus){-webkit-text-decoration:underline;text-decoration:underline}a.to-top:after{content:" ↑";content:" ↑"/""}hr{background:linear-gradient(to right,#0000,var(--color-text),#0000);block-size:.1rem;border:0;inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch}a:has(>article){border:2px solid #0000;border-radius:.5rem;color:inherit;padding-block:1.5rem;padding-inline:2rem;-webkit-text-decoration:none;text-decoration:none}a:has(>article):is(:hover,:focus){background:radial-gradient(circle at 50% 250%,var(--color-subtle-bg),var(--color-bg)),linear-gradient(var(--color-subtle-bg),var(--color-bg));background-clip:padding-box,border-box;background-origin:padding-box,border-box;box-shadow:0 .75rem 1rem -.25rem hsl(var(--hsl-shadow)/.06),0 .25rem .375rem -.125rem hsl(var(--hsl-shadow)/.02)}a:has(>article):is(:hover,:focus) h2,a:has(>article):is(:hover,:focus) h3{-webkit-text-decoration:underline;text-decoration:underline}a{color:var(--color-accent)}a.author{color:inherit;font-weight:600}a.author:is(:hover,:focus){color:var(--color-text)}.emoji,.emoji>*{display:inline}.emoji>p{margin-block:unset}li:has(>.emoji){list-style-type:"";margin-block-end:.5em}li:has(>.emoji)>.emoji{margin-inline-end:1.3ch;margin-inline-start:-4ch}ol{list-style-position:outside;margin-inline-start:1em;padding-inline-start:1ch}ol>li{margin-block-end:.5em;padding-inline-start:1.5ch;position:relative}:is(ol>li)::marker{color:var(--color-bg);font-weight:600}:is(ol>li):before{background-color:var(--color-accent);block-size:1lh;border-radius:.25rem;content:"";display:inline-block;inline-size:2.1ch;left:-2.3ch;position:absolute;top:0;z-index:-1}@keyframes fadeIn{0%{opacity:0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%) scaleY(0)}}.social{display:flex;flex-direction:row;flex-wrap:wrap;gap:min(.5em,1vi);justify-content:center}@supports (position-area:bottom){.social{margin-block-end:1lh}}.social a{align-items:center;color:currentColor;display:flex;flex-direction:column;anchor-scope:--social-link}:is(.social a)>svg{anchor-name:--social-link;inline-size:clamp(2rem,10vi,3rem);stroke-width:.1rem}@media (prefers-reduced-motion:no-preference){:is(.social a)>svg{transition:stroke-width .2s ease-out,filter .25s ease-out}}:is(.social a)>span{display:none;font-size:.875rem}:is(.social a):is(:hover,:focus)>svg{stroke-width:.15rem}@media not (prefers-contrast:more){:is(.social a):is(:hover,:focus)>svg{filter:drop-shadow(0 0 .1rem currentColor)}}@supports (position-area:bottom){:is(.social a):is(:hover,:focus)>span{display:block;position:absolute;position-anchor:--social-link;inset-area:bottom;position-area:bottom}@media (prefers-reduced-motion:no-preference){:is(.social a):is(:hover,:focus)>span{animation:slideDown .3s linear(0,1.5,.5,1.2,.8,1) backwards}}}:is(body.home .intro) a{float:left;margin:1rem;shape-outside:circle(50%)}body.home .profile{background:radial-gradient(circle at 50% 250%,var(--color-subtle-bg),var(--color-bg)),linear-gradient(var(--color-bg),var(--color-subtle-bg));background-clip:padding-box,border-box;background-origin:padding-box,border-box;border:2px solid #0000;border-radius:50%;box-shadow:0 .75rem 1rem -.25rem hsl(var(--hsl-shadow)/.06),0 .25rem .375rem -.125rem hsl(var(--hsl-shadow)/.02);height:10rem;object-fit:cover;width:10rem}body.home article{display:grid;gap:1rem 1.5rem;grid-template:"image title"auto"image teaser"auto"image date"auto/15em 1fr}:is(body.home article)>h3{grid-area:title;margin:0}:is(body.home article) img{block-size:auto;border-radius:.5rem;grid-area:image;inline-size:100%;max-block-size:100%;object-fit:cover}:is(body.home article) p{grid-area:teaser;margin:0}:is(body.home article) time{color:var(--color-subtle-text);font-size:.875rem;grid-area:date}@container (width <= 40rem){body.home article{grid-template:"image"auto"title"auto"teaser"auto"date"auto/1fr}}body.blog main{--grid-columns:[full-width-start] 1fr [margin-start] 1rem [content-start] min(140ch, calc(100vi - 2rem) ) [content-end] 1rem [margin-end] 1fr [full-width-end];row-gap:2rem}body.blog article{display:grid;gap:1rem 1.5rem;grid-template:"image type"auto"image title"auto"image teaser"1fr"image date"auto/minmax(40%,15em) 1fr}:is(body.blog article):not(:has(>img)){grid-template:"title"auto"teaser"auto"date"auto/1fr}:is(body.blog article)>h2{grid-area:title;margin:0}:is(body.blog article) img{block-size:auto;border-radius:.5rem;grid-area:image;inline-size:100%;max-block-size:100%;object-fit:cover}:is(body.blog article) .type{background:var(--color-highlight);border-radius:.25em;font-size:.875rem;grid-area:type;justify-self:start;padding-inline:.75ch}:is(body.blog article) p{grid-area:teaser;margin:0}:is(body.blog article) time{color:var(--color-subtle-text);font-size:.875rem;grid-area:date}@container (width <= 40rem){body.blog article{grid-template:"image image"auto"title title"auto"teaser teaser"1fr"date type"auto/1fr}}body:is([class^=blog-],[class^=talks-]) article{display:grid;grid-column:full-width;grid-template-columns:subgrid}:is(body:is([class^=blog-],[class^=talks-]) article)>*{grid-column:content}:is(body:is([class^=blog-],[class^=talks-]) article) h1+p:has(img){grid-column:full-width;grid-row:1}:is(:is(body:is([class^=blog-],[class^=talks-]) article) h1+p:has(img)) img{block-size:auto;inline-size:100%;object-fit:cover}:is(body:is([class^=blog-],[class^=talks-]) article) p:has(img:only-child){text-align:center}:is(body:is([class^=blog-],[class^=talks-]) article)>footer{color:var(--color-subtle-text);column-gap:2rem;display:flex;flex-wrap:wrap;font-size:.875rem;justify-content:space-between;margin-block:1em}:is(:is(body:is([class^=blog-],[class^=talks-]) article)>footer)>p{margin:unset}figure>img{block-size:auto;border-radius:.25rem;inline-size:100%}figure>figcaption{color:var(--color-subtle-text);font-size:.875rem;font-style:italic;margin-top:.5rem;text-align:center;text-wrap:balance}:not(pre)>code{background-color:var(--color-subtle-bg);border-radius:.25rem;padding-block:.25rem;padding-inline:.25rem}pre{border:1px solid var(--color-subtle-bg);border-radius:.5rem;padding-block:1.5rem;padding-inline:1.5rem}h2#update:before{color:var(--color-accent);content:"⟳";content:"⟳"/"";font-size:1.2em;margin-inline-end:.2em}body.about .profile{inline-size:100%;height:auto;margin-block-end:4rem;-webkit-mask-image:linear-gradient(180deg,#000 80%,#0000 99%);mask-image:linear-gradient(180deg,#000 80%,#0000 99%)}pre[data-language]:before{border-block-end:1px solid var(--color-subtle-bg);content:attr(data-language);display:block;font-size:1.2em;font-weight:500;margin-block-end:1em;padding-block-end:.5em;text-transform:uppercase}code[class*=language-],pre[class*=language-]{background:0 0;color:#f8f8f2;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;-webkit-hyphens:none;hyphens:none;line-height:1.5;tab-size:4}pre[class*=language-]{border-radius:.3em;margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2b2b2b}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#d4d0ab}.token.punctuation{color:#fefefe}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ffa07a}.token.boolean,.token.number{color:#00e0e0}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#abe338}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#00e0e0}.token.atrule,.token.attr-value,.token.function{color:gold}.token.keyword{color:#00e0e0}.token.important,.token.regex{color:gold}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}@media (forced-colors:active){code[class*=language-],pre[class*=language-]{background:window;color:windowText}:not(pre)>code[class*=language-],pre[class*=language-]{background:window}.token.important{background:highlight;color:window;font-weight:400}.token.atrule,.token.attr-value,.token.function,.token.keyword,.token.operator,.token.selector{font-weight:700}.token.attr-value,.token.comment,.token.doctype,.token.function,.token.keyword,.token.operator,.token.property,.token.string{color:highlight}.token.attr-value,.token.url{font-weight:400}}