@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500&family=DM+Sans:wght@400;500&display=swap');
:root{--ink:#3d4138;--paper:#f5f2ed;--muted:#9a9b90;--line:#e6e3dc;--accent:#56604c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:13px 'DM Sans','Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{border:0;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,label[role=button]:focus-visible{outline:2px solid #839374;outline-offset:4px}header{max-width:1440px;margin:auto;height:79px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.brand{font:39px Georgia,serif;letter-spacing:-2px;color:var(--ink);text-decoration:none}.brand span{font:10px 'Noto Sans SC',sans-serif;letter-spacing:2px;margin-left:23px;padding-left:22px;border-left:1px solid #d6d5cb;vertical-align:middle}.icon-button{width:34px;height:34px;display:grid;place-items:center;background:transparent;border:1px solid #dcded2;border-radius:50%;color:#89917e;font-size:16px}.icon-button:hover{background:#eceee5}main{max-width:1370px;margin:auto;padding:0 5%}.fitting-room{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-radius:4px;overflow:hidden;background:#fdfcf9;border:1px solid #e9e5dd}.stage{position:relative;min-width:0;min-height:680px;background:#d8d2c5;overflow:hidden}.stage-label{position:absolute;left:22px;top:22px;z-index:1;color:#7a7d70;font-size:9px;letter-spacing:1px;background:#fbf9f1b0;border-radius:20px;padding:7px 12px;backdrop-filter:blur(8px)}.reset{position:absolute;right:21px;top:20px;z-index:1;background:#fbfaf2b0;border:1px solid #ffffff60}#scene{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene-error{position:absolute;inset:0;background:#e7e2d9;display:grid;place-content:center;text-align:center;color:#7b8172}.scene-error button{background:#647157;color:white;border-radius:3px;padding:9px 20px}aside{padding:30px 25px 25px;display:flex;flex-direction:column;border-left:1px solid #e7e3dc}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h1{font-size:19px;letter-spacing:1px;font-weight:400;margin:0}.panel-title>span{font-size:20px;color:#9ba68b}.portrait-row{display:flex;align-items:center;gap:13px;margin:25px 0 24px;padding-bottom:25px;border-bottom:1px solid var(--line)}.portrait-circle{width:55px;height:55px;border:1px dashed #c2c6b6;border-radius:50%;display:grid;place-items:center;color:#98a08a;background:#f3f4ec;overflow:hidden;cursor:pointer;flex-shrink:0}.portrait-circle>span{font-size:23px}.portrait-circle img{width:100%;height:100%;object-fit:cover}.upload-link{font-size:11px;cursor:pointer;color:#637455}.upload-link:hover{text-decoration:underline}#photo-status{font-size:8px;letter-spacing:.6px;color:#a3a798;margin:6px 0 0}.text-button{font-size:9px;padding:0;margin-top:4px;background:none;color:#9a9e8d}.slider-row{margin-bottom:22px}.slider-label label{font-size:11px;letter-spacing:1px}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:2px;background:linear-gradient(to right,#87937b 50%,#e2e5d9 50%);border-radius:2px;margin:15px 0 8px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;border:1px solid #fff;border-radius:50%;background:#6c7d5c;box-shadow:0 0 0 3px #fcfcf5}input[type=range]::-moz-range-thumb{width:10px;height:10px;border:1px solid #fff;border-radius:50%;background:#6c7d5c}.range-ends{display:flex;justify-content:space-between;color:#a5aa9a;font-size:8px}.wardrobe-heading{font-size:11px;letter-spacing:1px;margin:1px 0 13px;padding-top:20px;border-top:1px solid var(--line)}.outfits{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.outfit{position:relative;overflow:hidden;background:#eeece5;border:1px solid #eeece4;border-radius:3px;padding:0;transition:border-color .15s}.outfit img{display:block;width:100%;height:111px;object-fit:contain;object-position:center}.outfit>span{display:none}.outfit.selected{border-color:#8c9a7b;box-shadow:0 0 0 1px #8c9a7b}.outfit.selected:after{position:absolute;bottom:4px;right:4px;content:'✓';color:#6c7b5b;background:#f6f7ef;border-radius:50%;font-size:8px;width:12px;height:12px;line-height:12px}.outfit:hover{border-color:#8c9a7b}#look-name{font-size:10px;font-weight:400;letter-spacing:1px;margin:10px 0 22px;color:#8a947d}.generate-area{margin-top:auto;padding-top:18px}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 15px;background:#58644c;color:#fff;border-radius:3px;font-size:11px;letter-spacing:1px}.primary:hover{background:#68765a}.primary>span{font-size:16px;color:#d7dfca}#service-note{text-align:center;font-size:8px;color:#a0a38f;margin:10px 0 0;line-height:1.6}footer{font-size:8px;color:#a8aa9a;text-align:center;padding:15px 0 19px;letter-spacing:1px}dialog{position:fixed;max-width:calc(100% - 35px);width:350px;padding:32px;border:1px solid var(--line);border-radius:7px;background:#faf9f4;color:var(--ink);box-shadow:0 20px 80px #27341f22;text-align:center}dialog::backdrop{background:#252c2366;backdrop-filter:blur(4px)}dialog h2{font-size:18px;font-weight:400}dialog p{font-size:11px;line-height:1.9;color:#92977f}.dialog-mark{font-size:32px;color:#92a17e}.close{position:absolute;top:10px;right:12px;background:none;font-size:21px;color:#a0a48e}.secondary{padding:10px 30px;background:#e8eddf;color:#6b7b58;border-radius:3px;margin-top:10px}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);max-width:90vw;padding:12px 20px;background:#56644a;color:white;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;font-size:11px}#toast.show{opacity:1}[hidden]{display:none!important}@media(min-width:1000px){.stage{min-height:min(790px,calc(100vh - 120px))}}@media(max-width:900px){main{padding:0 20px}.fitting-room{grid-template-columns:minmax(0,1fr) 270px}aside{padding:25px 20px}.stage{min-height:710px}.outfit img{height:100px}}@media(max-width:650px){header{height:67px;padding:0 20px}.brand{font-size:34px}.brand span{font-size:9px;margin-left:15px;padding-left:15px}main{padding:0 12px}.fitting-room{grid-template-columns:1fr}.stage{min-height:0;aspect-ratio:5/6}aside{padding:25px;border-left:0;border-top:1px solid var(--line)}.portrait-row{margin:21px 0 25px}.panel-title h1{font-size:18px}.outfit img{height:150px}.generate-area{padding-top:4px}.stage-label{top:15px;left:15px}.reset{top:13px;right:14px}}

.primary:disabled{opacity:.6;cursor:wait}

#photo-trigger[aria-disabled=true],#photo-trigger[aria-disabled=true]~div .upload-link{pointer-events:none}#outfits button:disabled{cursor:default}#sliders input:disabled{cursor:default}.portrait-row:has(#photo:disabled) .upload-link{pointer-events:none}

[hidden]{display:none!important}

.outfits{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.outfit img{height:96px}.return-button{display:block;width:100%;padding:10px 0;margin-bottom:8px;text-align:left;font-size:11px;color:#657358}

.brand{font-size:24px;letter-spacing:2px;line-height:1.1}.brand span{display:block;font-size:8px;letter-spacing:2.1px;margin:7px 0 0;padding:0;border:0;font-weight:400}@media(max-width:650px){.brand{font-size:20px;letter-spacing:1.6px}.brand span{font-size:7px;letter-spacing:1.8px}}

.final-view .wardrobe-heading,.final-view #outfits,.final-view #look-name{display:none}
