/* PointWorld-style clean-room reconstruction.
   Scientific text/assets are placeholders; layout measurements mirror the public project page. */

:root{--pw-viser-playback-dock-height:52px}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans',sans-serif;color:#363636}
a{color:#3273dc}
.hero .hero-body{padding-top:3rem;padding-bottom:3rem}
.teaser-section{padding-top:2rem;padding-bottom:2rem}
.teaser-section .teaser-image{margin:0 auto;max-width:100%}
.teaser-section .teaser-image img,.teaser-section .teaser-image video{display:block;width:100%;height:auto}
.teaser-caption{margin-top:1.5rem;max-width:60rem;margin-left:auto;margin-right:auto;font-size:var(--teaser-caption-size,clamp(1.05rem,1vw + .9rem,1.25rem));line-height:var(--teaser-caption-line-height,1.6)}

.publication-title{font-family:'Google Sans',sans-serif;color:#8C1515}
.publication-authors{font-family:'Google Sans',sans-serif}
.publication-authors a{color:#000!important}
.publication-authors a:hover{text-decoration:underline;color:#414141!important}
.author-block{display:inline-block}
.affiliation{font-family:'Google Sans',sans-serif;margin-top:.35rem}
.affiliation-note{font-family:'Google Sans',sans-serif;font-size:.95rem;margin-top:.15rem;color:#8a929d}
.publication-venue{display:inline-block;color:#8C1515;font-family:'Google Sans',sans-serif;font-size:1.1em;font-weight:600;line-height:1.3;margin-top:.2em;padding-bottom:.2em}
.publication-awards{color:#8C1515;display:block;width:fit-content;margin:0 auto;padding-bottom:.55em;font-family:'Google Sans',sans-serif;font-size:1.05em;font-weight:600;line-height:1.35}
.publication-awards a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}

.button-container{color:#53565A;justify-content:center;display:flex;gap:.75em;padding-top:.75em;flex-wrap:wrap}
.button{color:#53565A;font-family:'Google Sans',sans-serif;border-radius:.6em;min-width:9em;padding:.7em 1.2em;display:inline-flex;justify-content:center;align-items:center;font-size:1em;line-height:1.2;border:0;background-color:#f2f2f2;text-align:center;white-space:nowrap;box-shadow:0 6px 18px rgba(83,86,90,.12);transition:transform .15s ease,box-shadow .15s ease}
.button i{margin-right:.35em}.button:hover{background-color:#f2f2f2;filter:brightness(97%);transform:translateY(-1px);box-shadow:0 10px 22px rgba(83,86,90,.18)}

.resource-menu{position:relative;display:inline-flex;align-items:stretch;z-index:30}
.resource-menu::after{content:'';position:absolute;top:100%;left:50%;width:min(20rem,calc(100vw - 2rem));height:.65rem;transform:translateX(-50%)}
.resource-trigger{cursor:pointer}.resource-caret{margin-left:.45em;margin-right:0!important;font-size:.8em;transition:transform .15s ease}
.resource-dropdown{position:absolute;top:calc(100% + .55rem);left:50%;width:min(20rem,calc(100vw - 2rem));padding:.45rem;border:1px solid rgba(140,21,21,.1);border-radius:.8rem;background:rgba(255,255,255,.98);box-shadow:0 18px 38px rgba(83,86,90,.18);opacity:0;pointer-events:none;text-align:left;transform:translate(-50%,-.25rem);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;visibility:hidden}
.resource-menu:hover .resource-dropdown,.resource-menu:focus-within .resource-dropdown{opacity:1;pointer-events:auto;transform:translate(-50%,0);visibility:visible}
.resource-menu:hover .resource-caret,.resource-menu:focus-within .resource-caret{transform:rotate(180deg)}
.resource-dropdown::before{content:'';position:absolute;top:-.36rem;left:50%;width:.7rem;height:.7rem;background:inherit;border-left:1px solid rgba(140,21,21,.1);border-top:1px solid rgba(140,21,21,.1);transform:translateX(-50%) rotate(45deg)}
.resource-link{position:relative;display:block;padding:.68rem .75rem;border-radius:.55rem;color:#3f4246;font-family:'Google Sans',sans-serif;line-height:1.2;text-decoration:none}
.resource-link:hover,.resource-link:focus{background:#f6f1f1;color:#8C1515;outline:none}.resource-link span,.resource-link small{display:block}.resource-link span{font-size:.95rem;font-weight:650}.resource-link small{margin-top:.18rem;color:#777;font-size:.78rem}

.walkthrough-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.walkthrough-frame video,.walkthrough-frame iframe{width:100%;height:100%;border:0;display:block;object-fit:contain}
.is-hidden{display:none!important}

.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.result-card{background:#fff;border:1px solid #e4e8ef;border-radius:8px;padding:1.1rem 1.2rem;box-shadow:0 14px 28px rgba(12,34,67,.08)}
.result-kicker{display:block;color:#8C1515;font-family:'Google Sans',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.result-number{display:block;color:#1c2430;font-family:'Google Sans',sans-serif;font-size:2rem;line-height:1.1;margin:.3rem 0 .55rem}
.result-card p{color:#4a5163;font-size:.95rem;line-height:1.5;margin:0}
.result-table-wrap{margin-top:1rem}.result-table th{font-family:'Google Sans',sans-serif}.result-table strong{color:#8C1515}
.result-subtitle{margin-top:2.5rem}

.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.15rem 0 0}
.method-card{position:relative;display:flex;min-height:14rem;flex-direction:column;padding:1.35rem 1.25rem 1.2rem;overflow:hidden;border:1px solid #e4e8ef;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(12,34,67,.075)}.method-card::before{content:'';position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,#8c1515,rgba(140,21,21,.15))}
.method-index{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:1.45rem;margin-bottom:1rem;border:1px solid rgba(140,21,21,.24);border-radius:999px;background:rgba(140,21,21,.06);color:#8c1515;font-family:'Google Sans',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.07em}.method-card-kicker{position:absolute;top:1.5rem;right:1.25rem;color:#8c1515;font-family:'Google Sans',sans-serif;font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.method-card h3{margin-bottom:.55rem!important;color:#202735}.method-card p{color:#4a5163;line-height:1.55;margin:0}.method-card-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:1rem}.method-card-meta span{padding:.28rem .5rem;border-radius:5px;background:#f3f5f8;color:#687184;font-size:.68rem;font-weight:650}
.method-card[role="tab"]{cursor:pointer}.method-card[role="tab"]:focus-visible{outline:2px solid rgba(140,21,21,.42);outline-offset:3px}.method-card[role="tab"].is-active{border-color:rgba(140,21,21,.38);box-shadow:0 16px 32px rgba(140,21,21,.11)}
.method-detail-panels{margin-top:1rem}.method-detail-panel{display:grid;grid-template-columns:minmax(16rem,.78fr) minmax(0,1.22fr);gap:1.8rem;align-items:center;min-height:30rem;padding:1.75rem;border:1px solid #dfe4eb;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fafbfc 100%);box-shadow:0 20px 44px rgba(12,34,67,.09)}.method-detail-panel[hidden]{display:none!important}.method-detail-panel--pipeline{grid-template-columns:minmax(16rem,.78fr) minmax(0,1.22fr)}
.method-detail-kicker{display:block;margin-bottom:.55rem;color:#8c1515;font-family:'Google Sans',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.method-detail-copy h3{margin:0 0 .75rem;color:#202735;font-family:'Google Sans',sans-serif;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:700;line-height:1.24;letter-spacing:-.02em}.method-detail-copy>p{margin:0;color:#535d6d;font-size:.9rem;line-height:1.6}.method-detail-copy>p strong{color:#303846}.method-detail-note{margin-top:1rem!important;color:#687184!important;font-size:.9rem!important;line-height:1.6!important}
.method-relation{display:grid;grid-template-columns:1fr auto 1fr;gap:.55rem;align-items:center;margin-top:1.15rem}.method-relation>div{min-width:0;padding:.7rem;border:1px solid #e1e5eb;border-radius:8px;background:#fff}.method-relation strong,.method-relation span{display:block}.method-relation>div strong{color:#303846;font-family:'Google Sans',sans-serif;font-size:.82rem}.method-relation>div span{margin-top:.18rem;color:#747d8c;font-size:.68rem}.method-relation-link{color:#8c1515;font-family:'Google Sans',sans-serif;font-size:.76rem;font-weight:800;text-align:center}.method-relation-link::before,.method-relation-link::after{content:'↔';display:block;font-size:1rem;line-height:.75}.method-relation-link::after{display:none}.method-relation-link small{display:block;color:#8c1515;font-size:.58rem;font-weight:650}
.method-detail-list{margin:1rem 0 0 1.1rem;color:#596273;font-size:.9rem;line-height:1.6;list-style:disc outside}.method-detail-list li{display:list-item}.method-detail-list li+li{margin-top:.3rem}.method-detail-list li::marker{color:#202020}.method-detail-media{min-width:0;margin:0}.method-detail-media video,.method-detail-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;border:1px solid #dfe4eb;border-radius:10px;background:#111;box-shadow:0 14px 30px rgba(12,34,67,.12)}.method-detail-media--pipeline img{background:#fff}.method-detail-media figcaption{margin-top:.55rem;color:#747d8c;font-size:.75rem;line-height:1.4;text-align:center}
.paper-figure{margin:2rem auto 0;max-width:960px;text-align:center}.paper-figure img{display:block;width:100%;border-radius:8px;border:1px solid #e4e8ef;box-shadow:0 20px 44px rgba(12,34,67,.12)}.paper-figure figcaption{margin-top:.65rem;color:#586174;font-size:.92rem}
.experiment-overview-board{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);margin:2.25rem auto 0;overflow:hidden;background:#fff;border:1px solid #dde3ec;border-radius:16px;box-shadow:0 22px 48px rgba(12,34,67,.11)}
.overview-column{display:flex;flex-direction:column;min-width:0;padding:1.35rem 1.4rem 1.45rem}.overview-column--real{border-left:1px solid #e4e8ef;background:linear-gradient(145deg,#fff 0%,#faf7f7 100%)}
.overview-column-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.05rem;padding-bottom:.8rem;border-bottom:1px solid #e8ebf0}.overview-column-header h3,.overview-column-header h4{margin:0;color:#1c2430;font-family:'Google Sans',sans-serif;font-size:1.08rem;font-weight:700;line-height:1.25}
.overview-eyebrow{flex:0 0 auto;color:#8c1515;font-family:'Google Sans',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.simulation-overview-stack{display:flex;flex:1;flex-direction:column;justify-content:center;gap:1.15rem;min-width:0}
.overview-figure{min-width:0;margin:0}.overview-figure img{display:block;width:100%;height:auto;border:1px solid #e0e4ea;border-radius:7px;background:#f4f5f7}
.overview-figure figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-top:.5rem;color:#707787;font-size:.8rem;line-height:1.35}.overview-figure figcaption strong{color:#303746;font-family:'Google Sans',sans-serif;font-size:.92rem}.overview-figure figcaption span{text-align:right}
.overview-figure--real{margin:0}.real-setting-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:1rem;padding-top:0}
.real-setting-facts div{display:flex;min-width:0;align-items:center;gap:.48rem;padding:.6rem .55rem;background:rgba(140,21,21,.055);border:1px solid rgba(140,21,21,.09);border-radius:8px}.real-setting-facts strong{color:#8c1515;font-family:'Google Sans',sans-serif;font-size:1.35rem;line-height:1}.real-setting-facts span{color:#555e6e;font-size:.68rem;font-weight:650;line-height:1.2}

.experiment-section{background:linear-gradient(180deg,#fff 0%,#f8f9fb 48%,#fff 100%)}
.experiment-subsection{margin-top:2rem}.experiment-subsection+.experiment-subsection{margin-top:4rem;padding-top:3.25rem;border-top:1px solid #dfe4eb}
.experiment-subsection-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;margin-bottom:1.8rem;padding:0 0 1rem;border-bottom:1px solid #dfe4eb}
.experiment-subsection-header>div{display:grid;grid-template-columns:minmax(9rem,.38fr) minmax(0,1fr);align-items:center;gap:1.5rem}
.experiment-subsection-header .title{margin:0!important;color:#202735;font-size:1.65rem;line-height:1.15;letter-spacing:-.02em}
.experiment-subsection-header p{max-width:42rem;margin:0;color:#687184;font-size:.95rem;line-height:1.5}
.experiment-subsection-index{display:inline-flex;align-items:center;justify-content:center;min-width:2.55rem;height:1.75rem;padding:0 .55rem;border:1px solid rgba(140,21,21,.3);border-radius:999px;background:rgba(140,21,21,.06);color:#8c1515;font-family:'Google Sans',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.08em}
.setting-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid #dde3ec;border-radius:14px;background:#fff;box-shadow:0 18px 38px rgba(12,34,67,.09)}
.setting-video-panel{min-width:0;padding:1.15rem;background:#fff;border:0;border-radius:0;box-shadow:none}.setting-video-panel+ .setting-video-panel{border-left:1px solid #dde3ec}
.setting-video-header{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.85rem}.setting-video-header h4{margin:0;color:#1c2430;font-family:'Google Sans',sans-serif;font-size:1.05rem;font-weight:700}
.setting-player-shell{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#0f131a;border-radius:9px;box-shadow:0 12px 25px rgba(12,20,35,.16)}.setting-video{display:block;width:100%;height:100%;object-fit:contain;background:#0f131a}
.setting-video-copy{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;min-height:2.9rem;padding:.7rem .15rem .55rem}.setting-video-copy strong{color:#262d39;font-family:'Google Sans',sans-serif;font-size:.92rem}.setting-video-copy span{color:#737c8d;font-size:.76rem;text-align:right}
.setting-carousel{display:flex;align-items:center;gap:.55rem}.setting-arrow{flex:0 0 2rem;width:2rem;height:2rem;padding:0;border:1px solid #d7dce5;border-radius:50%;background:#fff;color:#303746;font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 5px 12px rgba(12,34,67,.08)}.setting-arrow:hover,.setting-arrow:focus{border-color:#8c1515;color:#8c1515;outline:none}
.setting-thumbs{display:flex;flex:1;min-width:0;gap:.6rem;overflow-x:auto;padding:.2rem .1rem .45rem;scroll-behavior:smooth;scrollbar-width:none}.setting-thumbs::-webkit-scrollbar{display:none}
.setting-thumb{display:block;flex:0 0 8.5rem;width:8.5rem;padding:.35rem;border:1px solid #dfe3e9;border-radius:9px;background:#fff;color:#4a5261;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.setting-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:#111}.setting-thumb span{display:block;overflow:hidden;margin-top:.35rem;padding:0 .1rem;font-family:'Google Sans',sans-serif;font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.setting-thumb:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(12,34,67,.1)}.setting-thumb.is-active{border-color:#8c1515;box-shadow:0 0 0 1px rgba(140,21,21,.15),0 8px 18px rgba(140,21,21,.12);color:#8c1515}.setting-thumb:focus{outline:2px solid rgba(140,21,21,.4);outline-offset:2px}
.setting-pagination{display:flex;justify-content:center;gap:.4rem;min-height:.45rem;margin-top:.15rem}.setting-pagination .carousel-dot{width:.45rem;height:.45rem;background:#c4cad4;box-shadow:none}.setting-pagination .carousel-dot.is-active{background:#8c1515;box-shadow:none}
.experiment-overview-board{margin-top:1.75rem}.experiment-result-heading{margin:0 0 .85rem!important;color:#303746}.qualitative-results-title{margin-top:3.5rem!important;padding-top:2.5rem;border-top:1px solid #dfe4eb}

.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}
.media-card{background:#fff;border:1px solid #e4e8ef;border-radius:8px;padding:1rem;box-shadow:0 16px 30px rgba(12,34,67,.08)}
.media-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#10131a;border-radius:6px}
.media-card h3{font-family:'Google Sans',sans-serif;font-size:1.05rem;font-weight:700;margin:.85rem 0 .35rem;color:#1c2430}
.media-card p{color:#4a5163;font-size:.92rem;line-height:1.5;margin:0}

.interactive-failure-shell{width:min(1280px,calc(100% - 2rem));margin:2rem auto;overflow:hidden;border:1px solid #e1e4e8;border-radius:24px;background:linear-gradient(145deg,#f7f8f9 0%,#eef0f2 52%,#fafafa 100%);box-shadow:0 20px 46px rgba(39,48,61,.08)}.interactive-failure-shell>.section{background:transparent}
.failure-cases-section{border-top:0;background:transparent}.failure-cases-intro{max-width:46rem;margin:.4rem auto 1.6rem;color:#687184;font-size:.95rem;line-height:1.55;text-align:center}
.failure-carousel{padding:1.35rem;border:1px solid #dde3ec;border-radius:16px;background:#fff;box-shadow:0 20px 44px rgba(12,34,67,.09)}.failure-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);overflow:hidden;border:1px solid #dfe4eb;border-radius:12px;background:#f7f8fa}.failure-player-shell{min-width:0;aspect-ratio:16/9;background:#10131a}.failure-video{display:block;width:100%;height:100%;object-fit:contain;background:#10131a}.failure-analysis{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:1.5rem;border-left:1px solid #dfe4eb;background:#fff}.failure-category{margin-bottom:.55rem;color:#8c1515;font-family:'Google Sans',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.failure-analysis h3{margin:0 0 .7rem;color:#202735;font-family:'Google Sans',sans-serif;font-size:1.45rem;font-weight:700;line-height:1.25}.failure-summary{margin:0;color:#596273;font-size:.9rem;line-height:1.6}.failure-cause{margin-top:1.15rem;padding:1rem;border-left:3px solid #8c1515;border-radius:0 8px 8px 0;background:#f8f3f3}.failure-cause strong{display:block;margin-bottom:.35rem;color:#303846;font-family:'Google Sans',sans-serif;font-size:.78rem}.failure-cause p{margin:0;color:#596273;font-size:.84rem;line-height:1.55}
.failure-selector{display:flex;align-items:center;gap:.7rem;margin-top:1rem}.failure-arrow{flex:0 0 2.25rem;width:2.25rem;height:2.25rem;padding:0;border:1px solid #d7dce5;border-radius:50%;background:#fff;color:#303746;font-size:1.45rem;line-height:1;cursor:pointer;box-shadow:0 5px 12px rgba(12,34,67,.08)}.failure-arrow:hover,.failure-arrow:focus{border-color:#8c1515;color:#8c1515;outline:none}.failure-thumbs{display:flex;flex:1;min-width:0;gap:.7rem;overflow-x:auto;padding:.2rem .1rem .45rem;scroll-behavior:smooth;scrollbar-width:none}.failure-thumbs::-webkit-scrollbar{display:none}.failure-thumb{display:grid;grid-template-columns:4.5rem minmax(0,1fr);flex:1 0 15rem;align-items:center;gap:.7rem;min-width:0;padding:.45rem;border:1px solid #dfe3e9;border-radius:10px;background:#fff;color:#4a5261;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.failure-thumb:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(12,34,67,.09)}.failure-thumb.is-active{border-color:#8c1515;box-shadow:0 0 0 1px rgba(140,21,21,.14),0 8px 18px rgba(140,21,21,.1)}.failure-thumb:focus-visible{outline:2px solid rgba(140,21,21,.4);outline-offset:2px}.failure-thumb img{display:block;width:4.5rem;aspect-ratio:1;object-fit:cover;border-radius:7px;background:#111}.failure-thumb strong,.failure-thumb small{display:block}.failure-thumb strong{color:#303746;font-family:'Google Sans',sans-serif;font-size:.82rem;line-height:1.25}.failure-thumb small{margin-top:.18rem;color:#7a8290;font-size:.68rem;line-height:1.3}.failure-pagination{display:flex;justify-content:center;gap:.4rem;min-height:.5rem;margin-top:.15rem}.failure-pagination .carousel-dot{width:.45rem;height:.45rem;background:#c4cad4;box-shadow:none}.failure-pagination .carousel-dot.is-active{background:#8c1515;box-shadow:none}
.acknowledgements-section{border-top:1px solid #e3e7ed;background:#fafbfc}.acknowledgements-copy{max-width:54rem;margin:0 auto;color:#596273;font-size:.95rem;line-height:1.7;text-align:justify}

.experiment-card{padding:1.75rem}.experiment-card h3{margin-bottom:1rem}
.experiment-video-wrapper{position:relative;width:100%;border-radius:10px;overflow:hidden;margin-bottom:1.25rem;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.experiment-card .experiment-video-wrapper:last-child{margin-bottom:0}
.experiment-video-wrapper .experiment-video{width:100%;display:block;border-radius:0;margin-bottom:0;box-shadow:none}
.video-speed-badge{position:absolute;top:.65rem;right:.65rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;padding:.3rem .7rem;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.6));border:1px solid rgba(255,255,255,.7);color:#1d2d48;font-family:'Noto Sans',sans-serif;font-weight:800;font-size:.9rem;letter-spacing:.03em;box-shadow:0 12px 28px rgba(15,35,72,.18);backdrop-filter:blur(8px);pointer-events:none;user-select:none}

.interactive-carousel{display:flex;align-items:center;gap:1.1rem;margin-bottom:0}
.interactive-arrow,.dataset-arrow{background:transparent;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#1c2430;padding:0 .5rem}
.interactive-arrow:focus,.dataset-arrow:focus{outline:2px solid #1c2430;outline-offset:2px}
.interactive-thumbs{display:flex;gap:1.1rem;overflow-x:auto;padding:.5rem 0 0;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.interactive-thumbs::-webkit-scrollbar{display:none}
.interactive-pagination,.dataset-pagination{display:flex;justify-content:center;gap:.5rem;margin-top:.1rem;margin-bottom:.2rem}
.carousel-dot{width:.6rem;height:.6rem;border-radius:50%;border:none;background:rgba(24,24,24,.75);box-shadow:0 3px 6px rgba(0,0,0,.25);cursor:pointer;transition:transform .2s ease,background .2s ease;padding:0}
.carousel-dot.is-active{background:rgba(24,24,24,1);transform:scale(1.3);box-shadow:0 4px 10px rgba(0,0,0,.3)}
.carousel-dot:focus{outline:2px solid rgba(24,24,24,.85);outline-offset:3px}

.interactive-thumb{display:flex;align-items:center;justify-content:center;border:1px solid #cfd6e5;border-radius:16px;padding:.75rem;background:#fff;cursor:pointer;min-width:16rem;flex:0 0 16rem;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.interactive-thumb img{width:100%;border-radius:12px;aspect-ratio:16/9;object-fit:cover;box-shadow:0 10px 22px rgba(0,0,0,.16)}
.interactive-thumb.is-active{border-color:rgba(17,17,17,.95);box-shadow:0 18px 34px rgba(0,0,0,.22);transform:translateY(-2px)}
.interactive-thumb:focus{outline:2px solid rgba(17,17,17,.95);outline-offset:2px}

.interactive-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;max-width:1152px;margin-left:auto;margin-right:auto}.interactive-card--inputs{grid-column:1/-1}
.interactive-card{background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,#fff 100%);border-radius:18px;padding:1.75rem;box-shadow:0 24px 48px rgba(12,34,67,.12)}
.interactive-card--inputs,.interactive-card--viewer{padding-bottom:2rem}
.interactive-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem}.interactive-image-grid--b1k{grid-template-columns:repeat(3,minmax(0,1fr))}
.interactive-image-grid figure{margin:0}.interactive-image-grid img{width:100%;border-radius:14px;box-shadow:0 18px 32px rgba(0,0,0,.15)}.interactive-image-grid figcaption{margin-top:.4rem;font-size:.85rem;text-align:center;color:#4a5163;font-weight:600}
.interactive-viewer{position:relative;width:100%;padding-top:56.25%;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(39,70,144,.2),rgba(39,70,144,0));box-shadow:0 26px 48px rgba(12,34,67,.2);margin-top:1.5rem}
.interactive-viewer.pw-viser-with-playback{padding-top:calc(56.25% + var(--pw-viser-playback-dock-height))}
.interactive-iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.viser-banner{position:absolute;top:.75rem;left:.75rem;z-index:2;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.28));border:1px solid rgba(255,255,255,.6);color:#1d2d48;font-family:'Noto Sans',sans-serif;font-weight:700;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px);pointer-events:none}
.viser-banner::before{content:'↻';font-size:1.15em;line-height:1}.viser-banner--interactive{font-size:.95rem;letter-spacing:.08em;padding:.5rem 1.2rem;box-shadow:0 20px 40px rgba(17,46,92,.25)}.viser-banner--dataset{font-size:.9rem;padding:.45rem 1.05rem}
.viser-banner.is-placeholder{top:50%;left:50%;transform:translate(-50%,-50%);max-width:min(32rem,85%);text-align:center;text-transform:none;letter-spacing:.01em;font-weight:650;font-size:.95rem;line-height:1.35;padding:.75rem 1.6rem;gap:.6rem;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 42px rgba(15,35,72,.22)}
.viser-banner.is-placeholder::before{content:'↑';font-size:1.15em;opacity:.75}

.interactive-instructions{background:linear-gradient(120deg,rgba(21,57,124,.08),rgba(255,255,255,.9));border-radius:20px;padding:1.75rem 2rem;margin:1.5rem 0 2rem;box-shadow:0 24px 48px rgba(12,34,67,.12)}
.interactive-instructions-body>p{margin-bottom:1rem}.interactive-instructions ul{list-style:disc;margin:0 0 1rem 1.75rem}.interactive-instructions li{margin-bottom:.4rem}
.interactive-note{margin:0;background:rgba(255,255,255,.6);border-radius:12px;padding:.75rem 1rem;border-left:3px solid #274690}
.interactive-highlight-magenta{color:#ff3fb0;font-weight:600}.interactive-highlight-rainbow{background:linear-gradient(90deg,#8f6bff,#47bdd8,#ff9f4d,#f00);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:600;display:inline-block}
.interactive-instructions .interactive-carousel{margin:1rem 0 .15rem}
.interactive-row{display:flex;align-items:center;gap:.5rem;margin:.2rem 0 0}#interactive-row-b1k{margin-bottom:.9rem}
.interactive-left-label{flex:0 0 100px;max-width:110px;display:flex;align-items:center;justify-content:center;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#1c2430;text-align:center}
.interactive-right{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.interactive-row .interactive-carousel{flex:0 0 auto;min-width:0}

.dataset-link{color:inherit;text-decoration:underline}.dataset-link:hover{color:#1d7f5a}.dataset-section{margin-top:4rem}.dataset-intro{margin:0 0 1.75rem;font-size:1.05rem;color:#3d4657}
.dataset-carousel{display:flex;align-items:center;gap:1.25rem;margin-bottom:.25rem}.dataset-thumbs{display:flex;gap:1rem;overflow-x:auto;padding:.75rem 0 .2rem;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.dataset-thumbs::-webkit-scrollbar{display:none}
.dataset-pagination{gap:.55rem;margin-top:.05rem;margin-bottom:.85rem}
.dataset-thumb{display:flex;align-items:center;justify-content:center;border:1px solid #cfd6e5;border-radius:16px;padding:.75rem;background:#fff;cursor:pointer;min-width:14rem;flex:0 0 14rem;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.dataset-thumb img{width:100%;border-radius:12px;aspect-ratio:16/9;object-fit:cover;box-shadow:0 12px 26px rgba(0,0,0,.18)}.dataset-thumb.is-active{border-color:rgba(17,17,17,.95);box-shadow:0 20px 34px rgba(0,0,0,.22);transform:translateY(-2px)}.dataset-thumb:focus{outline:2px solid rgba(17,17,17,.95);outline-offset:2px}
.dataset-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.5rem}.dataset-strip-label{display:block;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.65rem .5rem;border-radius:999px;box-shadow:0 12px 24px rgba(12,34,67,.15)}
.dataset-strip-label--ours{background:linear-gradient(120deg,rgba(126,216,171,.9),rgba(63,173,121,.85));color:#08361e}.dataset-strip-label--original{background:linear-gradient(120deg,rgba(255,186,186,.95),rgba(255,137,137,.85));color:#5d1a1a}
.dataset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.dataset-block{background:#fff;border-radius:20px;padding:1.1rem .9rem .85rem;box-shadow:0 24px 48px rgba(12,34,67,.12)}.dataset-block--ours{background:linear-gradient(180deg,rgba(126,216,171,.16),rgba(255,255,255,.98))}.dataset-block--original{background:linear-gradient(180deg,rgba(255,172,172,.2),rgba(255,255,255,.98))}
.dataset-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.1rem}.dataset-image-grid figure{margin:0}.dataset-image-grid img{width:100%;border-radius:14px;box-shadow:0 16px 30px rgba(0,0,0,.16)}.dataset-image-grid figcaption{margin-top:.35rem;font-size:.85rem;text-align:center;color:#3d4657;font-weight:600}
.dataset-viewer{position:relative;width:100%;padding-top:100%;border-radius:18px;overflow:hidden;box-shadow:0 28px 48px rgba(12,34,67,.22);margin-top:.3rem;background:radial-gradient(circle at 20% 20%,rgba(0,0,0,.08),rgba(0,0,0,0))}.dataset-iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dataset-block--viewer h3{margin-bottom:.4rem;padding-top:.4rem}.dataset-block--viewer h3.title,.interactive-card--viewer h3.title,.dataset-block--inputs h3.title,.interactive-card--inputs h3.title{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}

.hint-banner{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .9rem;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.28));border:1px solid rgba(255,255,255,.6);color:#1d2d48;font-family:'Noto Sans',sans-serif;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 12px 28px rgba(15,35,72,.18);backdrop-filter:blur(8px);white-space:nowrap}.hint-banner::before{content:'🔍';font-size:1.05em;line-height:1}.hint-banner--zoom,.hint-banner--move{font-size:.8rem}.hint-banner--move::before{content:'↻';font-size:1.15em}
.dataset-magnifier-lens{position:fixed;z-index:9999;width:180px;height:180px;border-radius:16px;background-repeat:no-repeat;background-position:center center;background-size:cover;box-shadow:0 18px 42px rgba(12,34,67,.28),inset 0 0 0 1px rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.08);backdrop-filter:saturate(1.1) contrast(1.02);pointer-events:none}.dataset-magnifier-lens::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),inset 0 12px 36px rgba(255,255,255,.2);pointer-events:none}.dataset-magnifier-lens.is-hidden{display:none}

@media screen and (max-width:1024px){
  .results-grid,.method-grid,.media-grid{grid-template-columns:1fr}
  .method-summary{grid-template-columns:1fr}.method-card{min-height:0}
  .method-detail-panel,.method-detail-panel--pipeline{grid-template-columns:1fr;min-height:0}
  .setting-video-grid{grid-template-columns:1fr}.setting-video-panel+ .setting-video-panel{border-top:1px solid #dde3ec;border-left:0}
  .experiment-overview-board{grid-template-columns:1fr}.overview-column--real{border-top:1px solid #e4e8ef;border-left:0}.real-setting-facts{margin-top:1rem}
  .interactive-thumb{min-width:13rem;flex-basis:13rem}.interactive-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .interactive-row{align-items:stretch}.interactive-left-label{align-self:center;flex-basis:110px}.interactive-image-grid--b1k{width:100%}
  .dataset-thumb{min-width:11rem;flex-basis:11rem}.dataset-grid{grid-template-columns:1fr}
  .failure-stage{grid-template-columns:1fr}.failure-analysis{border-top:1px solid #dfe4eb;border-left:0}.failure-thumb{flex-basis:14rem}
}
@media screen and (max-width:768px){
  .interactive-panel{grid-template-columns:1fr}.interactive-card--inputs{grid-column:auto}
  .interactive-card{padding:1.25rem}.interactive-viewer{margin-top:1rem}.interactive-image-grid{gap:1rem}
  .viser-banner{top:.55rem;left:.55rem;font-size:.75rem;padding:.35rem .85rem}.viser-banner--interactive{font-size:.85rem}
  .dataset-strip{grid-template-columns:1fr}
}
@media screen and (max-width:600px){
  .interactive-failure-shell{width:calc(100% - 1rem);margin:1rem auto;border-radius:16px}
  .button-container{gap:.5em}.button{min-width:100%;width:100%;white-space:normal}.resource-menu{width:100%;flex-direction:column}
  .resource-menu::after{display:none}.resource-dropdown{display:none;position:static;width:100%;margin-top:.5rem;transform:none}.resource-menu:hover .resource-dropdown,.resource-menu:focus-within .resource-dropdown{display:block;transform:none}.resource-dropdown::before{display:none}
  .interactive-row{display:block}.interactive-left-label{max-width:none;justify-content:flex-start;margin-bottom:.25rem}
  .experiment-overview-board{border-radius:12px}.overview-column{padding:1rem}.overview-column-header{display:block}.overview-column-header h3,.overview-column-header h4{margin-top:.25rem}.overview-figure figcaption{display:block}.overview-figure figcaption span{display:block;margin-top:.15rem;text-align:left}.real-setting-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .experiment-subsection-header{grid-template-columns:1fr;gap:.65rem;padding-bottom:.9rem}.experiment-subsection-header>div{grid-template-columns:1fr;gap:.35rem}.experiment-subsection-header .title{font-size:1.45rem}.experiment-subsection-header p{font-size:.9rem}.experiment-subsection-index{justify-self:start}.setting-video-panel{padding:.8rem}.setting-video-copy{display:block}.setting-video-copy span{display:block;margin-top:.2rem;text-align:left}.setting-thumb{flex-basis:7.25rem;width:7.25rem}
  .method-summary{padding:1.2rem}.method-flow{grid-template-columns:1fr}.method-flow-button{min-height:0}.method-card-kicker{position:static;display:block;margin:-2.45rem 0 1.15rem 2.55rem}
  .method-detail-panel{padding:1.15rem}.method-relation{grid-template-columns:1fr}.method-relation-link::before{content:'↕'}
  .failure-carousel{padding:.8rem}.failure-analysis{padding:1.1rem}.failure-analysis h3{font-size:1.25rem}.failure-selector{gap:.4rem}.failure-arrow{flex-basis:2rem;width:2rem;height:2rem}.failure-thumb{grid-template-columns:3.75rem minmax(0,1fr);flex-basis:12.5rem}.failure-thumb img{width:3.75rem}
}

/* Selectable evaluation video gallery. */
.evaluation-videos-section{background:#fff}
.evaluation-videos-intro{max-width:760px;margin:1.5rem auto 0;color:#596273;font-size:1rem;line-height:1.65;text-align:center}
.evaluation-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr) auto;align-items:end;gap:1rem;width:min(880px,100%);margin:0 auto 1.5rem}
.evaluation-select-field{display:grid;gap:.45rem;color:#3e4654;font-family:'Google Sans',sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.evaluation-select-field select{width:100%;height:3.25rem;padding:0 2.75rem 0 1rem;border:1px solid #cfd5df;border-radius:9px;background-color:#fff;color:#202733;font-family:'Google Sans',sans-serif;font-size:1rem;font-weight:500;letter-spacing:0;text-transform:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}
.evaluation-select-field select:hover{border-color:#9ca6b5}.evaluation-select-field select:focus{border-color:#8c1515;outline:0;box-shadow:0 0 0 3px rgba(140,21,21,.12)}
.evaluation-shuffle{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3.25rem;padding:0 1.5rem;border:1px solid #8c1515;border-radius:9px;background:#fff;color:#8c1515;font-family:'Google Sans',sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.evaluation-shuffle span{font-size:1.35rem;line-height:1;transform:rotate(90deg)}.evaluation-shuffle:hover{background:#8c1515;color:#fff;box-shadow:0 9px 22px rgba(140,21,21,.18);transform:translateY(-1px)}.evaluation-shuffle:focus{outline:3px solid rgba(140,21,21,.18);outline-offset:2px}.evaluation-shuffle:active{transform:translateY(0)}
.evaluation-player-card{width:min(1100px,100%);margin:0 auto;overflow:hidden;border:1px solid #dfe4eb;border-radius:14px;background:#11151c;box-shadow:0 20px 44px rgba(12,34,67,.13)}
.evaluation-player-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.1);background:#20252e;color:#f7f8fa;font-family:'Google Sans',sans-serif}
.evaluation-player-meta div{display:flex;align-items:center;gap:.7rem;min-width:0}.evaluation-player-meta div>span{padding:.28rem .6rem;border-radius:999px;background:#8c1515;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.evaluation-player-meta strong{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.evaluation-player-meta>span{flex:none;color:#cbd1db;font-size:.84rem}
.evaluation-video{display:block;width:100%;aspect-ratio:16/9;background:#090b0f;object-fit:contain}
@media screen and (max-width:768px){.evaluation-controls{grid-template-columns:1fr 1fr}.evaluation-shuffle{grid-column:1/-1}.evaluation-player-meta{align-items:flex-start}.evaluation-player-meta div{align-items:flex-start;flex-direction:column;gap:.4rem}}
@media screen and (max-width:520px){.evaluation-controls{grid-template-columns:1fr}.evaluation-shuffle{grid-column:auto}.evaluation-player-card{border-radius:10px}.evaluation-player-meta{display:block}.evaluation-player-meta>span{display:block;margin-top:.55rem}}
