/* Njósnir theme — near-black with weathered-silver accents, after njosnir.png */

:root {
  --njosnir-bg: #060608;
  --njosnir-bg-raised: #101014;
  --njosnir-border: #2a2a32;
  --njosnir-text: #c9cbd1;
  --njosnir-text-dim: #8a8d96;
  --njosnir-silver: #e4e6ea;
  --njosnir-steel: #9aa4b5;
  --bs-body-bg: var(--njosnir-bg);
  --bs-body-color: var(--njosnir-text);
  --bs-primary: var(--njosnir-steel);
  --bs-secondary: var(--njosnir-bg-raised);
  --bs-dark: #000000;
}

body {
  background-color: var(--njosnir-bg);
  color: var(--njosnir-text);
}

/* Navbar — pure black band with a thin silver rule, like the emblem ring */
.navbar {
  background-color: #000000 !important;
  border-bottom: 1px solid var(--njosnir-border) !important;
}

.navbar-dark .navbar-brand,
.navbar-dark .nav-link {
  color: var(--njosnir-silver) !important;
  letter-spacing: 0.04em;
}

.navbar-dark .nav-link:hover {
  color: var(--njosnir-steel) !important;
}

/* Headings — weathered silver, slightly spaced like an inscription */
h1, h2, h3, h4, h5, h6 {
  color: var(--njosnir-silver);
  letter-spacing: 0.02em;
}

h1.title, .quarto-title-banner h1 {
  color: var(--njosnir-silver);
}

/* Links — steel grey, brightening to silver */
a {
  color: var(--njosnir-steel);
  background-color: transparent !important;
  padding: 0;
  text-decoration: none;
}

a:hover {
  color: var(--njosnir-silver);
  text-decoration: underline;
}

/* Title banner */
.quarto-title-banner {
  background-color: #000000 !important;
  border-bottom: 1px solid var(--njosnir-border) !important;
  border-top: none !important;
}

/* Listing cards on the main page */
.card,
div.quarto-post {
  background-color: var(--njosnir-bg-raised);
  border: 1px solid var(--njosnir-border);
  border-radius: 4px;
  color: var(--njosnir-text);
}

div.quarto-post {
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

div.quarto-post .listing-title a,
.listing-title a {
  color: var(--njosnir-silver);
  background-color: transparent !important;
  padding: 0 !important;
  font-size: 1.2rem;
}

div.quarto-post .listing-title a:hover {
  color: var(--njosnir-steel);
}

div.quarto-post .listing-description,
div.quarto-post .listing-subtitle {
  color: var(--njosnir-text-dim);
}

div.quarto-post .listing-categories .listing-category {
  color: var(--njosnir-steel);
  border-color: var(--njosnir-border);
}

/* Code — silver on raised black */
code {
  background-color: var(--njosnir-bg-raised);
  color: var(--njosnir-steel);
}

pre {
  background-color: var(--njosnir-bg-raised);
  border: 1px solid var(--njosnir-border);
}

/* Tables */
.table, table {
  color: var(--njosnir-text);
}

/* Footer */
.nav-footer {
  background-color: #000000;
  border-top: 1px solid var(--njosnir-border);
  color: var(--njosnir-text-dim);
}

/* Emblem on the front page */
.njosnir-emblem {
  display: block;
  margin: 0 auto 1.5rem auto;
  max-width: 260px;
  width: 60%;
  border-radius: 50%;
}

/* Rune divider */
.rune-divider {
  text-align: center;
  color: var(--njosnir-text-dim);
  letter-spacing: 0.6em;
  margin: 2rem 0;
  user-select: none;
}

/* References / appendix — match body background */
#refs, .references, #quarto-appendix, .quarto-appendix-contents {
  background-color: transparent !important;
}
