:root{--paper:#f6f5f0;--ink:#1b2828;--muted:#63706d;--line:#d7dcd4;--orange:#c46b3b;--blue:#3b68b0;--green:#27756b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{background:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}p{line-height:1.65;color:var(--muted)}figure{margin:0}img,video{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(34px,4.2vw,58px);font-weight:500;letter-spacing:-2.2px;line-height:1.08;margin-bottom:0}h3{font-size:26px;font-weight:500;letter-spacing:-.6px;line-height:1.25}sup{font-size:.65em}header{height:78px;position:sticky;top:0;z-index:10;background:rgba(246,245,240,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:20px}.brand{font-weight:800;font-size:22px;letter-spacing:-1px;white-space:nowrap}.brand-mark{color:var(--orange);font-size:31px;vertical-align:-2px}nav{display:flex;gap:26px;font-size:13px}nav a:hover,nav a.active{color:var(--green)}.header-paper{font-size:13px;border-bottom:1px solid;padding:8px 0}.wrap{max-width:1280px;margin:auto;padding-left:48px;padding-right:48px}.hero{padding-top:42px}.eyebrow,.section-label,.small-label,.media-caption,.resource-grid>a>span,.resource-grid>div>span{font-family:monospace;font-size:11px;letter-spacing:1.3px;line-height:1.5}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--muted)}.dot{height:7px;width:7px;border-radius:50%;background:var(--orange)}.hero-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:20px 0 24px}.hero h1{font-size:clamp(58px,8.9vw,121px);line-height:1;letter-spacing:-7px;margin:0;font-weight:700;white-space:nowrap}.hero h1 span{color:var(--orange);font-size:.68em;vertical-align:8px;margin-left:7px}.hero-heading>p{font-size:clamp(21px,2.2vw,29px);letter-spacing:-.8px;line-height:1.17;margin:0;color:var(--ink)}.hero-heading>p span{color:var(--green)}.paper-title{max-width:950px;font-size:18px;color:var(--ink);line-height:1.5;margin-bottom:16px}.authors{max-width:1040px;font-size:13px;line-height:1.8;color:var(--muted)}.affiliations{font-size:12px;margin-top:8px;max-width:1000px}.affiliations summary{display:inline-flex;gap:18px;color:var(--muted)}.affiliations p{margin:10px 0}.resource-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0 30px}.button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;padding:13px 18px;border:1px solid var(--line);font-size:13px}.button.solid{background:var(--ink);color:white;border-color:var(--ink)}.button:hover{border-color:var(--green);color:var(--green)}.button.solid:hover{background:var(--green);color:white}.text-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}.resource-line .text-link{margin-left:auto;text-decoration:none}.soon{display:block;font-size:10px;color:var(--muted);margin-top:5px}.hero-media{position:relative;background:#162421;overflow:hidden}.hero-media video{width:100%;aspect-ratio:16/9;object-fit:cover}.video-toggle{position:absolute;right:18px;bottom:18px;padding:11px 16px;background:rgba(20,34,31,.9);color:#fff;border:1px solid #ffffff50;border-radius:3px;font-size:12px}.media-caption{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:10px;letter-spacing:.3px;margin-top:12px}.headline-stats{display:grid;grid-template-columns:1fr 1.25fr 1.3fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:34px;padding:28px 0}.headline-stats>div{padding:0 30px;border-left:1px solid var(--line)}.headline-stats>div:first-child{padding-left:0;border:0}.headline-stats strong{font-size:57px;font-weight:400;letter-spacing:-2.5px}.headline-stats strong>span{font-size:35px}.headline-stats p{font-size:13px;color:var(--ink);margin:8px 0 6px}.headline-stats small{font-size:10px;line-height:1.6;color:var(--muted);display:block}.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px;padding:50px 0 0}.intro p{font-size:23px;line-height:1.5;letter-spacing:-.4px;margin:0}.intro em{font-style:normal;color:var(--ink)}.section{padding-top:100px;padding-bottom:100px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:44px}.section-label{color:var(--green);margin-bottom:20px}.section-top>p{max-width:355px;font-size:15px;margin:0}.task-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:28px}.task-tabs button{flex:1;border:0;border-bottom:3px solid transparent;padding:20px 8px;text-align:left;color:var(--muted);font-family:monospace;font-size:11px}.task-tabs span{font-family:Arial,sans-serif;font-size:14px;margin-left:10px}.task-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green)}.demo-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:38px}.demo-layout video{width:100%;aspect-ratio:16/13;background:#172823;object-fit:contain}.demo-info{padding-top:15px}.small-label{font-size:10px;color:var(--muted)}.demo-info h3{margin-top:15px;font-size:31px}.demo-info p{font-size:14px}.demo-info label{display:block;font-size:11px;color:var(--muted);margin:26px 0 9px}.demo-info select{width:100%;padding:13px 12px;background:transparent;border:1px solid #acb7ac;border-radius:0;font-size:13px}.contact-note{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.contact-note p{margin-top:8px}.fine{font-size:11px!important;line-height:1.65;color:var(--muted)}details summary{list-style:none}details summary::-webkit-details-marker{display:none}details:not(.affiliations)>summary{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:13px}details[open]>summary>span{transform:rotate(45deg)}.sequence{border-top:1px solid var(--line);margin-top:28px}.sequence img{width:100%;max-height:620px;object-fit:contain;background:white}.sequence .fine{margin-top:12px}.method-band{background:#e9ede7}.method-band h2>span{color:var(--green)}.method-controls{display:flex;justify-content:center;margin-bottom:28px;gap:0}.method-controls button{border:1px solid #bdc9bc;padding:12px 30px;font-size:13px}.method-controls button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.pipeline{max-width:870px;margin:auto}.sensor-branches{display:grid;grid-template-columns:1fr 1fr;gap:30px}.branch{padding:25px 28px;border-top:3px solid;background:#f6f5f0;transition:opacity .2s}.branch.human{border-color:var(--orange)}.branch.robot{border-color:var(--blue)}.human .small-label{color:var(--orange)}.robot .small-label{color:var(--blue)}.branch h3{font-size:24px;margin:14px 0 9px}.branch p{font-size:12px;min-height:38px;margin:0 0 12px}.adapter{font-size:12px;border-top:1px solid var(--line);padding-top:15px}.connector{text-align:center;font-size:26px;padding:7px;color:#719080}.shared{text-align:center;background:#d8e5d9;border:1px solid #aebfad;padding:25px}.shared .small-label{color:#3d6550}.event-list{display:flex;gap:24px;justify-content:center;margin:18px 0;font-size:14px;flex-wrap:wrap}.shared p{font-size:13px;margin:0 0 12px}.shared strong{font-size:21px;font-weight:500}.policy{padding:22px 28px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.policy h3{margin:8px 0 0}.policy .small-label{color:#bccdc4}.action-output{font-size:14px}.pipeline.deployment .human{opacity:.27}.mode-description{max-width:780px;margin:26px auto 0;text-align:center;font-size:14px;min-height:47px}.technical{border-top:1px solid #c2cdc0;margin-top:34px}.technical-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.technical-columns p{font-size:13px}.technical-columns strong{color:var(--ink)}.hardware-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.glove-figure{background:#fff;padding:28px}.glove-figure img{max-height:430px;margin:auto;object-fit:contain}.glove-figure figcaption,figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:16px}.hardware-copy h3{font-size:35px;margin-bottom:30px}.specs>div{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 0;gap:16px}.specs dt{font-size:13px;color:var(--muted)}.specs dd{font-size:23px;letter-spacing:-.7px;margin:0}.hardware-copy>.fine{margin-top:20px}.capture-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center;margin-top:72px}.capture-row figure{max-width:410px;width:100%}.capture-row img{width:100%;max-height:400px;object-fit:cover;object-position:center 40%}.configuration{border-bottom:1px solid var(--line);padding:20px 0}.configuration h3{display:flex;justify-content:space-between;gap:20px;font-size:24px;margin-bottom:8px}.configuration h3 span{color:var(--orange)}.configuration p{font-size:13px;margin-bottom:12px}.configuration strong{font-size:13px;font-weight:500}.capture-row .fine{margin-top:20px}.dataset-band{background:#182b28;color:#f2f4ec}.dataset-band .section-label{color:#a9c8a9}.dataset-band p,.dataset-band figcaption,.dataset-band .fine{color:#b6c4bb}.dataset-scenes{width:100%;background:#fff}.data-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-bottom:1px solid #41564d;padding:36px 0}.data-stats strong{font-size:52px;font-weight:400;letter-spacing:-2px}.data-stats strong span{font-size:25px;margin-left:8px}.data-stats p{font-size:12px;margin:10px 0 0}.data-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;margin-top:50px;align-items:center}.data-bottom h3{font-size:30px}.data-bottom p{font-size:14px}.data-bottom .text-link{display:inline-block;margin-top:10px}.result-main{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0 50px}.result-main h3{font-size:31px;margin:15px 0}.result-main p{font-size:14px}.result-delta{color:var(--green);font-size:49px;letter-spacing:-2px;margin:20px 0}.result-delta>span{display:block;font-size:13px;letter-spacing:0;margin-top:4px}.chart-heading{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:25px;display:flex;justify-content:space-between}.bar-row{margin-bottom:23px}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}.bar-row b{font-weight:500}.track{height:20px;background:#e7e9e2}.track i{display:block;height:100%;width:var(--value);background:var(--bar)}.bar-row.ours{color:var(--green)}.axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.result-secondary{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:48px}.result-secondary h3{font-size:25px;margin:15px 0}.result-secondary p{font-size:14px}.result-secondary svg{width:100%;height:auto;display:block}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;margin:30px 0 20px;text-align:left}th{font-size:10px;color:var(--muted);font-weight:400}th,td{padding:15px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{padding-left:0}.highlight{color:var(--green);font-weight:600}.limitations{margin-top:35px;border-top:1px solid var(--line)}.limitations p{font-size:13px;max-width:850px}.resources-band{background:#e9ede7}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.resource-grid>a,.resource-grid>div{border-top:1px solid #aebbad;padding:23px 0}.resource-grid h3{font-size:23px;margin:20px 0 12px}.resource-grid p{font-size:12px}.resource-grid>a:hover h3{color:var(--green)}.citation-top{display:flex;justify-content:space-between;align-items:center;margin-top:40px}.citation-top h3{font-size:19px;margin:0}.citation-top button{border:1px solid #b8c3b5;padding:10px 16px;font-size:12px}pre{font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f5f0;padding:25px;color:#506158}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:28px;padding-bottom:28px}footer p{font-size:12px;margin:0}footer>a:last-child{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:12px;top:-80px;z-index:99;background:#fff;padding:14px}.skip:focus{top:10px}@media(min-width:1450px){.hero h1{font-size:121px}}@media(max-width:1000px){.wrap{padding-left:30px;padding-right:30px}.hero h1{font-size:9.5vw;letter-spacing:-5px}.hero-heading>p{font-size:22px}nav{gap:18px}.section-top{gap:35px}.section-top>p{max-width:290px}.demo-layout{grid-template-columns:1.45fr 1fr;gap:24px}.demo-info h3{font-size:25px}.hardware-grid,.capture-row,.result-main{gap:40px}.task-tabs span{font-size:12px;margin-left:4px}.headline-stats>div{padding:0 20px}.headline-stats strong{font-size:48px}.data-bottom{gap:35px}.hero-heading{gap:20px}}@media(max-width:720px){header{height:65px;padding:0 20px}header nav{display:none}.brand{font-size:20px}.wrap{padding-left:22px;padding-right:22px}.hero{padding-top:29px}.hero-heading{display:block;margin-top:22px}.hero h1{font-size:14vw;letter-spacing:-4px}.hero h1 span{vertical-align:3px}.hero-heading>p{font-size:25px;line-height:1.25;margin-top:22px}.hero-heading>p br{display:none}.paper-title{font-size:14px}.authors{font-size:11px}.resource-line{gap:9px}.resource-line .text-link{margin-left:0;width:100%;margin-top:8px}.button{font-size:12px;padding:12px}.hero-media{margin-left:-22px;margin-right:-22px}.video-toggle{bottom:10px;right:10px;padding:9px;font-size:10px}.media-caption{font-size:9px;flex-wrap:wrap;gap:5px}.headline-stats{grid-template-columns:1fr;padding:0;margin-top:25px}.headline-stats>div{padding:20px 0!important;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:135px 1fr;align-items:center;column-gap:12px}.headline-stats>div:last-child{border-bottom:0}.headline-stats strong{font-size:43px;grid-row:span 2}.headline-stats strong>span{font-size:28px}.headline-stats p{font-size:12px;margin:0 0 5px}.headline-stats small{font-size:10px}.intro{grid-template-columns:1fr;gap:0;padding-top:35px}.intro p{font-size:20px}.section{padding-top:64px;padding-bottom:64px}.section-top{display:block;margin-bottom:30px}.section-top>p{max-width:none;margin-top:22px;font-size:14px}h2{font-size:38px;letter-spacing:-1.6px}.section-label{font-size:10px;margin-bottom:16px}.task-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0}.task-tabs button{padding:15px 4px}.task-tabs span{font-size:12px}.demo-layout{grid-template-columns:1fr;gap:12px}.demo-info{padding-top:15px}.demo-info h3{font-size:27px;margin-bottom:14px}.demo-info label{margin-top:18px}.contact-note{margin-top:20px;padding-top:18px}.sensor-branches{gap:12px}.branch{padding:17px 13px}.branch h3{font-size:19px}.branch p{font-size:11px;min-height:54px}.adapter{font-size:11px;line-height:1.5}.small-label{font-size:9px}.event-list{gap:10px;font-size:12px}.shared{padding:22px 12px}.shared strong{font-size:19px}.policy{padding:20px 18px;display:block}.action-output{display:block;margin-top:18px}.mode-description{text-align:left;font-size:13px;min-height:110px}.technical-columns{grid-template-columns:1fr;gap:0}.hardware-grid,.capture-row{grid-template-columns:1fr;gap:30px}.hardware-copy h3{font-size:29px}.glove-figure{padding:20px}.glove-figure img{max-height:340px}.capture-row{margin-top:45px}.capture-row figure{max-width:none}.capture-row img{max-height:380px;object-position:center 30%}.data-stats{gap:15px;grid-template-columns:1fr 1fr}.data-stats>div:last-child{grid-column:span 2}.data-stats strong{font-size:40px}.data-stats p{font-size:11px}.data-bottom{grid-template-columns:1fr;gap:25px;margin-top:35px}.data-bottom h3{font-size:28px}.result-main{grid-template-columns:1fr;gap:25px;padding-top:0}.result-main h3{font-size:28px}.result-secondary{grid-template-columns:1fr;gap:30px}.result-secondary>div+div{border-top:1px solid var(--line);padding-top:30px}.resource-grid{grid-template-columns:1fr;gap:0}.resource-grid h3{margin-top:12px}.resource-grid>a,.resource-grid>div{padding:20px 0}.citation-top{margin-top:22px}pre{padding:17px;font-size:10px}footer{flex-wrap:wrap}footer p{order:3;width:100%;font-size:11px}.dataset-scenes{min-height:130px;object-fit:contain}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full-width research film presentation. */
.opening-film{width:100%;background:#101b18;color:#fff}
.opening-film .hero-media{width:100%;margin:0;border-radius:0}
.opening-film .hero-media video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.opening-film .media-caption{margin:0;padding:17px 4vw;color:#b8c9c0}
.opening-film .video-toggle{right:4vw;bottom:24px;font-size:13px;padding:13px 19px}
.hero{padding-top:64px}
#demos{max-width:none;padding-left:0;padding-right:0;padding-bottom:80px}
#demos>.section-top,#demos>.task-tabs,#demos .demo-info,#demos .sequence{width:calc(100% - 96px);max-width:1184px;margin-left:auto;margin-right:auto}
#demos .demo-layout{display:flex;flex-direction:column;gap:0}
#demos .demo-layout>div:first-child{background:#101b18;padding:24px 0 0}
#demos .demo-layout video{width:100%;height:88svh;max-height:1100px;aspect-ratio:auto;object-fit:contain;background:#101b18}
#demos .demo-layout .media-caption{padding:18px 4vw;margin:0;color:#b8c9c0}
#demos .demo-info{display:grid;grid-template-columns:1.2fr 1fr;gap:12px 38px;padding-top:32px;padding-bottom:26px;align-items:start}
#demos #task-number{grid-column:1;grid-row:1}
#demos #task-title{grid-column:1;grid-row:2/4;margin:0;font-size:31px}
#demos #task-description{grid-column:2;grid-row:1/4;margin:0;font-size:14px}
#demos .demo-info label{grid-column:3;grid-row:1;margin:0}
#demos #clip-select{grid-column:3;grid-row:2;margin:0}
#demos .contact-note{grid-column:1;grid-row:4;margin:12px 0 0;padding-top:16px}
#demos .demo-info>.fine{grid-column:2;grid-row:4;margin:12px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.capture-row figure{max-width:440px}
.capture-row img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
@media(max-width:720px){
 .opening-film .video-toggle{bottom:12px;right:12px;padding:9px 12px;font-size:10px}
 .opening-film .media-caption{padding:12px 22px;line-height:1.6}
 .hero{padding-top:38px}
 #demos>.section-top,#demos>.task-tabs,#demos .demo-info,#demos .sequence{width:calc(100% - 44px)}
 #demos .demo-layout>div:first-child{padding-top:0}
 #demos .demo-layout video{height:auto;max-height:none;aspect-ratio:16/13}
 #demos .demo-layout .media-caption{padding:13px 22px}
 #demos .demo-info{display:flex;flex-direction:column;gap:12px;padding-top:27px}
 #demos #task-title{font-size:28px}
 #demos #task-description{margin-bottom:4px}
 #demos .demo-info label{margin-top:8px}
 #demos .contact-note,#demos .demo-info>.fine{width:100%;margin-top:8px}
 .capture-row figure{max-width:none}
}

/* Show every execution together for direct comparison. */
#demos .demo-layout>.results-stage:first-child{padding:28px 3vw 14px}
.execution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.execution-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.execution-card{min-width:0}
.execution-card figcaption{color:#f2f4ec;font-size:17px;line-height:1.4;padding:0 0 16px}
#demos .execution-card video{width:100%;height:auto;max-height:none;aspect-ratio:16/13;object-fit:contain;background:#0b1411}
.execution-speed{color:#b8c9c0;font-family:monospace;font-size:11px;margin:12px 0 8px}
@media(max-width:720px){
 #demos .demo-layout>.results-stage:first-child{padding:24px 22px 16px}
 .execution-grid,.execution-grid[data-count="2"]{grid-template-columns:1fr;gap:26px}
 .execution-card figcaption{font-size:16px;padding-bottom:12px}
}

/* Figures exported directly from the supplied manuscript. */
.paper-figure{margin:0;min-width:0}
.paper-zoom{display:block;position:relative;background:white;padding:18px;cursor:zoom-in}
.paper-zoom img{width:100%;height:auto;max-height:none;object-fit:contain}
.figure-expand{display:block;text-align:right;margin-top:12px;color:var(--green);font-size:11px}
.paper-figure figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:14px}
#method .paper-figure{margin:0 0 44px}
.paper-story{margin-top:64px;padding-top:38px;border-top:1px solid var(--line)}
.paper-story h3{margin:16px 0 26px}
.evaluation-setup{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;align-items:center;padding-bottom:48px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.evaluation-setup h3{margin-top:18px;font-size:31px}
.evaluation-setup p{font-size:14px}
#figure-dialog{width:min(1600px,96vw);max-width:96vw;max-height:94vh;padding:52px 20px 20px;border:0;background:#fff;color:var(--ink);overflow:auto}
#figure-dialog::backdrop{background:rgba(8,19,15,.85)}
#figure-dialog img{width:100%;height:auto}
#figure-dialog p{font-size:13px;margin:18px 0 0}
.figure-close{position:absolute;top:12px;right:16px;border:1px solid var(--line);padding:8px 14px;font:inherit;background:white}
@media(max-width:720px){.paper-zoom{padding:10px}.paper-figure figcaption{font-size:11px}.paper-story{margin-top:40px}.evaluation-setup{grid-template-columns:1fr;gap:22px}.evaluation-setup h3{font-size:28px}#figure-dialog{padding:52px 12px 16px}}

/* Larger research-page typography and near full-width presentation. */
html{scroll-padding-top:120px}
body{font-size:18px}
.wrap{max-width:1800px;padding-left:4vw;padding-right:4vw}
header{height:96px;padding:0 4vw;gap:28px}
header .brand{font-size:30px;letter-spacing:-1.2px}
header .brand-mark{font-size:40px}
header nav{display:flex;gap:clamp(16px,2vw,38px);font-size:20px;font-weight:500}
header nav a{display:inline-flex;align-items:center;min-height:48px;padding:8px 2px}
.header-paper{display:inline-flex;align-items:center;justify-content:center;min-height:52px;font-size:18px;font-weight:600;padding:12px 22px;border:1px solid var(--ink);border-radius:4px}
.header-paper:hover{background:var(--ink);color:var(--paper)}
h2{font-size:clamp(48px,5vw,88px);letter-spacing:-.045em;line-height:1.05}
.section{padding-top:112px;padding-bottom:112px}
.section-top{gap:5vw;margin-bottom:48px}
.section-top>div{min-width:0;flex:1}
.section-top>p{max-width:450px;flex:0 1 30%;font-size:20px;line-height:1.65}
.section-label,.eyebrow{font-size:15px;letter-spacing:1.8px}
.small-label{font-size:13px;letter-spacing:1.5px}
.hero h1{font-size:clamp(78px,10vw,170px);letter-spacing:-.065em}
.hero-heading>p{font-size:clamp(26px,2.4vw,42px);line-height:1.25}
.paper-title{max-width:1350px;font-size:24px}
.authors{max-width:1400px;font-size:17px}
.affiliations{font-size:15px}
.button{font-size:19px;font-weight:600;min-height:58px;padding:16px 26px;gap:32px}
.text-link{font-size:17px;display:inline-flex;align-items:center;min-height:44px}
.soon{font-size:13px}
.resource-line{gap:16px;margin:30px 0 40px}
.headline-stats p{font-size:17px}
.headline-stats small{font-size:13px}
.intro p{font-size:clamp(24px,2vw,32px)}
#demos>.section-top,#demos>.task-tabs,#demos .demo-info,#demos .sequence{width:calc(100% - 8vw);max-width:1656px}
.task-tabs{gap:12px;border-bottom:0;margin-bottom:32px}
.task-tabs button{display:flex;align-items:center;gap:14px;min-height:82px;padding:20px 22px;font-size:15px;border:1px solid var(--line);border-bottom:4px solid var(--line);border-radius:4px;background:#eceee7;line-height:1.3}
.task-tabs span{font-size:clamp(19px,1.5vw,26px);font-weight:600;margin-left:0}
.task-tabs button[aria-selected=true]{background:var(--green);color:#fff;border-color:var(--green)}
.task-tabs button:hover{border-color:var(--green)}
#demos #task-title{font-size:clamp(32px,2.7vw,46px)}
#demos #task-description,.demo-info p{font-size:18px}
#demos .demo-info{padding-top:40px;gap:18px 48px}
.execution-card figcaption{font-size:clamp(20px,1.5vw,27px);font-weight:500}
.execution-speed,.media-caption{font-size:13px}
.opening-film .video-toggle{font-size:17px;min-height:52px;padding:14px 22px}
.method-controls button{font-size:19px;min-height:56px;padding:15px 34px}
.pipeline{max-width:1140px}
.branch h3,.policy h3{font-size:32px}
.branch p,.shared p,.mode-description,.technical-columns p{font-size:17px}
.adapter,.event-list{font-size:17px}
.shared strong{font-size:27px}
.hardware-copy h3,.data-bottom h3,.result-main h3,.evaluation-setup h3{font-size:clamp(32px,2.5vw,44px)}
.specs,.configuration p,.hardware-copy p,.data-bottom p,.result-main p,.result-secondary p,.evaluation-setup p{font-size:18px}
.configuration h3,.result-secondary h3,.resource-grid h3{font-size:30px}
.configuration strong{font-size:20px}
.data-stats p,.resource-grid p{font-size:16px}
.paper-figure figcaption,.capture-row figcaption,.data-bottom figcaption{font-size:15px;line-height:1.7}
.figure-expand{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:15px;font-weight:600;padding:10px 16px;border:1px solid var(--line);margin-top:16px}
.fine{font-size:13px!important}
details:not(.affiliations)>summary{font-size:18px;min-height:60px;padding:22px 0}
.chart-heading,.bar-row>div:first-child{font-size:17px}
.axis{font-size:13px}
table{font-size:16px}th{font-size:13px}
.resource-grid>a>span,.resource-grid>div>span{font-size:14px}
.citation-top h3{font-size:26px}
.citation-top button,.figure-close{font-size:16px;min-height:44px;padding:12px 18px}
pre{font-size:14px}
footer p,footer>a:last-child{font-size:15px}
@media(max-width:1100px){
 header{gap:18px}header .brand{font-size:26px}header nav{font-size:17px;gap:16px}.header-paper{font-size:16px;padding:12px 16px}
 .task-tabs button{padding:18px 12px;gap:8px}.task-tabs span{font-size:18px}
 .section-top>p{font-size:18px;flex-basis:34%}
 .hero-heading{flex-wrap:wrap}.hero-heading>p{max-width:650px}
}
@media(max-width:720px){
 html{scroll-padding-top:138px}
 header{height:120px;display:grid;grid-template-columns:1fr auto;grid-template-rows:64px 48px;gap:0 12px;padding:0 20px 8px}
 header .brand{font-size:25px}header .brand-mark{font-size:33px}
 .header-paper{grid-column:2;grid-row:1;min-height:42px;font-size:15px;padding:8px 14px}
 header nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:18px;overflow-x:auto;font-size:15px;min-width:0}
 header nav a{min-height:44px;white-space:nowrap;padding:6px 0}
 .wrap{padding-left:22px;padding-right:22px}
 .section{padding-top:66px;padding-bottom:66px}
 h2{font-size:clamp(40px,10.5vw,60px);letter-spacing:-.04em}
 .section-label,.eyebrow{font-size:12px}.small-label{font-size:11px}
 .section-top>p{font-size:17px;max-width:none;margin-top:24px}
 .hero h1{font-size:15vw}.hero-heading>p{font-size:27px}.paper-title{font-size:19px}.authors{font-size:15px}.affiliations{font-size:14px}
 .button{font-size:16px;min-height:52px;padding:14px 18px;gap:22px}.text-link{font-size:16px}
 .opening-film .video-toggle{font-size:13px;min-height:44px;padding:10px 14px}
 .opening-film .media-caption{font-size:11px}
 #demos>.section-top,#demos>.task-tabs,#demos .demo-info,#demos .sequence{width:calc(100% - 44px)}
 .task-tabs{gap:10px}.task-tabs button{min-height:78px;padding:12px;gap:8px;font-size:12px;align-items:flex-start;flex-direction:column}.task-tabs span{font-size:17px;line-height:1.3}
 #demos #task-title{font-size:32px}#demos #task-description,.demo-info p{font-size:17px}
 .execution-card figcaption{font-size:20px}.execution-speed{font-size:12px}
 .method-controls button{font-size:17px;padding:14px 22px}
 .branch h3{font-size:22px}.branch p{font-size:14px}.adapter{font-size:14px}.event-list{font-size:14px;flex-wrap:wrap}
 .hardware-copy h3,.data-bottom h3,.result-main h3,.evaluation-setup h3{font-size:32px}
 .paper-figure figcaption,.capture-row figcaption,.data-bottom figcaption{font-size:13px}
 .figure-expand{font-size:14px}.fine{font-size:12px!important}
 table{font-size:14px}th{font-size:12px}.chart-heading,.bar-row>div:first-child{font-size:15px}
 pre{font-size:12px}
}

.resource-line .text-link{display:block;padding:8px 0}

@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(assets/fonts/research-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(assets/fonts/research-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(assets/fonts/research-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  font-stretch: normal;
  src: url(assets/fonts/research-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  font-stretch: normal;
  src: url(assets/fonts/research-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  font-stretch: normal;
  src: url(assets/fonts/research-5.ttf) format('truetype');
}

/* Academic reading layout, following the CWI reference; film sections stay wide. */
.hero,.method-band,.dataset-band,#system,#results,.resources-band,footer{font-family:'Noto Sans',Arial,sans-serif;font-size:16px}
.wrap:not(#demos){width:100%;max-width:1008px;padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto}
.section:not(#demos){padding-top:64px;padding-bottom:64px}
.hero{padding-top:56px;text-align:center}
.hero .eyebrow{justify-content:center;font-size:13px;margin-bottom:22px}
.hero .hero-heading{display:block;margin:0 0 26px}
.hero .hero-heading h1{font-family:'Google Sans',Arial,sans-serif;font-size:48px;font-weight:600;line-height:1.08;letter-spacing:-1.4px;white-space:normal;margin:0 auto;max-width:980px}
.hero .hero-heading>p{font-family:'Google Sans',Arial,sans-serif;font-size:20px;line-height:1.5;margin:22px auto 0;max-width:780px;letter-spacing:0}
.hero .authors{font-family:'Google Sans',Arial,sans-serif;font-size:20px;line-height:1.7;max-width:960px;margin:0 auto}
.hero .affiliations{font-family:'Google Sans',Arial,sans-serif;font-size:15.68px;line-height:1.55;max-width:820px;margin:18px auto 0}
.hero .affiliations p{line-height:1.7}
.hero .resource-line{justify-content:center;margin:26px 0 42px;gap:12px}
.hero .resource-line .text-link{margin-left:0;font-size:15px;padding:0 14px}
.hero .button{font-size:16px;font-weight:500;border-radius:999px;min-height:44px;padding:10px 20px;gap:16px}
.hero .headline-stats{text-align:left;margin-top:0;padding:26px 0}
.hero .headline-stats strong{font-size:44px}
.hero .headline-stats strong>span{font-size:28px}
.hero .headline-stats p{font-size:15px}
.hero .headline-stats small{font-size:12px}
.hero .intro{display:block;max-width:780px;margin:40px auto 0;padding:0;text-align:left}
.hero .intro .section-label{display:block;font-size:14px;margin-bottom:14px}
.hero .intro p{font-size:17px;line-height:1.7;letter-spacing:0}
.section:not(#demos) .section-top{display:block;margin-bottom:32px;text-align:center}
.section:not(#demos) h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.6px}
.section:not(#demos) h2 br{display:none}
.section:not(#demos) h2 br::after{content:' '}
.section:not(#demos) .section-top>p{font-size:17px;line-height:1.7;max-width:780px;margin:20px auto 0}
.section:not(#demos) .section-label{font-family:'Google Sans',Arial,sans-serif;font-size:14.4px;font-weight:700;letter-spacing:1px;margin-bottom:14px}
.section:not(#demos) h3{font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.3px}
.section:not(#demos) p{font-size:16px;line-height:1.7}
.section:not(#demos) .small-label{font-size:12px}
.section:not(#demos) .fine{font-size:12px!important}
.section:not(#demos) .paper-figure figcaption{font-size:13px;text-align:left}
.section:not(#demos) .figure-expand{font-size:14px}
.section:not(#demos) .text-link{font-size:15px}
.section:not(#demos) .method-controls button{font-size:16px;min-height:48px;padding:12px 26px}
.pipeline{max-width:900px}
.section:not(#demos) .branch{padding:22px 20px}
.section:not(#demos) .branch p,.section:not(#demos) .adapter{font-size:15px}
.section:not(#demos) .shared strong{font-size:24px}
.section:not(#demos) .mode-description{max-width:780px;margin-left:auto;margin-right:auto}
.hardware-grid,.capture-row,.result-main,.evaluation-setup,.data-bottom{gap:40px}
.capture-row figure{max-width:380px}
.specs{font-size:16px}.configuration strong{font-size:18px}
.result-secondary{gap:36px}
.section:not(#demos) .chart-heading,.section:not(#demos) .bar-row>div:first-child{font-size:14px}
.section:not(#demos) table{font-size:13px}
.section:not(#demos) th{font-size:11px}
.section:not(#demos) details>summary{font-size:16px}
.resource-grid{gap:26px}
.section:not(#demos) .resource-grid>a>span,.section:not(#demos) .resource-grid>div>span{font-size:12px}
.section:not(#demos) pre{font-size:12px}
@media(max-width:720px){
 .wrap:not(#demos){padding-left:22px;padding-right:22px}
 .section:not(#demos){padding-top:48px;padding-bottom:48px}
 .hero{padding-top:40px}
 .hero .hero-heading h1{font-size:32px;line-height:1.15;letter-spacing:-.7px}
 .hero .hero-heading>p{font-size:18px}
 .hero .authors{font-size:17px}
 .hero .affiliations{font-size:14px}
 .hero .resource-line .text-link{width:auto;margin-top:0}
 .hero .intro{margin-top:30px}
 .section:not(#demos) h2{font-size:28px}
 .section:not(#demos) .section-top>p{font-size:16px}
 .section:not(#demos) h3{font-size:22px}
 .section:not(#demos) .branch{padding:17px 12px}
 .section:not(#demos) .branch h3{font-size:20px}
 .section:not(#demos) .branch p,.section:not(#demos) .adapter{font-size:13px}
 .capture-row figure{max-width:none}
 .hardware-grid,.capture-row,.result-main,.evaluation-setup,.data-bottom{gap:28px}
}

/* Section navigation occupies the reading margin, never the film stage. */
.reading-nav{display:none}
@media(min-width:1200px){
 .wrap:not(#demos){width:calc(100% - 296px);margin-left:max(264px,calc((100% - 1008px)/2));margin-right:32px}
 .reading-nav:not([hidden]){display:flex;position:fixed;top:142px;left:24px;width:208px;max-height:calc(100svh - 174px);overflow-y:auto;z-index:5;flex-direction:column;gap:0;font-family:'Noto Sans',Arial,sans-serif;font-size:15px}
 .reading-nav .contents-label{font-size:11px;font-weight:600;letter-spacing:1.5px;color:var(--muted);padding:0 0 16px 18px}
 .reading-nav a{padding:10px 14px 10px 18px;border-left:2px solid var(--line);line-height:1.5;color:var(--muted)}
 .reading-nav a.active{border-left-color:var(--green);color:var(--green);font-weight:600}
 .reading-nav a:hover{background:#e9ede7;color:var(--green)}
}

.affiliation-item{display:inline-block;margin:0 5px}
.method-animation{background:#fff;border:1px solid #d6dfd7;border-radius:14px;padding:26px 24px 18px;margin-bottom:24px;color:#23332e}
.flow-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.flow-kicker{font:11px monospace;letter-spacing:1.6px;color:var(--green)}
#method .flow-top h3{font-size:23px;margin:8px 0 0}.flow-modes{display:flex;flex-shrink:0;border:1px solid #cdd8d1;border-radius:8px;padding:3px}
.method-animation button{font-family:inherit;border:1px solid #d4ddd6;border-radius:6px;min-height:42px;padding:9px 13px;font-size:13px;background:#fff;color:#40554c}
.method-animation button:hover{border-color:var(--green);background:#f0f5f1}.method-animation button[aria-pressed=true]{background:#27756b;color:#fff;border-color:#27756b}
.flow-modes button{border:0}.flow-legend{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;color:#65766d;margin:24px 0 0}.flow-legend span{display:flex;align-items:center;gap:7px}.flow-legend i{height:8px;width:8px;border-radius:50%;background:#675585}.flow-legend .human-dot{background:#347eb0}.flow-legend .robot-dot{background:#c37d43}
.flow-canvas{overflow-x:auto;margin:0 -8px}.flow-canvas svg{display:block;width:100%;min-width:760px;height:auto;font-family:'Noto Sans',Arial,sans-serif}
.flow-canvas text{font-size:16px;fill:#64736c}.flow-canvas .flow-title{font-size:19px;font-weight:600;fill:#293c33}.flow-canvas .flow-small{font-size:12px}.flow-canvas .flow-row-label{font-size:12px;font-weight:600;letter-spacing:.8px}.flow-canvas .flow-latent{font-size:31px;font-weight:600}.flow-canvas .human-text{fill:#347eb0}.flow-canvas .robot-text{fill:#bc7540}
.flow-node rect{fill:#f9fbfa;stroke:#d5ded9;stroke-width:1.5;transition:fill .4s,stroke .4s}.flow-node.is-active rect{fill:#e8f4ed;stroke:#27756b;stroke-width:2.5}.flow-policy rect{fill:#f0ebf7;stroke:#b4a7c7}.flow-policy.is-active rect{fill:#e5def0;stroke:#796296}
.human-line{stroke:#347eb0}.robot-line{stroke:#c37d43}.shared-line{stroke:#796296}.flow-edge{opacity:.3}.flow-edge.is-active{opacity:1;stroke-width:3;stroke-dasharray:8 7;animation:flow-stream .8s linear infinite}
@keyframes flow-stream{to{stroke-dashoffset:-30}}
.method-animation:not(.is-running) .flow-edge{animation-play-state:paused}
.human-only{transition:opacity .4s}.method-animation[data-mode=deploy] .human-only{opacity:.08;pointer-events:none}.flow-deploy-note{display:none}.method-animation[data-mode=deploy] .flow-deploy-note{display:block}
.flow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding-top:14px;border-top:1px solid #e0e6e1}.flow-steps button{font-size:11px;padding:10px 5px;font-weight:600}.flow-steps button:disabled{opacity:.3;cursor:default}
.flow-explanation{min-height:116px;padding:20px 0 16px}.flow-explanation>span{font:12px monospace;letter-spacing:1px;color:#27756b}#method .flow-explanation p{font-size:15px;margin:8px 0 0;line-height:1.6}
.flow-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.flow-controls>div{display:flex;gap:7px}#method .flow-footnote{font-size:11px;color:#718078;line-height:1.6;margin:18px 0 0}
#method .flow-mobile-hint{display:none;font-size:12px;color:#718078}.method-original{border-bottom:1px solid var(--line);margin-bottom:24px}#method .method-original .paper-figure{margin:0 0 24px}
@media(max-width:720px){.method-animation{padding:18px 14px}.flow-top{align-items:flex-start;flex-direction:column}#method .flow-top h3{font-size:21px}.flow-legend{gap:12px;font-size:11px}.flow-canvas{margin:0 -4px}#method .flow-mobile-hint{display:block;margin:16px 0 0}.flow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-explanation{min-height:155px}.method-animation button{min-height:44px}.flow-controls{gap:12px}}
@media(prefers-reduced-motion:reduce){.flow-edge.is-active{animation:none}.flow-node rect,.human-only{transition:none}}

#method .method-animation .flow-footnote{font-size:11px;line-height:1.6}
#method .method-animation .flow-mobile-hint{font-size:12px}
.flow-canvas .flow-observation-label{font-size:10px}
.flow-edge.is-active{animation-duration:calc(.8s / var(--flow-speed,1))}

/* One compact task brief between the tabs and execution videos. */
#demos>.task-tabs{margin-bottom:0}
#demos .demo-info.task-brief{display:grid;grid-template-columns:1fr 1.2fr 1.1fr;gap:32px;padding:26px 0 28px;align-items:start}
#demos .task-brief>div{min-width:0}
#demos .task-brief #task-title{font-size:clamp(23px,1.8vw,31px);line-height:1.25;margin:8px 0 0;grid-column:auto;grid-row:auto}
#demos .task-brief #task-description,#demos .task-brief #task-challenge{font-size:16px;line-height:1.65;margin:8px 0 0}
#demos .task-brief .contact-note{grid-column:auto;grid-row:auto;margin:0;padding:0;border:0}
#demos .task-brief .task-goal,#demos .task-brief .contact-note{border-left:1px solid var(--line);padding-left:28px}
#demos .demo-layout>.results-stage{background:#101b18;padding:28px 3vw 14px}
#demos .demo-note{width:calc(100% - 8vw);max-width:1656px;margin:18px auto 0}
#demos .demo-note p{margin:0;font-size:12px!important;line-height:1.6}
#demos .sequence{margin-top:18px}
@media(max-width:900px){
 #demos .demo-info.task-brief{grid-template-columns:1fr 1fr;gap:18px 24px}
 #demos .task-brief .task-identity{grid-column:1/-1}
 #demos .task-brief .task-goal{border:0;padding-left:0}
}
@media(max-width:720px){
 #demos .demo-info.task-brief{display:grid;grid-template-columns:1fr;gap:18px;padding:22px 0}
 #demos .task-brief .task-identity{grid-column:auto}
 #demos .task-brief .contact-note{border:0;padding-left:0}
 #demos .task-brief #task-title{font-size:25px}
 #demos .task-brief #task-description,#demos .task-brief #task-challenge{font-size:15px}
 #demos .demo-layout>.results-stage{padding:24px 22px 16px}
 #demos .demo-note{width:calc(100% - 44px)}
}

/* Full supplementary film, between the project introduction and task clips. */
.supplementary-section{padding-top:64px;padding-bottom:32px}
.supplementary-heading{text-align:center;margin-bottom:32px!important;font-family:'Noto Sans',Arial,sans-serif}
.supplementary-heading h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.6px}
.supplementary-heading>p{font-size:17px;line-height:1.7;max-width:780px;margin:20px auto 0}
.supplementary-heading .section-label{font-family:'Google Sans',Arial,sans-serif;font-size:14px;letter-spacing:1px;font-weight:700}
.supplementary-film{background:#101b18;padding:24px 3vw 0}
.supplementary-film video{display:block;width:100%;height:auto;aspect-ratio:960/544;object-fit:contain;background:#101b18}
.supplementary-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;color:#b8c9c0;font-size:13px;font-family:monospace}
#supplementary-sound{background:transparent;color:#eef5ef;border:1px solid #6d8478;border-radius:5px;min-height:44px;padding:10px 16px;font-family:Arial,sans-serif;font-size:15px;white-space:nowrap}
#supplementary-sound:hover{background:#29443b}
@media(max-width:720px){.supplementary-section{padding-top:48px;padding-bottom:10px}.supplementary-heading h2{font-size:28px}.supplementary-heading>p{font-size:16px}.supplementary-film{padding:0}.supplementary-caption{padding:14px 22px;flex-wrap:wrap;font-size:11px}}

.hero .intro p+p{margin-top:18px}

/* Consistent execution outcomes across all four tasks. */
.execution-card[data-outcome="success"] figcaption{color:#ffad5c}
.execution-card[data-outcome="failure"] figcaption{color:#ff7373}
