.cutout-workspace{max-width:1360px;padding-top:34px;padding-bottom:60px}.cutout-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.cutout-heading h1{font-size:42px;letter-spacing:-.04em;line-height:1.3;margin:9px 0 12px}.cutout-heading .muted{margin:0}.tool-badge{display:inline-block;vertical-align:middle;margin-left:16px;font-size:11px;letter-spacing:0;font-weight:500;background:#e5eee5;color:var(--green);border:1px solid #d3e1d5;border-radius:30px;padding:4px 10px}#open-api{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#fff;color:var(--ink);padding:12px 18px}#api-source{font-size:11px;color:var(--muted)}.workflow{display:flex;gap:20px;align-items:center;padding:24px 0 4px;font-size:12px;color:var(--muted)}.workflow b{font-weight:500;color:var(--green);margin-right:7px}.workflow i{font-style:normal;color:#b7c7bc}.cutout-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:start}.cutout-columns .panel{padding:25px}.step-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.step-title>span:first-child{font-size:11px;background:var(--mint);color:var(--green);border-radius:7px;width:29px;height:29px;display:grid;place-items:center}.step-title h2{font-size:18px;line-height:1.4;margin:0;flex:1}.step-title .tag{white-space:nowrap}.upload-zone{border:1px dashed #abc4b3;border-radius:10px;min-height:161px;background:#f7faf6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;text-align:center;position:relative;overflow:hidden}.upload-zone:hover,.upload-zone.dragover{background:#eaf3e8;border-color:var(--green)}.upload-zone input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.upload-zone strong{font-size:13px}.upload-zone small{color:var(--muted);font-size:11px;font-weight:400}.upload-icon{font-size:23px;color:var(--green);line-height:1}.upload-zone.loaded{min-height:80px;gap:3px}.upload-zone.loaded .upload-icon{display:none}.source-frame{background:#f1f4ef;display:flex;justify-content:center;min-height:80px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.source-frame canvas{display:block;max-width:100%;max-height:290px;object-fit:contain;touch-action:none;cursor:crosshair}.preview-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin:12px 0}.preview-label strong{font-weight:500;color:var(--ink)}.inline-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.inline-actions p{margin:10px 0}.text-button{border:0;background:none;padding:5px 0;color:var(--green);font-size:12px;white-space:nowrap;cursor:pointer}.range-label{display:block;margin:20px 0 10px}.range-label output{float:right;color:var(--green);font-weight:500;font-variant-numeric:tabular-nums}input[type=range]{padding:0;border:0;box-shadow:none;accent-color:var(--green);margin-top:14px;height:4px;cursor:pointer}input[type=color]{height:40px;padding:4px;max-width:100px}select{display:block;margin-top:7px;padding:11px 10px;border:1px solid #cedbd2;border-radius:7px;background:#fbfcfa;color:var(--ink);font:inherit;width:100%}.compact{font-size:13px;line-height:1.8}.status-line{font-size:12px;color:var(--green);line-height:1.8;overflow-wrap:anywhere;min-height:1em}.status-line.error-text{color:#a64b39}.confirm-line{background:#f5f8f2;border-radius:8px;padding:12px;font-size:12px;align-items:flex-start}.confirm-line input{flex-shrink:0;margin-top:2px}.cutout-controls details{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.cutout-controls details summary{font-size:12px;font-weight:500;color:var(--muted)}.preview-column{position:sticky;top:20px}.mode-tabs{display:flex;background:#f1f5ef;border-radius:8px;padding:4px;gap:4px;margin:5px 0 18px}.mode-tabs button{width:50%;border:0;background:transparent;border-radius:6px;padding:10px;color:var(--muted);font-size:12px;cursor:pointer}.mode-tabs button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #143c2010}.result-frame{min-height:300px;aspect-ratio:1.3;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:10px;border:1px solid #e1e8df;overflow:hidden}.checker{background-color:#fdfefd;background-image:linear-gradient(45deg,#e9ede8 25%,transparent 25%),linear-gradient(-45deg,#e9ede8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9ede8 75%),linear-gradient(-45deg,transparent 75%,#e9ede8 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.white{background:#fff}.dark{background:#293d37}.preview-empty{text-align:center;color:#819489;font-size:12px}.preview-empty>span{display:block;font-size:90px;line-height:1.4;font-weight:300;color:#a5b8a7}.preview-empty strong{font-size:13px;font-weight:500}.preview-empty p{font-size:11px;margin:8px 0}.result-frame canvas{display:block;max-width:100%;max-height:400px;object-fit:contain;width:auto;height:auto}.swatches{display:flex;gap:7px}.swatch{width:18px;height:18px;border:1px solid #c8d4c9;border-radius:50%;padding:0;cursor:pointer}.swatch[aria-pressed=true]{outline:2px solid #87aa92;outline-offset:2px}.aging-control{border-top:1px solid var(--line);margin-top:16px;padding-top:3px}.export-row{display:flex;align-items:flex-end;gap:12px;margin-top:16px}.export-row label{font-size:11px;font-weight:500;margin:0;flex:1}.export-row .button{height:44px;gap:12px;white-space:nowrap}.workspace-note{font-size:11px;color:var(--muted);text-align:center;line-height:1.9;padding:0 12px}button:disabled{opacity:.45;cursor:not-allowed}dialog{width:min(94vw,520px);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);padding:26px;box-shadow:0 25px 100px #132d3140}dialog::backdrop{background:#122d2a66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading h2{font-size:21px;margin:0}.cost-notice{background:#eaf3e7;border:1px solid #d2e3cd;color:var(--green);font-size:13px;padding:13px 15px;border-radius:8px;margin-top:22px}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.transport-note{background:#fff8ed;color:#8c652a;padding:9px 12px;border-radius:6px}.cutout-columns .form-grid{gap:14px}#source-area[hidden],#result-canvas[hidden],#preview-empty[hidden],[hidden]{display:none!important}@media(max-width:950px){.cutout-columns{gap:18px}.cutout-columns .panel{padding:20px}.cutout-columns .form-grid{grid-template-columns:1fr;gap:0}.export-row{flex-direction:column;align-items:stretch}.export-row .button{width:100%}}@media(max-width:740px){.cutout-columns{grid-template-columns:1fr;gap:0}.preview-column{position:static}.cutout-heading{align-items:flex-start}.cutout-heading h1{font-size:34px}.cutout-heading .muted{font-size:12px}.workflow{gap:9px;font-size:10px}.workflow b{margin-right:3px}.cutout-workspace{padding-top:24px}#open-api{font-size:12px;padding:9px 10px;flex-shrink:0}#api-source{font-size:10px}.result-frame{aspect-ratio:1.15}.cutout-columns .form-grid{grid-template-columns:1fr 1fr;gap:12px}.export-row{flex-direction:row;align-items:flex-end}.export-row .button{width:auto}.workspace-note{margin-bottom:0}}@media(max-width:380px){.cutout-heading{flex-direction:column}.cutout-columns .form-grid{grid-template-columns:1fr}.export-row{flex-direction:column;align-items:stretch}.workflow{gap:5px}}

.cutout-controls,.preview-column,.cutout-columns label,.export-row label{min-width:0}.cutout-columns input,.cutout-columns select{min-width:0}.cutout-columns .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:950px) and (min-width:741px){.cutout-columns .form-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:740px){.cutout-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:380px){.cutout-columns .form-grid{grid-template-columns:minmax(0,1fr)}}
.result-frame{width:100%;min-width:0}
#api-dialog label{margin:12px 0}#api-dialog input{padding:9px 12px}#api-dialog .hint{margin:8px 0;line-height:1.6}#api-dialog .cost-notice{margin:16px 0 8px}
.upload-panel{padding:28px;margin-bottom:4px}.upload-zone{min-height:200px}.upload-zone.loaded{min-height:105px}.upload-zone strong{font-size:16px}.upload-zone small{font-size:13px}.source-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0}.source-toolbar .secondary{padding:10px 16px;font-size:13px}.source-toolbar [aria-pressed=true]{background:var(--green);color:#fff}.source-frame{height:460px;align-items:center;padding:12px}.source-frame canvas{max-height:100%;max-width:100%;width:auto;height:auto;cursor:default;touch-action:pan-y}.source-frame canvas.cropping{cursor:crosshair;touch-action:none}.upload-panel .range-label{max-width:600px}.upload-panel .hint{font-size:13px}.source-frame canvas{image-rendering:auto}#source-dialog{width:min(96vw,1440px);max-height:96vh;padding:22px}#editor-stage{height:70vh;min-height:240px}.model-picker{display:flex;align-items:flex-end;gap:10px}.model-picker label{min-width:0;flex:1}.model-picker .secondary{margin-bottom:12px;white-space:nowrap;padding:11px 14px}#api-dialog select{font-size:13px;min-width:0}.cutout-columns .range-label{font-size:13px}.cutout-columns .panel{margin-top:24px}@media(min-width:1500px){.source-frame{height:520px}}@media(max-width:740px){.upload-panel{padding:18px}.source-frame{height:360px}.upload-zone{min-height:180px}.upload-zone strong{font-size:14px}.upload-zone small{font-size:12px}.source-toolbar{gap:8px}.source-toolbar .secondary{padding:9px 12px}.model-picker{display:block}.model-picker .secondary{margin:0 0 6px;width:100%}.upload-panel .step-title h2{font-size:18px}#source-dialog{padding:14px}#editor-stage{height:62vh}}@media(max-width:380px){.source-frame{height:300px}.source-toolbar{font-size:12px}}
.mode-tabs button{width:50%}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1;white-space:nowrap}#generate-ai{margin-top:22px}#apply-location{margin:0 0 10px}
.task-progress{background:#f4f8f2;border:1px solid #d8e5d7;border-radius:12px;padding:18px;margin:0 0 20px}.task-progress[hidden]{display:none}.task-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.task-progress-heading>span{font-size:12px;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}.task-steps{padding:0;margin:18px 0 10px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.task-steps li{font-size:11px;color:#849088;position:relative;padding-top:21px}.task-steps li::before{content:'';width:10px;height:10px;background:#dce4dc;border-radius:50%;position:absolute;top:0;left:0}.task-steps li.done,.task-steps li.current{color:var(--green)}.task-steps li.done::before,.task-steps li.current::before{background:var(--green)}.task-steps li.current::before{box-shadow:0 0 0 4px #c6dbca;animation:task-pulse 1.8s ease-in-out infinite}.task-track{height:7px;border-radius:5px;background:#dfe8dd;overflow:hidden;position:relative}.task-track>span{display:block;height:100%;width:var(--stage-width,0%);background:var(--green);transition:width .35s ease}.running .task-track::after{content:'';position:absolute;width:30%;height:100%;background:linear-gradient(90deg,transparent,#fff9,transparent);animation:task-flow 1.9s linear infinite}.task-progress .hint{margin:12px 0 0;min-height:2.8em;line-height:1.6}.task-progress.failed{background:#fff8f3;border-color:#e9d4c6}.task-progress.failed .task-progress-heading strong{color:#a64b39}.task-progress.finished .task-steps li{color:var(--green)}@keyframes task-flow{from{left:-30%}to{left:100%}}@keyframes task-pulse{50%{box-shadow:0 0 0 6px #c6dbca40}}@media(prefers-reduced-motion:reduce){.task-steps li.current::before,.running .task-track::after{animation:none}.task-track>span{transition:none}}@media(max-width:380px){.task-progress{padding:13px}.task-progress-heading{font-size:13px}.task-steps li{font-size:10px}.task-progress-heading>span{font-size:11px}}
