Robert Birming

Guestbook styles

These styles make the guestbook by Meadow blend in nicely with your blog. The guestbook is an external service, but with a little CSS it can look like it has always belonged.1

See my guestbook for a live demo.

How to use

First, create a guestbook on guestbooks.meadow.cafe and add it to a page on your Bear blog using their embed code. Once it's showing up on your page, paste the styles below into your theme CSS.

Styles

/* Guestbook (guestbooks.meadow.cafe) | robertbirming.com */
#guestbooks___guestbook-form-container {
  margin-block: var(--space-block);
}

#guestbooks___guestbook-form-container form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin: 0;
}

#guestbooks___guestbook-form-container .guestbooks___input-container {
  margin: 0;
}

#guestbooks___guestbook-form-container :is(input, textarea, select, button) {
  appearance: none;
  font: inherit;
  letter-spacing: inherit;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

#guestbooks___guestbook-form-container :is(input, textarea, select) {
  display: block;
  width: 100%;
  padding-block: 0.5em;
  padding-inline: 0.7em;
}

#guestbooks___guestbook-form-container textarea {
  min-height: 7.5em;
  resize: vertical;
}

#guestbooks___guestbook-form-container label {
  font-size: var(--font-small);
}

#guestbooks___challenge-answer-container:empty {
  display: none;
}

#guestbooks___guestbook-form-container :is(input, textarea, select):focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--link) 45%, var(--surface));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--link) 18%, transparent);
}

#guestbooks___guestbook-form-container :is(button, input[type="submit"]) {
  align-self: flex-start;
  padding-block: 0.4em;
  padding-inline: 0.9em;
  cursor: pointer;
}

#guestbooks___guestbook-form-container :is(button, input[type="submit"]):disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

@media (hover: hover) {
  #guestbooks___guestbook-form-container :is(button, input[type="submit"]):not(:disabled):hover {
    background: color-mix(in srgb, var(--link) 10%, var(--surface));
    border-color: color-mix(in srgb, var(--link) 30%, var(--border));
  }
}

#guestbooks___guestbook-messages-header {
  display: flex;
  align-items: center;
  gap: 0.4em;
  margin-block: var(--space-block) 1rem;
}

#guestbooks___guestbook-messages-header::before {
  content: "💬";
  translate: 0 1px;
}

#guestbooks___guestbook-messages-container > div {
  margin-block: 1.2rem;
  padding-block: 1rem;
  padding-inline: 1.2rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

#guestbooks___guestbook-messages-container :is(blockquote, p) {
  margin: 0.35em 0 0;
  padding: 0;
  border: 0;
  background: none;
  font-style: normal;
  color: inherit;
}

#guestbooks___guestbook-messages-container time {
  font-size: var(--font-small);
  letter-spacing: -0.01em;
  color: var(--muted);
  white-space: nowrap;
}

#guestbooks___guestbook-messages-container a {
  color: var(--link);
}

#guestbooks___guestbook-messages-container a:visited {
  color: var(--visited);
}

#guestbooks___guestbook-messages-container .guestbook-message-reply {
  position: relative;
  margin-block: 0.9rem 0.2rem;
  margin-inline-start: 1.6rem;
  padding-block: 0.9rem;
  padding-inline: 1.1rem;
  background: color-mix(in srgb, var(--link) 10%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--link) 22%, var(--border));
  border-radius: var(--radius);
}

#guestbooks___guestbook-messages-container .guestbook-message-reply::before {
  content: "";
  position: absolute;
  inset-block-start: -1rem;
  inset-inline-start: -0.9rem;
  width: 0.7rem;
  height: 1.6rem;
  border-inline-start: 2px solid var(--border);
  border-block-end: 2px solid var(--border);
  border-end-start-radius: var(--radius);
  opacity: 0.8;
}

Want more? Check out the Bear library.

Happy guestbook chatting!

  1. This add-on is built for Bearming. Using a different theme? Add the Bearming tokens to make it work with your setup.