:root{--text:#303238;--muted:#5f6873;--accent:#5b4c78;--line:#dfe5eb;--width:1000px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}
img,video{max-width:100%}
a{color:var(--accent)}
a:hover{color:#463b5d}
.page-width{width:min(var(--width),calc(100% - 40px));margin:0 auto}
.skip-link{position:absolute;left:12px;top:-80px;background:#fff;padding:8px 12px;z-index:10}
.skip-link:focus{top:12px}
.paper-header{text-align:center;padding:42px 0 32px}
.brand-mark{display:block;width:190px;height:95px;object-fit:contain;margin:0 auto 10px}
.paper-header h1{max-width:1040px;margin:0 auto 23px;color:#252936;letter-spacing:-.035em;font-weight:700}
.brand-title{display:block;font-size:clamp(3rem,6vw,4.2rem);line-height:1.05;letter-spacing:-.055em}
.brand-title .world{color:var(--accent)}
.paper-title{display:block;max-width:900px;margin:11px auto 0;font-size:clamp(1.3rem,2.6vw,1.85rem);font-weight:500;line-height:1.3;letter-spacing:-.025em}
.title-emphasis{color:var(--accent)}
.authors{display:flex;justify-content:center;gap:0 1.1rem;flex-wrap:wrap;margin:0 0 8px;color:#3d3b43;font-size:clamp(1.25rem,2.4vw,1.55rem);line-height:1.5}
.authors sup,.affiliation sup{font-size:.63em;vertical-align:super;line-height:0}
.affiliation{margin:0 0 4px;font-size:1rem;color:#666;line-height:1.45}
.hero-purpose{max-width:700px;margin:0 auto 22px;color:#4a5158;font-size:17px;line-height:1.55}
.venue{font-size:.97rem;font-weight:400;color:#727981;margin:0 0 25px}
.paper-button{display:inline-block;padding:9px 20px;border-radius:999px;background:#343434;color:#fff;font-size:.95rem;font-weight:600;text-decoration:none;line-height:1.3}
.paper-button:hover{background:#1c1c1c;color:#fff}
.tldr-line{max-width:1100px;margin:0 auto;padding:19px 20px 32px;text-align:center;font-size:clamp(22px,2.6vw,31px);line-height:1.3;letter-spacing:-.025em;white-space:nowrap}
.tldr-line strong{font-weight:700}
.tldr-line em{font-style:italic;color:var(--accent);font-weight:600}
.abstract-section{padding:58px 0;border-top:1px solid #e8e8e8}
.abstract-reading{width:min(790px,calc(100% - 40px));margin:0 auto}
.abstract-section h2{margin:0 0 28px;font-size:clamp(1.7rem,2.7vw,2.1rem);line-height:1.25;text-align:center;font-weight:600}
.abstract-section p{margin:0 0 1.1em;font-size:17px;line-height:1.65;text-align:justify}
.abstract-section p:last-child{margin-bottom:0}
.teaser{width:min(840px,calc(100% - 40px));margin:0 auto;padding:0 0 58px}
.teaser video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border:1px solid #e5eaee;border-radius:4px}
.teaser figcaption{margin-top:12px;color:#777;font-size:.88rem;line-height:1.5;text-align:center}
.paper-section{padding:0 0 74px;scroll-margin-top:25px}
.paper-section h2{margin:0 0 17px;color:#303238;font-size:clamp(25px,3vw,31px);line-height:1.28;letter-spacing:-.018em;font-weight:650}
.paper-section#overview h2{text-align:center;font-size:clamp(1.7rem,2.7vw,2.1rem)}
.paper-section#overview h2 em{font-style:normal;color:var(--accent)}
.paper-section#overview>p{text-align:center;max-width:800px;margin:0 auto 27px}
.paper-section>p{margin:0 0 30px;font-size:16px;line-height:1.75;color:#424951}
.paper-figure{margin:29px 0 0}
.explainer-figure{margin:32px 0 42px}
.explainer-figure video{display:block;width:100%;aspect-ratio:16/9;background:#fff;border:1px solid #e5eaee;border-radius:4px}
.explainer-figure figcaption{margin:11px auto 0;max-width:850px;text-align:center;color:#616a73;font-size:13px;line-height:1.55}
.paper-figure img{display:block;width:100%;height:auto}
.paper-figure figcaption{margin:12px auto 0;max-width:890px;color:#616a73;font-size:13px;line-height:1.55;text-align:center}
.paper-figure figcaption b{color:#414c56}
.method-detail{margin:24px 0 0!important;font-size:15px!important;color:#59636d!important}
.qualitative-figure{margin-top:28px}
.image-scroll{overflow-x:auto}
.table-scroll{width:100%;overflow-x:auto;margin-top:31px}
table{width:100%;min-width:750px;border-collapse:collapse;font-size:13px;line-height:1.35;font-variant-numeric:tabular-nums}
caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
th,td{padding:10px 11px;border:1px solid #dfe4e9;text-align:center}
th:first-child{text-align:left;white-space:nowrap}
thead th{background:#e9e4f0;font-weight:650;color:#35303f}
tbody th{font-weight:500}
tbody .ours th,tbody .ours td{background:#f2eff6;font-weight:700;color:#4d4068}
.table-note{color:#777!important;font-size:12px!important;margin:8px 0 0!important}
#geometry .paper-figure+.paper-figure{margin-top:48px}
#applications h3{margin:46px 0 9px;color:#35383d;font-size:21px;line-height:1.3}
#applications h3:first-of-type{margin-top:26px}
#applications h3+p{margin-bottom:12px;font-size:15px}
#applications .table-scroll{margin-top:16px}
.paper-end{margin-top:53px!important;padding-top:19px;border-top:1px solid var(--line);font-size:15px!important}
footer{border-top:1px solid #e4e9ed;color:#777;padding:26px 0 35px;font-size:12px}
footer .page-width{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
footer a{text-decoration:none}
@media(max-width:700px){
 .page-width{width:min(100% - 30px,var(--width))}
 .paper-header{padding-top:30px}
 .tldr-line{white-space:normal;font-size:clamp(22px,5vw,29px);padding:15px 15px 28px}
 .brand-mark{width:160px;height:80px}
 .authors{gap:0 12px}
 .affiliation{font-size:14px}
 .hero-purpose{font-size:15px}
 .abstract-section{padding:44px 0}
 .abstract-reading{width:calc(100% - 30px)}
 .abstract-section p{font-size:16px;text-align:left}
 .teaser{width:calc(100% - 30px);padding-bottom:48px}
 .explainer-figure figcaption{text-align:left;font-size:12px}
 .paper-section{padding-bottom:62px}
 .paper-section>p{font-size:15px}
 .paper-figure figcaption{font-size:12px;text-align:left}
 .qualitative-figure img{min-width:850px}
 table{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}
