/* Character illustrations: compact outfit layout + WaveSpeed workbench. */
#cxAdminPanel [data-content-type]{display:none!important}

.cx-admin-character-top .cx-admin-outfit-manager{
  grid-template-columns:1fr;
  grid-template-rows:auto auto auto;
  padding:13px 16px 16px;
}
.cx-admin-character-top .cx-admin-outfit-manager>.cx-admin-outfit-header{
  grid-column:1;
  grid-row:1;
  min-height:34px;
  padding:0 0 7px;
  justify-content:flex-end;
  border-bottom:0;
}
.cx-admin-character-top .cx-admin-outfit-fields{
  grid-column:1;
  grid-row:2;
  width:min(520px,100%);
  margin:0 0 10px;
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  align-items:end;
  gap:10px;
}
.cx-admin-character-top .cx-admin-outfit-fields>label{min-width:0}
.cx-admin-character-top .cx-admin-outfit-fields>#cxAdminOutfitDelete{
  width:auto;
  min-width:92px;
  height:38px;
  justify-self:auto;
}
.cx-admin-character-top .cx-admin-outfit-toolbar{
  grid-column:1;
  grid-row:3;
  min-width:0;
}
.cx-admin-character-top .cx-admin-outfit-tabs{padding-bottom:5px}
.cx-admin-character-top .cx-admin-outfit-tabs .cx-admin-outfit-tab.default::after{content:"DEFAULT · #1"}
.cx-admin-narrative-grid textarea{min-height:126px}

.cx-admin-character-illustration-options{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(166,113,255,.28);
}
.cx-character-illustration-config{display:grid;gap:15px}
.cx-character-illustration-config>header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  padding:18px;
  border:1px solid rgba(166,113,255,.3);
  background:linear-gradient(120deg,rgba(42,20,77,.62),rgba(4,18,30,.76));
}
.cx-character-illustration-config>header small,.cx-character-illustration-config-card header small{
  display:block;
  color:#bd94ff;
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
}
.cx-character-illustration-config>header h3{margin:5px 0 4px;color:#f7f1ff;font-size:22px;letter-spacing:.07em}
.cx-character-illustration-config>header p{max-width:760px;margin:0;color:#a58fbd;font-size:9px;line-height:1.5}
.cx-character-illustration-config>header button,.cx-character-illustration-config button{
  min-height:36px;
  padding:0 15px;
  border:1px solid rgba(177,120,255,.5);
  border-radius:3px;
  color:#f2e8ff;
  background:rgba(74,38,116,.68);
  font:900 8px/1 var(--admin-font,sans-serif);
  letter-spacing:.11em;
  cursor:pointer;
}
.cx-character-illustration-config button:hover{border-color:#c394ff;background:rgba(106,58,162,.78)}
.cx-character-illustration-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.cx-character-illustration-config-card{
  min-width:0;
  padding:15px;
  display:flex;
  flex-direction:column;
  gap:10px;
  border:1px solid rgba(166,113,255,.24);
  background:rgba(13,8,29,.68);
}
.cx-character-illustration-config-card>header{display:flex;gap:9px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(166,113,255,.16)}
.cx-character-illustration-config-card>header i{width:28px;height:28px;display:grid;place-items:center;border:1px solid #af78ff;border-radius:50%;color:#c89dff;font:900 8px/1 sans-serif;font-style:normal}
.cx-character-illustration-config-card>header strong{display:block;color:#f4edff;font-size:10px;letter-spacing:.11em}
.cx-character-illustration-config-card label,.cx-character-illustration-processing label{display:flex;flex-direction:column;gap:5px;color:#ae91ca;font-size:7px;font-weight:900;letter-spacing:.11em}
.cx-character-illustration-config-card textarea,.cx-character-illustration-config-card input,.cx-character-illustration-config-card select,.cx-character-illustration-processing input,.cx-character-illustration-processing select{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(175,120,255,.3);
  border-radius:2px;
  color:#f8f3ff;
  background:#0a1020;
  padding:9px;
  outline:none;
  font:600 10px/1.4 var(--admin-font,sans-serif);
}
.cx-character-illustration-config-card textarea{min-height:112px;resize:vertical}
.cx-character-illustration-config-card textarea:focus,.cx-character-illustration-config-card input:focus,.cx-character-illustration-config-card select:focus,.cx-character-illustration-processing input:focus,.cx-character-illustration-processing select:focus{border-color:#b77cff}
.cx-character-illustration-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.cx-character-illustration-toggles{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.cx-character-illustration-toggles label,.cx-character-ai-runtime-toggles label{
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px;
  border:1px solid rgba(166,113,255,.18);
  background:rgba(57,29,89,.28);
  box-sizing:border-box;
  cursor:pointer;
}
.cx-character-illustration-toggles input,.cx-character-ai-runtime-toggles input{width:14px;height:14px;padding:0;accent-color:#b47cff}
.cx-character-illustration-variable-list{display:grid;gap:7px}
.cx-character-illustration-variable-list>header{display:flex;justify-content:space-between;color:#c39aff;font-size:7px;letter-spacing:.1em}
.cx-character-illustration-variable-list>div{display:grid;grid-template-columns:38px minmax(0,1fr) 58px;gap:7px;align-items:end}
.cx-character-illustration-variable-list b{height:32px;display:grid;place-items:center;border:1px solid rgba(166,113,255,.26);color:#cda8ff;background:#121128;font-size:9px}
.cx-character-illustration-variable-list p{margin:0;color:#7d6994;font-size:8px;line-height:1.45}
.cx-character-illustration-processing{
  padding:14px;
  display:grid;
  grid-template-columns:1.3fr .7fr .8fr .7fr;
  gap:10px;
  border:1px solid rgba(166,113,255,.22);
  background:rgba(10,14,30,.72);
}
.cx-character-illustration-processing>header{grid-column:1/-1}
.cx-character-illustration-processing>header strong{color:#f4edff;font-size:10px;letter-spacing:.1em}
.cx-character-illustration-processing>header small{display:block;margin-top:4px;color:#8f78a9;font-size:8px}
.cx-character-illustration-config>footer{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.cx-character-illustration-config>footer output{margin-right:auto;color:#a98cc7;font-size:9px}
.cx-character-illustration-config>footer output.error{color:#ff78a6}.cx-character-illustration-config>footer output.success{color:#63edbd}

.cx-admin-character-ai-launcher{
  position:absolute;
  z-index:12;
  left:11px;
  top:11px;
  min-width:94px;
  height:34px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(189,128,255,.75);
  border-radius:3px;
  color:#f7efff;
  background:linear-gradient(135deg,rgba(93,43,148,.94),rgba(48,25,86,.94));
  box-shadow:0 6px 22px rgba(32,7,57,.38);
  font:900 8px/1 var(--admin-font,sans-serif);
  letter-spacing:.12em;
  cursor:pointer;
}
.cx-admin-character-ai-launcher::before{content:"✦";font-size:12px;color:#d6b3ff}
.cx-admin-character-ai-launcher:hover{transform:translateY(-1px);border-color:#dab7ff}
.cx-admin-character-ai-launcher:disabled{opacity:.38;filter:grayscale(.35);cursor:not-allowed;transform:none}

.cx-character-ai-overlay{
  position:fixed;
  z-index:4100;
  inset:0;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(1,5,12,.82);
  backdrop-filter:blur(8px);
}
.cx-character-ai-overlay[hidden]{display:none!important}
.cx-character-ai-dialog{
  width:min(1180px,calc(100vw - 56px));
  max-height:calc(100vh - 56px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid rgba(183,124,255,.58);
  background:linear-gradient(145deg,#091322 0%,#0c0a1b 68%,#160d26 100%);
  box-shadow:0 28px 100px rgba(0,0,0,.7),0 0 45px rgba(116,58,181,.14);
}
.cx-character-ai-dialog>header{min-height:62px;padding:11px 14px 11px 18px;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(166,113,255,.24);background:rgba(20,12,39,.82)}
.cx-character-ai-dialog>header>div{min-width:0;margin-right:auto}
.cx-character-ai-dialog>header small{display:block;color:#b98aea;font-size:7px;font-weight:900;letter-spacing:.17em}
.cx-character-ai-dialog>header strong{display:block;margin-top:5px;overflow:hidden;color:#f7f1ff;font-size:16px;letter-spacing:.07em;text-overflow:ellipsis;white-space:nowrap}
.cx-character-ai-dialog>header button{width:38px;height:38px;border:1px solid #a63155;border-radius:3px;color:#ff8dad;background:#4c1027;font-size:24px;line-height:1;cursor:pointer}
.cx-character-ai-body{min-height:0;padding:15px;display:grid;grid-template-columns:minmax(300px,.86fr) minmax(360px,1.14fr);gap:14px;overflow:auto}
.cx-character-ai-config-panel,.cx-character-ai-result-panel{min-width:0;display:flex;flex-direction:column;gap:11px}
.cx-character-ai-reference,.cx-character-ai-result{
  position:relative;
  min-height:330px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(166,113,255,.25);
  background:radial-gradient(circle at 50% 40%,rgba(91,44,139,.14),transparent 52%),#06101b;
}
.cx-character-ai-reference img,.cx-character-ai-result img{width:100%;height:330px;display:block;object-fit:contain}
.cx-character-ai-empty{display:grid;place-items:center;gap:8px;color:#725e89;text-align:center}
.cx-character-ai-empty span{font-size:42px;color:#6e4b94}.cx-character-ai-empty strong{font-size:9px;letter-spacing:.12em}
.cx-character-ai-reference footer{position:absolute;inset:auto 8px 8px;display:flex;gap:7px;justify-content:center}
.cx-character-ai-reference footer button,.cx-character-ai-result-actions button,.cx-character-ai-dialog>footer button{
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(173,116,246,.48);
  border-radius:3px;
  color:#f2e9ff;
  background:rgba(47,27,79,.92);
  font:900 8px/1 var(--admin-font,sans-serif);
  letter-spacing:.1em;
  cursor:pointer;
}
.cx-character-ai-reference footer button:hover,.cx-character-ai-result-actions button:hover,.cx-character-ai-dialog>footer button:hover{border-color:#c99dff;background:#633d91}
.cx-character-ai-prompt{display:flex;flex-direction:column;gap:5px;color:#bd98df;font-size:7px;font-weight:900;letter-spacing:.11em}
.cx-character-ai-prompt textarea,.cx-character-ai-dynamic-fields textarea,.cx-character-ai-runtime-settings select{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(166,113,255,.3);
  color:#f7f2ff;
  background:#071321;
  padding:9px;
  outline:none;
  font:600 10px/1.45 var(--admin-font,sans-serif);
}
.cx-character-ai-prompt textarea{min-height:112px;resize:vertical}
.cx-character-ai-dynamic-fields{display:grid;gap:8px}
.cx-character-ai-dynamic-fields label{display:flex;flex-direction:column;gap:5px;color:#bd98df;font-size:7px;font-weight:900;letter-spacing:.1em}
.cx-character-ai-runtime-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.cx-character-ai-runtime-settings label{display:flex;flex-direction:column;gap:5px;color:#a88ac4;font-size:7px;font-weight:900;letter-spacing:.1em}
.cx-character-ai-runtime-toggles{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.cx-character-ai-result{flex:1 1 360px;min-height:360px}
.cx-character-ai-result img{height:min(52vh,560px)}
.cx-character-ai-result.is-busy::after{content:"";position:absolute;width:38px;height:38px;border:3px solid rgba(190,144,255,.2);border-top-color:#c99cff;border-radius:50%;animation:cxCharacterAiSpin .8s linear infinite}
@keyframes cxCharacterAiSpin{to{transform:rotate(360deg)}}
.cx-character-ai-progress{display:grid;gap:6px;padding:10px;border:1px solid rgba(166,113,255,.2);background:rgba(31,18,51,.62)}
.cx-character-ai-progress strong{color:#e9dcf8;font-size:9px;letter-spacing:.1em}.cx-character-ai-progress small{color:#a98bbb;font-size:8px}
.cx-character-ai-progress.error{border-color:rgba(255,91,135,.45)}.cx-character-ai-progress.error strong,.cx-character-ai-progress.error small{color:#ff8fad}
.cx-character-ai-progress.success{border-color:rgba(75,235,179,.36)}.cx-character-ai-progress.success strong{color:#68efbf}
.cx-character-ai-result-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.cx-character-ai-result-actions button.primary,.cx-character-ai-dialog>footer button.primary{border-color:#bf8cff;color:#11081d;background:#c194ff}
.cx-character-ai-result-actions button:disabled,.cx-character-ai-dialog>footer button:disabled{opacity:.4;cursor:not-allowed}
.cx-character-ai-dialog>footer{min-height:56px;padding:10px 15px;display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid rgba(166,113,255,.22);background:rgba(10,8,23,.88)}
body.cx-character-ai-open{overflow:hidden}

@media(max-width:1050px){
  .cx-character-illustration-config-grid{grid-template-columns:1fr}
  .cx-character-illustration-processing{grid-template-columns:1fr 1fr}
  .cx-character-illustration-processing>header{grid-column:1/-1}
  .cx-character-ai-body{grid-template-columns:1fr}
  .cx-character-ai-reference,.cx-character-ai-reference img{min-height:260px;height:260px}
}
@media(max-width:680px){
  .cx-character-ai-overlay{padding:8px}
  .cx-character-ai-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
  .cx-character-illustration-processing,.cx-character-ai-runtime-settings,.cx-character-ai-runtime-toggles{grid-template-columns:1fr}
  .cx-character-illustration-config>header{align-items:stretch;flex-direction:column}
}
