@font-face{font-family:geistSans;src:url(../media/Geist_Regular-s.p.01xk7kbsv57y-.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:geistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_3bbee00-module__y6yvba__className{font-family:geistSans,geistSans Fallback,system-ui,sans-serif}.geistsans_3bbee00-module__y6yvba__variable{--font-geist-sans:"geistSans", "geistSans Fallback", system-ui, sans-serif}
@font-face{font-family:geistMono;src:url(../media/geist_mono_latin-s.p.0.q-h669a_dqa.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.0%;size-adjust:131.49%}.geistmono_d06619ae-module__C5wBYW__className{font-family:geistMono,geistMono Fallback,monospace}.geistmono_d06619ae-module__C5wBYW__variable{--font-geist-mono:"geistMono", "geistMono Fallback", monospace}
.Toast-module__9WWWZG__toast{opacity:0;background:#fff;border-radius:6px;align-items:center;gap:12px;margin-bottom:10px;padding:14px 20px;transition:all .3s;display:flex;transform:translate(100%);box-shadow:0 4px 12px #00000026}.Toast-module__9WWWZG__visible{opacity:1;transform:translate(0)}.Toast-module__9WWWZG__success{border-left:4px solid #388e3c}.Toast-module__9WWWZG__success .Toast-module__9WWWZG__icon{color:#388e3c}.Toast-module__9WWWZG__error{border-left:4px solid #d32f2f}.Toast-module__9WWWZG__error .Toast-module__9WWWZG__icon{color:#d32f2f}.Toast-module__9WWWZG__warning{border-left:4px solid #f57c00}.Toast-module__9WWWZG__warning .Toast-module__9WWWZG__icon{color:#f57c00}.Toast-module__9WWWZG__info{border-left:4px solid #1976d2}.Toast-module__9WWWZG__info .Toast-module__9WWWZG__icon{color:#1976d2}.Toast-module__9WWWZG__icon{font-size:20px;font-weight:700}.Toast-module__9WWWZG__message{color:#333;flex:1;font-size:14px}.Toast-module__9WWWZG__close{color:#999;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:20px;display:flex}.Toast-module__9WWWZG__close:hover{color:#333}
.ToastContainer-module__BsXgLa__container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;max-height:calc(100vh - 40px);display:flex;position:fixed;top:20px;right:20px;overflow-y:auto}.ToastContainer-module__BsXgLa__container>*{pointer-events:auto}@media (max-width:768px){.ToastContainer-module__BsXgLa__container{top:10px;left:20px;right:20px}}
.Button-module__xDwtkW__button{cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;justify-content:center;align-items:center;font-weight:500;transition:all .3s;display:inline-flex}.Button-module__xDwtkW__primary{color:#fff;background-color:#1890ff}.Button-module__xDwtkW__primary:active{background-color:#096dd9}.Button-module__xDwtkW__secondary{color:#333;background-color:#f0f0f0}.Button-module__xDwtkW__secondary:active{background-color:#d9d9d9}.Button-module__xDwtkW__danger{color:#fff;background-color:#ff4d4f}.Button-module__xDwtkW__danger:active{background-color:#d9363e}.Button-module__xDwtkW__small{padding:8px 12px;font-size:14px}.Button-module__xDwtkW__medium{padding:12px 16px;font-size:16px}.Button-module__xDwtkW__large{padding:16px 24px;font-size:18px}.Button-module__xDwtkW__disabled{opacity:.5;cursor:not-allowed}.Button-module__xDwtkW__loading{opacity:.7;cursor:wait}.Button-module__xDwtkW__loadingText{margin-left:8px}
.Loading-module__UEKQZa__loading{flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.Loading-module__UEKQZa__spinner{border:3px solid #e2e8f0;border-top-color:#3182ce;border-radius:50%;animation:.8s linear infinite Loading-module__UEKQZa__spin;position:relative}.Loading-module__UEKQZa__circle{border:3px solid #e2e8f0;border-bottom-color:#3182ce;border-radius:50%;width:60%;height:60%;animation:.6s linear infinite reverse Loading-module__UEKQZa__spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Loading-module__UEKQZa__message{color:#666;margin-top:16px;font-size:14px}.Loading-module__UEKQZa__small .Loading-module__UEKQZa__spinner{width:24px;height:24px}.Loading-module__UEKQZa__medium .Loading-module__UEKQZa__spinner{width:48px;height:48px}.Loading-module__UEKQZa__large .Loading-module__UEKQZa__spinner{width:64px;height:64px}@keyframes Loading-module__UEKQZa__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.Input-module__Tl1jgW__input{margin-bottom:16px}.Input-module__Tl1jgW__field{box-sizing:border-box;border:1px solid #d9d9d9;border-radius:4px;width:100%;padding:12px;font-size:16px;transition:border-color .3s}.Input-module__Tl1jgW__field:focus{border-color:#1890ff;outline:none}.Input-module__Tl1jgW__error .Input-module__Tl1jgW__field{border-color:#ff4d4f}.Input-module__Tl1jgW__disabled .Input-module__Tl1jgW__field{cursor:not-allowed;background-color:#f5f5f5}.Input-module__Tl1jgW__errorText{color:#ff4d4f;margin-top:4px;font-size:14px;display:block}
.Card-module__si82nG__card{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.Card-module__si82nG__title{border-bottom:1px solid #f0f0f0;padding:16px;font-size:18px;font-weight:600}.Card-module__si82nG__content{padding:16px}
.Progress-module__5rrPkq__progress{align-items:center;display:flex}.Progress-module__5rrPkq__bar{background-color:#f0f0f0;border-radius:4px;flex:1;height:8px;overflow:hidden}.Progress-module__5rrPkq__inner{background-color:#1890ff;border-radius:4px;height:100%;transition:width .3s}.Progress-module__5rrPkq__success .Progress-module__5rrPkq__inner{background-color:#52c41a}.Progress-module__5rrPkq__error .Progress-module__5rrPkq__inner{background-color:#ff4d4f}.Progress-module__5rrPkq__text{color:#666;margin-left:12px;font-size:14px}
.FilePicker-module__8pvWWG__filePicker{width:100%}.FilePicker-module__8pvWWG__dropzone{text-align:center;cursor:pointer;background-color:#fafafa;border:2px dashed #d9d9d9;border-radius:8px;padding:40px 20px;transition:all .3s}.FilePicker-module__8pvWWG__dropzone:active,.FilePicker-module__8pvWWG__dragging{background-color:#f0f7ff;border-color:#1890ff}.FilePicker-module__8pvWWG__validating{opacity:.7;cursor:not-allowed}.FilePicker-module__8pvWWG__icon{margin-bottom:16px;font-size:48px}.FilePicker-module__8pvWWG__text{color:#333;margin-bottom:8px;font-size:18px;display:block}.FilePicker-module__8pvWWG__hint{color:#999;font-size:14px;display:block}.FilePicker-module__8pvWWG__error{background-color:#fff2f0;border:1px solid #ffccc7;border-radius:4px;margin-top:12px;padding:12px}.FilePicker-module__8pvWWG__error p{color:#ff4d4f;margin:0;font-size:14px}.FilePicker-module__8pvWWG__spinner{border:3px solid #f3f3f3;border-top-color:#1890ff;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:1s linear infinite FilePicker-module__8pvWWG__spin}@keyframes FilePicker-module__8pvWWG__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.ImagePreview-module__Ay2rRq__preview{width:100%}.ImagePreview-module__Ay2rRq__container{background-color:#fff;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.ImagePreview-module__Ay2rRq__image{object-fit:cover;width:100%;height:300px;display:block}.ImagePreview-module__Ay2rRq__info{border-top:1px solid #f0f0f0;padding:12px}.ImagePreview-module__Ay2rRq__filename{color:#333;margin-bottom:4px;font-size:16px;font-weight:500;display:block}.ImagePreview-module__Ay2rRq__size{color:#999;font-size:14px;display:block}.ImagePreview-module__Ay2rRq__remove{cursor:pointer;background-color:#00000080;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:8px;right:8px}.ImagePreview-module__Ay2rRq__remove span{color:#fff;font-size:18px}.ImagePreview-module__Ay2rRq__remove:active{background-color:#000000b3}
.ImageEditor-module__l5bfIq__editor{width:100%}.ImageEditor-module__l5bfIq__canvasContainer{background-color:#f5f5f5;border-radius:8px;justify-content:center;align-items:center;margin-bottom:20px;display:flex;overflow:hidden}.ImageEditor-module__l5bfIq__canvas{max-width:100%;height:auto;display:block}.ImageEditor-module__l5bfIq__controls{background-color:#fff;border-radius:8px;padding:20px}.ImageEditor-module__l5bfIq__controlGroup{margin-bottom:24px}.ImageEditor-module__l5bfIq__controlGroup:last-child{margin-bottom:0}.ImageEditor-module__l5bfIq__controlGroup label{color:#666;margin-bottom:8px;font-size:14px;display:block}.ImageEditor-module__l5bfIq__controlGroup input[type=range]{width:100%;margin-bottom:4px}.ImageEditor-module__l5bfIq__controlGroup span{color:#999;font-size:12px}.ImageEditor-module__l5bfIq__buttons{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.ImageEditor-module__l5bfIq__buttons button{color:#fff;cursor:pointer;background-color:#1890ff;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.ImageEditor-module__l5bfIq__buttons button:hover{background-color:#096dd9}
.ErrorBoundary-module__sONm4G__boundary{background:#fff5f5;border:1px solid #fc8181;border-radius:8px;justify-content:center;align-items:center;min-height:400px;padding:40px 20px;display:flex}.ErrorBoundary-module__sONm4G__content{text-align:center;max-width:600px}.ErrorBoundary-module__sONm4G__content h2{color:#c53030;margin:0 0 16px;font-size:24px;font-weight:600}.ErrorBoundary-module__sONm4G__content p{color:#742a2a;margin:0 0 24px;font-size:16px;line-height:1.6}.ErrorBoundary-module__sONm4G__details{text-align:left;margin:24px 0}.ErrorBoundary-module__sONm4G__details summary{cursor:pointer;color:#742a2a;margin-bottom:12px;font-weight:500}.ErrorBoundary-module__sONm4G__details summary:hover{color:#c53030}.ErrorBoundary-module__sONm4G__details pre{color:#2d3748;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:16px;font-size:12px;line-height:1.5;overflow-x:auto}.ErrorBoundary-module__sONm4G__actions{justify-content:center;gap:12px;display:flex}
.ModuleSelector-module__s9bjlq__selector{background:#f9f9f9;border-radius:8px;padding:20px}.ModuleSelector-module__s9bjlq__loading,.ModuleSelector-module__s9bjlq__error{text-align:center;color:#666;padding:40px}.ModuleSelector-module__s9bjlq__error{color:#d32f2f}.ModuleSelector-module__s9bjlq__error button{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:4px;margin-top:10px;padding:8px 16px}.ModuleSelector-module__s9bjlq__available,.ModuleSelector-module__s9bjlq__selected{margin-bottom:20px}.ModuleSelector-module__s9bjlq__available h3,.ModuleSelector-module__s9bjlq__selected h3{color:#333;margin-bottom:15px;font-size:18px}.ModuleSelector-module__s9bjlq__moduleList{flex-direction:column;gap:10px;display:flex}.ModuleSelector-module__s9bjlq__moduleItem{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:12px;transition:all .2s;display:flex}.ModuleSelector-module__s9bjlq__moduleItem:hover{border-color:#1976d2}.ModuleSelector-module__s9bjlq__moduleItem.ModuleSelector-module__s9bjlq__selected{background:#e3f2fd;border-color:#1976d2}.ModuleSelector-module__s9bjlq__moduleName{font-weight:500}.ModuleSelector-module__s9bjlq__moduleLocation{color:#666;font-size:12px}.ModuleSelector-module__s9bjlq__selectedList{flex-direction:column;gap:15px;display:flex}.ModuleSelector-module__s9bjlq__selectedItem{background:#fff;border:2px solid #1976d2;border-radius:8px;padding:15px}.ModuleSelector-module__s9bjlq__selectedHeader{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ModuleSelector-module__s9bjlq__selectedActions{gap:5px;display:flex}.ModuleSelector-module__s9bjlq__selectedActions button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;width:28px;height:28px}.ModuleSelector-module__s9bjlq__params{flex-direction:column;gap:10px;display:flex}.ModuleSelector-module__s9bjlq__param{align-items:center;gap:10px;display:flex}.ModuleSelector-module__s9bjlq__param label{color:#666;min-width:100px;font-size:14px}.ModuleSelector-module__s9bjlq__paramInput{border:1px solid #ccc;border-radius:4px;flex:1;padding:8px}
.ProcessingMonitor-module__0nm_4W__monitor{background:#f9f9f9;border-radius:8px;padding:20px}.ProcessingMonitor-module__0nm_4W__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.ProcessingMonitor-module__0nm_4W__header h3{color:#333;margin:0;font-size:20px}.ProcessingMonitor-module__0nm_4W__stats{gap:15px;display:flex}.ProcessingMonitor-module__0nm_4W__stat{color:#666;font-size:14px}.ProcessingMonitor-module__0nm_4W__stat.ProcessingMonitor-module__0nm_4W__failed{color:#d32f2f;font-weight:500}.ProcessingMonitor-module__0nm_4W__tasksList{flex-direction:column;gap:15px;display:flex}.ProcessingMonitor-module__0nm_4W__taskItem{background:#fff;border:2px solid #e0e0e0;border-radius:8px;gap:15px;padding:15px;transition:border-color .3s;display:flex}.ProcessingMonitor-module__0nm_4W__taskItem.ProcessingMonitor-module__0nm_4W__processing{border-color:#1976d2}.ProcessingMonitor-module__0nm_4W__taskItem.ProcessingMonitor-module__0nm_4W__completed{border-color:#388e3c}.ProcessingMonitor-module__0nm_4W__taskItem.ProcessingMonitor-module__0nm_4W__failed{border-color:#d32f2f}.ProcessingMonitor-module__0nm_4W__taskItem.ProcessingMonitor-module__0nm_4W__cancelled{opacity:.7;border-color:#999}.ProcessingMonitor-module__0nm_4W__thumbnail{object-fit:cover;background:#f0f0f0;border-radius:4px;width:80px;height:80px}.ProcessingMonitor-module__0nm_4W__info{flex-direction:column;flex:1;gap:8px;display:flex}.ProcessingMonitor-module__0nm_4W__taskHeader{align-items:center;gap:10px;display:flex}.ProcessingMonitor-module__0nm_4W__statusIcon{font-size:20px}.ProcessingMonitor-module__0nm_4W__imageId{font-weight:500}.ProcessingMonitor-module__0nm_4W__statusText{color:#666;font-size:14px}.ProcessingMonitor-module__0nm_4W__progress{align-items:center;gap:10px;display:flex}.ProcessingMonitor-module__0nm_4W__progressBar{background:#e0e0e0;border-radius:4px;flex:1;height:8px;overflow:hidden}.ProcessingMonitor-module__0nm_4W__progressFill{background:#1976d2;height:100%;transition:width .3s}.ProcessingMonitor-module__0nm_4W__actions{flex-direction:column;gap:5px;display:flex}.ProcessingMonitor-module__0nm_4W__actions button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 12px;font-size:12px}.ProcessingMonitor-module__0nm_4W__actions button:hover{background:#f5f5f5}
.TaskStatus-module__T3M3Na__container{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.TaskStatus-module__T3M3Na__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.TaskStatus-module__T3M3Na__header h3{color:#333;margin:0;font-size:18px;font-weight:600}.TaskStatus-module__T3M3Na__badge{text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500}.TaskStatus-module__T3M3Na__badge.TaskStatus-module__T3M3Na__pending{color:#fa8c16;background-color:#fff7e6}.TaskStatus-module__T3M3Na__badge.TaskStatus-module__T3M3Na__processing{color:#1890ff;background-color:#e6f7ff}.TaskStatus-module__T3M3Na__badge.TaskStatus-module__T3M3Na__completed{color:#52c41a;background-color:#f6ffed}.TaskStatus-module__T3M3Na__badge.TaskStatus-module__T3M3Na__failed,.TaskStatus-module__T3M3Na__badge.TaskStatus-module__T3M3Na__timeout{color:#ff4d4f;background-color:#fff2f0}.TaskStatus-module__T3M3Na__progress{text-align:center;padding:16px}.TaskStatus-module__T3M3Na__text{color:#666;margin-top:12px;font-size:14px}.TaskStatus-module__T3M3Na__error{background-color:#fff2f0;border:1px solid #ffccc7;border-radius:4px;margin-bottom:16px;padding:12px}.TaskStatus-module__T3M3Na__error p{color:#ff4d4f;margin:0;font-size:14px}.TaskStatus-module__T3M3Na__completed{text-align:center;background-color:#f6ffed;border-radius:4px;padding:16px}.TaskStatus-module__T3M3Na__completed p{color:#52c41a;margin:0;font-size:16px}.TaskStatus-module__T3M3Na__failed{text-align:center;padding:16px}.TaskStatus-module__T3M3Na__failed p{color:#ff4d4f;margin:0 0 16px;font-size:14px}
.ResultGallery-module__0vGlBq__gallery{background:#f9f9f9;border-radius:8px;padding:20px}.ResultGallery-module__0vGlBq__gallery.ResultGallery-module__0vGlBq__empty{text-align:center;color:#666;padding:40px;font-size:16px}.ResultGallery-module__0vGlBq__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.ResultGallery-module__0vGlBq__header h3{color:#333;margin:0;font-size:20px}.ResultGallery-module__0vGlBq__downloadAll{color:#fff;cursor:pointer;background:#388e3c;border:none;border-radius:4px;padding:10px 20px;font-size:16px}.ResultGallery-module__0vGlBq__downloadAll:hover{background:#2e7d32}.ResultGallery-module__0vGlBq__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.ResultGallery-module__0vGlBq__item{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:15px;transition:border-color .3s}.ResultGallery-module__0vGlBq__item:hover{border-color:#1976d2}.ResultGallery-module__0vGlBq__thumbnail{object-fit:cover;background:#f0f0f0;border-radius:4px;width:100%;height:150px}.ResultGallery-module__0vGlBq__placeholder{color:#999;background:#f0f0f0;border-radius:4px;justify-content:center;align-items:center;width:100%;height:150px;display:flex}.ResultGallery-module__0vGlBq__info{margin-top:10px}.ResultGallery-module__0vGlBq__id{color:#333;margin-bottom:4px;font-weight:500;display:block}.ResultGallery-module__0vGlBq__status{color:#388e3c;font-size:14px}.ResultGallery-module__0vGlBq__actions{margin-top:10px}.ResultGallery-module__0vGlBq__downloadBtn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:4px;width:100%;padding:8px}.ResultGallery-module__0vGlBq__downloadBtn:hover{background:#1565c0}
.DownloadButton-module__UtfuaG__container{display:inline-block}
.VirtualList-module__ObhtOq__container,.VirtualList-module__ObhtOq__content{position:relative}.VirtualList-module__ObhtOq__item{box-sizing:border-box}
.page-module__Yn4UXq__container{background:#f5f5f5;min-height:100vh;padding:20px}.page-module__Yn4UXq__header{text-align:center;margin-bottom:40px}.page-module__Yn4UXq__header h1{color:#333;margin:0 0 8px;font-size:32px}.page-module__Yn4UXq__header p{color:#666;margin:0;font-size:16px}.page-module__Yn4UXq__main{max-width:1200px;margin:0 auto}.page-module__Yn4UXq__stage{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.page-module__Yn4UXq__stage h2{color:#333;margin:0 0 24px;font-size:24px}.page-module__Yn4UXq__imageList{margin-bottom:24px}.page-module__Yn4UXq__imageList h3{color:#666;margin:0 0 12px;font-size:16px}.page-module__Yn4UXq__thumbnails{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.page-module__Yn4UXq__thumbnail{border-radius:8px;width:100px;height:100px;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a}.page-module__Yn4UXq__thumbnail img{object-fit:cover;width:100%;height:100%}.page-module__Yn4UXq__thumbnail button{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;width:24px;height:24px;font-size:14px;position:absolute;top:4px;right:4px}.page-module__Yn4UXq__actions{gap:12px;margin-top:24px;display:flex}.page-module__Yn4UXq__primaryButton{color:#fff;cursor:pointer;background:#1890ff;border:none;border-radius:8px;padding:12px 24px;font-size:16px}.page-module__Yn4UXq__primaryButton:hover{background:#096dd9}.page-module__Yn4UXq__secondaryButton{color:#333;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;padding:12px 24px;font-size:16px}.page-module__Yn4UXq__secondaryButton:hover{background:#d9d9d9}
