*{box-sizing:border-box} :root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#27332d;background:#f8faf8;font-synthesis:none;--green:#50675b;--line:#e2e8e3;--muted:#89928c} body{margin:0}button,input,select,summary{font:inherit}button,a,summary,label.upload{touch-action:manipulation}button,.button{border:1px solid var(--line);background:white;border-radius:6px;padding:10px 17px;color:inherit;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#f1f5f1}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #6e9582;outline-offset:3px}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#3f574b} .quiet,.link,.icon-button{border:0;background:none}.quiet{color:#7b867e;font-size:13px}.link{color:var(--green);font-size:12px;padding:5px 0;white-space:nowrap}.icon-button{padding:0 8px;font-size:26px}header{background:white;border-bottom:1px solid var(--line);padding:19px 3.5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:600;letter-spacing:-.5px}.brand img{display:block}main{max-width:1480px;margin:auto;padding:26px 3.5%}#notice:empty{display:none}#notice{font-size:13px;padding:12px 16px;margin-bottom:16px;background:#edf3ed;border:1px solid #d4e1d6;border-radius:6px}#notice.error,#reviewError{color:#94503d}.workspace{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:24px;background:white;border:1px solid var(--line);border-radius:9px;padding:24px}.panel{min-width:0}.panel+.panel{border-left:1px solid var(--line);padding-left:24px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:8px}h1,h2{font-size:15px;line-height:1.4;margin:0;font-weight:650}.section-title>span{color:var(--muted);font-size:11px}.upload-grid,.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload{display:block;position:relative;aspect-ratio:3/4;border:1px dashed #cfd9d1;border-radius:6px;background:#fbfcfa;overflow:hidden;cursor:pointer}.upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;z-index:3}.upload img{width:100%;height:100%;object-fit:contain}.upload-empty{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#677b6c;text-align:center}.upload-empty b{font-weight:300;font-size:28px;color:#7d9183}.upload-empty strong{font-size:12px;font-weight:500}.upload-empty small{font-size:10px;color:#9aa49b}.upload-badge{position:absolute;bottom:11px;left:10px;font-size:11px;background:#fffffff0;border-radius:4px;padding:4px 6px}.upload-badge i{font-style:normal;color:#98a198;margin-left:3px}.replace{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:#14231b66;color:white;font-size:13px}.upload.has-image:hover .replace{display:flex}.upload.has-image .upload-empty{display:none}.hint{color:var(--muted);font-size:11px;margin:12px 0 0;line-height:1.7}.asset-card{position:relative;padding:0;overflow:hidden;border:1px solid #e3e7e1;border-radius:6px;text-align:left;background:#f4f6f2;min-width:0}.asset-card img{aspect-ratio:3/4;width:100%;display:block;object-fit:contain}.asset-card.selected{border:2px solid #597362}.asset-card .label{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white;padding:8px 7px}.asset-card.selected:after{content:'✓';position:absolute;top:9px;right:9px;background:var(--green);color:white;border-radius:50%;width:20px;height:20px;text-align:center;line-height:20px;font-size:12px}.settings{display:flex;align-items:center;gap:24px;margin:22px 0;background:white;border:1px solid var(--line);padding:19px 24px;border-radius:8px}.settings>label,.conditions-wrap{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:12px}.settings select,summary{min-width:82px;background:#fafbf9;border:1px solid var(--line);border-radius:5px;padding:9px 11px;color:#35483c;font-size:12px}.settings .primary{margin-left:auto;min-width:135px}.primary span{margin-left:15px}.conditions-wrap{flex:1}details{position:relative;flex:1}summary{cursor:pointer;min-width:120px}details[open] .condition-options{z-index:10}.condition-options{position:absolute;right:0;top:43px;width:330px;max-height:330px;overflow:auto;box-shadow:0 12px 40px #263b2022;border:1px solid var(--line);border-radius:7px;background:white;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:3px}.condition-options label{font-size:12px;padding:8px;display:flex;align-items:center;gap:7px;white-space:normal;cursor:pointer}input[type=checkbox]{accent-color:var(--green);width:15px;height:15px}.results{background:white;border:1px solid var(--line);border-radius:9px;padding:23px}.preview-heading{display:flex;align-items:center;gap:12px}.preview-heading span{font-size:11px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.result{border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0}.result-image{width:100%;height:auto;aspect-ratio:auto;display:block;object-fit:contain;background:#f3f5f1;cursor:zoom-in}.result-footer{display:flex;justify-content:space-between;align-items:center;padding:9px;font-size:11px;gap:5px}.result-footer a{color:var(--green)}.result-footer button{font-size:11px;padding:5px 7px}.empty-gallery{min-height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:6px;background:#fcfdfb;color:#8a988c}.empty-gallery>span{font-size:30px;font-weight:300;color:#b4c0b5}.empty-gallery p{font-size:13px;margin:14px 0 7px}.empty-gallery small{font-size:11px;color:#a5ada5}.empty-gallery[hidden]{display:none}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;color:inherit;width:min(920px,93vw);max-height:90vh;overflow:auto;box-shadow:0 24px 90px #0f2a1933}dialog::backdrop{background:#1d2d2266;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-heading h2{font-size:18px}dialog p{font-size:13px;line-height:1.8}.library-tools{display:flex;gap:15px;margin:12px 0 20px}.library-tools input,.library-tools select{border:1px solid var(--line);border-radius:5px;padding:10px;background:white}.library-tools input{flex:1;min-width:0}.library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;max-height:65vh;overflow:auto}#confirmDialog{max-width:490px}#confirmText{white-space:pre-line}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}#imageDialog{max-width:900px;text-align:center}#largeImage{display:block;max-height:68vh;max-width:100%;margin:0 auto 18px}#reviewDialog{max-width:1050px}.review-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}#reviewCanvas{max-width:100%;width:auto;max-height:52vh;display:block;background:#eee;cursor:crosshair;touch-action:none}.bounds{display:flex;gap:6px;margin:10px 0}.bounds label{display:flex;flex-direction:column;font-size:11px;min-width:0;flex:1}.bounds input{width:100%;border:1px solid var(--line);padding:6px;border-radius:4px}#composedImage{max-width:100%;max-height:52vh}#composedPreview{text-align:center;min-height:180px;background:#f6f8f4}body.closed main{padding-top:15vh;text-align:center}body.closed main h1{font-size:24px}body.closed main p{color:var(--muted)}@media(min-width:1500px){.upload-grid,.card-grid{gap:16px}}@media(max-width:1150px){.workspace{gap:15px;padding:20px}.panel+.panel{padding-left:15px}.settings{gap:14px;padding:16px}.settings>label,.conditions-wrap{gap:7px}.settings .primary{min-width:110px}.brand{font-size:18px}}@media(max-width:960px){.workspace{grid-template-columns:1fr 1fr}.garments{grid-column:span 2}.upload-grid{max-width:450px}.panel+.panel{border-left:0;padding-left:0}.settings{flex-wrap:wrap}.conditions-wrap{flex:auto}.gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){main{padding:15px}header{padding:15px}.brand{font-size:16px;gap:8px}.brand img{width:32px;height:32px}.quiet{font-size:11px}.workspace{gap:22px}.section-title{margin-bottom:12px}.section-title>span{font-size:10px}.workspace>.panel{grid-column:span 2}.settings{gap:16px}.settings>label{flex:1;justify-content:space-between}.settings .primary{width:100%}.conditions-wrap{width:100%;justify-content:space-between}summary{width:100%}.condition-options{width:min(330px,80vw)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.results{padding:16px}.library-grid{grid-template-columns:repeat(3,1fr);gap:9px}.review-layout{grid-template-columns:1fr}.result-footer{flex-wrap:wrap}.result-footer button{width:100%}dialog{padding:17px}}
.cloud-status{display:flex;flex-wrap:wrap;gap:6px;padding:4px 12px 12px;font-size:12px;color:#65776c;line-height:1.6}
.cloud-status span{width:100%}.cloud-status .error{color:#9c463c}.cloud-status button{font-size:12px;padding:4px 10px}
.model-upload-actions{display:flex;justify-content:flex-end;margin:0 0 12px}.uploaded-model{border-color:#627e6c}
.result-tools{display:flex;align-items:center;gap:18px}.recovery-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1d1b2;background:#fffaf0;padding:14px;margin-bottom:16px;border-radius:7px;font-size:13px;line-height:1.6}.recovery-banner[hidden]{display:none}.recovery-banner>div{display:flex;gap:8px;flex-wrap:wrap}.recovery-list{max-height:340px;overflow:auto}.recovery-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.recovery-row>div{min-width:0}.recovery-row small{overflow-wrap:anywhere;color:var(--muted)}.recovery-row .result-tools{gap:8px;flex-shrink:0}.recovery-row button{font-size:12px;padding:8px}#cleanupFiles{max-height:200px;overflow:auto;overflow-wrap:anywhere}#cleanupSummary{font-size:13px}#recoveryError{color:#94503d}#recoveryDialog hr{border:0;border-top:1px solid var(--line);margin:24px 0}#recoveryDialog h3{font-size:15px}@media(max-width:650px){.recovery-banner,.recovery-row{align-items:flex-start;flex-direction:column}.result-tools{gap:12px}.recovery-row .result-tools{width:100%}.recovery-row button{flex:1}}
#recoveryError{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font-size:13px;line-height:1.7}
.account-tools,#cloudAccount{display:flex;align-items:center;gap:18px}#cloudAccount[hidden]{display:none}#creditBalance{font-size:12px;color:var(--green)}.credit-quote{margin:0 0 18px;padding:12px;background:#f3f7f3;border-radius:6px;font-size:12px;color:var(--green)}#loginDialog{max-width:440px}#loginForm{display:grid;gap:16px}#loginForm label{display:grid;gap:8px;font-size:13px}#loginForm input{padding:11px;border:1px solid var(--line);border-radius:5px;width:100%}#loginError,#cloudListError{color:#94503d;font-size:13px}#cloudDialog .recovery-list{max-height:60vh}@media(max-width:850px){header{gap:15px;flex-wrap:wrap}.account-tools,#cloudAccount{flex-wrap:wrap;gap:12px}.account-tools{margin-left:auto}}[hidden]{display:none!important}
