.reward-ready{border:1px solid #00d7e8;border-radius:18px;padding:18px;margin-top:20px;background:linear-gradient(145deg,#10292f,#171320)}
.reward-ready h3{margin:0 0 8px;font-size:1.3rem;color:#00d7e8}.reward-barcode{background:#fff;border-radius:12px;padding:12px 8px;text-align:center;color:#090c10;margin:20px 0}.reward-barcode svg{display:block;width:100%;height:auto;min-height:90px}.reward-barcode code{display:block;font-size:clamp(.7rem,2.8vw,.95rem);overflow-wrap:anywhere;color:#090c10;letter-spacing:.05em}.reward-checking{font-size:.85rem;color:#c0d5d7}.reward-used{padding:16px;border:1px solid #00d7e8;border-radius:12px;color:#00d7e8}
.fw-celebration{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;overflow:hidden;background:#070b10c9;backdrop-filter:blur(6px);animation:fw-fade .2s ease-out}
.fw-catch{position:relative;z-index:2;box-sizing:border-box;text-align:center;max-width:360px;width:100%;padding:30px 24px 22px;border:1px solid #ff58a6;border-radius:26px;background:radial-gradient(ellipse at 50% 15%,#22474c,transparent 60%),#10161b;box-shadow:0 0 80px #00d7e826,0 0 32px #ff58a61c;animation:fw-catch-in .6s cubic-bezier(.18,.8,.2,1.15)}
.fw-catch-badge{font-size:10px;letter-spacing:.22em;color:#00d7e8;font-weight:700}.fw-hero-fish{display:block;width:155px;height:112px;margin:12px auto 0;color:#ff58a6;filter:drop-shadow(0 0 18px #ff58a666);animation:fw-fish-leap .85s cubic-bezier(.19,.82,.3,1.1)}
.fw-catch h2{font-size:clamp(36px,10vw,48px);letter-spacing:-.04em;line-height:1.05;margin:0 0 12px;color:#fff}.fw-catch p{font-size:17px;line-height:1.5;color:#c7d4d9;margin:0 auto 22px;max-width:255px}.fw-catch-close{background:#00d7e8;color:#061016;border:0;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:750;cursor:pointer}.fw-catch-close:focus-visible{outline:3px solid #fff;outline-offset:4px}
.fw-splash{position:absolute;inset:0;pointer-events:none;z-index:3}.fw-particle{position:absolute;left:50%;top:52%;width:9px;height:17px;background:var(--color);opacity:0;animation:fw-burst 2.5s var(--delay) cubic-bezier(.13,.7,.25,1) both}.fw-particle.bubble{border:2px solid var(--color);background:none;border-radius:50%;width:11px;height:11px}.fw-particle.tiny-fish{width:24px;height:14px;clip-path:polygon(0 0,28% 32%,48% 10%,76% 10%,100% 50%,76% 90%,48% 90%,28% 68%,0 100%,8% 50%)}.fw-particle.shimmer{border-radius:2px}
@keyframes fw-burst{0%{opacity:0;transform:translate(0,25px) scale(.4)}8%{opacity:1}65%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--spin)) scale(.6)}}
@keyframes fw-catch-in{from{opacity:0;transform:translateY(35px) scale(.92)}to{opacity:1;transform:none}}
@keyframes fw-fish-leap{0%{opacity:0;transform:translate(-65px,50px) rotate(-30deg) scale(.5)}65%{opacity:1;transform:translate(5px,-10px) rotate(8deg)}100%{transform:none}}
@keyframes fw-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.fw-celebration,.fw-catch,.fw-hero-fish,.fw-particle{animation:none!important}.fw-splash{display:none}.fw-celebration{backdrop-filter:none}}
.fw-hero-fish{width:220px;height:150px;margin:10px auto 2px;color:#ff58a6}.fw-hero-fish .fish-body{fill:#ff58a6;stroke:#ffadd3;stroke-width:2.3;stroke-linejoin:round}.fw-hero-fish .fish-detail{fill:none;stroke:#43102a;stroke-width:1.5;opacity:.75}.fw-hero-fish .fish-speckles{fill:none;stroke:#43102a;stroke-width:3;stroke-linecap:round;opacity:.75}.fw-hero-fish .crappie-eye-ring{fill:#10161b;stroke:#ffd0e4;stroke-width:2}.fw-hero-fish .fish-eye{fill:#ffb4d5}.fw-hero-fish .crappie-eye-glint{fill:#fff}.fw-particle.tiny-fish{width:32px;height:22px;clip-path:none;-webkit-mask:url('/crappie-silhouette.svg?v=12') center/contain no-repeat;mask:url('/crappie-silhouette.svg?v=12') center/contain no-repeat}

/* v9: subtle detail for the hero, bubbles only for the burst. */
.fw-hero-fish{filter:drop-shadow(0 0 12px #ff479622)}.fw-hero-fish .fish-body{fill:#ff4796;stroke:none}.fw-hero-fish .fish-detail{fill:none;stroke:#5c1538;stroke-width:1.5;opacity:.45;stroke-linecap:round}.fw-hero-fish .fish-eye{fill:#45132c}.fw-particle.bubble{border-width:1.5px;width:8px;height:8px}.fw-particle.bubble:nth-child(3n){width:5px;height:5px;background:var(--color)}
