.rbpg-mount { width:100%; max-width:560px; max-width:var(--rbpg-game-width,560px); margin:16px auto; color:#000; font-family:'GT Mono','Courier New',monospace; }
.rbpg-sound-toolbar { display:flex; justify-content:flex-end; padding-top:8px; }
.rbpg-mount .rbpg-sound-toggle { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:28px; height:auto; padding:5px 12px; margin:0; border:1px solid #000; border-radius:999px; background:#fff; color:#000; font:700 11px/1.2 'GT Mono','Courier New',monospace; cursor:pointer; box-shadow:none; }
/* Keep the compact pill easy to tap without adding visible height. */
.rbpg-mount .rbpg-sound-toggle::after { content:''; position:absolute; top:-8px; bottom:-8px; left:0; right:0; }
.rbpg-mount .rbpg-sound-toggle[aria-pressed="true"] { background:#000; color:#fff; }
.rbpg-mount .rbpg-sound-toggle:focus { outline:2px solid #D3131E; outline-offset:2px; }
body.rbpg-game-page .entry-header { display:none; }
body.rbpg-game-page .site-content .ast-container { max-width:1100px; }
body.rbpg-game-page .site-content .ast-container #primary { margin-block:24px; }
body.rbpg-game-page .site-main .ast-article-single { padding:0; }
body.rbpg-game-page .rbpg-mount { margin-top:0; }
.rbpg-mount *, .rbpg-mount *::before, .rbpg-mount *::after { box-sizing:border-box; }
.rbpg-mount [hidden] { display:none !important; }
.rbpg-stage { --red:#D3131E; position:relative; isolation:isolate; width:100%; height:0; padding-bottom:120%; overflow:hidden; background:#090909; container-type:inline-size; border-radius:12px; }
.rbpg-art { position:absolute; top:0;right:0;bottom:0;left:0; }
.rbpg-stage h2,.rbpg-stage h3,.rbpg-stage p { padding:0; margin:0; border:0; }
.rbpg-stage h2,.rbpg-stage h3,.rbpg-stage strong,.rbpg-shop { font-family:'Bebas Kai',Impact,'Nimbus Sans Narrow','Arial Narrow',sans-serif; font-weight:700; }
.rbpg-background { position:absolute; top:0;right:0;bottom:0;left:0; width:100%; height:100%; object-fit:fill; max-width:none; pointer-events:none; }
.rbpg-instructions { position:absolute; top:3.5%; left:4%; width:92%; z-index:3; text-align:center; color:#fff; }
.rbpg-stage .rbpg-instructions h2 { display:inline-block; max-width:100%; font-size:calc(var(--rbpg-unit,5.6px) * 7.2);font-size:clamp(22px,calc(var(--rbpg-unit,5.6px) * 7.2),78px); line-height:1; color:#fff; white-space:nowrap; }
.rbpg-instructions h2::after { content:''; display:block; width:94%; height:calc(var(--rbpg-unit,5.6px) * 1.05);height:clamp(4px,calc(var(--rbpg-unit,5.6px) * 1.05),11px); margin:calc(var(--rbpg-unit,5.6px) * .75) auto calc(var(--rbpg-unit,5.6px) * 1.1); background:var(--red); transform:rotate(-1deg); clip-path:polygon(0 28%,20% 10%,54% 17%,97% 0,93% 27%,100% 32%,96% 59%,67% 71%,35% 92%,4% 100%,7% 71%,0 80%); }
.rbpg-stage .rbpg-instructions p { font-size:calc(var(--rbpg-unit,5.6px) * 2.2);font-size:clamp(11px,calc(var(--rbpg-unit,5.6px) * 2.2),23px); line-height:1.3; color:#fff; }
.rbpg-character { position:absolute; left:14%; top:17.5%; width:72%; height:45%; z-index:1; pointer-events:none; clip-path:inset(0 0 13% 0); }
.rbpg-sprite { position:absolute; top:0;right:0;bottom:0;left:0; visibility:hidden; opacity:1; isolation:isolate; }
.rbpg-sprite.is-current { visibility:visible; }
.rbpg-boy { display:block; width:100%; height:100%; object-fit:fill; max-width:none; }
/* Exact supplied logo: between the shirt base and the foreground jacket, never printed over the jacket. */
.rbpg-shirt-print { position:absolute; top:0;right:0;bottom:0;left:0; z-index:1; clip-path:polygon(43.4% 58%,56.2% 58%,57.2% 70%,58.2% 80%,60.1% 99.5%,39.8% 99.5%,41.3% 83%,42.9% 70%); }
.rbpg-shirt-logo { position:absolute; width:27.3%; height:auto; left:36.85%; top:60.7%; max-width:none; }
.rbpg-jacket-foreground { position:absolute; top:0;right:0;bottom:0;left:0; z-index:2; clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,43.4% 58%,56.2% 58%,57.2% 70%,58.2% 80%,60.1% 99.5%,39.8% 99.5%,41.3% 83%,42.9% 70%,43.4% 58%); }
.rbpg-sprite-zero .rbpg-shirt-print { clip-path:polygon(43.5% 57%,56.5% 57%,57.4% 70%,58.8% 84%,61.6% 99.5%,39.8% 99.5%,41.2% 83%,43% 70%); }
.rbpg-sprite-zero .rbpg-jacket-foreground { clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,43.5% 57%,56.5% 57%,57.4% 70%,58.8% 84%,61.6% 99.5%,39.8% 99.5%,41.2% 83%,43% 70%,43.5% 57%); }
.rbpg-cup { --cup-width:12.8%; position:absolute; width:var(--cup-width); height:15%; padding:0 !important; margin:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:12%; cursor:pointer; touch-action:manipulation; overflow:visible; transition:filter .35s ease,opacity .7s ease; -webkit-tap-highlight-color:transparent; }
.rbpg-cup:hover,.rbpg-cup:active,.rbpg-cup:focus { background:transparent !important; }
.rbpg-cup:focus-visible { outline:3px solid #fff !important; outline-offset:4px; }
.rbpg-cup:disabled { opacity:1 !important; cursor:default; }
.rbpg-cup::after { content:''; position:absolute; left:50%; top:50%; width:100%; height:100%; min-width:44px; min-height:44px; transform:translate(-50%,-50%); }
/* Available cups remain opaque on hover; only a completed pick fades away. */
.rbpg-mount .rbpg-cup { opacity:1 !important; filter:none !important; }
.rbpg-mount .rbpg-cup:hover,.rbpg-mount .rbpg-cup:focus,.rbpg-mount .rbpg-cup:active,.rbpg-mount .rbpg-cup:disabled { opacity:1 !important; }
.rbpg-mount .rbpg-cup-back,.rbpg-mount .rbpg-cup-front,.rbpg-mount .rbpg-cup-back img,.rbpg-mount .rbpg-cup-front img,.rbpg-mount .rbpg-sleeve-mark,.rbpg-mount .rbpg-lid,.rbpg-mount .rbpg-lid-frame { opacity:1 !important; }
@media (hover:hover) and (pointer:fine) { .rbpg-mount .rbpg-cup:not(:disabled):hover { filter:grayscale(1) brightness(.92) !important; } }
.rbpg-mount .rbpg-cup:not(:disabled):focus-visible,.rbpg-mount .rbpg-cup:not(:disabled):active { filter:grayscale(1) brightness(.92) !important; }
.rbpg-mount .rbpg-cup.is-fading,.rbpg-mount .rbpg-cup.is-used { opacity:0 !important; filter:none !important; pointer-events:none; }
.rbpg-mount .rbpg-cup.is-used { visibility:hidden; transition:none; }
.rbpg-cup-0 { left:27.6%; top:46.1%; z-index:4; }
.rbpg-cup-1 { left:43.6%; top:46.1%; z-index:4; }
.rbpg-cup-2 { left:59.6%; top:46.1%; z-index:4; }
.rbpg-cup-3 { left:25.3%; top:57.8%; --cup-width:13.4%; height:15.7%; z-index:5; }
.rbpg-cup-4 { left:43.3%; top:57.8%; --cup-width:13.4%; height:15.7%; z-index:5; }
.rbpg-cup-5 { left:61.3%; top:57.8%; --cup-width:13.4%; height:15.7%; z-index:5; }
.rbpg-cup-6 { left:23%; top:69.8%; --cup-width:14%; height:16.4%; z-index:6; }
.rbpg-cup-7 { left:43%; top:69.8%; --cup-width:14%; height:16.4%; z-index:6; }
.rbpg-cup-8 { left:63%; top:69.8%; --cup-width:14%; height:16.4%; z-index:6; }
/* Stable row stacking, even during selection. Only lid angles and the ticket animate. */
.rbpg-contact-shadow { position:absolute; left:14%; bottom:-1%; width:72%; height:5%; border-radius:50%; background:#000b; filter:blur(calc(var(--rbpg-unit,5.6px) * .24)); pointer-events:none; }
.rbpg-cup-back,.rbpg-cup-body { position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none; }
.rbpg-cup-back { z-index:1; }
.rbpg-cup-body { z-index:4; }
.rbpg-cup-back img,.rbpg-cup-body img { position:absolute; top:0;right:0;bottom:0;left:0; width:100%; height:100%; max-width:none; object-fit:fill; }
.rbpg-cup-front { clip-path:polygon(0 10.8%,10% 16%,25% 19.5%,40% 21.1%,50% 21.5%,60% 21.1%,75% 19.5%,90% 16%,100% 10.8%,100% 100%,0 100%); }
.rbpg-sleeve-mark { position:absolute; width:27%; height:auto; left:36.5%; top:44.7%; z-index:5; max-width:none; pointer-events:none; }
.rbpg-lid { position:absolute; top:0;right:0;bottom:0;left:0; z-index:6; pointer-events:none; }
.rbpg-lid-frame { position:absolute; left:-1%; width:102%; max-width:none; object-fit:fill; display:none; }
.rbpg-lid-frame-0 { top:-6.8%; height:31.5%; }
.rbpg-lid-frame-1 { top:-18%; height:18%; }
.rbpg-lid-frame-2 { top:-39%; height:39%; }
.rbpg-lid-frame-3 { top:-64%; height:64%; }
.rbpg-lid-frame-4 { top:-70%; height:70%; }
.rbpg-cup[data-lid="0"] .rbpg-lid-frame-0,.rbpg-cup[data-lid="1"] .rbpg-lid-frame-1,.rbpg-cup[data-lid="2"] .rbpg-lid-frame-2,.rbpg-cup[data-lid="3"] .rbpg-lid-frame-3,.rbpg-cup[data-lid="4"] .rbpg-lid-frame-4 { display:block; }
.rbpg-cup:not([data-lid="0"]) .rbpg-lid { z-index:2; }
/* Ticket clips to the mouth, between the rear rim and the front rim/body mask. */
.rbpg-ticket-window { position:absolute; left:6%; top:-72%; width:88%; height:96%; overflow:hidden; z-index:3; pointer-events:none; }
.rbpg-ticket { position:absolute; left:8%; top:2%; width:84%; height:99%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2%; padding-bottom:15%; background:#fff; color:#000; border:1px solid #333; border-radius:8% 8% 2% 2%; box-shadow:4px 4px 6px #0009; transform:translateY(106%); transition:transform .44s cubic-bezier(.22,1,.36,1); pointer-events:none; }
.rbpg-ticket-value { font-size:calc(var(--rbpg-unit,5.6px) * 4.5);font-size:clamp(23px,calc(var(--rbpg-unit,5.6px) * 4.5),48px); line-height:.95; }
.rbpg-ticket-value.is-long { font-size:calc(var(--rbpg-unit,5.6px) * 3.3);font-size:clamp(16px,calc(var(--rbpg-unit,5.6px) * 3.3),35px); }
.rbpg-ticket>span { font-family:'Bebas Kai',Impact,'Arial Narrow',sans-serif; font-size:calc(var(--rbpg-unit,5.6px) * 1.8);font-size:clamp(11px,calc(var(--rbpg-unit,5.6px) * 1.8),20px); font-weight:bold; line-height:1.2; }
.rbpg-cup.is-open .rbpg-ticket { transform:translateY(0); }
.rbpg-sparks { position:absolute; left:0; top:-70%; width:100%; height:74%; z-index:7; pointer-events:none; filter:drop-shadow(0 0 calc(var(--rbpg-unit,5.6px) * .28) #d3131e); }
.rbpg-sparks i { position:absolute; opacity:0; background:#fff; transform:translate(0,0) scale(0); box-shadow:0 0 calc(var(--rbpg-unit,5.6px) * .4) #fff,0 0 calc(var(--rbpg-unit,5.6px) * .8) #d3131e; }
.rbpg-ember { width:calc(var(--rbpg-unit,5.6px) * .3);width:clamp(1.2px,calc(var(--rbpg-unit,5.6px) * .3),3px); height:calc(var(--rbpg-unit,5.6px) * 1.2);height:clamp(5px,calc(var(--rbpg-unit,5.6px) * 1.2),12px); border-radius:99px; }
.rbpg-glint { width:calc(var(--rbpg-unit,5.6px) * 1.2);width:clamp(6px,calc(var(--rbpg-unit,5.6px) * 1.2),14px); height:calc(var(--rbpg-unit,5.6px) * 1.2);height:clamp(6px,calc(var(--rbpg-unit,5.6px) * 1.2),14px); clip-path:polygon(50% 0,60% 38%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%); }
.rbpg-sparks i:nth-child(3n) { background:#D3131E; box-shadow:0 0 calc(var(--rbpg-unit,5.6px) * .35) #fff,0 0 calc(var(--rbpg-unit,5.6px) * .7) #d3131e; }
.rbpg-cup.is-open .rbpg-sparks i { animation:rbpg-spark-flight var(--duration) cubic-bezier(.12,.6,.3,1) calc(160ms + var(--delay)) both; }
@keyframes rbpg-spark-flight { 0% { opacity:0; transform:translate(0,0) rotate(0) scale(.2); } 18% { opacity:1; transform:translate(calc(var(--dx) * .24),calc(var(--dy) * .24)) rotate(calc(var(--spin) * .24)) scale(1.2); } 45% { opacity:1; transform:translate(calc(var(--dx) * .6),calc(var(--dy) * .6)) rotate(calc(var(--spin) * .6)) scale(.95); } 100% { opacity:0; transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.3); } }
.rbpg-results { position:absolute; bottom:-1px; left:12%; width:76%; z-index:20; padding:3% 4% 3.3%; color:#000; background:#fff; border-radius:50% 50% 0 0 / 12% 12% 0 0; text-align:center; transform:translateY(110%); transition:transform .65s cubic-bezier(.16,1,.3,1); }
.rbpg-results.is-visible { transform:translateY(0); }
.rbpg-stage .rbpg-results h3 { color:#000; font-size:calc(var(--rbpg-unit,5.6px) * 3.1);font-size:clamp(18px,calc(var(--rbpg-unit,5.6px) * 3.1),34px); line-height:1.15; }
.rbpg-total { color:var(--red); display:block; font-size:calc(var(--rbpg-unit,5.6px) * 8.6);font-size:clamp(39px,calc(var(--rbpg-unit,5.6px) * 8.6),92px); line-height:1; margin:0; outline:0; }
.rbpg-added { font-size:calc(var(--rbpg-unit,5.6px) * 2.5);font-size:clamp(11px,calc(var(--rbpg-unit,5.6px) * 2.5),27px); line-height:1.4; margin:1% 0 2% !important; color:#000; }
.rbpg-progress-title { padding-top:1.7% !important; border-top:1px solid #aaa !important; font-size:calc(var(--rbpg-unit,5.6px) * 2.7);font-size:clamp(15px,calc(var(--rbpg-unit,5.6px) * 2.7),29px) !important; }
.rbpg-balance { display:block; color:#000; font-size:calc(var(--rbpg-unit,5.6px) * 4.7);font-size:clamp(27px,calc(var(--rbpg-unit,5.6px) * 4.7),51px); line-height:1.2; }
.rbpg-progress-wrap { position:relative; width:83%; margin:1% auto; }
.rbpg-progress { position:relative; height:calc(var(--rbpg-unit,5.6px) * 3);height:clamp(14px,calc(var(--rbpg-unit,5.6px) * 3),32px); width:100%; border-radius:999px; background:#ddd; overflow:hidden; }
.rbpg-progress-fill { position:relative; display:block; height:100%; background:var(--red); border-radius:inherit; }
.rbpg-voucher-text { color:#000; font-size:calc(var(--rbpg-unit,5.6px) * 2.1);font-size:clamp(11px,calc(var(--rbpg-unit,5.6px) * 2.1),23px); line-height:1.35; margin:1.2% 0 2% !important; }
.rbpg-voucher-notice { font-size:calc(var(--rbpg-unit,5.6px) * 1.65);font-size:clamp(11px,calc(var(--rbpg-unit,5.6px) * 1.65),18px); margin:1% 0 2% !important; color:#000; }
.rbpg-stage .rbpg-shop { display:flex; align-items:center; justify-content:center; text-align:center; min-height:44px; width:86%; max-width:380px; margin:auto; background:var(--red); color:#fff !important; border-radius:999px; padding:1.2% 3%; font-size:calc(var(--rbpg-unit,5.6px) * 3.6);font-size:clamp(18px,calc(var(--rbpg-unit,5.6px) * 3.6),39px); line-height:1.1; text-decoration:none !important; }
.rbpg-shop:hover { background:#000; }
.rbpg-account-link { display:inline-block; font-size:calc(var(--rbpg-unit,5.6px) * 1.4);font-size:clamp(11px,calc(var(--rbpg-unit,5.6px) * 1.4),15px); color:#000 !important; margin-top:1.5%; min-height:24px; }
.rbpg-overlay { position:absolute; z-index:30; top:0;right:0;bottom:0;left:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:20px; padding:10%; color:#fff; background:#000c; text-align:center; }
.rbpg-overlay p { color:#fff; font-size:calc(var(--rbpg-unit,5.6px) * 2.5);font-size:clamp(15px,calc(var(--rbpg-unit,5.6px) * 2.5),25px); }
.rbpg-retry,.rbpg-demo-controls button { border:0; border-radius:999px; color:#fff; background:#D3131E; padding:12px 22px; min-height:44px; font:inherit; font-weight:bold; cursor:pointer; }
.rbpg-demo-controls { background:#fff; color:#000; padding:16px 8px; text-align:center; font-size:13px; }
.rbpg-demo-controls p { margin:0 0 12px; }
.rbpg-demo-controls select { background:#fff; color:#000; border:1px solid #000; border-radius:6px; min-height:44px; padding:8px; max-width:100%; margin:0 8px 8px 0; font:inherit; }
.rbpg-sr { position:absolute !important; width:1px; height:1px; padding:0 !important; margin:-1px !important; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.rbpg-account { max-width:850px; color:#000; }
.rbpg-account p { color:#000; }
.rbpg-account code { overflow-wrap:anywhere; }
/* Finite, local celebrations. Cafe, tray and cup positions remain fixed. */
.rbpg-board-fizzle { position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none; z-index:2; }
.rbpg-bar-fizzle { position:absolute; top:50%; left:0; width:0; height:0; pointer-events:none; z-index:3; }
.rbpg-celebration-spark,.rbpg-firework-spark { position:absolute; display:block; width:calc(var(--rbpg-unit,5.6px) * .28);width:clamp(1.5px,calc(var(--rbpg-unit,5.6px) * .28),3px); height:calc(var(--rbpg-unit,5.6px) * 1.2);height:clamp(5px,calc(var(--rbpg-unit,5.6px) * 1.2),12px); background:#fff; border-radius:99px; opacity:0; box-shadow:0 0 calc(var(--rbpg-unit,5.6px) * .3) #fff,0 0 calc(var(--rbpg-unit,5.6px) * .7) #d3131e; pointer-events:none; }
.rbpg-celebration-spark { animation:rbpg-finale-spark 1100ms cubic-bezier(.12,.6,.3,1) var(--delay) both; }
.rbpg-celebration-spark:nth-child(3n),.rbpg-firework-spark:nth-child(3n) { background:#D3131E; }
.rbpg-celebration-glint { width:calc(var(--rbpg-unit,5.6px) * 1.1);width:clamp(6px,calc(var(--rbpg-unit,5.6px) * 1.1),12px); height:calc(var(--rbpg-unit,5.6px) * 1.1);height:clamp(6px,calc(var(--rbpg-unit,5.6px) * 1.1),12px); clip-path:polygon(50% 0,60% 38%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%); }
.rbpg-fireworks { position:absolute; top:0;right:0;bottom:0;left:0; z-index:19; pointer-events:none; overflow:hidden; }
.rbpg-firework { position:absolute; width:0; height:0; }
.rbpg-firework-rocket { position:absolute; width:calc(var(--rbpg-unit,5.6px) * .3);width:clamp(2px,calc(var(--rbpg-unit,5.6px) * .3),3px); height:calc(var(--rbpg-unit,5.6px) * 6); background:linear-gradient(#fff,#D3131E,transparent); border-radius:100%; opacity:0; box-shadow:0 calc(var(--rbpg-unit,5.6px) * -.3) calc(var(--rbpg-unit,5.6px) * .5) #fff; animation:rbpg-rocket 560ms ease-out both; }
.rbpg-firework-spark { animation:rbpg-firework-burst 1550ms cubic-bezier(.15,.65,.35,1) var(--delay) both; }
.rbpg-character.is-dancing { transform-origin:50% 90%; animation:rbpg-victory-dance 1100ms ease-in-out 4; }
.rbpg-progress-wrap.is-fizzling .rbpg-progress-fill { box-shadow:0 0 calc(var(--rbpg-unit,5.6px) * 1) #d3131e; }
.rbpg-progress-wrap.is-fizzling .rbpg-progress-fill::after { content:''; position:absolute; top:0;right:0;bottom:0;left:0; border-radius:inherit; background:linear-gradient(105deg,transparent 25%,#fff8 48%,transparent 70%); animation:rbpg-bar-shine 800ms ease-out 3; }
.rbpg-stage .rbpg-results.is-congratulations>h3:first-of-type { font-size:calc(var(--rbpg-unit,5.6px) * 4.65);font-size:clamp(18px,calc(var(--rbpg-unit,5.6px) * 4.65),48px); letter-spacing:-.025em; }
.rbpg-results.is-congratulations .rbpg-total { font-size:calc(var(--rbpg-unit,5.6px) * 7.7);font-size:clamp(32px,calc(var(--rbpg-unit,5.6px) * 7.7),83px); }
.rbpg-results.is-congratulations .rbpg-added { font-size:calc(var(--rbpg-unit,5.6px) * 2.3);font-size:clamp(11px,calc(var(--rbpg-unit,5.6px) * 2.3),24px); line-height:1.35; max-width:96%; margin:1.5% auto 3% !important; }
.rbpg-results.is-congratulations .rbpg-voucher-text { max-width:94%; margin:2% auto 1% !important; }
.rbpg-results[data-phase="settled"] .rbpg-balance { font-variant-numeric:tabular-nums; }
@keyframes rbpg-finale-spark { 0% { opacity:0; transform:translate(0,0) rotate(0) scale(.3); } 15% { opacity:1; transform:translate(calc(var(--dx) * .2),calc(var(--dy) * .2)) rotate(calc(var(--spin) * .2)) scale(1.3); } 65% { opacity:1; transform:translate(calc(var(--dx) * .8),calc(var(--dy) * .8)) rotate(calc(var(--spin) * .8)) scale(.9); } 100% { opacity:0; transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.15); } }
@keyframes rbpg-rocket { 0% { opacity:0; transform:translateY(calc(var(--rbpg-unit,5.6px) * 30)) scaleY(1.4); } 20% { opacity:1; } 85% { opacity:1; } 100% { opacity:0; transform:translateY(0) scaleY(.15); } }
@keyframes rbpg-firework-burst { 0% { opacity:0; transform:translate(0,0) rotate(var(--spin)) scale(.15); } 12% { opacity:1; transform:translate(calc(var(--dx) * .2),calc(var(--dy) * .2)) rotate(var(--spin)) scale(1.4); } 68% { opacity:.9; transform:translate(calc(var(--dx) * .88),calc(var(--dy) * .88 + calc(var(--rbpg-unit,5.6px) * 1))) rotate(var(--spin)) scale(.95); } 100% { opacity:0; transform:translate(var(--dx),calc(var(--dy) + calc(var(--rbpg-unit,5.6px) * 3))) rotate(var(--spin)) scale(.25); } }
@keyframes rbpg-victory-dance { 0%,100% { transform:translate(0,0) rotate(0); } 18% { transform:translate(-1.8%,-2%) rotate(-3.5deg); } 38% { transform:translate(-1%,0) rotate(-1deg); } 65% { transform:translate(1.8%,-2.6%) rotate(3.5deg); } 83% { transform:translate(1%,0) rotate(1deg); } }
@keyframes rbpg-bar-shine { from { transform:translateX(-105%); } to { transform:translateX(105%); } }
@media (max-width:520px) { .rbpg-mount { margin:12px auto; } .rbpg-stage { border-radius:7px; } .rbpg-results { padding:4% 4% 3%; } .rbpg-results .rbpg-total { font-size:calc(var(--rbpg-unit,5.6px) * 8);font-size:clamp(32px,calc(var(--rbpg-unit,5.6px) * 8),42px); } .rbpg-results .rbpg-balance { font-size:calc(var(--rbpg-unit,5.6px) * 4.7);font-size:clamp(23px,calc(var(--rbpg-unit,5.6px) * 4.7),29px); } .rbpg-instructions p { max-width:95%; margin:0 auto !important; } }
@media (prefers-reduced-motion:reduce) { .rbpg-stage *, .rbpg-stage *::before,.rbpg-stage *::after { transition:none !important; animation:none !important; } }

/* Keep a clear gap when the settled result has no message beneath the bar. */
.rbpg-stage .rbpg-voucher-text[hidden]+.rbpg-voucher-notice[hidden]+.rbpg-shop { margin-top:2.2%; }

/* v2.2: persistent canvases retain the last painted frame through every load. */
.rbpg-character-canvas { display:block; width:100%; height:100%; }
.rbpg-cup-canvas { position:absolute; width:144%; height:154%; left:-22%; top:-44%; max-width:none; pointer-events:none; z-index:4; }
.rbpg-decoder { position:absolute !important; left:0; top:0; width:1px !important; height:1px !important; opacity:0; pointer-events:none; }
.rbpg-stage { --rbpg-unit:5.6px; }

/* The still-image layout also works without CSS custom properties. Its base
   font size is set to one percent of the measured stage width in JavaScript. */
.rbpg-legacy-layout *, .rbpg-legacy-layout *::before, .rbpg-legacy-layout *::after { animation:none !important; transition:none !important; }
.rbpg-legacy-layout .rbpg-cup { width:12.8%; }
.rbpg-legacy-layout .rbpg-cup-3,.rbpg-legacy-layout .rbpg-cup-4,.rbpg-legacy-layout .rbpg-cup-5 { width:13.4%; }
.rbpg-legacy-layout .rbpg-cup-6,.rbpg-legacy-layout .rbpg-cup-7,.rbpg-legacy-layout .rbpg-cup-8 { width:14%; }
.rbpg-legacy-layout .rbpg-instructions h2 { font-size:7.2em; }
.rbpg-legacy-layout .rbpg-instructions h2::after { height:5px; margin:5px auto 7px; background:#D3131E; }
.rbpg-legacy-layout .rbpg-instructions p { font-size:3em; }
.rbpg-legacy-layout .rbpg-results h3 { font-size:3.6em; }
.rbpg-legacy-layout .rbpg-total { font-size:8em; color:#D3131E; }
.rbpg-legacy-layout .rbpg-added { font-size:3em; }
.rbpg-legacy-layout .rbpg-progress-title { font-size:3.4em !important; }
.rbpg-legacy-layout .rbpg-balance { font-size:4.7em; }
.rbpg-legacy-layout .rbpg-progress { height:3em; }
.rbpg-legacy-layout .rbpg-progress-fill,.rbpg-legacy-layout .rbpg-shop { background:#D3131E; }
.rbpg-legacy-layout .rbpg-voucher-text,.rbpg-legacy-layout .rbpg-voucher-notice { font-size:3em; }
.rbpg-legacy-layout .rbpg-shop { font-size:4em; }
.rbpg-legacy-layout .rbpg-overlay { background:rgba(0,0,0,.85); }
.rbpg-legacy-layout .rbpg-overlay p { font-size:4em; }
.rbpg-legacy-layout .rbpg-retry { font-size:16px; }
.rbpg-legacy-layout .rbpg-sr { clip:rect(0,0,0,0); }
.rbpg-legacy-layout .rbpg-sparks,.rbpg-legacy-layout .rbpg-fireworks { display:none; }
.rbpg-legacy-layout .rbpg-results.is-congratulations>h3:first-of-type { font-size:4.65em; }
.rbpg-legacy-layout .rbpg-results.is-congratulations .rbpg-total { font-size:7.7em; }
.rbpg-legacy-layout .rbpg-results.is-congratulations .rbpg-added { font-size:3em; }
