/* Finite celebration: impact → score → offer. All FX ignore pointer input. */
dialog.rush-celebration{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px 16px;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 35%,#25494b 0,#071c2aec 60%,#030e18fa 100%);overflow:auto;display:grid;place-items:center;isolation:isolate;box-shadow:none}
.rush-celebration::backdrop{background:#03101bec;backdrop-filter:blur(10px)}
.rush-celebration .modal-close{position:fixed;z-index:8;right:18px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid #dabc765e;background:#071c2de6;color:#ffe0a0;font-size:26px;line-height:1}
.rush-celebration #modal-content{width:min(440px,100%);position:relative}
.rush-fx{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.rush-coins{position:fixed;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.rush-rays{position:absolute;width:150vmax;height:150vmax;left:50%;top:40%;margin:-75vmax;background:repeating-conic-gradient(from 0deg,#e8ae2935 0deg 9deg,transparent 9deg 27deg);mask-image:radial-gradient(black 0,transparent 67%);animation:rush-rays-turn 9s ease-out both;opacity:.4}
.rush-shockwave{position:absolute;left:50%;top:40%;width:200px;height:200px;margin:-100px;border:7px solid #ffe8a7;border-radius:50%;box-shadow:0 0 65px #ffc340,inset 0 0 35px #ffc340;animation:rush-ring 1.05s cubic-bezier(.15,.6,.2,1) both}
.rush-result-card{position:relative;z-index:2;text-align:center;border:1px solid #deb866;border-radius:28px;padding:26px 28px 20px;background:radial-gradient(ellipse at 50% 0,#60502480,transparent 46%),linear-gradient(155deg,#102f39f5,#061d2a);box-shadow:0 0 0 5px #c99c2a0c,0 0 90px #d6a94326,inset 0 0 45px #f8d2800b;animation:rush-card-land .65s cubic-bezier(.17,.89,.32,1.2) both}
.rush-result-card:before,.rush-result-card:after{content:'✦';position:absolute;top:114px;font-size:32px;color:#ffde88;text-shadow:0 0 24px #ffd568;animation:rush-star-pop 1s .3s both}.rush-result-card:before{left:24px}.rush-result-card:after{right:24px;top:154px;font-size:19px}
.rush-medallion{width:102px;margin:-2px auto 12px;filter:drop-shadow(0 0 25px #ffbd3a70);animation:rush-medal .8s cubic-bezier(.16,1,.3,1) both}.rush-medallion svg{width:80px;height:61px;display:block;margin:auto}.rush-medallion>span{display:block;color:#eac779;font-size:6px;font-weight:900;letter-spacing:2px;margin-top:8px}
.rush-record-badge{font-size:9px;letter-spacing:1.5px;color:#ffe7a2;font-weight:900;background:#dfb04b1c;border:1px solid #d7b36566;border-radius:20px;padding:7px 14px;display:inline-block;animation:rush-badge .55s .45s both}
.rush-result-card h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(36px,6vw,48px);font-weight:950;line-height:.96;letter-spacing:-1.8px;margin:17px 0 12px;color:#fff3c7;text-shadow:0 3px 0 #8e671d,0 0 35px #ffd46a45;animation:rush-title .65s .15s both}
.rush-score-wrap{margin:12px 0 0}.rush-count{display:block;font-size:76px;font-weight:900;line-height:1;letter-spacing:-3px;font-variant-numeric:tabular-nums;color:#fff;filter:drop-shadow(0 0 20px #69e7d62b)}.rush-score-wrap>small{display:block;font-size:8px;letter-spacing:3px;color:#85cabc;margin-top:8px}.rush-record-line{color:#f2cb71;font-size:8px;letter-spacing:.7px;margin:12px 0}.rush-result-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;color:#9abac4;font-size:8px;letter-spacing:.4px}.rush-result-stats b{color:#d9b462}.rush-result-stars{color:#ffcf6b;font-size:22px;letter-spacing:8px;margin:10px 0 14px;text-shadow:0 0 13px #ffc34550}
.rush-reward{border-top:1px solid #b99c493b;padding-top:16px}.rush-offer-kicker{font-size:8px;font-weight:900;letter-spacing:2.2px;color:#f0d693;margin-bottom:10px}
.rush-claim{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;min-height:66px;width:100%;border-radius:13px;background:linear-gradient(170deg,#fff4b6 0%,#ffd366 36%,#ffb730 65%,#e99217 100%);border:1px solid #fff0ac;box-shadow:0 5px 0 #98601c,0 10px 30px #ffba3866;color:#1b2a2b;font-size:12px;font-weight:900;letter-spacing:.1px;animation:rush-cta-land .65s 1.1s backwards,rush-cta-pulse 1.25s 1.8s 3;transition:transform .15s,filter .15s}
.rush-claim>span:last-child{font-size:25px}.rush-claim small{display:block;font-size:7px;letter-spacing:1.3px;color:#72501b;margin-top:5px}.rush-claim .rush-gift{font-size:26px;color:#855217}.rush-claim:before{content:'';position:absolute;inset:-50% auto -50% -60%;width:30%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#fff9,transparent);animation:rush-sheen 1.3s 1.8s 3;pointer-events:none}.rush-claim:hover{filter:brightness(1.08);transform:translateY(-2px)}.rush-claim:active{transform:translateY(3px);box-shadow:0 2px 0 #98601c,0 4px 18px #ffba3844}.rush-claim:focus-visible{outline:3px solid #7cffdf;outline-offset:5px}
.rush-offer-terms{font-size:8px!important;line-height:1.7!important;color:#b0c1c5!important;margin:15px 0 0!important}.rush-replay{min-height:38px;margin:8px 0 0;border:0;background:none;color:#9dc7cd;font-size:9px;letter-spacing:1px}.rush-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes rush-card-land{0%{opacity:0;transform:scale(.74) translateY(25px)}70%{transform:scale(1.018)}100%{opacity:1;transform:none}}
@keyframes rush-ring{0%{opacity:0;transform:scale(.1)}16%{opacity:.75}100%{opacity:0;transform:scale(7)}}
@keyframes rush-rays-turn{0%{transform:rotate(-24deg) scale(.65);opacity:0}15%{opacity:.9}100%{transform:rotate(24deg) scale(1);opacity:.35}}
@keyframes rush-medal{0%{opacity:0;transform:translateY(-35px) scale(1.6) rotate(-12deg)}100%{opacity:1;transform:none}}
@keyframes rush-badge{0%{opacity:0;transform:scale(1.4)}100%{opacity:1;transform:none}}
@keyframes rush-title{0%{opacity:0;transform:scale(1.2)}100%{opacity:1;transform:none}}
@keyframes rush-star-pop{0%{opacity:0;transform:scale(0) rotate(-40deg)}70%{transform:scale(1.3) rotate(15deg)}100%{opacity:1;transform:none}}
@keyframes rush-cta-land{0%{opacity:0;transform:translateY(20px) scale(.86)}75%{transform:translateY(-2px) scale(1.025)}100%{opacity:1;transform:none}}
@keyframes rush-cta-pulse{0%,100%{box-shadow:0 5px 0 #98601c,0 10px 30px #ffba3866}50%{box-shadow:0 5px 0 #98601c,0 0 45px #ffd57999}}
@keyframes rush-sheen{0%{left:-60%}65%,100%{left:140%}}
@media(max-height:760px){dialog.rush-celebration{padding:14px}.rush-result-card{padding:19px 25px 12px}.rush-medallion{margin-bottom:9px}.rush-medallion svg{width:67px;height:49px}.rush-result-card h2{font-size:40px;margin:13px 0 10px}.rush-count{font-size:65px}.rush-result-stars{margin:8px 0 10px}.rush-reward{padding-top:12px}}
@media(max-width:500px){dialog.rush-celebration{padding:55px 18px 22px}.rush-result-card{padding:22px 20px 12px;border-radius:24px}.rush-result-card h2{font-size:43px}.rush-count{font-size:68px}.rush-claim{gap:9px;font-size:11px;min-height:66px}.rush-claim small{font-size:6px}.rush-offer-terms{font-size:8px!important}.rush-result-card:before{left:14px}.rush-result-card:after{right:16px}.rush-result-stats{font-size:7px}}
@media(max-height:620px){dialog.rush-celebration{place-items:start center;padding-top:50px}.rush-medallion{display:none}}
@media(prefers-reduced-motion:reduce){.rush-celebration *,.rush-celebration *:before,.rush-celebration *:after{animation:none!important;transition:none!important}.rush-shockwave,.rush-coins{display:none}.rush-rays{opacity:.2}.rush-claim{opacity:1;transform:none}}

.rush-settled *,.rush-settled *:before,.rush-settled *:after{animation:none!important;transition:none!important}.rush-settled .rush-shockwave{display:none}

/* Two clear choices: claim welcome benefits or continue the next level. */
.rush-replay{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin:13px 0 5px;padding:10px 14px;border:1px solid #9ef5df;border-radius:13px;background:linear-gradient(165deg,#3adbca,#1aa89e 55%,#11716f);box-shadow:0 4px 0 #064b4f,0 6px 23px #26bca02c;color:#032c32;font-size:13px;font-weight:900;letter-spacing:.7px;transition:transform .15s,filter .15s;animation:rush-cta-land .5s 1.2s backwards}.rush-replay b{margin-left:15px;font-size:20px}.rush-replay small{display:block;font-size:7px;letter-spacing:1.3px;margin-top:3px;color:#074e50}.rush-replay:hover{filter:brightness(1.1);transform:translateY(-1px)}.rush-replay:active{transform:translateY(3px);box-shadow:0 1px 0 #064b4f}.rush-replay:focus-visible{outline:3px solid #ffe396;outline-offset:4px}.rush-result-card .rush-offer-terms{margin-top:13px!important}.rush-result-stats{gap:6px}.rush-result-card{padding-bottom:22px}
@media(max-height:760px){.rush-result-card{padding-bottom:17px}.rush-medallion{margin-bottom:5px}.rush-medallion svg{height:43px}.rush-result-card h2{font-size:36px}.rush-result-stars{margin:6px 0 8px}}

/* Campaign goals and truthful retry states. */
.campaign-brief{padding:12px 20px 11px;background:#071e2d;border-top:1px solid #34515e;border-bottom:1px solid #34515e}.campaign-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.campaign-heading b{color:#ffe2a0}.campaign-heading span{color:#92e6dc;font-size:10px;font-variant-numeric:tabular-nums}.campaign-brief p{font-size:10px;color:#c1d5db;margin:7px 0}.goal-track{height:4px;border-radius:4px;background:#244352;overflow:hidden}.goal-track i{height:100%;display:block;background:linear-gradient(90deg,#3dd0bd,#ffe184);width:0;transition:width .12s}.stage-steps{display:flex;align-items:center;gap:6px;margin-top:8px}.stage-steps>span{display:grid;place-items:center;width:17px;height:17px;border:1px solid #375461;border-radius:50%;color:#789fac;font-size:8px}.stage-steps .current{background:#e9be66;border-color:#ffe3a0;color:#092432;font-weight:bold}.stage-steps small{margin-left:auto;color:#ffcf80;font-size:8px}.rush-target{font-size:10px;color:#b4d9d7;margin:8px 0 10px;font-variant-numeric:tabular-nums}.rush-missed .rush-rays{opacity:.15;animation:none}.rush-missed .rush-shockwave{display:none}.rush-missed .rush-record-badge{background:#3ddac217;color:#b7f5e7;border-color:#5bc9bb88}.rush-missed .rush-record-line{font-size:10px;color:#ffe7a1;line-height:1.5}.rush-missed .rush-result-card h2{text-shadow:0 2px 0 #346463;color:#d9fff2}.rush-missed .rush-medallion{filter:grayscale(.8);opacity:.65}.rush-missed .rush-result-card{border-color:#75b5ad}.rush-missed .rush-result-stars{font-size:19px}.rush-missed .rush-record-badge{animation:none}.rush-missed .rush-medallion{animation:none}
@media(max-width:500px){.campaign-brief{padding:11px 15px}.rush-result-card h2{font-size:38px}.rush-target{font-size:9px}.rush-medallion svg{height:50px}.rush-medallion{margin-bottom:8px}}
