/* Precept tokens from brand/DESIGN.md: parchment page, Admiralty navigation rail, ink type. */
@font-face { font-family: "PP Fragment Glare"; src: url("fonts/PPFragment-GlareRegular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "PP Radio Grotesk"; src: url("fonts/PPRadioGrotesk-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "PP Radio Grotesk"; src: url("fonts/PPRadioGrotesk-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Fragment Mono"; src: url("fonts/FragmentMono-Regular.woff2") format("woff2"); font-display: swap; }

:root {
  --bg: #f3efe6;
  --surface: #e8e1d3;
  --line: #cfc7b6;
  --ink: #141311;
  --ink-2: #5b574f;
  --admiralty: #0c1e40;
  --admiralty-tint: #1b4490;
}

html, body, .book, .book-body, .book .book-body, .book .book-body .body-inner, .book-header { background: var(--bg) !important; }
body, .book, .markdown-section { color: var(--ink) !important; font-family: "PP Radio Grotesk", system-ui, sans-serif !important; }

.book-summary { background: var(--admiralty) !important; border-right: 0 !important; }
.book-summary ul.summary { padding-top: 76px; position: relative; }
.book-summary ul.summary::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 22px;
  width: 30px;
  height: 30px;
  background: url("../assets/symbol-ivory.svg") left center / contain no-repeat;
}
.book-summary ul.summary li a, .book-summary ul.summary li span { color: #f3efe6 !important; background: transparent !important; font-size: 14px; }
.book-summary ul.summary li a:hover { text-decoration: underline !important; }
.book-summary ul.summary li.active > a { font-weight: 700; border-left: 2px solid #f3efe6; }
.book-summary ul.summary li.header { color: #f3efe6 !important; opacity: 0.72; text-transform: none !important; font-size: 13px; letter-spacing: 0; }
.book-summary ul.summary li.divider { background: #f3efe6 !important; opacity: 0.2; }
.book-summary ul.summary li a:focus-visible { outline: 2px solid #f3efe6; outline-offset: -2px; }
.gitbook-link { display: none !important; }

.markdown-section { max-width: 760px; line-height: 1.65; font-size: 16px; }
.page-inner { max-width: 840px !important; }
.markdown-section h1, .markdown-section h2, .markdown-section h3 { font-family: "PP Fragment Glare", Georgia, serif !important; font-weight: 400 !important; color: var(--ink) !important; border: 0 !important; }
.markdown-section h1 { font-size: 44px; line-height: 1.1; margin-bottom: 24px; }
.markdown-section h2 { font-size: 28px; line-height: 1.2; margin-top: 44px; }
.markdown-section h3 { font-size: 21px; }
.markdown-section a { color: var(--admiralty) !important; text-decoration: underline; text-underline-offset: 2px; }
.markdown-section a:hover { color: var(--admiralty-tint) !important; }
.markdown-section code, .markdown-section pre { font-family: "Fragment Mono", ui-monospace, monospace !important; background: var(--surface) !important; color: var(--ink) !important; }
.markdown-section code { font-size: 0.86em; overflow-wrap: anywhere; }
.markdown-section pre { border-radius: 2px; overflow-x: auto; }
.markdown-section pre code { overflow-wrap: normal; }
.markdown-section table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; }
.markdown-section table tr, .markdown-section table tr:nth-child(2n) { background: transparent !important; border-color: var(--line) !important; }
.markdown-section table th, .markdown-section table td { border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 10px 14px 10px 0 !important; text-align: left; vertical-align: top; }
.markdown-section table th { font-weight: 700; color: var(--ink-2); border-bottom-color: var(--ink) !important; }
.navigation { color: var(--ink-2) !important; }
.book-header h1 a, .book-header .btn { color: var(--ink-2) !important; font-family: "PP Radio Grotesk", system-ui, sans-serif !important; }

@media (max-width: 600px) {
  .markdown-section h1 { font-size: 34px; }
  .markdown-section h2 { font-size: 24px; }
}

/* Addresses stay on one line so they can be compared and copied; the table scrolls instead. */
.markdown-section table code { white-space: nowrap; overflow-wrap: normal; }
