:root{--paper:#f7f8f4;--ink:#192b28;--muted:#64726d;--line:#dce3d9;--accent:#2c6c51;--accent-light:#e6eee4;--white:#fff;--blue:#33a3db;--orange:#e86e42;--red:#ff1640}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #3f9b73;outline-offset:4px}.container{max-width:1320px;margin:auto;padding-left:44px;padding-right:44px}.nav{height:78px;max-width:1450px;margin:auto;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;font-weight:750;letter-spacing:-1.1px;display:flex;align-items:center}.wordmark>span:first-child{color:var(--accent)}.logo-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin:5px 0 0 6px}.nav nav{display:flex;gap:28px;align-items:center;font-size:13px;font-weight:550}.nav a:hover,.text-link:hover{color:var(--accent)}.nav-github{border:1px solid var(--line);padding:8px 15px;border-radius:6px}.hero{display:grid;grid-template-columns:1fr 1.18fr;gap:60px;padding-top:92px;padding-bottom:88px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px;color:var(--accent);margin:0 0 20px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(55px,6vw,82px);line-height:1.02;font-weight:720;letter-spacing:-5px;margin:0 0 20px}h1 span{color:var(--accent)}.hero h2{font-size:clamp(24px,2.55vw,33px);line-height:1.24;letter-spacing:-1.1px;font-weight:530;margin:0 0 24px}.hero-description{color:var(--muted);font-size:14px;max-width:405px;line-height:1.85;margin:0 0 30px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:20px;border-radius:5px;padding:12px 17px;font-size:12px;font-weight:600;border:1px solid var(--line)}.primary{color:white;background:var(--accent);border-color:var(--accent)}.primary:hover{background:#23573f}.secondary:hover{background:var(--accent-light)}.hero-facts{display:flex;gap:26px;margin-top:34px;color:var(--muted);font-size:11px}.hero-facts span{border-right:1px solid var(--line);padding-right:24px}.hero-facts span:last-child{border:0;padding:0}.hero-facts b{display:block;color:var(--ink);font-size:23px;font-weight:600;line-height:1.4}.hero-visual{border:1px solid #d3dbce;border-radius:9px;overflow:hidden;background:#edf1e8;box-shadow:0 14px 40px #243b2810;transform:rotate(-.8deg)}.visual-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;color:#5e6f61;font-size:7px;letter-spacing:1px}.mini-dots{display:flex;gap:4px}.mini-dots i{width:5px;height:5px;background:#9aafa0;border-radius:50%}.live-label{font-size:7px;color:var(--accent)}.hero-visual video{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#eef1e9}.visual-caption{padding:13px 16px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:var(--muted)}.legend{display:flex;align-items:center;gap:6px}.legend i:nth-of-type(2){margin-left:8px}.legend i,.small-legend i,.viewer-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.right-hand{background:var(--blue)}.left-hand{background:var(--orange)}.contact-color{background:var(--red)}.dataset-band{display:flex;gap:40px;justify-content:center;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 24px;color:#778779;font-size:15px;letter-spacing:2px;font-weight:650}.section{padding-top:82px;padding-bottom:76px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:42px;margin-bottom:36px}.section-intro .eyebrow{margin-bottom:13px}.section-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3.4vw,42px);line-height:1.15;font-weight:400;letter-spacing:-1.1px;margin:0}.section-intro>p{font-size:13px;color:var(--muted);max-width:385px;margin:0;line-height:1.8}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;flex-wrap:wrap}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tabs button{border:1px solid transparent;background:transparent;color:var(--muted);padding:8px 16px;border-radius:5px;font-size:12px}.tabs button[aria-selected=true]{background:var(--ink);color:white}.tabs button:hover:not([aria-selected=true]){background:var(--accent-light)}select{border:1px solid var(--line);background:#ffffffa0;border-radius:5px;padding:7px 10px;max-width:100%;color:var(--ink);font-size:12px}.select-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.example-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.example-card video{display:block;width:100%;aspect-ratio:16/10;background:#e7eae4;object-fit:contain}.example-card.channels{grid-column:1/-1}.example-card.channels video{aspect-ratio:1536/360}.card-caption{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.card-caption h3{font-size:13px;letter-spacing:-.1px;font-weight:600;margin:0;overflow-wrap:anywhere}.card-caption p{font-size:10px;color:var(--muted);margin:4px 0 0}.card-caption button{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:7px 12px;font-size:10px;white-space:nowrap}.card-caption button:hover{background:var(--accent-light)}.role-chip{font-size:9px;border:1px solid var(--line);padding:2px 6px;border-radius:3px;margin-left:8px;color:var(--muted);white-space:nowrap}.result-note{font-size:11px;color:var(--muted);line-height:1.7;margin:16px 0 0}.small-legend{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:10px;color:var(--muted);padding-top:14px}.small-legend>span{display:flex;align-items:center;gap:6px}.explore-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eef2e9}.viewer-shell{border:1px solid #d0dbce;background:#fff;border-radius:8px;overflow:hidden}.viewer-topbar{padding:13px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px}.viewer-topbar label{display:flex;align-items:center;gap:12px}.viewer-topbar select{max-width:430px}.viewer-tools{display:flex;gap:6px}.viewer-tools button{font-size:10px;padding:6px 10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--muted)}.viewer-tools button:hover{background:var(--accent-light)}.viewer-stage{height:510px;position:relative;background:#f0f3ee}.viewer-stage canvas{display:block;width:100%;height:100%;touch-action:none}.scene-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;background:#edf2e8dd;margin:0;z-index:2}.scene-status[hidden]{display:none}.viewer-badge{position:absolute;top:20px;left:22px;font-size:9px;letter-spacing:1.5px;color:#637664;pointer-events:none}.viewer-badge span{padding:0 8px}.orbit-hint{position:absolute;right:20px;bottom:18px;font-size:10px;color:var(--muted);pointer-events:none;background:#f5f7f2aa;padding:3px 8px;border-radius:3px}.viewer-options{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:13px 18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.viewer-options label{display:flex;align-items:center;gap:5px;cursor:pointer}.viewer-options input{accent-color:var(--accent)}.viewer-legend{margin-left:auto;display:flex;align-items:center;gap:6px}.viewer-legend i:not(:first-child){margin-left:5px}.playback{padding:14px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:14px;background:#fafbf8}.play-button{background:var(--accent);color:#fff;border:0;border-radius:4px;font-size:11px;min-width:67px;padding:7px 13px}.playback input[type=range]{flex:1;min-width:0;accent-color:var(--accent);cursor:pointer}.playback output{font-variant-numeric:tabular-nums;font-size:10px;white-space:nowrap;color:var(--muted);min-width:120px;text-align:right}.comparison-selects{display:flex;align-items:center;gap:16px}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-grid figure{margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.comparison-grid figure.ours{border:1px solid #699f81}.comparison-grid figcaption{padding:12px 15px;font-size:12px;font-weight:550;display:flex;align-items:center;justify-content:space-between}.comparison-grid figcaption span{font-size:7px;letter-spacing:1px;color:var(--muted);font-weight:500}.comparison-grid .ours figcaption{color:var(--accent);background:#eef5eb}.comparison-grid video{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#eef0eb}.compare-playback{margin-top:14px;border:1px solid var(--line);border-radius:5px}.compare-playback output{min-width:56px}.compare-playback label{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.method-details{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:11px;color:var(--muted)}.method-details summary{cursor:pointer;font-weight:600;color:var(--ink)}.method-details p{max-width:960px;line-height:1.85}.about-block{padding-top:34px;padding-bottom:74px;max-width:870px;text-align:center}.about-block .eyebrow{justify-content:center}.about-block h2{font-size:34px;letter-spacing:-1.5px;margin:0}.about-block p{color:var(--muted);font-size:14px}.about-block .about-small{font-size:11px;margin:20px auto;max-width:640px;line-height:1.85}.text-link{font-size:11px;display:inline-block;margin:6px 14px;border-bottom:1px solid var(--line)}footer{padding-top:25px;padding-bottom:30px;border-top:1px solid var(--line);display:flex;align-items:center;gap:25px;justify-content:space-between}footer .wordmark{font-size:18px}footer p,footer>a:last-child{font-size:9px;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:var(--ink);color:white;padding:10px}.skip-link:focus{top:10px}.error-message{padding:30px;color:#974329}.video-error{padding:12px;font-size:11px;color:#974329}@media(max-width:1000px){.hero{gap:30px;padding-top:65px}.hero-visual{transform:none}.hero-actions{gap:8px}.button{padding:10px 12px}.container{padding-left:28px;padding-right:28px}.nav{padding:0 28px}.section-intro{gap:28px}.section-intro>p{max-width:310px}.viewer-legend{margin-left:0}.viewer-topbar select{max-width:300px}}@media(max-width:720px){.container{padding-left:20px;padding-right:20px}.nav{height:66px;padding:0 20px}.nav nav{gap:15px;font-size:10px}.nav nav>a:nth-child(2){display:none}.nav-github{padding:5px 9px}.wordmark{font-size:19px}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:45px;gap:35px}.hero h1{font-size:66px;letter-spacing:-4px}.hero h2{font-size:28px}.hero-description{max-width:470px}.hero-facts{margin-top:24px}.hero-visual{max-width:580px;width:100%}.visual-topline{font-size:6px}.dataset-band{gap:18px;font-size:11px;padding:18px;letter-spacing:1px}.section{padding-top:52px;padding-bottom:48px}.section-intro{display:block;margin-bottom:24px}.section-intro>p{margin-top:18px;max-width:100%}.section-intro h2{font-size:33px}.eyebrow{font-size:9px}.toolbar{gap:14px}.tabs{gap:2px}.tabs button{padding:7px 10px;font-size:11px}.gallery{grid-template-columns:1fr;gap:16px}.example-card.channels video{aspect-ratio:1536/360}.card-caption{padding:14px}.card-caption h3{font-size:12px}.card-caption p{font-size:9px}.small-legend{gap:10px;font-size:9px}.viewer-stage{height:380px}.viewer-topbar{padding:12px}.viewer-topbar label{width:100%}.viewer-topbar select{max-width:calc(100vw - 142px);flex:1}.viewer-options{gap:10px;padding:10px 12px}.viewer-legend{display:none}.playback{padding:12px;gap:9px}.playback output{min-width:95px;font-size:9px}.orbit-hint{font-size:8px;right:10px;bottom:10px}.viewer-badge{left:14px;font-size:8px;top:12px}.comparison-selects{width:100%;gap:10px;flex-wrap:wrap}.comparison-selects select{max-width:180px}.comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.comparison-grid figcaption{padding:9px 6px;font-size:9px;display:block;min-height:45px}.comparison-grid figcaption span{display:block;font-size:6px}.compare-playback label{gap:4px;font-size:9px}.compare-playback select{font-size:10px;padding:5px}.compare-playback output{min-width:42px}.about-block{padding-top:20px;padding-bottom:45px}footer{flex-wrap:wrap;padding-top:20px;padding-bottom:22px;gap:8px}footer p{order:3;flex-basis:100%;font-size:8px}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}} 

/* EgoHSI3R adaptation of Academic Project Page Template (CC BY-SA 4.0). */
:root{--paper:#ffffff;--ink:#1e293b;--muted:#64748b;--line:#e2e8f0;--accent:#2563eb;--accent-light:#eff6ff;--white:#ffffff}
body{font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;background:#fff;font-size:16px}.container{max-width:1200px}.nav{max-width:1320px;height:66px;border-bottom:0}.nav nav{font-size:12px}.nav .wordmark{font-size:20px}.hero{display:block;padding:0;gap:0}.publication-header .hero-body{padding:64px 24px 12px}.publication-header .container{max-width:1100px;padding:0}.publication-title{font-size:44px!important;letter-spacing:-1.4px!important;line-height:1.18!important;margin:0 0 24px!important}.project-title{font-size:56px;color:#2563eb!important;display:inline-block;margin-bottom:14px;letter-spacing:-2px;font-weight:800}.publication-subtitle{font-size:17px;line-height:1.7;color:var(--muted);margin:0 auto 18px;max-width:760px}.publication-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0}.publication-links .button{font-size:13px;padding:0 20px;height:44px;gap:9px;border-radius:24px!important}.resource-icon{font-size:15px}.github-icon{width:17px;height:17px}.teaser .container{max-width:1320px;padding:0 24px}.teaser .hero-body{padding:12px 0 40px}.publication-banner{max-height:none;margin:12px 0 22px;box-shadow:0 12px 35px #0f172a12;border:1px solid var(--line);border-radius:12px}.publication-banner video{display:block;width:100%;height:auto;max-height:690px;object-fit:contain;background:#f8fafc;aspect-ratio:3/2;border-radius:0}.teaser .teaser-caption{font-size:19px;line-height:1.65;color:#475569;margin:0 0 14px}.teaser-legend{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.teaser-legend span{display:flex;align-items:center;gap:7px}.teaser-legend i{width:8px;height:8px;display:inline-block;border-radius:50%}.dataset-band{font-size:14px;color:#64748b;letter-spacing:1.5px;background:#f8fafc}.section{padding-top:64px;padding-bottom:64px}.section-intro{display:block;text-align:center;margin-bottom:34px}.section-intro .eyebrow{justify-content:center;font-size:10px;letter-spacing:1.5px;margin-bottom:10px}.section-intro h2{font-family:Inter,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.7px;line-height:1.25;margin:0}.section-intro>p{max-width:760px;font-size:14px;line-height:1.8;margin:16px auto 0}.tabs button{font-weight:550}.tabs button[aria-selected=true]{background:#1e293b}.toolbar .tabs,.comparison-toolbar .tabs{margin-bottom:0}.tabs button{color:var(--muted)}.select-label{font-size:12px}.gallery{gap:24px}.example-card{border-radius:10px;box-shadow:0 4px 14px #0f172a06}.example-card video{aspect-ratio:16/10;background:#f8fafc}.example-card .card-caption>div{min-width:0}.card-caption h3{font-size:13px}.card-caption p{font-size:11px}.result-note{font-size:12px}.small-legend{font-size:11px}.explore-section{background:#f8fafc}.viewer-shell{border-color:var(--line);border-radius:12px}.viewer-stage{background:#f0f3ee}.viewer-tools button{font-size:11px}.viewer-options{font-size:11px}.viewer-topbar{font-size:12px}.playback{background:#f8fafc}.play-button{font-size:12px;min-width:74px}.comparison-grid figure{border-radius:8px}.comparison-grid figure.ours{border-color:#93b4eb}.comparison-grid .ours figcaption{background:#eff6ff}.comparison-grid figcaption{font-size:13px}.comparison-grid video{background:#f8fafc}.method-details{font-size:12px}.about-block{padding-top:25px;padding-bottom:60px}.about-block h2{font-size:32px;font-weight:700}.about-block p{font-size:15px}.about-block .about-small{font-size:12px;max-width:720px}.text-link{color:var(--accent);font-size:12px}.footer{display:block;background:#f8fafc;padding:32px 24px;border-top:1px solid var(--line)}.footer .container{max-width:1000px;padding:0}.footer p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 8px}.footer a{color:var(--accent)}.footer .container>a{font-size:11px;display:inline-block;margin-top:10px}
@media(max-width:1000px){.publication-title{font-size:37px!important}.project-title{font-size:50px}.publication-subtitle{font-size:16px}.publication-header .hero-body{padding-top:50px}.teaser .container{max-width:960px}.nav{padding:0 28px}.section-intro>p{max-width:700px}.section-intro h2{font-size:30px}.container{max-width:100%}}
@media(max-width:720px){.publication-header .hero-body{padding:38px 20px 8px}.publication-title{font-size:29px!important;letter-spacing:-.7px!important;line-height:1.22!important;margin-bottom:19px!important}.project-title{font-size:44px;letter-spacing:-1.5px;margin-bottom:12px}.title-break{display:none}.publication-subtitle{font-size:14px;line-height:1.7;max-width:370px}.publication-links{gap:0}.publication-links .button{height:38px;font-size:11px;padding:0 13px}.link-block a{margin:5px 3px}.teaser .container{padding:0 20px}.teaser .hero-body{padding-bottom:30px}.publication-banner{margin-top:12px;border-radius:9px}.teaser .teaser-caption{font-size:15px}.teaser-legend{gap:12px;font-size:9px}.teaser-legend>span:last-child{flex-basis:100%;justify-content:center}.section{padding-top:46px;padding-bottom:44px}.section-intro h2{font-size:26px}.section-intro>p{font-size:13px;margin-top:13px}.nav{padding:0 20px}.nav nav{font-size:10px}.section-intro{margin-bottom:25px}.viewer-options{font-size:10px}.viewer-tools button{font-size:10px}.comparison-grid figcaption{font-size:10px}.comparison-grid figure.ours figcaption{font-size:10px}.select-label{font-size:11px}.dataset-band{font-size:11px}.result-note{font-size:11px}.small-legend{font-size:10px}.example-card .card-caption p{font-size:9px}.about-block p{font-size:13px}.footer{padding:25px 20px}.footer p{font-size:10px}}

/* One encoded frame contains all three comparison panels. */
.comparison-player { overflow: hidden; border: 1px solid #e5e7eb; border-radius: 14px; background: #f8f9fb; }
.comparison-labels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); text-align: center; font-size: .9rem; font-weight: 600; }
.comparison-labels span { padding: 14px 5px; }
.comparison-labels .ours-label { color: #2563eb; background: #edf3ff; }
.comparison-player video { display: block; width: 100%; height: auto; }
.section-intro { margin-bottom: 24px; }
.teaser .hero-body { padding-bottom: 0; }
@media (max-width: 600px) { .comparison-labels { font-size: .72rem; } .comparison-labels span { padding: 10px 2px; } }

/* Consistent media slots preserve the full source frame at every resolution. */
.teaser-grid { display:grid; grid-template-columns:repeat(5,minmax(180px,1fr)); gap:12px; margin:20px 0 12px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scroll-snap-type:x proximity; padding-bottom:5px; }
.teaser-card { min-width:0; scroll-snap-align:start; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 4px 18px #0f172a05; }
.teaser-card h2 { margin:0; padding:11px 14px; font-size:12px; font-weight:600; line-height:1.4; letter-spacing:0; color:var(--muted); }
.media-stage { position:relative; isolation:isolate; width:100%; aspect-ratio:4/3; overflow:hidden; background:#f4f6f9; }
.media-stage::before { content:""; position:absolute; z-index:-1; inset:-24px; background-image:var(--media-poster); background-size:cover; background-position:center; filter:blur(24px); opacity:.16; }
.media-stage video,.example-card .media-stage video { position:absolute; inset:0; display:block; width:100%; height:100%; aspect-ratio:auto; max-height:none; object-fit:contain; background:transparent; }
.example-card { min-width:0; }
.example-card.channels .media-stage { aspect-ratio:1536/360; }
.card-caption { min-height:66px; }
.teaser-controls { display:flex; justify-content:flex-end; margin:0 0 8px; }
.teaser-controls button { min-width:62px; border:1px solid var(--line); border-radius:6px; padding:5px 12px; background:#fff; font-size:11px; color:var(--muted); }
.teaser-controls button:hover { background:var(--accent-light); color:var(--accent); }
.comparison-player video { width:100%; aspect-ratio:3/1; height:auto; object-fit:contain; background:#f9f9f9; }
.viewer-topbar label { min-width:0; }
.viewer-topbar select { min-width:0; width:min(320px,100%); }
@media(max-width:720px) { .teaser-grid { gap:10px; } .teaser-card h2 { padding:8px 10px; font-size:11px; } .teaser-card { border-radius:8px; } .card-caption { min-height:60px; } }

.skip-link { top:10px; clip-path:inset(50%); transform:translateY(calc(-100% - 20px)); }
.skip-link:focus { clip-path:none; transform:none; }

.publication-header .hero-body { padding-top:64px; }
.resource-placeholder { cursor:default; pointer-events:none; }
.resource-svg { width:18px; height:18px; }
.arxiv-icon { font-family:Georgia,serif; font-size:23px; line-height:1; }
@media(max-width:720px) { .publication-header .hero-body { padding-top:44px; } }

.comparison-list { display:grid; gap:40px; }
.comparison-card { position:relative; min-width:0; }
.comparison-clip-title { margin:0 0 12px; font-size:13px; font-weight:600; color:var(--muted); }
.method-grid { display:grid; gap:12px; }
.camera-method-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.world-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.method-panel { min-width:0; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#f9f9f9; }
.method-panel figcaption { padding:10px 12px; text-align:center; font-size:12px; font-weight:600; background:#fff; }
.method-panel.ours { border-color:#a6bef7; }
.method-panel.ours figcaption { color:var(--accent); background:#eff6ff; }
.method-panel canvas { display:block; width:100%; height:auto; aspect-ratio:1; }
.comparison-source { position:absolute; left:0; bottom:0; width:1px; height:1px; opacity:0; pointer-events:none; }
.world-comparison-section { background:#f8fafc; border-top:1px solid var(--line); }
@media(max-width:720px) { .camera-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .method-grid { gap:8px; } .method-panel figcaption { font-size:10px; padding:8px 5px; } .comparison-list { gap:30px; } }

/* Each coordinate space keeps its own scene selector and one compact method row. */
.comparison-section { padding-top:38px; padding-bottom:38px; }
.comparison-section .section-intro { margin-bottom:18px; }
.comparison-section .section-intro h2 { font-size:28px; }
.compact-toolbar { display:flex; justify-content:flex-end; margin:0 0 12px; }
.compact-toolbar select { min-width:160px; }
.comparison-card[hidden] { display:none; }
.camera-method-grid,.world-method-grid { grid-template-columns:repeat(var(--method-count),minmax(0,1fr)); grid-auto-flow:column; gap:8px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scroll-snap-type:x proximity; padding-bottom:5px; }
.method-panel { border-radius:7px; scroll-snap-align:start; }
.method-panel figcaption { padding:7px 5px; font-size:11px; white-space:nowrap; }
.comparison-card .compare-playback { margin-top:8px; padding:10px 12px; }
@media(max-width:900px) { .camera-method-grid,.world-method-grid { grid-template-columns:repeat(var(--method-count),minmax(154px,1fr)); } }
@media(max-width:720px) { .comparison-section { padding-top:30px; padding-bottom:30px; } .comparison-section .section-intro h2 { font-size:24px; } .compact-toolbar select { min-width:150px; } .method-panel figcaption { font-size:10px; } }

.viewer-stage { background:#17202b; }
.point-size-control input[type=range] { width:76px; min-width:0; cursor:pointer; }
.point-size-control { gap:8px; }
@media(max-width:720px) { .point-size-control input[type=range] { width:62px; } }
