.ha-wrap:where(.astro-as4o5pyx){width:100%;max-width:480px;margin:0 auto}.ha-svg:where(.astro-as4o5pyx){width:100%;height:auto;overflow:visible}.ha-link:where(.astro-as4o5pyx){fill:none;stroke:var(--t-border);stroke-width:1.5}.ha-disc:where(.astro-as4o5pyx){fill:var(--t-card);stroke:var(--t-border);stroke-width:1.5}.ha-nas-icon:where(.astro-as4o5pyx){fill:none;stroke:var(--t-text-secondary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ha-label:where(.astro-as4o5pyx){fill:var(--t-text-secondary);font-family:var(--sl-font, sans-serif);font-size:13px;font-weight:500;text-anchor:middle}.ha-card:where(.astro-as4o5pyx){fill:var(--t-card);stroke:var(--t-border);stroke-width:1.5}.ha-node-icon:where(.astro-as4o5pyx){fill:none;stroke:var(--t-text-secondary);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ha-node-led:where(.astro-as4o5pyx){fill:var(--t-text-secondary);stroke:none}.ha-node-name:where(.astro-as4o5pyx){fill:var(--t-text);font-family:var(--sl-font-mono);font-size:12px;font-weight:600}.ha-node-role:where(.astro-as4o5pyx){font-family:var(--sl-font-mono);font-size:9px}.ha-node-role--primary:where(.astro-as4o5pyx){fill:var(--t-primary);font-weight:600}.ha-node-role--replica:where(.astro-as4o5pyx){fill:var(--t-text-secondary)}.ha-pill-box:where(.astro-as4o5pyx){fill:var(--t-success-bg);stroke:var(--t-primary);stroke-width:1.5}.ha-pill-text:where(.astro-as4o5pyx){fill:var(--t-primary);font-family:var(--sl-font-mono);font-size:8px;font-weight:700;letter-spacing:.06em;text-anchor:middle}.ha-fail:where(.astro-as4o5pyx){fill:none;stroke:var(--t-danger);stroke-width:2.4;stroke-linecap:round}.ha-auth-pill:where(.astro-as4o5pyx){fill:var(--t-success-bg);stroke:var(--t-success);stroke-width:1.5}.ha-auth-text:where(.astro-as4o5pyx){fill:var(--t-success);font-family:var(--sl-font-mono);font-size:9.5px;font-weight:600;text-anchor:middle}.ha-node--node-1:where(.astro-as4o5pyx) .ha-card:where(.astro-as4o5pyx){stroke:var(--t-primary)}.ha-node--node-1:where(.astro-as4o5pyx) .ha-node-role--replica:where(.astro-as4o5pyx){display:none}.ha-node--node-1:where(.astro-as4o5pyx) .ha-pill:where(.astro-as4o5pyx){opacity:1}.ha-node--node-1:where(.astro-as4o5pyx) .ha-fail:where(.astro-as4o5pyx){opacity:0}.ha-node--node-2:where(.astro-as4o5pyx) .ha-node-role--primary:where(.astro-as4o5pyx){opacity:0}.ha-node--node-2:where(.astro-as4o5pyx) .ha-node-role--replica:where(.astro-as4o5pyx){opacity:1}.ha-node--node-2:where(.astro-as4o5pyx) .ha-pill:where(.astro-as4o5pyx){opacity:0}.ha-node--node-3:where(.astro-as4o5pyx) .ha-node-role--primary:where(.astro-as4o5pyx){display:none}.ha-node--node-3:where(.astro-as4o5pyx) .ha-pill:where(.astro-as4o5pyx){opacity:0}.ha-node:where(.astro-as4o5pyx) .ha-fail:where(.astro-as4o5pyx){opacity:0}@media(prefers-reduced-motion:no-preference){.ha-packet:where(.astro-as4o5pyx){fill:var(--t-primary);animation:ha-flow 5s ease-in-out infinite}.ha-packet--node-2:where(.astro-as4o5pyx){animation-delay:.5s}.ha-packet--node-3:where(.astro-as4o5pyx){animation-delay:1s}.ha-packet--node-1:where(.astro-as4o5pyx){animation:ha-flow-fail 5s ease-in-out infinite}.ha-node--node-1:where(.astro-as4o5pyx) .ha-card:where(.astro-as4o5pyx){animation:ha-n1-card 5s ease-in-out infinite}.ha-node--node-1:where(.astro-as4o5pyx) .ha-pill:where(.astro-as4o5pyx){animation:ha-n1-pill 5s ease-in-out infinite}.ha-node--node-1:where(.astro-as4o5pyx) .ha-fail:where(.astro-as4o5pyx){animation:ha-n1-fail 5s ease-in-out infinite}.ha-node--node-1:where(.astro-as4o5pyx) .ha-node-icon:where(.astro-as4o5pyx),.ha-node--node-1:where(.astro-as4o5pyx) .ha-node-name:where(.astro-as4o5pyx),.ha-node--node-1:where(.astro-as4o5pyx) .ha-node-role--primary:where(.astro-as4o5pyx){animation:ha-n1-dim 5s ease-in-out infinite}.ha-node--node-2:where(.astro-as4o5pyx) .ha-card:where(.astro-as4o5pyx){animation:ha-n2-card 5s ease-in-out infinite}.ha-node--node-2:where(.astro-as4o5pyx) .ha-pill:where(.astro-as4o5pyx){animation:ha-n2-pill 5s ease-in-out infinite}.ha-node--node-2:where(.astro-as4o5pyx) .ha-node-role--primary:where(.astro-as4o5pyx){animation:ha-n2-role-p 5s ease-in-out infinite}.ha-node--node-2:where(.astro-as4o5pyx) .ha-node-role--replica:where(.astro-as4o5pyx){animation:ha-n2-role-r 5s ease-in-out infinite}}@keyframes ha-flow{0%{transform:translate(0);opacity:0}8%{opacity:1}38%{transform:translate(var(--dx),var(--dy));opacity:1}46%,to{transform:translate(var(--dx),var(--dy));opacity:0}}@keyframes ha-flow-fail{0%{transform:translate(0);opacity:0}8%{opacity:1}30%{transform:translate(var(--dx),var(--dy));opacity:1}38%,to{transform:translate(var(--dx),var(--dy));opacity:0}}@keyframes ha-n1-card{0%,50%{stroke:var(--t-primary)}56%,to{stroke:var(--t-danger)}}@keyframes ha-n1-pill{0%,50%{opacity:1}56%,to{opacity:0}}@keyframes ha-n1-fail{0%,50%{opacity:0}58%,to{opacity:1}}@keyframes ha-n1-dim{0%,50%{opacity:1}58%,to{opacity:.32}}@keyframes ha-n2-card{0%,52%{stroke:var(--t-border)}58%,to{stroke:var(--t-primary)}}@keyframes ha-n2-pill{0%,52%{opacity:0}58%,to{opacity:1}}@keyframes ha-n2-role-p{0%,52%{opacity:0}58%,to{opacity:1}}@keyframes ha-n2-role-r{0%,52%{opacity:1}58%,to{opacity:0}}
