.engine-form {
  border: 1px solid var(--bs-border-color, rgba(0,0,0,.125));
  border-radius: 1rem;
  background: var(--bs-body-bg, #fff);
  color: var(--bs-body-color, inherit);
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.05);
}

.engine-form__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem 1rem .5rem;
}

.engine-form__body {
  padding: 0 1rem 1rem;
}

.engine-form__status {
  font-size: .875rem;
  opacity: .85;
}

.engine-form__preset-meta {
  font-size: .8125rem;
  opacity: .75;
  margin-top: .25rem;
}

.engine-form__panel {
  border: 1px solid var(--bs-border-color, rgba(0,0,0,.125));
  border-radius: .875rem;
  padding: 1rem;
  background: color-mix(in srgb, var(--bs-body-bg, #fff) 92%, var(--bs-secondary-bg, #f8f9fa) 8%);
}

.engine-form__actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.engine-form--compact .engine-form__header {
  padding: .75rem .75rem .25rem;
}

.engine-form--compact .engine-form__body {
  padding: 0 .75rem .75rem;
}

.engine-form .form-label {
  font-weight: 600;
}

.engine-form .form-text {
  font-size: .8rem;
}

.engine-form__knob-host {
  --sandbox-knob-size: 2.65rem;
  --sandbox-knob-bg: color-mix(in srgb, var(--bs-body-bg, #fff) 76%, var(--bs-primary, #0d6efd) 7%);
  --sandbox-knob-border: color-mix(in srgb, var(--bs-border-color, rgba(0,0,0,.125)) 72%, var(--bs-primary, #0d6efd) 22%);
  --sandbox-knob-fg: var(--bs-emphasis-color, var(--bs-body-color, #212529));
  --sandbox-knob-accent: var(--bs-info, #0dcaf0);
  min-height: calc(var(--sandbox-knob-size) + 1.35rem);
}

[data-bs-theme="dark"] .engine-form {
  box-shadow: 0 .25rem .9rem rgba(0,0,0,.28);
}
