.affiliate-toast {
    position: fixed; z-index: 1000;
    inset-inline-end: max(16px, env(safe-area-inset-right));
    inset-block-end: max(16px, env(safe-area-inset-bottom));
    max-width: calc(100vw - 32px); box-sizing: border-box;
    margin: 0; padding: 12px 16px; border-radius: 9px;
    background: var(--mac-good, #176447); color: #fff;
    box-shadow: 0 5px 20px #18233430; overflow-wrap: anywhere;
}
.affiliate-toast[role="alert"] { background: var(--mac-danger, #a12540); }
.affiliate-motion-choice { margin: 0; padding: 0; border: 0; }
.affiliate-motion-choice legend { margin-bottom: 6px; padding: 0; }
.affiliate-motion-choice label + label { margin-inline-start: 12px; }
.mac-ad-editor .affiliate-motion-choice input[type="radio"] { width: auto; padding: 0; }
.affiliate-banner-preview { display: block; max-width: 100%; max-height: 100px; margin-bottom: 6px; }
.mac-affiliate a.affiliate-banner {
    display: block; flex: 0 0 100%; padding: 0; overflow: hidden; background: var(--mac-soft, #f5f7fa);
}
.affiliate-banner img {
    display: block; width: 100%; aspect-ratio: 3 / 1; max-height: 210px; object-fit: contain;
}
.affiliate-cta-label { display: inline-block; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: no-preference) {
    .affiliate-motion[data-affiliate="login"] {
        --affiliate-rest: #254392; --affiliate-lit: #a21b73; --affiliate-glow: #ee58b5;
        --affiliate-duration: 4s; --affiliate-first: translateY(-4px); --affiliate-second: translateY(2px);
    }
    .affiliate-motion[data-affiliate="store"] {
        --affiliate-rest: #00634c; --affiliate-lit: #005d85; --affiliate-glow: #19bfae;
        --affiliate-duration: 4.8s; --affiliate-first: translateX(5px); --affiliate-second: translateX(-4px) translateY(-2px);
    }
    .affiliate-motion[data-affiliate="apiDocs"] {
        --affiliate-rest: #53339d; --affiliate-lit: #9a3814; --affiliate-glow: #f2a137;
        --affiliate-duration: 5.6s; --affiliate-first: translate(3px, -3px); --affiliate-second: translate(-2px, 2px);
    }
    .affiliate-motion :is(.mac-affiliate-copy > strong, .mac-affiliate-copy > span, .affiliate-cta-label) {
        animation: affiliate-neon var(--affiliate-duration) ease-in-out infinite both;
    }
    .affiliate-motion .mac-affiliate-copy > span { animation-delay: .18s; }
    .affiliate-motion .affiliate-cta-label { animation-delay: .36s; }
}
@keyframes affiliate-neon {
    0%, 21%, 45%, 100% { color: var(--affiliate-rest); text-shadow: none; transform: none; }
    11% { color: var(--affiliate-lit); text-shadow: 0 0 7px var(--affiliate-glow); transform: var(--affiliate-first); }
    34% { color: var(--affiliate-lit); text-shadow: 0 0 4px var(--affiliate-glow); transform: var(--affiliate-second); }
}
