/* Editorial reading layout. mdBook still owns navigation, search and themes. */
.content { padding-top: 30px; }
.content main { line-height: 1.7; }
.content p, .content ul, .content ol { line-height: 1.7; }
.content main > p, .content main > ul, .content main > ol { max-width: 76ch; }
.content h1, .content h2 { font-family: var(--ls-serif); font-weight: 400; letter-spacing: -.025em; line-height: 1.1; }
.content main > h1 { font-size: clamp(4.2rem, 5vw, 6.4rem); margin: 2rem 0 3rem; }
.content main > h2 { font-size: 3.8rem; margin-top: 5rem; padding-top: 2.4rem; border-top: 1px solid var(--table-border-color); }
.content h3 { font-size: 2rem; margin-top: 3.2rem; }
.content h1, .content h2, .content h3 { overflow-wrap: anywhere; }
.content main img { border-radius: 0; }
.content a { text-underline-offset: .2em; }
.content main a:not(.header):not(.ls-doc-primary):not(.ls-doc-secondary):not(.ls-doc-path) { text-decoration: underline; }
.content :not(pre) > code {
  color: var(--inline-code-color); background: var(--quote-bg); padding: .1em .3em;
  white-space: normal; overflow-wrap: anywhere;
}
.content pre { border: 1px solid var(--table-border-color); border-radius: 0; }
.content pre > code.hljs { padding: 20px; background: var(--ls-code-bg, var(--quote-bg)); }
.content blockquote {
  margin: 2.4rem 0; padding: .4rem 2rem; border: 0; border-left: 3px solid var(--ls-green);
  border-radius: 0; max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere;
}
.content blockquote img { max-width: 100%; height: auto; }
.ayu .hljs { color: #f4f3eb; }
.ayu .hljs-comment { color: #b3c4b9; }
.light .hljs-comment { color: #546360; }
.light .hljs-string, .light .hljs-symbol, .light .hljs-bullet { color: #276c58; }
.light .hljs-variable, .light .hljs-template-variable, .light .hljs-attribute,
.light .hljs-attr, .light .hljs-tag, .light .hljs-name, .light .hljs-regexp,
.light .hljs-link, .light .hljs-selector-id, .light .hljs-selector-class { color: #96452d; }
/* Values stay intact. Descriptions wrap; a wide table scrolls in its wrapper. */
.content .table-wrapper { max-width: 100%; overflow-x: auto; margin: 2.4rem 0; }
.content table { display: table; width: 100%; table-layout: auto; margin: 0; }
.content table td, .content table th {
  padding: 1.2rem 1.4rem; line-height: 1.55; vertical-align: top;
  white-space: normal; overflow-wrap: normal; word-break: normal;
  border: 0; border-bottom: 1px solid var(--table-border-color);
}
.content table code, .content table .ls-value { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.content table th { text-align: left; font-size: .9em; }
.content table thead tr { border: 0; }
.content [tabindex='0']:focus-visible { outline-offset: -2px; }
.ls-doc-hero { padding: 2.8rem 0 3.6rem; border-top: 1px solid var(--table-border-color); border-bottom: 1px solid var(--table-border-color); margin-bottom: 3rem; }
.ls-eyebrow { font-family: var(--mono-font); font-size: 1.1rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ls-muted); }
.content .ls-doc-tagline { font-family: var(--ls-serif); font-size: clamp(3.8rem, 4.8vw, 5.6rem); letter-spacing: -.025em; line-height: 1.08; margin: 2.4rem 0; }
.ls-doc-tagline em { color: var(--ls-green); }
.ls-doc-hero > p:not(.ls-eyebrow):not(.ls-doc-tagline) { max-width: 60ch; }
.content a.ls-doc-primary, .content a.ls-doc-secondary {
  display: inline-flex; align-items: center; min-height: 48px; box-sizing: border-box;
  padding: 1rem 1.8rem; border: 1px solid var(--fg); font-weight: 700; font-size: 1.4rem;
  text-decoration: none; margin: 1rem 1rem 0 0;
}
.content a.ls-doc-primary { background: var(--ls-button-bg); color: var(--ls-button-fg); }
.content a.ls-doc-primary:hover { background: var(--ls-green); color: var(--bg); border-color: var(--ls-green); }
.content a.ls-doc-secondary { color: var(--fg); }
.content a.ls-doc-secondary:hover { background: var(--quote-bg); }
.ls-doc-paths { margin: 2rem 0 4rem; border-top: 1px solid var(--table-border-color); }
.content a.ls-doc-path {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: .8rem 2.4rem; padding: 2.4rem 0; border-bottom: 1px solid var(--table-border-color);
  text-decoration: none; color: var(--fg);
}
.content a.ls-doc-path:hover { background: var(--quote-bg); }
.ls-path-number { grid-row: 1 / 3; font-family: var(--mono-font); color: var(--ls-muted); font-size: 1.2rem; padding-top: .6rem; }
.ls-doc-path strong { grid-column: 2; font-family: var(--ls-serif); font-size: 2.8rem; font-weight: 400; line-height: 1.15; }
.ls-doc-path > span:not(.ls-path-link):not(.ls-path-number) { grid-column: 2; font-size: 1.4rem; line-height: 1.65; max-width: 58ch; }
.ls-path-link { grid-column: 3; grid-row: 1 / 3; align-self: center; color: var(--links); font-size: 1.2rem; font-weight: 700; text-decoration: underline; text-underline-offset: .25em; }
@media (max-width: 760px) {
  .content { padding: 20px 0 40px; }
  .content main > h1 { font-size: 4.2rem; margin: 2rem 0 2.4rem; }
  .content main > h2 { font-size: 3.2rem; margin-top: 3.6rem; }
  .content .ls-doc-tagline { font-size: 4.2rem; }
  .ls-doc-hero { padding: 2rem 0 2.8rem; }
  .content a.ls-doc-path { grid-template-columns: 24px minmax(0, 1fr); gap: .8rem 1.4rem; }
  .ls-path-link { grid-column: 2; grid-row: 3; padding-top: .6rem; }
  .content table { font-size: .9em; }
  .content table td, .content table th { padding: 1rem .8rem; }
  .content pre > code.hljs { padding: 14px; }
}
@media print {
  .content a.ls-doc-primary, .content a.ls-doc-secondary { color: black; background: white; }
  .ls-doc-hero, .content a.ls-doc-path { break-inside: avoid; }
  .content table { width: 100%; font-size: .8em; }
  .content pre > code.hljs { color: black; background: #f4f4f4; }
}
