/* 008Node network illustration v150 — decorative, never live telemetry. */
.node-public .network.ng-network{background:radial-gradient(ellipse at 55% 35%,#38204d66,transparent 70%),#191720!important;border-color:#473254!important;isolation:isolate}
.ng-network .ng-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 3px;min-height:27px}
.ng-network .ng-caption{font-size:10px;letter-spacing:.5px;color:#afa0bd;line-height:1.6}
.ng-network .ng-pause{flex-shrink:0;background:#2b2038;border:1px solid #64477b;border-radius:6px;padding:5px 9px;color:#d9c2f3;font:10px/1.5 system-ui,sans-serif;cursor:pointer;min-height:29px}
.ng-network .ng-pause:hover{background:#3a2850;color:#f2e7ff}
.ng-network .ng-pause:focus-visible{outline:2px solid #c39aff;outline-offset:3px}
.node-public .network .ng-globe{width:100%;height:auto;aspect-ratio:440/260;display:block;overflow:visible;margin:7px 0 4px;filter:none!important}
.ng-network .ng-grid{stroke:#9873c2;stroke-width:.8;fill:none;opacity:.65}
.ng-network .ng-meridian{transform-origin:220px 126px;animation:ng-longitude 24s linear infinite;will-change:transform}
.ng-network .ng-meridian:nth-child(2){animation-delay:-4s}.ng-network .ng-meridian:nth-child(3){animation-delay:-8s}.ng-network .ng-meridian:nth-child(4){animation-delay:-12s}.ng-network .ng-meridian:nth-child(5){animation-delay:-16s}.ng-network .ng-meridian:nth-child(6){animation-delay:-20s}
.ng-network .ng-sweep{transform-origin:220px 126px;animation:ng-orbit 36s linear infinite;stroke:#8a5bb2;stroke-width:.8;fill:none;stroke-dasharray:2 9;opacity:.5}
.ng-network .ng-route{fill:none;stroke:#a27bd0;stroke-width:1.2;opacity:.52;stroke-dasharray:3 5}
.ng-network .ng-packet{fill:none;stroke:#e8d7ff;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:.6 99.4;animation:ng-packet 7s linear infinite;filter:drop-shadow(0 0 3px #ba86fa)}
.ng-network .ng-packet.ng-packet-two{animation-duration:9s;animation-delay:-3s;stroke:#b28bff}
.ng-network .ng-packet.ng-packet-three{animation-duration:8s;animation-delay:-5s;stroke:#d4bdff}
.ng-network .ng-node-ring{fill:none;stroke:#be95ff;stroke-width:1;opacity:.3;transform-box:fill-box;transform-origin:center;animation:ng-breathe 4s ease-out infinite}
.ng-network .ng-node:nth-child(2) .ng-node-ring{animation-delay:-.8s}.ng-network .ng-node:nth-child(3) .ng-node-ring{animation-delay:-1.6s}.ng-network .ng-node:nth-child(4) .ng-node-ring{animation-delay:-2.4s}.ng-network .ng-node:nth-child(5) .ng-node-ring{animation-delay:-3.2s}
.ng-network .ng-node-core{fill:#d4afff;stroke:#33203f;stroke-width:4;filter:drop-shadow(0 0 4px #9d66d766)}
.ng-network .ng-labels{fill:#c1accf;font:10px system-ui,sans-serif;letter-spacing:.7px}
.ng-network .ng-region-key{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 15px;margin:0 0 18px;padding:0;list-style:none}
.ng-network .ng-region-key li{display:flex;align-items:center;gap:5px;font-size:10px;color:#c1accf;line-height:1.5}
.ng-network .ng-region-key li:before{content:"";width:4px;height:4px;border-radius:50%;background:#b68be9;flex-shrink:0}
.ng-network[data-motion=paused] :is(.ng-meridian,.ng-sweep,.ng-packet,.ng-node-ring){animation-play-state:paused}
@keyframes ng-longitude{0%{transform:scaleX(.05);opacity:.12}25%{transform:scaleX(.75);opacity:.5}50%{transform:scaleX(1);opacity:.25}75%{transform:scaleX(.75);opacity:.5}100%{transform:scaleX(.05);opacity:.12}}
@keyframes ng-orbit{to{transform:rotate(360deg)}}
@keyframes ng-packet{to{stroke-dashoffset:-100}}
@keyframes ng-breathe{0%,100%{opacity:.14;transform:scale(.8)}45%{opacity:.65;transform:scale(1.18)}}
@media(max-width:760px){.node-public .network.ng-network{padding:20px}.ng-network .ng-region-key{gap:7px 12px;margin-bottom:16px}.ng-network .ng-region-key li{font-size:11px}.ng-network .ng-caption{font-size:10px}}
@media(max-width:500px){.ng-network .ng-labels{display:none}.node-public .network .ng-globe{aspect-ratio:440/260;margin:0}.ng-network .ng-region-key{gap:7px 13px}}
@media(prefers-reduced-motion:reduce){.ng-network :is(.ng-meridian,.ng-sweep,.ng-packet,.ng-node-ring){animation:none!important}.ng-network .ng-packet{display:none}.ng-network .ng-node-ring{opacity:.35}.ng-network .ng-pause{display:none}}

.ng-network{min-width:0}.ng-network .ng-toolbar{flex-wrap:wrap}.ng-network .ng-caption{min-width:0}.ng-network .network-top{flex-wrap:wrap;gap:7px}@media(min-width:761px){.node-public .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}

/* Keep the expanded English navigation from squeezing tablet layouts. */
@media(min-width:761px) and (max-width:1000px){.node-public .header-row{gap:12px;flex-wrap:nowrap}.node-public .brand{margin-right:auto}.node-public .nav-toggle{display:block;order:3}.node-public #main-nav{display:none;position:absolute;top:82px;left:0;right:0;padding:20px 28px;gap:18px;flex-wrap:wrap;font-size:13px;border-bottom:1px solid #43304f;background:#17151e}.node-public #main-nav.open{display:flex}}

.ng-network .network-top b{color:#c5abeb;font-size:11px;letter-spacing:1.2px}
.node-public .help-card{min-width:0}.node-public .help-card>div{min-width:0;overflow-wrap:anywhere}

/* Caption removed; keep the existing motion control aligned right. */
.ng-network .ng-toolbar{justify-content:flex-end}

/* HA: let the complete original globe, region key and footer determine card height. */
.node-public .hero .network.ng-network{height:auto;max-height:none;overflow:hidden}
.ng-network .ng-toolbar{justify-content:space-between}

/* HB: approved compact card, aligned to the first-purchase offer when present. */
.node-public .hero .network.ng-network{padding:20px 22px;max-height:none;height:auto;align-self:start;margin-top:34px}
.ng-network .network-top{gap:8px}
.ng-network .ng-toolbar{min-height:25px;margin:8px 0 0}
.ng-network .ng-pause{min-height:25px;padding:3px 8px}
.node-public .network .ng-globe{height:210px;aspect-ratio:auto;width:100%;margin:3px 0 0;overflow:visible}
.ng-network .ng-region-key{margin:0 0 12px;gap:6px 12px}
.ng-network .network-bottom{margin:0;padding:10px 0 0;gap:10px}
.ng-network .network-bottom>div{padding:9px 11px;border-radius:9px}
.ng-network .network-bottom small{font-size:10px;line-height:1.4}
.ng-network .network-bottom strong{font-size:12px;line-height:1.5;margin-top:3px}
@media(min-width:761px) and (max-width:1000px){.node-public .hero .network.ng-network{padding:18px}.node-public .network .ng-globe{height:190px}.ng-network .ng-region-key{gap:6px 10px}.ng-network .network-bottom>div{padding:8px}}

.node-public .hero .network.ng-network{display:flex;flex-direction:column;box-sizing:border-box;height:var(--ng-aligned-height,auto)}
.ng-network .network-top,.ng-network .ng-toolbar,.ng-network .ng-region-key,.ng-network .network-bottom{flex-shrink:0}
.node-public .network .ng-globe{flex:1 1 210px;min-height:210px}
/* HE: show the complete globe beneath the introduction on small screens, including touch. */
@media(max-width:760px){
 .node-public .hero .network.ng-network{display:flex;width:100%;max-width:600px;height:auto;margin-top:0;justify-self:center;padding:16px}
 .node-public .network .ng-globe{height:200px;min-height:200px;flex:0 0 200px}
 .ng-network .ng-region-key{gap:6px 10px;margin-bottom:10px}
}
