Oikaze can be used to generate CSS utility classes.

@use 'sass:map';
@use 'sass:string';

@use 'tokens' as tokens;

@each $token in tokens.all('color') {
  $var: tokens.prop($token);
  $value: tokens.get($token);

  // remove the leading '--color-' from the variable name
  $var: string.slice($var, 8);

  .c#{$var} {
    color: tokens.get($token);
  }

  .bg#{$var} {
    background-color: tokens.get($token);
  }
}

@each $token in tokens.all('$size') {
  $var: tokens.prop($token);
  $value: tokens.rem($token);

  // remove the leading '--size-' from the variable name
  $var: string.slice($var, 7);

  .p#{$var} {
    padding: $value;
  }

  .m#{$var} {
    margin: $value;
  }
}
.c-primary-200 {
  color: var(--color-primary-200, #aed051);
}

.bg-primary-200 {
  background-color: var(--color-primary-200, #aed051);
}

.c-primary-300 {
  color: var(--color-primary-300, #c3dd7b);
}

.bg-primary-300 {
  background-color: var(--color-primary-300, #c3dd7b);
}

.c-primary-400 {
  color: var(--color-primary-400, #d7e9a6);
}

.bg-primary-400 {
  background-color: var(--color-primary-400, #d7e9a6);
}

.c-primary-600 {
  color: var(--color-primary-600, #75912b);
}

.bg-primary-600 {
  background-color: var(--color-primary-600, #75912b);
}

.c-primary-500 {
  color: var(--color-primary-500, #93b733);
}

.bg-primary-500 {
  background-color: var(--color-primary-500, #93b733);
}

.c-primary-700 {
  color: var(--color-primary-700, #576b21);
}

.bg-primary-700 {
  background-color: var(--color-primary-700, #576b21);
}

.c-primary-800 {
  color: var(--color-primary-800, #3a4717);
}

.bg-primary-800 {
  background-color: var(--color-primary-800, #3a4717);
}

.c-neutral-600 {
  color: var(--color-neutral-600, #ffffff);
}

.bg-neutral-600 {
  background-color: var(--color-neutral-600, #ffffff);
}

.c-neutral-500 {
  color: var(--color-neutral-500, #ffffff);
}

.bg-neutral-500 {
  background-color: var(--color-neutral-500, #ffffff);
}

.c-neutral-400 {
  color: var(--color-neutral-400, #ffffff);
}

.bg-neutral-400 {
  background-color: var(--color-neutral-400, #ffffff);
}

.c-neutral-300 {
  color: var(--color-neutral-300, #fefefe);
}

.bg-neutral-300 {
  background-color: var(--color-neutral-300, #fefefe);
}

.c-neutral-200 {
  color: var(--color-neutral-200, #fefefe);
}

.bg-neutral-200 {
  background-color: var(--color-neutral-200, #fefefe);
}

.c-neutral-100 {
  color: var(--color-neutral-100, #fefefe);
}

.bg-neutral-100 {
  background-color: var(--color-neutral-100, #fefefe);
}

.c-neutral-800 {
  color: var(--color-neutral-800, #7f7f7f);
}

.bg-neutral-800 {
  background-color: var(--color-neutral-800, #7f7f7f);
}

.c-neutral-900 {
  color: var(--color-neutral-900, #000000);
}

.bg-neutral-900 {
  background-color: var(--color-neutral-900, #000000);
}

.c-primary {
  color: var(--color-primary, #93b733);
}

.bg-primary {
  background-color: var(--color-primary, #93b733);
}

.c-neutral {
  color: var(--color-neutral, #fefefe);
}

.bg-neutral {
  background-color: var(--color-neutral, #fefefe);
}

.p-none {
  padding: 0rem;
}

.m-none {
  margin: 0rem;
}

.p-xx-small {
  padding: 0.125rem;
}

.m-xx-small {
  margin: 0.125rem;
}

.p-x-small {
  padding: 0.25rem;
}

.m-x-small {
  margin: 0.25rem;
}

.p-small {
  padding: 0.5rem;
}

.m-small {
  margin: 0.5rem;
}

.p-regular {
  padding: 1rem;
}

.m-regular {
  margin: 1rem;
}

.p-large {
  padding: 2rem;
}

.m-large {
  margin: 2rem;
}

.p-x-large {
  padding: 4rem;
}

.m-x-large {
  margin: 4rem;
}

.p-xx-large {
  padding: 8rem;
}

.m-xx-large {
  margin: 8rem;
}