:root{color-scheme:dark;--ink:#ededed;--muted:#b4b4ba;--accent:#f08b8b;--purple:#f08b8b;--line:#303034;--soft:#080808}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:#000;color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.75}
a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b84b4b;outline-offset:4px}img,video{display:block;max-width:100%}figure{margin:0}p{margin:0 0 1.2em}h1,h2,h3{margin:0;line-height:1.2}h2{color:#fff;text-align:center;font-size:clamp(1.8rem,2.7vw,2.1rem);font-weight:700;letter-spacing:-.025em;margin-bottom:26px}h3{color:#fff;font-size:1.35rem}.skip{position:absolute;left:16px;top:-80px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}
.hero{position:relative;isolation:isolate;min-height:max(780px,100svh);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0b0b0d;color:#fff;text-align:center}
.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.scrim{position:absolute;inset:0;z-index:-2;background:radial-gradient(115% 75% at 50% 45%,#08080a33 0%,#08080a76 58%,#08080ab3 100%),linear-gradient(180deg,#08080a8c 0%,#08080a29 26%,#08080a43 66%,#08080acc 100%)}
.topnav{position:absolute;top:22px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center}.brand{font-size:1.5rem;font-weight:750;letter-spacing:-.045em}.topnav>div{display:flex;gap:28px;font-size:.9rem}.topnav a:hover{color:#fff;text-decoration:underline}
.hero-inner{padding:100px 28px 105px;max-width:1180px;text-shadow:0 2px 16px #0008}.wordmark{display:block;font-size:clamp(4.2rem,7vw,6rem);font-weight:800;line-height:1.05;letter-spacing:-.045em;margin-bottom:22px}.wordmark span{color:inherit}.full-title{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:600;line-height:1.3;display:block;letter-spacing:-.02em}
.authors{position:relative;font-size:1.1rem;font-weight:600;line-height:1.85;margin:30px auto 10px;padding-top:24px;max-width:1110px}.authors:before{content:"";position:absolute;top:0;left:calc(50% - 160px);width:320px;height:1px;background:linear-gradient(90deg,transparent,#ffffff70,transparent)}.authors sup,.affiliations sup{font-size:.65em;margin-left:2px}.affiliations{font-size:1rem;line-height:1.85;color:#fff}
.logos{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:30px;background:#ffffffdb;border-radius:5px;padding:12px 22px;width:fit-content;margin:24px auto}.logos img{width:auto;height:38px;max-width:160px;object-fit:contain}.logos img:nth-child(2){height:33px}.logos img:nth-child(3){max-width:180px}
.hero-links{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}.hero-links a{padding:10px 23px;border:1px solid #ffffff50;border-radius:30px;background:#ffffff14;backdrop-filter:blur(10px);font-size:1rem;font-weight:600;transition:.2s}.hero-links a:hover{background:#ffffff2b;border-color:#ffffff90}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:#ffffffc0}
.section{padding:60px 24px}.container{max-width:1140px;margin:auto}.reading{max-width:1000px;margin:auto}.reading p{font-size:1.05rem;line-height:1.8;text-align:justify}.soft{background:var(--soft);border-block:1px solid #ededed}.lead{font-size:1.05rem;line-height:1.8;color:var(--muted);max-width:950px;text-align:center;margin:0 auto 30px}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;font-weight:700;color:var(--accent)}
.teaser-section .container{max-width:1480px}.teaser-section .paper-figure{margin-top:0}.teaser-section .paper-figure>a{position:relative;overflow:hidden;aspect-ratio:1.42;max-width:1280px;margin:auto}.teaser-section .paper-figure img{position:absolute;width:166%;max-width:none;height:auto;left:-26%;top:-17%}
.paper-figure{margin-top:32px}.paper-figure img{width:100%;height:auto}.paper-figure a{display:block;cursor:zoom-in}.paper-figure figcaption,.figure-description{max-width:1140px;margin:24px auto 0;font-size:1.05rem;line-height:1.8;color:var(--ink);text-align:justify}
.opening-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.opening-pair video{width:100%;background:#000;border-radius:6px;aspect-ratio:2/1}.opening-pair figcaption{font-size:1rem;text-align:center;margin:10px 0;color:var(--ink);font-weight:600}
.method-description{max-width:1000px;margin:28px auto 0;font-size:1.05rem;line-height:1.85}.method-description span{display:block;margin-top:12px}.method-description strong{color:#333}
.caption{font-size:1rem;color:var(--muted);line-height:1.7;margin-top:20px}.centered{text-align:center}
#structure .container{max-width:1400px}
#structure .paper-figure>a{position:relative;overflow:hidden;aspect-ratio:1658/556;width:100%;margin-inline:auto}
#structure .paper-figure img{position:absolute;width:132.690%;max-width:none;height:auto;left:-6.212%;top:-47.302%}
#structure .paper-figure figcaption{text-align:center}
#qualitative .container{max-width:1440px}.task-tabs{position:relative;margin:22px 0 30px;padding-top:24px}.task-tabs:before{content:"";position:absolute;top:5px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--accent)}.task-strip{overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.task-strip::-webkit-scrollbar{display:none}.task-track{display:flex;align-items:center;gap:6px;width:max-content;padding:5px 0 14px}.task-tabs button{flex:none;white-space:nowrap;font-family:inherit;font-size:1rem;line-height:1.5;font-weight:500;color:#8e8e8e;background:transparent;border:1px solid transparent;border-radius:999px;padding:7px 17px;transition:color .2s,background .2s,border-color .2s}.task-tabs button[aria-pressed=true]{background:#8c151512;color:#8c1515;border-color:#8c151533;font-weight:700}.task-tabs button:hover{color:#484848}.task-tabs button:focus-visible{outline-offset:1px}.viewer-top{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}.viewer-top p{color:var(--muted);font-size:1rem;max-width:850px;margin:10px 0 0}.viewer-top .eyebrow{display:block;margin-bottom:5px}.viewer-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:190px}.viewer-controls label{font-size:.9rem;color:#555}.viewer-controls select{border:1px solid #d3d3d3;background:#fff;color:#333;border-radius:5px;padding:7px 12px;font-size:.9rem}
#comparison{display:block;overflow-x:auto;scrollbar-color:#a7a7a7 #f1f1f1;padding-bottom:10px}
.video-matrix{table-layout:fixed;width:100%;min-width:calc(150px + var(--actions)*180px);border-collapse:separate;border-spacing:0;margin:0;border:1px solid #ddd;border-radius:6px;background:#fff}
.video-matrix th,.video-matrix td{white-space:normal;overflow-wrap:anywhere;text-align:center;vertical-align:middle;border:0;border-right:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;padding:5px;color:#333}
.video-matrix thead th{position:sticky;top:0;z-index:2;background:#f0f0f0;padding:12px 6px;font-size:14px;line-height:1.4;font-weight:600}
.video-matrix th:first-child{width:150px;position:sticky;left:0;z-index:3;box-shadow:2px 0 5px #0001}
.video-matrix tbody th{font-size:14px;font-weight:500;background:#f7f7f7;text-align:left;padding:12px}.video-matrix tr:last-child>td,.video-matrix tbody tr:last-child>th{border-bottom:0}.video-matrix tr>:last-child{border-right:0}.video-matrix .ours th,.video-matrix .ours td{background:#fcf1f1;color:#8c1515;font-weight:700}
.video-matrix video{aspect-ratio:1/1;width:100%;object-fit:contain;background:#fff;border-radius:2px;outline:none}.real .video-matrix video{aspect-ratio:2/1}
.legend{display:flex;justify-content:center;gap:10px 20px;flex-wrap:wrap;margin:26px 0 22px}.legend button{background:none;border:0;border-bottom:2px solid transparent;padding:7px 0;font-size:.9rem;color:var(--ink)}.legend button[aria-pressed=true]{border-color:var(--accent);font-weight:bold}.legend i{width:12px;height:12px;display:inline-block;margin-right:7px;border-radius:3px}.chart-scroll,.table-scroll{overflow:auto}#success-chart{min-width:880px}#success-chart svg{width:100%;display:block;overflow:visible}.chart-bar{transition:opacity .2s;outline:none}.chart-bar:focus,.chart-bar:hover{stroke:#333;stroke-width:2}.chart-bar.dim{opacity:.16}
#results-table{border-collapse:collapse;width:100%;font-size:.9rem;margin-top:20px}#results-table td,#results-table th{text-align:right;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}#results-table td:first-child,#results-table th:first-child{text-align:left}#results-table td:last-child,#results-table th:last-child{color:var(--accent);font-weight:bold}details{margin-top:28px}summary{cursor:pointer;font-weight:600;color:var(--accent)}.ablation{margin-top:45px}
footer{padding:44px 24px;text-align:center;background:#fafafa;border-top:1px solid #ededed;color:#414141;font-size:.95rem}footer .brand{color:var(--accent)}footer p{margin:10px 0;color:#606060}footer>a:last-of-type{text-decoration:underline}.footer-credit{display:block;margin-top:24px;color:#777;font-size:.8rem}.footer-credit a{text-decoration:underline}
@media(max-width:800px){.hero{min-height:100svh}.hero-inner{padding:105px 20px 90px}.full-title{font-size:1.65rem}.authors{font-size:1rem}.affiliations{font-size:.9rem}.desktop{display:none}.logos{gap:18px;max-width:380px}.logos img{height:30px;max-width:125px}.logos img:nth-child(3){max-width:145px}.section{padding:46px 20px}.viewer-top{display:block}.viewer-controls{justify-content:flex-start;margin-top:18px}.reading p,.paper-figure figcaption,.figure-description{text-align:left}.topnav>div{gap:16px}#qualitative{padding-inline:12px}.video-matrix{min-width:calc(120px + var(--actions)*165px)}.video-matrix th:first-child{width:120px}.video-matrix th,.video-matrix td{padding:4px}.video-matrix tbody th{padding:10px;font-size:13px}}
@media(max-width:520px){.wordmark{font-size:4.5rem}.opening-pair{grid-template-columns:1fr}.topnav{top:18px}.topnav>div{font-size:.8rem;gap:13px}.hero-links a{padding:9px 15px;font-size:.9rem}.logos{max-width:300px;gap:15px;padding:10px}.logos img{max-width:110px}.logos img:nth-child(3){max-width:125px}.task-tabs{margin-block:18px 24px}.task-tabs button{font-size:.9rem;padding:6px 13px}.hero-bottom{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.hero-links .coming-soon{display:inline-flex;align-items:center;gap:.3em;padding:10px 23px;border:1px solid #ffffff50;border-radius:30px;background:#ffffff14;backdrop-filter:blur(10px);font-size:1rem;font-weight:600;cursor:default}.hero-links .coming-soon span{font-weight:400;opacity:.72}
@media(max-width:520px){.hero-links .coming-soon{padding:9px 15px;font-size:.9rem}}
.film-section{padding-bottom:20px}.project-film{width:100%;aspect-ratio:16/9;background:#000;border-radius:8px;box-shadow:0 3px 18px #00000016}.ablation-description span{display:block;margin-top:12px}.ablation-description strong{color:#333}
.authors sup{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:.75em;font-weight:400;margin-left:1px;line-height:0;opacity:.9}
.co-second-mark,.author-notes .co-second-mark{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-weight:400;font-style:normal}
.author-notes{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 24px;margin:10px auto 18px;font-size:.9rem;font-weight:400;line-height:1.6;color:#ffffffeb}.author-notes>span{white-space:nowrap}.contribution-mark{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-weight:400;margin-right:3px}
.bibtex{margin:0;padding:24px 28px;border:1px solid var(--line);border-radius:6px;background:#f2f2f2;color:#333;font-size:.88rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}.bibtex code{font-family:Consolas,"Courier New",monospace}
@media(max-width:520px){.author-notes{gap:5px 15px;font-size:.8rem}.bibtex{padding:18px;font-size:.78rem}}

/* Dark surfaces; figure SVGs use transparent backgrounds and light neutral ink. */
.skip{background:#171719;color:var(--ink)}
.soft{border-color:var(--line)}
.method-description strong,.ablation-description strong{color:var(--ink)}
.task-tabs button{color:var(--muted)}
.task-tabs button[aria-pressed=true]{background:#f08b8b1a;color:var(--accent);border-color:#f08b8b55}
.task-tabs button:hover{color:#fff}
.viewer-controls label{color:var(--muted)}
.viewer-controls select{border-color:#444448;background:#161618;color:var(--ink)}
#comparison{scrollbar-color:#626268 #121214}
.video-matrix{border-color:var(--line);background:#080808}
.video-matrix th,.video-matrix td{border-color:var(--line);color:var(--ink)}
.video-matrix thead th{background:#202023}
.video-matrix th:first-child{box-shadow:2px 0 6px #0008}
.video-matrix tbody th{background:#151517}
.video-matrix .ours th,.video-matrix .ours td{background:#291719;color:#f4a3a3}
.video-matrix video{background:#000}
.chart-bar:focus,.chart-bar:hover{stroke:#fff}
footer{background:#080808;border-color:var(--line);color:var(--ink)}
footer p,.footer-credit{color:var(--muted)}
.bibtex{background:#111113;color:var(--ink)}
.hero-links .dataset-link{display:inline-flex;align-items:center;gap:.5em}.dataset-link svg{flex:none}
.logos{background:#fff;border:1px solid #ffffff29;backdrop-filter:blur(8px)}
.logos img[alt="Carnegie Mellon University"]{height:54px;max-width:54px}
.teaser-section .paper-figure>a{aspect-ratio:auto;max-width:1280px}
.teaser-section .paper-figure img{position:static;width:100%;height:auto;max-width:100%}
#structure .paper-figure>a{aspect-ratio:auto}
#structure .paper-figure img{position:static;width:100%;height:auto;max-width:100%}
/* Match every paper figure to the Abstract reading column. */
.paper-figure{width:100%;max-width:1000px;margin-inline:auto}
.paper-figure>a,.teaser-section .paper-figure>a,#structure .paper-figure>a{max-width:1000px;margin-inline:auto}
