
:root{--bg:#fff;--surface:#f7f7f9;--surface-2:#ececef;--line:#e3e3e6;--text:#15171a;--dim:#5b6169;--faint:#8a9099;--axis-x:#d6473a;--axis-y:#2e9c5b;--axis-z:#3b63c7;--maxw:1120px;--measure:760px;--radius:10px;--display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--body:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#111316;--surface:#181a1e;--surface-2:#22252a;--line:#2a2e34;--text:#eceef1;--dim:#a2a9b2;--faint:#787f88;--axis-x:#f0685a;--axis-y:#48c179;--axis-z:#6e91e8}}
:root[data-theme="dark"]{--bg:#111316;--surface:#181a1e;--surface-2:#22252a;--line:#2a2e34;--text:#eceef1;--dim:#a2a9b2;--faint:#787f88;--axis-x:#f0685a;--axis-y:#48c179;--axis-z:#6e91e8}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body.ugg-page{margin:0;background:var(--bg);color:var(--text);font:400 16.5px/1.65 var(--body);-webkit-font-smoothing:antialiased}img,video{max-width:100%}.ugg-page a{color:var(--axis-z);text-underline-offset:4px}.ugg-page button{font-family:var(--body)}.ugg-wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.measure{max-width:var(--measure);margin-left:auto;margin-right:auto}.ugg-page section.ugg-section{padding:62px 0;margin:0;border:0;display:block}.ugg-page section.ugg-section+section.ugg-section{border-top:1px solid var(--line)}.ugg-page section.ugg-section:nth-of-type(2n+3){background:color-mix(in srgb,var(--surface) 55%,var(--bg))}.ugg-page .ugg-section h2{font:600 32px/1.2 var(--display);color:var(--text);letter-spacing:-.02em;margin:0 0 12px;text-align:center}.ugg-page .ugg-section h2::before{content:"";display:block;width:34px;height:3px;border-radius:2px;margin:0 auto 18px;background:linear-gradient(90deg,var(--axis-x),var(--axis-y),var(--axis-z))}.ugg-page .lede{color:var(--dim);text-align:center;margin:0 auto 30px;max-width:var(--measure);font-size:16px;line-height:1.65}.ugg-page .ugg-section h3{font:600 19px/1.3 var(--display);color:var(--text);margin:30px 0 12px}.ugg-page .prose{max-width:var(--measure);margin-inline:auto;text-align:left;color:var(--text);font-size:17.5px;line-height:1.7}.ugg-page .prose p{margin:0 0 20px}.ugg-page .prose strong{color:var(--axis-z)}
nav.ugg-top{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}nav.ugg-top>.ugg-wrap{display:flex;align-items:center;gap:15px;min-height:58px}nav.ugg-top .brand{font:700 18px/1 var(--display);letter-spacing:-.02em;color:var(--text);text-decoration:none;white-space:nowrap;flex:none}nav.ugg-top .navlinks{display:flex;gap:2px;margin-left:auto;min-width:0;overflow-x:auto;scrollbar-width:none}nav.ugg-top .navlinks a{font:500 13px/1 var(--body);color:var(--dim);text-decoration:none;padding:9px 10px;border-radius:7px;white-space:nowrap}nav.ugg-top .navlinks a:hover,nav.ugg-top .navlinks a[aria-current]{background:var(--surface-2);color:var(--text)}.theme-toggle{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);padding:7px 10px;min-width:38px;min-height:36px;cursor:pointer;flex:none;font-size:15px}.nav-back{font:500 12px/1 var(--body);white-space:nowrap;color:var(--dim)!important;text-decoration:none}.ugg-header{padding:72px 0 45px;text-align:center;background:radial-gradient(55% 60% at 12% 0%,rgba(59,99,199,.14),transparent 70%),radial-gradient(45% 55% at 88% 8%,rgba(214,71,58,.10),transparent 70%),radial-gradient(40% 40% at 50% 100%,rgba(46,156,91,.08),transparent 70%)}.ugg-page .ugg-header h1{font:700 clamp(34px,5.4vw,56px)/1.12 var(--display);letter-spacing:-.03em;margin:0 auto 25px;max-width:30ch;text-wrap:balance;color:var(--text)}.ugg-header h1 .m{color:var(--axis-z)}.ugg-page .ugg-header .authors{display:block;font:400 19px/1.7 var(--body);margin:0 auto 9px;max-width:880px;letter-spacing:0;color:var(--text)}.ugg-header .au{display:inline-block;white-space:nowrap}.ugg-header .authors a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}.ugg-header .authors sup{font-size:.7em;color:var(--faint)}.ugg-page .ugg-header .affil{color:var(--dim);font-size:16.5px;margin:0 auto 8px;max-width:860px}.ugg-header .affil>span+span{margin-left:15px}.ugg-header .equal{color:var(--dim);font-size:12px;margin:0 auto 18px}.ugg-page .ugg-header .venue{font:600 17px/1.4 var(--display);letter-spacing:.01em;color:var(--axis-x);margin:18px auto 22px;background:none;border:0;padding:0}.ugg-header .links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ugg-header .links a{display:inline-flex;align-items:center;gap:8px;background:var(--text);color:var(--bg);text-decoration:none;padding:11px 22px;border-radius:999px;font:500 14px/1 var(--body);border:1px solid var(--text);box-shadow:0 6px 18px -10px rgba(0,0,0,.5);transition:background .15s,transform .15s}.ugg-header .links a:hover{background:var(--axis-z);border-color:var(--axis-z);color:#fff;transform:translateY(-1px)}.ugg-header .link-placeholder{display:inline-flex;align-items:center;padding:9px 17px;border:1px solid var(--line);border-radius:999px;color:var(--dim);font-size:12px;gap:7px}.ugg-header .link-placeholder small{font-size:10px}.ugg-page .tldr{display:block;margin:28px auto 0;max-width:78ch;font:400 17px/1.55 var(--body);color:var(--dim);text-align:center;text-wrap:pretty}.tldr .k{font:400 12px/1 var(--mono);letter-spacing:.12em;color:var(--faint);margin-right:9px}.tldr strong{color:var(--text)}
.ugg-page .hero-teaser{padding-top:14px!important}.ugg-page figure{margin:24px 0 0}.ugg-page .hero-teaser figure{margin-top:0}.ugg-page .figbox{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface);text-align:center;box-shadow:0 18px 40px -30px rgba(0,0,0,.35)}.ugg-page .figure-link{display:block;cursor:zoom-in;overflow:hidden;border-radius:6px;background:#fff}.ugg-page .figure-link img{display:block;max-width:100%;width:auto;max-height:740px;height:auto!important;object-fit:contain;margin:0 auto}.ugg-page .figbox img{border-radius:4px}.ugg-page figcaption,.ugg-page .figure-caption{font:400 13px/1.65 var(--body);color:var(--dim);margin:14px auto 0;text-align:center;max-width:1000px}.ugg-page .zoom-hint{margin-left:12px;font-size:11px;white-space:nowrap}.ugg-page .source-pdf{margin-left:8px;white-space:nowrap}.ugg-page .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}.ugg-page .step{background:var(--surface);border:1px solid var(--line);padding:23px;border-radius:14px;min-width:0}.ugg-page .step h3{margin:8px 0 12px}.ugg-page .step .number{font:400 12px var(--mono);color:var(--axis-z)}.ugg-page .step p{font-size:14px;color:var(--dim);line-height:1.7;margin:0}.ugg-page .table-wrap,.ugg-page .mirror-table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:12px}.ugg-page table.results{width:100%;border-collapse:collapse;font:400 14px/1.6 var(--body);color:var(--text);background:var(--bg)}.ugg-page table.results th,.ugg-page table.results td{border:0;border-bottom:1px solid var(--line);padding:15px 16px;text-align:right}.ugg-page table.results th:first-child,.ugg-page table.results td:first-child{text-align:left}.ugg-page table.results thead th{color:var(--dim);background:var(--surface);font-weight:500;font-size:13px}.ugg-page table.results td:last-child{color:var(--axis-z);font-weight:600}.ugg-page .table-note{font:400 13px/1.7 var(--body);color:var(--dim);margin:20px auto 8px;max-width:var(--measure)}.source-link{display:block;text-align:center;font-size:13px;margin-top:14px}.ugg-page pre{background:var(--surface);border:1px solid var(--line);color:var(--text);padding:22px;border-radius:11px;overflow-x:auto;font:400 12.5px/1.7 var(--mono);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px auto;max-width:920px}.ugg-page pre code{font:inherit;background:none;color:inherit;padding:0}.citation-tools{text-align:right;max-width:920px;margin:auto}.copy-button{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 16px;color:var(--text);font-size:12px;cursor:pointer}.copy-status{font-size:12px;color:var(--dim);margin-left:12px}.ugg-page .release{max-width:var(--measure);margin:auto;color:var(--dim);font-size:15px;line-height:1.8;padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.focus{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:0 auto;padding:30px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--dim)}.ugg-page .related{text-align:center;font-size:14px;padding:24px}.ugg-footer{padding:36px 0 45px;text-align:center;background:var(--surface);border-top:1px solid var(--line);color:var(--dim);font-size:13px}.ugg-footer p{margin:0 0 12px}.ugg-footer .fine{font:400 11px/1.8 var(--mono);color:var(--dim)}.ugg-footer .project-links{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin:23px auto}.ugg-footer a{color:var(--dim)}.ugg-page .skip-link{position:fixed;top:-80px;left:15px;z-index:100;background:var(--bg);padding:12px 16px}.ugg-page .skip-link:focus{top:8px}.ugg-page :focus-visible{outline:2px solid var(--axis-z);outline-offset:4px}
.ugg-page .legacy-content>.container{width:100%;max-width:100%;padding:0}.ugg-page .legacy-content .container.is-max-desktop{max-width:100%}.ugg-page .legacy-content .content{color:var(--text);font-family:var(--body)}.ugg-page .legacy-content .content p{line-height:1.8}.ugg-page .legacy-content .content strong{color:inherit}.ugg-page .legacy-content .content h2{margin-top:0}.ugg-page .legacy-content .hero-body{padding:0}.ugg-page .content-block{background:transparent;color:var(--text);padding:0;margin:24px 0}.ugg-page .content-block p{color:var(--text)}.ugg-page .method-grid{margin-top:25px;gap:18px}.ugg-page .method-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--text)}.ugg-page .highlight-box{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:14px}.ugg-page .highlight-box p{color:var(--text)}.ugg-page .content-image.half-width{max-width:min(600px,100%);box-sizing:border-box}.ugg-page .content-image.full-width{max-width:100%;box-sizing:border-box}.ugg-page .teaser-container{max-width:900px;margin:auto}.ugg-page .video-compare-container,.ugg-page .vis-comparison-container{max-width:100%;box-sizing:border-box}.ugg-page .legacy-content h3{color:var(--text)}.ugg-page .legacy-content .table{background:var(--bg);color:var(--text)}.ugg-page .legacy-content .table th,.ugg-page .legacy-content .table td{color:var(--text);border-color:var(--line)}.ugg-page .legacy-content .table thead{background:var(--surface)}.ugg-page .sim-view-controls button{font-family:var(--body)}.ugg-page .demo-video{width:100%;display:block;max-height:620px;background:#000;border-radius:10px}.ugg-page .video-panel{background:var(--surface);padding:16px;border:1px solid var(--line);border-radius:14px}.ugg-page .rdf-frame{max-width:100%;box-sizing:border-box}.ugg-page .legacy-content mjx-container:not([display="true"]){display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle}.ugg-page .legacy-content .figure-caption{max-width:900px}.ugg-page .legacy-content .has-text-grey{color:var(--dim)!important}.ugg-page .legacy-content .is-max-desktop>.columns{margin:0}.ugg-page .legacy-content .column{min-width:0}
.ugg-page dialog{border:1px solid var(--line);border-radius:12px;padding:50px 22px 20px;width:max-content;max-width:96vw;max-height:94vh;background:var(--bg);color:var(--text)}.ugg-page dialog::backdrop{background:#10151dd4}.ugg-page dialog img{max-width:90vw;max-height:77vh;display:block;margin:auto;object-fit:contain;background:#fff}.ugg-page dialog .close{position:absolute;top:10px;right:15px;padding:7px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:20px;cursor:pointer}.dialog-caption{font-size:12px;color:var(--dim);max-width:850px;margin:12px auto 0}
@media(max-width:760px){.ugg-top>.ugg-wrap{flex-wrap:wrap;gap:4px 12px;padding-block:9px}.ugg-top .navlinks{order:3;width:100%;flex-basis:100%;margin:0!important}.ugg-top .nav-back{margin-left:auto}.ugg-top .theme-toggle{min-height:32px;padding:5px 9px}.ugg-top .navlinks a{padding:9px!important}.ugg-header{padding-top:47px}.ugg-page .ugg-header h1{max-width:100%;font-size:clamp(33px,6vw,46px)}.ugg-page .ugg-header .authors{font-size:16px}.ugg-page .ugg-header .affil{font-size:14px}.ugg-page section.ugg-section{padding:44px 0}.ugg-page .ugg-section h2{font-size:28px}.ugg-page .steps{grid-template-columns:1fr}.ugg-page .step{padding:20px}.ugg-page .prose{font-size:16px}.ugg-page table.results th,.ugg-page table.results td{padding:11px 8px}.ugg-page table.results{font-size:12px}.ugg-page .legacy-content .table{font-size:12px}.ugg-page .legacy-content .columns{max-width:100%;margin-inline:0}.ugg-page .legacy-content .method-grid{grid-template-columns:1fr}.ugg-page .tldr{font-size:15px}.ugg-page .figbox{padding:10px}.ugg-page .ugg-section figcaption{font-size:11px}.ugg-page .zoom-hint{display:none}.ugg-page .links a{padding:11px 18px}.ugg-page pre{font-size:11px;padding:17px}.ugg-page .legacy-content .rdf-panel,.ugg-page .legacy-content .rdf-panel-body{min-width:0}.ugg-page .legacy-content .table-scroll{max-width:100%;overflow-x:auto}}
@media(max-width:420px){.ugg-wrap{padding-inline:18px}.ugg-page .ugg-header h1{font-size:33px}.ugg-page .ugg-section h2{font-size:26px}.ugg-page .ugg-header .venue{font-size:15px}.ugg-page .focus{padding:22px;font-size:14px;gap:12px}.ugg-top .navlinks a{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{transition:none!important;animation:none!important}}
@media print{.ugg-top,.theme-toggle,.links,.copy-button,.ugg-footer,dialog{display:none!important}.ugg-header{background:none;padding-top:0}.ugg-page{color:#000;background:#fff}.ugg-page section.ugg-section{padding:25px 0}.ugg-page figure{break-inside:avoid}.ugg-page .steps{display:block}}
