/* One reward component, with earned / level-up / badge variants. */
.pz-xp-notification {
 position:fixed;inset:92px 24px auto auto;margin:0;padding:0;
 width:352px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px);
 border:0;background:transparent;color:#fafaf8;overflow:visible;
 font-family:'IBM Plex Sans',sans-serif;z-index:100;
}
.pz-xp-notification::backdrop{background:transparent;pointer-events:none}
.pz-xp-notification.pz-xp-fallback{display:block}
.pz-xp-card {
 position:relative;box-sizing:border-box;padding:24px;border-radius:10px;
 background:#17181b;box-shadow:0 16px 48px #17181b30;
 animation:pz-xp-enter .35s cubic-bezier(.2,.8,.2,1) both;
 max-height:inherit;overflow:auto;text-align:left;
}
.pz-xp-card::before{content:'';position:absolute;left:24px;top:0;width:44px;height:4px;background:#ed1230}
.pz-xp-card .pz-xp-close {
 position:absolute;top:5px;right:5px;display:grid;place-items:center;
 width:44px;height:44px;padding:12px;border:0;border-radius:6px;background:transparent;color:#b9b9bd;cursor:pointer;
}
.pz-xp-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.pz-xp-card .pz-xp-close:hover{background:#ffffff12;color:white}
.pz-xp-card .pz-xp-close:focus-visible{outline:2px solid white;outline-offset:-4px;color:white}
.pz-xp-main{display:flex;gap:16px;align-items:center;padding-right:18px}
.pz-xp-chip{flex:none;width:56px;height:56px;animation:pz-xp-chip .65s cubic-bezier(.2,.8,.2,1) both}
.pz-xp-card .pz-xp-kicker{display:block;color:#ff6478;font-size:10px;font-weight:700;letter-spacing:.12em;line-height:1.4}
.pz-xp-card .pz-xp-amount{display:block;font:700 42px/1.1 'Barlow Condensed',sans-serif;letter-spacing:-.02em;margin:3px 0}
.pz-xp-amount span{font-size:24px;color:#d9d9dc;letter-spacing:0}
.pz-xp-card p.pz-xp-activity{font-size:13px;line-height:1.45;color:#d9d9dc;margin:5px 0 0}
.pz-xp-progress{margin-top:20px}
.pz-xp-progress-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;line-height:1.4}
.pz-xp-progress-label strong{font-weight:600;color:#fafaf8}
.pz-xp-progress-label span{white-space:nowrap;color:#c0c0c5;font-size:11px;font-variant-numeric:tabular-nums}
.pz-xp-progress-label b{font-weight:500}
.pz-xp-track{height:5px;background:#ffffff21;border-radius:2px;margin-top:10px;overflow:hidden}
.pz-xp-track>span{display:block;width:100%;height:100%;background:#ed1230;transform-origin:left;transform:scaleX(var(--xp-to));animation:pz-xp-fill .95s .15s cubic-bezier(.2,.7,.2,1) both}
.pz-xp-card p.pz-xp-next{font-size:11px;color:#b9b9bf;line-height:1.4;margin:7px 0 0}
.pz-xp-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.pz-xp-badges>div{display:flex;align-items:center;gap:9px}
.pz-xp-badges img{width:34px;height:34px;flex:none}
.pz-xp-badges small{display:block;font-size:9px;line-height:1.4;letter-spacing:.08em;color:#aaaab1}
.pz-xp-badges strong{display:block;font-size:12px;line-height:1.6;color:#fafaf8;font-weight:600}
.pz-xp-level-up .pz-xp-kicker{color:#fff}
.pz-xp-level-up::before{width:88px}
.pz-xp-level-up .pz-xp-progress-label strong{color:#ff8191}
.pz-xp-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes pz-xp-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes pz-xp-chip{from{opacity:0;transform:rotate(-28deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes pz-xp-fill{from{transform:scaleX(var(--xp-from))}to{transform:scaleX(var(--xp-to))}}
@media(max-width:700px){
 .pz-xp-notification{inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px;width:auto;max-width:none;max-height:calc(100dvh - 100px)}
 .pz-xp-card{padding:18px 20px;border-radius:9px}
 .pz-xp-main{gap:12px}
 .pz-xp-chip{width:44px;height:44px}
 .pz-xp-card .pz-xp-amount{font-size:35px}
 .pz-xp-card p.pz-xp-activity{font-size:12px}
 .pz-xp-progress{margin-top:14px}
 .pz-xp-badges{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
 .pz-xp-notification *{animation:none!important;transition:none!important}
}
