.ap-promo{z-index:60;border:1px solid var(--border);background:var(--bg-card);width:min(380px,100vw - 32px);color:var(--text-primary);border-radius:16px;padding:20px 20px 18px;animation:.32s cubic-bezier(.2,.8,.2,1) ap-promo-in;position:fixed;bottom:24px;box-shadow:0 18px 50px #0f172a2e,0 2px 6px #0f172a14}.ap-promo--public{left:24px}.ap-promo--dashboard{right:24px}.ap-promo.is-leaving{animation:.18s ease-in forwards ap-promo-out}.ap-promo:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 45%, #ec4899));border-radius:16px 16px 0 0;height:3px;position:absolute;inset:0 0 auto}.ap-promo-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px;display:inline-flex;position:absolute;top:12px;right:12px}.ap-promo-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ap-promo-top{align-items:center;gap:10px;margin:0 28px 10px 0;display:flex}.ap-promo-emoji{background:var(--accent-light);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:inline-flex}.ap-promo-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ap-promo-eyebrow{color:var(--accent-text);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.ap-promo-ends{background:var(--warning-light);color:var(--warning-text);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.ap-promo-headline{letter-spacing:-.02em;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 45%, #ec4899));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 2px;font-size:26px;font-weight:800;line-height:1.15}.ap-promo-title{margin:0;font-size:16px;font-weight:700;line-height:1.35}.ap-promo-message{color:var(--text-secondary);margin:6px 0 0;font-size:13.5px;line-height:1.55}.ap-promo-code{border:1.5px dashed var(--accent-border);background:var(--accent-light);border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:8px 8px 8px 12px;display:flex}.ap-promo-code-label{color:var(--text-muted);white-space:nowrap;font-size:11.5px}.ap-promo-code code{text-overflow:ellipsis;min-width:0;color:var(--text-primary);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;flex:1;font-size:15px;font-weight:700;overflow:hidden}.ap-promo-copy{border:1px solid var(--accent-border);background:var(--bg-card);color:var(--accent-text);font:inherit;cursor:pointer;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700}.ap-promo-copy:hover{background:var(--bg-hover)}.ap-promo-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.ap-promo--announcement .ap-promo-actions,.ap-promo--feature .ap-promo-actions{flex-direction:row-reverse;justify-content:flex-start}.ap-promo-primary,.ap-promo-secondary{font:inherit;cursor:pointer;border-radius:10px;padding:10px 16px;font-size:13.5px;font-weight:700;transition:background .15s,transform .15s}.ap-promo-primary{background:var(--accent);color:#fff;border:0}.ap-promo-primary:hover{background:var(--accent-hover,var(--accent));transform:translateY(-1px)}.ap-promo-secondary{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.ap-promo-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.ap-promo button:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:2px}@keyframes ap-promo-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@keyframes ap-promo-out{to{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.ap-promo,.ap-promo.is-leaving{animation:none}}@media (max-width:640px){.ap-promo,.ap-promo--public,.ap-promo--dashboard{width:auto;max-height:70vh;padding:18px 16px 16px;bottom:8px;left:8px;right:8px;overflow-y:auto}.ap-promo-headline{font-size:22px}}.ap-promo-claim-facts{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.ap-promo-claim-facts span{background:var(--bg-input);color:var(--text-secondary);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.ap-promo-claim-facts .ap-promo-spots{background:var(--warning-light);color:var(--warning-text)}.ap-promo-claimed{background:var(--success-light);border:1px solid color-mix(in srgb, var(--success) 35%, transparent);border-radius:12px;gap:10px;margin-top:14px;padding:12px;display:flex}.ap-promo-claimed p{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.ap-promo-claimed .ap-promo-claimed-title{color:var(--text-primary);margin-bottom:2px;font-size:13.5px;font-weight:700}.ap-promo-claimed-icon{background:var(--success);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:800;display:inline-flex}.ap-promo-error{background:var(--danger-light);color:var(--danger-text);border-radius:8px;margin:12px 0 0;padding:8px 10px;font-size:12.5px}.ap-promo-primary:disabled{opacity:.7;cursor:wait;transform:none}
