* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --color-text: #404040;
  --color-body: #525252;
  --color-muted: #666;
  --color-bg: #f5f2ed;
  --opacity-art: 0.18;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-text: #e8e6e1;
    --color-body: #c4c2bd;
    --color-muted: #9a9893;
    --color-bg: #252525;
    --opacity-art: 0.12;
  }
}

body {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);

  display: grid;
  place-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 4rem 1.5rem;
}

main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 36rem;
  margin: 0 auto;
}

h1 {
  position: relative;
  z-index: 1;

  font-size: 2rem;
  font-weight: normal;
}

p {
  color: var(--color-body);
}

.lead {
  position: relative;
}

.bg-art {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -100%);

  width: max-content;
  max-width: 100vw;
  overflow: hidden;

  font-family: ui-monospace, "Cascadia Code", "SF Mono", Menlo, monospace;
  font-size: 0.55rem;
  line-height: 1;
  color: var(--color-text);
  opacity: var(--opacity-art);

  pointer-events: none;
  user-select: none;
}

.links {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;

  font-size: 0.875rem;
  color: var(--color-muted);
}

.links a {
  color: inherit;
  text-decoration: none;
}
