:root {
  --raccoon-black: #1e1e1e;
  --raccoon-gray: #444444;
  --raccoon-light: #fdfdfd;
  --raccoon-steel: #6c757d;
  --raccoon-ash: #ced4da;
  --raccoon-ring1: #333333;
  --raccoon-ring2: #aaaaaa;
}

body {
  background-color: var(--raccoon-light);
  color: var(--raccoon-black);
  font-family: system-ui, sans-serif;
  line-height: 1.6;
  font-size: 16px;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5 {
  color: var(--raccoon-black);
  font-weight: 600;
}

a {
  color: var(--raccoon-steel);
  text-decoration: underline;
}

a:hover {
  color: var(--raccoon-black);
}

.navbar {
  background-color: var(--raccoon-black);
}

.navbar-brand {
  color: var(--raccoon-ash) !important;
}

.navbar-nav .nav-link {
  color: var(--raccoon-ash);
}

.navbar-nav .nav-link:hover,
.navbar-nav .active .nav-link {
  color: var(--raccoon-steel);
}

.navbar .btn-outline-light {
  border-color: var(--raccoon-ring2);
  color: var(--raccoon-ash);
  margin-left: 1em;
}

.navbar .btn-outline-light:hover {
  background-color: var(--raccoon-ring2);
  color: var(--raccoon-black);
}

article {
  background-color: white;
  border-left: 6px solid var(--raccoon-steel);
  padding: 1em;
  margin: 1.5em 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.date-and-tags,
.authors {
  font-style: italic;
  color: var(--raccoon-gray);
}

code {
  color: #000;
  background-color: #f0f0f0;
  padding: 0.15em 0.3em;
  border-radius: 4px;
}

pre {
  background-color: #f8f8f8;
  padding: 1em;
  overflow-x: auto;
  border-left: 4px solid var(--raccoon-steel);
  white-space: pre;
}

article img {
  max-width: 100%;
  height: auto;
  border: 1px solid var(--raccoon-ring2);
  border-radius: 4px;
}

footer {
  background-color: var(--raccoon-black);
  color: var(--raccoon-ash);
  padding: 1em;
  text-align: center;
  font-size: 0.9em;
  border-top: 6px solid var(--raccoon-steel);
}

article::before {
  content: '';
  display: block;
  height: 6px;
  background: repeating-linear-gradient(
    90deg,
    var(--raccoon-ring1),
    var(--raccoon-ring1) 16px,
    var(--raccoon-ring2) 16px,
    var(--raccoon-ring2) 32px
  );
  margin-bottom: 1em;
  border-radius: 3px;
}
