/* MERIVA independent gift reveal component */
.reward-banner{--reward-green:#123f2d;--reward-gold:#f0b82c;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:190px;margin:22px 0 42px;padding:27px 24px 24px;border:1px solid #d0e2c8;border-radius:23px;background:radial-gradient(ellipse at 10% 40%,#f8fbebd4,transparent 58%),linear-gradient(115deg,#e9f2df,#deecd6 58%,#cce3c1);box-shadow:0 12px 28px #214d2f0b;overflow:hidden;transition:background .5s}
.reward-banner:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(ellipse at 25% 50%,#fff4aa 0,transparent 65%);transition:opacity .65s}.reward-banner.is-open:before{opacity:.9}
.reward-demo{position:absolute;right:16px;top:10px;font-size:8px;letter-spacing:1px;color:#617b5b}
.reward-trigger{display:flex;align-items:center;min-width:0;gap:20px;cursor:pointer;outline-offset:5px;border-radius:12px}.reward-trigger:focus-visible,.reward-invite:focus-visible{outline:2px solid #416f46;outline-offset:4px}
.reward-art{position:relative;width:160px;height:144px;flex-shrink:0;perspective:600px;pointer-events:none}.reward-gift{position:absolute;inset:0;filter:drop-shadow(0 12px 7px #1643262b);transform-origin:50% 85%}.gift-body{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.gift-lid{position:absolute;left:0;top:-20%;width:100%;height:65%;overflow:visible;transform-origin:45% 80%;transition:transform .65s cubic-bezier(.2,.9,.25,1)}.gift-coin{position:absolute;right:-3px;bottom:0;width:38px;height:38px;border:3px solid #ffd67d;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe17a,#e5a623);color:#956010;box-shadow:2px 3px 0 #ba7716;font-size:25px;font-weight:bold;transform:rotate(13deg)}.gift-glow{position:absolute;width:100%;height:110%;top:-24%;left:0;background:radial-gradient(ellipse,#fff5a2aa,transparent 70%);opacity:0;transform:scale(.4);transition:opacity .6s,transform .7s}.gift-radiance{position:absolute;width:110%;height:130%;top:-45%;left:0;background:conic-gradient(from -30deg at 50% 100%,transparent 0deg,#fff9b8bb 10deg,transparent 20deg,#fff3a396 30deg,transparent 40deg,#fff4a777 50deg,transparent 60deg,#fff3a3aa 70deg,transparent 90deg);opacity:0;filter:blur(2px);clip-path:polygon(50% 100%,0 0,100% 0);transition:opacity .5s}
.reward-copy{min-width:0;position:relative}.reward-copy h3{font-size:21px;line-height:1.35;color:var(--reward-green);margin:0 0 7px;letter-spacing:-.3px}.reward-description{font-size:12px;color:#59715a;margin:0;line-height:1.65}.reward-amount{display:flex;align-items:baseline;gap:8px;position:absolute;inset:26px auto auto 0;opacity:0;transform:scale(.75);transform-origin:left center;pointer-events:none}.reward-amount strong{font-size:64px;line-height:1;color:#f4b829;letter-spacing:-3px;text-shadow:0 1px 0 #ffed9d,1px 3px 0 #b47714,0 5px 18px #d69e3438;-webkit-text-stroke:.6px #b88218}.reward-amount span{font-size:27px;font-weight:800;color:var(--reward-green)}.reward-replay{font-size:10px;color:#7b8b70;margin:4px 0 0;opacity:0;pointer-events:none}
.reward-invite{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;z-index:3;min-height:42px;padding:10px 20px;border:1px solid #ffffff22;border-radius:28px;color:white;background:linear-gradient(130deg,#20563d,#0c3529);box-shadow:0 5px 10px #244f3220;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.reward-invite b{font-size:20px;font-weight:400;line-height:1}.reward-invite:active{transform:translateY(1px)}.reward-invite:hover{background:#205e40}
.reward-feedback{display:none;grid-column:1/-1;position:relative;z-index:4;margin:0;color:#38563e;font-size:11px;padding-top:4px}.reward-feedback:not(:empty){display:block}
.reward-particles{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.reward-particle{position:absolute;display:block;font-style:normal;will-change:transform,opacity}.particle-0{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#fff1a8,#efb635);border:1px solid #e1ad31;color:#b07b17;font-size:14px;box-shadow:1px 2px 0 #b28a26}.particle-1{color:#e6b445;font-size:24px;text-shadow:0 0 6px #ffe7a3}.particle-2{width:7px;height:16px;border-radius:2px;background:linear-gradient(#82ab68,#2e7152)}
.is-shaking .reward-gift{animation:gift-shake .9s ease-in-out both}.is-open .gift-lid{transform:translate(-5%,-45%) rotate(-16deg)}.is-open .gift-glow{opacity:1;transform:scale(1.35)}.is-open .gift-radiance{opacity:.8}.is-open:not(.is-settled) .reward-gift{animation:gift-pop .65s ease-out both}.is-revealed .reward-amount{opacity:1;transform:scale(1);transition:opacity .45s,transform .6s cubic-bezier(.16,1.6,.35,1)}.is-revealed .reward-description{opacity:0}.is-revealed .reward-copy h3{transform:translateY(-16px);font-size:17px;transition:transform .4s,font-size .4s}.is-revealed .reward-replay{opacity:1;transform:translateY(62px)}.is-settled .gift-radiance{opacity:.4}.is-settled .gift-glow{opacity:.65}
@keyframes gift-shake{0%,100%{transform:rotate(0)}15%,45%,75%{transform:rotate(-7deg)}30%,60%,90%{transform:rotate(6deg)}}@keyframes gift-pop{0%{transform:translateY(0)}45%{transform:translateY(-11px)}100%{transform:translateY(0)}}
@media(max-width:680px){.reward-banner{grid-template-columns:112px minmax(0,1fr);column-gap:12px;min-height:198px;padding:25px 15px 20px;margin-bottom:36px;border-radius:19px}.reward-trigger{display:contents}.reward-art{width:112px;height:126px;grid-row:1/3;grid-column:1;align-self:center;margin-top:12px}.reward-copy{grid-column:2;align-self:end;min-height:67px}.reward-copy h3{font-size:16px;line-height:1.45;margin:0 0 6px}.reward-description{font-size:10px;line-height:1.6}.reward-invite{grid-column:2;justify-self:start;align-self:start;min-height:36px;padding:7px 17px;font-size:11px;margin-top:2px}.reward-amount{top:24px;gap:6px}.reward-amount strong{font-size:48px}.reward-amount span{font-size:20px}.reward-replay{display:none}.is-revealed .reward-copy h3{font-size:11px;transform:translateY(-10px)}.reward-banner.is-revealed .reward-invite{margin-top:14px}.gift-coin{width:31px;height:31px;font-size:20px}.reward-demo{font-size:7px}.reward-trigger:focus-visible .reward-copy{outline:2px solid #658154;outline-offset:3px;border-radius:5px}}
@media(max-width:350px){.reward-banner{grid-template-columns:88px minmax(0,1fr);gap:10px;padding-inline:12px}.reward-art{width:88px;height:108px}.reward-copy h3{font-size:14px}.reward-amount strong{font-size:40px}.reward-amount span{font-size:17px}}
@media(prefers-reduced-motion:reduce){.reward-banner *{animation:none!important;transition:none!important}}

/* Premium material revision: actual studio-rendered satin gift, independently animated layers. */
.reward-banner{min-height:230px;padding:30px 28px;column-gap:18px;background:radial-gradient(ellipse at 15% 50%,#f5faeccc,transparent 65%),linear-gradient(115deg,#eaf3e3,#dcecd3 70%,#d2e7c9);border-radius:25px;box-shadow:0 12px 30px #214d2f0d,inset 0 1px 0 #ffffffcc}
.reward-art{width:200px;height:175px;margin:0;isolation:isolate}.reward-trigger{gap:28px}.reward-gift{filter:drop-shadow(0 13px 9px #33543220);inset:0}
.gift-premium{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.gift-body{clip-path:polygon(0 44%,8% 44.5%,69.5% 53%,92% 39.5%,100% 35%,100% 100%,0 100%);z-index:2}
.gift-lid{clip-path:polygon(0 0,100% 0,100% 35.2%,92% 39.7%,69.5% 53.2%,8% 44.7%,0 44.2%);height:100%;z-index:4;transform-origin:50% 48%;transition:transform .75s cubic-bezier(.16,.85,.25,1)}
.gift-interior{position:absolute;left:8%;top:36%;width:84%;height:20%;background:linear-gradient(150deg,#faf0b1,#0d3c2c 30%,#082d21 70%);clip-path:polygon(0 42%,32% 0,100% 20%,73% 100%);z-index:1;opacity:0;transition:opacity .3s}.is-open .gift-interior{opacity:1}
.gift-coin-premium{position:absolute;right:-3px;bottom:-1px;width:47px;height:49px;transform:rotate(14deg);z-index:5;filter:drop-shadow(0 6px 4px #91672224)}
.gift-glow{z-index:3;width:120%;left:-10%;top:-15%;height:110%;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,#fffce9 0,#ffed9baa 24%,#ffe27b35 48%,transparent 70%)}
.gift-radiance{z-index:3;left:-25%;top:-42%;width:150%;height:100%;background:repeating-conic-gradient(from -50deg at 50% 100%,transparent 0deg 9deg,#fff9c69c 12deg 17deg,transparent 20deg 29deg);clip-path:polygon(50% 100%,0 0,100% 0);filter:blur(1px)}
.is-open .gift-lid{transform:translate(-5%,-29%) rotate(-17deg)}.is-settled .gift-lid{transform:translate(-7%,-25%) rotate(-14deg)}.is-settled .gift-glow{opacity:.45}.is-settled .gift-radiance{opacity:.24}
.reward-copy h3{font-size:24px;font-weight:800;letter-spacing:-.5px}.reward-description{font-size:14px}.reward-invite{padding:13px 25px;font-size:15px;box-shadow:inset 0 1px 2px #ffffff44,0 5px 10px #2b603428}.reward-amount{top:25px}.reward-amount strong{font-size:78px;background:linear-gradient(130deg,#ffea91 4%,#f4c343 36%,#eba720 70%,#fbc64c);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(1px 3px 0 #ab7312) drop-shadow(0 5px 10px #dfb85e33);-webkit-text-stroke:.7px #b4851f;letter-spacing:-4px}.reward-amount span{font-size:32px;text-shadow:0 1px 0 #f5fff0}.is-revealed .reward-copy h3{font-size:17px;transform:translateY(-22px)}.is-revealed .reward-replay{transform:translateY(75px)}
.reward-demo{color:#6c8365;font-size:8px;top:12px;right:18px;letter-spacing:1px}
@media(max-width:680px){.reward-banner{grid-template-columns:128px minmax(0,1fr);grid-template-rows:100px 42px;gap:0 14px;min-height:216px;padding:35px 17px 25px;border-radius:22px}.reward-art{grid-row:1/3;align-self:center;width:142px;height:160px;margin-left:-9px;margin-top:4px}.reward-copy{grid-row:1;align-self:center;min-height:82px}.reward-copy h3{font-size:17px;line-height:1.4;letter-spacing:-.3px;margin-bottom:8px}.reward-description{font-size:11px;line-height:1.65}.reward-invite{grid-row:2;align-self:end;justify-self:start;margin:0!important;padding:8px 17px;font-size:12px;min-height:38px}.reward-amount{top:26px;gap:6px}.reward-amount strong{font-size:56px;letter-spacing:-3px}.reward-amount span{font-size:23px;letter-spacing:-.5px}.is-revealed .reward-copy h3{font-size:12px;line-height:1.45;transform:translateY(-13px)}.gift-coin-premium{width:39px;height:40px;right:0;bottom:0}.reward-feedback:not(:empty){margin-top:10px}.reward-demo{font-size:7px;right:14px;top:10px}}
@media(max-width:350px){.reward-banner{grid-template-columns:106px minmax(0,1fr);column-gap:9px;padding-inline:14px;grid-template-rows:98px 40px}.reward-art{width:123px;height:145px;margin-left:-9px}.reward-copy h3{font-size:15px}.reward-description{font-size:10px}.reward-amount strong{font-size:48px}.reward-amount span{font-size:20px}.is-revealed .reward-copy h3{font-size:10px}.reward-invite{font-size:11px;padding:8px 14px}}

/* One-second anticipation, then a lightweight ribbon burst. */
.reward-art{width:190px;height:190px}.is-shaking .reward-gift{animation:gift-shake 1s ease-in-out both}.particle-2,.particle-3,.particle-4{width:9px;height:24px;border-radius:50% 12% 45% 20%;background:linear-gradient(100deg,#1f6248,#73aa6d 50%,#1c5b40);box-shadow:inset 1px 0 0 #b6d6a3}.particle-3{height:18px;width:7px;background:linear-gradient(100deg,#bf8420,#ffe48b,#d5a533)}.particle-4{width:12px;height:22px;background:linear-gradient(110deg,#124b35,#509965,#a3cb8c)}
@media(max-width:680px){.reward-art{width:142px;height:142px}}@media(max-width:350px){.reward-art{width:123px;height:123px}}
@keyframes gift-shake-gentle{0%,100%{transform:rotate(0)}15%,45%,75%{transform:rotate(-2.5deg)}30%,60%,90%{transform:rotate(2.5deg)}}
@media(prefers-reduced-motion:reduce){.reward-banner.is-shaking .reward-gift{animation:gift-shake-gentle 1s ease-in-out both!important}.reward-banner .gift-lid{transition:transform .45s ease-out!important}.reward-banner .reward-amount{transition:opacity .25s!important}.reward-banner .gift-radiance{display:none}}

/* Keep a real focusable trigger box on narrow screens. */
@media(max-width:680px){.reward-trigger{display:grid;grid-column:1/-1;grid-row:1/3;grid-template-columns:128px minmax(0,1fr);grid-template-rows:100px 42px;column-gap:14px;gap:0 14px}.reward-trigger:focus-visible{outline:2px solid #416f46;outline-offset:3px}.reward-art{grid-column:1}.reward-copy{grid-column:2}}
@media(max-width:350px){.reward-trigger{grid-template-columns:106px minmax(0,1fr);grid-template-rows:98px 40px;column-gap:9px}}

/* Suppress mobile tap/selection overlay; retain keyboard focus indication. */
.reward-banner,.reward-banner *{-webkit-tap-highlight-color:transparent}
.reward-trigger,.reward-art,.reward-copy,.reward-invite{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.reward-trigger img{-webkit-user-drag:none}
.reward-trigger:focus:not(:focus-visible),.reward-invite:focus:not(:focus-visible){outline:none}
