/* The utility classes used by the two .crepus pages, served without a JS compiler.
   Keep layout, zinc colors, and hover styles aligned with the existing templates. */
*,
::before,
::after {
  box-sizing: border-box;
}
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  font-family: "Chivo Mono", ui-monospace, monospace;
}
h1,
h2,
p {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  text-decoration: inherit;
  overflow-wrap: anywhere;
}
a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
.min-h-screen {
  min-height: 100vh;
}
.max-w-2xl {
  max-width: 42rem;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.flex-col {
  flex-direction: column;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-8 {
  gap: 2rem;
}
.p-6 {
  padding: 1.5rem;
}
.ml-4 {
  margin-left: 1rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-12 {
  margin-top: 3rem;
}
.bg-zinc-950 {
  background-color: #09090b;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-relaxed {
  line-height: 1.625;
}
.text-zinc-100 {
  color: #f4f4f5;
}
.text-zinc-300 {
  color: #d4d4d8;
}
.text-zinc-400 {
  color: #a1a1aa;
}
.text-zinc-500 {
  color: #71717a;
}
.text-zinc-600 {
  color: #52525b;
}
.no-underline {
  text-decoration-line: none;
}
.decoration-zinc-700 {
  text-decoration-color: #3f3f46;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.transition-all {
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.transition-colors {
  transition-property:
    color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.duration-200 {
  transition-duration: 200ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.visited\:text-zinc-300:visited {
  color: #d4d4d8;
}
.visited\:text-zinc-400:visited {
  color: #a1a1aa;
}
.hover\:text-zinc-100:hover {
  color: #f4f4f5;
}
.group:hover .group-hover\:text-white {
  color: #fff;
}
.group:hover .group-hover\:text-zinc-400 {
  color: #a1a1aa;
}
@media (min-width: 640px) {
  .sm\:p-12 {
    padding: 3rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .transition-all,
  .transition-colors {
    transition: none;
  }
}
