.rsp-winner-overlay[hidden]{display:none!important}
.rsp-winner-overlay{position:fixed;z-index:2147483000;inset:0;display:grid;place-items:center;box-sizing:border-box;overflow:auto;padding:18px;background:#030405d9;backdrop-filter:blur(6px);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;animation:rsp-winner-backdrop-in .24s ease both}
.rsp-winner-overlay.is-closing{animation:rsp-winner-backdrop-out .7s ease both;pointer-events:none}
.rsp-winner-overlay.is-closing .rsp-winner-card{animation:rsp-winner-exit .7s cubic-bezier(.4,0,1,1) both}
body.rsp-winner-open{overflow:hidden}
.rsp-winner-card,.rsp-winner-card *{box-sizing:border-box}
.rsp-winner-card{position:relative;z-index:2;isolation:isolate;width:min(100%,460px);max-height:calc(100vh - 36px);overflow:auto;padding:29px 30px 24px;border:2px solid #f8ce32;border-radius:20px;background:#0c0c0c var(--rsp-winner-background,url('campaign-stage-background-v1.webp')) center/cover no-repeat;box-shadow:0 0 0 4px #161616,0 0 42px #ffbd0066,0 22px 65px #000e;color:#fff;text-align:center;animation:rsp-winner-enter .3s cubic-bezier(.18,.9,.25,1) both}
.rsp-winner-card:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#08090966,#080909c9 65%,#080909e8);pointer-events:none}
.rsp-winner-card:after,.rsp-winner-bottom-edge{content:"";position:absolute;z-index:0;left:10%;right:10%;height:4px;background:linear-gradient(90deg,transparent,#ffdc41,#fff2a4,#ffdc41,transparent);box-shadow:0 0 14px #ffc400;pointer-events:none}.rsp-winner-card:after{top:0}.rsp-winner-bottom-edge{bottom:0}
.rsp-winner-close{position:absolute;z-index:2;right:14px;top:14px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ddd7b8;border-radius:50%;background:#111;color:#fff;font:500 23px/1 system-ui,sans-serif;cursor:pointer}
.rsp-winner-close svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;pointer-events:none}
.rsp-winner-close:hover,.rsp-winner-close:focus-visible{color:#ffdc42;border-color:#ffdc42}
.rsp-winner-kicker{display:inline-flex;align-items:center;gap:7px;margin:3px 28px 10px;color:#ffdb44;font:900 10px/1.2 system-ui,sans-serif;letter-spacing:.13em}
.rsp-winner-kicker span{width:7px;height:7px;border-radius:50%;background:#ffe55f;box-shadow:0 0 10px #ffd500}
.rsp-winner-badge{position:relative;display:grid;place-items:center;width:104px;height:104px;margin:0 auto 8px;filter:drop-shadow(0 0 14px #ffcb0077)}
.rsp-winner-badge img{z-index:1;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.rsp-winner-badge svg{z-index:2;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:44px;height:44px;fill:none;stroke:#ffdf45;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px #000)}
.rsp-winner-card h2{margin:0;color:#fff;font:1000 italic clamp(30px,7vw,42px)/.98 system-ui,sans-serif;letter-spacing:-.025em;text-shadow:0 3px 0 #000,0 0 16px #ffbf002e}
.rsp-winner-card h2 span{color:#ffda16}
.rsp-winner-card h2.rsp-winner-title-art{margin:0 auto;width:100%;max-width:340px}
.rsp-winner-title-art img{display:block;max-width:100%;max-height:110px;width:auto;height:auto;margin:auto;object-fit:contain}
.rsp-winner-copy{max-width:325px;margin:13px auto 16px;color:#eee9d8;font:500 14px/1.45 system-ui,sans-serif}
.rsp-winner-form{margin:0}.rsp-winner-email-label{display:block;margin:0 0 12px;color:#f5eab8;text-align:left;font:700 12px/1.4 system-ui,sans-serif}
.rsp-winner-email-label[hidden],.rsp-winner-account[hidden],.rsp-winner-form[hidden]{display:none!important}
.rsp-winner-email{display:block;width:100%;min-height:46px;margin:6px 0 0;padding:10px 13px;border:1px solid #ac9a58;border-radius:8px;background:#080909e8;color:#fff;font:500 15px/1.3 system-ui,sans-serif}
.rsp-winner-email:focus-visible,.rsp-winner-submit:focus-visible,.rsp-winner-close:focus-visible{outline:3px solid #fff4a7;outline-offset:3px}
.rsp-winner-account{margin:0 0 13px;color:#f2e5ae;font:600 12px/1.4 system-ui,sans-serif}
.rsp-winner-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:10px 18px;border:1px solid #ffef96;border-radius:999px;background:linear-gradient(180deg,#fff18e 0%,#ffd20b 30%,#e1a900 100%);box-shadow:inset 0 1px 1px #fff9,0 4px 0 #806000,0 6px 14px #0009;color:#181300;font:1000 14px/1.2 system-ui,sans-serif;letter-spacing:.055em;cursor:pointer}
.rsp-winner-submit span{font-size:22px;line-height:.7}.rsp-winner-submit:hover{filter:brightness(1.08)}.rsp-winner-submit:disabled{opacity:.65;cursor:wait}
.rsp-winner-message{min-height:0;margin:0;color:#ffd775;font:600 12px/1.4 system-ui,sans-serif}.rsp-winner-message:not(:empty){margin:0 0 12px}.rsp-winner-result{margin:14px 0;color:#fff4ba;font:700 14px/1.4 system-ui,sans-serif}
.rsp-winner-footnote{margin:17px 0 0;color:#c1bda7;font:500 10px/1.35 system-ui,sans-serif}
.rsp-winner-confetti{position:fixed;z-index:1;inset:0;overflow:hidden;pointer-events:none}.rsp-winner-confetti i{position:absolute;top:-20px;left:var(--x);width:var(--w);height:var(--h);border-radius:2px;background:var(--c);opacity:0;animation:rsp-confetti-fall var(--duration) var(--delay) linear infinite}.rsp-winner-confetti .rsp-confetti-star{border-radius:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 93%,50% 72%,21% 93%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 3px #ffdf65)}
@keyframes rsp-confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}10%{opacity:1}88%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(var(--spin))}}
@keyframes rsp-winner-enter{0%{opacity:0;transform:translateY(35px) scale(.83)}65%{opacity:1;transform:translateY(-5px) scale(1.025)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes rsp-winner-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(24px) scale(.9)}}
@keyframes rsp-winner-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes rsp-winner-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:480px){.rsp-winner-overlay{padding:12px}.rsp-winner-card{max-height:calc(100vh - 24px);padding:23px 20px 20px}.rsp-winner-badge{width:88px;height:88px}.rsp-winner-copy{font-size:13px}}
@supports(height:100dvh){.rsp-winner-card{max-height:calc(100dvh - 36px)}@media(max-width:480px){.rsp-winner-card{max-height:calc(100dvh - 24px)}}}
@media(prefers-reduced-motion:reduce){.rsp-winner-overlay,.rsp-winner-overlay.is-closing,.rsp-winner-card,.rsp-winner-overlay.is-closing .rsp-winner-card,.rsp-winner-confetti i{animation:none}.rsp-winner-confetti{display:none}}

.rsp-winner-bg{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

.rsp-winner-actions[hidden],.rsp-winner-code[hidden]{display:none!important}
.rsp-winner-claim{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:10px 18px;border:1px solid #ffef96;border-radius:999px;background:linear-gradient(180deg,#fff18e 0%,#ffd20b 30%,#e1a900 100%);box-shadow:inset 0 1px 1px #fff9,0 4px 0 #806000,0 6px 14px #0009;color:#181300;font:1000 14px/1.2 system-ui,sans-serif;letter-spacing:.055em;cursor:pointer}
.rsp-winner-claim span{font-size:22px;line-height:.7}.rsp-winner-claim:disabled{opacity:.65;cursor:wait}.rsp-winner-or{margin:16px 0 12px;color:#d4c89a;font:800 10px/1.3 system-ui,sans-serif;letter-spacing:.09em}
.rsp-winner-code label{display:block;color:#f5eab8;font:800 11px/1.4 system-ui,sans-serif;letter-spacing:.08em}.rsp-winner-code-value{display:block;width:100%;margin:8px 0;padding:12px;border:1px solid #e9c22e;border-radius:8px;background:#080909;color:#ffe065;text-align:center;font:900 20px/1.2 system-ui,sans-serif;letter-spacing:.08em}.rsp-winner-code p{color:#eee9d8;font:500 13px/1.4 system-ui,sans-serif}.rsp-winner-copy-code,.rsp-winner-email-instead{min-height:38px;margin:4px;padding:8px 15px;border:1px solid #d5b435;border-radius:999px;background:#17150c;color:#ffdf4d;font:800 11px/1.2 system-ui,sans-serif;cursor:pointer}.rsp-winner-claim:focus-visible,.rsp-winner-copy-code:focus-visible,.rsp-winner-email-instead:focus-visible,.rsp-winner-code-value:focus-visible{outline:3px solid #fff4a7;outline-offset:3px}

.rsp-winner-launcher[hidden]{display:none!important}
.rsp-winner-launcher{position:fixed;right:20px;bottom:20px;z-index:2147482999;display:grid;place-items:center;width:62px;height:62px;padding:13px;border:2px solid #ffe477;border-radius:50%;background:radial-gradient(circle at 35% 25%,#584700,#171408 58%,#050505);box-shadow:0 0 0 3px #15120a,0 0 22px #ffcf0099,0 5px 18px #000a;color:#ffdf40;cursor:pointer}
.rsp-winner-launcher svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.rsp-winner-launcher:hover{filter:brightness(1.2)}.rsp-winner-launcher:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:480px){.rsp-winner-launcher{right:14px;bottom:14px;width:56px;height:56px}}

/* A brighter prize reveal, with the existing badge artwork kept in the foreground. */
.rsp-winner-badge{animation:rsp-prize-badge-in .3s cubic-bezier(.16,.8,.2,1) both,rsp-prize-breathe 3.5s .3s ease-in-out infinite}
.rsp-winner-badge:before{content:"";position:absolute;z-index:0;inset:-42%;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0deg 14deg,#ffd53eaa 15deg 18deg,transparent 19deg 30deg);mask-image:radial-gradient(circle,transparent 24%,#000 35%,transparent 72%);-webkit-mask-image:radial-gradient(circle,transparent 24%,#000 35%,transparent 72%);pointer-events:none;animation:rsp-prize-rays 5.5s .08s ease-out infinite}
.rsp-winner-card h2{animation:rsp-prize-title-in .3s .04s cubic-bezier(.15,.85,.25,1) both}
@keyframes rsp-prize-badge-in{0%{opacity:0;transform:scale(.48)}65%{opacity:1;transform:scale(1.13)}100%{opacity:1;transform:scale(1)}}
@keyframes rsp-prize-breathe{0%,100%{filter:drop-shadow(0 0 12px #ffcb0077)}50%{filter:drop-shadow(0 0 22px #ffcb00cc)}}
@keyframes rsp-prize-rays{0%{opacity:0;transform:scale(.4) rotate(-25deg)}8%{opacity:1;transform:scale(1) rotate(0)}31%,100%{opacity:0;transform:scale(1.25) rotate(20deg)}}
@keyframes rsp-prize-title-in{0%{opacity:0;transform:translateY(14px) scale(.92)}65%{opacity:1;transform:translateY(-2px) scale(1.04)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.rsp-winner-badge,.rsp-winner-badge:before,.rsp-winner-card h2{animation:none}.rsp-winner-badge:before{display:none}}
