/* One-shot, compositor-friendly reward. No animation loops or layout motion. */
.cava-reward{position:relative;isolation:isolate;width:min(100%,320px);min-height:290px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 12px 24px;text-align:center;color:var(--ink,#302c38)}
.cava-reward-blob{position:absolute;z-index:-1;inset:15px 17px 44px;background:#fae7ce;border-radius:55% 45% 60% 40% / 50% 62% 38% 50%;transform:rotate(-12deg)}
.cava-reward .cava-trophy{display:block;width:160px;height:170px;overflow:visible}
.cava-trophy-body{transform-box:fill-box;transform-origin:center bottom;animation:cava-trophy-arrive 560ms cubic-bezier(.2,.8,.25,1) both}
.cava-trophy-shadow{transform-box:fill-box;transform-origin:center;animation:cava-shadow-arrive 500ms ease-out both}
.cava-trophy-sparkles{transform-box:fill-box;transform-origin:center;animation:cava-sparkle-arrive 440ms 160ms ease-out both}
.cava-reward-count{display:block;font-size:20px;line-height:1.4;animation:cava-reward-copy 240ms 120ms ease-out both}
.cava-reward-note{display:block;max-width:100%;margin-top:14px;font-family:"Segoe Print","Comic Sans MS",cursive;font-style:italic;font-size:20px;line-height:1.45;transform:rotate(-5deg);color:#59445f;animation:cava-reward-copy 240ms 240ms ease-out both}
.cava-reward-note span{display:inline-block;margin-left:3px}
@keyframes cava-trophy-arrive{0%{opacity:0;transform:translateY(18px) scale(.68) rotate(-9deg)}65%{opacity:1;transform:translateY(-4px) scale(1.045) rotate(3deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes cava-shadow-arrive{from{opacity:0;transform:scale(.6)}to{opacity:.12;transform:scale(1)}}
@keyframes cava-sparkle-arrive{0%{opacity:0;transform:scale(.8)}65%{opacity:1;transform:scale(1.035)}100%{opacity:1;transform:scale(1)}}
@keyframes cava-reward-copy{from{opacity:0}to{opacity:1}}
@media(max-width:360px){.cava-reward{min-height:265px;padding-inline:6px}.cava-reward .cava-trophy{width:144px;height:153px}.cava-reward-blob{inset:15px 4px 38px}}
@media(prefers-reduced-motion:reduce){.cava-reward *,.cava-trophy *{animation:none!important}}
.reduce-motion .cava-reward *,.reduce-motion .cava-trophy *{animation:none!important}
