/* ============================================================
   NEW RISE START · EFECTOS DE RECOMPENSA MULTIPLATAFORMA · v2.41
   Capa visual únicamente. Supabase/RPC mantiene la fuente de verdad.
   ============================================================ */
body.nr-reward-open{overflow:hidden;overscroll-behavior:none}
.nr-nrc-fx-layer{position:fixed;inset:0;z-index:25000;pointer-events:none;overflow:hidden;contain:layout paint style}
.nr-nrc-fx-coin{position:fixed;left:0;top:0;width:clamp(42px,7vw,76px);height:auto;will-change:transform,opacity;filter:drop-shadow(0 0 12px rgba(255,202,51,.82)) drop-shadow(0 0 22px rgba(34,255,174,.28));transform-origin:center}
.nr-nrc-credit-pill{position:fixed;left:50%;top:42%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:min(82vw,340px);padding:17px 28px;border:1px solid rgba(255,221,92,.78);border-radius:18px;background:linear-gradient(145deg,rgba(5,12,11,.95),rgba(46,35,4,.94));box-shadow:0 0 42px rgba(255,209,58,.25),0 20px 60px rgba(0,0,0,.48);color:#fff;text-align:center;backdrop-filter:blur(14px)}
.nr-nrc-credit-pill strong{font:900 clamp(28px,7vw,54px)/1 Orbitron,sans-serif;color:#ffe46f;letter-spacing:.04em;text-shadow:0 0 20px rgba(255,215,74,.55)}
.nr-nrc-credit-pill span{margin-top:7px;font:800 11px/1.2 Orbitron,sans-serif;color:#49ff9b;letter-spacing:.22em}

.nr-reward-celebration{position:fixed;inset:0;z-index:22000;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));isolation:isolate}
.nr-reward-celebration[hidden]{display:none!important}
.nr-reward-celebration__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 34%,rgba(0,145,98,.2),transparent 36%),radial-gradient(circle at 50% 74%,rgba(255,190,34,.12),transparent 34%),rgba(0,3,4,.945);backdrop-filter:blur(10px)}
.nr-reward-celebration__dialog{position:relative;z-index:1;width:min(100%,720px);max-height:calc(100dvh - 28px);overflow:auto;border:1px solid rgba(255,211,66,.42);border-radius:24px;background:linear-gradient(160deg,rgba(7,18,17,.988),rgba(3,7,8,.995));box-shadow:0 0 0 1px rgba(60,255,162,.08),0 32px 90px rgba(0,0,0,.72),0 0 50px rgba(0,255,152,.1);transition:width .28s ease}
.nr-reward-celebration.is-message-stage .nr-reward-celebration__dialog{width:min(92vw,820px)}

.nr-reward-video-stage{position:relative;display:grid;place-items:center;min-height:min(82dvh,820px);overflow:hidden;background:#020404}
.nr-reward-video-stage[hidden],.nr-reward-message-stage[hidden]{display:none!important}
.nr-reward-video{display:block;width:100%;height:min(82dvh,820px);object-fit:contain;background:#020404}
.nr-reward-video__loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:18px;color:#dfffee;text-align:center;pointer-events:none;transition:opacity .25s ease}
.nr-reward-celebration.is-playing .nr-reward-video__loading{opacity:0}
.nr-reward-video__loading span{width:54px;height:54px;border:3px solid rgba(255,255,255,.15);border-top-color:#4aff9e;border-right-color:#ffd64f;border-radius:50%;animation:nrRewardSpin .9s linear infinite}
.nr-reward-video__loading b{font:800 11px Orbitron,sans-serif;letter-spacing:.16em}
.nr-reward-skip{position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:10px 14px;background:rgba(0,0,0,.68);color:#d5dfdc;font:700 10px Orbitron,sans-serif;letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(8px)}
.nr-reward-skip:hover{border-color:#51ff9d;color:#fff}

/* Pantalla final de logro · inspirada en la identidad visual START */
.nr-reward-message-stage{position:relative;isolation:isolate;min-height:min(76dvh,680px);box-sizing:border-box;padding:28px 42px 30px;text-align:center;overflow:hidden;background:linear-gradient(155deg,rgba(0,13,14,.985),rgba(1,9,10,.995) 58%,rgba(1,5,7,.998))}
.nr-reward-message-stage:before{content:"";position:absolute;inset:0;z-index:-4;background:radial-gradient(circle at 50% 17%,rgba(57,255,151,.13),transparent 20%),radial-gradient(circle at 88% 18%,rgba(41,255,132,.13),transparent 28%),radial-gradient(circle at 50% 100%,rgba(56,255,151,.08),transparent 34%),linear-gradient(180deg,rgba(255,203,52,.025),transparent 32%)}
.nr-reward-message-stage:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 85px rgba(0,0,0,.72),inset 0 0 0 1px rgba(255,205,45,.07)}
.nr-reward-message-stage__grid{position:absolute;inset:-15%;z-index:-3;opacity:.32;transform:perspective(760px) rotateX(64deg) translateY(23%);transform-origin:50% 100%;background-image:linear-gradient(rgba(65,255,164,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(65,255,164,.15) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 0 43%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse at center,black 0 43%,transparent 74%)}
.nr-reward-message-stage__glow{position:absolute;left:50%;bottom:-34%;z-index:-2;width:82%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);border:1px solid rgba(51,255,147,.25);box-shadow:0 0 26px rgba(42,255,141,.28),0 0 80px rgba(42,255,141,.12),inset 0 0 40px rgba(42,255,141,.12)}
.nr-reward-message-content{position:relative;z-index:3;display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center;max-width:700px;margin:0 auto;padding-top:112px}
.nr-reward-achievement-check{position:absolute;z-index:4;top:18px;left:50%;width:82px;height:82px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 0 17px rgba(66,255,158,.42)) drop-shadow(0 0 14px rgba(255,207,45,.24));animation:nrRewardCheckFloat 3.5s ease-in-out infinite}
.nr-reward-achievement-rocket{position:absolute;z-index:2;top:22px;right:18px;width:clamp(140px,19vw,190px);max-height:220px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(47,255,142,.32)) drop-shadow(0 9px 19px rgba(0,0,0,.55));transform:rotate(1deg);animation:nrRewardRocketFloat 4.2s ease-in-out infinite}
.nr-reward-achievement-check[hidden],.nr-reward-achievement-rocket[hidden],.nr-reward-credit__coin[hidden]{display:none!important}
.nr-reward-kicker{position:relative;display:inline-block;margin:0 0 12px;color:#43ff9c;font:800 10px/1.2 Orbitron,sans-serif;letter-spacing:.2em;text-shadow:0 0 16px rgba(67,255,156,.28)}
.nr-reward-message-stage h2{position:relative;display:flex;flex-direction:column;align-items:center;margin:0;color:#ffde58;font:900 clamp(38px,5.2vw,62px)/.92 Orbitron,sans-serif;letter-spacing:.015em;text-transform:uppercase;text-shadow:0 2px 0 rgba(111,66,0,.72),0 0 24px rgba(255,207,42,.22)}
.nr-reward-message-stage h2 span{display:block}
.nr-reward-piece-name{position:relative;margin:12px auto 14px;color:#fff;font:800 clamp(21px,3vw,29px)/1.1 Rajdhani,sans-serif;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.nr-reward-credit{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-bottom:16px;padding:6px 16px 6px 7px;border:1px solid rgba(82,255,161,.7);border-radius:999px;background:linear-gradient(180deg,rgba(3,79,48,.62),rgba(0,42,30,.62));box-shadow:0 0 18px rgba(42,255,141,.17),inset 0 0 17px rgba(42,255,141,.07);color:#64ffad}
.nr-reward-credit__coin{width:36px;height:36px;flex:0 0 36px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,206,43,.45))}
.nr-reward-credit__text{font:900 clamp(12px,2vw,15px)/1 Orbitron,sans-serif;letter-spacing:.08em;white-space:nowrap}
.nr-reward-copy{position:relative;max-width:620px;margin:0 auto;color:#edf3f0;font:600 clamp(17px,2.1vw,20px)/1.34 Rajdhani,sans-serif;text-shadow:0 2px 7px rgba(0,0,0,.6)}
.nr-reward-copy p{margin:0 auto 10px}
.nr-reward-closing{position:relative;margin:15px auto 21px;color:#ffdc63;font:800 clamp(18px,2.2vw,22px)/1.22 Rajdhani,sans-serif;text-shadow:0 0 18px rgba(255,207,48,.15)}
.nr-reward-continue{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,520px);min-height:60px;padding:0 54px 0 28px;border:1px solid #61ffb0;border-radius:15px;background:linear-gradient(135deg,rgba(5,126,71,.98),rgba(0,69,43,.98));color:#fff;font:900 12px Orbitron,sans-serif;letter-spacing:.09em;cursor:pointer;box-shadow:0 0 0 1px rgba(69,255,156,.08),0 0 28px rgba(44,255,145,.26),inset 0 0 24px rgba(63,255,156,.09);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;overflow:hidden}
.nr-reward-continue:before{content:"";position:absolute;inset:0;opacity:.12;background-image:radial-gradient(circle at 1px 1px,#8effc4 1px,transparent 0);background-size:13px 13px;mask-image:linear-gradient(90deg,black,transparent 38%);-webkit-mask-image:linear-gradient(90deg,black,transparent 38%)}
.nr-reward-continue:after{content:"";position:absolute;left:50%;bottom:-26px;width:190px;height:45px;border-radius:50%;transform:translateX(-50%);background:rgba(61,255,153,.34);filter:blur(19px)}
.nr-reward-continue__label,.nr-reward-continue__arrow{position:relative;z-index:1}
.nr-reward-continue__label{display:block;text-align:center}
.nr-reward-continue__arrow{position:absolute;right:22px;top:50%;font:500 42px/1 Rajdhani,sans-serif;transform:translateY(-54%)}
.nr-reward-continue:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 0 1px rgba(122,255,184,.15),0 0 42px rgba(44,255,145,.4),inset 0 0 28px rgba(63,255,156,.14);filter:brightness(1.08)}
.nr-reward-continue:disabled{opacity:.58;cursor:wait}
.nr-reward-celebration.show-message .nr-reward-message-stage{animation:nrRewardReveal .56s cubic-bezier(.2,.8,.2,1) both}

@keyframes nrRewardSpin{to{transform:rotate(360deg)}}
@keyframes nrRewardReveal{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes nrRewardCheckFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
@keyframes nrRewardRocketFloat{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-8px) rotate(1.8deg)}}

@media(min-width:900px){
  .nr-reward-video-stage{min-height:min(84dvh,800px)}
  .nr-reward-video{height:min(84dvh,800px)}
}
@media(max-width:760px){
  .nr-reward-celebration.is-message-stage .nr-reward-celebration__dialog{width:min(100%,680px)}
  .nr-reward-message-stage{min-height:min(88dvh,780px);padding:30px 25px 36px}
  .nr-reward-message-content{padding-top:136px}
  .nr-reward-achievement-check{top:22px;width:86px;height:86px}
  .nr-reward-achievement-rocket{top:26px;right:10px;width:112px}
  .nr-reward-kicker{margin-bottom:16px;font-size:9px;letter-spacing:.17em}
  .nr-reward-message-stage h2{font-size:clamp(36px,9.5vw,56px)}
  .nr-reward-piece-name{font-size:clamp(21px,5.7vw,29px)}
  .nr-reward-copy{font-size:clamp(17px,4.5vw,21px)}
}
@media(max-width:520px){
  .nr-reward-celebration{padding:0}
  .nr-reward-celebration__dialog,.nr-reward-celebration.is-message-stage .nr-reward-celebration__dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}
  .nr-reward-video-stage,.nr-reward-video{height:100dvh;min-height:100dvh}
  .nr-reward-message-stage{display:block;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}
  .nr-reward-message-content{min-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));justify-content:center;padding-top:118px}
  .nr-reward-achievement-check{top:calc(14px + env(safe-area-inset-top));width:76px;height:76px}
  .nr-reward-achievement-rocket{top:calc(22px + env(safe-area-inset-top));right:2px;width:82px;opacity:.88}
  .nr-reward-message-stage h2{font-size:clamp(34px,12.1vw,49px);line-height:.94}
  .nr-reward-piece-name{margin-top:15px;margin-bottom:16px;font-size:clamp(20px,6.2vw,27px)}
  .nr-reward-credit{margin-bottom:18px;padding:6px 14px 6px 7px}
  .nr-reward-credit__coin{width:32px;height:32px;flex-basis:32px}
  .nr-reward-credit__text{font-size:11px;letter-spacing:.055em}
  .nr-reward-copy{font-size:18px;line-height:1.33}
  .nr-reward-copy p{margin-bottom:12px}
  .nr-reward-closing{margin:18px auto 23px;font-size:20px}
  .nr-reward-continue{min-height:62px;padding:0 48px 0 20px;font-size:11px;letter-spacing:.055em}
  .nr-reward-continue__arrow{right:17px;font-size:36px}
  .nr-reward-skip{bottom:calc(14px + env(safe-area-inset-bottom))}
  .nr-nrc-credit-pill{top:39%}
}
@media(max-width:370px){.nr-reward-kicker{font-size:8px;letter-spacing:.12em}.nr-reward-credit__text{font-size:10px;white-space:normal}.nr-reward-message-stage h2{font-size:34px}.nr-reward-continue{font-size:10px}}
@media(prefers-reduced-motion:reduce){
  .nr-reward-video__loading span,.nr-reward-achievement-check,.nr-reward-achievement-rocket{animation:none}
  .nr-reward-celebration.show-message .nr-reward-message-stage{animation:none}
  .nr-reward-continue{transition:none}
}
