:root {
  --salmon-navy: #17354d;
  --salmon-teal: #0d7377;
  --salmon-coral: #d94f4f;
  --salmon-ink: #1f2933;
  --salmon-muted: #5c6873;
  --salmon-border: #d8dee4;
  --salmon-surface: #f6f8fa;
}

body {
  color: var(--salmon-ink);
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
.navbar-brand,
.sidebar-title {
  letter-spacing: 0;
}

h1 {
  color: var(--salmon-navy);
  font-weight: 700;
}

h2 {
  border-bottom: 1px solid var(--salmon-border);
  color: var(--salmon-navy);
  padding-bottom: 0.35rem;
}

a {
  color: var(--salmon-teal);
}

a:hover,
a:focus {
  color: #07565a;
}

.navbar {
  border-bottom: 3px solid var(--salmon-coral);
}

.navbar-brand {
  font-weight: 700;
}

.sidebar nav[role="doc-toc"] ul > li > a.active,
.sidebar-navigation .sidebar-item a.active {
  color: var(--salmon-teal);
  font-weight: 600;
}

.quarto-title .subtitle {
  color: var(--salmon-muted);
  font-size: 1.2rem;
  line-height: 1.5;
  max-width: 48rem;
}

code {
  color: #9c2f3b;
}

pre,
.sourceCode {
  border-radius: 6px;
}

table {
  border: 1px solid var(--salmon-border);
}

thead {
  background: var(--salmon-surface);
}

.callout {
  border-radius: 6px;
}

.callout.callout-style-default .callout-header {
  font-weight: 600;
}

.mermaid-js {
  margin: 1.5rem auto;
  max-width: 980px;
}

.page-footer {
  border-top: 1px solid var(--salmon-border);
  color: var(--salmon-muted);
}

@media (max-width: 768px) {
  .quarto-title .subtitle {
    font-size: 1.05rem;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}
