@keyframes fpSpin{to{--fpA:360deg}}
@property --fpA{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes fpIn{0%{opacity:0;transform:translateY(60px) scale(.6) rotate(-4deg)}55%{opacity:1;transform:translateY(-10px) scale(1.06) rotate(1deg)}75%{transform:translateY(3px) scale(.985)}100%{opacity:1;transform:none}}
@keyframes fpRays{to{transform:rotate(360deg)}}
@keyframes fpPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,214,120,.7),0 12px 34px rgba(255,150,40,.5)}50%{transform:scale(1.045);box-shadow:0 0 0 18px rgba(255,214,120,0),0 12px 44px rgba(255,150,40,.75)}}
@keyframes fpSheen{0%{left:-60%}60%,100%{left:140%}}
@keyframes fpFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes fpBadge{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(-8deg) scale(1.1)}}
@keyframes fpTitle{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes fpConf{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@keyframes fpFade{from{opacity:0}to{opacity:1}}
#fp-pop{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at 50% 40%,rgba(60,30,110,.55),rgba(3,4,10,.9));backdrop-filter:blur(6px);animation:fpFade .4s both;font-family:Inter,system-ui,sans-serif}
#fp-pop.fp-out{opacity:0;transition:opacity .3s}
.fp-card{position:relative;width:min(500px,100%);border-radius:24px;padding:38px 30px 28px;text-align:center;color:#f4efe4;background:radial-gradient(90% 55% at 50% 0,rgba(255,200,90,.22),transparent 70%),linear-gradient(165deg,#1d1440,#0a0b1a 70%);animation:fpIn .9s cubic-bezier(.2,.9,.3,1.2) both;box-shadow:0 40px 120px rgba(0,0,0,.7),0 0 90px rgba(255,180,60,.25);overflow:hidden;isolation:isolate}
.fp-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;background:conic-gradient(from var(--fpA),#ffcf5e,#ff5fa2,#6a7bff,#3fe0ff,#ffcf5e);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fpSpin 3.5s linear infinite;pointer-events:none;z-index:3}
.fp-rays{position:absolute;left:50%;top:80px;width:760px;height:760px;margin:-380px 0 0 -380px;background:repeating-conic-gradient(rgba(255,220,130,.16) 0 6deg,transparent 6deg 18deg);-webkit-mask:radial-gradient(circle,#000,transparent 65%);mask:radial-gradient(circle,#000,transparent 65%);animation:fpRays 40s linear infinite;z-index:-1}
.fp-x{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.4);color:#fff;font-size:18px;cursor:pointer;z-index:5;transition:.2s}
.fp-x:hover{background:#c33;transform:rotate(90deg)}
.fp-badge{position:absolute;left:-6px;top:22px;padding:7px 34px;background:linear-gradient(90deg,#ff3d6e,#ff8a3d);color:#fff;font-weight:900;font-size:12px;letter-spacing:.16em;transform:rotate(-8deg);box-shadow:0 6px 18px rgba(255,60,100,.5);animation:fpBadge 1.4s ease-in-out infinite;z-index:4}
.fp-gift{font-size:70px;line-height:1;display:inline-block;animation:fpFloat 3s ease-in-out infinite;filter:drop-shadow(0 12px 20px rgba(255,190,70,.55))}
.fp-kicker{margin-top:6px;font-size:12px;font-weight:800;letter-spacing:.38em;color:#ffcf5e}
.fp-title{margin:8px 0 4px;font-size:clamp(28px,7vw,40px);line-height:1.05;font-weight:900;text-transform:uppercase;background:linear-gradient(90deg,#fff2c4,#ffcf5e,#ff8fd0,#8fb0ff,#fff2c4);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:fpTitle 5s ease-in-out infinite}
.fp-sub{color:#b9c2da;font-size:14px;margin-bottom:18px}
.fp-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;text-align:left}
.fp-list li{display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:14px;background:linear-gradient(90deg,rgba(255,207,94,.16),rgba(255,255,255,.04));border:1px solid rgba(255,207,94,.35);font-size:15px;line-height:1.35}
.fp-list b{color:#ffe08a}
.fp-list i{font-style:normal;font-size:26px}
.fp-cta{position:relative;display:block;overflow:hidden;padding:18px 20px;border-radius:16px;text-decoration:none;font-weight:900;font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:#2a1600;background:linear-gradient(180deg,#fff0b8,#ffc94d 55%,#e89a1c);animation:fpPulse 1.8s ease-in-out infinite}
.fp-cta::after{content:"";position:absolute;top:0;bottom:0;width:38%;left:-60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-20deg);animation:fpSheen 2.4s ease-in-out infinite}
.fp-later{margin-top:14px;background:none;border:0;color:#8791ab;font-size:13px;cursor:pointer;text-decoration:underline}
.fp-later:hover{color:#fff}
.fp-conf{position:fixed;width:9px;height:14px;border-radius:2px;pointer-events:none;z-index:2147483001;animation:fpConf 1.7s cubic-bezier(.2,.7,.3,1) forwards}
@media (prefers-reduced-motion:reduce){#fp-pop *,.fp-card,.fp-card::before{animation:none!important}}

#fp-pop .fp-title{-webkit-text-stroke:0!important;text-shadow:none!important;filter:drop-shadow(0 4px 14px rgba(255,180,60,.45));letter-spacing:.02em;margin-top:14px!important}
#fp-pop .fp-gift{margin-bottom:6px}
#fp-pop .fp-sub{margin-top:0}

/* ===== WOW ===== */
@keyframes fpSpark{0%{transform:translate3d(0,0,0) scale(.6);opacity:0}15%{opacity:1}100%{transform:translate3d(var(--dx),-105vh,0) scale(1.2);opacity:0}}
@keyframes fpShake{0%,78%,100%{transform:rotate(-3deg) scale(1)}80%{transform:rotate(-14deg) scale(1.18)}84%{transform:rotate(12deg) scale(1.2)}88%{transform:rotate(-10deg) scale(1.15)}92%{transform:rotate(7deg) scale(1.1)}96%{transform:rotate(-3deg) scale(1.05)}}
@keyframes fpBeam{0%{left:-70%}55%,100%{left:150%}}
@keyframes fpCrown{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.25)}}
@keyframes fpNeon{0%,100%{box-shadow:0 40px 120px rgba(0,0,0,.7),0 0 70px rgba(255,180,60,.3)}50%{box-shadow:0 40px 120px rgba(0,0,0,.7),0 0 140px rgba(255,120,200,.5),0 0 60px rgba(255,207,94,.6)}}
@keyframes fpArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@keyframes fpVig{0%,100%{opacity:.55}50%{opacity:1}}
#fp-pop::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,rgba(255,150,40,.22) 100%);animation:fpVig 2.4s ease-in-out infinite}
.fp-sparks{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.fp-sparks i{position:absolute;bottom:-14px;border-radius:50%;background:radial-gradient(circle,#fff6d0,#ffc94d 55%,rgba(255,150,30,0) 72%);animation:fpSpark linear infinite}
.fp-wrap{position:relative;width:min(520px,100%);transition:transform .12s ease-out;transform-style:preserve-3d;z-index:2}
.fp-wrap .fp-card{width:100%;animation:fpIn .9s cubic-bezier(.2,.9,.3,1.2) both,fpNeon 3s ease-in-out .9s infinite}
.fp-beam{position:absolute;top:-10%;bottom:-10%;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);animation:fpBeam 3.6s ease-in-out infinite;pointer-events:none;z-index:4}
.fp-gift{font-size:84px!important;animation:fpShake 3.2s ease-in-out infinite!important;transform-origin:50% 90%}
.fp-kicker{font-size:13px!important;letter-spacing:.42em!important}
.fp-title{font-size:clamp(32px,8vw,48px)!important;filter:drop-shadow(0 4px 22px rgba(255,170,50,.7))!important}
.fp-accts{display:flex;justify-content:center;gap:10px;margin:0 0 18px}
.fp-accts span{font-size:26px;display:inline-block;animation:fpCrown 1.3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(255,190,70,.6))}
.fp-accts span:nth-child(2){animation-delay:.12s}.fp-accts span:nth-child(3){animation-delay:.24s}.fp-accts span:nth-child(4){animation-delay:.36s}.fp-accts span:nth-child(5){animation-delay:.48s}
.fp-list li{font-size:16px!important;transition:transform .25s,border-color .25s}
.fp-list li:hover{transform:translateX(6px);border-color:#ffd96a}
.fp-cta{font-size:20px!important;padding:22px 20px!important}
.fp-cta::before{content:"→";position:absolute;right:22px;top:50%;margin-top:-13px;font-size:26px;animation:fpArrow .9s ease-in-out infinite}
@media (max-width:480px){.fp-gift{font-size:68px!important}.fp-accts span{font-size:22px}}
@media (prefers-reduced-motion:reduce){.fp-sparks,.fp-beam{display:none}.fp-gift,.fp-accts span,.fp-cta::before,#fp-pop::before,.fp-wrap .fp-card{animation:none!important}}
