:root {
  --red: #e8612b;
  --orange: #ff8e51;
  --yellow: #f8c666;
  --mustard: #d6971e;
  --rust: #92543b;
  --earth: #825b61;
  --sand: #bcadaf;
  --blush: #f2cbd1;
  --pale: #ffe8dc;
  --vellum: #eeeae3;
  --ghost: #f7f5f1;
  --foam: #e9ebe2;
  --lichen: #d2d6c5;
  --moss: #3c402b;
  --slate: #3e3d3a;
  --stone: #343330;
  --dark-grey: #656461;
  --acid: #c4e456;
  --olive: #a4b55b;
  --green: #1fa647;
  --darkgreen: #2e321f;
  --deepgreen: #1f2310;
  --blue: #1f7fea;
  --purple: #925bff;
  --eggplant: #35313d;
  --moss-shadow: rgba(60, 64, 43, 0.2);
  --slate-sheer: rgba(62, 61, 58, 0.5);
  --ghost-sheer: rgba(247, 245, 241, 0.5);
  --elephant: #656461;
  --pewter: #c9c5bf;
  --shadow: rgba(0, 0, 0, 0.15);
  --scrim: rgba(255, 255, 255, 0.05);
  --sheer: rgba(194, 186, 196, 0.25);
  --soft: rgba(194, 186, 196, 0.7);
  --translucent: rgba(255, 255, 255, 0.5);
}

body {
  margin: 0px;
  font-variant-ligatures: common-ligatures;
  font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

::selection {
  color: var(--moss);
  background-color: var(--acid);
}

::-moz-color-swatch {
  border: none;
}

h2 {
  font-weight: 400;
}

p {
  font-size: 16px;
}

img {
  -moz-user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  user-select: none;
}

pre,
code {
  font-family: "IBM Plex Mono", "Courier New", monospace;
}

pre {
  box-sizing: border-box;
  margin: 0;
  border-radius: 6px;
  font-size: 13px;
  white-space: pre-wrap;
}

hr {
  display: block;
  height: 0px;
  border: 0;
  border-bottom: 1px solid var(--border-secondary);
  margin: 1em 0;
  padding: 0;
  margin: 8px 0;
}

input {
  font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

button {
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed !important;
}

button.main-button {
  height: 56px;
  padding: 0 32px 0 28px;
  background-color: white;
  border-radius: 8px;
  font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 30px;
  box-sizing: border-box;
  color: var(--moss);
  border: 1px solid var(--moss);
  box-shadow: 2px 2px 0 0 var(--moss-shadow);
  transform: translate(0, 0);
  transition: all 0.2s ease;
  cursor: pointer;
  -moz-user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  user-select: none;
  margin: 0 24px 24px 0;
}

button.main-button:active {
  transform: translate(2px, 2px);
  box-shadow: 0 0 0 0 var(--moss);
}

button.main-button svg {
  margin-right: 8px;
}

.button-container {
  display: flex;
  flex-wrap: wrap;
}

a.main-link {
  color: var(--moss);
}

.name {
  color: var(--foreground-secondary);
}

.badge.new {
  color: var(--mustard);
}

.badge.updated {
  color: var(--olive);
}

.badge {
  font-size: 24px;
  line-height: 0.5em;
}

.card {
  border-radius: 8px;
  border: 1px solid var(--border-card);
}

.primary {
  color: var(--foreground);
  background-color: var(--background);
}

.secondary {
  color: var(--foreground-card);
  background-color: var(--background-card);
}

@keyframes bounce {
  0%,
  30%,
  50%,
  100% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(-12px);
  }
  40% {
    transform: translateY(-7px);
  }
}

.bounce {
  animation: bounce 1s ease-out 1;
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }
  20% {
    transform: rotate(200deg);
  }
  80%,
  100% {
    transform: rotate(540deg);
  }
}

.spin {
  animation: spin 1000ms ease-out 1;
}
