:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;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:#535bf2}body{margin:0;padding:0;background:#f0f4ff;min-height:100vh}#root{min-height:100vh;display:flex;align-items:flex-start;justify-content:center}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid black;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-container{background:#fff;max-width:500px;margin:2rem auto;padding:2.5rem 2rem 2rem;border-radius:18px;box-shadow:0 4px 24px #00000014,0 1.5px 6px #00000008;font-family:Inter,Segoe UI,Arial,sans-serif}.app-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:#222}.upload-section{margin-bottom:1.5rem}.custom-file-upload{display:inline-flex;align-items:center;gap:.5em;padding:.6em 1.2em;border:2px dashed #646cff;border-radius:8px;background:#f4f6ff;color:#646cff;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:.5rem}.custom-file-upload:hover{border-color:#4b52c7;background:#eaf4ff}.custom-file-upload svg{margin-right:.5em}.image-area{position:relative;display:inline-block;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000012;border:1.5px solid #e0e0e0;margin-bottom:1rem}.image-area img{display:block;max-width:100%;border-radius:12px}.mask-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.5;z-index:2}.button-group{margin:1.5rem 0 1rem}.button-group button{background:#646cff;color:#fff;border:none;border-radius:8px;padding:.6em 1.4em;margin-right:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 1.5px 4px #646cff14}.button-group button:disabled{background:#bfc2ff;cursor:not-allowed}.button-group button:hover:not(:disabled){background:#4b52c7}.status-message{margin:.5rem 0;padding:.7em 1em;border-radius:7px;font-size:1rem;font-weight:500;background:#f4f6ff;color:#3a3e5a;border-left:4px solid #646cff;text-align:left}.status-message.success{background:#e7fbe7;color:#1a7f1a;border-left-color:#3ecf4b}.status-message.error{background:#ffeaea;color:#b30000;border-left-color:#ff6464}.status-message.info{background:#eaf4ff;color:#1a4b7f;border-left-color:#64aaff}@media (max-width: 600px){.app-container{max-width:98vw;padding:1rem .5rem}.image-area{max-width:98vw}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
