/* Prompt Composer V2 is independently reversible through the body feature flag. */
body.vix-prompt-composer-v2 {
  --vix-prompt-min-phone: 112px;
  --vix-prompt-max: min(40dvh, 320px);
  --vix-prompt-touch: 48px;
}

body.vix-prompt-composer-v2 .vix-prompt-composer {
  --vix-prompt-keyboard-inset: var(--vix-keyboard-inset, 0px);
  position: relative;
  container-type: inline-size;
}

body.vix-prompt-composer-v2 .vix-prompt-field {
  box-sizing: border-box;
  width: 100%;
  max-height: var(--vix-prompt-max);
  line-height: 1.45;
  overflow-y: hidden;
  scroll-padding-block: 12px;
}

body.vix-prompt-composer-v2 .vix-prompt-shared-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}

body.vix-prompt-composer-v2 .vix-prompt-expand,
body.vix-prompt-composer-v2 .vix-prompt-expanded-generate {
  min-width: var(--vix-prompt-touch);
  min-height: var(--vix-prompt-touch);
  border: 1px solid var(--border-color, rgba(255,255,255,.18));
  border-radius: 10px;
  background: var(--bg-tertiary, #20202a);
  color: var(--text-primary, #fff);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

body.vix-prompt-composer-v2 .vix-prompt-expand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
}

body.vix-prompt-composer-v2 .vix-prompt-expanded-generate {
  display: none;
  width: 100%;
  padding: 0 18px;
  background: linear-gradient(135deg, #eb2fbb, #149cff);
}

body.vix-prompt-composer-v2 .vix-prompt-error {
  margin-top: 6px;
  color: #ff7070;
  font-size: .82rem;
}

body.vix-prompt-composer-v2 .vix-prompt-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.vix-prompt-composer-v2 .vix-prompt-loading {
  opacity: .72;
  cursor: progress;
}

.vix-prompt-sheet-backdrop {
  display: none;
}

@container (max-width: 560px) {
  body.vix-prompt-composer-v2 .vix-prompt-shared-actions {
    flex-wrap: wrap;
  }
}

/* Phone prompt editors show four useful lines before scrolling. */
@media (max-width: 767px) {
  body.vix-prompt-composer-v2 .vix-prompt-field:is(textarea) {
    min-height: var(--vix-prompt-min-phone);
    max-height: var(--vix-prompt-max);
    font-size: max(16px, 1rem);
  }

  body.vix-prompt-composer-v2 :is(#imageCommandGenerate, #videoGenerateBtn, #inpaintGenerateBtn, #captionSendBtn) {
    min-height: var(--vix-prompt-touch);
  }

  body.vix-prompt-composer-v2.vix-prompt-sheet-open {
    overflow: hidden;
  }

  body.vix-prompt-composer-v2 .vix-prompt-composer.vix-prompt-expanded {
    position: fixed !important;
    inset: max(8px, env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-right, 0px))
      calc(max(8px, env(safe-area-inset-bottom, 0px)) + var(--vix-prompt-keyboard-inset))
      max(8px, env(safe-area-inset-left, 0px)) !important;
    z-index: calc(var(--vix-z-modal, 2000) + 2) !important;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    padding: 16px !important;
    overflow: auto !important;
    border: 1px solid rgba(235, 47, 187, .5) !important;
    border-radius: 18px !important;
    background: var(--bg-secondary, #12131a) !important;
    box-shadow: 0 24px 90px rgba(0, 0, 0, .72) !important;
  }

  body.vix-prompt-composer-v2 .vix-prompt-composer.vix-prompt-expanded .vix-prompt-field:is(textarea) {
    flex: 1 1 auto;
    min-height: 48dvh;
    max-height: none;
    resize: none;
  }

  body.vix-prompt-composer-v2 .vix-prompt-composer.vix-prompt-expanded .vix-prompt-expanded-generate {
    display: block;
    flex: 0 0 auto;
  }

  body.vix-prompt-composer-v2 .vix-prompt-composer.vix-prompt-expanded .image-command-prompt-tools {
    position: sticky;
    top: 0;
    z-index: 1;
  }

  body.vix-prompt-composer-v2 .vix-prompt-sheet-backdrop.visible {
    position: fixed;
    inset: 0;
    z-index: calc(var(--vix-z-modal, 2000) + 1);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, .72);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.vix-prompt-composer-v2 .vix-prompt-composer,
  body.vix-prompt-composer-v2 .vix-prompt-field {
    scroll-behavior: auto;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  body.vix-prompt-composer-v2 .vix-prompt-expand,
  body.vix-prompt-composer-v2 .vix-prompt-expanded-generate,
  body.vix-prompt-composer-v2 .vix-prompt-composer.vix-prompt-expanded {
    border: 1px solid CanvasText !important;
  }
}
