:root{--bg:#fbfaf7;--soft:#f2f0eb;--card:#fff;--ink:#17191e;--ink2:#4d525c;--mut:#8d9099;--line:#e6e3dc;--acc:#c4492f;--acc2:#2c5d8f;--ours:#2f8a73;--deck-oa:#c4492f;--display:"Inter Tight", "Segoe UI", system-ui, sans-serif;--body:"Inter", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:16px/1.62 var(--body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}a{color:inherit}.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.hero{text-align:center;position:relative;overflow:hidden}.hero canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-in{padding-top:84px;padding-bottom:44px;position:relative}.venue{letter-spacing:.1em;text-transform:uppercase;color:var(--acc);align-items:center;gap:10px;font-size:12.5px;font-weight:600;display:inline-flex}.venue:before,.venue:after{content:"";opacity:.6;background:currentColor;width:24px;height:1px}h1{font:750 clamp(48px, 9vw, 76px)/1 var(--display);letter-spacing:-.035em;margin:18px 0 12px}h1 .acc{color:var(--acc)}.subtitle{font:500 clamp(18px, 2.6vw, 25px)/1.3 var(--display);letter-spacing:-.012em;color:var(--ink2);max-width:780px;margin:0 auto}.authors{margin:28px 0 2px;font-size:17.5px}.authors a{white-space:nowrap;border-bottom:1px solid var(--line);text-decoration:none;transition:border-color .15s}.authors a:hover{border-color:var(--acc)}.authors .sep{color:var(--mut);margin:0 .3em}.aff{color:var(--mut);margin:0;font-size:14.5px}.btns{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.btn{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.btn:not(.off):hover{background:#000;transform:translateY(-1px)}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.btn small{opacity:.7;font-size:11px;font-weight:500}.btn.off{background:color-mix(in srgb, var(--bg) 88%, transparent);color:var(--mut);box-shadow:inset 0 0 0 1px var(--line);cursor:default;font-weight:500}.teaser{margin:6px 0 0}.teaser img{border-radius:14px}.teaser figcaption,.curves figcaption{color:var(--ink2);text-align:center;max-width:820px;margin:12px auto 0;font-size:14px}section{padding-top:64px}h2{font:750 34px/1.1 var(--display);letter-spacing:-.03em;text-align:center;margin:0 0 8px}.kicker{text-align:center;color:var(--mut);margin:0 0 24px;font-size:14.5px}#abstract h2{margin-bottom:24px}.abstract{text-align:justify;-webkit-hyphens:auto;hyphens:auto;max-width:800px;margin:0 auto}mark{color:inherit;background:linear-gradient(transparent 62%, color-mix(in srgb, var(--acc) 22%, transparent) 0);font-weight:600}.steps{grid-template-columns:repeat(6,minmax(0,1fr));max-width:920px;margin:0 auto 20px;display:grid;position:relative}.steps:before{content:"";background:var(--line);height:1px;position:absolute;top:14px;left:8%;right:8%}.step{color:var(--mut);background:0 0;border:0;justify-items:center;gap:6px;padding:0 2px;font-size:13.5px;display:grid;position:relative}.step span{background:var(--bg);width:29px;height:29px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;place-items:center;font-size:13px;font-weight:600;transition:background .2s,color .2s;display:grid}.step:hover{color:var(--ink2)}.step[aria-selected=true]{color:var(--ink);font-weight:600}.step[aria-selected=true] span{background:var(--acc);color:#fff;box-shadow:none}.step.done span{box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc)}.viewer{background:var(--soft);border-radius:16px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;padding:16px;display:grid}.stage{background:var(--card);border-radius:10px;min-height:470px;position:relative;overflow:hidden}.stage-host{position:absolute;inset:0 0 44px}.stage-host canvas{cursor:grab;touch-action:none}.stage-host canvas:active{cursor:grabbing}.stage-msg{color:var(--mut);pointer-events:none;place-items:center;font-size:14px;display:grid;position:absolute;inset:0 0 44px}.stage-msg[hidden]{display:none}.stage-iter{font:12.5px var(--mono);color:var(--ink2);font-variant-numeric:tabular-nums;position:absolute;top:10px;left:12px}.stage-bar{border-top:1px solid var(--line);align-items:center;gap:6px;height:44px;padding:0 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.ctl{border:1px solid var(--line);background:var(--card);min-width:32px;height:28px;color:var(--ink2);border-radius:6px;padding:0 8px;font-size:12px}.ctl:hover{border-color:var(--mut);color:var(--ink)}.ctl.next{color:var(--acc);font-size:13px;font-weight:600}.progress{background:var(--line);border-radius:2px;flex:1;height:3px;overflow:hidden}.progress i{background:var(--acc);width:0;height:100%;display:block}.side article{align-content:start;gap:10px;display:grid}.side article[hidden]{display:none}.side h3{font:650 19px/1.25 var(--display);letter-spacing:-.01em;margin:4px 0 0}.side h3 i{color:var(--acc);margin-right:8px;font-style:normal}.side p{color:var(--ink2);margin:0;font-size:15px}.side b{color:var(--ink);font-weight:600}.cite{color:var(--mut);white-space:nowrap;font-size:12.5px}.frames{aspect-ratio:1;background:var(--card);border-radius:8px;width:100%;max-width:300px}.ysvg{background:var(--card);border-radius:8px;width:100%;max-height:190px}.side .k1,.side .k2{opacity:0;transition:opacity .4s}.side .at1 .k1,.side .at2 .k2{opacity:1}.ysvg .axis{transition:stroke .4s}.side .at2 .ysvg .axis{stroke:#2e9e4f;stroke-dasharray:9 7}.pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pair img{border-radius:8px}.legend{color:var(--mut);align-items:center;gap:8px;font-size:12.5px;display:flex}.legend i{background:linear-gradient(90deg,#67001f,#b2182b,#d6604d,#f4a582,#fddbc7,#f7f7f7,#d1e5f0,#92c5de,#4393c3,#2166ac);border-radius:2px;flex:1;max-width:220px;height:10px}.formula{font-size:18px;overflow-x:auto;color:var(--ink)!important}.datasets{flex-wrap:wrap;justify-content:center;gap:4px;margin-bottom:16px;display:flex}.datasets button{color:var(--ink2);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:14.5px}.datasets button:hover{color:var(--ink)}.datasets button[aria-selected=true]{background:var(--ink);color:var(--bg)}.models{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px;margin-bottom:14px;display:flex}.cluster{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.cluster-label{color:var(--mut);margin-right:4px;font-size:13px}.models button{border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:999px;padding:3px 12px;font-size:13.5px}.models button:hover{border-color:var(--mut);color:var(--ink)}.models button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.view-toggle{background:var(--soft);border-radius:999px;width:fit-content;margin:0 auto 16px;padding:3px;display:flex}.view-toggle[hidden]{display:none}.view-toggle button{color:var(--ink2);background:0 0;border:0;border-radius:999px;padding:4px 16px;font-size:13.5px}.view-toggle button[aria-pressed=true]{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.compare{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.gt-box,.swipe{height:min(500px,64vh);box-shadow:inset 0 0 0 1px var(--line);background:0 0;border-radius:14px;margin:0;position:relative;overflow:hidden}.swipe{--x:50%;-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:ew-resize}.swipe img,.gt-box img{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tag.gt{background:#787c84d9;left:12px}.swipe .tag{border-radius:12px;max-width:calc(50% - 20px);line-height:1.35}.swipe .tag.right{text-align:right}.swipe img.ours{clip-path:inset(0 0 0 var(--x))}.swipe img:not(.ours){clip-path:inset(0 calc(100% - var(--x)) 0 0)}.divider{top:0;bottom:0;left:var(--x);background:var(--acc);width:2px;margin-left:-1px;position:absolute}.divider:after{content:"";background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2'%3E%3Cpath d='m9 6-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat;border-radius:50%;width:36px;height:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000040}.tag{color:#fff;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600;position:absolute;top:12px}.tag small{opacity:.85;margin-left:4px;font-weight:400}.tag.left{background:#17191ecc;left:12px}.tag.right{background:var(--ours);right:12px}.thumbs{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.thumbs button{width:104px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2);background:0 0;border:0;border-radius:10px;gap:2px;padding:4px 4px 6px;font-size:12.5px;line-height:1.3;display:grid}.thumbs button img{aspect-ratio:1.15;object-fit:contain}.thumbs button small{color:var(--mut);font-variant-numeric:tabular-nums;font-size:11px}.thumbs button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--acc);color:var(--ink);font-weight:600}.thumbs button.is-ours{box-shadow:inset 0 0 0 2px var(--ours);color:var(--ours);cursor:default;font-weight:600}.note{text-align:center;max-width:720px;color:var(--ink2);margin:12px auto 0;font-size:14px}.note b{color:var(--ink)}.curves{margin:48px 0 0}.curves img{border-radius:14px}.bib{position:relative}.bib pre{background:var(--soft);font:13px/1.6 var(--mono);border-radius:12px;margin:0;padding:18px 20px;overflow-x:auto}.copy{border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:6px;padding:4px 10px;font-size:12.5px;position:absolute;top:10px;right:10px}footer{border-top:1px solid var(--line);text-align:center;color:var(--mut);margin-top:64px;padding-top:24px;padding-bottom:40px;font-size:13px}@media (width<=760px){.compare{grid-template-columns:minmax(0,1fr)}.gt-box,.swipe{aspect-ratio:1.15;height:auto}}@media (width<=860px){.viewer{grid-template-columns:1fr}.stage{min-height:380px}.steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}.steps:before{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
