/* Selection-only desktop input. Existing mobile composer stays unchanged. */
.selection-prompt[hidden], body.is-mobile .selection-prompt { display: none !important; }
.selection-prompt {
  position: absolute; left: 50%; bottom: 104px; transform: translateX(-50%);
  z-index: 8; width: min(780px, calc(100% - 32px)); box-sizing: border-box;  /* [2026-09-15] 모델 칩 윗줄 배치로 660→780 (입력창 폭 확보) */
  padding: 10px 12px 8px; border: 1px solid #454148; border-radius: 14px;
  background: rgba(27, 28, 33, .97); color: #e4e4e9;
  box-shadow: 0 8px 28px #0007; backdrop-filter: blur(12px);
  font-size: 12px; line-height: 1.4;
}
.selection-prompt .sp-row { display: flex; align-items: center; gap: 9px; }
.selection-prompt .sp-region-label { flex: 0 0 76px; min-width: 0; }
.selection-prompt select {
  width: 100%; height: 38px; padding: 0 4px 0 8px; color: #ffd75b;
  border: 1px solid #49422f; border-radius: 8px; background: #25241f; font: inherit;
}
.selection-prompt .sp-input-label { flex: 1 1 auto; min-width: 0; }
.selection-prompt textarea {
  display: block; width: 100%; min-height: 40px; max-height: 96px; box-sizing: border-box;
  resize: none; overflow-y: auto; margin: 0; padding: 9px 10px; line-height: 20px;
  border: 1px solid #40424c; border-radius: 9px; background: #17181d; color: #f0f0f3;
  font: inherit; font-size: 13px; line-height: 20px; caret-color: #ffd75b;
}
.selection-prompt textarea::placeholder { color: #91939d; }
.selection-prompt :is(textarea, select, input, button):focus-visible { outline: 2px solid #ffd75b; outline-offset: 2px; }
.selection-prompt button { font: inherit; cursor: pointer; }
.selection-prompt .sp-send {
  flex: 0 0 auto; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 9px;
  background: #ffd75b; color: #211b0c; font-weight: 700; white-space: nowrap;
}
.selection-prompt .sp-send:hover:not(:disabled) { background: #ffe383; }
.selection-prompt button:disabled, .selection-prompt select:disabled { opacity: .5; cursor: default; }
.selection-prompt .sp-footer { display: flex; align-items: center; gap: 12px; margin-top: 7px; min-height: 23px; }
.selection-prompt .sp-strength { display: flex; align-items: center; gap: 7px; white-space: nowrap; color: #b6b7bf; font-size: 11px; }
.selection-prompt .sp-strength input { width: 104px; min-width: 42px; margin: 0; accent-color: #ffd75b; }
.selection-prompt output { min-width: 22px; text-align: right; font-variant-numeric: tabular-nums; color: #e0d4ab; }
.selection-prompt .sp-hint { flex: 1 1 auto; min-width: 0; color: #90929d; font-size: 10px; }
.selection-prompt .sp-row .sp-model { flex: 0 0 auto; margin: 0; }
.selection-prompt .sp-delete { margin-left: auto; padding: 3px 5px; border: 0; border-radius: 5px; background: transparent; color: #a5a6b0; white-space: nowrap; font-size: 11px; }
.selection-prompt .sp-delete:hover:not(:disabled) { color: #ffd75b; background: #ffd75b12; }
.selection-prompt.is-compact .sp-region-label { flex-basis: 67px; }
.selection-prompt.is-compact .sp-send { padding-inline: 8px; font-size: 11px; }
.selection-prompt.is-compact .sp-hint { display: none; }
.selection-prompt.is-compact .sp-model .model-opt-cost { display: none; }
.selection-prompt .sp-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.selection-prompt-open:not(.is-mobile) #toast {
  bottom: var(--sp-toast-bottom) !important; left: var(--sp-toast-left) !important;
  max-width: var(--sp-toast-width);
}
/* Keep the original controls as the single source of truth and safe fallback.
   Only a fully initialized desktop composer enables the compact sidebar. */
body.has-selection-prompt:not(.is-mobile) #memoList .memo > textarea,
body.has-selection-prompt:not(.is-mobile) #memoList .memo > .memo-foot { display: none; }
body.has-selection-prompt:not(.is-mobile) #memoList .memo { padding: 10px 12px; cursor: pointer; }
body.has-selection-prompt:not(.is-mobile) #memoList .memo-head { margin-bottom: 0; pointer-events: none; }
body.has-selection-prompt:not(.is-mobile) #memoList .memo-del { pointer-events: auto; }
body.has-selection-prompt:not(.is-mobile) #memoList .memo-head > :not(.memo-del) { pointer-events: none; }
body.has-selection-prompt:not(.is-mobile) #memoList .sp-preview { display: block; margin-top: 6px; color: #babac5; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
