.support-launcher{position:fixed;inset:auto 20px max(20px,env(safe-area-inset-bottom)) auto;z-index:110;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;gap:10px;border:0;border-radius:999px;text-decoration:none;font:780 14px -apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap;transition:transform .42s cubic-bezier(.22,.8,.3,1),background .42s,box-shadow .42s,gap .38s cubic-bezier(.22,.8,.3,1)}
.support-launcher:hover{transform:translateY(-2px) scale(1.015)}
.support-launcher:active{transform:scale(.98)}
.whats-new.support-dialog{position:fixed;inset:auto 20px max(80px,calc(env(safe-area-inset-bottom) + 70px)) auto;margin:0;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 100px)}

.support-launcher[hidden]{display:none}
/* Reuse the What's new dialog, heading, close button and responsive spacing. */
.support-dialog #support-status{margin:22px 0 28px;color:#abb5b2;font-size:14px;line-height:1.7}
.support-actions{display:grid;border-top:1px solid var(--line)}
.support-actions a{display:block;padding:22px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-size:18px;font-weight:600;letter-spacing:-.025em;transition:color .15s ease,background .15s ease}
.support-actions a:hover{color:#e2b5f1;background:rgba(255,255,255,.025)}
.support-footnote a,.support-fallback a{color:#e2b5f1;text-underline-offset:3px}
.support-fallback{font-size:13px;margin-top:16px}
.support-fallback a{display:block;padding:5px 0}
.support-launcher:focus-visible,.support-dialog a:focus-visible,.support-close:focus-visible{outline:2px solid #dfacf2;outline-offset:3px}
body:has(.support-dialog[open]){overflow:hidden}
@media(max-width:560px){.support-launcher{right:16px}.whats-new.support-dialog{right:16px}.support-dialog #support-status{margin:20px 0 24px}}
@media(prefers-reduced-motion:reduce){.support-actions a,.support-launcher{transition:none}}

/* The provider's form styles live inside its iframe; the popup shell stays native. */
.support-actions[hidden],[data-support-form][hidden]{display:none}
.whats-new.support-has-form{width:min(520px,calc(100% - 32px))}
.support-contact-frame{display:block;width:100%;height:560px;border:0;border-radius:0;background:#13171a;color-scheme:dark}
.support-has-form .release-content{padding:26px}
.support-has-form h2{font-size:32px}
.support-has-form #support-status{margin:16px 0 20px}
@media(max-width:560px){.support-has-form .release-content{padding:22px 16px}}

/* Keep the right edge fixed as the translated label folds into the chat icon. */
.support-launcher>svg{width:20px;height:20px;flex:0 0 20px}
.support-launcher-label{display:grid;grid-template-columns:1fr;opacity:1;transition:grid-template-columns .38s cubic-bezier(.22,.8,.3,1),opacity .22s ease}
.support-launcher-label>span{min-width:0;overflow:hidden;white-space:nowrap}
.support-launcher.is-collapsed{gap:0}
.support-launcher.is-collapsed .support-launcher-label{grid-template-columns:0fr;opacity:0}
@media(prefers-reduced-motion:reduce){.support-launcher,.support-launcher-label{transition:none}}

/* A brief invitation after the first collapse; never an infinite animation. */
.support-launcher.has-ripple::after{content:"";position:absolute;inset:0;border:1.5px solid rgba(213,155,233,.65);border-radius:inherit;pointer-events:none;opacity:0;animation:support-ripple 1.15s ease-out .45s 3}
@keyframes support-ripple{0%{transform:scale(1);opacity:0}15%{opacity:.65}100%{transform:scale(1.65);opacity:0}}
@media(prefers-reduced-motion:reduce){.support-launcher.has-ripple::after{animation:none;display:none}}
