.connection-map{--map-cols:minmax(0,1fr) repeat(4,minmax(0,1fr));display:block;margin:0 0 3rem;font-family:var(--font-sans)}.connection-map ol{margin:0;padding:0;list-style:none}.connection-map-papers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:.5rem;border-bottom:1px solid var(--rule);font-size:var(--type-fine);font-weight:700}.connection-map-papers>li{padding-right:.5rem;text-align:center}.connection-map-row{display:grid;grid-gap:.35rem;gap:.35rem;padding:.9rem 0;border-bottom:1px solid var(--rule)}.connection-map-row>a{display:grid;grid-gap:.15rem;gap:.15rem;min-height:44px;text-decoration:none}.connection-map-kind{font-size:var(--type-micro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.connection-map-what{font-size:var(--type-fine);line-height:1.35}.connection-map-joins{color:var(--muted)}:root .connection-map-row>a:hover .connection-map-what{color:var(--accent);-webkit-text-decoration:underline 2px;text-decoration:underline 2px}.connection-map-track{position:relative;display:block;height:1.5rem}.connection-map-line{position:absolute;top:50%;left:calc((var(--from) - .5) / 4 * 100%);right:calc((4.5 - var(--to)) / 4 * 100%);border-top:2px solid var(--ink);transform:translateY(-50%)}.connection-map-dot{position:absolute;top:50%;left:calc((var(--col) - .5) / 4 * 100%);width:.7rem;height:.7rem;border:2px solid var(--ink);border-radius:50%;background:var(--paper);transform:translate(-50%,-50%)}.connection-map-row[data-kind=borrows] .connection-map-line:after{content:"";position:absolute;right:.45rem;top:-.4rem;border-left:.6rem solid var(--ink);border-top:.35rem solid transparent;border-bottom:.35rem solid transparent}@media (forced-colors:active){.connection-map-row[data-kind=borrows] .connection-map-line:after{forced-color-adjust:none;border-left-color:CanvasText}}.connection-map-row[data-kind=same-number] .connection-map-line{border-top:3px dotted var(--ink)}.connection-map-row[data-kind=same-maths] .connection-map-line{border-top:2px dashed var(--ink)}.connection-map-row[data-kind=later] .connection-map-line{border-top:4px double var(--ink)}@media (min-width:900px){.connection-map-papers,.connection-map-row{grid-template-columns:var(--map-cols);align-items:center}.connection-map-papers>li:first-child{grid-column:2}.connection-map-row>a{padding-right:1.5rem}.connection-map-track{grid-column:2/-1}}