/* Adapted from the Nerfies website. See LICENSE.md. */
:root{--ink:#30343b;--muted:#69727d;--accent:#2168a6;--line:#e4e8ed}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:hover{color:#154b7a;text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid #2168a6;outline-offset:5px}
.skip-link{position:absolute;left:16px;top:-100px;background:#fff;padding:8px 16px;z-index:10}.skip-link:focus{top:10px}
.publication-header .hero-body{padding:56px 24px 32px}
.publication-venue{font-size:14px;letter-spacing:.055em;color:var(--muted);margin-bottom:16px}.publication-venue span{padding:0 7px}
.publication-title{margin:0 auto 27px;font-weight:650;letter-spacing:-1.1px;line-height:1.2}
.project-name{display:block;color:var(--accent);font-size:66px;letter-spacing:-2px;font-weight:750;margin-bottom:12px}
.paper-title{display:block;font-size:38px}
.publication-authors{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 20px;font-size:19px;line-height:1.8}
.author-block{display:inline-block;white-space:nowrap}sup{font-size:.63em;margin-left:2px;top:-.5em}
.affiliations{margin-top:10px;font-size:16px;display:flex;justify-content:center;flex-wrap:wrap;gap:0 20px}
.author-note{font-size:12px;color:var(--muted);margin-top:5px}
.publication-links{display:flex;justify-content:center;gap:10px;margin-top:24px}.publication-links .button{height:42px;font-size:15px;padding:0 20px;gap:8px;text-decoration:none}
.button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.section{padding:54px 24px}.container.is-max-desktop{max-width:980px!important}.reading-width{max-width:790px!important}
.title{color:var(--ink);letter-spacing:-.5px}.title.is-3{font-size:29px;font-weight:650;margin-bottom:26px}
.teaser.section{padding-top:14px;padding-bottom:40px}.teaser img{display:block;width:100%;height:auto;border-radius:5px}
figure{margin:0}figcaption{font-size:16px;line-height:1.7;margin:18px auto 0;text-align:center;max-width:880px;color:#515b66}figcaption strong{color:var(--ink);font-weight:650}
.project-video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;border:1px solid #dce2e9;border-radius:10px}
.video-section{background:#f7f8fa;border-top:1px solid #eef0f3;border-bottom:1px solid #eef0f3}
.abstract-copy{text-align:justify;font-size:17px;line-height:1.9}.abstract-section{padding-bottom:40px}
.section-intro{text-align:center;color:var(--muted);margin:-12px auto 30px;font-size:16px}.method-section{padding-top:34px}.method-figure img{display:block;width:100%;height:auto}.method-figure>a{display:block;max-width:860px;margin:auto}
.legend-green{color:#4c7736}.legend-red{color:#a6423d}.legend-gold{color:#866617}
.citation-section{border-top:1px solid var(--line);padding-bottom:35px}.citation-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.citation-heading .title{margin:0}
pre{border-radius:8px;border:1px solid var(--line);padding:24px;background:#f6f7f9;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;line-height:1.7;font-size:13px;color:#39424f}pre code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
#copy-status{min-height:24px;font-size:13px;color:var(--muted);margin-top:8px}[hidden]{display:none!important}
.footer{background:#f7f8fa;padding:30px 24px 34px;font-size:12px;color:var(--muted)}.footer p+p{margin-top:6px}
@media(max-width:768px){.publication-header .hero-body{padding:34px 20px 24px}.project-name{font-size:52px}.paper-title{font-size:29px;line-height:1.25}.desktop-break{display:none}.publication-title{letter-spacing:-.6px;margin-bottom:22px}.publication-authors{font-size:17px;gap:3px 14px}.affiliations{font-size:14px;gap:5px;flex-direction:column}.publication-venue{font-size:12px;letter-spacing:.02em}.section{padding:38px 20px}.title.is-3{font-size:26px;margin-bottom:22px}figcaption{font-size:14px;text-align:left}.abstract-copy{text-align:left;font-size:16px;line-height:1.85}.section-intro{font-size:14px}.method-section{padding-top:22px}pre{padding:16px;font-size:11px}.footer{padding:25px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.institution-logos{display:flex;align-items:center;justify-content:center;gap:42px;margin:22px auto 0}
.institution-logos img{display:block;width:74px;height:74px;object-fit:contain}
@media(max-width:768px){.institution-logos{gap:32px;margin-top:18px}.institution-logos img{width:62px;height:62px}}

.contact-section{padding:34px 24px 42px;border-top:1px solid var(--line)}
.contact-section .title{margin-bottom:17px}
.contact-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 28px;font-size:15px}
.contact-actions a{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:36px}.contact-actions span{overflow-wrap:anywhere;min-width:0}
.contact-actions svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.contact-dialog{border:1px solid var(--line);border-radius:16px;margin:auto;padding:32px 26px 25px;max-width:min(380px,calc(100vw - 32px));width:100%;max-height:90vh;overflow:auto;text-align:center;color:var(--ink);background:white;box-sizing:border-box}
.contact-dialog::backdrop{background:rgba(20,30,45,.5)}.contact-dialog .title{margin:0 0 5px}.contact-dialog p{color:var(--muted);font-size:14px}.contact-dialog img{display:block;max-width:100%;height:auto;margin:14px auto}.contact-dialog .qr-hint{font-size:12px}
.dialog-close{position:absolute;top:8px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:25px;line-height:1;cursor:pointer}.dialog-close:hover{background:#edf0f4}
@media(max-width:480px){.contact-actions{gap:8px 20px}.contact-actions a{font-size:14px}.contact-section{padding:28px 20px 32px}}

.publication-links{flex-wrap:wrap}

.contact-actions{justify-content:flex-start}
.contact-actions button{font:inherit;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer}
.contact-actions button:hover{text-decoration:underline;color:#154b7a}
.email-dialog #contact-email{overflow-wrap:anywhere;font-size:16px}.email-dialog #copy-email{margin-top:20px}.email-dialog #email-copy-status{min-height:24px;margin-top:12px;font-size:12px}
@media(max-width:480px){.contact-actions button{font-size:14px}}
