:root {
  --primary-500: #3b82f6;
  --primary-dark: #1d40ae;
  --primary-light: #e4eaff;
  --primary-lighter: oklch(97% 0.014 254.604);
  --primary-extralight: #3b82f608;

  --secondary-500: #10b981;
  --secondary-light: #10b9810a;

  --tertiary-500: #f59e0b;
  --tertiary-light: #f59e0b0a;

  --gray-base: #919eab;
  --gray-light: #919eab3d;
  --gray-extralight: #fdfdfd;

  --alert-base: #f03535;
  --alert-light: #f035351a;
  --alert-extralight: #f035350a;

  --warning-base: #ff9500;
  --warning-light: #f59e0b0d;

  --success-base: #10b981;
  --success-light: #10b98145;

  --cx-rounded-small: 4px;
  --cx-rounded-medium: 8px;
  --cx-rounded-large: 16px;
  --cx-rounded-full: 99999999px;

  .primary-font-base {
    font-family: "Poppins", sans-serif;
    font-style: normal;
  }

  .secondary-font-base {
    font-family: "IBM Plex Mono", monospace;
    font-style: normal;
  }

  [x-cloak] {
    display: none;
  }
}

/* A reusable class for pulsing when HTMX is loading */
@keyframes pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.htmx-pulse.htmx-request {
  animation: pulse 2s infinite;
  cursor: wait;
}
