@font-face{font-family:"Source Serif 4";src:url("fonts/source-serif-4.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-3.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Academic Chinese";src:url("fonts/academic-chinese.woff2") format("woff2");font-weight:400 600;font-display:swap}
:root{--paper:#f8f8f5;--surface:#fff;--ink:#182127;--text:#242e35;--muted:#414d56;--line:#c9cecb;--navy:#3c5488;--teal:#00a087;--red:#e64b35;--cyan:#4dbbd5;--accent:var(--navy);--sans:"Source Sans 3","PingFang SC","Microsoft YaHei",sans-serif;--serif:"Source Serif 4","Academic Chinese","Songti SC","STSong","SimSun",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:36px}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
html[data-language=en] [data-lang=zh],html[data-language=zh] [data-lang=en]{display:none!important}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button:disabled{cursor:wait}
a{color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
a:hover{color:#213762;text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--navy);outline-offset:5px}
img,video{max-width:100%;display:block}
p,h1,h2,h3,h4,figure,dl{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.23;letter-spacing:-.015em}
h4{font-weight:600;color:var(--ink);line-height:1.4}
.container,.nav-wrap,.site-footer{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:absolute;left:20px;top:-80px;padding:12px 18px;background:white;z-index:20}
.skip-link:focus{top:12px}
.site-header{border-top:4px solid var(--navy)}
.nav-wrap{height:88px;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line)}
.wordmark{font-family:var(--serif);font-size:27px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap}
.wordmark-cn{font-family:var(--serif);margin-left:13px;font-size:18px}
#main-nav{display:flex;gap:28px;margin-left:auto;font-size:16px}
#main-nav a{color:var(--text);text-decoration:none}
#main-nav a:hover{text-decoration:underline}
.language-switch{display:flex;gap:13px;font-size:15px;white-space:nowrap}
.language-switch button{border:0;padding:4px 0;background:none;color:var(--text)}
.language-switch button[aria-pressed=true]{border-bottom:2px solid var(--navy);font-weight:600}
.menu-toggle{display:none;border:0;background:transparent}
.eyebrow,.mono,.date,.project-meta{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--muted);letter-spacing:.035em;font-weight:500}
.eyebrow{letter-spacing:.075em}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 172px;gap:80px;align-items:center;padding-block:42px 36px}
.hero h1{font-size:68px;margin-top:14px;line-height:1.08;font-weight:500}
.hero-role{font-size:21px;margin-top:13px;color:var(--text)}
.hero-focus{font-family:var(--serif);font-size:29px;line-height:1.35;margin-top:17px;color:var(--ink)}
.hero-intro{font-size:18px;max-width:680px;margin-top:16px;line-height:1.7}
.hero-profile img{width:172px;height:240px;object-fit:cover;object-position:center;filter:none;border:1px solid #bdc5cb;border-radius:3px}
.hero-profile figcaption{font-size:14px;text-align:center;margin-top:8px;color:var(--muted)}
.profile-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:19px;font-size:16px}
.research-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-bottom:42px}
.research-index a{border-top:3px solid var(--topic);padding-top:15px;display:grid;grid-template-columns:30px 1fr;text-decoration:none;color:var(--ink);gap:2px 8px;min-width:0}
.research-index a:hover strong{text-decoration:underline;text-underline-offset:5px}
.index-slam{--topic:var(--navy)}.index-3dgs{--topic:var(--teal)}.index-wam{--topic:var(--red)}.index-hardware{--topic:var(--cyan)}
.index-number{font-family:var(--serif);font-size:17px;grid-row:span 2;line-height:1.6}
.research-index strong{font-size:20px;font-weight:600;line-height:1.4}
.research-index a>span:last-child{font-size:14px;color:var(--muted);line-height:1.55}
.section{padding-top:68px;margin-top:0}
.section-head{display:flex;justify-content:space-between;align-items:start;gap:36px;margin-bottom:30px;border-top:1px solid var(--line);padding-top:25px}
.section-head>div{display:flex;align-items:baseline;gap:18px;min-width:0}
.section-head h2{font-size:34px}
.section-number{font-family:var(--serif);font-size:19px;color:var(--muted)}
.home-main .section-number{display:none}
.section-head>p{max-width:340px;font-size:16px;line-height:1.6}
.featured-research>.section-head{border-top:0;padding-top:0}
.research-study{--topic:var(--teal);padding:0 0 52px;margin-top:0;scroll-margin-top:30px}
.study-wam{--topic:var(--red);border-top:1px solid var(--line);padding-top:43px}
.study-header{margin-bottom:23px}
.topic-key{font-size:15px;display:inline-block;border-bottom:3px solid var(--topic);padding-bottom:3px;margin-right:9px;color:var(--ink)}
.study-header h3{font-size:37px;margin-top:8px}
.study-header h3 a{color:var(--ink);text-decoration:none}
.study-header h3 a:hover{text-decoration:underline}
.study-title{font-size:21px;margin-top:8px;line-height:1.45;color:var(--text)}
.study-content{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:38px;align-items:start}
.clip-shell{position:relative;background:#e5e8e7;overflow:hidden;border-radius:5px;border:1px solid #bdc6c7;isolation:isolate}
.demo-clip{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#e5e8e7}
.clip-toggle{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:9px;background:rgba(255,255,255,.96);padding:9px 13px;border:1px solid #6d7880;border-radius:3px;color:#14232c;font-size:14px;line-height:1.35;z-index:2;min-height:40px}
.clip-toggle:hover{background:#fff;border-color:var(--navy)}
.study-media figcaption,.film-caption,.demo-caption,.media-note{font-size:14px;color:var(--muted);line-height:1.65;margin-top:10px}
.study-text>p{font-size:18px;line-height:1.65}
.key-observation{margin-top:20px;border-left:3px solid var(--topic);padding-left:18px}
.key-observation h4{font-size:16px;margin-bottom:6px}
.key-observation p{font-size:17px;line-height:1.65}
.study-text .study-evidence{font-size:15px;line-height:1.65;margin-top:17px;color:var(--muted)}
.film-links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:16px;margin-top:20px}
.engineering-section{padding-top:10px}
.engineering-header{display:flex;justify-content:space-between;align-items:end;gap:36px;padding-bottom:30px}
.engineering-header h3{font-size:36px;margin-top:8px}
.engineering-header>div>p:last-child{margin-top:12px;font-size:19px}
.engineering-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.engineering-topic{border-top:3px solid var(--topic);padding-top:20px;scroll-margin-top:40px}
.slam-topic{--topic:var(--navy)}.hardware-topic{--topic:var(--cyan)}
.topic-label{font-size:14px;letter-spacing:.05em;font-weight:600;color:var(--muted)}
.engineering-topic h3{font-size:29px;margin-block:10px 16px}
.engineering-topic>p{font-size:18px;line-height:1.75}
.engineering-result{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}
.engineering-result strong{display:block;font-family:var(--serif);font-weight:500;font-size:34px;color:var(--ink);margin-bottom:8px;line-height:1.3}
.engineering-topic .engineering-result{font-size:15px}
.hardware-list{margin-top:23px;font-size:16px}
.hardware-list>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding-block:10px;gap:15px}
.hardware-list dt{font-weight:600}.hardware-list dd{margin:0}
.system-note{margin-top:36px;background:var(--surface);border:1px solid var(--line);padding:22px 25px;border-radius:3px}
.system-note h4{font-size:17px;margin-bottom:18px}
.interface-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.interface-flow>span{position:relative;border:1px solid #a9b5bf;padding:12px 14px;text-align:center;font-size:16px;line-height:1.5;color:var(--ink);min-width:0}
.interface-flow>span+span:before{content:"→";position:absolute;left:-17px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--navy)}
.system-note>p{font-size:14px;color:var(--muted);margin-top:16px}
.team-validation{margin-top:33px}
.team-validation h4,.simulation-contribution h4{font-size:20px}
.validation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-block:17px}
.validation-grid p{border-top:1px solid var(--line);padding-top:14px}
.validation-grid strong{display:block;font-family:var(--serif);font-weight:500;font-size:29px;line-height:1.3;color:var(--ink)}
.validation-grid span{display:block;font-size:15px;margin-top:7px}
.team-validation>p{font-size:15px;color:var(--muted);max-width:950px}
.simulation-contribution{margin-top:29px;border-top:1px solid var(--line);padding-top:20px}
.simulation-contribution p{margin-top:10px;max-width:940px;font-size:17px}
.research-summary{padding-top:66px}
.summary-prose{max-width:800px;margin-left:auto;margin-right:auto;font-size:19px;line-height:1.85}
.summary-prose p+p{margin-top:21px}
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}
.subheading{font-size:25px;margin-block:28px 18px}
.about-grid>.subheading,.about-grid>div>.subheading{margin-top:0}
.education-item+.education-item{margin-top:24px}
.education-item h4{font-size:21px;margin-top:7px}
.education-item p{font-size:16px;margin-top:6px}
.education-item .date{font-size:14px}
.grade{font-weight:600}
.toolkit{font-size:16px;line-height:1.7}
.toolkit dt{font-weight:600;margin-top:15px}.toolkit dt:first-child{margin-top:0}.toolkit dd{margin:3px 0 0}
.honors,.internships{border-top:1px solid var(--line);padding-block:18px;margin-top:24px}
summary{cursor:pointer}
.honors summary,.internships summary{display:flex;justify-content:space-between;gap:20px;list-style:none;font-size:18px;font-weight:600;align-items:center}
.honors summary::-webkit-details-marker,.internships summary::-webkit-details-marker{display:none}
.disclosure-icon{font-size:23px;font-weight:400}.disclosure-icon:before{content:"+"}details[open] .disclosure-icon:before{content:"−"}
.honors ul{padding-left:22px;margin-block:20px 0;font-size:16px;line-height:1.9}
.honors li span{font-size:14px;margin-left:15px;color:var(--muted)}
.experience-row{display:grid;grid-template-columns:160px 1fr;gap:25px;border-top:1px solid var(--line);padding-block:20px}
.experience-row h4{font-size:20px}.experience-row p{font-size:16px;margin-top:8px}
.other-manuscript{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}
.other-manuscript h3{font-size:24px;margin-block:11px;line-height:1.35;max-width:910px}
.other-manuscript>p:last-child{font-size:15px}
.contact{padding-top:56px;padding-bottom:48px;margin-top:0}
.contact h2{font-size:34px;margin-bottom:14px}
.contact-link{font-family:var(--serif);font-size:clamp(22px,2.8vw,30px);overflow-wrap:anywhere}
.contact p{font-size:16px;margin-top:17px}
.site-footer{border-top:1px solid var(--line);padding-block:25px 35px;display:flex;justify-content:space-between;gap:35px;font-size:14px;line-height:1.75;color:var(--muted)}
.site-footer>div:last-child{text-align:right}
.footer-name{font-family:var(--serif);font-size:21px;color:var(--ink);text-decoration:none}
.site-footer p{margin-top:5px}
.project-main{--topic:var(--teal)}.project-main[data-project=copy-paste]{--topic:var(--red)}
.project-hero{padding-top:38px;max-width:980px;text-align:left}
.back-link{font-size:15px;display:inline-block;margin-bottom:31px}
.project-hero .eyebrow{padding-left:13px;border-left:3px solid var(--topic)}
.project-hero h1{font-size:64px;margin-top:17px}
.project-title{font-family:var(--serif);font-size:27px;line-height:1.5;max-width:870px;margin-top:16px;color:var(--ink)}
.author-line{font-size:17px;margin-top:17px}
.project-contents{display:flex;flex-wrap:wrap;gap:12px 25px;border-top:1px solid var(--line);padding-block:16px 8px;font-size:16px}
.button-row{display:flex;flex-wrap:wrap;gap:13px 24px;margin-block:24px 30px}
.button{font-size:16px;border:1px solid var(--navy);padding:9px 18px;border-radius:3px;text-decoration:none}
.button.primary{background:var(--navy);color:white}
.button:hover{background:#e9edf5}
.button.primary:hover{background:#2c4272;color:white}
.demo-gallery{max-width:980px;margin-top:12px}
.demo-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-bottom:15px}
.demo-tab{border:0;border-bottom:2px solid var(--line);padding:9px 0 13px;background:none;text-align:left;display:flex;gap:12px;align-items:baseline;font-size:17px;line-height:1.4}
.demo-tab[aria-selected=true]{border-bottom:3px solid var(--topic);font-weight:600}
.demo-tab .mono{font-size:14px}
.demo-gallery .demo-clip{aspect-ratio:16/9;background:#e2e5e4}
.demo-caption{max-width:880px;font-size:15px;margin-top:13px;line-height:1.7}
.speed-note{display:block;color:var(--muted);font-size:14px;margin-top:3px}
.project-summary{max-width:800px;margin-block:35px 32px;font-size:20px;line-height:1.8}
.video-section{max-width:980px;margin-top:23px}
.full-film{border-block:1px solid var(--line);padding-block:20px}
.full-film>summary{display:flex;justify-content:space-between;gap:20px;list-style:none;font-size:19px;font-weight:600}
.full-film>summary::-webkit-details-marker{display:none}
.full-film>summary>.mono{font-size:16px}
.full-film>summary:after{content:"+";font-size:24px;font-weight:400}
.full-film[open]>summary:after{content:"−"}
.full-film[open]>summary{margin-bottom:24px}
.video-heading{display:flex;justify-content:space-between;gap:25px;margin-bottom:16px}
.video-heading h2{font-size:26px}
.video-heading>span{font-size:14px;color:var(--muted)}
.video-shell{position:relative}
#project-video{width:100%;aspect-ratio:16/9;background:#e2e5e4;object-fit:contain;border-radius:4px}
.video-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--navy);color:var(--navy);padding:15px 22px;border-radius:3px;font-size:18px;font-weight:600}
.chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}
.chapter{border:0;border-top:2px solid var(--line);background:none;text-align:left;padding:10px 0;font-size:16px;line-height:1.5}
.chapter>span:first-child{display:block;font-size:14px;color:var(--muted);margin-bottom:3px}
.chapter[aria-pressed=true]{border-color:var(--navy);font-weight:600}
.video-download{font-size:15px;display:inline-block;margin-top:17px}
.project-main>.section{max-width:980px;padding-top:55px}
.paper-figure{margin-top:28px}
.figure-link{display:block;background:white;border:1px solid #d6dcd8;border-radius:3px;padding:15px;overflow:hidden}
.figure-link img{width:100%;height:auto;object-fit:contain}
.paper-figure figcaption{font-size:15px;line-height:1.7;margin-top:12px;color:var(--muted);max-width:930px}
.figure-hint{display:inline-block;margin-left:8px;color:var(--navy);font-size:14px}
.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;list-style:none;padding:0;margin:28px 0 0}
.step-number{font-family:var(--serif);font-size:20px;color:var(--ink);display:block;border-top:2px solid var(--topic);padding-top:14px}
.method-steps h3{font-size:23px;margin-top:12px;line-height:1.4}
.method-steps p{font-size:17px;line-height:1.75;margin-top:12px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-block:10px 25px}
.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric{border-top:2px solid var(--topic);padding-top:17px}
.metric strong{font-family:var(--serif);font-size:33px;font-weight:500;display:block;color:var(--ink);line-height:1.3}
.metric:last-child strong{font-size:28px}.metrics.three .metric:last-child strong{font-size:33px}
.metric h3{font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.5;margin-top:11px}
.metric p{font-size:14px;line-height:1.6;margin-top:7px}
.result-context,.body-copy{font-size:18px;line-height:1.8;max-width:850px}
.result-context{margin-top:23px}
.body-copy{margin-top:16px}
.table-scroll{overflow-x:auto;overscroll-behavior-x:contain;border-block:1px solid var(--line);margin-top:22px}
table{border-collapse:collapse;text-align:left;width:100%;font-size:16px;line-height:1.65;background:rgba(255,255,255,.5)}
caption{font-size:14px;text-align:left;padding:14px 14px;color:var(--muted)}
th,td{padding:13px 14px;border-top:1px solid var(--line);white-space:nowrap}
thead th{font-weight:600;font-size:15px;background:#eef0ed}
tbody th{font-weight:400}.ours{background:#e9eeeb}.ours th{font-weight:600}
.table-note{font-size:15px;line-height:1.75;margin-top:16px;max-width:880px}
.limits{display:grid;grid-template-columns:1fr 1fr;gap:36px;font-size:18px;line-height:1.8}
.findings-intro{max-width:800px;font-size:19px;line-height:1.8}
.finding{margin-top:33px}
.finding h3{font-size:28px;line-height:1.4;margin-bottom:15px}
.finding>p{max-width:820px;font-size:18px;line-height:1.8;margin-top:14px}
.finding .paper-figure{max-width:780px;margin-inline:auto}
.conclusion{max-width:980px;padding-top:48px}
.conclusion .summary-prose{margin-inline:0}
.related-manuscript{font-size:16px;margin-top:28px;display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}
.conclusion-end{width:56px;height:3px;background:var(--topic);margin-top:30px}
.project-main{padding-bottom:55px}
.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}
html[data-language=zh] h1,html[data-language=zh] h2,html[data-language=zh] h3{letter-spacing:0}
html[data-language=zh] .hero h1{font-size:60px}
html[data-language=zh] .eyebrow{letter-spacing:.02em}
@media(max-width:1100px){
 .container,.nav-wrap,.site-footer{width:calc(100% - 64px)}
 .hero{gap:50px;grid-template-columns:minmax(0,1fr) 150px}.hero-profile img{width:150px;height:210px}.hero h1{font-size:60px}
 #main-nav{gap:18px}.nav-wrap{gap:25px}.study-content{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}
 .metrics{grid-template-columns:1fr 1fr;row-gap:25px}.metric strong,.metric:last-child strong{font-size:33px}
 .engineering-columns{gap:32px}.about-grid{gap:40px}.interface-flow{gap:15px}.interface-flow>span{font-size:15px;padding:10px}
}
@media(max-width:760px){
 .container,.nav-wrap,.site-footer{width:calc(100% - 40px)}
 .nav-wrap{height:69px;gap:18px;position:relative}.wordmark{font-size:23px}.wordmark-cn{font-size:15px;margin-left:8px}
 .menu-toggle{display:flex;margin-left:auto;gap:7px;font-size:15px;align-items:center;padding:8px 0}
 #main-nav{display:none;position:absolute;top:68px;left:-20px;right:-20px;background:var(--paper);padding:15px 20px 24px;border-bottom:1px solid var(--line);z-index:10;flex-direction:column;gap:17px;font-size:18px}
 #main-nav[data-open=true]{display:flex}.language-switch{gap:12px;font-size:14px}
 .hero{grid-template-columns:minmax(0,1fr) 96px;gap:19px;padding-block:35px 31px;align-items:start}
 .hero h1{font-size:49px;margin-top:11px}.hero-role{font-size:17px;line-height:1.55;margin-top:11px}.hero .eyebrow{font-size:13px;letter-spacing:.015em}
 .hero-focus{font-size:24px;line-height:1.45;margin-top:14px}.hero-intro{font-size:17px;line-height:1.8;margin-top:15px}
 .hero-profile{padding-top:26px}.hero-profile img{width:96px;height:134px}.hero-profile figcaption{font-size:13px}
 .hero-copy{display:contents}.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-role{grid-column:1}.hero-copy>.eyebrow{grid-row:1}.hero-copy>h1{grid-row:2}.hero-copy>.hero-role{grid-row:3}
 .hero-profile{grid-column:2;grid-row:1/4}.hero-focus,.hero-intro,.profile-links{grid-column:1/3}
 .hero-focus{margin-top:6px}.hero-intro{margin-top:-4px}.profile-links{margin-top:0;font-size:16px;gap:20px}
 .research-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin-bottom:45px}.research-index a{padding-top:11px;grid-template-columns:23px 1fr;gap:3px 5px}
 .research-index strong{font-size:19px}.research-index a>span:last-child{font-size:14px}.index-number{font-size:15px}
 .section-head{padding-top:21px;margin-bottom:26px;flex-direction:column;gap:15px}.section-head>div{gap:12px}.section-head h2{font-size:29px}.section-number{font-size:17px}
 .section-head>p{font-size:16px;max-width:none}
 .study-header h3{font-size:33px;overflow-wrap:anywhere}.study-title{font-size:20px;line-height:1.55}.study-header .eyebrow{font-size:13px}
 .study-content{grid-template-columns:1fr;gap:20px}.study-text>p{font-size:18px}.key-observation{margin-top:19px;padding-left:15px}.key-observation p{font-size:17px}
 .research-study{padding-bottom:35px}.study-wam{padding-top:32px}.study-media figcaption{font-size:14px}.demo-clip{aspect-ratio:16/10}
 .engineering-section{padding-top:10px}.engineering-header{flex-direction:column;align-items:start;gap:13px;padding-bottom:25px}.engineering-header h3{font-size:31px}
 .engineering-header>div>p:last-child{font-size:18px}.engineering-columns{grid-template-columns:1fr;gap:34px}.engineering-topic h3{font-size:28px}
 .engineering-topic>p{font-size:18px}.engineering-result strong{font-size:32px}.hardware-list>div{grid-template-columns:85px 1fr;gap:10px}
 .system-note{padding:19px 17px;margin-top:28px}.interface-flow{grid-template-columns:1fr;gap:22px}.interface-flow>span{font-size:16px;padding:11px}
 .interface-flow>span+span:before{content:"↓";left:50%;top:-21px;transform:translateX(-50%)}
 .validation-grid{grid-template-columns:1fr;gap:14px;margin-block:18px}.validation-grid p{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;align-items:center;padding-top:12px}
 .validation-grid strong{font-size:26px}.validation-grid span{font-size:15px;margin-top:0}.team-validation>p{font-size:15px}
 .research-summary,.section{padding-top:45px}.summary-prose{font-size:18px;line-height:1.9}.about-grid{grid-template-columns:1fr;gap:35px}
 .subheading{font-size:25px;margin-top:25px}.experience-row{grid-template-columns:1fr;gap:8px}.honors li span{display:block;margin-left:0}
 .other-manuscript h3{font-size:23px;line-height:1.5}.contact{padding-block:40px}.contact h2{font-size:29px}
 .site-footer{display:block;padding-block:24px 32px}.site-footer>div:last-child{text-align:left;margin-top:17px}
 .project-hero{padding-top:28px}.back-link{margin-bottom:24px}.project-hero h1{font-size:45px;line-height:1.2;overflow-wrap:anywhere}.project-title{font-size:23px;line-height:1.6}
 .project-hero .eyebrow{font-size:14px}.author-line{font-size:16px}.button-row{gap:12px;margin-block:21px 25px}.button{font-size:16px;padding:9px 13px}
 .demo-tabs{gap:13px}.demo-tab{display:block;font-size:16px;padding-bottom:12px}.demo-tab .mono{display:block;margin-bottom:4px;font-size:14px}
 .demo-gallery .demo-clip{aspect-ratio:16/10}.clip-toggle{padding:8px 11px;bottom:10px;right:10px;font-size:14px}
 .demo-caption{font-size:16px}.speed-note{font-size:14px}.project-summary{font-size:19px;line-height:1.85;margin-block:27px 25px}
 .full-film>summary{font-size:18px;gap:12px;flex-wrap:wrap}.full-film>summary>.mono{font-size:15px}.video-heading{display:block}.video-heading h2{font-size:25px}.video-heading>span{display:block;margin-top:7px}
 .video-start{font-size:16px;padding:12px 16px;white-space:nowrap}.chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}.chapter{font-size:16px}
 .project-main>.section{padding-top:40px}.figure-link{padding:8px}.paper-figure figcaption{font-size:15px}.figure-hint{margin-left:0;display:block;margin-top:5px}
 .method-steps{grid-template-columns:1fr;gap:25px}.method-steps h3{font-size:24px}.method-steps p{font-size:18px}.metrics,.metrics.three{grid-template-columns:1fr 1fr;gap:25px 20px}
 .metric strong,.metric:last-child strong,.metrics.three .metric:last-child strong{font-size:28px}.metric h3{font-size:16px}.metric p{font-size:14px}
 .result-context,.body-copy{font-size:18px}.table-note{font-size:15px}.limits{grid-template-columns:1fr;gap:20px;font-size:18px}
 .finding h3{font-size:26px}.finding>p{font-size:18px}.findings-intro{font-size:18px}.conclusion{padding-top:40px}
 html[data-language=zh] .hero h1{font-size:43px}
}
@media(max-width:390px){
 .container,.nav-wrap,.site-footer{width:calc(100% - 32px)}.nav-wrap{gap:13px}.wordmark-cn{display:none}.language-switch{gap:9px}
 .hero{grid-template-columns:minmax(0,1fr) 84px;gap:15px}.hero-profile img{width:84px;height:118px}.hero h1{font-size:43px}.hero-role{font-size:16px}
 .hero-focus{font-size:22px}.profile-links{gap:16px;font-size:15px}.research-index{column-gap:16px}.section-head h2{font-size:27px}
 .study-header h3{font-size:30px}.study-title{font-size:19px}.metrics,.metrics.three{grid-template-columns:1fr}
 .metric strong,.metric:last-child strong,.metrics.three .metric:last-child strong{font-size:32px}.validation-grid p{grid-template-columns:1fr}
 .validation-grid span{margin-top:2px}.project-hero h1{font-size:40px}.project-title{font-size:22px}.demo-tabs{gap:10px}.demo-tab{font-size:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Supplied AeroMaze recording: preserve the complete monitor view. */
.aero-media{margin:32px 0 40px}.aero-media>figure{margin:0}.aero-media figcaption{margin:12px 0 22px;font-size:14px;line-height:1.6;color:var(--muted)}
.aero-full-video{margin:0}.aero-full-video .video-heading h4{margin:0;font-size:19px;font-weight:600}.aero-full-video .full-film{margin:0}
@media(max-width:600px){.aero-media{margin:22px 0 30px}.aero-media figcaption{font-size:14px}.aero-full-video .video-heading{align-items:flex-start}}
@media(max-width:390px){#main-nav{left:-16px;right:-16px;padding-inline:16px}}

/* A single window reveals independent simulated and physical experiments. */
.research-index{grid-template-columns:repeat(3,minmax(0,1fr))}
.research-index strong{font-family:var(--serif);font-size:22px;font-weight:500}
.hero-intro{margin-top:21px;max-width:670px;font-size:19px}
.compare-section{margin-top:27px}
.project-summary+.compare-section{margin-top:29px}
.video-compare{width:100%}
.compare-instruction{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--ink);font-size:15px}
.compare-instruction>span{font-weight:600;white-space:nowrap}
.compare-instruction>p{font-size:14px;text-align:center;color:var(--muted);line-height:1.4}
.compare-stage{position:relative;aspect-ratio:16/10;background:#111820;isolation:isolate}
.comparison-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111820}
.compare-real{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);background:#111820;z-index:2}
.compare-side-label{position:absolute;top:14px;padding:6px 10px;border:1px solid #88949d;background:rgba(255,255,255,.95);color:#182127;font-size:14px;line-height:1.3;z-index:1}
.sim-label{right:14px}.real-label{left:14px}
.compare-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;transform:translateX(-1px);background:#fff;box-shadow:0 0 0 1px #18212770;z-index:3;pointer-events:none}
.compare-grip{position:absolute;top:50%;left:clamp(23px,var(--reveal),calc(100% - 23px));transform:translate(-50%,-50%);width:44px;height:52px;display:grid;place-items:center;background:#fff;border:1px solid #52616d;border-radius:4px;box-shadow:0 2px 6px #0003;z-index:4;pointer-events:none}
.compare-grip span{font-family:var(--sans);font-size:27px;letter-spacing:2px;color:#182127;line-height:1}
.compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;appearance:none;cursor:ew-resize;z-index:5;touch-action:pan-y}
.compare-range::-webkit-slider-thumb{appearance:none;width:44px;height:52px;cursor:ew-resize}
.compare-range::-moz-range-thumb{width:44px;height:52px;border:0;cursor:ew-resize}
.compare-stage:focus-within{outline:3px solid var(--navy);outline-offset:4px}
.compare-play{z-index:6}
.compare-caption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:11px}
.study-media .compare-instruction{font-size:14px}.study-media .compare-instruction>p{font-size:14px}
.additional-clips{margin-top:21px}
.additional-clips>details>summary{cursor:pointer;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--navy)}
.additional-clips .demo-gallery{margin-top:18px;width:100%}
.additional-clips .demo-tabs{margin-bottom:15px}
.project-hero .button-row{margin-top:23px}
@media(max-width:760px){
 .research-index{grid-template-columns:1fr;gap:16px;margin-bottom:34px}
 .research-index a{padding-top:12px;grid-template-columns:30px 1fr;gap:2px 8px}
 .research-index strong{font-size:22px}
 .hero-intro{font-size:18px;margin-top:17px}
 .compare-section{margin-top:21px}
 .compare-side-label{top:9px;font-size:14px;padding:5px 8px}.sim-label{right:9px}.real-label{left:9px}
 .compare-play{bottom:9px;right:9px}
 .compare-instruction{font-size:14px;gap:8px}
 .compare-caption{font-size:14px}
}
@media(max-width:390px){.compare-instruction>p{max-width:180px}.compare-grip{height:48px}}

.clip-shell .clip-status:not(.sr-only){position:absolute;bottom:62px;left:14px;right:14px;padding:10px 13px;border:1px solid #6d7880;background:#fff;color:var(--ink);font-size:14px;line-height:1.5;z-index:7;pointer-events:none}
#video-status:not(.sr-only){font-size:15px;margin-top:12px;color:var(--ink)}

/* Reading measure, native film ratios and direct comparison controls. */
h1,h2,h3,h4{text-wrap:balance}
.project-hero{max-width:780px;padding-top:26px}
.back-link{margin-bottom:18px}
.project-hero h1{font-size:54px;margin-top:12px}
.project-title{font-size:23px;line-height:1.55;margin-top:12px}
.project-hero .button-row{margin-block:16px 18px}
.project-contents{padding-block:12px 0}
.project-main>.section,.project-overview,.conclusion{max-width:780px}
.project-summary{margin-block:28px 0;font-size:19px;line-height:1.8}
.project-main>.compare-section{margin-top:22px}
.study-content{grid-template-columns:1fr;gap:24px}
.study-text{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 30px}
.study-text .key-observation{margin-top:0}
.study-text .study-evidence{margin-top:0;font-size:16px;color:var(--text)}
.study-text .film-links{grid-column:1/-1;margin-top:18px}
[data-comparison=copy-paste] .compare-stage{aspect-ratio:16/9}
[data-comparison=spot-the-difference] .compare-stage{aspect-ratio:80/51}
.aero-media .demo-clip{aspect-ratio:16/9}
.compare-preset{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 2px;min-height:44px;color:var(--ink);font-size:15px;font-weight:600;white-space:nowrap}
.compare-preset[aria-pressed=true]{border-color:var(--topic,var(--navy))}
.compare-preset:hover,.language-switch button:hover,.menu-toggle:hover{color:var(--navy);background:#e9eeed}
.language-switch button,.menu-toggle{min-height:44px}
.clip-toggle{min-height:44px}
.demo-tab:hover,.chapter:hover{background:#e9eeed;border-color:var(--navy)}
.video-start:hover{background:#eef2f2;border-color:var(--navy)}
.figure-link:hover{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
table td,.metric strong,.validation-grid strong{font-variant-numeric:tabular-nums}
table td{text-align:right}
@media(max-width:760px){
 .project-hero{padding-top:20px}.back-link{margin-bottom:16px}
 .project-hero h1{font-size:40px}.project-title{font-size:21px;line-height:1.6;margin-top:10px}
 .project-hero .button-row{margin-block:14px 16px}
 .project-contents{gap:10px 20px;padding-top:12px}
 .project-summary{font-size:18px;margin-block:22px 0}
 .study-content{gap:20px}.study-text{display:block}
 .study-text .key-observation{margin-top:19px}.study-text .study-evidence{margin-top:17px}
 .compare-preset{font-size:14px}
}

.method-rationale{margin-bottom:26px}
.project-main>.section>.paper-figure{width:min(1120px,calc(100vw - 96px));margin-left:calc((100% - min(1120px,calc(100vw - 96px)))/2)}
@media(max-width:760px){.project-main>.section>.paper-figure{width:100%;margin-left:0}}
@media(max-width:600px){
 .research-index{gap:8px;margin-bottom:25px}
 .research-index a{grid-template-columns:25px 1fr;align-items:center;padding-block:9px 0;min-height:44px}
 .research-index strong{font-size:20px}
 .research-index a>span:last-child{display:none}
 .research-index .index-number{grid-row:auto}
}

.project-task{font-size:22px;line-height:1.6;margin-top:12px;color:var(--ink)}
.project-overview{margin-top:28px}
.project-overview .project-title{font-size:23px;margin-top:8px}
.project-overview .project-summary{margin-top:16px}
@media(max-width:760px){.project-task{font-size:19px;line-height:1.65}.project-overview .project-title{font-size:21px}}
@media(max-width:600px){
 .hero{row-gap:9px;padding-block:25px 24px}
 .research-index{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px}
 .research-index a{display:block;padding-top:8px}
 .research-index .index-number{display:block;font-size:12px;margin-bottom:3px}
 .research-index strong{display:block;font-size:17px;line-height:1.4;overflow-wrap:normal}
 .featured-research>.section-head{margin-bottom:20px}
}
