@font-face{font-family:Barlow;font-weight:500;src:url(/Bismuth/_astro/barlow-v5-latin-500.CanPZVlz.woff2)format("woff2")}@font-face{font-family:Barlow;font-weight:700;src:url(/Bismuth/_astro/barlow-v5-latin-700.UZ72tuoA.woff2)format("woff2")}@font-face{font-family:Roboto;font-weight:400;src:url(/Bismuth/_astro/roboto-v20-latin-regular.CEEi-WbQ.woff2)format("woff2")}@font-face{font-family:Roboto;font-weight:400;font-style:italic;src:url(/Bismuth/_astro/roboto-v20-latin-italic.DRWWNyaf.woff2)format("woff2")}@font-face{font-family:Roboto;font-weight:700;src:url(/Bismuth/_astro/roboto-v20-latin-700.CqGedB_1.woff2)format("woff2")}@font-face{font-family:"Exo 2";font-weight:700;src:url(/Bismuth/_astro/exo2-latin-700.OoACPC18.woff2)format("woff2")}:root{--indigo-100:#f3f5ff;--indigo-200:#d6d9fd;--indigo-600:#6d60d7;--indigo-700:#5c4cc0;--indigo-800:#4c3e95;--indigo-900:#403472;--yellow-100:#fffbea;--yellow-300:#fce588;--yellow-400:#fadb5f;--yellow-500:#f7c948;--gray-100:#faf9f7;--gray-200:#e8e6e1;--gray-600:#857f72;--gray-950:#27241d;--teal:#2e9db0;--magenta:#c8458f;--orange:#e8a33d;--container:1140px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--gray-950);flex-direction:column;min-height:100vh;margin:0;font-family:Roboto,sans-serif;line-height:1.6;display:flex}main{flex:1 0 auto}h1,h2,h3,h4,h5{color:var(--indigo-900);margin:0 0 1rem;font-family:Barlow,sans-serif;font-weight:700;line-height:1.2}h1{font-size:3.5rem}h2{font-size:2.25rem}h3{font-size:1.5rem}a{color:var(--indigo-700)}a:hover{color:var(--indigo-900)}code{background:var(--indigo-100);border-radius:3px;padding:0 .25em}.container{max-width:var(--container);margin:0 auto;padding:0 1rem}.section{padding:4rem 0}.bg-light{background:var(--indigo-100)}.bg-indigo{background:var(--indigo-600);color:#fff}.bg-indigo h2,.bg-indigo h3,.bg-indigo a:not(.hero){color:#fff}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.header{background:radial-gradient(60% 80% at 85% 20%, var(--indigo-200) 0%, transparent 70%);padding:5rem 0 4rem}.header h1{max-width:24ch}.lead{max-width:42rem;font-size:1.15rem}.notice{background:var(--yellow-100);border-left:4px solid var(--yellow-500);border-radius:5px;max-width:42rem;padding:.75rem 1rem}.brand,.brand-footer{align-items:center;gap:.5rem;font-family:"Exo 2",sans-serif;font-weight:700;display:inline-flex}.brand{color:var(--indigo-900);font-size:2rem;text-decoration:none}.brand img{width:52px;height:52px}.brand-footer{font-size:18px}.brand-footer img{width:32px;height:32px}.navbar{padding:1.25rem 0}.navbar .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.nav-links{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.nav-link{color:var(--indigo-900);font-family:Barlow,sans-serif;font-weight:700;text-decoration:none;position:relative}.nav-link:before{content:"";opacity:0;background:var(--indigo-900);width:0;height:5px;transition:all .4s ease-in-out;position:absolute;bottom:-4px;left:0}.nav-link:hover:before,.nav-link.active:before{opacity:1;width:100%}.nav-link .external{color:var(--indigo-600);margin-left:.15em;font-size:.8em}.buttons{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero{background:var(--yellow-400);color:var(--gray-950);border-radius:5px;padding:16px 36px;font-family:Barlow,sans-serif;font-size:14px;font-weight:700;text-decoration:none;transition:all .25s ease-in-out;display:inline-block}.hero:hover{background:var(--yellow-500);color:var(--gray-950)}.track-teal{background:var(--teal);color:#fff}.track-magenta{background:var(--magenta);color:#fff}.track-orange{background:var(--orange);color:var(--gray-950)}.strand{white-space:nowrap;border-radius:20px;padding:0 .35em}.tag{border-radius:20px;padding:2px 10px;font-size:12px;font-weight:700}.timeline{border-left:4px solid var(--indigo-200);padding-left:2rem;position:relative}.project{padding-bottom:3rem;position:relative}.project:last-child{padding-bottom:0}.project:before{content:"";background:#fff url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-14%20-14%20188%20188'%20width='300'%20height='300'%3e%3cg%20transform='rotate(45%2080%2080)'%3e%3cpolygon%20points='130,14%20146,14%20146,146%2014,146%2014,130%20130,130'%20fill='%23E8A33D'%20stroke='%23E8A33D'%20stroke-width='2'%20stroke-linejoin='round'/%3e%3cpolygon%20points='90,14%20106,14%20106,106%2014,106%2014,90%2090,90'%20fill='%23C8458F'%20stroke='%23C8458F'%20stroke-width='2'%20stroke-linejoin='round'/%3e%3cpolygon%20points='14,14%2066,14%2066,66%2014,66'%20fill='%232E9DB0'%20stroke='%232E9DB0'%20stroke-width='2'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e") 50%/28px no-repeat;border-radius:50%;width:32px;height:32px;position:absolute;top:0;left:calc(-2rem - 18px)}.project .year{color:var(--indigo-600);font-family:Barlow,sans-serif;font-size:1.1rem;font-weight:700}.project .tags{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.project .related{color:var(--gray-600);margin-top:-.5rem;font-size:14px}.pubs{margin:1rem 0 0;padding:0;list-style:none}.pubs li{margin-bottom:.5rem}.pubs .venue{color:var(--indigo-800);font-weight:700}.pubs .authors{color:var(--gray-600);font-size:14px}.all-pubs{margin:2.5rem 0 0;font-family:Barlow,sans-serif;font-weight:700}.bib-list{padding-left:1.25rem}.bib-list li{margin-bottom:1rem}.bib-list .title{font-weight:700}.bib-list .meta{color:var(--gray-600);font-size:14px}.lib-card{border:1px solid var(--indigo-200);background:#fff;border-radius:5px;flex-direction:column;padding:1.5rem;display:flex}.lib-card h3{margin-bottom:.5rem}.lib-card>p{flex:1 0 auto;margin:0}.lib-links{flex-direction:column;gap:.6rem;margin-top:1.5rem;display:flex}.lib-link{background:var(--indigo-100);color:var(--indigo-900);border-radius:5px;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 1rem;text-decoration:none;transition:all .25s ease-in-out;display:flex}.lib-link>span{font-family:Barlow,sans-serif;font-size:1.1rem;font-weight:700}.lib-link small{text-align:right;font-size:13px}.lib-link small code{background:0 0;padding:0}a.lib-link:hover{background:var(--indigo-200);color:var(--indigo-900)}.lib-link.primary{background:var(--yellow-400);color:var(--gray-950)}a.lib-link.primary:hover{background:var(--yellow-500);color:var(--gray-950)}.lib-link.disabled{background:var(--gray-100);color:var(--gray-600);border:1px dashed var(--gray-200)}.demo-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.demo-tabs button{cursor:pointer;background:var(--indigo-100);color:var(--indigo-900);border:none;border-radius:50px;padding:8px 16px;font-family:Barlow,sans-serif;font-weight:700}.demo-tabs button[aria-selected=true]{background:var(--indigo-700);color:#fff}.demo-frame{border:1px solid var(--indigo-200);background:#fff;border-radius:5px;width:100%;height:640px}footer{background:var(--indigo-900);color:#fff}footer a{color:#fff;text-decoration:none}footer a:hover{color:var(--indigo-200)}footer .cols{flex-wrap:wrap;justify-content:space-between;gap:2rem;padding:3rem 1rem;display:flex}footer .cols div{flex-direction:column;gap:.4rem;font-size:14px;display:flex}footer .cols .about{max-width:22rem}footer .bottom{background:var(--indigo-800);text-align:center;padding:.5rem;font-size:14px}@media (width<=768px){h1{font-size:2.5rem}.demo-frame{height:520px}}
