
/* oMATIC Minds v0.6.8.60 Image Studio Dictate UI containment.
   When Image Studio is in Dictate mode, the Dictate UI becomes the whole composer row:
   [cancel] [wave/status] [accept]. Normal image prompt controls are hidden until Dictate exits. */

body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target {
  min-width: 0 !important;
  overflow: visible !important;
}

/* Hidden always wins. */
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target .om-image-dictate-panel[hidden],
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target .om-image-dictate-action[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Active Dictate mode: replace normal composer controls with X / waveform / check. */
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 46px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Hide the normal Image Studio controls only while actively dictating. */
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-chat-composer-plus,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating textarea[name="prompt"],
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-image-model-select-wrap,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-image-advanced-prompt-trigger,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-chat-composer-mic,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-chat-send-button,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-chat-composer-plus,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] textarea[name="prompt"],
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-image-model-select-wrap,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-image-advanced-prompt-trigger,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-chat-composer-mic,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-chat-send-button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Cancel and accept are the fixed outer controls. */
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-image-dictate-action:not([hidden]),
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-image-dictate-action:not([hidden]) {
  position: static !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.96) !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  z-index: 4 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  transform: none !important;
}

body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-chat-dictate-cancel:not([hidden]),
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-chat-dictate-cancel:not([hidden]) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-chat-dictate-accept:not([hidden]),
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-chat-dictate-accept:not([hidden]) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

/* Wave/status is contained between X and check. */
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-image-dictate-panel:not([hidden]),
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-image-dictate-panel:not([hidden]) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(8,9,13,.72) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-chat-dictate-wave,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-chat-dictate-wave {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 34px !important;
  max-height: 34px !important;
  overflow: hidden !important;
  opacity: .9 !important;
}

body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating .om-chat-dictate-wave span,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] .om-chat-dictate-wave span {
  width: 3px !important;
  max-width: 3px !important;
  min-width: 3px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.82) !important;
}

/* Error/transcribing states stay contained in the same middle pill. */
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictate-error="1"] .om-image-dictate-panel::after,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictate-busy="1"] .om-image-dictate-panel::after {
  content: attr(data-status) !important;
  display: block !important;
  max-width: 100% !important;
  color: rgba(255,255,255,.94) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictate-error="1"] .om-chat-dictate-wave,
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictate-busy="1"] .om-chat-dictate-wave {
  display: none !important;
}

/* During transcription, keep controls visible but disabled-looking. */
body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictate-busy="1"] .om-image-dictate-action:not([hidden]) {
  opacity: .45 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
}

/* Mobile: Dictate mic remains hidden by mobile composer rules, so do not change mobile layout here. */
@media (max-width: 640px) {
  body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target.is-dictating,
  body.om-image-studio-route #om-image-studio-generate-form.om-image-studio-dictate-target[data-om-dictating="1"] {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
  }
}
