/* V30: low-latency visual reward layer, reduced-motion friendly. */
#rewardStage{position:absolute;inset:0;z-index:11;pointer-events:none;overflow:hidden}
#rewardCoins{position:absolute;inset:0}
#rewardToast{position:absolute;left:10%;right:10%;top:25.9%;text-align:center;z-index:3;opacity:0;transform:scale(.65) rotate(-4deg);color:#663953;font-size:clamp(16px,4.2vw,21px);font-weight:1000;line-height:1.15;letter-spacing:-.6px;background:linear-gradient(130deg,#fff6b2,#ffbb62);border:3px solid #fffbea;border-radius:17px;padding:5px 6px;box-shadow:0 4px 0 #c26b70,0 7px 18px #6f3a6480;text-shadow:0 1px #fffbe5}
#rewardToast.reward-toast-active{opacity:1;animation:rewardBoing 1s cubic-bezier(.2,1.5,.22,1) both}
#rewardToast strong{display:block;font-weight:1000}
#rewardToast small{display:block;font-size:11px;color:#b14977;font-weight:1000;margin-top:2px}
.reward-coin{position:absolute;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-style:normal;font-size:16px;font-weight:1000;color:#a04a30;background:linear-gradient(140deg,#fff7a0,#ffb323 68%,#f28d26);border:2px solid #fff9d9;box-shadow:0 3px 0 #bb6a3b,0 0 9px #fff5b7;animation:rewardCoinFly .7s ease-out forwards;will-change:transform,opacity}
.reward-star{background:transparent;border:0;color:#ffec69;font-size:23px;text-shadow:1px 2px #f2834f,0 0 8px #fff7d9;box-shadow:none}
.reward-amount-fly{position:absolute;color:#fff9aa;background:#bb487fc9;border:2px solid #ffe9ad;border-radius:18px;padding:2px 6px;font-size:16px;font-weight:1000;white-space:nowrap;text-shadow:0 2px #8d486d;box-shadow:0 3px #7a4a80aa;animation:rewardMoneyFloat .62s ease-out forwards;will-change:transform,opacity}
@keyframes rewardBoing{0%{opacity:0;transform:scale(.55) rotate(-7deg)}20%{opacity:1;transform:scale(1.28) rotate(5deg)}37%{transform:scale(.96) rotate(-3deg)}65%{opacity:1;transform:scale(1.03) rotate(0deg)}100%{opacity:0;transform:scale(1.05) translateY(-15px)}}
@keyframes rewardCoinFly{0%{opacity:1;transform:scale(.35) translate(0,0) rotate(0)}45%{opacity:1}100%{opacity:0;transform:scale(1.1) translate(var(--rx),var(--ry)) rotate(180deg)}}
@keyframes rewardMoneyFloat{0%{opacity:0;transform:translate(-50%,0) scale(.7)}20%{opacity:1;transform:translate(-50%,-8px) scale(1.08)}100%{opacity:0;transform:translate(-50%,-48px) scale(1)}}
/* Five compact controls: pause / restart / SFX / BGM / cashout or map. */
#game #actions{gap:3px!important;left:2%!important;right:2%!important}
#game #actions button{font-size:10px!important;padding:9px 2px!important;min-width:0!important;flex:1!important}
#game #actions #moneyCashout:not(.hide){flex:1.25!important}
#game #actions #submitRun:not(.hide){flex:1.1!important}
#game #actions #music{background:#ffdf91!important;color:#744269!important;border-color:#fff6d4!important}
#game #actions #sound{background:#d2e9dc!important;color:#5c426a!important;border-color:#fffef2!important}
@media(prefers-reduced-motion:reduce){#rewardToast.reward-toast-active,.reward-coin,.reward-amount-fly{animation:none!important;opacity:1!important}}

/* V31: temporary salary double-pay, deliberately smaller than the main combo toast. */
#salaryBuff{position:absolute;top:18%;left:17%;right:17%;z-index:4;text-align:center;
 padding:6px 8px;border-radius:18px;border:3px solid #fffbca;
 color:#66445c;background:linear-gradient(110deg,#fff9c0,#ffc34f,#fff0a3);
 box-shadow:0 3px 0 #cc8b4f,0 0 18px rgba(255,226,113,.6);
 font-size:13px;line-height:1.15;font-weight:1000;letter-spacing:.2px;
 animation:salaryBadgePulse .7s ease-in-out infinite alternate}
#salaryBuff.hide{display:none!important}
#game.salary-active #rewardToast{box-shadow:0 4px 0 #c26b70,0 7px 22px #ffdc76b0}
@keyframes salaryBadgePulse{from{transform:scale(.98)}to{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){#salaryBuff{animation:none!important}}

/* V32: visible audio gesture recovery instead of a silent failure. */
#audioUnlock{position:absolute;z-index:19;top:19%;left:14%;right:14%;border:3px solid #fffbe3;border-radius:16px;background:#ffe06a;color:#523450;box-shadow:0 5px #b36a64;padding:9px;font-size:14px;font-weight:900;cursor:pointer;touch-action:manipulation}
#audioUnlock.hide{display:none!important}
