:root{--gap:24px;--content-gap:20px;--nav-width:1024px;--main-width:720px;--header-height:60px;--footer-height:60px;--radius:8px;--theme:rgb(255, 255, 255);--entry:rgb(255, 255, 255);--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--hljs-bg:rgb(28, 29, 33);--code-bg:rgb(245, 245, 245);--border:rgb(238, 238, 238)}.dark{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--hljs-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--code-bg)}.dark.list{background:var(--theme)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:18px;line-height:1.6;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}.not-found{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;height:80%;font-size:160px;font-weight:700}.archive-posts{width:100%;font-size:16px}.archive-year{margin-top:40px}.archive-year:not(:last-of-type){border-bottom:2px solid var(--border)}.archive-month{display:flex;align-items:flex-start;padding:10px 0}.archive-month-header{margin:25px 0;width:200px}.archive-month:not(:last-of-type){border-bottom:1px solid var(--border)}.archive-entry{position:relative;padding:5px;margin:10px 0}.archive-entry-title{margin:5px 0;font-weight:400}.archive-count,.archive-meta{color:var(--secondary);font-size:14px}.footer,.top-link{font-size:12px;color:var(--secondary)}.footer{max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:calc((var(--footer-height) - var(--gap))/2)var(--gap);text-align:center;line-height:24px}.footer span{margin-inline-start:1px;margin-inline-end:1px}.footer span:last-child{white-space:nowrap}.footer a{color:inherit;border-bottom:1px solid var(--secondary)}.footer a:hover{border-bottom:1px solid var(--primary)}.top-link{visibility:hidden;position:fixed;bottom:60px;right:30px;z-index:99;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme))}.footer a:hover,.top-link:hover{color:var(--primary)}.top-link:focus,#theme-toggle:focus{outline:0}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:calc(var(--nav-width) + var(--gap) * 2);margin-inline-start:auto;margin-inline-end:auto;line-height:var(--header-height)}.nav a{display:block}.logo,#menu{display:flex;margin:auto var(--gap)}.logo{flex-wrap:inherit}.logo a{font-size:24px;font-weight:700}.logo a img,.logo a svg{display:inline;vertical-align:middle;pointer-events:none;transform:translate(0,-10%);border-radius:6px;margin-inline-end:8px}button#theme-toggle{font-size:26px;margin:auto 4px}body.dark #moon{vertical-align:middle;display:none}body:not(.dark) #sun{display:none}#menu{list-style:none;word-break:keep-all;overflow-x:auto;white-space:nowrap}#menu li+li{margin-inline-start:var(--gap)}#menu a{font-size:16px}#menu .active{font-weight:500;border-bottom:2px solid}.lang-switch li,.lang-switch ul,.logo-switches{display:inline-flex;margin:auto 4px}.lang-switch{display:flex;flex-wrap:inherit}.lang-switch a{margin:auto 3px;font-size:16px;font-weight:500}.logo-switches{flex-wrap:inherit}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}.page-header h1{font-size:40px}.pagination{display:flex}.pagination a{color:var(--theme);font-size:13px;line-height:36px;background:var(--primary);border-radius:calc(36px/2);padding:0 16px}.pagination .next{margin-inline-start:auto}.social-icons{padding:12px 0}.social-icons a:not(:last-of-type){margin-inline-end:12px}.social-icons a svg{height:26px;width:26px}code{direction:ltr}div.highlight,pre{position:relative}.copy-code{display:none;position:absolute;top:4px;right:4px;color:rgba(255,255,255,.8);background:rgba(78,78,78,.8);border-radius:var(--radius);padding:0 5px;font-size:14px;user-select:none}div.highlight:hover .copy-code,pre:hover .copy-code{display:block}.first-entry{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:320px;margin:var(--gap)0 calc(var(--gap) * 2)}.first-entry .entry-header{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-entry .entry-header h1{font-size:34px;line-height:1.3}.first-entry .entry-content{margin:14px 0;font-size:16px;-webkit-line-clamp:3}.first-entry .entry-footer{font-size:14px}.home-info .entry-content{-webkit-line-clamp:unset}.post-entry{position:relative;margin-bottom:var(--gap);padding:var(--gap);background:var(--entry);border-radius:var(--radius);transition:transform .1s;border:1px solid var(--border)}.post-entry:active{transform:scale(.96)}.tag-entry .entry-cover{display:none}.entry-header h2{font-size:24px;line-height:1.3}.entry-content{margin:8px 0;color:var(--secondary);font-size:14px;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-footer{color:var(--secondary);font-size:13px}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0}.entry-cover,.entry-isdraft{font-size:14px;color:var(--secondary)}.entry-cover{margin-bottom:var(--gap);text-align:center}.entry-cover img{border-radius:var(--radius);pointer-events:none;width:100%;height:auto}.entry-cover a{color:var(--secondary);box-shadow:0 1px 0 var(--primary)}.page-header,.post-header{margin:24px auto var(--content-gap)}.post-title{margin-bottom:2px;font-size:40px}.post-description{margin-top:10px;margin-bottom:5px}.post-meta,.breadcrumbs{color:var(--secondary);font-size:14px;display:flex;flex-wrap:wrap}.post-meta .i18n_list li{display:inline-flex;list-style:none;margin:auto 3px;box-shadow:0 1px 0 var(--secondary)}.breadcrumbs a{font-size:16px}.post-content{color:var(--content)}.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:24px 0 16px}.post-content h1{margin:40px auto 32px;font-size:40px}.post-content h2{margin:32px auto 24px;font-size:32px}.post-content h3{font-size:24px}.post-content h4{font-size:16px}.post-content h5{font-size:14px}.post-content h6{font-size:12px}.post-content a,.toc a:hover{box-shadow:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.post-content a code{margin:auto 0;border-radius:0;box-shadow:0 -1px 0 var(--primary)inset}.post-content del{text-decoration:line-through}.post-content dl,.post-content ol,.post-content p,.post-content figure,.post-content ul{margin-bottom:var(--content-gap)}.post-content ol,.post-content ul{padding-inline-start:20px}.post-content li{margin-top:5px}.post-content li p{margin-bottom:0}.post-content dl{display:flex;flex-wrap:wrap;margin:0}.post-content dt{width:25%;font-weight:700}.post-content dd{width:75%;margin-inline-start:0;padding-inline-start:10px}.post-content dd~dd,.post-content dt~dt{margin-top:10px}.post-content table{margin-bottom:32px}.post-content table th,.post-content table:not(.highlighttable,.highlight table,.gist .highlight) td{min-width:80px;padding:12px 8px;line-height:1.5;border-bottom:1px solid var(--border)}.post-content table th{font-size:14px;text-align:start}.post-content table:not(.highlighttable) td code:only-child{margin:auto 0}.post-content .highlight table{border-radius:var(--radius)}.post-content .highlight:not(table){margin:10px auto;background:var(--hljs-bg)!important;border-radius:var(--radius);direction:ltr}.post-content li>.highlight{margin-inline-end:0}.post-content ul pre{margin-inline-start:calc(var(--gap) * -2)}.post-content .highlight pre{margin:0}.post-content .highlighttable{table-layout:fixed}.post-content .highlighttable td:first-child{width:40px}.post-content .highlighttable td .linenodiv{padding-inline-end:0!important}.post-content .highlighttable td .highlight,.post-content .highlighttable td .linenodiv pre{margin-bottom:0}.post-content code{margin:auto 4px;padding:4px 6px;font-size:.78em;line-height:1.5;background:var(--code-bg);border-radius:2px}.post-content pre code{display:block;margin:auto 0;padding:10px;color:#d5d5d6;background:var(--hljs-bg)!important;border-radius:var(--radius);overflow-x:auto;word-break:break-all}.post-content blockquote{margin:20px 0;padding:0 14px;border-inline-start:3px solid var(--primary)}.post-content hr{margin:30px 0;height:2px;background:var(--tertiary);border:0}.post-content iframe{max-width:100%}.post-content img{border-radius:4px;margin:1rem 0}.post-content img[src*="#center"]{margin:1rem auto}.post-content figure.align-center{text-align:center}.post-content figure>figcaption{color:var(--primary);font-size:16px;font-weight:700;margin:8px 0 16px}.post-content figure>figcaption>p{color:var(--secondary);font-size:14px;font-weight:400}.toc{margin:0 2px 40px;border:1px solid var(--border);background:var(--code-bg);border-radius:var(--radius);padding:.4em}.dark .toc{background:var(--entry)}.toc details summary{cursor:zoom-in;margin-inline-start:20px}.toc details[open] summary{cursor:zoom-out}.toc .details{display:inline;font-weight:500}.toc .inner{margin:0 20px;padding:10px 20px}.toc li ul{margin-inline-start:var(--gap)}.toc summary:focus{outline:0}.post-footer{margin-top:56px}.post-tags li{display:inline-block;margin-inline-end:3px;margin-bottom:5px}.post-tags a,.share-buttons,.paginav{border-radius:var(--radius);background:var(--code-bg);border:1px solid var(--border)}.post-tags a{display:block;padding-inline-start:14px;padding-inline-end:14px;color:var(--secondary);font-size:14px;line-height:34px;background:var(--code-bg)}.post-tags a:hover,.paginav a:hover{background:var(--border)}.share-buttons{margin:14px 0;padding-inline-start:var(--radius);display:flex;justify-content:center;overflow-x:auto}.share-buttons a{margin-top:10px}.share-buttons a:not(:last-of-type){margin-inline-end:12px}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;color:var(--secondary);margin-inline-start:8px;font-weight:500;user-select:none}.paginav{margin:10px 0;display:flex;line-height:30px;border-radius:var(--radius)}.paginav a{padding-inline-start:14px;padding-inline-end:14px;border-radius:var(--radius)}.paginav .title{letter-spacing:1px;text-transform:uppercase;font-size:small;color:var(--secondary)}.paginav .prev,.paginav .next{width:50%}.paginav span:hover:not(.title){box-shadow:0 1px}.paginav .next{margin-inline-start:auto;text-align:right}[dir=rtl] .paginav .next{text-align:left}h1>a>svg{display:inline}img.in-text{display:inline;margin:auto}.buttons,.main .profile{display:flex;justify-content:center}.main .profile{align-items:center;min-height:calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));text-align:center}.profile .profile_inner h1{padding:12px 0}.profile img{display:inline-table;border-radius:50%}.buttons{flex-wrap:wrap;max-width:400px;margin:0 auto}.button{background:var(--tertiary);border-radius:var(--radius);margin:8px;padding:6px;transition:transform .1s}.button-inner{padding:0 8px}.button:active{transform:scale(.96)}#searchbox input{padding:4px 10px;width:100%;color:var(--primary);font-weight:700;border:2px solid var(--tertiary);border-radius:var(--radius)}#searchbox input:focus{border-color:var(--secondary)}#searchResults li{list-style:none;border-radius:var(--radius);padding:10px;margin:10px 0;position:relative;font-weight:500}#searchResults{margin:10px 0;width:100%}#searchResults li:active{transition:transform .1s;transform:scale(.98)}#searchResults a{position:absolute;width:100%;height:100%;top:0;left:0;outline:none}#searchResults .focus{transform:scale(.98);border:2px solid var(--tertiary)}.terms-tags li{display:inline-block;margin:10px;font-weight:500}.terms-tags a{display:block;padding:3px 10px;background:var(--tertiary);border-radius:6px;transition:transform .1s}.terms-tags a:active{background:var(--tertiary);transform:scale(.96)}@media screen and (max-width:768px){:root{--gap:14px}.profile img{transform:scale(.85)}.first-entry{min-height:260px}.archive-month{flex-direction:column}.archive-year{margin-top:20px}.footer{padding:calc((var(--footer-height) - var(--gap) - 10px)/2)var(--gap)}}@media screen and (max-width:900px){.list .top-link{transform:translateY(-5rem)}}@media(prefers-reduced-motion){.terms-tags a:active,.button:active,.post-entry:active,.top-link,#searchResults .focus,#searchResults li:active{transform:none}}body.home .logo{visibility:hidden}body.home header.header .logo{visibility:visible}.logo a{opacity:.56;transition:opacity ease-in-out .2s;font-weight:500}.logo a:hover{opacity:1}header.header{position:sticky;top:0;z-index:1000}.backdrop{position:absolute;inset:0;height:200%;border-radius:4px;background:hsl(0deg 0% 100%/.1);pointer-events:none;backdrop-filter:blur(16px);mask-image:linear-gradient(to bottom,black 0,black 50%,transparent 50%)}.backdrop-edge{--thickness:3px;position:absolute;inset:0;height:100%;transform:translateY(100%);background:hsla(0,0%,75%,.1);backdrop-filter:blur(8px)brightness(100%);pointer-events:none;mask-image:linear-gradient(to bottom,black 0,black var(--thickness),transparent var(--thickness))}header nav{position:relative;z-index:1;color:#000;font-size:13px;padding:0 16px}body.home header.header{pointer-events:none;transform:translateY(-100%);transition:transform .35s ease-in-out}body.home header.header.visible{pointer-events:auto;transform:translateY(0)}@media(min-width:961px){body.home header.header,body.publications-page header.header{display:none}}header nav a{opacity:.56;transition:opacity ease-in-out .2s;font-weight:500}header nav #menu .active{font-weight:500;border-bottom:2px solid var(--tertiary)}header nav #menu a{opacity:.56;transition:opacity ease-in-out .2s;font-weight:500}header nav #menu a:hover{opacity:1}.back-link{position:fixed;top:30px;left:30px;z-index:99;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear;transform:rotate(-90deg);font-size:9px;color:var(--secondary)}.back-link,.back-link svg{filter:drop-shadow(0 0 0 var(--theme))}.back-link:hover{color:var(--primary)}.back-link:focus,#theme-toggle:focus{outline:0}@media screen and (max-width:900px){.list .back-link{transform:translateY(-5rem)}}@media screen and (max-width:450px){.top-link,.back-link{display:none}}@media(max-width:450px){.social-icons{padding-top:4rem}}.social-icons{padding-top:2rem}.social-icons a svg{width:24px;height:24px}.social-icons a:not(:last-of-type){margin-inline-end:12px}:root{--gap:24px;--content-gap:20px;--nav-width:100%;--main-width:980px;--list-width:880px;--home-profile-width:880px;--header-height:60px;--footer-height:60px;--radius:8px;--theme:#fff;--theme_rgb:255, 255, 255;--entry:#fff;--primary:rgba(0, 0, 0, 0.88);--secondary:rgba(0, 0, 0, 0.56);--tertiary:rgba(0, 0, 0, 0.16);--tags:rgb(165, 165, 165);--content:rgba(0, 0, 0, 0.88);--hljs-bg:#1c1d21;--code-bg:#f5f5f5;--border:#eee;--fade-bg:var(--code-bg)}@media screen and (max-width:768px){:root{--gap:14px}}.dark.list{--fade-bg:var(--theme)}::-webkit-scrollbar-track{background:0 0}@media screen and (max-width:900px){.list .top-link{display:none}}html{background-color:var(--theme)}html:has(body.list){background-color:var(--code-bg)}html:has(body.dark),html:has(body.dark.list){background-color:var(--theme)}body{font-size:16px;line-height:1.5}.post-content{margin-top:3rem}.post-content a.button{box-shadow:none;margin-left:0;display:inline-block;background:var(--tertiary);border:none}.post-title{font-size:39px}.post-content hr{border:0}.post-content li{margin-top:4px}.post-meta{margin-top:1rem;display:block;font-size:16px}p.author-note{font-size:12px}.external-link.button .button-inner:before{content:"";display:inline-block;width:10px;height:10px;mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 133.88 133.85"><line x1="6.36" y1="127.49" x2="120.06" y2="13.79" stroke="black" stroke-miterlimit="10" stroke-width="18" fill="none"/><polygon points="129.94 108.02 111.94 107.38 115.19 18.69 26.48 21.93 25.84 3.92 133.88 0 129.94 108.02" fill="black"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 133.88 133.85"><line x1="6.36" y1="127.49" x2="120.06" y2="13.79" stroke="black" stroke-miterlimit="10" stroke-width="18" fill="none"/><polygon points="129.94 108.02 111.94 107.38 115.19 18.69 26.48 21.93 25.84 3.92 133.88 0 129.94 108.02" fill="black"/></svg>');mask-size:contain;-webkit-mask-size:contain;color:var(--secondary);background-color:currentColor;margin-right:7px;margin-bottom:2px;vertical-align:middle}.arxiv-link.button .button-inner:before{content:"";display:inline-block;width:15px;height:15px;mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74.492 100.25"><g><path d="M553.264,283.782l29.888-27.1a5.163,5.163,0,0,1,3.265-1.515,4.168,4.168,0,0,1,.544.037,6.622,6.622,0,0,1,4.18,3.251c.612,1.507.268,2.693-1.416,4.88l-26.858,31.724Z" transform="translate(-526.086 -245.559)" fill="black"/><path d="M577.758,289.555l-43.7-41.923s-1.671-2.029-3.437-2.071a4.49,4.49,0,0,0-4.23,2.718c-.688,1.651-.194,2.809,1.315,4.97l34.775,42.2-.017,0-25.884,31.793c-1.255,1.337-2.032,3.683-1.331,5.367a4.587,4.587,0,0,0,4.287,2.841,4.087,4.087,0,0,0,3.082-1.523l35.1-32.634A7.926,7.926,0,0,0,577.758,289.555Z" transform="translate(-526.086 -245.559)" fill="black"/><path d="M553.423,284.593l8.977,10.558L597.911,337.9c.873,1.093,1.419,2.186,1.047,3.418a4.092,4.092,0,0,1-2.721,2.837,3.557,3.557,0,0,1-1.045.159,4,4,0,0,1-2.687-1.124L548.01,300.808c-3.5-3.5-2.971-8.151.436-11.558l4.977-4.657Z" transform="translate(-526.086 -245.559)" fill="black"/></g></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74.492 100.25"><g><path d="M553.264,283.782l29.888-27.1a5.163,5.163,0,0,1,3.265-1.515,4.168,4.168,0,0,1,.544.037,6.622,6.622,0,0,1,4.18,3.251c.612,1.507.268,2.693-1.416,4.88l-26.858,31.724Z" transform="translate(-526.086 -245.559)" fill="black"/><path d="M577.758,289.555l-43.7-41.923s-1.671-2.029-3.437-2.071a4.49,4.49,0,0,0-4.23,2.718c-.688,1.651-.194,2.809,1.315,4.97l34.775,42.2-.017,0-25.884,31.793c-1.255,1.337-2.032,3.683-1.331,5.367a4.587,4.587,0,0,0,4.287,2.841,4.087,4.087,0,0,0,3.082-1.523l35.1-32.634A7.926,7.926,0,0,0,577.758,289.555Z" transform="translate(-526.086 -245.559)" fill="black"/><path d="M553.423,284.593l8.977,10.558L597.911,337.9c.873,1.093,1.419,2.186,1.047,3.418a4.092,4.092,0,0,1-2.721,2.837,3.557,3.557,0,0,1-1.045.159,4,4,0,0,1-2.687-1.124L548.01,300.808c-3.5-3.5-2.971-8.151.436-11.558l4.977-4.657Z" transform="translate(-526.086 -245.559)" fill="black"/></g></svg>');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;color:var(--secondary);background-color:currentColor;margin-right:5px;margin-bottom:2px;vertical-align:middle}.file-link.button .button-inner:before{content:"";display:inline-block;width:15px;height:15px;mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="black" d="M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="black" d="M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"/></svg>');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;background-color:currentColor;margin-right:5px;vertical-align:middle;color:var(--secondary);margin-top:-4px}.code-link.button .button-inner:before{content:"";display:inline-block;width:15px;height:15px;mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="black" d="M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="black" d="M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"/></svg>');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;background-color:currentColor;margin-right:6px;margin-left:-1px;vertical-align:middle;color:var(--secondary)}.button-inner strong{font-weight:600}.opaque{opacity:.75}.entry-isdraft{display:inline-block}.entry-publishedin{color:var(--secondary);font-size:14px;line-height:1.6;margin-bottom:6px}.entry-footer{margin-top:8px}.entry-header h2{font-size:26px}@media(max-width:960px){.main:has(.post-single:not(.cv)){padding-top:1.25rem}.post-single:not(.cv) .post-header{margin-top:0}}@media(max-width:600px){.main:has(.post-single:not(.cv)){padding:2rem 1.25rem 2.5rem}}@media(max-width:450px){.entry-header h2{font-size:22px}.post-title{font-size:26px}.post-meta{margin-top:.5rem}.post-content{margin-top:2rem}}.post-content img{width:100%}body.dark .post-content figure.invert-dark img{filter:invert(1)}.home-info .entry-content{-webkit-line-clamp:unset}.post-entry{display:grid;grid-template-columns:30% 70%;position:relative;margin-bottom:var(--gap);background:var(--entry);border-radius:var(--radius);transition:transform .1s;border:1px solid var(--border);padding:0;min-height:190px}.post-entry.no-image{grid-template-columns:100%;min-height:unset}.post-entry .text-container{display:flex;flex-direction:column;padding:var(--gap)}.post-entry.post-entry-highlight .text-container{padding:.85rem .95rem 2.3rem}.post-entry .image-container{overflow:hidden;position:relative;border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);background:var(--tertiary)}.post-entry .image-container img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:absolute;top:0;left:0}.post-entry .image-container video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:absolute;top:0;left:0}.post-entry:active{transform:scale(.98)}.post-entry:has(.entry-tldr:active):active{transform:none}@media(max-width:960px),(hover:none),(pointer:coarse){.post-entry:active{transform:none}}.carousel-viewport.is-dragging .post-entry:active{transform:none}.post-entry.post-entry-highlight{display:flex;flex-direction:column;min-height:var(--card-min-h,auto);margin-bottom:0}.post-entry-highlight .image-container{width:100%;min-height:max(15.5vh,140px);order:1;border-top-left-radius:var(--radius);border-bottom-left-radius:0;border-top-right-radius:var(--radius);border-bottom-right-radius:0}.post-entry-highlight .text-container{order:2;flex:1;justify-content:flex-start}.post-entry-highlight .text-container h2{order:2;font-size:.95rem;font-weight:600;line-height:1.26}.post-entry-highlight .entry-header,.post-entry-highlight .entry-authors{transition:opacity .38s cubic-bezier(.4,0,.2,1)}.post-entry-highlight.is-expanded .entry-header,.post-entry-highlight.is-expanded .entry-authors{opacity:.15}.post-entry-highlight .entry-footer{display:flex;flex-direction:column;flex:1;margin-top:.25rem;font-size:.74rem;line-height:1.35}.post-entry-highlight .entry-tldr{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 .95rem .45rem;background:var(--entry);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.post-entry-highlight .entry-tldr::before{content:"";display:block;height:1px;background:var(--border);opacity:.5}.post-entry-highlight .entry-bottom-bar{display:flex;align-items:center;justify-content:center}.post-entry-highlight .post-tags{position:absolute;top:.55rem;left:.55rem;right:.55rem;z-index:2;margin-top:0;line-height:1.15rem;gap:.25rem;pointer-events:none}.post-entry-highlight .post-tags li{margin-inline-end:0}.post-entry-highlight .post-tags li.post-tag.publication-type span,.post-entry-highlight .post-tags li.post-tag.award span{opacity:1;display:inline-block;font-size:.62rem;line-height:1.2;padding:.2rem .38rem;border-radius:4px;color:rgba(255,255,255,.96);background:rgba(20,22,25,.46);backdrop-filter:blur(16px)saturate(140%);-webkit-backdrop-filter:blur(16px)saturate(140%);border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 8px rgba(0,0,0,.14)}.post-entry-highlight .post-tags li.post-tag.award span{background:rgba(20,22,25,.56);border-color:rgba(255,222,138,.35)}.post-entry-highlight .summary-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.24rem;width:100%;padding:.42rem 0 .1rem;font-family:inherit;font-size:.68em;font-weight:600;line-height:1.15;letter-spacing:.04em;color:var(--secondary);background:0 0;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .25s cubic-bezier(.4,0,.2,1)}.post-entry-highlight .entry-tldr:hover .summary-toggle,.post-entry-highlight.is-expanded .summary-toggle{color:var(--primary)}.post-entry-highlight .summary-toggle-icon{transition:transform .38s cubic-bezier(.4,0,.2,1)}.post-entry-highlight.is-expanded .summary-toggle-icon{transform:rotate(180deg)}.post-entry-highlight .entry-summary-drawer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1).08s}.post-entry-highlight.is-expanded .entry-summary-drawer{grid-template-rows:1fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1)0s}.post-entry-highlight .entry-summary-inner{min-height:0;overflow:hidden}.post-entry-highlight .entry-brief-summary{margin:0;padding:.45rem 0 .15rem;font-size:.76rem;line-height:1.42;color:var(--bio);opacity:0;transform:translateY(3px);transition:opacity .16s cubic-bezier(.4,0,.2,1)0s,transform .2s cubic-bezier(.4,0,.2,1)0s}.post-entry-highlight.is-expanded .entry-brief-summary{opacity:1;transform:translateY(0);transition:opacity .28s cubic-bezier(.4,0,.2,1).24s,transform .28s cubic-bezier(.4,0,.2,1).24s}body.dark .post-entry-highlight .entry-brief-summary{color:var(--content)}@media(max-width:600px){.post-entry{grid-template-columns:minmax(0,1fr)}.post-entry .image-container{width:100%;min-height:25vh;order:1;border-top-left-radius:var(--radius);border-bottom-left-radius:0;border-top-right-radius:var(--radius);border-bottom-right-radius:0}.post-entry .text-container{order:2}.post-entry.post-entry-highlight .image-container{min-height:145px;aspect-ratio:16/9}.post-entry.post-entry-highlight .text-container{padding:.75rem .85rem 2.2rem}.post-entry-highlight .entry-tldr{padding:0 .85rem .4rem}.post-entry-highlight .text-container h2{font-size:.9rem;line-height:1.25}.post-entry-highlight .entry-footer{font-size:.72rem}.post-entry-highlight .post-tags{top:.45rem;left:.45rem;right:.45rem;line-height:1.1rem;gap:.22rem}.post-entry-highlight .post-tags li.post-tag.publication-type span,.post-entry-highlight .post-tags li.post-tag.award span{font-size:.58rem;padding:.18rem .34rem}.post-entry-highlight .summary-toggle{padding:.46rem 0 .14rem;font-size:.7rem}.post-entry:not(.post-entry-highlight) .entry-publishedin{font-size:.72rem;line-height:1.4}.post-entry:not(.post-entry-highlight) .entry-footer{font-size:.75rem;line-height:1.42}.post-entry-highlight .entry-brief-summary{font-size:.74rem;line-height:1.4}}.post-single .post-meta .author-list{font-size:130%}@media(max-width:600px){.post-single .post-meta{font-size:13px;line-height:1.45}.post-single .post-meta .author-list{font-size:15px;line-height:1.42;margin-bottom:.3rem}}.post-tags{margin-top:.5rem;display:flex;flex-wrap:wrap;line-height:1.25rem}.post-tags li{list-style-type:none;margin-bottom:0;margin-inline-end:.25rem}.post-tags li span{background-color:var(--tags);color:#fff;padding:.175rem .25rem;border:none;border-radius:3px;font-size:.75em;font-weight:700;text-transform:uppercase}.post-single .post-tags li span{font-size:.6em}@media(max-width:600px){.post-tags{line-height:1.4rem}.post-single .post-tags{line-height:1.3rem}}.post-tags li.post-tag.collaboration span{background-color:rgba(52,199,89,.75)}.post-tags li.post-tag.mixed-reality span{background-color:rgba(10,132,255,.75)}.post-tags li.post-tag.asymmetry span{background-color:rgba(94,92,230,.75)}.post-tags li.post-tag.ai span{background-color:rgba(50,173,230,.75)}.post-tags li.post-tag.outdoor span{background-color:rgba(175,82,222,.75)}.post-tags li.post-tag.publication-type span{opacity:.6}.post-tags li.post-tag.award span{opacity:.8}.post-tags li.divider{opacity:.5}.post-tags li.award span::before{content:"★";color:#ffde8a;margin-right:4px}.post-content .ar-poster-btn a.button{background:linear-gradient(90deg,#3186ff 0px,#346bf1 50%,#4fa0ff 100%);color:#fff}.list .main{max-width:calc(var(--list-width) + var(--gap) * 2)}.main .profile,.main .updates{min-height:unset}.main .updates{margin-top:1em}@media(max-width:600px){.header{display:none}}.profile .profile_inner h1{padding:.5rem 0 1.5rem;letter-spacing:.01em;font-weight:500}.profile .profile_inner .bio,.profile .profile_inner .bio a{line-height:1.65;color:var(--bio)}.profile .profile_inner .bio p{margin-top:calc(var(--gap)*.5)}@media(max-width:450px){.profile .profile_inner .bio{line-height:1.4;font-size:15px}}.profile .profile_inner>span{letter-spacing:.008em}.profile .profile_inner>.bio a,.updates .update-entry a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.13em;text-decoration-color:var(--tertiary)}@media(max-width:450px){.profile .profile_inner span:not(.button-inner){font-size:14px}.profile .profile_inner h1{padding:12px 0}}.button{background:var(--button);border-radius:var(--radius);border:1px solid var(--border);margin:8px;padding:4px;transition:transform .1s}.buttons{padding-top:1.5rem}@media(max-width:450px){.buttons{padding-top:1rem}}.main section:not(:last-of-type){width:100%;margin-bottom:var(--gap)}.main section h3{font-weight:500;margin-bottom:calc(.5 * var(--gap))}.main .updates .update-list .update-entry{background:var(--entry);border-radius:var(--radius);border:1px solid var(--border);transition:transform .1s;padding:calc(.5 * var(--gap));margin:calc(.25 * var(--gap))0;font-size:.88em}@media(max-width:450px){.main .updates .update-list .update-entry{font-size:.95em;padding:var(--gap);margin:var(--gap)0}}.main .updates .update-list .update-entry time{color:var(--secondary)}.inline-content p{display:inline;margin:0}.inline-content a{display:inline}.inline-content strong,.inline-content em{display:inline}.page-bottom-fade{position:fixed;bottom:0;left:0;right:0;width:100%;height:100px;background:linear-gradient( to top,var(--fade-bg,var(--code-bg)) 0%,var(--fade-bg,var(--code-bg)) 14%,color-mix(in srgb,var(--fade-bg,var(--code-bg)) 82%,transparent) 30%,color-mix(in srgb,var(--fade-bg,var(--code-bg)) 42%,transparent) 60%,color-mix(in srgb,var(--fade-bg,var(--code-bg)) 12%,transparent) 84%,transparent 100% );pointer-events:none;opacity:1;visibility:visible;transition:opacity .45s ease-in-out,visibility 0s linear 0s;z-index:9999}.page-bottom-fade__blur{position:absolute;inset:0;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);mask-image:linear-gradient(to top,black 0%,rgba(0,0,0,.9) 18%,rgba(0,0,0,.45) 56%,transparent 100%);-webkit-mask-image:linear-gradient(to top,black 0%,rgba(0,0,0,.9) 18%,rgba(0,0,0,.45) 56%,transparent 100%)}@media(max-width:600px){.page-bottom-fade{height:60px}}body.scrolled-to-bottom .page-bottom-fade{opacity:0;visibility:hidden;transition:opacity .45s ease-in-out,visibility 0s linear .45s}.updates .update-entry a{font-weight:500}.updates .update-entry strong{font-weight:500}.publications .publication-list{display:flex;flex-wrap:wrap;gap:1rem}.publications .publication-list .post-entry{flex:1 1 calc(33.333% - 1rem)}@media(max-width:600px){.publications .publication-list .post-entry,.publication-list .post-entry{flex:1 1 100%}}@media(max-width:450px){.publications .publication-list .post-entry,.publication-list .post-entry{margin-bottom:0}}.entry-content{line-height:1.65;color:var(--bio)}.entry-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.13em;text-decoration-color:var(--tertiary)}.home.list .main,.publications-page.list .main{display:block;max-width:calc(1080px + var(--gap) * 2);padding:4rem var(--gap)3rem}.home-layout{display:flex;align-items:flex-start;justify-content:center;gap:4rem}.home .main .home-sidebar,.publications-page .main .home-sidebar{display:block;position:sticky;top:4rem;width:272px;flex-shrink:0;align-self:flex-start;min-height:unset;padding:0;margin:0;text-align:left}.home-layout .home-sidebar .profile-avatar{display:block;width:164px;height:164px;border-radius:50%;object-fit:cover;margin:0 0 1.25rem}.home-layout .home-sidebar .profile_inner h1{font-size:1.65rem;line-height:1.2;font-weight:500;letter-spacing:.01em;padding:0;margin:0 0 .28rem}.home-layout .home-sidebar .profile-subtitle{margin:0 0 1rem;font-size:.88rem;line-height:1.38;font-weight:400;color:var(--secondary)}.home-layout .home-sidebar .sidebar-nav{display:flex;flex-direction:column;width:100%}.home-layout .home-sidebar .sidebar-nav-primary,.home-layout .home-sidebar .sidebar-nav-socials{display:flex;flex-direction:column;align-items:stretch;gap:.12rem;max-width:none;margin:0;padding:0}.home-layout .home-sidebar .sidebar-nav-socials a:not(:last-of-type){margin-inline-end:0}.home-layout .home-sidebar .sidebar-nav-link,.home-layout .home-sidebar .sidebar-social-link{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;margin:0 0 0 -.55rem;padding:.4rem .55rem;background:0 0;border:1px solid transparent;border-radius:6px;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .1s ease}.home-layout .home-sidebar .sidebar-nav-link{font-size:.95rem;font-weight:500;line-height:1.35;color:var(--primary)}.home-layout .home-sidebar .sidebar-nav-link .button-inner{padding:0}.home-layout .home-sidebar .sidebar-social-link{font-size:.9rem;font-weight:400;line-height:1.35;color:var(--secondary)}.home-layout .home-sidebar .sidebar-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--secondary);transition:color .15s ease}.home-layout .home-sidebar .sidebar-nav-link .sidebar-nav-icon{color:var(--primary)}.home-layout .home-sidebar .sidebar-nav-icon svg{width:18px;height:18px;display:block}.home-layout .home-sidebar .sidebar-nav-link:hover,.home-layout .home-sidebar .sidebar-social-link:hover{color:var(--primary);background:var(--entry)}.home-layout .home-sidebar .sidebar-social-link:hover .sidebar-nav-icon{color:var(--primary)}body.dark .home-layout .home-sidebar .sidebar-nav-link:hover,body.dark .home-layout .home-sidebar .sidebar-social-link:hover{background:var(--tertiary)}.home-layout .home-sidebar .sidebar-nav-divider{border:0;height:1px;background:var(--tertiary);opacity:.65;margin:.45rem 0;width:100%}.home-content{flex:1;min-width:0;max-width:744px}.home-content>section,.home-content>section:not(:last-of-type),.home-content .updates{width:100%;margin:0;padding:0}.home-bio .bio,.home-bio .bio a{line-height:1.65;color:var(--bio)}.home-bio .bio p{margin:0}.home-bio .bio p+p{margin-top:1rem}.home-bio .bio a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.13em;text-decoration-color:var(--tertiary)}.home-divider{border:0;height:1px;background:var(--tertiary);opacity:.65;margin:2.25rem 0}@media(min-width:961px) and (max-width:1100px){.home-layout{gap:2.75rem}.home .main .home-sidebar,.publications-page .main .home-sidebar{width:256px}}@media(max-width:960px){.home.list .main,.publications-page.list .main{max-width:calc(744px + var(--gap) * 2);padding:1.25rem var(--gap)2.5rem}.home-layout{display:block}.home .main .home-sidebar,.publications-page .main .home-sidebar{position:static;width:100%}.home .main .home-sidebar::after,.publications-page .main .home-sidebar::after{content:"";display:block;height:1px;background:var(--tertiary);opacity:.65;margin:2rem 0}.home-content{max-width:none}.home-layout .home-sidebar .profile_inner{display:flex;flex-direction:column;gap:1.15rem}.home-layout .home-sidebar .profile-header{display:flex;align-items:center;gap:1.35rem}.home-layout .home-sidebar .profile-avatar{width:112px;height:112px;flex-shrink:0;margin:0}.home-layout .home-sidebar .profile-details{flex:1;min-width:0}.home-layout .home-sidebar .profile_inner h1{font-size:1.55rem;margin:0 0 .2rem}.home-layout .home-sidebar .profile-subtitle{font-size:.88rem;margin:0}.home-layout .home-sidebar .sidebar-nav{gap:.5rem;width:100%}.home-layout .home-sidebar:not(.publications-sidebar) .sidebar-nav-divider{display:none}.home-layout .home-sidebar .sidebar-nav-primary,.home-layout .home-sidebar .sidebar-nav-socials{flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:stretch;width:100%;gap:.5rem}.home-layout .home-sidebar .sidebar-nav-link,.home-layout .home-sidebar .sidebar-social-link{flex:1;justify-content:center;margin:0;background:var(--button);border:1px solid var(--border);border-radius:var(--radius);color:var(--primary)}.home-layout .home-sidebar .sidebar-nav-link{padding:.46rem .65rem;min-height:40px;gap:.45rem;font-size:.92rem;white-space:nowrap}.home-layout .home-sidebar .sidebar-social-link{width:auto;height:40px;padding:0}.home-layout .home-sidebar .sidebar-social-link .sidebar-nav-label{display:none}.home-layout .home-sidebar .sidebar-social-link .sidebar-nav-icon{color:var(--primary);width:19px;height:19px}.home-layout .home-sidebar .sidebar-social-link .sidebar-nav-icon svg{width:19px;height:19px}.home-layout .home-sidebar .sidebar-nav-link:active,.home-layout .home-sidebar .sidebar-social-link:active{transform:scale(.97)}}@media(max-width:600px){.home.list .main,.publications-page.list .main{--home-px:1.25rem;padding:2rem var(--home-px)2.5rem}.home-layout .home-sidebar .profile_inner{gap:1rem}.home-layout .home-sidebar .profile-header{gap:1rem}.home-layout .home-sidebar .profile-avatar{width:92px;height:92px;margin:0}.home-layout .home-sidebar .profile_inner h1{font-size:1.45rem;margin:0 0 .18rem}.home-layout .home-sidebar .profile-subtitle{font-size:.84rem;margin:0}.home .main .home-sidebar::after,.publications-page .main .home-sidebar::after,.home-divider{margin:1.75rem 0}}@media(max-width:450px){.home-bio .bio{font-size:15px;line-height:1.55}}.publications .publication-carousel{position:relative}.publications .publication-carousel .carousel-viewport{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;cursor:grab;scrollbar-width:none;-ms-overflow-style:none}.publications .publication-carousel .carousel-viewport.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;-webkit-user-select:none}.publications .publication-carousel .carousel-viewport.is-dragging a,.publications .publication-carousel .carousel-viewport.is-dragging button{cursor:grabbing}.publications .publication-carousel .carousel-track{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:var(--pub-gap,1rem);will-change:transform;transition:transform 300ms ease}.publications .publication-carousel .post-entry{flex:0 0 calc((100% - (var(--pub-gap,1rem) * 2))/2.5)}.publications .publication-carousel .carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;line-height:0;border-radius:999px;border:1px solid var(--border);background:var(--entry);color:var(--secondary);box-shadow:0 2px 8px rgba(0,0,0,5%);display:flex;align-items:center;justify-content:center;z-index:3;cursor:pointer;opacity:1;transition:opacity 200ms ease,color 150ms ease,border-color 150ms ease,transform 120ms ease,box-shadow 150ms ease}.publications .publication-carousel .carousel-nav svg{display:block;flex-shrink:0}.publications .publication-carousel .carousel-nav:hover{color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,9%)}.publications .publication-carousel .carousel-nav:active{transform:translateY(-50%)scale(.95)}.publications .publication-carousel .carousel-nav.prev{left:-46px}.publications .publication-carousel .carousel-nav.next{right:-46px}.publications .publication-carousel .carousel-nav.is-disabled{opacity:.4;cursor:default}.publications .publication-carousel.hide-controls .carousel-nav{display:none}.publications .publication-carousel:not(.has-left) .carousel-nav.prev{opacity:0;pointer-events:none}.publications .publication-carousel.at-end .carousel-nav.next{opacity:0;pointer-events:none}@media(max-width:1220px){.publications .publication-carousel .carousel-nav{display:none}}.publications .publication-carousel::after{content:"";position:absolute;top:0;right:-4px;width:calc(clamp(90px,18%,220px) + 6px);height:100%;pointer-events:none;background:linear-gradient(to left,var(--fade-bg,var(--code-bg)),transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);mask-image:linear-gradient(to left,black,transparent);-webkit-mask-image:linear-gradient(to left,black,transparent);opacity:var(--fade-right,0);z-index:2}.publications .publication-carousel::before{content:"";position:absolute;top:0;left:-4px;width:calc(clamp(90px,18%,220px) + 6px);height:100%;pointer-events:none;background:linear-gradient(to right,var(--fade-bg,var(--code-bg)),transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);mask-image:linear-gradient(to right,black,transparent);-webkit-mask-image:linear-gradient(to right,black,transparent);opacity:var(--fade-left,0);z-index:2}@media(max-width:700px){.publications .publication-carousel{--edge-bleed:var(--home-px, var(--gap));margin-left:calc(-1 * var(--edge-bleed));margin-right:calc(-1 * var(--edge-bleed));overflow-x:clip}.publications .publication-carousel .carousel-viewport{padding-left:var(--edge-bleed);padding-right:0;scroll-padding-left:var(--edge-bleed);-webkit-overflow-scrolling:touch}.publications .publication-carousel .carousel-track{gap:var(--pub-gap,.75rem)}.publications .publication-carousel .carousel-track::after{content:"";flex:0 0 max(1px,calc(var(--edge-bleed) - var(--pub-gap,.75rem)))}.publications .publication-carousel .carousel-track .post-entry{flex:0 0 calc((100% - var(--edge-bleed) - var(--pub-gap,.75rem))/1.75);scroll-snap-align:start}.publications .publication-carousel::before{display:none}.publications .publication-carousel::after{width:36px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}@media(max-width:520px){.publications .publication-carousel .carousel-track .post-entry{flex:0 0 82%}}body.home,body.publications-page{overflow-x:clip}.publications-sidebar .publications-sidebar-header{display:flex;flex-direction:column;margin-bottom:.55rem}.home-layout .publications-sidebar .sidebar-back-link{margin:0 0 .8rem -.55rem}.publications-sidebar .sidebar-back-link .sidebar-nav-icon svg{transition:transform .15s ease}.publications-sidebar .sidebar-back-link:hover .sidebar-nav-icon svg{transform:translateX(-2px)}.publications-sidebar .publications-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.publications-sidebar .publications-title-row h1{margin:0}.publications-sidebar .pub-reset-link,.publications-sidebar .sidebar-group-clear{background:0 0;border:0;padding:0;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--secondary);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--tertiary);transition:color .15s ease,text-decoration-color .15s ease}.publications-sidebar .pub-reset-link:hover,.publications-sidebar .sidebar-group-clear:hover{color:var(--primary);text-decoration-color:var(--secondary)}.publications-sidebar .sidebar-controls{display:flex;flex-direction:column;width:100%}.publications-sidebar .sidebar-search-wrap{position:relative;display:flex;align-items:center;width:100%;margin:.15rem 0}.publications-sidebar .sidebar-search-icon{position:absolute;left:.65rem;width:14px;height:14px;color:var(--secondary);pointer-events:none;flex-shrink:0}.publications-sidebar .sidebar-search-input{width:100%;height:34px;padding:0 1.85rem 0 2.05rem;background:var(--entry);border:1px solid var(--border);border-radius:6px;color:var(--primary);font-family:inherit;font-size:.84rem;font-weight:400;line-height:1.3;transition:border-color .15s ease,background-color .15s ease}.publications-sidebar .sidebar-search-input::placeholder{color:var(--secondary);opacity:.8}.publications-sidebar .sidebar-search-input:focus{outline:none;border-color:var(--secondary)}.publications-sidebar .sidebar-search-input::-webkit-search-decoration,.publications-sidebar .sidebar-search-input::-webkit-search-cancel-button,.publications-sidebar .sidebar-search-input::-webkit-search-results-button,.publications-sidebar .sidebar-search-input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.publications-sidebar .sidebar-search-clear{position:absolute;right:.35rem;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:0 0;color:var(--secondary);cursor:pointer;transition:color .15s ease,background-color .15s ease}.publications-sidebar .sidebar-search-clear:hover{color:var(--primary);background:var(--tertiary)}body.dark .publications-sidebar .sidebar-search-input{background:rgba(255,255,255,4%);border-color:rgba(255,255,255,.12)}body.dark .publications-sidebar .sidebar-search-input:focus{border-color:rgba(255,255,255,.32)}.publications-sidebar .sidebar-mobile-selects{display:none}.publications-sidebar .sidebar-control-group{display:flex;flex-direction:column;width:100%}.publications-sidebar .sidebar-control-header{display:flex;align-items:center;justify-content:space-between;min-height:1.15rem;margin-bottom:.3rem}.publications-sidebar .sidebar-control-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--secondary)}.publications-sidebar .sidebar-year-active{font-size:.76rem;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}.publications-sidebar .year-scrubber{width:calc(100% + .7rem);margin:0 -.35rem;padding:.1rem 0;user-select:none;-webkit-user-select:none;touch-action:none;cursor:pointer;outline:none}.publications-sidebar .year-scrubber.is-scrubbing,.publications-sidebar .year-scrubber.is-scrubbing .year-scrubber-stop{cursor:ew-resize}.publications-sidebar .year-scrubber-stops{display:flex;align-items:stretch;justify-content:space-between;position:relative;gap:2px}.publications-sidebar .year-scrubber-stops::before{content:"";position:absolute;left:8%;right:8%;top:25px;height:1px;background:var(--tertiary);pointer-events:none}.publications-sidebar .year-scrubber-stop{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 5px;border:1px solid transparent;border-radius:6px;background:0 0;color:var(--secondary);font-family:inherit;cursor:pointer;position:relative;z-index:1;transition:background-color .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}.publications-sidebar .year-scrubber-bar-wrap{height:13px;display:flex;align-items:flex-end;justify-content:center;width:100%}.publications-sidebar .year-scrubber-bar{width:3px;height:max(3px,var(--bar-pct,25%));border-radius:2px;background:var(--tertiary);transition:height .2s ease,background-color .15s ease}.publications-sidebar .year-scrubber-node{height:10px;display:flex;align-items:center;justify-content:center}.publications-sidebar .year-scrubber-dot{width:5px;height:5px;border-radius:50%;background:var(--secondary);border:2px solid var(--code-bg);box-sizing:content-box;transition:transform .15s ease,background-color .15s ease}body.dark .publications-sidebar .year-scrubber-dot{border-color:var(--theme)}.publications-sidebar .year-scrubber-text{font-size:.68rem;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}.publications-sidebar .year-scrubber-stop:hover{color:var(--primary);background:var(--entry)}body.dark .publications-sidebar .year-scrubber-stop:hover{background:var(--tertiary)}.publications-sidebar .year-scrubber-stop.is-active{color:var(--primary);font-weight:600;background:var(--entry);border-color:var(--border)}body.dark .publications-sidebar .year-scrubber-stop.is-active{background:var(--tertiary);border-color:rgba(255,255,255,.14)}.publications-sidebar .year-scrubber-stop.is-active .year-scrubber-bar{background:var(--primary)}.publications-sidebar .year-scrubber-stop.is-active .year-scrubber-dot{background:var(--primary);transform:scale(1.2)}.publications-sidebar .year-scrubber-stop.is-empty{opacity:.3}.publications-sidebar .sidebar-filter-list{display:flex;flex-direction:column;gap:.08rem}.publications-sidebar .sidebar-filter-btn{display:flex;align-items:center;gap:.55rem;width:calc(100% + 1.1rem);margin:0 -.55rem;padding:.25rem .55rem;border:1px solid transparent;border-radius:6px;background:0 0;color:var(--secondary);font-family:inherit;font-size:.84rem;font-weight:400;line-height:1.3;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}.publications-sidebar .sidebar-filter-btn:hover{color:var(--primary);background:var(--entry)}body.dark .publications-sidebar .sidebar-filter-btn:hover{background:var(--tertiary)}.publications-sidebar .sidebar-filter-btn.is-active{color:var(--primary);font-weight:500;background:var(--entry);border-color:var(--border)}body.dark .publications-sidebar .sidebar-filter-btn.is-active{background:var(--tertiary);border-color:rgba(255,255,255,.14)}.publications-sidebar .sidebar-filter-btn.is-zero{opacity:.36}.publications-sidebar .sidebar-filter-indicator{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--secondary);flex-shrink:0;opacity:.6;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease,transform .15s ease}.publications-sidebar .sidebar-filter-btn:hover .sidebar-filter-indicator{border-color:var(--primary);opacity:.85}.publications-sidebar .sidebar-filter-btn.is-active .sidebar-filter-indicator{background:var(--primary);border-color:var(--primary);opacity:1}.publications-sidebar .sidebar-category-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background-color:var(--tags);opacity:.82;transition:transform .15s ease,opacity .15s ease}.publications-sidebar .sidebar-category-dot.collaboration{background-color:rgba(52,199,89,.9)}.publications-sidebar .sidebar-category-dot.mixed-reality{background-color:rgba(10,132,255,.9)}.publications-sidebar .sidebar-category-dot.asymmetry{background-color:rgba(94,92,230,.9)}.publications-sidebar .sidebar-category-dot.ai{background-color:rgba(50,173,230,.9)}.publications-sidebar .sidebar-category-dot.outdoor{background-color:rgba(175,82,222,.9)}.publications-sidebar .sidebar-filter-btn.is-active .sidebar-category-dot{opacity:1;transform:scale(1.22)}.publications-sidebar .sidebar-filter-name{flex:auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publications-sidebar .sidebar-filter-count{font-size:.73rem;color:var(--secondary);opacity:.72;font-variant-numeric:tabular-nums;flex-shrink:0}.publications-sidebar .sidebar-filter-btn.is-active .sidebar-filter-count{color:var(--primary);opacity:.9}.home-content.publications-content{display:flex;flex-direction:column;gap:2.25rem}.home-content.publications-content>.pub-year-group{margin-bottom:0}.publications-content .pub-year-header{display:flex;align-items:center;gap:.75rem;margin:0 0 .85rem}.publications-content .pub-year-heading{font-size:.82rem;font-weight:600;color:var(--secondary);letter-spacing:.04em;margin:0;font-variant-numeric:tabular-nums}.publications-content .pub-year-rule{flex:auto;height:1px;background:var(--tertiary);opacity:.65}.publications-content .pub-year-entries{display:flex;flex-direction:column;gap:1rem}.publications-content .post-entry{margin-bottom:0;min-height:176px;min-width:0}.publications-content .post-entry>*{min-width:0}.publications-content .post-entry .text-container{padding:1.1rem 1.3rem}.publications-content .post-entry .entry-header h2{font-size:1.2rem;line-height:1.32;font-weight:600}.publications-content .post-entry[hidden],.publications-content .pub-year-group[hidden],.publications-content .pub-empty-state[hidden],.publications-sidebar .pub-reset-link[hidden],.publications-sidebar .sidebar-group-clear[hidden],.publications-sidebar .sidebar-search-clear[hidden]{display:none!important}.publications-content .pub-empty-state{padding:3rem 1.5rem;text-align:center;color:var(--secondary);background:var(--entry);border:1px solid var(--border);border-radius:var(--radius)}.publications-content .pub-empty-state p{margin:0 0 .85rem;font-size:.95rem}.publications-content .pub-empty-reset-btn{padding:.42rem .9rem;font-family:inherit;font-size:.85rem;font-weight:500;color:var(--primary);cursor:pointer;margin:0}@media(max-width:960px){.publications-sidebar.home-sidebar .profile_inner{width:100%;min-width:0;gap:.75rem}.publications-sidebar .publications-sidebar-header{margin-bottom:0}.home-layout .publications-sidebar .sidebar-back-link{display:none}.publications-sidebar .sidebar-nav-divider{margin:0}.publications-sidebar .sidebar-controls{gap:.65rem}.publications-sidebar .sidebar-search-wrap{margin:0}.publications-sidebar .sidebar-search-icon{left:.75rem;width:15px;height:15px}.publications-sidebar .sidebar-search-input{height:40px;padding:0 2.15rem 0 2.25rem;background:var(--button);border:1px solid var(--border);border-radius:var(--radius);font-size:16px}.publications-sidebar .sidebar-search-clear{right:.4rem;width:28px;height:28px}.publications-sidebar .sidebar-year-group,.publications-sidebar .sidebar-desktop-group,.publications-sidebar .sidebar-desktop-divider{display:none}.publications-sidebar .sidebar-mobile-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%}.publications-sidebar .sidebar-select-wrap{position:relative;width:100%;min-width:0}.publications-sidebar .sidebar-select-wrap::after{content:"";position:absolute;right:.72rem;top:50%;width:6px;height:6px;margin-top:-4px;border-right:1.6px solid var(--secondary);border-bottom:1.6px solid var(--secondary);transform:rotate(45deg);pointer-events:none}.publications-sidebar .sidebar-select{appearance:none;-webkit-appearance:none;width:100%;min-height:40px;padding:.45rem 1.85rem .45rem .7rem;background:var(--button);border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);font-family:inherit;font-size:.85rem;font-weight:500;line-height:1.25;cursor:pointer;text-overflow:ellipsis}.publications-sidebar .sidebar-select:focus{outline:none;border-color:var(--secondary)}}@media(max-width:600px){.publications-content .post-entry .text-container{padding:1rem 1.1rem}.publications-content .post-entry .entry-header h2{font-size:1.1rem}}.main .updates .update-list .update-entry.has-photos{display:flow-root}.main .updates .update-list .update-entry-body{display:block}.update-photo-stack{float:left;position:relative;width:54px;height:41px;margin:0 .85rem 0 0;padding:0;border:0;background:0 0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .14s ease}.update-photo-stack.is-viewer-open{opacity:0;pointer-events:none}.update-photo-stack:focus-visible{outline:2px solid var(--secondary);outline-offset:4px;border-radius:6px}.update-photo-stack .update-stack-card{position:absolute;top:5px;left:6px;width:42px;height:32px;border-radius:5px;overflow:hidden;background:var(--entry);border:1.5px solid #fff;box-shadow:0 1.5px 4px rgba(0,0,0,.16),0 0 0 .5px rgba(0,0,0,.1);transform-origin:center center;will-change:transform;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease}body.dark .update-photo-stack .update-stack-card{border-color:#42454c;box-shadow:0 2px 6px rgba(0,0,0,.45),0 0 0 .5px rgba(255,255,255,.12)}.update-photo-stack .update-stack-card img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}.update-photo-stack .update-stack-card.card-0{z-index:3;transform:translate(-1px,.5px)rotate(-2.2deg)}.update-photo-stack[data-count="1"] .update-stack-card.card-0{transform:rotate(-1.6deg)}.update-photo-stack .update-stack-card.card-1{z-index:2;transform:translate(3px,-.5px)rotate(4.8deg);filter:brightness(.97)}.update-photo-stack .update-stack-card.card-2{z-index:1;transform:translate(-2.5px,-.5px)rotate(-6.5deg);filter:brightness(.94)}@media(hover:hover){.update-photo-stack:hover .update-stack-card.card-0,.update-photo-stack:focus-visible .update-stack-card.card-0{transform:translate(-1.5px,.5px)rotate(-3deg)scale(1.04);box-shadow:0 4px 10px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.1)}.update-photo-stack[data-count="1"]:hover .update-stack-card.card-0,.update-photo-stack[data-count="1"]:focus-visible .update-stack-card.card-0{transform:translateY(-.5px)rotate(0)scale(1.05)}.update-photo-stack:hover .update-stack-card.card-1,.update-photo-stack:focus-visible .update-stack-card.card-1{transform:translate(5px,-1.5px)rotate(7.2deg)}.update-photo-stack:hover .update-stack-card.card-2,.update-photo-stack:focus-visible .update-stack-card.card-2{transform:translate(-4px,-1.5px)rotate(-9.2deg)}}.update-photo-stack:active{transform:scale(.95)}.update-viewer[hidden],.update-viewer-nav[hidden],.update-viewer-zoom[hidden],.update-viewer-mobile-pill[hidden]{display:none!important}.update-viewer{position:fixed;inset:0;z-index:10050;overscroll-behavior:contain}.update-viewer-backdrop{position:absolute;inset:0;background:rgba(248,248,250,.88);backdrop-filter:blur(22px)saturate(1.08);-webkit-backdrop-filter:blur(22px)saturate(1.08);will-change:opacity}body.dark .update-viewer-backdrop{background:rgba(19,21,22,.88)}.update-viewer-stage{position:absolute;top:0;left:0;right:0;bottom:var(--sheet-h,72px);display:flex;align-items:center;justify-content:center;padding:2.75rem 2.5rem 1.25rem;pointer-events:none}.update-viewer-scroller{max-width:100%;max-height:100%;overflow-x:auto;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none;pointer-events:auto;padding:20px 24px 28px}.update-viewer-scroller::-webkit-scrollbar{display:none}.update-viewer.is-morphing .update-viewer-scroller{overflow:visible}.update-viewer.is-zoomed .update-viewer-scroller{opacity:0;pointer-events:none}.update-viewer-canvas{display:flex;align-items:center;justify-content:center;gap:var(--masonry-gap,22px);width:max-content;margin:0 auto}.update-masonry-col{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--masonry-gap,22px);flex:none}.update-viewer-item{position:relative;flex:none;line-height:0;border-radius:var(--radius)}.update-viewer-img{display:block;border-radius:var(--radius);background-color:var(--entry);background-size:cover;background-position:50%;box-shadow:0 8px 24px rgba(0,0,0,.11),0 2px 6px rgba(0,0,0,5%),0 0 0 1px rgba(0,0,0,6%);transform-origin:center center;will-change:transform;user-select:none;-webkit-user-drag:none;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}.update-viewer.is-morphing .update-viewer-img{transition:none!important}body.dark .update-viewer-img{box-shadow:0 10px 26px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.1)}@media(hover:hover) and (min-width:769px){.update-viewer.is-multi:not(.is-zoomed):not(.is-morphing) .update-viewer-img{cursor:zoom-in}.update-viewer.is-multi:not(.is-zoomed):not(.is-morphing) .update-viewer-img:hover{transform:translateY(-2px)scale(1.012);box-shadow:0 14px 32px rgba(0,0,0,.14),0 3px 8px rgba(0,0,0,7%),0 0 0 1px rgba(0,0,0,8%)}body.dark .update-viewer.is-multi:not(.is-zoomed):not(.is-morphing) .update-viewer-img:hover{box-shadow:0 16px 36px rgba(0,0,0,.56),0 0 0 1px rgba(255,255,255,.16)}}.update-viewer-zoom{position:absolute;inset:2.75rem 4.75rem 1.25rem;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.update-viewer-zoom .update-viewer-img{cursor:zoom-out;pointer-events:auto;transition:box-shadow .22s ease;box-shadow:0 14px 38px rgba(0,0,0,.15),0 3px 10px rgba(0,0,0,7%),0 0 0 1px rgba(0,0,0,7%)}body.dark .update-viewer-zoom .update-viewer-img{box-shadow:0 18px 44px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.12)}.update-viewer-close,.update-viewer-nav{width:36px;height:36px;padding:0;line-height:0;border-radius:999px;border:1px solid var(--border);background:var(--entry);color:var(--secondary);box-shadow:0 2px 10px rgba(0,0,0,6%);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;z-index:4;transition:opacity .18s ease,color .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease}.update-viewer-close:hover,.update-viewer-nav:hover{color:var(--primary);box-shadow:0 4px 14px rgba(0,0,0,.1)}.update-viewer-close:focus-visible,.update-viewer-nav:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.update-viewer-close{position:absolute;top:1.25rem;right:1.25rem}.update-viewer-close:active{transform:scale(.94)}.update-viewer-nav{position:absolute;top:calc((100% - var(--sheet-h,72px))/2);transform:translateY(-50%)}.update-viewer-nav.prev{left:1.25rem}.update-viewer-nav.next{right:1.25rem}.update-viewer-nav:active{transform:translateY(-50%)scale(.94)}.update-viewer-nav.is-disabled{opacity:.3;pointer-events:none}.update-viewer-mobile-pill{position:absolute;left:0;right:0;bottom:calc(var(--sheet-h,72px) + .55rem);margin:0 auto;width:max-content;padding:.2rem .65rem;border-radius:999px;background:var(--entry);border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,5%);font-size:.75rem;font-weight:500;color:var(--secondary);font-variant-numeric:tabular-nums;pointer-events:none;user-select:none;z-index:3}.update-viewer-sheet{position:absolute;bottom:0;left:0;right:0;margin:0 auto;width:min(680px,calc(100vw - 2rem));max-height:28vh;max-height:28dvh;overflow-y:auto;background:var(--entry);border:1px solid var(--border);border-bottom:0;border-radius:var(--radius)var(--radius)0 0;padding:.85rem 1.15rem calc(.9rem + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 24px rgba(0,0,0,6%);z-index:3;pointer-events:auto;will-change:transform,opacity}body.dark .update-viewer-sheet{box-shadow:0 -8px 28px rgba(0,0,0,.35)}.update-viewer-caption{font-size:.88em;line-height:1.55;color:var(--primary)}.update-viewer-caption time{color:var(--secondary)}.update-viewer-caption a{font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.13em;text-decoration-color:var(--tertiary)}.update-viewer-caption strong{font-weight:500}@media(max-width:768px){.update-viewer-stage{padding:3.2rem 0 2rem}.update-viewer.is-single .update-viewer-stage{padding-bottom:.85rem}.update-viewer-scroller{width:100%;padding:16px 0 24px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.update-viewer-canvas{gap:14px;padding:0 8vw}.update-viewer.is-single .update-viewer-canvas{width:100%;padding:0 1rem}.update-viewer-item{scroll-snap-align:center}.update-viewer-nav{display:none}.update-viewer-close{top:.85rem;right:.85rem}.update-viewer-sheet{width:calc(100vw - 1.5rem);padding:.8rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px))}.update-viewer-caption{font-size:.9rem}}@media(max-width:450px){.update-photo-stack{width:56px;height:44px;margin:0 .85rem 0 0}.update-photo-stack .update-stack-card{top:6px;left:6px;width:44px;height:33px}}@media(prefers-reduced-motion:reduce){.update-photo-stack,.update-photo-stack .update-stack-card,.update-viewer-img{transition-duration:.01ms!important}}:root{--button:#ffff;--cv-content-gap:0.9rem;--bio:rgb(70, 70, 70)}@media not print{.dark{--button:var(--tertiary);--theme:#131516;--theme_rgb:19, 21, 22;--entry:#2e2e33;--primary:rgba(232, 230, 227, 0.84);--secondary:rgba(216, 213, 207, 0.56);--tertiary:rgba(255, 255, 255, 0.16);--tags:var(--tertiary);--quaternary:rgba(255, 255, 255, 0.08);--content:rgba(232, 230, 227, 0.74);--border:#727272;--bio:var(--primary)}}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,helvetica,Google Sans,Roboto,Oxygen,Ubuntu,Cantarell,open sans,sans-serif}@media screen and (max-width:450px){body{font-size:1em}}.cv .post-content{margin-top:1.5em}p:empty{display:none}main.cv a,.cv-main a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.13em;text-decoration-color:var(--tertiary);box-shadow:none}main.cv .social-icons a,main.cv .cv-item-tags a,.cv-main .social-icons a,.cv-main .cv-item-tags a{text-decoration:none}main.cv,.cv-main{max-width:unset;font-size:.95rem}.cv-content{display:grid;justify-items:stretch;grid-template-columns:[screen-start] 1.5fr [page-start kicker-start] minmax(min-content,5.1rem) [middle-start] minmax(min-content,5.1rem) [text-start kicker-end] repeat( 10,minmax(min-content,5.1rem) ) [text-end gutter-start] minmax(min-content,5.1rem) [middle-end] minmax( min-content,5.1rem ) [page-end gutter-end] 1fr [screen-end];column-gap:1rem}.cv-content.double-column{grid-template-columns:[screen-start] 1.5fr [left-date-start] minmax(min-content,5rem) [left-text-start] repeat(5,minmax(min-content,5rem)) [middle-date-start] minmax(min-content,5rem) [right-text-start] repeat(5,minmax(min-content,5rem)) [right-date-end] minmax(min-content,5rem) [screen-end]}.cv-content>*{grid-column:text}.cv-content>.cv-section,.main .cv-content>section.cv-section,.cv-section{grid-column:screen-start/screen-end;display:grid;grid-template-columns:subgrid;margin:0}.cv-section>*{grid-column:text}.cv-block{grid-column:kicker-start/text-end;display:grid;grid-template-columns:subgrid;align-items:start;margin:0}.cv-block:not(.no-margin){margin-top:var(--cv-content-gap)}.cv-subsection-header+.cv-block{margin-top:0}.cv-left-side{grid-column:kicker;text-align:right;font-size:.7rem;line-height:1.45;padding-top:.14rem;display:flex;flex-direction:column;white-space:nowrap}.cv-left-side:empty{display:none}.cv-left-side .cv-block-date,.cv-left-side .cv-block-secondary{display:block}.cv-left-side .cv-block-secondary{color:var(--secondary)}.cv-right-side{grid-column:text;min-width:0}.cv-block-tags{grid-column:text;margin-top:.28rem}@media screen and (max-width:768px){.cv-content{margin-top:1em;grid-template-columns:[screen-start] 8px [page-start kicker-start text-start gutter-start middle-start] repeat( 10,1fr ) [text-end page-end gutter-end kicker-end middle-end] 8px [screen-end];column-gap:.5rem}.cv-block{grid-column:text;display:flex;flex-direction:column}.cv-left-side{text-align:left;white-space:normal;padding-top:0}.cv-left-side.has-secondary{flex-direction:row;flex-wrap:wrap;column-gap:.35rem;row-gap:.15rem;align-items:baseline}.cv-left-side.has-secondary .cv-block-secondary{margin-top:0}.cv-left-side.has-secondary .cv-block-secondary::before{content:"|";margin:0 .35rem}.cv-left-side.has-secondary .cv-block-secondary:first-child::before{content:none;margin:0}.cv-left-side+.cv-right-side{margin-top:.15rem}}.cv-section-header{font-weight:500;border-bottom:2px var(--tertiary)solid;margin-top:1.25rem;margin-bottom:0}.profile.cv-profile+.cv-section>.cv-section-header{margin-top:1rem}.cv-section-header .cv-section-title,.cv-content h2.cv-section-title{margin:0;font-size:1.35em;font-weight:500;line-height:1.45;color:var(--primary)}.cv-section-header .cv-section-subtitle{font-size:.95em;color:var(--secondary)}.cv-subsection-header{font-weight:500;margin:.55rem 0 .35rem;color:var(--secondary)}.cv-block+.cv-subsection-header,ul.cv-item-tags+.cv-subsection-header{margin-top:.95rem}.cv-subsection-header.primary-color{color:var(--primary)}.cv-subsection-header.no-margin{margin-bottom:0}.cv-subsection-header.smaller-margin{margin-bottom:.3rem}.cv-subsection-header .cv-subsection-title,.cv-subsection-header .cv-section-title,.main .cv-content h3.cv-subsection-title,.cv-content h3.cv-subsection-title{margin:0;font-size:1.05em;font-weight:500;line-height:1.4;color:inherit}.profile.cv-profile{position:unset;height:unset;text-align:left;border-bottom:solid 1px var(--tertiary);margin-bottom:0}@media screen and (max-width:768px){.profile.cv-profile{margin:0 0 .5rem}.profile.cv-profile .cv-profile-bottom-bar{flex-direction:column}.profile.cv-profile .cv-profile-bottom-bar .cv-note{margin-left:0;margin-top:1.5em}}.profile.cv-profile .cv-header{padding-bottom:1rem;font-weight:500}.profile.cv-profile .cv-title,.profile.cv-profile .profile_inner h1.cv-title,.cv-content h1.cv-title{font-size:2.2rem;font-weight:500;line-height:1.18;margin:0;padding:0}.profile.cv-profile .cv-title a{text-decoration:none}.profile.cv-profile .cv-subtitle{font-size:1rem;margin:.38rem 0 0;line-height:1.3;font-weight:400}.profile.cv-profile .cv-pronouns{font-size:.8rem;font-weight:400;display:inline-block;margin-left:.3rem}.profile.cv-profile .profile-inner{display:flex;flex-direction:column}.profile.cv-profile .cv-profile-bottom-bar{display:flex;padding-top:1rem;padding-bottom:16px}.profile.cv-profile .social-icons{padding:0}.profile.cv-profile .bio p{margin-top:0;margin-bottom:.5rem}.profile.cv-profile .cv-note{margin-left:auto;font-size:.8rem;padding-top:.15rem}.cv-note a,.cv-note a:link,.cv-note a:visited{text-decoration:none;color:var(--secondary);box-shadow:none}.cv-note.web-only{display:block}.cv-note.print-only{display:none}.cv-profile a{box-shadow:none;border:none}.cv-content .cv-block-title,.cv-content h4.cv-block-title{margin:0;font-size:1.05rem;font-weight:500;line-height:1.4}.cv-content .cv-block-title span.divider{color:var(--tertiary);font-weight:500;border-left:2px solid var(--tertiary);margin:0 .5rem}.cv-block-title .experience-position{font-weight:500}.cv-block-title .experience-company{font-weight:400}.cv-content .cv-block-subtitle{margin:.18rem 0 0;font-size:.95rem;line-height:1.4}.cv-content .cv-block-subtitle p{margin:0}.cv-content .cv-block-subtitle:first-child{margin-top:0}.cv-content .cv-block-description,.cv-content .cv-block-description a{margin-top:.2rem;color:var(--secondary);font-size:.85rem}.cv-content .cv-block-description p{margin:0}.cv-content .cv-block-description p+p{margin:.35rem 0 0}.cv-block-description--collapsible{margin-top:.45rem}.cv-expand-trigger{display:inline-block;margin-top:.25rem;font-size:.82rem;color:var(--secondary);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-thickness:.08em;cursor:pointer;background:0 0;border:none;padding:0}.cv-expand-trigger:hover,.cv-expand-trigger:focus-visible{text-decoration-style:solid}.cv-expand-trigger:focus-visible{outline:none}.cv-content .cv-block-description li,.cv-content .cv-block-description ul,.cv-content .cv-block-description ol{margin:0}.cv-content .cv-block-description ul,.cv-content .cv-block-description ol{padding-inline-start:1.25rem}ul.cv-item-tags{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .28rem;padding-inline-start:0}.cv-item-tags li{list-style-type:none;margin:0;padding:0;display:inline-flex;align-items:center}.cv-item-tags li>a{display:inline-flex;align-items:center;text-decoration:none}.cv-item-tags li span{display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;line-height:1;white-space:nowrap;padding:.26rem .4rem;border:solid 1px var(--tertiary);box-sizing:border-box}.cv-item-tags.skill-tags{gap:.34rem .28rem;margin-top:.38rem}.cv-item-tags.highlight-tags{gap:.28rem .28rem}.cv-item-tags.highlight-tags li{text-transform:uppercase}.cv-item-tags.highlight-tags li span{background-color:var(--tags);color:#fff;border:none;font-size:.6rem;font-weight:700;letter-spacing:.01em;line-height:1;padding:.24rem .34rem .22rem}@supports(text-box-trim:trim-both){.cv-item-tags.highlight-tags li span{text-box-trim:trim-both;text-box-edge:cap alphabetic;padding:.24rem .34rem}.cv-item-tags.skill-tags li span{text-box-trim:trim-both;text-box-edge:cap alphabetic;padding:.32rem .42rem}}ul.cv-item-tags.highlight-tags.publication-tags{margin:.28rem 0 0}main.cv .cv-block-title a,main.cv .cv-block-subtitle a,.cv-main .cv-block-title a,.cv-main .cv-block-subtitle a{text-decoration:none}main.cv .cv-block-title a:hover,main.cv .cv-block-subtitle a:hover,.cv-main .cv-block-title a:hover,.cv-main .cv-block-subtitle a:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-thickness:.08em;text-decoration-color:var(--tertiary);box-shadow:none}.cv-block-title a::after,.cv-block-subtitle a::after{content:"\00a0";display:inline;padding-right:10px;white-space:nowrap;color:var(--secondary);background-color:currentColor;mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 133.88 133.85"><line x1="6.36" y1="127.49" x2="120.06" y2="13.79" stroke="black" stroke-miterlimit="10" stroke-width="18" fill="none"/><polygon points="129.94 108.02 111.94 107.38 115.19 18.69 26.48 21.93 25.84 3.92 133.88 0 129.94 108.02" fill="black"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 133.88 133.85"><line x1="6.36" y1="127.49" x2="120.06" y2="13.79" stroke="black" stroke-miterlimit="10" stroke-width="18" fill="none"/><polygon points="129.94 108.02 111.94 107.38 115.19 18.69 26.48 21.93 25.84 3.92 133.88 0 129.94 108.02" fill="black"/></svg>');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:10px 10px;-webkit-mask-size:10px 10px;mask-position:right 54%;-webkit-mask-position:right 54%}.cv-author-highlight{font-weight:500}.cv-block-subtitle.cv-publication-author{color:var(--secondary);font-size:.9rem}.cv-content .cv-block-subtitle.cv-publication-venue{font-style:italic;margin-top:.2rem;color:var(--secondary);font-size:.8rem}.cv-note-block{padding:.8rem 1rem;background:var(--code-bg);font-size:.9rem;font-weight:300}.cv-note-block .cv-subsection-header{margin:0;font-size:1.1rem}.cv-section.small-text .cv-block:not(.no-margin){margin-top:calc(var(--cv-content-gap) * .6)}.cv-section.small-text .cv-block.print-inlined+.cv-block:not(.print-inlined){margin-top:var(--cv-content-gap)}.cv-section.small-text .cv-subsection-header+.cv-block{margin-top:0}.cv-section.small-text .cv-subsection-header{margin-top:.45rem}.cv-section.small-text .cv-left-side{padding-top:.1rem}.cv-section.small-text .cv-block-title,.cv-section.small-text h4.cv-block-title,.cv-section.small-text .cv-subsection-header{font-size:.95rem;line-height:1.3}.cv-section.small-text .cv-block-subtitle{font-size:.85rem}.cv-overlay[hidden],.cv-scanner-fx[hidden]{display:none!important}.cv-overlay{background:var(--code-bg);width:100%;min-height:100vh;min-height:100dvh}body.dark .cv-overlay{background:var(--theme)}.cv-overlay.is-fixed-overlay{position:fixed;inset:0;z-index:9500;overflow:hidden;will-change:opacity}.cv-overlay.is-open{position:relative}body.cv-open .home-layout{display:none!important}body.cv-open>header.header,body.cv-transitioning>header.header,body.cv-scanning>header.header{display:none!important}body.cv-open>#site-footer{display:none!important}html:has(body.dark),body.dark{color-scheme:dark}body.cv-open.home.list>main.main{max-width:none;padding:0}body.cv-transitioning .page-bottom-fade{transition:opacity .2s ease-in-out,visibility 0s linear 0s}body.cv-scanning .page-bottom-fade{opacity:0!important;visibility:hidden!important;transition:opacity .16s ease-out,visibility 0s linear .16s}body.cv-scanning #top-link{opacity:0!important;pointer-events:none!important}.cv-overlay .cv-main{position:relative;z-index:1;padding:2.25rem var(--gap)4.5rem}.cv-overlay .cv .post-content{margin-top:0}.cv-toolbar{grid-column:text;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.cv-toolbar-actions{display:flex;align-items:center;gap:.5rem}.cv-icon-btn{width:38px;height:38px;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--entry);color:var(--secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,4%);-webkit-tap-highlight-color:transparent;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .14s ease,box-shadow .16s ease}body.dark .cv-icon-btn{box-shadow:0 2px 8px rgba(0,0,0,.28)}@media(hover:hover){.cv-icon-btn:hover{color:var(--primary);border-color:var(--tertiary);box-shadow:0 3px 10px rgba(0,0,0,7%);transform:translateY(-1px)}body.dark .cv-icon-btn:hover{box-shadow:0 4px 12px rgba(0,0,0,.42)}}.cv-icon-btn:active{transform:scale(.94)}.cv-icon-btn:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.cv-sheet-viewport{position:relative;width:100%}.cv-overlay.is-scanning{min-height:100vh;min-height:100dvh}.cv-overlay.is-scanning .cv-sheet-viewport{position:fixed;inset:0;z-index:10045;overflow:hidden;pointer-events:none}.cv-scan-carrier{position:relative;width:100%;transform-origin:var(--scan-center-x,50%)85vh;will-change:transform}.cv-scan-sheet-bg{position:absolute;top:var(--scan-sheet-top,54px);bottom:-4rem;left:var(--scan-sheet-left,18vw);width:var(--scan-sheet-width,min(920px,calc(100vw - 1.5rem)));background:var(--entry);border-radius:10px;border:1px solid rgba(0,0,0,.045);box-shadow:0 18px 48px rgba(0,0,0,.065),0 3px 12px rgba(0,0,0,.025);opacity:0;pointer-events:none;z-index:0;will-change:opacity}body.dark .cv-scan-sheet-bg{background:#1c1e21;border-color:rgba(255,255,255,.065);box-shadow:0 22px 56px rgba(0,0,0,.5),0 3px 14px rgba(0,0,0,.28)}.cv-scanner-fx{position:fixed;left:var(--scan-fx-left,14vw);width:var(--scan-fx-width,72vw);bottom:0;height:145px;pointer-events:none;z-index:10060;transform-origin:50% 100%;will-change:transform,opacity}.cv-scanner-ambient{position:absolute;inset:0;background:radial-gradient(38% 120px at 50% 100%,transparent 0%,rgba(15,23,42,5%) 48%,rgba(15,23,42,2%) 76%,transparent 100%),radial-gradient(24% 96px at 25% 100%,transparent 0%,rgba(15,23,42,4%) 50%,transparent 100%),radial-gradient(24% 96px at 75% 100%,transparent 0%,rgba(15,23,42,4%) 50%,transparent 100%)}body.dark .cv-scanner-ambient{display:none}.cv-scanner-sdr-bloom{position:absolute;inset:0;background:radial-gradient(43% 30px at 50% 100%,#fff 0%,rgba(255,255,255,.72) 56%,rgba(255,255,255,0) 100%),radial-gradient(36% 96px at 50% 100%,rgba(255,255,255,.94) 0%,rgba(255,255,255,.56) 36%,rgba(255,255,255,.16) 70%,rgba(255,255,255,0) 100%),radial-gradient(25% 78px at 25% 100%,rgba(255,255,255,.88) 0%,rgba(255,255,255,.48) 38%,rgba(255,255,255,.12) 70%,rgba(255,255,255,0) 100%),radial-gradient(25% 78px at 75% 100%,rgba(255,255,255,.88) 0%,rgba(255,255,255,.48) 38%,rgba(255,255,255,.12) 70%,rgba(255,255,255,0) 100%)}body.dark .cv-scanner-sdr-bloom{background:radial-gradient(43% 28px at 50% 100%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.62) 54%,rgba(255,255,255,0) 100%),radial-gradient(36% 102px at 50% 100%,rgba(255,255,255,.82) 0%,rgba(255,255,255,.38) 36%,rgba(255,255,255,9%) 70%,rgba(255,255,255,0) 100%),radial-gradient(25% 82px at 25% 100%,rgba(255,255,255,.74) 0%,rgba(255,255,255,.32) 38%,rgba(255,255,255,7%) 70%,rgba(255,255,255,0) 100%),radial-gradient(25% 82px at 75% 100%,rgba(255,255,255,.74) 0%,rgba(255,255,255,.32) 38%,rgba(255,255,255,7%) 70%,rgba(255,255,255,0) 100%)}.cv-scanner-hdr-img{display:none;position:absolute;left:0;right:0;bottom:0;width:100%;height:132px;max-width:none;object-fit:fill;user-select:none;-webkit-user-drag:none;dynamic-range-limit:no-limit}@media(dynamic-range:high){.cv-scanner-hdr-img{display:block}}.cv-scanner-slit{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:var(--scan-slot-width,88%);height:4px;border-radius:999px 999px 0 0;background:#fff;background:color(display-p3 1 1 1);box-shadow:0 -1px 12px 2px #fff,0 -4px 28px 5px rgba(255,255,255,.88);transform-origin:50% 100%;will-change:transform,opacity}@media screen and (max-width:768px){.cv-overlay .cv-main{padding:1.25rem var(--gap)3.5rem}.cv-toolbar{margin-bottom:1.1rem}.cv-scanner-fx{height:120px}.cv-scanner-hdr-img{height:108px}}@page{size:A4 portrait;margin:13mm 14mm}@media print{html{font-size:11.75px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}:root{--cv-content-gap:0.85rem}.cv-note.print-only{display:block}.cv-note.web-only{display:none}body,body.dark,body.list,body.dark.list{zoom:1!important;margin:0!important;padding:0!important;background:#fff!important;color:#1f1f1f!important;--theme:#ffffff;--entry:#ffffff;--code-bg:#f5f5f5;--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--border:rgb(238, 238, 238);--tags:rgb(165, 165, 165)}.cv-overlay[hidden],.page-bottom-fade,body.home::after,body.publications-page::after,.cv-toolbar,.cv-scanner-fx,.cv-scan-sheet-bg,.cv-scan-carrier::before,.top-link,.back-link,.no-print,.cv-block-description--collapsible{display:none!important}.cv-overlay:not([hidden]),.cv-overlay.is-scanning:not([hidden]),.cv-overlay.is-scanning .cv-sheet-viewport,.cv-sheet-viewport,.cv-scan-carrier,.cv-overlay .cv-main{position:static!important;overflow:visible!important;transform:none!important;clip-path:none!important;margin-top:0!important;opacity:1!important;background:#fff!important;min-height:0!important}main.main.cv,.cv-overlay .cv-main{padding:0!important;margin:0!important}main.cv .post-content.cv-content,.cv-main .post-content.cv-content,.cv-content,.cv-content>.cv-section,.cv-section{display:block!important;margin:0!important}.profile.cv-profile,.cv-block,.cv-note-block{display:block!important;break-inside:avoid!important;page-break-inside:avoid!important}ul.cv-item-tags{break-inside:avoid!important;page-break-inside:avoid!important}.cv-section-header,.cv-subsection-header{display:block!important;break-inside:avoid!important;page-break-inside:avoid!important;break-after:avoid!important;page-break-after:avoid!important}p,li{orphans:3;widows:3}.cv-expand-trigger{display:inline-block!important;margin-top:.22rem;font-size:.82rem;color:var(--secondary);text-decoration:underline;text-decoration-style:solid;text-underline-offset:2px;background:0 0;border:none;padding:0}.profile.cv-profile{margin-bottom:0}.profile.cv-profile .cv-header{padding-bottom:.65rem}.profile.cv-profile .cv-header .cv-title,.profile.cv-profile .profile_inner h1.cv-title,.cv-content h1.cv-title{font-size:2rem;line-height:1.18}.profile.cv-profile .cv-subtitle{margin-top:.36rem;line-height:1.3}.profile.cv-profile .cv-profile-bottom-bar{flex-direction:row;align-items:center;padding-top:.85rem;padding-bottom:.9rem}.profile.cv-profile .cv-profile-bottom-bar .cv-note{margin-left:auto;margin-top:0}.profile.cv-profile .social-icons a svg{width:1.55rem;height:1.55rem;stroke-width:2px}.social-icons svg path,.social-icons svg circle,.social-icons svg rect{stroke-width:2px}.social-icons a[title=BlueSky] svg path,.social-icons a[title=BlueSky] svg circle,.social-icons a[title=BlueSky] svg rect{stroke-width:24px}.cv-section-header{margin-top:1.05rem;margin-bottom:.38rem}.cv-subsection-header{margin:.55rem 0 .28rem}.cv-block+.cv-subsection-header,ul.cv-item-tags+.cv-subsection-header{margin-top:.85rem}.cv-subsection-header.no-margin{margin-bottom:0}.cv-subsection-header.smaller-margin{margin-bottom:.26rem}.cv-block:not(.no-margin){margin-top:var(--cv-content-gap)}.cv-subsection-header+.cv-block{margin-top:0}.cv-section.small-text .cv-block:not(.no-margin){margin-top:calc(var(--cv-content-gap) * .6)}.cv-section.small-text .cv-block.print-inlined+.cv-block:not(.print-inlined){margin-top:var(--cv-content-gap)}.cv-section.small-text .cv-subsection-header+.cv-block{margin-top:0}.cv-section.small-text .cv-subsection-header{margin-top:.45rem}.cv-left-side,.cv-right-side{width:100%;margin:0}.cv-left-side{text-align:left;white-space:normal;padding-top:0}.cv-left-side.has-secondary{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:.35rem;row-gap:.1rem;align-items:baseline}.cv-left-side.has-secondary .cv-block-secondary{margin-top:0}.cv-left-side.has-secondary .cv-block-secondary::before{content:"|";margin:0 .35rem}.cv-left-side.has-secondary .cv-block-secondary:first-child::before{content:none;margin:0}.cv-left-side+.cv-right-side{margin-top:.14rem}.cv-block.print-inlined>.cv-left-side,.cv-block.print-inlined>.cv-right-side{display:inline-block;width:auto;margin-top:0;vertical-align:baseline}.cv-block.print-inlined>.cv-left-side{min-width:5.2rem;margin-right:.75rem}.cv-block.print-inlined>.cv-right-side{max-width:calc(100% - 6.2rem)}.cv-block.print-inlined>.cv-block-tags{display:block;width:100%;margin-top:.28rem}.cv-content .cv-block-title,.cv-content h4.cv-block-title{font-size:1.08rem}.cv-section.small-text .cv-block-title,.cv-section.small-text h4.cv-block-title,.cv-section.small-text .cv-subsection-header{font-size:.95rem}.cv-block-title a::after,.cv-block-subtitle a::after{display:none}.cv-item-tags.skill-tags{gap:.32rem .26rem;margin-top:.35rem}.cv-item-tags.highlight-tags{gap:.28rem .26rem}ul.cv-item-tags.highlight-tags.publication-tags{margin:.28rem 0 0}.cv-item-tags.highlight-tags li span{text-transform:uppercase;font-size:.58rem;font-weight:700;line-height:1;padding:.24rem .34rem .22rem}@supports(text-box-trim:trim-both){.cv-item-tags.highlight-tags li span{text-box-trim:trim-both;text-box-edge:cap alphabetic;padding:.24rem .34rem}.cv-item-tags.skill-tags li span{text-box-trim:trim-both;text-box-edge:cap alphabetic;padding:.32rem .42rem}}}