:root {
  --ink: #2c1f33;
  --paper: #f5eac2;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 1.5rem clamp(1rem, 5vw, 2.5rem);
  max-width: 42rem;
  font-family: "Gabarito", system-ui, sans-serif;
  line-height: 1.55;
  background: var(--ink);
  color: var(--paper);
}

a {
  color: var(--paper);
  font-weight: 600;
}

a:hover {
  opacity: 0.88;
}

a:focus-visible {
  outline: 2px solid var(--paper);
  outline-offset: 2px;
}

strong,
b,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 900;
}

.stuff {
  display: grid;
  gap: 1rem;
  margin: 2rem 0;
  padding: 1rem 0;
  border-top: 1px solid var(--paper);
  border-bottom: 1px solid var(--paper);
}

.stuff-item p:first-child {
  margin: 0 0 0.25rem;
}

.stuff-item p:last-child {
  margin: 0;
  opacity: 0.85;
  font-size: 0.95rem;
}

.colophon {
  margin: 1.5rem 0 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: rgb(245 234 194 / 58%);
}

.colophon-line {
  border: 0;
  border-top: 1px solid rgb(245 234 194 / 18%);
  margin: 0.65rem 0;
}

.colophon p {
  margin: 0.4rem 0;
}

.colophon a {
  font-weight: 500;
  color: rgb(245 234 194 / 72%);
}

.colophon a:hover {
  color: var(--paper);
  opacity: 1;
}

.webring ul {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
}

.webring li {
  margin: 0.5rem 0;
}

.webring-desc {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.9rem;
  opacity: 0.85;
}

.webring-error {
  color: var(--paper);
  opacity: 0.75;
}

#guestbook {
  margin-top: 2rem;
}

.giscus,
iframe.giscus-frame {
  width: 100%;
  border: 0;
}
