.ff-reward-reveal{position:fixed;inset:0;z-index:20000;isolation:isolate;display:grid;place-items:center;overflow:auto;padding:70px 24px 35px;color:#fff;background:radial-gradient(ellipse at 50% 35%,#294940,#111c22 68%);text-align:center}
.reward-close{position:absolute;right:max(23px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));width:46px;height:46px;border-radius:50%;background:#ffffff0e;border:1px solid #ffffff33;color:#fff;font:28px var(--sans);z-index:10}
.reward-ambient{position:absolute;inset:0;z-index:-2;background:repeating-conic-gradient(from 0deg at 50% 40%,transparent 0deg 20deg,#c2ffe709 22deg 24deg,transparent 26deg 40deg);mask-image:radial-gradient(ellipse at 50% 40%,#000,transparent 65%);animation:reward-rays 18s linear infinite}
.reward-reveal-copy{position:relative;width:min(590px,100%);z-index:2}.reward-reveal-kicker{font:600 12px/1.5 var(--sans);letter-spacing:.15em;color:#b8ebd8}.reward-object{position:relative;display:flex;align-items:center;justify-content:center;height:310px;width:100%;margin:14px auto 0;perspective:1000px;animation:reward-arrive 1s cubic-bezier(.2,.7,.2,1) both}.reward-object:before{content:'';position:absolute;inset:18% 8% 0;background:radial-gradient(ellipse,#b6e8d629,transparent 65%);filter:blur(25px);z-index:-1}.reward-object>.ff-badge-object{height:295px!important;width:auto!important;max-width:100%;margin:0!important;filter:drop-shadow(0 13px 15px #0006)}.reward-object .ff-ball-art{width:300px;height:300px;max-width:95%;filter:drop-shadow(0 20px 16px #0006)}.reward-cart{position:relative;display:block;height:290px;width:200px;transform:rotate(-10deg);filter:drop-shadow(14px 20px 13px #0006)}.reward-cart>img{width:100%;height:100%;object-fit:contain}.reward-cart>span{position:absolute;left:31%;top:40%;width:38%;height:auto}.reward-cart .ff-roof-mark{width:100%;height:auto}
.reward-reveal-title h2{font:650 clamp(34px,4vw,48px)/1.08 var(--sans)!important;letter-spacing:-.05em;color:#fff!important;margin:15px 0 14px!important;text-wrap:balance}.reward-reveal-title p{font:16px/1.7 var(--sans);color:#d1dfd6;max-width:430px;margin:0 auto 14px;text-wrap:balance}.reward-reveal-detail{display:block;font:13px/1.6 var(--sans);color:#a5beaf;margin-bottom:27px}.reward-continue{min-height:54px!important;padding:15px 30px!important;background:#9ee9ce!important;color:#153b2d!important;border:0!important;border-radius:13px!important;font:600 16px var(--sans)!important}.reward-reveal-count{display:block;font:10px/1.6 var(--mono);letter-spacing:.08em;margin:22px 0 0;color:#9db8a8}
.reward-sparks{position:absolute;left:50%;top:38%;width:0;height:0;z-index:1;pointer-events:none}.reward-sparks i{display:block;position:absolute;width:5px;height:11px;background:#afeed6;border-radius:1px;transform:rotate(var(--burst-angle)) translateY(0);opacity:0;animation:reward-spark 1.7s var(--burst-delay) cubic-bezier(.1,.5,.2,1) both}.reward-sparks i:nth-child(3n){background:#e8d4a1}.reward-sparks i:nth-child(4n){width:4px;height:4px;background:#fff;border-radius:50%}.ff-reward-reveal :focus-visible{outline:3px solid #fff;outline-offset:5px}
@keyframes reward-arrive{0%{opacity:0;transform:translateY(45px) scale(.65) rotateY(-30deg)}65%{opacity:1;transform:translateY(-8px) scale(1.04) rotateY(8deg)}100%{transform:none;opacity:1}}@keyframes reward-spark{0%{opacity:0;transform:rotate(var(--burst-angle)) translateY(20px) scale(.5)}18%{opacity:1}70%{opacity:.8}100%{opacity:0;transform:rotate(var(--burst-angle)) translateY(var(--burst-length)) rotate(70deg) scale(.3)}}@keyframes reward-rays{to{transform:rotate(360deg)}}
/* A presentation tray keeps every name and milestone separate from the metal. */
.training-progress-hub .training-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.training-progress-hub .training-badge-card{display:flex;flex-direction:column;min-height:0;padding:0;border:1px solid #d6ddd5;border-radius:17px;background:#fcfbf5;overflow:hidden;text-align:left;box-shadow:0 6px 15px #1e302807;color:#2a3d33;isolation:isolate}.training-badge-card:before,.training-badge-card:after{display:none!important}.training-badge-card .badge-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;padding:18px 20px;width:100%;min-height:52px;background:#f7f7ef;z-index:1}.training-badge-card .badge-edition{font:10px/1.4 var(--sans);letter-spacing:.07em;color:#5f6e65}.training-badge-card .badge-state{font:600 9px/1.5 var(--sans);color:#65776a;white-space:nowrap}.training-badge-card.earned .badge-state{color:#207758}.training-badge-card .badge-showcase{position:relative;inset:auto;display:grid;place-items:center;min-height:230px;height:230px;width:100%;margin:0;background:radial-gradient(ellipse at 50% 25%,#c8d6cd,#dde4da 60%,#c9d5cb);overflow:hidden}.training-badge-card .badge-showcase:before{content:'';position:absolute;left:15%;right:15%;bottom:13px;height:14px;background:radial-gradient(ellipse,#263b2940,transparent 65%)}.training-badge-card.earned .badge-showcase{background:radial-gradient(ellipse at 50% 18%,#526669,#23353b 58%,#14262e)}.training-badge-card .ff-badge-object{width:193px!important;height:auto!important;margin:0!important;aspect-ratio:240/260;max-width:90%;transform:none!important;filter:drop-shadow(3px 8px 5px #10291f36)}.training-badge-card.earned .ff-badge-object{filter:drop-shadow(3px 9px 6px #0008)}.training-badge-card .badge-card-copy{position:relative;inset:auto;padding:23px 23px 18px;display:block;min-height:140px}.training-badge-card .badge-card-copy h4{font:600 23px/1.15 var(--sans);color:#233a2c;letter-spacing:-.025em;margin:0 0 12px!important;text-wrap:balance}.training-badge-card .badge-card-description{display:block;font:15px/1.6 var(--sans);color:#617063}.training-badge-card .badge-card-footer{position:relative;inset:auto;display:block;margin-top:auto;padding:0 23px 21px;width:100%}.training-badge-card .badge-progress-meta{display:flex;justify-content:space-between;gap:10px;color:#4b6654;font:10px/1.5 var(--sans);letter-spacing:.03em}.training-badge-card .badge-progress-track{display:block;width:100%;height:5px;background:#dfe5db;margin:10px 0 13px;border-radius:5px;overflow:hidden}.training-badge-card .badge-progress-track>span{display:block;background:#448d70;height:100%;border-radius:5px}.training-badge-card .badge-material-label{display:block;font:11px/1.5 var(--sans);color:#7c8779;letter-spacing:0}.training-badge-card:hover{box-shadow:0 12px 27px #17322212;transform:translateY(-3px);transition:transform .2s,box-shadow .2s}.badge-collection-intro h3{font-size:31px;letter-spacing:-.035em}.badge-collection-intro p{font-size:16px;line-height:1.7;color:#5b705f}
@media(max-width:1000px){.training-progress-hub .training-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.training-progress-hub .training-badge-grid{grid-template-columns:1fr;gap:22px}.training-badge-card .badge-showcase{height:245px;min-height:245px}.training-badge-card .ff-badge-object{width:207px!important}.training-badge-card .badge-card-copy{min-height:0;padding:24px 25px 21px}.training-badge-card .badge-card-copy h4{font-size:26px}.training-badge-card .badge-card-description{font-size:16px}.training-badge-card .badge-card-footer{padding:0 25px 24px}.training-badge-card .badge-card-heading{padding-inline:25px}.training-badge-card .badge-state{font-size:10px}.reward-object{height:270px}.reward-object>.ff-badge-object{height:260px!important}.reward-object .ff-ball-art{width:260px;height:260px}.reward-cart{height:260px;width:185px}.reward-reveal-kicker{font-size:10px}.ff-reward-reveal{padding:73px 24px 29px}.reward-reveal-title h2{font-size:36px!important}.reward-reveal-title p{font-size:16px}.reward-reveal-count{font-size:8px}}
@media(max-height:680px){.reward-object{height:210px}.reward-object>.ff-badge-object{height:205px!important}.reward-object .ff-ball-art{width:210px;height:210px}.reward-cart{height:210px;width:155px}.reward-reveal-title h2{font-size:31px!important;margin-top:10px!important}.reward-reveal-title p{font-size:14px}.reward-reveal-detail{margin-bottom:20px;font-size:12px}.reward-reveal-count{margin-top:17px}.ff-reward-reveal{padding-top:60px}}
@media(prefers-reduced-motion:reduce){.reward-ambient,.reward-object,.reward-sparks i{animation:none!important}.reward-sparks{display:none}.training-badge-card:hover{transform:none;transition:none}}
