/* Only media, table and accessibility adaptations; typography and page layout
   are supplied by the unchanged Nerfies/Bulma stylesheets. */
video { width:100%; display:block; }
.author-name { color:#363636; }
.affiliations { margin-top:8px; }
.author-notes { margin-top:8px; }
.teaser .subtitle { margin-top:14px; }
.teaser-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.teaser-grid figure { margin:0; }
.teaser-grid video { aspect-ratio:16/9; border-radius:6px; background:#eee; }
.teaser-grid figcaption { text-align:center; font-size:.9rem; color:#666; margin-top:8px; }
.teaser .subtitle { font-size:1.15rem; line-height:1.55; max-width:780px; margin:20px auto 0; }
.teaser .media-note { margin-bottom:0; }
@media(max-width:600px) { .teaser-grid { grid-template-columns:1fr; gap:18px; } }
.media-note { font-size:.8rem; color:#707070; margin:10px 0 22px; line-height:1.6; }
.carousel-caption { display:flex; align-items:center; justify-content:center; position:relative; gap:12px; padding:9px 28px; font-size:14px; background:white; }
.carousel-caption .expand-video { position:absolute; right:8px; }
.expand-video { font:inherit; border:0; background:none; color:#3273dc; cursor:pointer; padding:0 4px; }
.results-carousel .item video { aspect-ratio:16/9; object-fit:contain; background:#f5f5f5; }
.missing-media { aspect-ratio:16/9; width:100%; background:#f5f5f5; border:1px solid #e4e4e4; display:flex; align-items:center; justify-content:center; text-align:center; color:#777; }
.missing-media p { margin:5px 12px!important; }
.figure-zoom { display:block; border:0; padding:0; width:100%; background:transparent; cursor:zoom-in; }
.figure-zoom img { display:block; width:100%; }
h3.title { margin-top:30px; }
.table { font-size:.875rem; }
.table td:not(:first-child), .table th:not(:first-child) { text-align:right; white-space:nowrap; }
.table th { vertical-align:middle; }
.table-container { margin-bottom:12px; }
details { margin:18px 0 28px; }
summary { cursor:pointer; color:#3273dc; }
details .content { margin-top:15px; }
.tabs button { display:block; background:none; border:0; border-bottom:1px solid #dbdbdb; padding:.5em 1em; margin-bottom:-1px; font:inherit; color:#4a4a4a; cursor:pointer; }
.tabs .is-active button { color:#3273dc; border-bottom-color:#3273dc; }
.scene-caption { display:flex; justify-content:space-between; font-size:.95rem; margin-top:8px; }
.scene-gallery video { aspect-ratio:16/9; object-fit:contain; background:#f5f5f5; }
.scene-gallery .media-note { margin-top:4px; }
[hidden] { display:none!important; }
dialog { width:min(1000px,94vw); max-height:92vh; padding:22px; border:0; border-radius:6px; }
dialog::backdrop { background:#000b; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; }
.dialog-heading .title { margin:0; }
dialog video,dialog img { max-height:75vh; width:100%; object-fit:contain; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #3273dc; outline-offset:3px; }
@media(max-width:768px) { .publication-title { font-size:2.1rem!important; } .publication-authors.is-size-5 { font-size:1.05rem!important; } .hero-body { padding:2.5rem 1.5rem; } .content.has-text-justified { text-align:left!important; } }

.link-block button { margin-top:5px; margin-bottom:5px; }
.publication-links { display:flex; flex-wrap:wrap; justify-content:center; gap:0 6px; }
.resource-pending[disabled] { opacity:1; background:#f0f0f0; border-color:#e5e5e5; color:#777; cursor:default; box-shadow:none; }
.resource-pending small { margin-left:5px; font-size:.7rem; }
/* Consistent spacing and figure sizing within the original Nerfies layout. */
.section > .container > .title { margin-bottom:1.25rem; }
.method-section .figure-zoom { max-width:960px; margin:0 auto; }
.efficiency-section .figure-zoom { max-width:960px; margin:1.75rem auto; }
.scene-gallery .column { padding-bottom:1.25rem; }
.scene-gallery .media-note { margin-bottom:0; }
.route-section .content { height:100%; display:flex; flex-direction:column; }
.route-section .content > p:first-of-type { min-height:3rem; }
.table th, .table td { padding:.7em .75em; }
#experiments tbody tr:last-child { border-top:2px solid #b5b5b5; }
.footer { padding:2.5rem 1.5rem; font-size:.85rem; }
@media(max-width:768px) {
  .section { padding:2rem 1.5rem; }
  .route-section .content > p:first-of-type { min-height:0; }
  .table { font-size:.8rem; }
  .affiliations { line-height:1.65; }
}
.comparison-media { margin-top:2rem; }
.comparison-media .results-carousel { background:#f5f5f5; }
.baseline-media { margin:2rem 0; }
/* Wider comparison rail with the next video peeking into view. */
@media(min-width:1100px) {
  .comparison-media { width:min(1200px,calc(100vw - 64px)); margin-left:50%; transform:translateX(-50%); }
}
.comparison-viewport { overflow:hidden; }
.comparison-media #results-carousel { width:88.8889%; overflow:visible; }
.comparison-media .slider-container { overflow:visible; }
.comparison-media .slider-navigation-next { right:8px; }
@media(max-width:640px) { .comparison-media #results-carousel { width:89.2857%; } }
.paired-comparison { max-width:1320px; }
.pair-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.pair-header .title { margin:0; }
.pair-goal.figure-zoom { width:auto; display:flex; align-items:center; gap:12px; font:14px Arial,sans-serif; color:#666; }
.pair-goal img { width:160px; height:90px; object-fit:contain; }
.pair-scene-tabs { display:flex; gap:24px; border-bottom:1px solid #ddd; margin-bottom:22px; }
.pair-scene-tabs button { background:none; border:0; padding:10px 0; border-bottom:2px solid transparent; color:#666; font:15px Arial,sans-serif; cursor:pointer; }
.pair-scene-tabs [aria-selected=true] { color:#222; border-bottom-color:#333; }
.pair-videos { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pair-video-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font:16px Arial,sans-serif; }
.pair-state { font:12px Arial,sans-serif; color:#707070; }
.pair-videos video { width:100%; aspect-ratio:16/9; object-fit:contain; background:#eee; }
.pair-controls { display:flex; align-items:center; gap:16px; padding:15px 0; font:14px Arial,sans-serif; }
.pair-controls button,.pair-controls select { font:inherit; background:white; border:1px solid #ccc; border-radius:4px; color:#333; padding:7px 12px; cursor:pointer; }
#pair-play { min-width:68px; }
#pair-time { min-width:90px; font-variant-numeric:tabular-nums; }
#pair-seek { flex:1; min-width:50px; accent-color:#555; }
.paired-comparison:fullscreen { background:white; padding:32px; width:100%; max-width:none; margin:0; transform:none; overflow:auto; }
@media(min-width:1100px) { .paired-comparison { width:min(1320px,calc(100vw - 64px)); } }
@media(max-width:768px) { .pair-videos { grid-template-columns:1fr; gap:20px; } .pair-controls { flex-wrap:wrap; gap:9px; } #pair-seek { order:2; flex-basis:100%; } .pair-scene-tabs { gap:16px; } .pair-scene-tabs button { font-size:13px; } .pair-goal img { width:112px; height:63px; } .pair-header { gap:10px; } .pair-header .title { font-size:1.2rem; } .pair-goal.figure-zoom { gap:6px; } }
.scene-preview { display:block; position:relative; width:100%; padding:0; border:0; background:#f5f5f5; cursor:zoom-in; }
.scene-preview video { pointer-events:none; }
.preview-expand { position:absolute; right:10px; bottom:10px; width:28px; height:28px; line-height:28px; background:#fffffff0; border-radius:50%; color:#444; font:18px/28px Arial,sans-serif; }
.scene-caption > .expand-video { display:none; }
.robot-view-link { padding:0; margin-top:6px; border:0; background:none; color:#3273dc; font:13px Arial,sans-serif; cursor:pointer; }
.gallery-note { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-top:10px; }
.gallery-note .media-note { margin:0; }
#gallery-motion { border:0; background:none; color:#555; white-space:nowrap; text-decoration:underline; font:13px Arial,sans-serif; cursor:pointer; }
@media(max-width:768px) { .gallery-note { flex-direction:column; gap:12px; } }
/* Start outdoor scenes on a fresh row even as the indoor collection grows. */
@media(min-width:769px) {
  .scene-gallery.columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .scene-gallery > .scene { width:auto; min-width:0; }
  .scene-gallery > [data-environment="indoor"] + [data-environment="outdoor"] { grid-column:1; }
}

.pair-header > .title { min-width:0; flex:1; }
.pair-goal.figure-zoom { flex-shrink:0; }
.benchmark-results { margin-top:2.5rem; padding-top:2rem; border-top:1px solid #e8e8e8; }
.benchmark-results .figure-zoom { max-width:760px; }
.benchmark-caption { margin:1.5rem 0 .75rem; font-weight:600; }
.benchmark-results .table { font-size:14px; font-variant-numeric:tabular-nums; }
.benchmark-results .table td, .benchmark-results .table thead th:not(:first-child) { text-align:right; white-space:nowrap; }
.benchmark-results .table tbody th { white-space:nowrap; font-weight:400; }
.benchmark-results .table tbody tr:last-child { background:#f2f6fa; }
.benchmark-results .table tbody tr:last-child th { font-weight:700; }
/* Reading aids follow the template's restrained typography and open spacing. */
html { scroll-padding-top:76px; }
.section-nav { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.97); border-block:1px solid #eee; }
.section-nav > div { display:flex; justify-content:center; gap:28px; padding:13px 20px; overflow-x:auto; }
.section-nav a { white-space:nowrap; color:#666; font-size:14px; }
.section-nav a:hover,.section-nav a[aria-current] { color:#2170a5; text-decoration:underline; text-underline-offset:6px; }
.method-reading { margin-top:22px; }
.method-reading h3 { font-size:15px; font-weight:600; margin-bottom:8px; }
.method-reading p { font-size:14px; line-height:1.7; color:#666; }
.reading-details { border-top:1px solid #e7e7e7; padding-top:13px; font-size:14px; }
.reading-details summary { color:#555; font-weight:500; }
.reading-details .content { max-width:820px; line-height:1.75; color:#606060; }
.latency-label { font-size:14px; font-weight:600; margin-top:24px; }
.latency-label > span { color:#777; font-weight:400; margin-left:12px; }
.runtime-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:14px; border-block:1px solid #ddd; }
.runtime-values > div { padding:18px 20px; }
.runtime-values > div + div { border-left:1px solid #e7e7e7; }
.runtime-values dt { font-size:14px; color:#555; }
.runtime-values dd { font-size:28px; color:#333; margin:6px 0 0; font-variant-numeric:tabular-nums; }
.runtime-values dd span { font-size:15px; color:#777; }
.runtime-ours { background:#f2f6fa; }
.runtime-ours dt { font-weight:600; }
.table-container:focus-visible { outline:2px solid #3273dc; outline-offset:3px; }
.footer .back-top { display:block; text-align:center; margin-bottom:20px; }
@media(max-width:600px) {
 .section-nav > div { justify-content:flex-start; gap:22px; padding-inline:24px; }
 .section-nav a { font-size:13px; }
 .runtime-values > div { padding:14px 8px; }
 .runtime-values dt { font-size:11px; }
 .runtime-values dd { font-size:21px; }
 .runtime-values dd span { font-size:12px; }
 .latency-label > span { display:block; margin:3px 0 0; }
 .method-reading > .column { padding-block:10px; }
}

.runtime-scene-title { display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-size:16px; font-weight:600; margin-bottom:12px; }
.runtime-scene-title span { font-size:13px; font-weight:400; color:#777; }
.runtime-clips video { aspect-ratio:16/9; background:#f5f5f5; }
.runtime-backlink { font-size:13px; margin-bottom:24px; }
.runtime-clips .media-note { margin-bottom:4px; }
.full-video-player{position:relative;width:100%;aspect-ratio:16/9;background:#111;border-radius:8px;overflow:hidden}
.full-video-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
#full-video{scroll-margin-top:75px}

/* Consistent editorial hierarchy, without changing the Nerfies structure. */
.content { line-height:1.75; }
.content.has-text-justified { text-align:left!important; }
.title.is-3 { letter-spacing:-.025em; line-height:1.25; }
.publication-title { line-height:1.15; }
.affiliations { display:block; max-width:960px; margin:10px auto 0; font-size:1rem!important; line-height:1.55; text-align:center; }
.affiliations sup { margin-right:4px; }
.publication-authors > .author-block { white-space:nowrap; }
.affiliations > .author-block { display:inline; white-space:normal; }
.affiliations > .author-block:not(:last-child)::after { content:","; }
.media-note { color:#656565; line-height:1.65; }
.figure-caption { text-align:center; margin-top:12px; }
.scene-preview,.route-section video,.runtime-clips video { border-radius:6px; overflow:hidden; }
.scene-caption { line-height:1.45; }
.table { font-variant-numeric:tabular-nums; }
.table thead th { font-size:.8rem; color:#666; font-weight:600; }
.table tbody tr:hover { background-color:#f8fafb; }
.reading-details summary { padding:4px 0; }
.references-section { border-top:1px solid #eee; padding-top:2.5rem; padding-bottom:2rem; }
.reference-list { margin:0 0 0 1.4rem; font-size:.875rem; line-height:1.8; color:#555; }
.reference-list li { padding-left:6px; margin-bottom:14px; scroll-margin-top:90px; }
.reference-list li:target { background:#f2f6fa; border-radius:4px; }
.reference-venue { white-space:nowrap; }
.reference-project { white-space:nowrap; margin-left:5px; }
.skip-link { position:fixed; top:8px; left:8px; padding:10px 16px; background:white; z-index:100; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
@media(max-width:600px) {
 .affiliations { font-size:.93rem!important; }
 .title.is-3 { font-size:1.65rem; }
 .reference-list { font-size:.82rem; }
}

/* Compact affiliation marks; original assets retain transparent backgrounds. */
.institution-logos{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px 30px;max-width:760px;margin:20px auto 12px}
.institution-logo{display:flex;align-items:center;justify-content:center;height:48px;flex-shrink:0}
.institution-logo img{display:block;width:100%;height:auto;max-height:48px;object-fit:contain}
.nju-logo{width:154px;background:#6f205c;mask:url('assets/logos/nju.png') center/contain no-repeat;-webkit-mask:url('assets/logos/nju.png') center/contain no-repeat}
.imperial-logo{width:130px}
.sony-logo{width:104px}
.sony-logo svg{display:block;width:100%;height:auto;overflow:hidden}
.bupt-logo{width:180px}
.teaser-grid figcaption span{color:#707070;font-size:.8rem;margin-left:8px;white-space:nowrap}
@media(max-width:600px){.institution-logos{gap:12px 24px;max-width:340px;margin-top:16px}.institution-logo{height:40px}.nju-logo{width:128px}.imperial-logo{width:112px}.sony-logo{width:100px}.bupt-logo{width:150px}.institution-logo img{max-height:40px}}
