:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;--primary: #535bf2;--secondary: #ec4899;--bg-primary: rgb(28, 28, 28);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:var(--primary)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:var(--bg-primary)}h1{font-size:3.2em;line-height:1.1}.app{display:grid;width:100vw;place-content:center;padding:7rem 2rem 2rem}.navbar{position:fixed;top:0;left:0;width:100vw;z-index:100;border-bottom:2px solid var(--primary);padding:.5rem 2rem;box-shadow:0 1px 3px 0 var(--primary);background-color:var(--bg-primary)}.navbar>p{max-width:min-content;padding:.2rem .5rem;border-radius:2px;margin:0;font-size:1.2rem;font-weight:600;transform:skew(-12deg);white-space:nowrap}.inputs-container{display:flex;flex-direction:column;gap:2rem;border-radius:.75rem;border:1px solid var(--primary);box-shadow:0 .2rem 1.4rem 0 var(--primary);padding:2rem 2rem 2.5rem;align-self:center;width:25rem;transition:box-shadow .3s cubic-bezier(.4,0,.2,1);animation:shadow-pulse 1s infinite alternate}.inputs-container>h4{text-decoration:underline;text-underline-offset:.4rem;font-size:1.4rem;text-decoration-color:var(--primary)}.image-preview-container{display:flex;align-items:center;justify-content:center}.note{margin:0;line-height:.8rem;font-size:.8rem;opacity:.85}.note>span{font-weight:600}.image-preview-container>img{max-width:25rem;max-height:25rem;border-radius:8px;border:1px solid #eee}.error-message{color:red;font-size:.9em;text-align:center}.segmentation-generator-form{display:grid;gap:1rem;place-content:center;height:min-content;border:3px solid var(--bg-primary);box-shadow:0 .2rem 1.4rem 0 var(--primary);animation:shadow-pulse 1s infinite alternate;padding:2rem 2rem 2.5rem;border-radius:.75rem;max-width:35rem}.segmentation-generator-form>h2{text-decoration:underline;text-underline-offset:.4rem;font-size:1.4rem;text-decoration-color:var(--primary)}.segmentation-generator-form>p{margin:0;margin:0 0 1rem;font-size:.8rem;opacity:.85}.large-image-preview-container{overflow:hidden;border-radius:.5rem;max-width:35rem;max-height:35rem;display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto}.large-image-preview-container>img{width:100%;height:100%;object-fit:contain;display:block}.controls{display:flex;align-items:center;justify-content:space-between}.show-mask-toggle{display:flex;align-items:center;gap:.5rem}.show-mask-toggle>input{width:.8rem;height:.8rem;cursor:pointer}.show-mask-toggle>span{font-size:.8rem;margin:0;-webkit-user-select:none;user-select:none}@keyframes shadow-pulse{0%{box-shadow:0 1rem 2rem 0 var(--primary)}to{box-shadow:0 1.5rem 3rem 0 var(--primary)}}.file-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.file-input-label{display:flex;align-items:center;padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:.375rem;background:#111;color:#fff;font-size:.8rem;cursor:pointer;transition:border-color .2s}.file-input-label>span{word-break:keep-all;white-space:nowrap}.file-input-label:hover,.file-input-label:focus-within{border-color:var(--primary)}.file-input-wrapper.drag-active .file-input-label{border-color:var(--primary)}.file-input{display:none}.file-input-filename{margin-left:.75rem;color:#ebe9e9;font-size:.95em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:underline;text-underline-offset:.3em;text-underline-position:above}.file-input:focus+.file-input-label,.file-input:not(:placeholder-shown)+.file-input-label,.file-input-label.has-file{border-color:var(--primary)}.file-input-label:disabled,.file-input-label[aria-disabled=true],.file-input:disabled+.file-input-label,.file-input-label.disabled{opacity:.6;cursor:not-allowed}.btn{border:black 1px solid;max-width:min-content;border-radius:4px;padding:.6em 1.2em;font-size:.8em;font-weight:500;background-color:var(--primary);cursor:pointer;transition:border-color .25s;display:flex;align-items:center;justify-content:center;outline:1px solid transparent;outline-offset:1px;transition:outline .1s ease;white-space:nowrap}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-icon{margin-left:6px;animation:spin 1s linear infinite}.btn:hover{outline:1px solid var(--primary)}
