:root{color-scheme:light;--ink:#24232a;--muted:#77727c;--purple:#753b9c;--line:#e9e6ec}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.75}main{max-width:1120px;margin:auto;padding:0 32px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.25;letter-spacing:-.025em}h2{font-size:32px;text-align:center;margin-bottom:30px;font-weight:650}h3{font-size:22px;text-align:center;margin-bottom:20px;font-weight:600}p{margin:0 0 18px}strong{font-weight:600}a{color:inherit}section{padding:52px 0}section+section{border-top:1px solid var(--line)}.hero{text-align:center;padding:65px 0 40px}.name{display:block;color:var(--purple);font-size:72px;font-weight:750;letter-spacing:-.06em;margin-bottom:17px;line-height:1}.title{display:block;font-size:37px;font-weight:650;line-height:1.26;letter-spacing:-.03em}.authors{margin:26px 0 2px;font-size:20px}.review{font-size:14px;color:var(--muted);letter-spacing:.03em;margin:0}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:23px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 21px;border-radius:30px;background:#302c35;border:1px solid #302c35;color:white;text-decoration:none;font:500 16px/1.5 Arial;min-height:46px}.pill svg{width:18px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.pill.code{background:#fff;color:#625d67;border-color:#d8d3dd;opacity:1;cursor:default}.pill small{font-size:12px;color:#827a89;border-left:1px solid #ddd6e2;padding-left:9px}.pill[href]:hover{background:var(--purple);border-color:var(--purple)}a:focus-visible,video:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.teaser{padding:15px 0 36px}.teaser img,figure img{display:block;width:100%;height:auto}.teaser figcaption{text-align:center;font-size:19px;margin-top:20px}figcaption{color:#615c68;font-size:15px;line-height:1.65;margin-top:18px}.prose{max-width:880px;margin:auto}.prose p{text-align:justify}.video-placeholder{max-width:880px;aspect-ratio:16/9;border:1px dashed #d9d4df;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#9c94a2;font-size:14px;background:#fff}.play-outline{font-size:48px;font-weight:200;line-height:1}.section-intro{max-width:840px;margin:0 auto 32px;text-align:center;color:#625d68}.stage+.stage{margin-top:46px}.stage h3{margin-bottom:24px}.stage figcaption{max-width:880px;margin:20px auto 0}.task{margin-top:35px}.task h3{margin-bottom:15px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.video-grid video{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border-radius:6px}.video-grid figcaption{text-align:center;font-size:14px;margin-top:9px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:12px auto 40px;text-align:center}.metric strong{display:block;color:var(--purple);font-size:41px;letter-spacing:-.04em;line-height:1.3}.metric span{display:block;color:#68616e;font-size:14px;line-height:1.5;margin-top:8px}.results-block+.results-block{margin-top:42px}.table-wrap{overflow-x:auto;margin:20px auto;max-width:920px}table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums;text-align:right}th,td{padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:600;color:#514959;background:#fff;border-top:1px solid #ccc4d1;border-bottom:1px solid #ccc4d1}th:first-child,td:first-child{text-align:left}tr.ours{color:#733793;font-weight:700}tr.ours td{border-bottom:2px solid #b99dcb}.table-note{font-size:14px;color:#77707c;text-align:center}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}.two-col .table-wrap{margin-top:0}.blank{height:150px;border:1px dashed var(--line);max-width:880px;margin:auto}footer{text-align:center;padding:40px 24px;color:#9a929f;font-size:13px;border-top:1px solid var(--line);margin-top:35px}.bars{max-width:760px;margin:30px auto}.bar-row{display:grid;grid-template-columns:135px 1fr 55px;align-items:center;gap:15px;font-size:14px;margin:14px 0}.bar-track{height:18px;border-bottom:1px solid var(--line)}.bar-fill{height:100%;background:#c9c2ce;border-radius:2px}.bar-row.ours .bar-fill{background:var(--purple)}.bar-row.ours{font-weight:700;color:var(--purple)}
@media(max-width:760px){main{padding:0 20px}.hero{padding-top:42px}.name{font-size:60px}.title{font-size:28px}.desktop-break{display:none}h2{font-size:28px}h3{font-size:21px}section{padding:38px 0}.video-grid{grid-template-columns:1fr;gap:24px;max-width:520px;margin:auto}.two-col{grid-template-columns:1fr;gap:26px}.metrics{gap:12px}.metric strong{font-size:31px}.metric span{font-size:13px}.prose p{text-align:left}th,td{padding:10px 12px}.teaser figcaption{font-size:17px}.bar-row{grid-template-columns:110px 1fr 45px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.view-switch{display:flex;justify-content:center;gap:5px;margin-top:10px}.view-switch button{font:400 12px/1.4 Arial;background:white;border:1px solid #e5dfe9;border-radius:20px;color:#817589;padding:5px 9px;cursor:pointer}.view-switch button[aria-pressed=true]{border-color:#b998cd;color:#753b9c}.view-switch button:focus-visible{outline:2px solid #753b9c;outline-offset:2px}.demo-number{color:#a99fad}.minor-heading{font-size:18px}.two-col table{font-size:13px}.two-col th,.two-col td{padding:10px 9px}.task+.task{margin-top:46px}

/* Task galleries keep three demonstrations per row in the project preview. */
.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:22px 16px}.video-grid video{aspect-ratio:1/1;object-fit:contain}.view-switch{flex-wrap:wrap;gap:4px}.view-switch button{font-size:11px;padding:5px 8px}.video-grid figcaption{font-size:14px}.task h3{margin-bottom:22px}@media(max-width:540px){main{padding:0 14px}.video-grid{gap:20px 8px}.video-grid figcaption{font-size:12px;line-height:1.4}.view-switch button{font-size:10px;padding:4px 6px}.task h3{font-size:20px}}

.compact-results{max-width:960px;margin:0 auto 38px}.compact-results .results-block+.results-block{margin-top:25px}.compact-results h3{font-size:21px;margin-bottom:12px}.compact-results .section-intro{font-size:15px;line-height:1.5;margin-bottom:14px}.compact-results .table-wrap{margin:12px auto}.compact-results th,.compact-results td{padding:8px 12px;font-size:14px}.compact-results .table-note{font-size:13px;line-height:1.5;margin-bottom:12px}.compact-results .minor-heading{font-size:17px}.compact-results .two-col{gap:22px}.compact-results .two-col th,.compact-results .two-col td{font-size:12px;padding:7px 8px}

.sim-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 14px}.sim-grid video{display:block;width:100%;aspect-ratio:8/5;object-fit:contain;background:#fff;border-radius:5px}.sim-grid figcaption{text-align:center;font-size:13px;line-height:1.45;margin-top:9px}.task-index{display:block;color:#a195aa;font-size:11px;margin-bottom:3px}.object-group+.object-group{margin-top:27px}.object-group h4{text-align:center;font-size:17px;line-height:1.4;font-weight:500;color:#73677c;margin:0 0 14px}@media(max-width:540px){.sim-grid{gap:18px 6px}.sim-grid figcaption{font-size:10px}.task-index{font-size:10px}}

.overview-player{display:block;width:100%;max-width:880px;height:auto;margin:auto;background:#fff;border-radius:6px}

.author-list{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:26px 0 15px}.author-list span{white-space:nowrap}.author-list sup{font-size:.65em;margin-left:3px;line-height:0}.affiliations{max-width:920px;margin:0 auto;color:#625d68;font-size:15px;line-height:1.65}.affiliations p{margin:3px 0}.affiliations sup{font-size:.75em;margin-right:4px}.contributions{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;margin:12px 0 0;color:#827a89;font-size:13px}@media(max-width:540px){.author-list{font-size:18px;gap:8px 18px}.affiliations{font-size:13px}}

.citation-bibtex{max-width:960px;margin:0 auto;padding:24px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}.citation-bibtex code{font:inherit}@media(max-width:540px){.citation-bibtex{padding:16px;font-size:12px}}
