/* PCIe guide hub: the routes in, and the N100's tree as a diagram (box and wire styles come from iommu/viommu.css). */
.pcie-hub .pcie-topo { max-width: 800px; margin-block: 8px; }  /* the hub leads with it, at its smallest readable size */
.pcie-topo svg { min-width: 800px; }  /* with 15px labels: none under 12px on a phone, which scrolls it sideways */
.pcie-hub .caption code { white-space: nowrap; }
.pcie-topo .viommu-small { font-size: 15px; }
.pcie-topo-link, .pcie-topo-link:hover { cursor: pointer; text-decoration: none; }
.pcie-topo .pcie-topo-go { fill: var(--accent); font-size: 15px; font-weight: 600; text-decoration: underline; }
.pcie-topo-link:is(:hover, :focus-visible) rect { stroke: var(--accent); stroke-width: 3; }
.pcie-topo-link:focus-visible { outline: none; }
.pt-facts { font-size: .9rem; color: var(--muted); max-width: 80ch; }
.pcie-hub h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
.pcie-hub h2 { font-size: clamp(1.4rem, 2.5vw, 1.75rem); margin-top: 40px; }
.pcie-hub > p:not(.eyebrow, .note-deck, .caption) { max-width: 68ch; }
.pcie-go { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 20px; border-radius: 8px; background: var(--accent); color: var(--bg); font-weight: 700; text-decoration: none; }
.pcie-go:is(:hover, :focus-visible) { text-decoration: underline; }
.pcie-meta, .pt-chapters span, .pt-route span { color: var(--muted); font-size: .875rem; }
.pcie-meta { white-space: nowrap; }  /* wraps whole, under the button, on a phone */
.pt-route, .pt-chapters { padding-left: 1.5rem; }
.pt-route li, .pt-chapters li { padding-block: 6px; }
.pt-route a, .pt-chapters a, .pt-topics a { display: inline-block; padding-block: 8px; }  /* underline: notes.css */
.pt-route span { display: block; }
.pcie-topo .viommu-arrows path { marker-end: none; }
/* Dashes in pathLength="1" units (each wire is 1 long): four per wire. :not() outranks viommu.css's dashed wire. */
.pcie-topo .viommu-arrows path:not(.is-lit) { stroke: var(--line); stroke-width: 2; stroke-dasharray: .125; }
.pcie-topo .viommu-arrows path.is-lit { stroke: var(--accent); stroke-width: 3; stroke-dasharray: 1; filter: drop-shadow(0 0 3px var(--accent)); }
@media (forced-colors: active) { .pcie-topo .viommu-arrows path.is-lit { filter: none; } }
