:root{--text:#363636;--muted:#555;--link:#209cee;--shade:#f5f5f5;--line:#dbdbdb;--green:#168f35;--red:#ff3860}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font:16px/1.55 'Noto Sans',Arial,sans-serif}
button,a{font:inherit}button{cursor:pointer}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--link);outline-offset:3px}
p{margin:0 0 1.15em}h1,h2,h3{margin-top:0}
.skip-link{position:absolute;left:12px;top:-80px;background:#fff;padding:8px;z-index:10}.skip-link:focus{top:10px}
.wide-container{width:min(100% - 40px,960px);margin-inline:auto}
.article-container{width:min(100% - 40px,640px);margin-inline:auto}
.publication-header{padding:46px 0 10px;text-align:center;font-family:'Google Sans','Noto Sans',Arial,sans-serif}
.publication-header h1{font-size:40px;font-weight:700;line-height:1.15;letter-spacing:-.035em;max-width:950px;margin:0 auto 36px}
.publication-authors{font-size:18px;line-height:1.75;margin:0 auto 2px;max-width:950px}
.publication-authors span{display:inline-block;color:var(--link)}
.publication-authors sup,.publication-affiliations sup{font-size:.7em;position:relative;top:-.1em}
.publication-affiliations{font-size:17px;line-height:1.65;display:flex;justify-content:center;flex-wrap:wrap;column-gap:22px;row-gap:0;max-width:920px;margin:0 auto}
.publication-affiliations span{white-space:nowrap}
.publication-venue{font:700 21px/1.4 'Castoro',Georgia,serif;color:#555;margin:29px 0 21px}
.publication-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}
.publication-links a{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#363636;color:#fff;padding:7px 15px;font-family:'Google Sans','Noto Sans',sans-serif;font-weight:700;font-size:15px;line-height:1.3}
.publication-links a:hover{background:#4a4a4a;text-decoration:none}
.publication-links a span{font-size:15px}
.teaser{padding-top:30px;padding-bottom:55px;font-family:'Google Sans','Noto Sans',sans-serif}
.teaser-row{margin:0 auto 18px}
.teaser-row h2{font-size:19px;font-weight:700;line-height:1.5;text-align:center;margin:18px 0 7px}
.teaser-row h2 span{font-weight:400;margin-left:12px;white-space:nowrap}
.ok{color:var(--green)}.no{color:#f32d3d}
.teaser-visual{height:94px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.teaser-visual svg{display:block;width:100%;height:90px}
.teaser-axis{stroke:#ddd;stroke-width:1}.teaser-history{fill:none;stroke:#666;stroke-width:3}.teaser-origin{stroke:#aaa;stroke-dasharray:5 5}.teaser-baseline{fill:none;stroke:#888;stroke-width:2.5;stroke-dasharray:8 7}.teaser-guided{fill:none;stroke:#209cee;stroke-width:4;stroke-dasharray:500;stroke-dashoffset:500;animation:draw 4s 1s ease forwards}.teaser-anchor{fill:#ffe0e6;stroke:var(--red);stroke-width:1.5}
.context-strip{gap:20px;color:#595959;font-family:'Noto Sans',Arial,sans-serif}.context-strip b{font-size:25px;color:#888;font-weight:400}.context-piece{background:#fff5dc;padding:10px 15px;font-size:14px;text-align:center;border-radius:2px}
.teaser-caption{text-align:center;color:#777;font:13px/1.5 'Noto Sans',sans-serif;margin-top:20px}
.section-shaded{background:var(--shade)}
.section-title{font:700 30px/1.25 'Google Sans','Noto Sans',sans-serif;letter-spacing:-.025em;margin:0 0 26px}.section-title.center{text-align:center}
.article-section,.section-shaded{padding-top:48px;padding-bottom:52px}
.article-section.section-shaded{padding-top:48px;padding-bottom:52px}
.article-container p{line-height:1.6}
.abstract-text{text-align:justify;line-height:1.6}
.paper-figure{margin:26px 0}.paper-figure figcaption,.video-figure figcaption,.example-grid figcaption{font-size:14px;color:#666;line-height:1.5;text-align:center;margin-top:11px}
.figure-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px}.figure-comparison>div{border:1px solid #ddd;padding:12px 10px 2px}.figure-comparison span{display:block;text-align:center;font:700 15px 'Google Sans',sans-serif}.figure-comparison svg{width:100%;height:auto;display:block}
.figure-comparison path{fill:none}.gridline{stroke:#e5e5e5;stroke-width:1}.origin{stroke:#999;stroke-width:1;stroke-dasharray:4 4}.past{stroke:#555;stroke-width:3}.flat{stroke:#888;stroke-width:2;stroke-dasharray:6 5}.truth{stroke:#aaa;stroke-width:2;stroke-dasharray:4 4}.guided{stroke:#209cee;stroke-width:3}.band{fill:#ffe4e9;stroke:#ff3860}
.method-flow{border:1px solid #ddd;background:#fff;display:flex;align-items:stretch;padding:17px 13px;gap:7px}.method-flow>div{min-width:0;flex:1;text-align:center}.method-flow>b,.method-flow>span{align-self:center;color:#888;font-size:20px;font-weight:400}.method-flow b{display:block;color:var(--link);font-size:18px;margin-bottom:7px}.method-flow strong{display:block;font:700 13px/1.35 'Google Sans',sans-serif}.method-flow small{display:block;color:#777;font-size:11px;line-height:1.45;margin-top:5px}
.section-intro{text-align:center;max-width:720px;margin:0 auto 28px}
.video-figure{max-width:880px;margin:0 auto}.video-figure video{width:100%;display:block;aspect-ratio:16/9;background:#102630}.video-download{text-align:center;margin:16px 0 0}
.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.example-grid figure{margin:0;min-width:0}.example-grid video{display:block;width:100%;aspect-ratio:16/9;background:#102630}.example-grid figcaption{text-align:left;margin-top:9px}.example-grid figcaption strong{color:#363636}
.demo-notice{max-width:770px;margin:0 auto 20px;text-align:center;color:#666;font-size:13px}
.case-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;border-bottom:1px solid #dbdbdb;margin-bottom:0}
.case-tab{border:1px solid #dbdbdb;border-bottom:0;border-radius:3px 3px 0 0;background:#f7f7f7;color:#555;padding:9px 19px;font-family:'Google Sans',sans-serif;font-size:15px}.case-tab.active{background:#fff;color:var(--link);border-color:#dbdbdb;font-weight:700}
.case-content{border:1px solid #dbdbdb;border-top:0;padding:25px 31px 29px}
.case-intro{display:flex;justify-content:space-between;gap:20px;align-items:start}.case-kicker{color:#888;font-size:11px;font-weight:700;letter-spacing:.09em}.case-intro h3{font:700 24px/1.3 'Google Sans',sans-serif;margin:5px 0 5px}.case-intro p{font-size:14px;margin:0;color:#555}.case-icon{font-size:28px;color:var(--link)}
.demo-stage{border:1px solid #e1e1e1;margin:22px 0 0;padding:15px 20px 12px}.chart-header{display:flex;justify-content:space-between;gap:20px;color:#888;font-size:10px;font-weight:700;letter-spacing:.08em}.chart-header span:first-child{color:#555}.chart-divider{display:inline-block;height:9px;border-left:1px dashed #888;margin:0 7px}
#demo-chart{display:block;width:100%;height:auto;margin:8px 0 0}.chart-legend{display:flex;gap:15px;flex-wrap:wrap;color:#666;font-size:11px;padding:0 0 3px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:15px;border-top:2px solid}.legend-history{border-color:#3c5960!important}.legend-baseline{border-color:#9eaeb4!important;border-style:dashed!important}.legend-guided{border-color:#315fff!important}.legend-anchor{width:11px!important;height:9px;background:#fb775e33;border:1px solid #fb775e!important}
.step-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.step-button{border:1px solid #dbdbdb;background:#fff;border-radius:3px;color:#555;padding:7px 12px;font-size:13px}.step-button i{font-style:normal;color:#888;margin-right:4px}.step-button.active{border-color:var(--link);color:var(--link);font-weight:700}.step-button.active i{color:var(--link)}
.step-narrative{margin-top:17px;border-left:3px solid var(--link);padding:3px 0 3px 15px;display:flex;align-items:center;gap:15px}.step-tag{font-size:10px;font-weight:700;letter-spacing:.08em;color:#777;min-width:155px}.step-narrative p{font-size:13px;color:#555;margin:0;flex:1}.next-button{border:1px solid #dbdbdb;border-radius:3px;background:#fff;color:var(--link);padding:7px 11px;font-size:12px;white-space:nowrap}.next-button:hover{border-color:var(--link)}
.results-table{width:100%;border-collapse:collapse;margin:23px 0 10px}.results-table caption{caption-side:top;text-align:left;font-weight:700;margin-bottom:8px}.results-table th,.results-table td{border:1px solid #dbdbdb;padding:9px 13px;text-align:left}.results-table th{background:#eee}.results-table td:last-child,.results-table th:last-child{text-align:right}.table-note{color:#777;font-size:13px}
.bibtex{overflow:auto;background:#f5f5f5;padding:20px;border:1px solid #e3e3e3;font:13px/1.5 Consolas,monospace;white-space:pre}
.site-footer{background:#fafafa;border-top:1px solid #eee;padding:35px 0;color:#777;font-size:13px}.site-footer p{margin:0 0 9px}
@keyframes draw{to{stroke-dashoffset:0}}
@media(max-width:700px){.publication-header{padding-top:30px}.publication-header h1{font-size:31px;margin-bottom:23px}.publication-authors{font-size:16px}.publication-affiliations{font-size:14px;column-gap:12px}.publication-venue{font-size:19px;margin:22px 0 15px}.teaser{padding-top:24px;padding-bottom:35px}.teaser-row h2{font-size:16px}.teaser-row h2 span{display:inline-block;margin-left:5px}.teaser-visual{height:72px}.teaser-visual svg{height:70px}.context-strip{gap:6px}.context-strip b{font-size:16px}.context-piece{padding:7px;font-size:10px}.article-section,.section-shaded,.article-section.section-shaded{padding-top:40px;padding-bottom:43px}.section-title{font-size:27px}.figure-comparison{gap:7px}.figure-comparison>div{padding:7px}.figure-comparison span{font-size:12px}.method-flow{display:grid;grid-template-columns:1fr;gap:5px}.method-flow>span{text-align:center;transform:rotate(90deg)}.method-flow>div{padding:5px}.example-grid{grid-template-columns:1fr;gap:23px}.case-content{padding:18px 15px}.case-intro h3{font-size:21px}.demo-stage{padding:11px 8px}.chart-header{font-size:8px}.step-controls{gap:4px}.step-button{padding:6px 8px;font-size:11px}.step-narrative{display:block}.step-tag{margin-bottom:7px}.next-button{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.teaser-guided{animation:none;stroke-dashoffset:0}}
@media(max-width:700px){.case-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.case-tab{font-size:12px;line-height:1.25;padding:9px 4px;white-space:normal}.case-tab + .case-tab{border-left:0}}
.source-figure{max-width:960px;margin:0 auto}.source-figure img{display:block;width:100%;height:auto;background:#fff;border:1px solid #e5e5e5}.source-figure figcaption{font-size:14px;color:#666;line-height:1.5;text-align:center;margin-top:11px}.source-figure a:hover img{border-color:#209cee}
#method .wide-container{width:min(100% - 40px,1160px)}#method .source-figure{max-width:1160px}@media(max-width:700px){.source-figure>a{display:block;overflow-x:auto;border:1px solid #e5e5e5}.source-figure img{width:900px;max-width:none;border:0}.source-figure figcaption:after{content:"Swipe the figure to inspect each component.";display:block;color:#777;font-size:12px;margin-top:3px}}
.publication-header{padding-bottom:42px}
.research-copy h3{font:700 21px/1.35 'Google Sans','Noto Sans',sans-serif;margin:32px 0 16px}
.research-copy p{line-height:1.7}
#method .source-figure,.results-figure{margin-top:30px;margin-bottom:36px}
.results-figure figcaption{text-align:left}
.table-scroll{overflow-x:auto;margin-top:25px;padding-bottom:8px}
.table-scroll:focus-visible{outline:2px solid var(--link);outline-offset:4px}
.paper-results-table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
.paper-results-table caption{text-align:left;color:#666;line-height:1.55;margin-bottom:16px;font-size:14px}
.paper-results-table th,.paper-results-table td{padding:10px 8px;text-align:right;white-space:nowrap}
.paper-results-table thead tr:first-child th:first-child,.paper-results-table tbody th[scope="row"]{text-align:left}
.paper-results-table thead{border-top:2px solid #555;border-bottom:1px solid #aaa}
.paper-results-table tbody tr{border-bottom:1px solid #e8e8e8}
.paper-results-table tbody th{font-weight:400}
.paper-results-table .our-method{border-top:1px solid #aaa;border-bottom:2px solid #555;background:#f5f5f5}
.paper-results-table .our-method th{font-weight:700}
.results-table-container{width:min(100% - 40px,1260px)}
.paper-overall-table{min-width:1080px;font-size:12px;table-layout:fixed}
.paper-overall-table th,.paper-overall-table td{padding:7px 6px}
.paper-overall-table thead tr:first-child th[colspan]{text-align:center;position:relative;padding-bottom:11px}
.paper-overall-table thead tr:first-child th[colspan]:after{content:"";position:absolute;bottom:3px;left:10px;right:10px;border-bottom:1px solid #aaa}
.paper-overall-table thead th[rowspan]{vertical-align:middle}
.paper-overall-table .model-group-start{border-top:1px solid #aaa}
.paper-results-table .rank-first{color:#c00000;font-weight:700}
.paper-results-table .rank-second{color:#005ab4;font-weight:700}
.paper-results-table .rank-third{font-weight:700}
@media(max-width:700px){.results-figure figcaption:after{content:"Swipe to read all columns, or open the full-resolution table."}.research-copy h3{font-size:20px}.paper-results-table{font-size:12px}}
