/* Reading version: long-form layout, static SVG diagrams, print styles */
.read main { max-width: 860px; }
.byline-head { font-size: .85rem; opacity: .85; }
nav.toc { position: static; display: block; overflow: visible; border-bottom: 0; z-index: auto; }
.toc ol { columns: 2; column-gap: 2rem; padding-left: 1.2rem; margin: 0; }
.toc li { margin-bottom: .25rem; }
@media (max-width: 600px) { .toc ol { columns: 1; } }
figure { margin: 1rem 0; }
figure svg { width: 100%; height: auto; display: block; }
figcaption { font-size: .85rem; color: var(--muted); margin-top: .4rem; }
svg .box { fill: #fff; stroke: #8d8d8d; stroke-width: 1.5; }
svg .box.hl, svg .db.hl { fill: #edf5ff; stroke: #0f62fe; }
svg .box.agent { fill: #f6f2ff; stroke: #8a3ffc; }
svg .box.ok { fill: #defbe6; stroke: #24a148; }
svg .box.warn { fill: #fcf4d6; stroke: #b28600; }
svg .box.bad { fill: #fff1f1; stroke: #da1e28; }
svg .group { fill: #f4f4f4; stroke: #c6c6c6; stroke-dasharray: 5 4; }
svg .db { fill: #f2f4f8; stroke: #8d8d8d; stroke-width: 1.5; }
svg .ln { stroke: #525252; stroke-width: 1.5; fill: none; }
svg .ln.dash { stroke-dasharray: 4 3; stroke: #8d8d8d; }
svg .gw { fill: #fff; stroke: #525252; stroke-width: 1.5; }
svg .ev { fill: #fff; stroke: #24a148; stroke-width: 2; }
svg .ev.end { stroke: #da1e28; stroke-width: 4; }
svg text { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; text-anchor: middle; fill: #161616; }
svg .t { font-size: 14px; font-weight: 600; }
svg .s { font-size: 11px; fill: #393939; }
svg .b { font-weight: 700; }
svg .tl circle { fill: #fff; stroke: #0f62fe; stroke-width: 2.5; }
svg .tl.hot circle { fill: #0f62fe; }
pre.log { white-space: pre-wrap; word-break: break-word; max-height: none; }
dl dt { font-weight: 600; margin-top: .5rem; }
dl dd { margin: 0 0 .3rem 0; color: var(--muted); }
#r-q li { margin-bottom: .6rem; }
#r-q ol { list-style: upper-alpha; margin: .3rem 0; }

@media print {
  @page { margin: 16mm; }
  body { background: #fff; font-size: 11pt; }
  header { background: none; color: #000; border-bottom: 2px solid #000; padding: 0 0 .5rem; }
  .no-print, footer a { display: none; }
  .card { box-shadow: none; border: none; padding: 0; margin: 0 0 1rem; break-inside: auto; }
  figure, table, pre { break-inside: avoid; }
  h2 { break-after: avoid; }
  .page-break { break-before: page; }
  .toc ol { columns: 2; }
  a { color: #000; text-decoration: none; }
  .sources a::after { content: " (" attr(href) ")"; font-size: 8pt; word-break: break-all; }
}

.ticks { list-style: none; padding-left: .2rem; }
.ticks li { margin: .35rem 0; }
nav.toc { background: var(--card); }
