.campaign-node-add-button.builder-node__add {
  position: absolute;
  top: calc(100% + var(--space-sm));
  bottom: auto;
  left: 50%;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: var(--space-zero);
  transform: translateX(-50%);
  border: var(--border-w) solid var(--border);
  border-radius: var(--radius-full);
  background: var(--surface);
  box-shadow: none;
  cursor: pointer;
  transition:
    background-color 150ms ease,
    border-color 150ms ease,
    box-shadow 150ms ease;
}

.campaign-node-add-button.builder-node__add:hover {
  border-color: var(--border-brand-hover);
  background: var(--surface-hover);
  box-shadow: var(--shadow-sm);
}

.campaign-node-add-button.builder-node__add:active {
  border-color: var(--border-brand-selected);
  background: var(--surface-pressed);
  box-shadow: none;
}

.campaign-node-add-button.builder-node__add[data-state="open"] {
  border-color: var(--border-brand-selected);
  background: var(--brand-surface-selected);
  box-shadow: var(--shadow-sm);
}

.campaign-node-add-button.builder-node__add[data-state="open"]:hover {
  background: var(--brand-surface-pressed);
}

.campaign-node-add-button.builder-node__add:focus-visible {
  outline: 0;
  border-color: var(--border-brand);
  box-shadow: var(--ring-brand);
}

.campaign-node-add-button__icon {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  overflow: hidden;
}

.campaign-node-add-button__icon img {
  display: block;
  width: 10.8333px;
  height: 10.8333px;
}

@media (prefers-reduced-motion: reduce) {
  .campaign-node-add-button.builder-node__add {
    transition: none;
  }
}
