@font-face{font-family:Inter;src:url('assets/fonts/inter-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('assets/fonts/inter-medium.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url('assets/fonts/inter-semibold.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url('assets/fonts/inter-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#182138;--muted:#667187;--accent:#4b56d6;--accent-dark:#3742bb;--accent-wash:#f0f1fe;--border:#e6e9f0;--surface:#f7f8fb;--canvas:#121b2b;--radius:16px;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:#fff;color:var(--ink);font:400 15px/1.65 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.3;cursor:default}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8490ed;outline-offset:4px}svg{display:block;width:18px;height:18px;flex-shrink:0}[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}[hidden]{display:none!important}.site-header,main{width:calc(100% - 80px);max-width:1240px;margin:0 auto}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f1f5}.wordmark{display:flex;gap:10px;align-items:center;font-size:21px;font-weight:600;letter-spacing:-.7px}.wordmark svg{width:23px;height:23px;fill:var(--accent)}nav{display:flex;gap:30px;font-size:13px;color:var(--muted)}nav a:hover{color:var(--accent)}.hero{padding:57px 0 58px;text-align:center}h1{font-size:clamp(29px,3.45vw,46px);font-weight:600;line-height:1.22;letter-spacing:-1.7px;margin:0 auto 23px;max-width:1120px}h1 span{color:var(--accent)}.authors{font-size:14px;color:#59647a;margin:0 0 25px}.authors b{padding:0 6px;font-weight:400;color:#a0a7b5}.resource-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.resource-links a{display:flex;align-items:center;gap:8px;padding:8px 18px;border-radius:9px;border:1px solid var(--border);font-size:13px;font-weight:500;background:white;transition:border-color .16s,background .16s}.resource-links a:hover{border-color:#b5baf0;background:#f7f8ff}.resource-links a.resource-primary{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 3px 8px #4b56d61a}.resource-links a.resource-primary:hover{background:var(--accent-dark)}.resource-links svg{width:16px;height:16px}.page-section{margin-bottom:76px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;gap:18px}h2{font-size:27px;font-weight:600;letter-spacing:-.8px;line-height:1.2;margin:0}.section-meta{font-size:12px;color:var(--muted)}.demo-shell{border:1px solid #dfe4ed;border-radius:18px;background:white;box-shadow:0 10px 40px -22px #283d6b33;overflow:clip}.demo-toolbar{height:62px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.model-name{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}.model-name [data-icon]{color:var(--accent)}.transport{display:flex;align-items:center;gap:20px}.transport output{white-space:nowrap;font:11px var(--mono);color:var(--muted)}.transport-buttons{display:flex;gap:5px;align-items:center}.icon-button{width:32px;height:32px;padding:7px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px}.icon-button:hover{background:#eef0f8}.play-button{display:flex;align-items:center;gap:6px;border-radius:7px;padding:6px 13px;background:var(--accent-wash);color:var(--accent-dark);font-size:12px;font-weight:600;min-width:75px;justify-content:center}.play-button svg{width:14px;height:14px}.play-button:hover{background:#e5e7fb}.task{margin:0;padding:0 22px;border-bottom:1px solid var(--border);font-size:13px}.task summary{display:flex;align-items:center;gap:15px;min-height:47px;cursor:pointer;list-style:none}.task summary::-webkit-details-marker{display:none}.task-label{font-size:11px;color:var(--accent-dark);font-weight:600;flex-shrink:0}#task-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:1;font-size:12px}.task summary svg{width:14px;height:14px;color:var(--muted);transition:transform .2s}.task[open] summary svg{transform:rotate(180deg)}#question{white-space:pre-line;padding:3px 0 21px;max-width:900px;line-height:1.8;font-size:13px}#rounds::-webkit-scrollbar{display:none}#rounds{scrollbar-width:none;position:relative;list-style:none;padding:14px 22px;margin:0;display:flex;gap:10px;background:#fbfcfe;border-bottom:1px solid var(--border)}#rounds li{flex:1;min-width:0}#rounds button{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:8px;width:100%;color:var(--muted);font-size:12px;white-space:nowrap;transition:background .2s,color .2s}#rounds button:hover{background:#f0f2f9}#rounds .round-number{font:10px var(--mono);color:#6f7b92;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#eef0f5;flex-shrink:0}#rounds button[aria-current=step]{background:var(--accent-wash);color:var(--accent-dark);font-weight:600}#rounds button[aria-current=step] .round-number{background:var(--accent);color:white}.demo-body{display:grid;grid-template-columns:minmax(0,1fr) 320px}.visual-column{min-width:0;padding:20px;background:#fafbfe}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px;margin-bottom:13px;font-size:11px}.stage-label{font-weight:600;color:#404c65}#selection-label{color:var(--muted);margin-left:9px}#back-operation{font-size:11px;color:var(--accent);display:flex;align-items:center;gap:6px;padding:0}.stage{min-height:330px;display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:14px;padding:24px;border-radius:12px;background:var(--canvas);position:relative}.source-group{display:grid;gap:13px;min-width:0}.source-group.multi{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stage figure{margin:0;min-width:0}.stage .image-view{position:relative;display:block;line-height:0;width:100%;padding:0;border-radius:6px;overflow:hidden;background:#0b111e}.image-view img{width:100%;max-height:266px;object-fit:contain;display:block}.source-group.multi img{max-height:225px}.stage figcaption{color:#bcc8de;font:10px var(--mono);margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:6px}.stage figcaption svg{width:12px;height:12px;color:#8293af}.stage .result figcaption{color:#a6bcff}.stage .result .image-view{box-shadow:0 0 0 1px #7086bc50}.transform-arrow{color:#8698c0;display:flex;justify-content:center}.transform-arrow svg{width:21px;height:21px}.crop-region{position:absolute;border:2px solid #8ed8f8;background:#8ed8f822;pointer-events:none;box-shadow:0 0 0 999px #0b111e33}.stage .crop-source{width:100%;max-width:300px;justify-self:center}.stage .crop-source img{max-height:none;object-fit:fill}.stage.selected{display:flex;align-items:center;justify-content:center}.stage.selected figure{max-width:100%;width:auto}.stage.selected .image-view img{max-height:300px;width:auto;max-width:100%;margin:auto}.stage.final-stage .source-group{display:flex;justify-content:center}.stage.final-stage{grid-template-columns:1fr}.stage.final-stage figure{width:220px;max-width:100%}.stage.final-stage img{max-height:285px}.provenance{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;font:10px/1.6 var(--mono);color:var(--muted);flex-wrap:wrap;padding:8px}.provenance b{font-weight:400;color:var(--accent)}.workspace-bar{display:flex;justify-content:space-between;align-items:center;margin:14px 0 11px}.workspace-bar h3{font-size:11px;font-weight:600;margin:0;color:#424f68}.workspace-bar>span{font-size:10px;color:var(--muted)}#filmstrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.thumbnail{min-width:0;display:block;text-align:left;padding:5px;border:1px solid transparent;border-radius:8px;background:white;transition:border-color .15s}.thumbnail:hover{border-color:#c6cdef}.thumbnail[aria-pressed=true]{border-color:var(--accent);background:#f1f3ff}.thumbnail.is-new{border-color:#c7d2f5}.thumbnail img{display:block;width:100%;height:54px;object-fit:contain;background:#eef0f6;border-radius:4px}.thumbnail span{display:block;font:9px var(--mono);padding:5px 1px 0;color:var(--muted)}.model-panel{border-left:1px solid var(--border);padding:21px 22px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-heading h3{font-size:13px;font-weight:600;margin:0}.panel-heading>span{font:10px var(--mono);color:var(--muted)}.input-refs{display:flex;align-items:baseline;gap:10px;margin-bottom:20px;font-size:10px;color:var(--muted)}#input-images{display:flex;gap:5px;flex-wrap:wrap}.ref-button{font:10px var(--mono);color:#56627c;background:#f1f3f8;border-radius:4px;padding:3px 5px}.ref-button:hover{color:var(--accent);background:var(--accent-wash)}#model-text{font-size:13px;line-height:1.85;color:#515d73;min-height:205px;max-height:342px;overflow:auto;padding-right:3px}#model-text p{margin:0 0 15px}#model-text p:last-child{margin-bottom:0}.record-details{border-top:1px solid #edf0f5;margin-top:17px}.record-details summary{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding:12px 0 0;cursor:pointer;list-style:none}.record-details summary::-webkit-details-marker{display:none}.record-details summary svg{width:13px;height:13px}.record-details[open] summary svg{transform:rotate(180deg)}pre{font:11px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.record-details pre{background:var(--surface);border-radius:8px;padding:12px;max-height:260px;overflow:auto;color:#4d5c77}#final-answer{display:flex;align-items:center;justify-content:space-between;background:var(--accent-wash);border-radius:9px;padding:12px 15px;margin-top:16px;color:var(--accent-dark);font-size:11px}#final-answer strong{font-size:22px;font-weight:600}.credits{font-size:10px;color:var(--muted);margin-top:15px}.credits summary{cursor:pointer}.credits a{text-decoration:underline}.segmented{display:flex;padding:4px;border-radius:10px;gap:3px;background:#f3f5f9}.segmented button{padding:7px 13px;font-size:11px;color:var(--muted);border-radius:7px;white-space:nowrap;transition:background .16s,color .16s}.segmented button[aria-pressed=true]{background:#fff;color:var(--accent-dark);font-weight:500;box-shadow:0 1px 4px #1c2c4c12}.segmented button:hover{color:var(--accent-dark)}.method-content{border:1px solid var(--border);border-radius:14px;overflow:hidden;padding:24px;background:white;min-height:300px}.method-content>img{width:100%;display:block}.method-flow{display:flex;align-items:center;justify-content:center;gap:24px;min-height:295px;flex-wrap:wrap}.method-flow figure{margin:0;width:155px}.method-flow img{width:100%;height:180px;object-fit:contain;border-radius:7px;background:#f3f5f9}.method-flow figcaption{font:10px var(--mono);margin-top:9px;color:var(--muted);text-align:center}.method-flow .method-arrow{color:#8393c1}.method-flow .method-arrow svg{width:24px;height:24px}.method-flow .model-node{padding:16px 22px;background:var(--accent-wash);border-radius:11px;color:var(--accent-dark);font-size:13px;font-weight:500;display:flex;gap:8px;align-items:center}.method-flow .method-params{font:11px/2 var(--mono);color:var(--muted)}.method-flow.feedback figure{width:105px}.method-flow.feedback img{height:130px}.paper-section img{width:100%;display:block}.paper-section a{display:block;border:1px solid var(--border);border-radius:14px;padding:20px}.text-button{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:7px}.text-button:hover{background:var(--surface);color:var(--accent)}.text-button svg{width:14px;height:14px}#bibtex{background:var(--surface);padding:24px;border-radius:12px;color:#526079;margin:0}#copy-status{font-size:12px;color:var(--muted);min-height:20px}dialog{width:min(760px,92vw);border:1px solid #dee5f1;border-radius:16px;padding:16px;max-width:92vw;max-height:92vh;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#10192bc9;backdrop-filter:blur(5px)}.zoom-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:20px}#zoom-label{font:11px var(--mono);color:var(--muted)}dialog>img{width:100%;height:min(70vh,680px);max-width:100%;max-height:76vh;display:block;margin:auto;object-fit:contain;border-radius:8px}
@media(min-width:1400px){.hero{padding:62px 0}.stage{min-height:365px}.image-view img{max-height:300px}.source-group.multi img{max-height:240px}}
@media(max-width:1050px){.site-header,main{width:calc(100% - 48px)}.demo-body{grid-template-columns:minmax(0,1fr) 285px}.model-panel{padding:20px 17px}.visual-column{padding:16px}.stage{padding:18px;gap:9px;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.source-group.multi{grid-template-columns:1fr}.source-group.multi img{max-height:120px}.stage.selected .image-view img{max-height:270px}.thumbnail img{height:43px}#rounds{padding:12px 17px;gap:3px}#rounds button{padding:7px 8px;gap:6px}.hero h1{font-size:36px}.desktop-break{display:none}.segmented button{padding:7px 9px}.method-flow{gap:17px}}
@media(max-width:760px){.site-header,main{width:calc(100% - 32px)}.site-header{height:65px}.wordmark{font-size:19px}nav{gap:20px;font-size:12px}.hero{padding:38px 0 42px}.hero h1{font-size:31px;letter-spacing:-1.1px;max-width:600px}.authors{font-size:12px;line-height:1.9;max-width:460px;margin-left:auto;margin-right:auto}.authors b{padding:0 3px}.resource-links{gap:7px}.resource-links a{padding:7px 12px;font-size:12px}h2{font-size:24px}.page-section{margin-bottom:48px}.demo-body{grid-template-columns:1fr}.model-panel{border-left:0;border-top:1px solid var(--border);padding:20px}.stage{min-height:330px;padding:22px;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr)}.source-group.multi{grid-template-columns:repeat(2,minmax(0,1fr))}.source-group.multi img{max-height:220px}.stage.final-stage{grid-template-columns:1fr}#model-text{min-height:0;max-height:225px;font-size:13px}.thumbnail img{height:60px}.model-panel .record-details{margin-top:13px}.method-heading{align-items:flex-start;flex-direction:column;gap:16px}.segmented{max-width:100%;overflow:auto}.method-content{padding:16px}.method-flow figure{width:120px}.method-flow img{height:145px}.method-flow.feedback figure{width:90px}.section-meta{font-size:11px}.demo-toolbar{padding:0 16px}.transport{gap:10px}.transport output{font-size:10px}.task{padding:0 16px}}
@media(max-width:430px){.resource-links{display:grid;grid-template-columns:repeat(2,1fr);max-width:270px;margin-inline:auto}.resource-links a{justify-content:center}.site-header,main{width:calc(100% - 28px)}.hero h1{font-size:29px}.authors{max-width:320px}.demo-shell{border-radius:13px}.model-name{font-size:12px;gap:6px}.model-name svg{width:15px;height:15px}.transport{gap:5px}.transport output{font-size:9px}.icon-button{width:28px;height:28px;padding:6px}.play-button{min-width:60px;padding:6px 8px;font-size:11px}.demo-toolbar{padding:0 12px}.visual-column{padding:13px}.stage{min-height:260px;padding:14px;gap:8px;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr)}.source-group.multi{grid-template-columns:1fr}.source-group.multi img{max-height:95px}.stage .image-view img{max-height:220px}.stage .crop-source img{max-height:none}.stage figcaption{font-size:9px}.stage-toolbar{font-size:10px}.transform-arrow svg{width:17px}.stage.final-stage figure{width:165px}.provenance{font-size:9px}#rounds{gap:3px;padding:10px 12px;overflow:auto}#rounds li{flex:0 0 auto}#rounds button{font-size:10px;padding:6px 8px;gap:5px}#rounds .round-number{width:18px;height:18px;font-size:9px}#filmstrip{gap:5px}.thumbnail{padding:3px}.thumbnail img{height:37px}.thumbnail span{font-size:8px}.segmented{gap:1px}.segmented button{padding:7px 8px;font-size:10px}.method-flow{gap:12px}.method-flow figure{width:95px}.method-flow img{height:125px}.method-flow.feedback figure{width:75px}.paper-section a{padding:8px;border-radius:10px}.record-details summary{font-size:12px}.credits{font-size:10px}}
@media(max-width:360px){.demo-toolbar{height:auto;min-height:62px;flex-wrap:wrap;gap:8px;padding:12px}.transport{width:100%;justify-content:space-between}.transport output{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
