/* Research-led organization: paper terminology, figures next to explanations. */
.hero h1.research-title{font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(32px,4.6vw,66px);font-weight:500;letter-spacing:0;line-height:1.2}.hero .research-title .project-title{font-weight:500;letter-spacing:0}.hero .research-title .paper-title{font-weight:400;letter-spacing:0;line-height:1.5}
#stage-panel{min-height:0;padding:20px 24px}.method #training{font-size:21px}
.training-panel{margin-top:24px;padding:25px 28px;border-left:3px solid #d5a0b4;background:#f8f8fa;min-height:190px}.training-panel p{font-size:16px;line-height:1.85;color:#575760;margin:0}.method .stage-switch{flex-wrap:wrap}.method .stage-switch button{white-space:normal;text-align:left}@media(max-width:650px){.training-panel{padding:22px;min-height:290px}.method .stage-switch{border-radius:16px;width:100%}.method .stage-switch button{width:100%;border-radius:12px}}
.section{padding:64px max(6%,calc((100% - 1120px)/2));border-top:1px solid #ececf0;background:white;color:#232329}.section h2{font-size:clamp(29px,3.2vw,43px);letter-spacing:-1.2px;line-height:1.18;margin-bottom:27px}.prose>p,.section-copy{font-size:17px;line-height:1.85;color:#51515b;max-width:none;margin:20px 0 28px}.prose h3{font-size:25px;letter-spacing:-.5px;margin:40px 0 16px;scroll-margin-top:100px}.prose h4{font-size:20px;letter-spacing:-.3px;margin:0 0 14px}.contributions{padding-left:23px;color:#51515b;font-size:17px;line-height:1.85}.contributions li{margin:15px 0}.contributions strong{color:#292932}.hero{padding-bottom:55px}.architecture-figure{margin:32px 0 45px}.architecture-figure .figure-panel{padding:10px;background:white;margin:0 0 16px;border-radius:8px}.architecture-figure figcaption{font-size:14px;line-height:1.65;color:#777}.training-columns{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin:28px 0}.training-columns article{border-left:3px solid #d5a0b4;padding-left:23px}.training-columns p{font-size:16px;line-height:1.85;color:#575760;margin:0}.table-scroll{overflow-x:auto;margin-top:26px}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th,td{padding:16px 14px;border-bottom:1px solid #e5e5e9;white-space:nowrap}th{background:#f6f6f8;font-weight:600}.settings{background:#f0f0f3}.settings button{color:#60606a}.settings button.active{background:#29292e;color:white}.sim-score p,.sim-score .mini-label{color:#666}.comparison>div:not(.track){color:#60606a}.track{background:#eee}.sim-video{background:#f5f5f7}.video-label{color:#666}.sim-score>strong{font-size:65px}.real-metric strong{font-size:53px}.real .section-top{margin-bottom:20px}.real .section-top h2{margin-bottom:0}.evidence-grid{margin-top:35px;gap:45px}.evidence-number{font-size:60px}.evidence h3{margin-top:23px}.contents{position:fixed;right:22px;bottom:24px;z-index:25;background:#fff;border:1px solid #ddd;border-radius:14px;box-shadow:0 5px 25px #0001;font-size:13px}.contents summary{padding:13px 21px;cursor:pointer}.contents nav{padding:4px 21px 19px;display:flex;flex-direction:column;gap:12px;max-height:65vh;overflow:auto}.contents nav a{color:#51515b}.contents nav a:hover{color:#a23d62}@media(max-width:650px){.section{padding:45px 6%}.prose>p,.section-copy,.contributions{font-size:16px;line-height:1.8}.training-columns{grid-template-columns:1fr;gap:28px}.prose h3{font-size:23px}.section h2{font-size:29px}.contents{right:12px;bottom:12px}.hero{padding-bottom:40px}.architecture-figure .figure-panel{padding:0}.real .section-top{gap:12px}.real-metric strong{font-size:43px}}
/* Desktop type scale: larger reading sizes; mobile rules above stay unchanged. */
@media(min-width:651px){header{height:80px}.brand{font-size:22px}nav{font-size:15px;gap:32px}.film-button.small{font-size:14px;padding:13px 20px}.authors{font-size:21px;max-width:1200px}.authors sup,.affiliations sup{font-size:12px}.affiliations{font-size:16px}.resource-button{font-size:17px}.section{padding:72px max(6%,calc((100% - 1200px)/2))}.section h2{font-size:clamp(34px,3.6vw,50px)}.prose>p,.section-copy,.contributions{font-size:20px;line-height:1.8}.prose h3{font-size:29px}.prose h4{font-size:23px}.method #training{font-size:25px}.architecture-figure figcaption{font-size:17px}.training-panel p,.training-columns p,.stage-body p,.evidence article p{font-size:19px}.stage-switch button,.settings button{font-size:15px}table{font-size:16px}.task-tabs button{font-size:14px}.real-player p{font-size:17px}.real-metric p,.note{font-size:14px}.video-label,.comparison>div:not(.track){font-size:14px}.sim-score p{font-size:17px}.contents{font-size:15px}.results-detail summary{font-size:17px}}
.comparison .track i{background:#b4b4bd}.comparison .track.ours i{background:#d65e83}.comparison .ours{color:#26262d;font-weight:600}.comparison .track{margin-bottom:14px}
.comparison .track i{transition:width .5s}
.sim-table caption{caption-side:top;text-align:left;font-size:15px;color:#6b6b75;padding-bottom:12px}
.sim-table td,.sim-table th{text-align:center}.sim-table td:first-child,.sim-table th:first-child{text-align:left}
.sim-table .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:10px}
.sim-table tr.ours td{background:#fbeef3;color:#a23d62;font-weight:650}
.sim-table[data-active="0"] [data-c="0"],.sim-table[data-active="1"] [data-c="1"],.sim-table[data-active="2"] [data-c="2"],.sim-table[data-active="3"] [data-c="3"]{box-shadow:inset 0 0 0 9999px #20202408;font-weight:650;color:#1f1f25}
.sim-table[data-active="0"] tr.ours [data-c="0"],.sim-table[data-active="1"] tr.ours [data-c="1"],.sim-table[data-active="2"] tr.ours [data-c="2"],.sim-table[data-active="3"] tr.ours [data-c="3"]{color:#a23d62;background:#f6dfe9}
/* Ablation: two matching cards, each led by a score row */
.evidence-grid article{background:#fff;border:1px solid #e8e8ee;border-radius:22px;padding:30px 32px 32px;box-shadow:0 14px 40px -30px #2a2a4033}
.evidence .steps{justify-content:flex-start;gap:22px;height:auto;padding-bottom:22px;border-bottom:1px solid #efeff3}
.evidence .gain{margin-left:auto;font-style:normal;font-size:15px;font-weight:600;letter-spacing:0;color:#a23d62;background:#fbeef3;border-radius:20px;padding:7px 13px}
.evidence h3{margin-top:22px}
.evidence article p{margin:0}
@media(max-width:650px){.evidence-grid article{padding:22px}.evidence .steps{gap:14px;flex-wrap:wrap}}
.evidence .steps>span:last-of-type{color:#bd4a73}
.evidence .steps small{font-size:13px}
/* Ablation bar charts (0–100% scale) */
.bar-chart{position:relative;padding:30px 0 0;border-bottom:1px solid #efeff3}
.bar-chart .gain{position:absolute;top:0;right:0}
.bars{display:flex;justify-content:center;gap:28px;height:210px;padding-bottom:34px;background:linear-gradient(#efeff3,#efeff3) bottom 34px left/100% 1px no-repeat}
.bar{position:relative;flex:0 1 86px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.bar i{width:100%;border-radius:8px 8px 0 0;background:#d9d9e0}
.bar b{font-size:18px;font-weight:650;color:#4a4a53;margin-bottom:8px}
.bar small{position:absolute;bottom:-26px;font-size:14px;color:#7b7b85;white-space:nowrap}
.bar.ours i{background:#d45c80}.bar.ours b{color:#bd4a73}
@media(max-width:650px){.bars{gap:16px;height:180px}.bar b{font-size:16px}.bar small{font-size:12px}}
