/* The discovery button lives outside the frequently repainted SVG. */
.alien-graph-stage{position:relative;min-width:0}
.alien-graph-stage[data-alien-overflow=true]{padding-bottom:54px}
.alien-message-open{position:absolute;left:12px;top:370px;width:78px;height:78px;min-width:44px;min-height:44px;padding:2px;border:1px solid transparent;border-radius:50%;background:transparent;display:grid;place-items:center;opacity:.42;touch-action:manipulation}
.alien-message-open img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.alien-message-open:hover{opacity:1;background:#123d4a;border-color:#6e9d9e}
.alien-message-open:focus-visible{opacity:1;outline:3px solid #b5fff0;outline-offset:3px;background:#123d4a}
.alien-message-dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #a2bbb9;border-radius:18px;background:#f7faf8;color:#17383d;padding:24px;box-shadow:0 18px 60px #001a2f66}
.alien-message-dialog::backdrop{background:#00151fbb}
.alien-message-heading{display:flex;align-items:center;gap:14px;padding-right:52px;position:relative;margin-bottom:14px}
.alien-message-heading img{width:72px;height:72px;object-fit:contain;flex-shrink:0}
.alien-message-heading h2{font-size:1.3rem;line-height:1.35}
.alien-message-heading p{font-size:.875rem;color:#476669;margin-bottom:5px}
.alien-message-greeting{font-size:1.15rem;font-weight:700;text-align:center;color:#93425c;margin:8px 0 4px}
.alien-heart-burst{position:relative;height:26px;margin:0 8px 8px;pointer-events:none;user-select:none}
.alien-heart-burst span{position:absolute;left:12%;top:1px;color:#d96e9a;font-size:24px;line-height:1;opacity:0}
.alien-heart-burst span:nth-child(2){left:27%;color:#b16cb1;animation-delay:70ms!important}
.alien-heart-burst span:nth-child(3){left:42%;color:#e69b51;animation-delay:140ms!important}
.alien-heart-burst span:nth-child(4){left:57%;color:#d96e9a;animation-delay:210ms!important}
.alien-heart-burst span:nth-child(5){left:72%;color:#bc75b3;animation-delay:280ms!important}
.alien-heart-burst span:nth-child(6){left:87%;color:#df797f;animation-delay:350ms!important}
.alien-message-dialog[open] .alien-heart-burst span{animation:alien-heart-pop 900ms ease-out both}
@keyframes alien-heart-pop{0%{opacity:0;transform:translateY(10px) scale(.45)}25%{opacity:1;transform:translateY(1px) scale(1.15)}60%{opacity:.85;transform:translateY(-10px) scale(1)}100%{opacity:0;transform:translateY(-30px) scale(.7)}}
.alien-message-close{position:absolute;right:0;top:0;font-size:.8rem;min-height:44px;min-width:44px;padding:6px;border-color:#bed1ce;background:white}
.alien-message-privacy{font-size:.9375rem;line-height:1.65;background:#e8f1ee;padding:13px 15px;border-radius:9px;margin-bottom:18px}
.alien-message-form label{display:block;font-weight:650;font-size:.9375rem;margin-bottom:7px}
.alien-message-form textarea{display:block;width:100%;min-height:146px;resize:vertical;font:inherit;font-size:1rem;line-height:1.6;color:#17383d;background:white;border:1px solid #8badab;border-radius:9px;padding:12px;white-space:pre-wrap}
.alien-message-form textarea[readonly]{background:#edf2f1}
.alien-message-form textarea[aria-invalid=true]{border-color:#9c3c25}
.alien-message-count{display:block;text-align:right;font-size:.8rem;color:#4d6b6f;margin-top:5px}
.alien-message-count[data-over=true]{color:#9c3c25;font-weight:700}
.alien-message-status{font-size:.9375rem;line-height:1.6;margin:14px 0;color:#476669;min-height:1.6em;overflow-wrap:anywhere}
.alien-message-status[data-state=success]{color:#00664f;font-weight:650;background:#e2f2e9;padding:14px;border-radius:9px}
.alien-message-status[data-state=error]{color:#8c4930}
.alien-message-form button[type=submit]{background:#076b5d;border-color:#076b5d;color:white;min-height:44px;white-space:normal}
.alien-message-form button:disabled{opacity:.65}
.alien-message-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.alien-message-dialog [hidden]{display:none!important}
@media(max-width:480px){.alien-message-dialog{padding:18px}.alien-message-heading{gap:10px}.alien-message-heading img{width:52px;height:64px}.alien-message-heading h2{font-size:1.1rem}.alien-message-form button[type=submit]{width:100%}.alien-message-heading p{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.alien-message-dialog[open] .alien-heart-burst span{animation:none;opacity:.8;transform:none}}

/* Yoyo dances inside a stationary, reachable button. */
.alien-message-open img{animation:yoyo-dance 3.2s ease-in-out infinite;transform-origin:50% 76%}
.alien-message-open:hover img,.alien-message-open:focus-visible img{animation-play-state:paused}
@keyframes yoyo-dance{0%,100%{transform:translateY(0) rotate(-4deg)}25%{transform:translateY(-4px) rotate(3deg)}50%{transform:translateY(0) rotate(5deg)}75%{transform:translateY(-3px) rotate(-3deg)}}
@media(prefers-reduced-motion:reduce){.alien-message-open img{animation:none;transform:none}}
