@font-face{font-family:Manrope;src:url("assets/fonts/Manrope-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/Manrope-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#212738;--muted:#62697b;--purple:#7255b5;--purple-dark:#583b97;--teal:#258478;--paper:#faf9fd;--line:#e4e1ec;--max-width:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.25;letter-spacing:-.035em}.content{width:min(var(--max-width),calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;z-index:20;background:white;padding:10px 16px;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:66px;border-bottom:1px solid var(--line);background:rgba(250,249,253,.95)}.nav-shell{height:100%;width:min(1280px,calc(100% - 64px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.nav-brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;letter-spacing:-.025em}.nav-links{display:flex;gap:29px;font-size:13px;color:var(--muted)}.nav-links a:hover{color:var(--purple)}
.hero{text-align:center;padding-top:64px;padding-bottom:57px}.hero-logo{width:370px;height:auto;margin:0 auto 18px}.hero h1{font-size:clamp(30px,3.5vw,46px);line-height:1.2;max-width:1040px;margin:auto}.authors{max-width:970px;display:flex;justify-content:center;flex-wrap:wrap;gap:3px 19px;margin:28px auto 12px;font-size:16px;line-height:1.8}.authors span{white-space:nowrap}.authors a{color:var(--purple-dark)}.authors a:hover{text-decoration:underline;text-underline-offset:4px}sup{font-size:.67em;vertical-align:super;line-height:0;padding-left:2px}.affiliations{max-width:1120px;margin:auto;display:flex;justify-content:center;flex-wrap:wrap;gap:3px 20px;color:var(--muted);font-size:12px;line-height:1.95}.affiliations span{white-space:nowrap}.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}.button{height:43px;padding:0 20px;border-radius:8px;display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;border:1px solid transparent;transition:background-color .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.button.primary{background:var(--purple);color:white}.button.primary:hover{background:var(--purple-dark)}.button.primary svg{fill:currentColor;stroke:none}.button.secondary{background:white;border-color:#d8d3e4}.button.secondary:hover{background:#f0edf7}
.demo-section{padding-top:10px}.section-topline{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--teal);margin-bottom:10px}h2{font-size:clamp(25px,2.6vw,33px);letter-spacing:-.03em}.language-switch{display:flex;border:1px solid #ddd7ea;border-radius:9px;padding:4px;background:#efecf5;gap:2px;flex-shrink:0}.language-switch button{border:0;background:transparent;color:var(--muted);padding:6px 15px;border-radius:6px;font-size:12px;font-weight:700;min-height:34px}.language-switch button[aria-pressed=true]{background:white;color:var(--purple-dark);box-shadow:0 1px 4px #2a174e14}.video-frame{border-radius:13px;border:1px solid #d4cfe2;overflow:hidden;background:#151927;box-shadow:0 12px 32px #3126440e}.video-frame video{display:block;width:100%;aspect-ratio:16/9;background:#151927}.video-details{display:flex;justify-content:space-between;gap:24px;margin-top:14px;color:var(--muted);font-size:12px;line-height:1.7}.video-details p{max-width:790px}.video-details a{color:var(--purple-dark);white-space:nowrap}.video-details a:hover{text-decoration:underline;text-underline-offset:3px}
.method-section{padding-top:87px}.section-heading{margin-bottom:20px}.section-intro{font-size:16px;color:#555d6e;max-width:980px;line-height:1.9}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:34px 0 36px;list-style:none;gap:29px}.method-steps li{padding:0 23px 0 0;border-right:1px solid var(--line)}.method-steps li:last-child{padding-right:0;border:0}.step-number{color:var(--purple);font-size:13px;font-weight:700;display:block;margin-bottom:10px;letter-spacing:.06em}.method-steps h3{font-size:19px;margin-bottom:10px;letter-spacing:-.025em}.method-steps p{font-size:13px;color:var(--muted);line-height:1.85}.paper-figure{margin-top:28px}.figure-link{display:block;background:white;border:1px solid var(--line);border-radius:10px;padding:19px}.figure-link img{width:100%;height:auto}.figure-link:hover{border-color:#b7accd}figcaption{font-size:12px;text-align:center;margin:14px auto 0;line-height:1.7;color:var(--muted);max-width:950px}.examples-section{padding-top:79px}.examples-section .figure-link{padding:17px}.citation-section{padding-top:79px;padding-bottom:75px}.citation-section .section-topline{margin-bottom:22px}.copy-button{border:1px solid #d8d3e4;background:white;color:var(--purple-dark);border-radius:7px;font-size:12px;font-weight:700;padding:8px 14px;min-width:111px}.copy-button:hover{background:#f0edf7}pre{margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 26px;overflow-x:auto;background:#f1eff6;color:#414459;border-radius:7px;font-size:12px;line-height:1.9;tab-size:2}code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.site-footer{border-top:1px solid var(--line);padding-top:23px;padding-bottom:33px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.site-footer .nav-brand{font-size:13px;color:var(--ink)}.site-footer>a:last-child:hover{color:var(--purple)}
@media(min-width:1500px){.hero{padding-top:73px}.hero h1{font-size:49px}}
@media(max-width:760px){.content{width:calc(100% - 36px)}.nav-shell{width:calc(100% - 36px)}.nav-links{gap:17px;font-size:12px}.nav-links a:last-child,.nav-links a:nth-child(4){display:none}.nav-brand{font-size:13px}.nav-brand img{width:25px}.hero{padding-top:40px;padding-bottom:41px}.hero-logo{width:290px;margin-bottom:17px}.hero h1{font-size:31px}.desktop-break{display:none}.authors{gap:3px 13px;margin-top:23px;font-size:13px}.affiliations{font-size:11px;gap:2px 16px}.affiliations span{white-space:normal}.hero-actions{gap:8px}.hero-actions .button{padding-inline:14px;font-size:12px}.section-topline{gap:18px;align-items:flex-start;flex-direction:column}.language-switch{align-self:flex-start}.section-topline h2{font-size:27px}.eyebrow{font-size:10px}.video-frame{border-radius:8px}.video-details{gap:12px;font-size:11px}.video-details p{max-width:75%}.method-section{padding-top:58px}.section-intro{font-size:14px;line-height:1.85}.method-steps{grid-template-columns:1fr;gap:22px;margin-top:28px}.method-steps li{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.method-steps li:last-child{padding-bottom:0}.step-number{float:left;width:33px;margin-top:2px}.method-steps h3{font-size:18px;margin-left:33px}.method-steps p{margin-left:33px}.figure-link,.examples-section .figure-link{padding:8px;border-radius:6px}figcaption{font-size:11px}.examples-section,.citation-section{padding-top:55px}.citation-section{padding-bottom:48px}.citation-section .section-topline{flex-direction:row;align-items:end}pre{font-size:11px;padding:19px 17px}.site-footer{padding-top:21px;padding-bottom:25px;flex-wrap:wrap;gap:13px}.site-footer p{display:none}}
@media(max-width:420px){.nav-links{gap:15px}.nav-links a:nth-child(3){display:none}.hero h1{font-size:28px}.hero-logo{width:260px}.video-details{flex-direction:column;gap:5px}.video-details p{max-width:none}.section-topline h2{font-size:25px}.authors{gap:2px 12px}.copy-button{min-width:104px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Resource links remain visible until their public destinations are available. */
.button.resource-placeholder:disabled{opacity:1;color:#5b526d;background:#f5f2fa;border-color:#ddd6e9;cursor:default;transform:none}
.button .github-icon{fill:currentColor;stroke:none}.button .hugging-face-icon{stroke:none}
/* Benchmark table uses the same content width and palette as the figures. */
.results-section{padding-top:75px}.results-section .section-heading{margin-bottom:14px}.results-section .section-intro{font-size:14px}
.results-table-wrap{margin-top:25px;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:white;overscroll-behavior-inline:contain}
.results-table-wrap:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.results-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.results-table th,.results-table td{padding:9px 14px;text-align:center;border-bottom:1px solid #eeebf3;white-space:nowrap}
.results-table thead th{padding-top:15px;padding-bottom:15px;background:#f2eff8;color:#4a405e;font-weight:700;border-bottom:1px solid #dcd5e8}
.results-table thead th span{font-size:11px;font-weight:400;color:#736981}
.results-table th:first-child{text-align:left;padding-left:22px}
.results-table tbody th[scope=row]{font-weight:400;background:white}
.results-table .result-group th{padding-top:12px;padding-bottom:10px;background:#f8f7fb;font-size:11px;font-weight:700;letter-spacing:.035em;color:#71657e;border-bottom:1px solid #e8e3ef}
.results-table tbody:last-child tr:last-child>*{border-bottom:0}
.results-table .ours td,.results-table .ours th[scope=row]{background:#eae3f5;color:#493469}
.results-table .ours th[scope=row]{font-weight:700;box-shadow:inset 3px 0 var(--purple)}
.results-table .second-best{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.results-note{margin-top:12px;font-size:11px;color:var(--muted)}
@media(max-width:760px){.results-section{padding-top:53px}.results-table{font-size:12px;min-width:650px}.results-table th,.results-table td{padding:8px 12px}.results-table th:first-child{padding-left:15px}.results-table th[scope=row],.results-table thead th:first-child{position:sticky;left:0;z-index:1;box-shadow:2px 0 5px #36235408}.results-table .ours th[scope=row]{box-shadow:inset 3px 0 var(--purple),2px 0 5px #36235408}.results-table .result-group th{font-size:10px}.results-section .section-intro{font-size:13px}.results-note{font-size:10px}}
.music-credit{margin-top:8px;font-size:10px;line-height:1.7;color:var(--muted)}.music-credit a{text-decoration:underline;text-decoration-color:#b7aec8;text-underline-offset:3px}.music-credit a:hover{color:var(--purple-dark)}
