/* Hive substrates map. Pairs with /assets/hive-substrates.js */
.hs{--hs-text:#DCE3EA;--hs-muted:#ABB7C3;--hs-line:rgba(220,227,234,.13);color:var(--hs-text);font-family:'Satoshi',Arial,system-ui,sans-serif;position:relative}
.hs .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hs-stage{position:relative;border-radius:22px;background:radial-gradient(120% 90% at 50% 40%,#0B1530 0%,#050913 70%);border:1px solid var(--hs-line);overflow:hidden;box-shadow:0 30px 80px -40px rgba(47,128,255,.45),inset 0 1px 0 rgba(255,255,255,.05)}
.hs-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 70%,rgba(47,128,255,.06))}
.hs-svg{display:block;width:100%;height:auto}
.hs-edge-line{fill:none;stroke-width:3;opacity:.85;transition:opacity .3s,stroke-width .3s}
.hs-edge-glow{fill:none;stroke-width:14;opacity:.12;transition:opacity .3s}
.hs-dot{opacity:.95}
.hs-labels text{font-size:17px;fill:#C9D6E6;font-weight:500;transition:opacity .3s}
.hs-narrow .hs-labels{display:none}
.hs-node{cursor:pointer;outline:none}
.hs-node .hs-halo{opacity:.22;transition:opacity .3s}
.hs-node .hs-ring{fill:none;stroke-width:2.5}
.hs-node:hover .hs-halo,.hs-node:focus-visible .hs-halo,.hs-node.on .hs-halo{opacity:.55}
.hs-node:focus-visible .hs-ring{stroke-width:5}
.hs-name{font-size:24px;font-weight:700;fill:#F2F6FB}
.hs-short{font-size:16px;fill:#ABB7C3}
.hs-narrow .hs-name{font-size:34px}.hs-narrow .hs-short{display:none}
.hs-core-ring{fill:rgba(5,9,19,.7);stroke:rgba(147,197,253,.35);stroke-dasharray:4 6}
.hs-core-t{font-size:17px;font-weight:700;fill:#E6EEF8}
.hs-core-s{font-size:13px;fill:#95A3B2;letter-spacing:.12em;text-transform:uppercase}
.hs-dim .hs-edge:not(.on){opacity:.18}
.hs-dim .hs-lab:not(.on){opacity:.2}
.hs-dim .hs-node:not(.on){opacity:.42}
.hs-dim .hs-edge.on .hs-edge-line{stroke-width:5;opacity:1}
.hs-dim .hs-edge.on .hs-edge-glow{opacity:.32}
.hs-node,.hs-edge{transition:opacity .3s}
.hs-rel{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hs-rel li{border:1px solid var(--hs-line);border-radius:12px;padding:12px 14px;background:#0E1622;color:#DCE3EA;transition:border-color .3s,background .3s}
.hs-rel li.on{border-color:rgba(47,128,255,.6);background:#10213D}
.hs-pair{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:700;font-size:15px}
.hs-pair i{width:10px;height:10px;border-radius:50%;display:inline-block}
.hs-pair b{color:var(--hs-muted);font-weight:400}
.hs-why{display:block;color:var(--hs-muted);font-size:15px;margin-top:4px;line-height:1.5}
.hs-panel{margin-top:14px;border:1px solid var(--hs-line);border-radius:14px;padding:16px 18px;background:#0E1622;color:#DCE3EA;min-height:64px}
.hs-hint{margin:0;color:var(--hs-muted)}
.hs-ph{display:flex;gap:14px;align-items:center}
.hs-ph img{border-radius:12px;flex:none}
.hs-ph b{font-size:19px}.hs-ph p{margin:4px 0 0;color:var(--hs-muted);line-height:1.55}
.hs-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}
.hs-panel dt{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#95A3B2}
.hs-panel dd{margin:4px 0 0}
.hs-go{margin:12px 0 0}.hs-go a,.hs-more a{color:#2F80FF;font-weight:700;text-decoration:none}
.hs-go a:hover,.hs-more a:hover{text-decoration:underline}
.hs-more{margin:12px 0 0}
@media (max-width:640px){.hs-rel,.hs-panel dl{grid-template-columns:minmax(0,1fr)}}
