:root{color-scheme:light;--ink:#25313d;--muted:#62707c;--accent:#234d77;--line:#dfe5ea;--tint:#f6f8fa;--width:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
button,a,video,[tabindex]{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #5694c2;outline-offset:5px}
button{font:inherit}
figure,p,h1,h2,h3,h4{margin:0}
img{display:block;max-width:100%;height:auto}
video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#e9edf0;object-fit:contain;border-radius:5px}
video:fullscreen{object-fit:contain;background:#000;border-radius:0}
sup{font-size:.64em;margin-left:2px}
.container{width:min(var(--width),calc(100% - 64px));margin-inline:auto}
.reading-width{width:min(890px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:absolute;top:-80px;left:16px;z-index:10;padding:10px 16px;background:#fff;border:2px solid var(--accent);border-radius:6px}
.skip-link:focus{top:12px}
.project-header{text-align:center;padding-top:59px;padding-bottom:35px}
h1{font-weight:650;letter-spacing:-1.2px;line-height:1.2}
.project-name{display:block;color:var(--accent);font-size:59px;font-weight:750;letter-spacing:-2px;margin-bottom:14px}
.project-title{display:block;font-size:35px}
.authors{display:flex;flex-wrap:wrap;justify-content:center;column-gap:23px;row-gap:5px;margin-top:28px;font-size:19px;color:var(--accent)}
.authors>span,.affiliations>span{white-space:nowrap}
.affiliations{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 19px;margin-top:9px;font-size:14px;color:var(--muted)}
.publication-links{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:10px;margin-top:24px}
.paper-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:120px;min-height:48px;border:1px solid transparent;background:var(--ink);color:#fff;padding:8px 24px;border-radius:25px;font-size:16px;font-weight:550;transition:background .15s}
.paper-link:hover{background:var(--accent);text-decoration:none}
.paper-link svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linejoin:round;stroke-linecap:round}
.teaser-section{padding-bottom:37px}
.teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.teaser-grid figcaption{padding:13px 5px 0}
.example-type{font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}
.teaser-grid figcaption p{font-size:15px;line-height:1.5;margin-top:5px}
.teaser-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:25px;border-top:1px solid var(--line);padding-top:16px}
.teaser-footer>p{font-size:15px;color:var(--muted)}
.motion-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #d5dde4;border-radius:20px;padding:5px 13px;white-space:nowrap;background:#fff;color:var(--muted);font-size:12px;cursor:pointer}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{border-color:var(--accent);color:var(--accent)}
.motion-icon{font-size:12px;width:12px;text-align:center}
.section{padding-top:57px;padding-bottom:60px}
.section-tinted{background:var(--tint)}
h2{font-size:31px;font-weight:650;letter-spacing:-.65px;text-align:center;line-height:1.25;margin-bottom:23px}
.section-intro{max-width:820px;margin:0 auto 31px;text-align:center;color:var(--muted);font-size:17px;line-height:1.65}
.abstract-copy{font-size:17px;line-height:1.82;text-align:justify;hyphens:auto}
.method-figure{margin:37px 0 38px}
.method-figure img{width:100%}
.method-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.method-points>div{padding-top:15px;border-top:2px solid var(--line)}
.step-number{color:#829cb3;font-size:13px;letter-spacing:1px;font-weight:700}
h3{font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.35px}
.method-points h3{font-size:18px;margin:7px 0 9px}
.method-points p{font-size:15px;line-height:1.7;color:var(--muted)}
.wide-video{margin-top:27px}
.comparisons{margin-top:37px}
.comparison+.comparison{margin-top:41px}
.comparison h3,.application h3{margin-bottom:13px}
.prompt{font-size:16px;line-height:1.7;margin:0 0 17px;padding-left:15px;border-left:3px solid #c4d5e3;color:#52606c}
.prompt>span{font-size:13px;font-weight:700;letter-spacing:.5px;color:var(--accent);margin-right:8px}
.media-note{font-size:13px;color:var(--muted);margin-top:9px}
.quantitative-results{margin-top:55px;padding-top:43px;border-top:1px solid var(--line)}
.subsection-title{text-align:center;font-size:26px;margin-bottom:14px}
.paper-table{margin-top:33px}
.paper-table+.paper-table{margin-top:39px}
.paper-table figcaption{margin-bottom:16px}
h4{font-size:19px;font-weight:650;letter-spacing:-.2px}
.paper-table figcaption p{font-size:14px;color:var(--muted);margin-top:5px}
.table-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:2px 0 8px;background:white}
.table-scroll img{width:100%;min-width:730px}
.table-scroll:focus:not(:focus-visible){outline:none}
.application{margin-top:37px}
.application+.application{margin-top:43px;padding-top:32px;border-top:1px solid var(--line)}
.application-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,2fr);align-items:center;gap:17px}
.application-grid figure{min-width:0}
.application-grid figcaption{text-align:center;color:var(--muted);font-size:13px;margin-top:10px}
.reference-image{aspect-ratio:16/18;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:5px;padding:15px;max-height:376px;overflow:hidden}
.reference-image img{width:100%;height:100%;object-fit:contain}
.application-arrow{color:#8ea4b8;font-size:29px;text-align:center;margin-bottom:30px}
.site-footer{display:flex;gap:20px;align-items:center;justify-content:center;padding:28px 20px;color:#81909c;font-size:13px}
.site-footer a{color:var(--muted)}
.noscript-note{padding:20px;text-align:center}
.media-error{font-size:14px;color:#934032;padding:8px 0}
@media(min-width:1440px){:root{--width:1200px}.project-header{padding-top:65px}.project-title{font-size:37px}}
@media(max-width:800px){.container{width:calc(100% - 36px)}.reading-width{width:calc(100% - 40px)}.project-header{padding-top:38px}.project-name{font-size:48px}.project-title{font-size:28px}.desktop-break{display:none}.authors{font-size:17px;gap:4px 17px}.affiliations{font-size:13px}.teaser-grid{gap:10px}.teaser-grid figcaption{padding-inline:0}.teaser-grid figcaption p{font-size:13px}.example-type{font-size:11px;letter-spacing:.6px}.section{padding-block:42px}.abstract-copy{text-align:left;font-size:16px}.method-points{gap:18px}.method-points h3{font-size:17px}.method-points p{font-size:14px}.application-grid{grid-template-columns:minmax(0,1fr) 22px minmax(0,2fr);gap:10px}}
@media(max-width:540px){body{font-size:16px}.project-header{padding-bottom:28px}.project-name{font-size:44px}.project-title{font-size:25px;line-height:1.25;letter-spacing:-.5px}.authors{margin-top:21px;font-size:16px;column-gap:16px}.affiliations{gap:1px 12px;font-size:12px}.teaser-grid{grid-template-columns:1fr;gap:24px}.teaser-grid figcaption{padding-top:8px}.teaser-grid figcaption p{font-size:15px;margin-top:3px}.example-type{font-size:12px}.teaser-footer{align-items:flex-start}.teaser-footer>p{font-size:13px;max-width:230px}.motion-toggle{font-size:11px;padding:5px 10px}h2{font-size:27px;margin-bottom:18px}.section-intro{font-size:16px;margin-bottom:24px}.method-points{grid-template-columns:1fr;gap:23px}.method-points h3{font-size:19px}.method-points p{font-size:15px}.method-figure{margin-block:28px}.prompt{font-size:14px}h3{font-size:21px}.comparison+.comparison{margin-top:31px}.table-scroll img{min-width:720px}.paper-table figcaption p{font-size:13px}.application-grid{grid-template-columns:1fr;gap:12px}.reference-image{max-height:215px;aspect-ratio:auto}.reference-image img{max-height:185px;width:auto;max-width:100%}.application-arrow{font-size:25px;line-height:1;margin:0;transform:rotate(90deg)}.application-grid figcaption{margin-top:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Let the sketch fill its own natural bounds, without a padded white card. */
.reference-image--sketch{display:block;aspect-ratio:auto;background:transparent;border-radius:0;padding:0;max-height:none;overflow:visible}
.reference-image--sketch img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}

.resource-placeholder,.resource-placeholder:hover{background:#f0f3f6;color:#687785;border:1px dashed #b9c5d0;cursor:default}
.resource-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1}
.coming-soon{font-size:10px;font-weight:400;letter-spacing:.2px;white-space:nowrap}
.bibtex-code{margin:0;padding:25px 28px;border:1px solid var(--line);border-radius:6px;background:var(--tint);color:var(--ink);font:14px/1.85 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}
.bibtex-code code{font:inherit}
@media(max-width:540px){.publication-links{gap:9px}.paper-link{padding-inline:18px;min-width:135px}.bibtex-code{padding:18px;font-size:12px;line-height:1.8}}
