/* 图片创作：工作区宽/高/并排逻辑在 video.css（#panel-video / #panel-image）中统一；本文件只保留图片特有样式 */

/* 提示词区：图片生成接口建议的长度说明（与 textarea 左内边距对齐） */
#panel-image .img-prompt-length-hint {
  margin: 0 6px 8px 6px;
  font-size: calc(11 * 1rem / 16);
  line-height: 1.5;
  color: var(--text3);
  font-weight: 400;
}

#panel-image .img-prompt-length-hint strong {
  color: var(--text2);
  font-weight: 600;
}

/* 两列并排：模型+输出 | 档位+组图；比例与宽高占满行（非并排窄栏时由 video 改为 flex） */
.img-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
  align-items: start;
  margin-bottom: 12px;
  padding: 12px 14px 14px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
  /* 与主题面板「视频工作区衬底」滑块同一套变量，避免整块实底盖住外层 gen-bar 透明度 */
  background: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
  box-sizing: border-box;
}

/* 比例一行略紧凑，减少「挤满又留白不均」感 */
#panel-image #img-ratio-chips {
  gap: 5px 6px;
}

#panel-image #img-ratio-chips .chip {
  padding: 4px 9px;
  font-size: calc(11 * 1rem / 16);
}

/* 未选中 chip 与表单同一衬底（含「输出与选项」带内 chip） */
#panel-image .img-form-grid .chip:not(.active),
#panel-image .img-options-band-inner .chip:not(.active) {
  background: color-mix(in srgb, var(--vid-work-mix, var(--bg2)) calc(var(--vid-work-fill-pct, 0) * 0.72 * 1%), transparent);
}

.img-chip-group--compact {
  gap: 5px;
}

.img-chip-group--compact .chip {
  padding: 4px 10px;
  font-size: calc(11 * 1rem / 16);
}

/* 流式 / 水印 / 返回 / 5.0 项：一条带内对齐 */
.img-options-band .img-options-band-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
  background: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
  box-sizing: border-box;
}

.img-opt-group {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.img-opt-group--grow {
  flex: 1 1 160px;
  min-width: 0;
}

.img-opt-sublabel {
  font-size: calc(11 * 1rem / 16);
  font-weight: 600;
  color: var(--text3);
  flex-shrink: 0;
}

.img-adv-compact {
  margin-top: 0;
  font-size: calc(12 * 1rem / 16);
}

.img-adv-compact input[type='checkbox'] {
  width: 14px;
  height: 14px;
}

.img-form-grid .img-cell--span2 {
  grid-column: 1 / -1;
}

.img-form-grid .sp-label {
  margin-bottom: 4px;
}

.img-form-grid .tb-select {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

@media (max-width: 520px) {
  .img-form-grid {
    grid-template-columns: 1fr;
  }

  .img-form-grid .img-cell--span2 {
    grid-column: 1;
  }
}

.img-seq-area {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  min-width: 0;
}

/* 单张组图：不占位隐藏张数滑块（避免灰条占位） */
#img-seq-area.img-seq-area--single .img-seq-max {
  display: none;
}

.img-seq-max {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.img-seq-max-lbl,
.img-seq-max-unit {
  font-size: calc(12 * 1rem / 16);
  color: var(--text3);
}

.img-seq-max input[type='range'] {
  width: min(200px, 42vw);
  accent-color: var(--accent);
}

.img-range-val {
  font-size: calc(13 * 1rem / 16);
  font-weight: 600;
  color: var(--text2);
  min-width: 1.25em;
}

.img-row-muted {
  opacity: 0.5;
}

/* 图片参考：链接型缩略图（无预览图） */
#panel-image .ref-thumb.ref-thumb-url .ref-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--text2);
}

.img-form-grid .img-adv-label:not(.img-adv-compact) {
  margin-top: 4px;
}

.img-adv-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--text);
  font-weight: 500;
}

.img-adv-label input[type='checkbox'] {
  width: 15px;
  height: 15px;
  accent-color: var(--accent);
}

/* 图片结果：加载参数 / 重新生成 / 下载 同一行；多图多下载时可横向滑动 */
#panel-image .feed .result-card .rc-actions {
  flex-wrap: nowrap;
  align-items: center;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}
#panel-image .feed .result-card .rc-actions .btn {
  flex-shrink: 0;
}

/* 与视频区共用主题面板的「工作区衬底」变量（vid-work-*） */
[data-theme='light'] #panel-image .feed .result-card {
  background: color-mix(in srgb, var(--vid-work-mix, var(--bg2)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='light'] #panel-image .gen-bar {
  background: color-mix(in srgb, var(--vid-work-mix, var(--bg2)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='light'] #panel-image .gen-row {
  background: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='light'] #panel-image .asset-bar {
  background: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='light'] #panel-image .tb-select {
  background-color: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239898a8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}

[data-theme='light'] #panel-image .align-btn.align-card {
  background: color-mix(in srgb, var(--vid-work-mix, var(--bg2)) calc(var(--vid-work-fill-pct, 0) * 0.55 * 1%), transparent);
  box-shadow: none;
}

[data-theme='light'] #panel-image .align-btn.align-card:hover {
  background: color-mix(in srgb, var(--bg4) 42%, transparent);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

[data-theme='light'] #panel-image .align-btn.align-card.active {
  background: var(--accent-bg);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);
}

[data-theme='dark'] #panel-image .feed .result-card {
  background: color-mix(in srgb, var(--vid-work-mix, var(--bg2)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='dark'] #panel-image .gen-bar {
  background: color-mix(in srgb, var(--vid-work-mix, var(--bg2)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='dark'] #panel-image .gen-row {
  background: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='dark'] #panel-image .asset-bar {
  background: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
}

[data-theme='dark'] #panel-image .tb-select {
  background-color: color-mix(in srgb, var(--vid-work-mix-dim, var(--bg3)) calc(var(--vid-work-fill-pct, 0) * 1%), transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239898a8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}

[data-theme='dark'] #panel-image .align-btn.align-card {
  background: color-mix(in srgb, var(--vid-work-mix, var(--bg2)) calc(var(--vid-work-fill-pct, 0) * 0.55 * 1%), transparent);
  box-shadow: none;
}

[data-theme='dark'] #panel-image .align-btn.align-card:hover {
  background: color-mix(in srgb, var(--bg4) 42%, transparent);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme='dark'] #panel-image .align-btn.align-card.active {
  background: var(--accent-bg);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);
}

/* 图片创作结果：页内大图预览（高于 img4vid 925） */
body.img-preview-lightbox-open {
  overflow: hidden;
}

.img-preview-lightbox {
  position: fixed;
  inset: 0;
  z-index: 940;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 48px 16px 16px;
  box-sizing: border-box;
}

.img-preview-lightbox-dim {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, #0a0c10 78%, transparent);
  backdrop-filter: blur(10px) saturate(1.05);
  -webkit-backdrop-filter: blur(10px) saturate(1.05);
  cursor: zoom-out;
}

.img-preview-lightbox-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  cursor: pointer;
}

.img-preview-lightbox-stage {
  position: relative;
  z-index: 2;
  max-width: min(96vw, 1600px);
  max-height: calc(100vh - 96px);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.img-preview-lightbox-img {
  max-width: 100%;
  max-height: calc(100vh - 96px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--radius, 10px);
  box-shadow: 0 20px 60px color-mix(in srgb, #000 55%, transparent), 0 0 0 1px color-mix(in srgb, var(--border, #2a2f3a) 40%, transparent);
  pointer-events: auto;
}

/* 工作区：可用模型一览（低于大图预览 940） */
.ws-models-notice {
  position: fixed;
  inset: 0;
  z-index: 928;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  box-sizing: border-box;
}

.ws-models-notice-dim {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, #0a0c10 55%, transparent);
}

.ws-models-notice-panel {
  position: relative;
  z-index: 1;
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  padding: 20px 22px 18px;
  border-radius: var(--radius-lg, 14px);
  border: 1px solid var(--border);
  background: var(--bg2);
  box-shadow: 0 20px 50px color-mix(in srgb, #000 45%, transparent);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.ws-models-notice-title {
  margin: 0 0 10px;
  font-size: calc(16 * 1rem / 16);
  font-weight: 700;
  color: var(--text);
  flex-shrink: 0;
}

.ws-models-notice-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  margin-bottom: 12px;
  padding-right: 4px;
}

.ws-models-notice-lead {
  margin: 0 0 12px;
  font-size: calc(13 * 1rem / 16);
  line-height: 1.55;
  color: var(--text2);
}

.ws-models-notice-section {
  margin-bottom: 14px;
}

.ws-models-notice-section:last-of-type {
  margin-bottom: 0;
}

.ws-models-notice-h4 {
  font-size: calc(13 * 1rem / 16);
  font-weight: 700;
  color: var(--text);
  margin: 0 0 6px;
}

.ws-models-notice-ul {
  margin: 0;
  padding-left: 1.25em;
  font-size: calc(14 * 1rem / 16);
  line-height: 1.6;
  color: var(--text2);
}

.ws-models-notice-ul li {
  margin: 2px 0;
}

.ws-models-notice-empty {
  margin: 0;
  font-size: calc(12 * 1rem / 16);
  color: var(--text3);
  line-height: 1.5;
}

.ws-models-notice-nomore-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: calc(13 * 1rem / 16);
  color: var(--text2);
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}

.ws-models-notice-nomore-wrap input {
  width: 15px;
  height: 15px;
  accent-color: var(--accent);
  cursor: pointer;
}

.ws-models-notice-panel > .btn.btn-primary {
  flex-shrink: 0;
  align-self: flex-start;
}
