@charset "UTF-8";
:root{--paper:#f7f5f0;--ink:#292d2a;--muted:#777b74;--line:#dedfd7;--accent:#a74731;--sage:#e7eae1;--serif:Georgia,"Songti SC","SimSun",serif;--sans:Inter,"Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans)}button,input,select{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #bc785e;outline-offset:4px}button{border:0;background:none;color:inherit}a{color:inherit}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:white;color:var(--ink);outline-offset:2px}label{display:block}label input,label select{margin-top:7px}button,input,select{min-height:44px}[hidden]{display:none!important}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:12px 22px;border-radius:8px;min-height:48px;font-weight:600;transition:background .15s,transform .15s}.primary{background:var(--accent);color:#fff}.primary:hover{background:#8e3b29}.primary:active,.secondary:active{transform:translateY(1px)}.secondary{border:1px solid var(--line);background:#fff}.secondary:hover{background:#eeeee6}.text-button{padding:8px 0;font-size:13px}.icon-button{width:44px;font-size:25px;flex-shrink:0}.eyebrow{display:block;font-size:10px;letter-spacing:2px;font-weight:600;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500}h1{font-family:var(--serif);letter-spacing:-1px;line-height:1.35}h2{font-size:20px;letter-spacing:-.3px}.hint,small{color:var(--muted);font-size:12px}.small{font-size:11px}.wordmark{text-decoration:none;font:32px var(--serif);display:flex;align-items:center;gap:14px;white-space:nowrap}.wordmark span{font:9px var(--sans);letter-spacing:2px;border-left:1px solid var(--line);padding-left:14px}.topbar{height:88px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line);gap:24px}.topbar nav{display:flex;gap:30px;align-self:stretch}.topbar nav button{position:relative;padding:0 5px;color:var(--muted);white-space:nowrap}.topbar nav button.active{color:var(--ink)}.topbar nav button.active:after{content:"";position:absolute;bottom:-1px;height:2px;background:var(--ink);left:0;right:0}#work-count{font-size:10px;background:var(--sage);padding:2px 6px;border-radius:20px}.top-actions{display:flex;align-items:center;gap:20px}.dot{width:6px;height:6px;display:inline-block;background:#b6afa3;border-radius:50%;margin-left:4px}.dot.ready{background:#5b7c53}main{max-width:1344px;margin:0 auto;padding:0 48px;min-height:70vh}.hero{margin:32px 0 48px;background:#eaece4;border-radius:14px;display:grid;grid-template-columns:1fr 1fr;padding:46px 56px;overflow:hidden;min-height:395px}.hero h1{font-size:47px;margin:16px 0 18px}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:#676e62;margin-bottom:24px}.hero small{display:block;margin-top:12px;font-size:10px}.hero-collage{position:relative;min-height:300px;max-width:480px;width:100%;justify-self:end}.hero-collage img{position:absolute;width:43%;height:89%;object-fit:cover;border:7px solid #faf9f5;box-shadow:0 12px 24px #39412a16;border-radius:4px;top:3%;left:4%;transform:rotate(-8deg)}.hero-collage img+img{left:43%;top:12%;transform:rotate(9deg)}.hero-tag{position:absolute;bottom:5px;right:-5px;background:#f7f5f0;padding:13px 20px;font-size:12px;letter-spacing:1px;transform:rotate(-5deg)}.hero-tag i{font-family:var(--serif);color:var(--accent);font-size:20px;letter-spacing:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{margin:9px 0 0}.section-heading h2 span{font:11px var(--sans);color:var(--muted);margin-left:12px}.search{display:flex;align-items:center;border-bottom:1px solid #aeb3a6;width:300px}.search span{font-size:25px}.search input{background:transparent;border:0;margin:0;font-size:12px;padding-left:10px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.pills button{border:1px solid transparent;border-radius:24px;padding:7px 18px;min-height:38px;color:#676e62;font-size:12px}.pills button:hover{border-color:var(--line)}.pills button.active{background:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px}.outfit{min-width:0;position:relative}.outfit-image{display:block;width:100%;aspect-ratio:2/3;overflow:hidden;background:#e9e6df;border-radius:9px;padding:0}.outfit-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.outfit-image:hover img{transform:scale(1.035)}.outfit h3{font-size:13px;font-weight:500;margin:10px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outfit small{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:25px}.outfit-fav{position:absolute;right:7px;top:7px;background:#fffffff0;width:34px;min-height:34px;border-radius:50%;font-size:19px;color:#777}.outfit-fav.active{color:var(--accent)}.center{text-align:center;margin:30px 0 40px}.footer{max-width:1344px;margin:40px auto 0;padding:24px 48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.footer a{text-underline-offset:3px}.page-heading{margin:42px 0 30px}.page-heading h1{font-size:34px;margin:12px 0}.page-heading p{color:var(--muted);font-size:13px}.studio-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px}.panel h2{font-size:16px;margin-bottom:16px}.step{font:12px var(--serif);color:var(--accent);margin-right:8px}.reference-column{display:grid;gap:20px}.upload-box{border:1px dashed #bec4b5;border-radius:8px;min-height:230px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;position:relative;background:#f6f7f2;overflow:hidden}.upload-box input,.upload-small input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.upload-box b{font-weight:300;font-size:35px;display:block}.upload-box small{display:block;margin-top:8px;font-size:10px}.upload-box img{width:100%;max-height:350px;object-fit:contain}.panel .hint{margin:12px 0 0}.selected-outfit{display:flex;gap:16px;align-items:center}.selected-outfit img{width:88px;height:125px;object-fit:cover;border-radius:6px;background:#efede7}.selected-outfit b{font-size:13px}.selected-outfit p{font-size:11px;color:var(--muted);margin:6px 0;word-break:break-word}.upload-small{position:relative;text-align:center;border:1px solid var(--line);border-radius:6px;padding:10px;margin-top:16px;font-size:12px;cursor:pointer;overflow:hidden}.scene-panel{padding:30px}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.theme{padding:0;border-radius:8px;border:1px solid var(--line);text-align:left;overflow:hidden;background:#fafbf8}.theme.active{border:2px solid var(--accent);box-shadow:0 0 0 2px #a7473110}.theme-art{height:65px;padding:14px 14px 0;display:flex;align-items:center;justify-content:space-between;font:27px var(--serif)}.theme-art span{font:10px var(--sans);opacity:.5}.theme-label{padding:10px 12px;background:#fff;display:block;font-size:12px}.theme-label small{display:block;font-size:10px;margin-top:3px;line-height:1.4}.generation-options{border-top:1px solid var(--line);padding:20px 0}.generation-options>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.generation-options b{font-size:13px}.segmented{display:flex;background:#f2f3ed;padding:4px;border-radius:7px}.segmented button{font-size:12px;padding:6px 14px;min-height:34px;border-radius:5px}.segmented button.active{background:#fff;box-shadow:0 1px 4px #00000012}.notice{background:#f8eee8;color:#975238;border-radius:6px;padding:12px;font-size:12px;margin-bottom:18px}.generate-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.works-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.works-toolbar .pills{margin:0}.jobs{display:grid;gap:24px}.job{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px}.job-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.job-head h3{font-size:15px;font-weight:500;margin:0}.job-actions{display:flex;gap:16px}.job-actions button{font-size:12px}.job-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.result-card img{width:100%;max-height:420px;object-fit:contain;background:#f4f3ef;border-radius:8px}.result-card>button{width:100%;padding:0}.result-caption{display:flex;justify-content:space-between;align-items:center;font-size:12px}.result-caption input{width:16px;min-height:16px;margin-right:6px}.result-caption label{display:flex;align-items:center}.job-status{font-size:12px;padding:14px;background:#f3f5ee;border-radius:6px}.job-status.error{background:#fbefea;color:#9e503c}.empty{text-align:center;padding:65px 20px}.empty>span{font:70px var(--serif);color:#b5bdac}.empty h2{font-family:var(--serif);margin-top:15px}.empty p{color:var(--muted)}dialog{border:0;border-radius:14px;box-shadow:0 20px 80px #0003;padding:30px;max-width:540px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;color:var(--ink);background:#fff}dialog::backdrop{background:#222b2266;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.dialog-heading h2{margin:6px 0 0;font-family:var(--serif);font-size:25px}.dialog-heading .eyebrow{font-size:9px}dialog form>label{margin:16px 0;font-size:12px}dialog form>.primary{width:100%}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}.dialog-actions p{margin:0}.blind-result{display:flex;gap:24px;align-items:center}.blind-result img{width:48%;border-radius:9px}.blind-result h2{font-size:21px;font-family:var(--serif);margin-top:14px}.blind-result p{font-size:12px;color:var(--muted)}.wide-dialog{max-width:1040px}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compare-grid img{width:100%;height:45vh;object-fit:contain;background:#f6f6f0;border-radius:6px}.compare-grid p{font-size:12px;text-align:center}.large-image{display:block;max-width:100%;max-height:65vh;margin:20px auto 0;object-fit:contain}.image-tabs{display:flex;gap:10px;flex-wrap:wrap}.image-tabs button{font-size:12px}.toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;max-width:calc(100% - 32px);width:max-content;border-radius:8px;padding:12px 22px;box-shadow:0 4px 20px #0002;font-size:13px}.login-screen{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;max-width:1400px;margin:auto}.login-art{padding:55px;background:#e9ece3;display:flex;flex-direction:column;justify-content:space-between}.login-art>p{font-size:10px;letter-spacing:3px;margin:30px 0 0}.arch{margin:50px auto 0;width:85%;max-width:350px;aspect-ratio:3/4;border-radius:180px 180px 8px 8px;background:linear-gradient(145deg,#e3c6ab,#aebeaa);display:flex;align-items:center;justify-content:center;box-shadow:18px 20px 0 #d8ddce}.arch span{font:30px/1.8 var(--serif);color:#39473b}.login-form{padding:60px;max-width:500px;margin:auto;width:100%}.login-form h1{font-size:32px;margin:12px 0}.login-form>p{color:var(--muted);font-size:13px;margin-bottom:32px}.login-form label{font-size:13px}.login-form .primary{width:100%;margin-top:20px}.login-form small{font-size:11px}.login-form #login-error,#settings-error{color:var(--accent);font-size:12px;margin:12px 0}
@media(min-width:1500px){.gallery{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1050px){.topbar{padding:0 28px}.topbar nav{gap:20px}main{padding:0 28px}.hero{padding:36px}.hero h1{font-size:39px}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.studio-layout{grid-template-columns:270px 1fr}.panel,.scene-panel{padding:20px}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{padding:24px 28px}}
@media(max-width:700px){.topbar{height:72px;padding:0 20px;gap:10px}.wordmark{font-size:26px;gap:10px}.wordmark span{font-size:8px;padding-left:10px}.topbar nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fbfaf7f5;border-top:1px solid var(--line);padding:0 16px env(safe-area-inset-bottom);height:calc(62px + env(safe-area-inset-bottom));justify-content:space-around;gap:0;backdrop-filter:blur(12px)}.topbar nav button{font-size:13px;padding:0 14px}.topbar nav button.active:after{top:0;bottom:auto;left:15px;right:15px;background:var(--accent)}.top-actions{gap:12px}.top-actions .text-button{font-size:12px}.top-actions .icon-button{width:32px}main{padding:0 20px}.hero{margin:20px 0 30px;padding:25px 24px;min-height:340px;grid-template-columns:1.1fr .9fr;gap:0}.hero h1{font-size:31px;margin-top:14px;line-height:1.45}.hero p{font-size:11px;margin:14px 0 18px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero .primary{padding:11px 13px;font-size:12px;gap:12px;position:relative;z-index:2}.hero small{font-size:9px;max-width:170px}.hero-collage{min-height:250px;align-self:center;transform:translateX(7px)}.hero-collage img{width:93%;height:66%;top:1%;left:2%;border-width:4px}.hero-collage img+img{top:34%;left:13%;transform:rotate(8deg)}.hero-tag{display:none}.section-heading{display:block;margin-bottom:18px}.section-heading h2{font-size:19px}.section-heading .eyebrow{font-size:9px}.section-heading h2 span{font-size:10px;margin-left:6px}.search{width:100%;margin-top:12px}.pills{gap:5px;margin-bottom:18px}.pills button{padding:6px 12px;min-height:36px;font-size:11px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.outfit h3{font-size:12px}.outfit-fav{width:38px;min-height:38px}.footer{padding:20px 20px calc(90px + env(safe-area-inset-bottom));display:block;font-size:9px}.footer>span{display:block;margin-bottom:8px}.page-heading{margin:28px 0 24px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px}.studio-layout{display:block}.reference-column{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}.upload-box{min-height:210px}.upload-box img{max-height:300px}.scene-panel{padding:20px}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-art{height:55px}.generate-footer{align-items:stretch;flex-direction:column}.generation-options>div{flex-wrap:wrap}.generate-footer .primary{width:100%}.works-toolbar{gap:10px}.works-toolbar .secondary{padding:8px 12px;font-size:11px;gap:7px}.job{padding:16px}.job-head{align-items:flex-start;gap:8px}.job-head h3{font-size:13px}.job-actions{gap:8px;flex-shrink:0}.job-images{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.job-images.single{grid-template-columns:1fr}.job-images.single img{max-height:440px}.result-caption{font-size:10px}.job-status{font-size:11px}.toast{bottom:85px;font-size:12px}dialog{padding:22px;max-height:88dvh}.dialog-heading h2{font-size:22px}.dialog-actions{gap:10px;flex-wrap:wrap}.dialog-actions>.primary{flex:1}.blind-result{gap:16px}.blind-result h2{font-size:19px}.compare-grid{gap:8px}.compare-grid img{height:32vh}.compare-grid p{font-size:10px}.login-screen{display:block}.login-art{min-height:220px;padding:26px}.login-art .arch{display:none}.login-art>p{margin-top:65px}.login-form{padding:36px 28px}.login-form h1{font-size:29px}.login-form>p{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.pose-section{border-top:1px solid var(--line);padding-top:22px}.pose-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pose-heading h2{margin:0}.pose-heading .hint{margin:0;color:var(--accent)}.panel .pose-hint{margin:8px 0 16px}.pose-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.pose{text-align:left;border:1px solid var(--line);border-radius:10px;padding:0;font-size:12px;overflow:hidden;background:#fff;min-width:0;transition:border-color .15s,box-shadow .15s}.pose:hover{border-color:#b6b7a9;box-shadow:0 4px 14px #292d2a0b}.pose-art{display:block;position:relative;background:#fff;overflow:hidden}.pose-drawing{display:block;width:100%;height:260px;object-fit:contain;padding:10px 8px 26px;background:#fff}img.pose-drawing{filter:grayscale(1) brightness(.7) contrast(3)}.pose-original{opacity:.8}.pose-custom{display:grid;place-items:center}.pose-custom svg{width:64px;height:80px;fill:none;stroke:#9b9e96;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.pose-label{display:block;padding:12px}.pose-label b{font-weight:500;display:block}.pose small{display:block;font-size:10px;margin-top:4px;line-height:1.6;min-height:32px}.pose-caption{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:9px;color:#8a8c83;letter-spacing:1px}.pose-check{position:absolute;top:10px;right:10px;display:grid;place-items:center;border:1px solid #d1d3c9;background:#fff;width:20px;height:20px;border-radius:50%;font-size:12px;color:transparent}.pose.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pose.active .pose-check{background:var(--accent);border-color:var(--accent);color:#fff}.pose.active .pose-label{background:#fcf3ed}.pose.active .pose-label b{color:var(--accent)}
.code-row{display:flex;gap:10px;align-items:center}.code-row input{flex:1}.code-row button{white-space:nowrap;font-size:12px;min-width:120px}.consent{display:flex;gap:10px;align-items:flex-start}.consent input{width:16px;min-height:16px;margin-top:3px;flex-shrink:0}.consent span{font-size:11px;color:var(--muted)}#auth-error{color:var(--accent);font-size:12px}@media(max-width:700px){.pose-list{grid-template-columns:repeat(2,1fr)}.code-row button{min-width:104px;padding:10px}.top-actions .text-button{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.account-button{text-align:right;line-height:1.4}.account-button span,.account-button small{display:block}.account-button small{font-size:11px;color:var(--accent);margin-top:3px}.account-details{margin:20px 0}.account-details>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.account-details dt{color:var(--muted);font-size:12px}.account-details dd{margin:0;overflow-wrap:anywhere}.account-quota{background:var(--sage);border-radius:10px;padding:20px;margin:20px 0}.account-quota>span{font-size:12px}.account-quota strong{display:block;font:36px var(--serif);margin:8px 0}.account-quota p{margin:0;line-height:1.8}

.result-card img{height:auto;aspect-ratio:2/3;object-fit:contain}.large-image{min-height:120px}#image-loading,#admin-image-loading{margin:12px 0 0}
.detail-references{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail-picture{display:block;width:100%;min-width:0;padding:0;text-align:left}.detail-picture img{display:block;width:100%;height:280px;object-fit:contain;background:#f4f3ef;border-radius:9px}.detail-picture>span{display:block;padding:10px 0;font-size:13px}.detail-picture small{display:block;font-size:11px}.detail-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px;background:var(--sage);border-radius:9px;margin:20px 0 26px}.detail-choices dt{font-size:11px;color:var(--muted)}.detail-choices dd{margin:5px 0 0;font-size:13px;overflow-wrap:anywhere}#job-detail h3{font-size:16px;font-weight:500}#job-detail h3 small{margin-left:8px}@media(max-width:700px){.detail-references,.detail-results{gap:12px}.detail-picture img{height:190px}.detail-results{grid-template-columns:1fr}.detail-results img{height:auto;max-height:400px;aspect-ratio:2/3}.detail-choices{grid-template-columns:1fr;gap:12px}.job-head{flex-wrap:wrap}.job-actions{flex-wrap:wrap}}

.auth-modes{margin:12px 0 16px}.auth-modes button{flex:1}.auth-links{text-align:center;margin-top:12px}.auth-links button{color:var(--muted)}#sms-fields>label{font-size:12px;margin:16px 0}#sms-fields>p{margin:12px 0}.account-security{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0}.account-security b{font-size:13px;font-weight:500}.account-security small{display:block;font-size:11px;margin-top:4px}.account-security .secondary{font-size:12px;white-space:nowrap;padding:8px 12px}#password-error{color:var(--accent);font-size:12px}

.auth-modes button{padding:8px;white-space:nowrap;font-size:12px}.pose-list{margin-top:16px}@media(max-width:360px){.auth-modes button{font-size:11px;padding:8px 5px}}
