/* FedPromptly invite widget, scoped to avoid changing the Muse guide styles. */
.fp-invite-btn { position:relative; isolation:isolate; display:inline-flex; align-items:center; gap:9px; padding:7px 12px 7px 7px; border-radius:12px; text-decoration:none; background:#313338; border:1px solid rgba(255,255,255,.08); color:#f2f3f5; box-shadow:0 8px 24px -8px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04); transition:transform .2s cubic-bezier(.2,.7,.3,1),border-color .2s ease,box-shadow .2s ease; font:inherit; cursor:pointer; }
.fp-invite-btn::before { content:""; position:absolute; inset:-2px; z-index:-1; border-radius:14px; background:linear-gradient(120deg,#5865f2,#00b0f4,#eb459e,#5865f2); background-size:300% 300%; filter:blur(10px); opacity:0; transition:opacity .3s ease; animation:fpFlow 8s linear infinite; }
.fp-invite-btn:hover,.fp-invite-btn:focus-visible { transform:translateY(-2px); border-color:rgba(88,101,242,.6); box-shadow:0 12px 30px -10px rgba(0,0,0,.75),0 0 0 1px rgba(88,101,242,.2); }
.fp-invite-btn:hover::before,.fp-invite-btn:focus-visible::before { opacity:.5; }
.fp-invite-btn:active { transform:translateY(0) scale(.985); }
.fp-invite-btn:focus-visible { outline:2px solid #5865f2; outline-offset:3px; }
@keyframes fpFlow { 0%,100%{background-position:0 50%} 50%{background-position:100% 50%} }
.fp-invite-icon-wrap { position:relative; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.4); }
.fp-invite-icon { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; transform:scale(.96); }
.fp-invite-dot { position:absolute; right:-1px; bottom:-1px; width:10px; height:10px; border-radius:50%; background:#57f287; border:2px solid #313338; }
.fp-invite-dot::after { content:""; position:absolute; inset:-3px; border:2px solid #57f287; border-radius:50%; animation:fpPing 2.4s ease-out infinite; }
@keyframes fpPing { 0%{transform:scale(.7);opacity:.6} 70%,100%{transform:scale(1.7);opacity:0} }
.fp-invite-label { display:flex; flex-direction:column; gap:1px; text-align:left; line-height:1.1; }
.fp-invite-name { color:#f2f3f5; font-size:12px; font-weight:700; }
.fp-invite-meta { color:#949ba4; font-size:9px; }
.fp-invite-arrow { width:14px; height:14px; margin-left:2px; color:#949ba4; transition:transform .2s ease,color .2s ease; }
.fp-invite-btn:hover .fp-invite-arrow { color:#fff; transform:translateX(2px); }
.fp-invite-dialog { width:min(94vw,520px); max-width:520px; max-height:92dvh; padding:0; border:0; background:transparent; color:#dbdee1; overflow:auto; }
.fp-invite-dialog::backdrop { background:rgba(15,16,18,.76); backdrop-filter:blur(6px); }
.fp-invite-dialog[open] { animation:fpModalIn .22s ease-out; }
@keyframes fpModalIn { from{opacity:0;transform:translateY(8px) scale(.98)} to{opacity:1;transform:translateY(0) scale(1)} }
.fp-invite-panel { position:relative; overflow:hidden; border-radius:14px; background:#313338; border:1px solid rgba(255,255,255,.08); box-shadow:0 24px 60px -12px rgba(0,0,0,.75); }
.fp-invite-banner { height:128px; background:linear-gradient(120deg,#232428 0%,#5865f2 30%,#00b0f4 60%,#eb459e 85%,#232428 100%); background-size:300% 300%; animation:fpColorFlow 10s ease-in-out infinite; }
@keyframes fpColorFlow { 0%,100%{background-position:0 50%} 50%{background-position:100% 50%} }
.fp-invite-close { position:absolute; top:12px; right:12px; z-index:5; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:rgba(0,0,0,.45); color:#fff; cursor:pointer; font-size:20px; line-height:1; }
.fp-invite-close:hover { background:rgba(0,0,0,.7); transform:scale(1.05); }
.fp-invite-modal-icon-wrap { position:absolute; left:20px; top:80px; width:88px; height:88px; }
.fp-invite-modal-icon { width:100%; height:100%; border-radius:50%; border:5px solid #313338; background:#fff; object-fit:cover; box-shadow:0 6px 16px rgba(0,0,0,.45); }
.fp-invite-online-dot { position:absolute; right:-2px; bottom:-2px; width:20px; height:20px; border-radius:50%; background:#57f287; border:4px solid #313338; }
.fp-invite-content { padding:52px 20px 20px; }
.fp-invite-content h2 { margin:0; color:#f2f3f5; font-size:22px; line-height:1.15; }
.fp-invite-stats { display:flex; gap:10px; margin-top:6px; color:#949ba4; font-size:12px; }
.fp-invite-stats .tag { color:#dbdee1; font-weight:600; }
.fp-invite-description { border-top:1px solid rgba(255,255,255,.08); margin:16px 0 0; padding-top:14px; color:#949ba4; font-size:13px; line-height:1.55; }
.fp-invite-pills { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.fp-invite-pill { padding:6px 9px; border-radius:8px; background:#2b2d31; color:#949ba4; font-size:11px; }
.fp-invite-contacts { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); font-size:11px; }
.fp-invite-contacts .label { color:#949ba4; text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.fp-invite-contacts a { color:#dbdee1; }
.fp-invite-join { display:flex; justify-content:center; margin-top:18px; padding:13px 16px; border-radius:10px; background:#5865f2; color:#fff; font-weight:700; text-decoration:none; }
.fp-invite-join:hover { background:#4752c4; transform:translateY(-1px); }
.fp-invite-footer { display:flex; justify-content:space-between; padding:12px 20px; background:#232428; border-top:1px solid rgba(255,255,255,.08); color:#949ba4; font-size:11px; }
.fp-invite-footer a { color:#dbdee1; }
@media (max-width:420px) { .fp-invite-meta { display:none; } .fp-invite-modal-icon-wrap { left:16px; top:66px; width:76px; height:76px; } .fp-invite-banner { height:108px; } .fp-invite-content { padding:46px 16px 16px; } .fp-invite-footer { padding:10px 16px; } }
@media (prefers-reduced-motion:reduce) { .fp-invite-banner,.fp-invite-btn::before,.fp-invite-dot::after,.fp-invite-dialog[open] { animation:none!important; } .fp-invite-btn,.fp-invite-arrow,.fp-invite-close,.fp-invite-join { transition:none; } }
