.project-page{color:var(--text-color);font-family:var(--font-body);padding:0 1.25rem 3rem}.project-inner{max-width:960px;margin:0 auto}.project-hero{text-align:center;padding:5rem 0 .5rem}.project-title{color:var(--accent-color);font-family:var(--font-display);font-size:clamp(var(--fs-xl), 4.2vw, var(--fs-3xl));letter-spacing:-.015em;text-wrap:balance;margin:0 auto 1.5rem;font-style:italic;font-weight:500;line-height:1.22}.project-authors{color:var(--text-color);font-size:var(--fs-base);margin:0 auto .5rem;line-height:1.7}.project-authors strong{color:var(--accent-color);font-weight:600}.project-authors sup,.project-meta sup{color:var(--signal-color);margin-left:1px;font-size:.7em;font-weight:700}.project-meta{color:var(--text-light);font-size:var(--fs-sm);margin:0 0 .25rem;line-height:1.55}.project-meta.is-venue{color:var(--text-color);margin-bottom:1.75rem;font-weight:600}.project-award{color:var(--accent-color);font-weight:700}.project-award:before{content:"|";color:var(--border-color);margin:0 .5rem;font-weight:400}.project-links{justify-content:center;margin-top:0}.project-links .pub-text-link{height:2.25rem;font-size:var(--fs-sm);padding:0 1rem}.project-links .is-disabled{opacity:.5;cursor:not-allowed}.project-band{max-width:960px;padding:var(--section-space) 0 0;margin:0 auto;scroll-margin-top:5rem}.project-band .section-title{margin-bottom:1rem}.project-lede{color:var(--text-light);font-size:var(--fs-base);text-align:justify;text-justify:inter-word;text-wrap:pretty;margin:0;line-height:1.65}.project-abstract{color:var(--text-color);font-size:var(--fs-base);text-align:justify;text-justify:inter-word;text-wrap:pretty;margin:0;line-height:1.75}.project-figure,.project-table-figure{width:100%;margin:1.75rem auto 0}.project-figure.is-small{max-width:32rem}.project-figure.is-medium{max-width:45rem}.project-figure.is-wide{max-width:58rem}.project-figure img{border-radius:var(--shape-card);background:var(--logo-surface);width:100%;height:auto;display:block}.project-caption{border-left:3px solid var(--card-border-hover);color:var(--text-light);font-size:var(--fs-sm);margin-top:.9rem;padding-left:.75rem;font-style:italic;line-height:1.55}.project-caption span{color:var(--accent-color);font-style:normal;font-weight:700}.project-table-figure.is-compact{width:-moz-fit-content;width:fit-content;max-width:100%}.project-table-scroll{overflow-x:auto}.project-table-scroll:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.project-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;line-height:1.35}.is-compact .project-table{font-size:var(--fs-sm)}.project-table th,.project-table td{border-bottom:1px solid var(--border-color);text-align:center;white-space:nowrap;padding:.45rem .5rem}.is-compact .project-table th,.is-compact .project-table td{padding:.5rem .9rem}.is-text .project-table{width:100%;min-width:40rem;font-size:var(--fs-sm);line-height:1.5}.is-text .project-table th,.is-text .project-table td{text-align:left;vertical-align:top;white-space:normal;padding:.6rem .75rem}.project-table thead th{color:var(--text-color);background:var(--hero-atmosphere);font-weight:700}.project-table .is-label{text-align:left}.project-table tbody th{font-weight:600}.project-table .is-ours{background:var(--hero-atmosphere)}.project-table .is-best{color:var(--accent-color);font-weight:700}.project-bibtex{position:relative}.project-bibtex pre{border:1px solid var(--border-color);border-radius:var(--shape-card);color:var(--text-color);background:var(--white);font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-word;margin:0;padding:.9rem 3rem .9rem 1rem;line-height:1.6;overflow-x:auto}.project-copy{border:var(--button-border-width) solid var(--icon-border);border-radius:var(--icon-border-radius);width:1.75rem;height:1.75rem;color:var(--accent-color);cursor:pointer;background:0 0;place-items:center;padding:0;transition:color .15s,background-color .15s,transform .15s;display:inline-grid;position:absolute;top:.6rem;right:.6rem}.project-dots{z-index:40;flex-direction:column;gap:.55rem;display:flex;position:fixed;top:50%;right:1.1rem;translate:0 -50%}.project-dots a{width:9px;height:9px;display:block;position:relative}.project-dots a:before{content:"";background:var(--border-color);border-radius:50%;transition:transform .25s,background-color .25s,box-shadow .25s;position:absolute;top:0;bottom:0;left:0;right:0}.project-dots a:hover:before,.project-dots a.is-active:before{background:var(--accent-color);box-shadow:0 0 0 4px var(--hero-atmosphere);transform:scale(1.3)}.project-dots a:focus-visible:before{background:var(--accent-color);box-shadow:0 0 0 4px var(--hero-atmosphere);transform:scale(1.3)}.project-dots a:focus-visible{outline:none}.project-dot-label{border:1px solid var(--card-border-color);border-radius:var(--shape-chip);color:var(--text-color);background:var(--card-bg);box-shadow:var(--elev-1);font-size:var(--fs-xs);white-space:nowrap;opacity:0;pointer-events:none;padding:.25rem .6rem;font-weight:600;transition:opacity .2s,translate .2s;position:absolute;top:50%;right:calc(100% + .75rem);translate:.4rem -50%}.project-dots a:hover .project-dot-label{opacity:1;translate:0 -50%}.project-dots a:focus-visible .project-dot-label{opacity:1;translate:0 -50%}@media (max-width:1100px){.project-dots{display:none}}@media (max-width:700px){.project-hero{padding-top:3rem}.project-page{padding-inline-start:1rem;padding-inline-end:1rem}}@media print{.project-dots,.project-copy,.project-links{display:none}}.project-list{margin:1rem 0 0;padding:0;list-style:none}.project-list li{color:var(--text-color);padding:.5rem 0 .5rem 1.25rem;line-height:1.6;position:relative}.project-list li:before{content:"";background:var(--accent-color);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:1.3rem;left:0}.project-code{margin:1.75rem 0 0}.project-code pre{border:1px solid var(--border-color);border-radius:var(--shape-card);color:var(--text-color);background:var(--white);font-size:var(--fs-xs);margin:0;padding:1rem 1.25rem;line-height:1.7;overflow-x:auto}.project-slides{max-width:58rem;margin:1.75rem auto 0}.project-slides-stage{border:1px solid var(--card-border-color);border-radius:var(--shape-card);background:var(--logo-surface);width:100%;box-shadow:var(--card-hover-shadow);cursor:zoom-in;padding:0;display:grid;position:relative;overflow:hidden}.project-slides-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;grid-area:1/1;width:100%;height:100%}.project-slides-expand{background:var(--lightbox-backdrop);width:2.25rem;height:2.25rem;color:var(--lightbox-fg);font-size:var(--fs-sm);opacity:.75;border-radius:50%;place-items:center;transition:opacity .2s,transform .2s;display:inline-grid;position:absolute;bottom:.75rem;right:.75rem}.project-slides-stage:hover .project-slides-expand{opacity:1;transform:scale(1.08)}.project-slides-stage:focus-visible .project-slides-expand{opacity:1;transform:scale(1.08)}.project-slides-stage:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}.project-slides-nav:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}.project-slides-strip button:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}.project-slides-bar{align-items:center;gap:.5rem;margin-top:.9rem;display:flex}.project-slides-nav{width:var(--control-height);height:var(--control-height);border:1px solid var(--card-border-color);color:var(--accent-color);cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:background-color .2s,border-color .2s,transform .15s;display:inline-grid}.project-slides-nav:hover{border-color:var(--card-border-hover);background:var(--hover-bg)}.project-slides-nav:active{transform:scale(.94)}.project-slides-count{min-width:4.5rem;color:var(--text-light);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center}.project-slides-download{margin:0 0 0 auto}.project-slides-strip{scroll-snap-type:x proximity;scrollbar-width:thin;gap:.6rem;margin:1rem 0 0;padding:.35rem;list-style:none;display:flex;overflow-x:auto}.project-slides-strip li{scroll-snap-align:center;flex:0 0 7.5rem}.project-slides-strip button{border-radius:var(--shape-chip);background:var(--logo-surface);cursor:pointer;opacity:.6;border:2px solid #0000;width:100%;padding:0;transition:opacity .2s,border-color .2s;display:block;overflow:hidden}.project-slides-strip button:hover{opacity:.9}.project-slides-strip button.is-active{border-color:var(--accent-color);opacity:1}.project-slides-strip img{width:100%;height:auto;display:block}.slide-lightbox{background:var(--lightbox-backdrop);width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--lightbox-fg);overscroll-behavior:contain;border:0;margin:0;padding:0}.slide-lightbox::backdrop{background:var(--lightbox-backdrop)}.slide-lightbox[open]{grid-template-rows:1fr auto;place-items:center;display:grid}.slide-lightbox-image{border-radius:var(--shape-card);background:var(--logo-surface);object-fit:contain;-webkit-user-select:none;user-select:none;touch-action:pan-y pinch-zoom;grid-area:1/1;width:auto;max-width:calc(100vw - 2rem);height:auto;max-height:calc(100dvh - 7rem)}.slide-lightbox-bar{padding:.5rem 0 max(1rem, env(safe-area-inset-bottom));align-items:center;gap:1rem;display:flex}.slide-lightbox-count{min-width:4.5rem;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center;opacity:.8}.slide-lightbox-btn{width:var(--control-height);height:var(--control-height);color:var(--lightbox-fg);font-size:var(--fs-lg);cursor:pointer;opacity:.8;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .2s;display:inline-grid}.slide-lightbox-btn:hover{opacity:1}.slide-lightbox-btn:focus-visible{outline:2px solid var(--lightbox-fg);outline-offset:2px;opacity:1}.slide-lightbox-close{top:max(.75rem, env(safe-area-inset-top));position:absolute;right:.75rem}@media (max-width:600px){.project-slides-strip li{flex-basis:5.5rem}.project-slides-download .pub-link-label{display:none}.slide-lightbox-image{border-radius:0;max-width:100vw}}@media (orientation:landscape) and (max-height:500px){.slide-lightbox[open]{grid-template-rows:1fr}.slide-lightbox-image{border-radius:0;max-width:100vw;max-height:100dvh}.slide-lightbox-bar{background:var(--lightbox-backdrop);border-radius:999px;padding:0 .75rem;position:absolute;bottom:.25rem;left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.project-slides-nav,.project-slides-strip button,.project-slides-expand,.slide-lightbox-btn{transition:none}}
