.form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.shapeSelector {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.shapeLabel {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}

.shapeOptions {
  display: flex;
  gap: var(--space-2);
}

.shapeOption {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-elevated);
  cursor: pointer;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  transition: border-color var(--transition-fast),
    color var(--transition-fast),
    background-color var(--transition-fast);
}

.shapeOption:hover {
  border-color: var(--color-neutral-400);
  color: var(--color-text-primary);
}

.shapeOptionActive {
  border-color: var(--color-accent-500);
  color: var(--color-accent-700);
  background-color: var(--color-accent-50);
}

.shapeOptionActive:hover {
  border-color: var(--color-accent-500);
  color: var(--color-accent-700);
}

.row {
  display: flex;
  gap: var(--space-3);
}

.row > * {
  flex: 1;
}

.sectionTitle {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wide);
  margin-top: var(--space-2);
}

.customNote {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  padding: var(--space-3);
  background-color: var(--color-neutral-50);
  border-radius: var(--radius-md);
  border: 1px dashed var(--color-border);
}
