body {
  background-color: var(--background-site-body);
  color: var(--color-site-normal);
  font-family:
    'Public Sans Fallback', '-apple-system', 'BlinkMacSystemFont', 'Helvetica Neue', 'Segoe UI',
    'Arial', 'Roboto', 'Open Sans', 'Ubuntu', 'Cantarell', 'sans-serif', 'color-emoji';
}

.sans-serif-loaded body {
  font-family:
    'Public Sans Variable', 'Public Sans Fallback', '-apple-system', 'BlinkMacSystemFont',
    'Helvetica Neue', 'Segoe UI', 'Arial', 'Roboto', 'Open Sans', 'Ubuntu', 'Cantarell',
    'sans-serif', 'color-emoji';
}

.monospace-loaded code,
.monospace-loaded kbd,
.monospace-loaded samp,
.monospace-loaded pre {
  font-family:
    'JetBrains Mono Variable', 'Menlo', 'Monaco', 'Cascadia Mono', 'Segoe UI Mono', 'Roboto Mono',
    'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro', 'Fira Mono', 'Droid Sans Mono',
    'Courier New', 'monospace', 'color-emoji';
}

pre {
  display: flex;
}

p a,
.content li a {
  display: inline;
  margin-right: 0.375em;
  color: var(--color-site-emphasis);
  text-decoration: underline;
  text-decoration-thickness: 0.05em;
  text-underline-offset: 0.375em;
  transition: all;
  transition-duration: 100ms;
  transition-timing-function: ease-in-out;
}

p a::after {
  position: relative;
  top: 0.125em;
  right: -0.025em;
  display: inline-block;
  width: 0.375em;
  height: 0.375em;
  border-radius: 999px;
  margin-right: -0.375em;
  box-shadow: inset 0 0 0 1px var(--color-site-emphasis);
  content: '';
  transition: all;
  transition-duration: 100ms;
  transition-timing-function: ease-in-out;
  vertical-align: top;
}

p a:hover,
.content li a:hover {
  color: var(--color-site-stress);
  text-decoration: none;
}

p a:hover::after {
  box-shadow: inset 0 0 0 16px var(--color-site-stress);
}

code[data-theme*=' '],
code[data-theme*=' '] span {
  color: var(--shiki-light);
  background-color: var(--shiki-light-bg);
}

@media (prefers-color-scheme: dark) {
  code[data-theme*=' '],
  code[data-theme*=' '] span {
    color: var(--shiki-dark);
    background-color: var(--shiki-dark-bg);
  }
}

.sr-only {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  border-width: 0;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
