.joe-infrastructure{margin:16px 0;padding:14px;border:1px solid #9cc4d4;border-radius:12px;background:#f3f9fc;color:#173d50}
.joe-infrastructure-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.joe-infrastructure-head>span{font-size:12px}.joe-infrastructure-head>button{margin-left:auto;border:1px solid #93b9ca;border-radius:8px;background:white;color:#245b78;padding:7px 10px;cursor:pointer}
.joe-infrastructure>p{font-size:12px;line-height:1.5;margin:10px 0}.joe-infrastructure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.joe-infrastructure-card{display:flex;flex-direction:column;gap:5px;text-align:left;border:1px solid #b8cbd4;border-radius:9px;padding:11px;background:white;color:#234f64;cursor:pointer;min-width:0}
.joe-infrastructure-card:focus-visible,.joe-infrastructure-head>button:focus-visible{outline:3px solid #245b78;outline-offset:2px}.joe-infrastructure-card strong{font-size:12px}.joe-infrastructure-card small,.joe-infrastructure-card code,.joe-infrastructure-card>span{font-size:11px;overflow-wrap:anywhere}
.joe-infrastructure-card.attention_required{border-color:#bd963b;background:#fffaf0}.joe-infrastructure-card.unknown{border-style:dashed;color:#627480}.joe-infrastructure-pair{display:flex;gap:10px;align-items:center;text-transform:uppercase}
.joe-infrastructure-motion{display:inline-block;animation:joe-connection-pulse 3s ease-in-out infinite}.joe-infrastructure-path{fill:none;stroke:#2584ac;stroke-width:2;stroke-dasharray:5 7;opacity:.75;animation:joe-connection-dash 5s linear infinite}
@keyframes joe-connection-dash{to{stroke-dashoffset:-48}}@keyframes joe-connection-pulse{50%{opacity:.35;transform:translateX(3px)}}.flow-motion-paused .joe-infrastructure-motion,.flow-motion-paused .joe-infrastructure-path{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.joe-infrastructure-motion,.joe-infrastructure-path{animation:none}}

