/* ============================================================
   composer-1to1-fix.css — 作曲器 1:1 参考站结构补齐
   仅叠加样式，不改动现有 .composer-box 既有视觉。
   ============================================================ */

/* 隐藏的 #promptInput textarea（.value 同步契约）：彻底不可见、不可聚焦 */
#promptInput[hidden] { display: none !important; }

/* ---- 1:1 输入区布局：.top-section 横向：左附件区 + 右输入区 ---- */
.cp-v2 .top-section {
  display: flex; align-items: flex-end; gap: 10px; width: 100%;
}
.cp-v2 .top-section .left-section { flex: 0 0 auto; display: flex; align-items: flex-end; }
.cp-v2 .top-section .fujian-caowei { display: flex; align-items: center; gap: 6px; }
.cp-v2 .top-section .input-section { flex: 1 1 auto; min-width: 0; }

/* 可见富文本输入区（contenteditable .rich-input），复刻原 textarea 观感 */
.cp-v2 .shurukuang-wrapper { position: relative; display: flex; align-items: flex-end; gap: 6px; }
.cp-v2 .rich-input-wrapper { flex: 1 1 auto; min-width: 0; }
.cp-v2 .rich-input {
  width: 100%; border: none; background: transparent; outline: none;
  color: #e8e8f0; font-size: 14px; line-height: 1.6; min-height: 52px; max-height: 320px;
  padding: 4px 28px 4px 0; overflow-y: auto; word-break: break-word; white-space: pre-wrap;
}
.cp-v2 .rich-input:empty::before,
.cp-v2 .rich-input.is-empty::before {
  content: attr(data-placeholder); color: #6a6a75; pointer-events: none;
}
/* 兜底：只要框里出现任何真实内容（含中文输入法组词中的合成文本节点），
   即使 is-empty 类名仍在（组词瞬间 JS 来不及移除），也必须立刻隐藏灰色占位符，
   对齐参考站纯 :empty 行为，杜绝“文字打在灰色占位后面/光标乱跳”。 */
.cp-v2 .rich-input.is-empty:not(:empty)::before,
.cp-v2 .rich-input:not(:empty)::before { content: none !important; }
html[data-theme="light"] .cp-v2 .rich-input { color: #1c2233; caret-color: #0e9ec0; }
html[data-theme="light"] .cp-v2 .rich-input:empty::before,
html[data-theme="light"] .cp-v2 .rich-input.is-empty::before { color: #a7aebd; }

/* 输入框右上资产钮（参考站 .shurukuang-asset-btn） */
.cp-v2 .shurukuang-asset-btn {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 8px;
  display: grid; place-items: center; cursor: pointer; align-self: flex-end;
  border: 1px solid #2c2c33; background: transparent; color: #8a8a95; transition: .15s;
}
.cp-v2 .shurukuang-asset-btn svg { width: 15px; height: 15px; }
.cp-v2 .shurukuang-asset-btn:hover { border-color: rgba(34,211,238,.5); color: #22d3ee; }

/* 左附件区：initial-upload（上传附件）+ asset-lib-btn（资产库） */
.cp-v2 .initial-upload, .cp-v2 .asset-lib-btn {
  width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center;
  cursor: pointer; border: 1px dashed #33333d; background: rgba(255,255,255,.02); color: #9a9aa6; transition: .15s;
}
.cp-v2 .initial-upload svg, .cp-v2 .asset-lib-btn svg { width: 16px; height: 16px; }
.cp-v2 .initial-upload:hover, .cp-v2 .asset-lib-btn:hover { border-color: rgba(34,211,238,.5); color: #22d3ee; }
.cp-v2 .initial-upload .iu-label { display: none; }

/* ---- 综合最优 pill 按参考站改深色（不再强化紫/蓝） ---- */
.cp-v2 .composer-params.bottom-section .param-chip[data-param="schedule"],
.cp-v2 .composer-params .param-chip.param-purple[data-param="schedule"] {
  background: #1b1b21 !important; border: 1px solid #2c2c33 !important; color: #c8c8d2 !important;
}
.cp-v2 .composer-params .param-chip[data-param="schedule"] .param-ico,
.cp-v2 .composer-params .param-chip[data-param="schedule"] .param-val { color: #c8c8d2 !important; }
.cp-v2 .composer-params .param-chip[data-param="schedule"]:hover { border-color: rgba(255,255,255,.25) !important; color: #fff !important; }

/* ---- 移动端 390px：右上角悬浮操作钮组收边，避免被裁切 ---- */
@media (max-width: 480px) {
  .tb-topright { right: 8px !important; left: auto !important; max-width: calc(100vw - 16px) !important; flex-wrap: wrap; justify-content: flex-end; gap: 6px !important; }
  .right-action-buttons-group { right: 8px !important; max-width: 60vw; flex-wrap: wrap; justify-content: flex-end; gap: 6px !important; }
  .ws-v2 .topbar-actions, .lh-actions { padding-right: 8px !important; }
}
