html, body { margin: 0; background: #1d2021; color: #ebdbb2; font-family: "Unifont", "DejaVu Sans Mono", monospace; font-size: 15px; }
a { color: #83a598; }
.wrap { max-width: 52rem; margin: 1.5rem auto; padding: 0 1rem; }
header { border-bottom: 3px solid #000; padding: 0.75rem 0; margin-bottom: 1rem; }
.brand { position: relative; display: inline-block; cursor: help; }
.brand:focus { outline: 1px dotted #ebdbb2; }
.brand-tip {
  display: none; position: absolute; left: 0; top: calc(100% + 0.35rem); z-index: 5;
  width: max-content; max-width: min(36rem, 90vw);
  background: #282828; color: #ebdbb2; box-shadow: 4px 4px 0 #000;
  padding: 0.5rem 0.7rem; font-size: 13px; font-weight: normal; white-space: normal;
}
.brand:hover .brand-tip, .brand:focus .brand-tip, .brand:focus-within .brand-tip { display: block; }
@media (max-width: 40rem) {
  .brand-tip { position: static; display: block; margin: 0.35rem 0 0.5rem; max-width: none; width: auto; }
}
nav a { margin-right: 0.75rem; }
.banner { background: #282828; box-shadow: inset 5px 5px 0 #000; padding: 0.6rem 0.8rem; margin: 0.75rem 0; white-space: pre-wrap; font-size: 13px; }
.flash { padding: 0.5rem 0.75rem; margin: 0.5rem 0; }
.err { background: #3c1f1f; }
.ok { background: #1f3c1f; }
form.stack label { display: block; margin: 0.6rem 0 0.15rem; }
form.stack input, form.stack select, form.stack textarea {
  width: 100%; box-sizing: border-box; background: #282828; color: #ebdbb2;
  border: none; box-shadow: inset 4px 4px 0 #000; padding: 0.4rem 0.6rem; font: inherit;
}
button, .btn {
  font: inherit; background: #282828; color: #ebdbb2; border: none;
  box-shadow: 3px 3px 0 #000; padding: 0.35rem 0.9rem; cursor: pointer; margin: 0.4rem 0.3rem 0 0;
}
button:hover { background: #3c3836; }
table { width: 100%; border-collapse: collapse; margin: 0.75rem 0; }
td, th { text-align: left; padding: 0.25rem 0.4rem; border-bottom: 1px solid #3c3836; vertical-align: top; }
.mono { font-size: 13px; word-break: break-all; }
.honesty li { margin: 0.4rem 0; }
footer { margin-top: 2rem; border-top: 3px solid #000; padding-top: 0.75rem; font-size: 13px; }
img.qr { image-rendering: pixelated; background: #fff; padding: 6px; }
img.captcha { width: 100%; max-width: 560px; height: auto; background: #fff; box-shadow: 4px 4px 0 #000; }
.captcha-box { margin: 0.75rem 0; }
fieldset { border: none; box-shadow: inset 4px 4px 0 #000; padding: 0.6rem 0.8rem; margin: 0.75rem 0; }
legend { padding: 0 0.4rem; }
