.wizard-summary{flex-basis:340px;position:static}
.wizard-settings{display:flex;flex-direction:column;gap:6px}
.wizard-settings .param-group{margin:12px 0}
.wizard-settings .model-trigger{width:100%}
.wizard-settings .settings-footnote{margin:4px 0 12px}

/* 素材工作台：编辑、预览、参数三栏，预览始终占据创作中心。 */
.asset-studio{max-width:1800px;margin:0 auto;--asset-line:#e6e8ec;--asset-muted:#8a93a3}
.asset-studio-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;min-height:40px}
.asset-heading{display:flex;align-items:center;gap:18px;min-width:0}
.asset-heading h1{font-size:22px;font-weight:600;letter-spacing:.5px;color:#20242b;margin:0;white-space:nowrap}
.asset-heading-divider{width:1px;height:22px;background:#e6e8ec}
.asset-back.btn{border:0;padding:7px 0;background:none;color:#667085;font-size:12px}
.asset-back.btn:hover{color:#0b67ff;background:none}
.asset-kind-tabs{display:flex;padding:4px;background:#f5f6f8;border:1px solid #e6e8ec;border-radius:9px;gap:4px}
.asset-kind-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-width:85px;padding:7px 14px;border:0;border-radius:6px;background:none;color:#667085;font-size:12px;cursor:pointer}
.asset-kind-tab .ic{width:15px;height:15px}
.asset-kind-tab.on{background:#eaf2ff;color:#0b67ff;box-shadow:inset 0 0 0 1px #57472b}
.asset-kind-tab:hover{color:#0b67ff}
.asset-new.btn{display:flex;align-items:center;font-size:12px;gap:6px;border-color:#d7dbe2;background:#f5f6f8;color:#4b5160;white-space:nowrap}
.asset-new .ic{width:14px;height:14px}
.asset-studio-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(300px,1fr) 282px;gap:16px;height:calc(calc(100dvh / var(--ui-zoom)) - 280px);min-height:460px;max-height:760px;align-items:stretch}
.asset-pane{border:1px solid var(--asset-line);border-radius:12px;background:#ffffff;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.asset-pane-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 18px;border-bottom:1px solid #e6e8ec;flex-shrink:0;min-height:53px}
.asset-pane-heading h2{font-size:13px;font-weight:600;color:#4b5160;margin:0;letter-spacing:.3px}
.asset-pane-heading>span{font-size:10px;color:var(--asset-muted);white-space:nowrap}
.asset-editor-body,.asset-settings-body{padding:18px;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#d7dbe2 transparent}
.asset-editor-body{flex:1}
.asset-methods{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;background:#fafafb;border:1px solid #e6e8ec;border-radius:7px;margin:0 0 16px}
.asset-methods>button{display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:0;border-radius:4px;color:#7a8190;font-size:12px;padding:8px 4px;white-space:nowrap;cursor:pointer}
.asset-methods .ic{width:13px;height:13px}
.asset-methods>button.on{background:#e6e8ec;color:#0b67ff;box-shadow:0 1px 4px #0004}
.asset-field{display:flex;flex-direction:column;gap:9px;margin:0 0 14px;font-size:12px;color:#4b5160;min-width:0}
.asset-field .inp,.asset-field .ta{font-size:12px;background:#fafafb;border-color:#e6e8ec;border-radius:7px;padding:10px 11px;color:#20242b;line-height:1.8}
.asset-field .inp{height:39px}
.asset-field .inp::placeholder,.asset-field .ta::placeholder{color:#7a8190}
.asset-field .ta{resize:vertical;min-height:68px;max-height:360px}
.asset-field .inp:focus,.asset-field .ta:focus{border-color:#b9d3ff;box-shadow:0 0 0 2px #ccaa5710}
.asset-field-title{display:flex;justify-content:space-between;gap:12px;align-items:center}
.asset-field-title small,.asset-field>small{font-size:10px;font-weight:400;color:#7a8190;line-height:1.6}
.asset-prompt-field .ta{min-height:126px;height:140px;line-height:1.9}
.asset-form-grid{display:grid;grid-template-columns:1fr;min-width:0}
.asset-refs{display:flex;flex-wrap:wrap;gap:8px}
.asset-ref{position:relative;width:70px;height:80px;border:1px solid #e6e8ec;border-radius:7px;background:#fafafb;overflow:hidden}
.asset-ref img{width:100%;height:100%;object-fit:contain}
.asset-ref>span{position:absolute;bottom:0;left:0;padding:2px 6px;font-size:9px;background:#151517d9;color:#ffffffd9}
.asset-ref .icon-btn{position:absolute;top:2px;right:2px;width:20px;height:20px;font-size:13px;background:#ffffffe6;border:1px solid #c2c8d1;border-radius:5px;color:#20242b}
.asset-upload{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;padding:10px;border:1px dashed #d7dbe2;border-radius:7px;background:#f5f6f8;color:#667085;cursor:pointer;transition:background .15s,border-color .15s;box-sizing:border-box}
.asset-upload>.ic{width:19px;height:19px;color:#0b67ff}
.asset-upload>span{display:flex;flex-direction:column;gap:5px;font-size:11px}
.asset-upload small{font-size:9px;color:#7a8190}
.asset-upload:hover{background:#eaf2ff;border-color:#0b67ff}
.has-refs .asset-upload{width:70px;min-height:80px;padding:8px;flex-direction:column;gap:5px}
.has-refs .asset-upload>span{font-size:10px}
.asset-metadata{border-top:1px solid #e6e8ec;padding-top:14px;margin:4px 0}
.asset-metadata>summary{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;color:#4b5160;list-style:none}
.asset-metadata>summary::before{content:'+';color:#667085;font-size:14px;width:10px}
.asset-metadata[open]>summary::before{content:'−'}
.asset-metadata>summary>span{margin-left:auto;font-size:9px;color:#7a8190}
.asset-metadata .asset-field{margin:12px 0 0}
.asset-metadata .ta{font-size:11px}

/* 中央预览区在空白、生成中、失败和完成时保持稳定尺寸。 */
.asset-canvas{background:#fafafb}
.asset-canvas>.asset-pane-heading{background:#ffffff}
.asset-result{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}
.asset-result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 0;flex-shrink:0}
.asset-result-heading h3{font-size:12px;font-weight:500;margin:0;color:#4b5160;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-status{font-size:9px;color:#667085;white-space:nowrap}
.asset-status.done{color:#0b67ff}
.asset-status.failed{color:#b42318}
.asset-stage{position:relative;flex:1;min-height:140px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#f5f6f8 0%,#fafafb 75%);margin:0;color:#4b5160}
.asset-stage-empty{padding:24px}
.asset-preview-frame{width:min(82%,300px);max-height:100%;border:1px solid #e6e8ec;border-radius:3px;background:linear-gradient(155deg,#ffffffcc,#f2f4f7cc);box-shadow:0 18px 65px #0003;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px 10px;position:relative;min-height:145px}
.asset-preview-frame::before,.asset-preview-frame::after{content:'';position:absolute;width:14px;height:14px;border-color:#9b7d4866;border-style:solid}
.asset-preview-frame::before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.asset-preview-frame::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.asset-empty-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 0 20px;color:#0b67ff;border:1px solid #c2c8d1;border-radius:13px;background:#eef0f3}
.asset-empty-icon .ic{width:25px;height:25px}
.asset-preview-frame strong{font-weight:500;color:#4b5160;font-size:14px;letter-spacing:.4px}
.asset-preview-frame p{font-size:10px;line-height:1.8;max-width:160px;color:#7a8190;margin:10px 0 20px}
.asset-empty-spec{font-size:10px;color:#7a8190;letter-spacing:1px}
.asset-empty-caption{display:flex;align-items:center;justify-content:center;gap:7px;padding:17px 12px;border-top:1px solid #e6e8ec;color:#7a8190;font-size:10px;flex-shrink:0}
.asset-empty-caption .ic{width:13px;height:13px;color:#0b67ff}
.asset-stage-result{display:block}
.asset-result-image{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);object-fit:contain;border-radius:3px}
.asset-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px;flex-shrink:0;border-top:1px solid #e6e8ec;background:#ffffff}
.asset-result-actions>span{font-size:10px;color:#7a8190;margin-right:auto}
.asset-result-actions .btn,.asset-result-actions .btn-primary{padding:8px 11px;font-size:11px;border-radius:6px;white-space:nowrap}
.asset-result-actions .btn-primary:disabled{background:#e6e8ec;color:#667085;cursor:default}
.asset-receipt{padding:10px 16px 12px;border-top:1px solid #e6e8ec;color:#667085;font-size:10px;flex-shrink:0;background:#ffffff}
.asset-receipt summary{cursor:pointer;color:#7a8190}
.asset-receipt>div{max-height:140px;overflow:auto;overflow-wrap:anywhere;line-height:1.7;scrollbar-width:thin}
.asset-copy{white-space:pre-wrap;line-height:1.85;overflow-wrap:anywhere}
.asset-failed,.asset-progress{flex-direction:column;gap:17px;padding:24px;text-align:center}
.asset-failed strong,.asset-progress strong{font-size:14px;font-weight:500}
.asset-failed p,.asset-progress p{font-size:11px;line-height:1.8;color:#667085;overflow-wrap:anywhere;max-height:160px;overflow:auto;margin:0}
.asset-failure-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #fecdca;border-radius:50%;color:#b42318;font-size:22px}
.asset-pulse{width:28px;height:28px;border:2px solid #b9d3ff;border-top-color:#0b67ff;border-radius:50%;animation:asset-spin 1s linear infinite}
@keyframes asset-spin{to{transform:rotate(360deg)}}

/* 参数栏的提交区域常驻底部，模型和规格滚动时仍可访问。 */
.asset-settings-body{flex:1;padding:18px 16px}
.asset-setting-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#667085;font-size:11px}
.asset-setting-label .btn-link{font-size:10px;color:#7a8190;padding:0;line-height:1}
.image-model-menu{border:1px solid #b9d3ff;border-radius:8px;background:#f5f6f8;margin-bottom:21px}
.image-model-menu>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;padding:12px 10px}
.asset-model-symbol{width:30px;height:32px;flex-shrink:0;display:grid;place-items:center;background:#eaf2ff;border:1px solid #b9d3ff;border-radius:7px;color:#0b67ff}
.asset-model-symbol .ic{width:15px;height:15px}
.asset-model-name{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.asset-model-name strong{font-size:12px;font-weight:600;color:#4b5160;overflow-wrap:anywhere;line-height:1.5}
.asset-model-name small{font-size:9px;color:#7a8190}
.image-model-menu>summary>.ic{width:13px;height:13px;color:#0b67ff;flex-shrink:0}
.image-model-menu[open]>summary>.ic{transform:rotate(90deg)}
.image-model-options{display:grid;gap:4px;padding:6px;max-height:285px;overflow:auto;border-top:1px solid #b9d3ff;scrollbar-width:thin}
.image-model-option{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:10px 9px;border:1px solid transparent;border-radius:5px;background:#f5f6f8;color:#4b5160;cursor:pointer}
.image-model-option.selected{border-color:#b9d3ff;background:#eaf2ff;color:#0b67ff}
.image-model-option strong{font-size:11px;font-weight:500}
.image-model-option small{font-size:9px;color:#7a8190}
.asset-settings .param-group{margin-bottom:20px}
.asset-settings .param-group legend{font-size:11px;margin-bottom:10px;color:#667085}
.asset-settings .param-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.asset-settings .param-option{min-height:34px;height:auto;padding:7px 4px;border-radius:6px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;font-size:11px;background:#f5f6f8;border-color:#e6e8ec;color:#667085}
.asset-settings .param-option.selected{background:#eaf2ff;border-color:#b9d3ff;color:#0b67ff}
.asset-settings .param-option:hover{border-color:#b9d3ff}
.asset-ratio-icon{border:1px solid currentColor;border-radius:2px;opacity:.8;display:inline-block;flex-shrink:0}
.asset-param-quality .param-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.asset-spec-note{font-size:10px;color:#7a8190;line-height:1.7;margin-top:-4px}
.asset-spec-note summary{cursor:pointer;color:#7a8190}
.asset-spec-note p{margin:8px 0 0}
.asset-settings-footer{padding:15px 16px 12px;border-top:1px solid #e6e8ec;flex-shrink:0;background:#f5f6f8}
.asset-fee{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:10px;color:#667085;margin-bottom:13px}
.asset-fee strong{color:#0b67ff;font-size:12px;font-weight:500}
.asset-fee small{grid-column:1/-1;font-size:9px;color:#7a8190;line-height:1.6}
.asset-settings .submitbtn{width:100%;padding:12px 8px;min-height:42px;border-radius:7px;font-size:13px;font-weight:600;margin:0}
.asset-submit-note{margin:8px 0 0;text-align:center;color:#7a8190;font-size:9px;line-height:1.6}
#asset-message:empty{display:none}
#asset-message .expand-note{font-size:11px;padding:9px;line-height:1.7;max-height:110px;overflow:auto;overflow-wrap:anywhere;margin-bottom:10px}
.asset-import-note{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:#667085;font-size:12px;line-height:1.8;padding:8px 0}
.asset-import-note>.ic{width:28px;height:28px;color:#0b67ff}
.asset-import-note h3{font-size:13px;color:#4b5160;margin:6px 0 0;font-weight:500}
.asset-import-note p{margin:0;font-size:11px}

.asset-history{margin-top:22px;padding-bottom:6px}
.asset-history>header{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.asset-history h2{font-size:12px;font-weight:500;color:#4b5160;margin:0}
.asset-history>header>span{font-size:10px;color:#7a8190}
.asset-history-grid{display:grid;grid-auto-columns:218px;grid-auto-flow:column;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 1px 6px;scrollbar-width:thin;scrollbar-color:#d7dbe2 transparent}
.asset-history-item{display:flex;align-items:center;gap:12px;text-align:left;background:#f5f6f8;border:1px solid #e6e8ec;padding:8px;border-radius:8px;color:#4b5160;min-width:0;cursor:pointer}
.asset-history-item.selected{border-color:#b9d3ff;background:#f5f6f8}
.asset-history-item>img,.asset-history-placeholder{width:50px;height:56px;flex-shrink:0;border-radius:4px;object-fit:cover;background:#eef0f3;display:grid;place-items:center}
.asset-history-placeholder .ic{width:20px;height:20px;color:#ffffff}
.asset-history-item>span:last-child{display:grid;gap:8px;min-width:0}
.asset-history-item strong{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-history-item small{font-size:9px;color:#7a8190}
.asset-history-empty{display:flex;align-items:center;gap:9px;min-height:46px;padding:12px 15px;background:#ffffff;border:1px dashed #e6e8ec;border-radius:7px;color:#7a8190;font-size:10px}
.asset-history-empty .ic{width:16px;height:16px;color:#7a8190}
.asset-studio button:focus-visible,.asset-studio summary:focus-visible,.asset-upload:focus-visible{outline:2px solid #0b67ff;outline-offset:3px}

@media(min-width:1800px){.asset-studio-grid{grid-template-columns:380px minmax(400px,1fr) 306px;gap:20px}.asset-editor-body{padding:22px}.asset-prompt-field .ta{min-height:160px;height:180px}.asset-preview-frame{width:min(75%,380px)}}
@media(max-width:1100px){
  .asset-studio-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);height:auto;max-height:none}
  .asset-editor,.asset-canvas{height:570px}
  .asset-settings{grid-column:1/-1}
  .asset-settings-body{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;overflow:visible}
  .asset-settings-footer{display:grid;grid-template-columns:1fr 240px;column-gap:25px;align-items:center}
  .asset-fee{margin:0;max-width:300px}
  .asset-settings-footer .submitbtn{grid-column:2;grid-row:1}
  .asset-submit-note{grid-column:2;margin-top:5px}
  #asset-message{grid-column:1/-1;grid-row:3}
  .asset-kind-tab{min-width:65px;padding:7px 10px}
  .asset-heading{gap:11px}.asset-heading h1{font-size:20px}
  .asset-studio-header{gap:12px}
}
@media(max-width:720px){
  main.view:has(.asset-studio){padding:18px 16px 24px}
  .asset-studio-header{flex-wrap:wrap;margin-bottom:16px}
  .asset-heading h1{font-size:19px}.asset-heading-divider{height:18px}
  .asset-kind-tabs{order:3;width:100%}.asset-kind-tab{flex:1}
  .asset-new{margin-left:auto}
  .asset-studio-grid{grid-template-columns:minmax(0,1fr);gap:14px;min-height:0}
  .asset-editor{height:auto;order:1}.asset-editor-body{overflow:visible}
  .asset-settings{order:2;grid-column:auto}.asset-settings-body{display:block}
  .asset-canvas{height:510px;order:3}
  .asset-settings-footer{display:block}.asset-fee{margin-bottom:14px;max-width:none}
  .asset-submit-note{margin-top:8px}.asset-history>header{align-items:flex-start;flex-wrap:wrap;gap:7px}
  .asset-preview-frame{width:min(75%,280px)}.wizard-summary{flex-basis:100%}
}
@media(max-width:480px){.asset-new>span{display:none}.asset-new.btn{padding:8px}.asset-heading h1{font-size:18px}.asset-result-actions{gap:5px;padding:10px}.asset-result-actions>span{font-size:9px}.asset-result-actions .btn,.asset-result-actions .btn-primary{font-size:10px;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){.asset-pulse{animation:none}}

/* 生图页：步骤号、参考图大投放区、最近生成卡 */
.asset-recipes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 8px}
.asset-recipes-label{font-size:11.5px;color:#7a8190;margin-right:2px}
.asset-recipe{border:1px solid #d9dde3;background:#fff;color:#3c434d;border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer;line-height:1.4}
.asset-recipe:hover{border-color:#0b67ff;color:#0b67ff}
.asset-recipe.on{background:#0b67ff;border-color:#0b67ff;color:#fff;font-weight:600}
.asset-expand{flex-basis:auto;font-size:12px;padding:5px 12px;display:inline-flex;align-items:center;gap:5px}
.asset-expand .ic{width:13px;height:13px}
.asset-expand-note{font-size:11.5px;color:#1a7f37;background:#eaf7ee;border-radius:6px;padding:5px 10px;flex:1 1 auto}
.asset-recipe-hint{flex-basis:100%;font-size:11.5px;color:#0b67ff;background:#eaf2ff;border-radius:6px;padding:6px 10px;line-height:1.5}
.asset-step{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#20242b}
.asset-step i{width:20px;height:20px;border-radius:50%;background:#0b67ff;color:#fff;font-style:normal;font-size:11.5px;font-weight:700;display:grid;place-items:center}
.asset-step em{font-style:normal;font-size:11px;font-weight:600;color:#0b67ff;background:#eaf2ff;padding:1px 8px;border-radius:999px}
.asset-ref-count{font-size:11px!important;color:#4b5160!important}
.asset-ref-count.over{color:#b42318!important;font-weight:600}
.asset-ref-hint{display:block;margin-top:6px;font-size:10.5px;color:#7a8190;line-height:1.6}
.asset-reference-field.gen .asset-refs{padding:10px;border:2px dashed #b9d3ff;border-radius:12px;background:#f7faff;gap:10px}
.asset-reference-field.gen .asset-ref{width:92px;height:92px;border-radius:10px;background:#fff}
.asset-reference-field.gen .asset-upload{min-height:92px;border:2px dashed #0b67ff66;background:#fff;border-radius:10px}
.asset-reference-field.gen .asset-upload>.ic{width:24px;height:24px}
.asset-reference-field.gen .asset-upload>span{font-size:12.5px;font-weight:600;color:#0b67ff}
.asset-reference-field.gen .asset-upload small{font-size:10px;font-weight:400;color:#7a8190}
.asset-reference-field.gen .has-refs .asset-upload,.asset-reference-field.gen .asset-refs.has-refs .asset-upload{width:92px;min-height:92px;padding:6px;flex-direction:column;gap:4px;text-align:center}
.asset-reference-field.gen .asset-refs.has-refs .asset-upload small{display:none}
.asset-history-grid{grid-auto-columns:300px}
.asset-history-item{align-items:flex-start;padding:10px}
.asset-history-item>img.asset-hist-out{width:76px;height:96px;object-fit:cover;border-radius:8px;background:#eef0f3}
.asset-hist-t{display:flex!important;flex-direction:column;gap:5px!important;min-width:0}
.asset-hist-t strong{font-size:12px!important}
.asset-hist-prompt{font-style:normal;font-size:10.5px;color:#4b5160;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.asset-hist-refs{display:flex;align-items:center;gap:4px}
.asset-hist-refs img{width:22px;height:22px;border-radius:4px;object-fit:cover;border:1px solid #e6e8ec;background:#fff}
.asset-hist-refs i{font-style:normal;font-size:10px;color:#7a8190}
.asset-hist-refs b{font-size:10px;font-weight:500;color:#7a8190;margin-left:4px}
.asset-hist-use{font-size:10.5px;color:#0b67ff;font-weight:600;opacity:0;transition:opacity .15s}
.asset-history-item:hover .asset-hist-use,.asset-history-item.selected .asset-hist-use{opacity:1}
