.bk-topology{margin:45px 0 65px;padding:35px 0 0;border-block:1px dashed #bfbfbf;scroll-margin-top:85px}
.bk-topology>header{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.bk-topology>header h2{font-size:32px;margin:14px 0 20px;max-width:450px}.bk-topology>header>p{font-size:14px;color:#6f6f6f;line-height:1.9;margin:0}
.bk-map-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;border-bottom:1px solid #cfcfcf;padding:15px 0;font-size:11px;color:#7a7a7a}.bk-map-controls button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:11px;padding:8px 10px}.bk-map-view{display:flex;background:#e4e4e4;padding:3px}.bk-map-view button[aria-pressed="true"]{background:#f4f4f4;color:#3e3e3e;box-shadow:0 1px 4px #3d3d3d18}.bk-map-controls>[data-map-play]{margin-left:auto;border:1px solid #c4c4c4;color:#636363}.bk-map-controls>[data-map-play][aria-pressed="true"]{background:#e1e1e1}.bk-map-controls [data-map-progress]{width:100%;min-height:17px;line-height:1.5;font-size:10px;color:#727272;order:3}
.bk-map-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.bk-map-canvas{position:relative;height:470px;min-width:790px;background:radial-gradient(#bfbfbf55 .7px,transparent .7px);background-size:16px 16px}
.bk-map-label{position:absolute;transform:translate(-50%,-50%);font-size:10px;line-height:1.5;color:#929292;white-space:nowrap;pointer-events:none}
.bk-map-edges{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:#848484;pointer-events:none}.bk-map-edge{fill:none;stroke:#b1b1b1;stroke-width:1.2;vector-effect:non-scaling-stroke;transition:stroke .15s,opacity .15s}.bk-map-support{stroke:#c2c2c2;stroke-dasharray:3 5}.bk-map-edge.is-connected{stroke:#767676;stroke-width:2}.bk-map-edge.is-muted{opacity:.65}.bk-map-edge.is-travelling{stroke:#757575;stroke-width:2;stroke-dasharray:8 5;animation:bk-map-flow 1s linear infinite}.bk-map-edges text{font:13px var(--nan-sans);fill:#929292;letter-spacing:.02em}
.bk-map-node{position:absolute;left:var(--node-x);top:var(--node-y);width:17%;min-height:76px;transform:translate(-50%,-50%);display:grid;align-content:center;gap:7px;text-align:left;padding:13px 15px;background:#f0f0f0;border:1px solid #c4c4c4;color:#515151;cursor:pointer;box-shadow:0 2px 6px #45454521;transition:background .15s,border-color .15s,box-shadow .15s}.bk-map-node>span{font:400 18px/1.45 var(--nan-serif);letter-spacing:-.03em}.bk-map-node>small{font-size:10px;line-height:1.6;color:#818181}.bk-map-node:hover,.bk-map-node[aria-pressed="true"]{background:#e7e7e7;border-color:#8a8a8a;box-shadow:0 3px 12px #4e4e4e25;color:#3f3f3f}.bk-map-node[aria-pressed="true"]:before{content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:#868686}
.bk-map-legend{display:flex;gap:30px;flex-wrap:wrap;font-size:10px;color:#8d8d8d;padding:4px 0 22px}.bk-map-legend>span{display:flex;align-items:center;gap:9px}.bk-map-legend i{width:25px;border-top:1px solid #989898}.bk-map-legend>span+span i{border-top-style:dashed}
.bk-map-details{display:grid;grid-template-columns:1.6fr 1fr .9fr;gap:35px;min-height:255px;padding:28px 0;border-top:1px solid #c3c3c3;align-items:start}.bk-map-description>span{font:9px/1.6 Menlo,monospace;letter-spacing:.08em;color:#7b7b7b}.bk-map-description>h3{margin:12px 0 13px;font-size:26px}.bk-map-description>p{font-size:13px;line-height:1.9;color:#6a6a6a;margin:0}.bk-map-details dl{font-size:12px;margin:5px 0}.bk-map-details dt{font-size:9px;color:#939393;margin-bottom:8px}.bk-map-details dd{margin:0 0 20px;color:#5e5e5e;line-height:1.8}.bk-map-reading{display:grid;gap:15px;padding-top:7px;font-size:11px}.bk-map-reading a{text-decoration:none}.bk-map-reading a:first-child{border:1px solid #c5c5c5;padding:11px;color:#505050;width:fit-content}.bk-map-reading a+a{color:#868686}
.bk-topology[data-layout="list"] .bk-map-canvas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;min-width:0;height:auto;padding:25px 0;background:none}.bk-topology[data-layout="list"] .bk-map-edges,.bk-topology[data-layout="list"] .bk-map-legend{display:none}.bk-topology[data-layout="list"] .bk-map-node{position:relative;top:auto;left:auto;transform:none;width:100%;min-height:104px}.bk-topology[data-layout="list"] .bk-map-details{margin-top:0}
.bk-topology[data-layout="list"] .bk-map-label{display:none}
.bk-purpose{background:#eaeaea;border-left:2px solid #a7a7a7;padding:20px 25px;margin:0 0 40px}.bk-purpose>span{font:9px/1.6 Menlo,monospace;letter-spacing:.08em;color:#595959}.bk-purpose>p{font-size:14px;line-height:1.9;margin:12px 0;color:#3f3f3f}.bk-purpose>a{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#505050}
@keyframes bk-map-flow{to{stroke-dashoffset:-26}}
@media(max-width:950px){.bk-topology>header{gap:25px}.bk-topology>header h2{font-size:28px}.bk-map-details{gap:24px;grid-template-columns:1.4fr 1fr;min-height:300px}.bk-map-reading{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;padding-top:0;gap:15px 22px}.bk-map-description>p{font-size:13px}.bk-topology[data-layout="list"] .bk-map-canvas{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.bk-topology{padding-top:25px;margin:30px 0 45px}.bk-topology>header{display:block}.bk-topology>header h2{font-size:29px}.bk-topology>header>p{font-size:13px;margin:15px 0}.bk-map-controls{gap:10px}.bk-map-controls button{font-size:10px;padding:8px}.bk-map-controls>[data-map-play]{margin-left:auto}.bk-map-details{display:block;min-height:0;padding:23px 0}.bk-map-description>h3{font-size:24px}.bk-map-description>p{font-size:13px}.bk-map-details dl{display:grid;grid-template-columns:65px 1fr;gap:8px;margin:22px 0}.bk-map-details dt,.bk-map-details dd{margin:0}.bk-map-reading{display:flex;gap:15px;font-size:10px}.bk-map-node{min-height:92px;padding:12px}.bk-map-node>span{font-size:18px}.bk-map-node>small{font-size:10px}.bk-topology[data-layout="list"] .bk-map-canvas{gap:10px;padding:20px 0}.bk-purpose{padding:16px 18px}.bk-purpose>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.bk-map-edge,.bk-map-node{transition:none}.bk-map-edge.is-travelling{animation:none;stroke-dasharray:none}}
@media print{.bk-map-controls{display:none}.bk-map-canvas{min-width:0}.bk-topology{break-inside:avoid}}
