:root{font-family:Inter,"Segoe UI",sans-serif;color:#e8e9ef;background:#101115;font-size:14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,.upload{cursor:pointer}button{background:#23252d;color:#e8e9ef;border:1px solid #353743;border-radius:8px;padding:9px 13px}button:hover{border-color:#b5b1ee}button:disabled{opacity:.45;cursor:not-allowed}header{height:76px;display:flex;align-items:center;gap:24px;padding:0 32px;border-bottom:1px solid #2b2d35}header>button{margin-left:auto}.brand{display:flex;align-items:center;gap:14px;color:#c1baff;text-decoration:none;font-size:25px;font-weight:700}.brand span{font-size:12px;letter-spacing:2px;color:#eee}.badge{font-size:10px;letter-spacing:1.4px;border:1px solid #3d3d4d;padding:7px 10px;border-radius:5px;color:#b7b2df}main{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 76px)}aside{padding:30px 20px;border-right:1px solid #2b2d35}nav{display:grid;gap:8px;margin-top:18px}nav button{text-align:left;border-color:transparent;background:transparent;padding:13px}nav button.active{background:#2b283f;color:#d0c5ff;border-color:#4e466d}.eyebrow{font-size:10px;color:#9291a5;letter-spacing:2px}.divider{height:1px;background:#2b2d35;margin:28px 0}.workspace{padding:32px;max-width:1500px;width:100%;margin:auto}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{font-size:30px;font-weight:600;margin:10px 0}p{line-height:1.65;color:#acacbc}.editor{display:grid;grid-template-columns:minmax(300px,1fr) 350px;gap:24px}.preview{border:1px solid #30313c;border-radius:12px;overflow:hidden;background:#18191f}.previewbar,.previewfooter{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;font-size:12px;color:#aaa}.previewbar{border-bottom:1px solid #30313c}.previewbar a{color:#c3b6ff}.previewfooter{border-top:1px solid #30313c;gap:10px}.canvas{height:550px;display:flex;justify-content:center;align-items:center;background-color:#14151a;background-image:linear-gradient(45deg,#1c1d24 25%,transparent 25%),linear-gradient(-45deg,#1c1d24 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1c1d24 75%),linear-gradient(-45deg,transparent 75%,#1c1d24 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.canvas img{max-width:100%;max-height:100%;object-fit:contain}.empty{text-align:center;color:#b0aec2;padding:25px}.empty small{display:block;margin-top:12px;color:#727183}form{padding:20px;border:1px solid #30313c;border-radius:12px;background:#18191f}label{display:block;font-size:12px;color:#bbb9cb;margin-bottom:13px}input,select,textarea{display:block;width:100%;background:#111218;color:#eee;border:1px solid #373843;border-radius:7px;padding:10px;margin-top:7px}textarea{resize:vertical;line-height:1.55}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.muted,small{font-size:11px;color:#8b899d;line-height:1.65}.notice{font-size:11px;padding:10px;border-left:2px solid #9b87dd;background:#23202e}.primary{width:100%;background:#b7a3ec;color:#191325;font-weight:600;border:none;padding:13px}#message{font-size:12px;margin-bottom:0}.sectiontitle{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px}.sectiontitle h2{font-size:17px;font-weight:500;margin:0}.sectiontitle span{font-size:11px;color:#858396}.uploadrow{display:flex;gap:12px;align-items:center;margin-bottom:16px}.uploadrow>select{width:140px;margin:0}.upload{margin:0;background:#2b283f;padding:10px 14px;border:1px solid #4e466d;border-radius:7px;white-space:nowrap}.assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.asset{border:1px solid #32333d;border-radius:9px;overflow:hidden;background:#191a21}.asset.selected{border-color:#c2a7ff}.asset img{display:block;width:100%;height:160px;object-fit:contain;background:#111218}.asset div{padding:10px}.asset strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset small{display:block}.asset button{font-size:11px;width:100%;margin-top:8px}.job{padding:15px;border:1px solid #30313c;border-radius:8px;margin:10px 0;display:flex;justify-content:space-between;gap:20px}.job strong{font-size:12px}.job p{font-size:11px;margin:5px 0}.job small{display:block}.job button{font-size:11px}.error{color:#ffb4b4!important}@media(max-width:1000px){main{grid-template-columns:170px 1fr}.workspace{padding:20px}.editor{grid-template-columns:1fr}.canvas{height:450px}}@media(max-width:650px){header{padding:15px;height:auto;flex-wrap:wrap;gap:12px}header .badge{display:none}main{display:block}aside{border-right:0;padding:16px}nav{display:flex;overflow:auto}nav button{white-space:nowrap}.divider,aside>.muted{display:none}.title>.badge{display:none}.uploadrow{flex-wrap:wrap}.canvas{height:400px}}
:root [hidden]{display:none!important}
.assets{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.asset img{height:300px}
.asset-image{display:block;position:relative;text-decoration:none}
.zoom-hint{position:absolute;right:10px;bottom:10px;background:#111218d9;color:#eee;padding:6px 9px;border:1px solid #555164;border-radius:6px;font-size:11px}
.asset-image:hover img{filter:brightness(1.08)}
.asset-image:focus-visible{outline:3px solid #c2a7ff;outline-offset:-3px}
.asset strong{font-size:12px}
@media(max-width:650px){.assets{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.asset img{height:260px}}
/* Compact input preview and larger output library. */
.editor{grid-template-columns:minmax(240px,1fr) 350px;align-items:start}
.canvas{height:350px}
.assets{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.asset img{height:420px}
@media(max-width:1000px){.editor{grid-template-columns:1fr}.canvas{height:300px}}
@media(max-width:650px){.assets{grid-template-columns:1fr}.asset img{height:400px}.canvas{height:260px}}
/* Independent image stack keeps outputs directly beneath the input preview. */
.workspace{max-width:none;padding:24px;align-self:start}
.studio-layout{display:grid;grid-template-columns:minmax(320px,1fr) 320px 270px;gap:20px;align-items:start}
.image-column{min-width:0;display:flex;flex-direction:column;gap:18px}
.image-column .library .sectiontitle{margin:0 0 12px;gap:12px;flex-wrap:wrap}
.image-column .uploadrow{flex-wrap:wrap}
.history-panel{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;border:1px solid #30313c;border-radius:12px;background:#18191f;padding:16px}
.history-panel>.sectiontitle{margin:0 0 14px;display:block}
.history-panel>.sectiontitle span{display:block;margin-top:8px;line-height:1.6}
.history-panel .job{display:flex;flex-direction:column;gap:8px;padding:12px;margin:10px 0;overflow-wrap:anywhere}
.history-panel .job>div:last-child{display:flex;flex-wrap:wrap;gap:6px}
@media(min-width:1101px){main{grid-template-columns:180px 1fr}}
@media(max-width:1400px) and (min-width:1101px){.studio-layout{grid-template-columns:minmax(260px,1fr) 280px 230px;gap:14px}.workspace{padding:18px}form{padding:16px}.assets{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
@media(max-width:1100px){.studio-layout{grid-template-columns:minmax(240px,1fr) 300px}.image-column{grid-column:1;grid-row:1 / span 2}.studio-layout>form{grid-column:2;grid-row:1}.history-panel{grid-column:2;grid-row:2;position:static;max-height:600px}.assets{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
@media(max-width:750px){main{display:block}aside{border-right:0;padding:16px}nav{display:flex;overflow:auto}nav button{white-space:nowrap}.studio-layout{display:flex;flex-direction:column}.image-column,.studio-layout>form,.history-panel{width:100%}.history-panel{max-height:480px}.workspace{padding:16px}.assets{grid-template-columns:1fr}}
fieldset{border:1px solid #373843;border-radius:8px;padding:12px;margin:0 0 16px;min-width:0}legend{padding:0 6px;font-size:12px;color:#c9bcf3}fieldset small{display:block}
.history-panel .job-active{border:2px solid #b9a0ff;background:#302640;animation:job-pulse 2.2s ease-in-out infinite}
.job-status-active{display:flex;align-items:center;gap:7px;color:#dccbff;font-size:11px;font-weight:700;margin-bottom:9px}
.job-status-active::before{content:"";width:7px;height:7px;border-radius:50%;background:#c7afff;box-shadow:0 0 8px #c7afff}
@keyframes job-pulse{0%,100%{border-color:#8970bb;box-shadow:0 0 0 0 #b497ff00}50%{border-color:#dfcaff;box-shadow:0 0 13px 1px #b497ff35}}
@media(prefers-reduced-motion:reduce){.history-panel .job-active{animation:none}}
.asset-age{display:block;margin-top:7px;font-size:12px;color:#c7b5ef;font-variant-numeric:tabular-nums}
.asset-processing{border:2px solid #b9a0ff;background:#302640;animation:job-pulse 2.2s ease-in-out infinite}
.asset .processing-preview{height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;padding:24px;background:#302640;color:#dccbff}
.asset .processing-preview strong{font-size:18px;white-space:normal}
.processing-spinner{width:36px;height:36px;border:3px solid #685585;border-top-color:#dccbff;border-radius:50%;animation:processing-spin 1.2s linear infinite}
@keyframes processing-spin{to{transform:rotate(360deg)}}
.history-panel .job-failed{border-color:#b95866;background:#351d26}
.history-panel .job-failed strong{color:#ffbac5}
@media(prefers-reduced-motion:reduce){.asset-processing,.processing-spinner{animation:none}}
@media(max-width:650px){.asset .processing-preview{height:400px}}
.credit-balance{display:block;color:#d4c0ff;font-size:12px;margin:-3px 0 12px}
input[type=range]{accent-color:#b7a3ec;padding:0;height:24px;border:0;background:transparent}output{float:right;color:#dbcaff;font-variant-numeric:tabular-nums}
.asset{position:relative}.face-change{position:absolute;top:10px;right:10px;padding:7px 10px;font-size:11px;background:#292036ee;border-color:#ac90df}
.face-dialog{width:min(1250px,96vw);max-width:96vw;height:90vh;max-height:90vh;padding:12px 24px 24px;background:#15161c;color:#eee;border:1px solid #5e507c;border-radius:14px}.face-dialog::backdrop{background:#000b}.face-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.face-header h2{margin:0;font-size:20px}.face-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.face-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.face-card{border:1px solid #44404f;border-radius:9px;overflow:hidden}.face-card.selected{border-color:#d0aeff}.face-preview-select{width:100%;border:0;padding:0;display:block}.face-card img{width:100%;height:245px;object-fit:contain;display:block}.face-actions{display:flex;gap:8px;padding:10px}.face-actions button{flex:1;font-size:12px}.face-controls{background:#20212a;padding:16px;border-radius:10px}.face-controls img{display:block;width:100%;height:210px;object-fit:contain;background:#111218;margin-top:8px}.face-controls small{display:block;margin:12px 0}.face-pending{height:245px;display:flex;align-items:center;justify-content:center;border-radius:9px}.face-dialog button:disabled{cursor:wait}@media(max-width:700px){.face-layout{display:flex;flex-direction:column-reverse}.face-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.face-dialog{padding:8px 16px 16px}}
.face-header h2{margin-right:auto}.face-header{gap:12px}.face-clear{border-color:#93505b;color:#ffc4ca}

.asset .asset-image-box{position:relative;padding:0}.asset .asset-image-tools{position:absolute;right:10px;bottom:10px;display:flex;gap:6px;padding:0}.asset .asset-icon{position:static;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin:0;border:1px solid #777084;border-radius:7px;background:#17141ee8;color:#eee;font-size:23px;text-decoration:none}.asset .asset-icon:hover{background:#352c49;border-color:#cbb0ff}.asset .asset-icon:focus-visible{outline:2px solid #cbb0ff;outline-offset:2px}

.asset .asset-icon{width:46px;height:46px}.asset .asset-icon img{width:36px;height:36px;object-fit:contain;background:transparent}

.input-images{display:flex;gap:8px;overflow-x:auto;padding:10px 14px;border-top:1px solid #30313c}.input-image-choice{flex:0 0 66px;padding:3px;background:#111218}.input-image-choice img{display:block;width:58px;height:78px;object-fit:contain}.input-image-choice.selected{border-color:#cbb0ff;box-shadow:0 0 0 1px #cbb0ff}.asset .input-add{font-size:30px;color:#dbcaff}

#assets.assets{display:block}.model-section{margin-bottom:22px;min-width:0}.model-section h3{font-size:16px;margin:0 0 10px}.model-section>input{margin-bottom:12px;max-width:400px}.model-strip{display:flex;gap:16px;overflow-x:auto;padding:3px 2px 12px;scroll-snap-type:x proximity}.model-strip>.asset{flex:0 0 300px;scroll-snap-align:start}.model-actions{display:flex;gap:8px}.account-dialog{width:min(760px,94vw);max-height:90vh;overflow:auto;border:1px solid #72618c;border-radius:12px;background:#17181f;color:#eee;padding:12px 24px 24px}.account-dialog::backdrop{background:#000b}.account-dialog nav{display:flex;flex-wrap:wrap;margin:12px 0}.account-dialog form{margin-bottom:16px}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:auto;margin:0}.management-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;border-bottom:1px solid #353743}.management-row>span{flex:1;min-width:180px}.success{color:#79dc9b}header{height:auto;min-height:76px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}@media(max-width:650px){.model-strip>.asset{flex-basis:270px}}

#femaleBodyOptions,#maleBodyOptions{border-top:1px solid #393442;padding-top:14px;margin-top:12px}.slider-stages{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#b6a9cd;margin:-5px 0 8px}#maleBodyOptions output{font-size:11px}

.asset .model-image-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;border-top:1px solid #353743}.asset .model-image-tiny{flex:0 0 48px;width:48px;padding:2px;margin:0;border-radius:6px;background:#111218}.asset .model-image-tiny img{width:42px;height:62px;object-fit:contain;background:transparent}.asset .model-image-tiny.selected{border-color:#cbb0ff;box-shadow:0 0 0 1px #cbb0ff}

.face-save-dialog{max-width:480px}.face-save-dialog [data-mode]{display:block;width:100%;margin:10px 0;padding:14px}

.input-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:20px}.input-slot{padding:14px;border:1px solid #353743;border-radius:10px;background:#191a22;min-width:0}.input-slot h3{margin:0 0 10px;font-size:15px}.input-slot-preview{height:240px;display:flex;align-items:center;justify-content:center;background:#101116;border-radius:7px;margin-bottom:10px}.input-slot-preview img{width:100%;height:100%;object-fit:contain}.input-slot-preview span{font-size:12px;color:#999;text-align:center;padding:15px}.input-slot-controls{display:flex;gap:8px;margin-top:8px;align-items:center}.input-slot-controls .upload{margin:0}.advanced-upload{margin-bottom:12px;color:#aaa}.advanced-upload .uploadrow{margin-top:12px}

.pose-filters,.pose-preview{padding:16px;background:#191a22;border:1px solid #393442;border-radius:10px;margin-bottom:16px}.pose-filters>label{display:flex;gap:8px;align-items:center}.pose-filters>label input{width:auto}.pose-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pose-buttons button.active{background:#8064b1}.pose-preview button{margin:10px 8px 0 0}.pose-preview .input-slot-preview{height:340px;position:relative}.pose-preview small{position:absolute;bottom:0;background:#111c;padding:8px}.pose-list{display:flex;gap:12px;overflow-x:auto;margin-bottom:20px}.pose-thumb{flex:0 0 150px}.pose-thumb img{width:130px;height:195px;object-fit:contain}.pose-thumb small{display:block}.pose-results[hidden],.pose-filters[hidden]{display:none}

.engine-settings{min-width:0}.engine-settings.pose-settings{display:grid;grid-template-columns:210px minmax(240px,1fr);gap:14px;align-items:start}.engine-settings .pose-filters{margin:0;padding:16px}.engine-settings.pose-settings>form{min-width:0}.studio-layout.pose-layout{grid-template-columns:minmax(320px,1fr) 500px 250px}.pose-filters label{display:block}.pose-filters>label{display:flex}.pose-filters h3{margin-top:0}
@media(max-width:1500px) and (min-width:751px){.studio-layout.pose-layout{grid-template-columns:minmax(240px,1fr) 470px;gap:14px}.pose-layout .image-column{grid-column:1;grid-row:1 / span 2}.pose-layout .engine-settings{grid-column:2;grid-row:1}.pose-layout .history-panel{grid-column:2;grid-row:2;position:static}.engine-settings.pose-settings{grid-template-columns:200px minmax(230px,1fr)}}
@media(max-width:1100px) and (min-width:751px){.studio-layout:not(.pose-layout)>.engine-settings{grid-column:2;grid-row:1}}
@media(max-width:950px){.studio-layout.pose-layout{display:flex;flex-direction:column}.pose-layout>.image-column,.pose-layout>.engine-settings,.pose-layout>.history-panel{width:100%}}
@media(max-width:750px){.engine-settings{width:100%}.engine-settings.pose-settings{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.engine-settings .pose-filters,.engine-settings>form{padding:12px}}
@media(max-width:480px){.engine-settings.pose-settings{grid-template-columns:1fr}}
.workspace{min-width:0}.engine-settings>form{min-width:0;max-width:100%}@media(min-width:751px) and (max-width:1100px){.studio-layout.pose-layout{display:grid;grid-template-columns:minmax(160px,1fr) 470px}.pose-layout>.engine-settings{width:auto}}@media(max-width:750px){.studio-layout.pose-layout{display:flex;flex-direction:column}}

.angle-filter-toggle{display:flex!important;align-items:center;gap:8px}.angle-filter-toggle input{width:auto;margin:0}.meta-image-preview{display:block;width:100%;height:180px;object-fit:contain;margin-bottom:14px}

/* UI labels should not become text selections during interaction. */
label,button,summary,legend,nav,header,h1,h2,h3,h4,h5,h6,output,.badge,.eyebrow,.upload,.catalog-name-row,.catalog-pose-caption,.model-summary-card>strong,.model-detail-thumb>span,.generation-indicator,.generation-status{user-select:none;-webkit-user-select:none}
input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}


/* Shared popup close control: PNG artwork, equal top/right insets. */
dialog:has(.popup-close-icon){position:fixed}dialog:has(.popup-close-icon)>.face-header{position:static;padding-right:40px;min-height:36px}dialog .popup-close-icon{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;flex:0 0 36px;padding:0;border:0;border-radius:50%;background:transparent;user-select:none;-webkit-user-select:none}dialog .popup-close-icon img{display:block;width:36px;height:36px;pointer-events:none}dialog .popup-close-icon:hover{background:transparent;filter:brightness(1.25)}dialog .popup-close-icon:focus-visible{outline:2px solid #cbb0ff;outline-offset:3px}

.account-dialog>h2,.account-dialog>form>h2{margin-top:0.415em;margin-bottom:0.415em}

.credit-balance{display:block;user-select:none;-webkit-user-select:none}

/* Shared AI queue indicators; external CSS is required by the site CSP. */
.ai-queue-indicators{position:fixed;top:12px;right:68px;display:flex;gap:10px;z-index:10000;user-select:none;-webkit-user-select:none}.ai-queue-indicators[hidden]{display:none}.ai-queue-indicator{display:flex;flex-direction:column;align-items:center;gap:3px;font:10px system-ui;color:#b8b6c5}.ai-queue-circle{position:relative;width:44px;height:44px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:#191a22;border:2px solid #41414d;font-variant-numeric:tabular-nums}.ai-queue-circle:before{content:'';position:absolute;inset:-2px;border:2px solid transparent;border-top-color:#bca5ec;border-radius:50%;opacity:0}.ai-queue-indicator.busy .ai-queue-circle:before{opacity:1;animation:ai-queue-spin 1.3s linear infinite}.ai-queue-circle strong{font-size:13px;line-height:16px;color:#eeeaf8}.ai-queue-circle small{font-size:10px;line-height:12px;color:#bbb0d3}.ai-queue-indicator.idle{opacity:.5}@keyframes ai-queue-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ai-queue-indicator.busy .ai-queue-circle:before{animation:none}}
.ai-queue-anchor{display:block;flex-shrink:0;width:98px;height:62px;margin-left:8px;user-select:none;-webkit-user-select:none}
.ai-queue-anchor>.ai-queue-indicators{position:static;inset:auto;margin:0;padding:0;border:0;background:transparent;overflow:visible;color:inherit;width:max-content;height:auto}
.ai-queue-anchor>.ai-queue-indicators:popover-open{position:fixed;margin:0;right:auto;bottom:auto}
.ai-queue-indicators::backdrop{background:transparent;pointer-events:none}


.account-settings-dialog[open]{display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;max-height:90vh}
.account-settings-dialog>.face-header,.account-settings-dialog>[data-tabs],.account-settings-dialog>[data-status]{flex-shrink:0}
.account-settings-dialog>[data-content]{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}

.job-error-details summary{cursor:pointer;color:#ffbac5;user-select:none;-webkit-user-select:none}.job-error-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;user-select:text;-webkit-user-select:text;max-height:260px;overflow:auto}

/* Suppress vertical viewport overscroll without disabling content scrolling. */
html,body{overscroll-behavior-y:none}

.header-account-controls{display:flex;align-items:center;flex-wrap:nowrap;flex-shrink:0;gap:14px;margin-left:auto;user-select:none;-webkit-user-select:none}.header-account-controls>button{white-space:nowrap}.header-account-controls>.ai-queue-anchor{margin-left:0}
