/* Bonus keeps the ordinary board. Only eligible outlines pulse yellow. */
.bonus-session .target,.bonus-session .target.bonus-column{opacity:1;font-size:19px;gap:5px;border:1px solid #4d326052;background:linear-gradient(135deg,#281a3c90,#1b122e88);border-radius:13px;color:#b7a6ce;box-shadow:inset 0 1px 1px #c6a3ff08}
.bonus-session .target:disabled:not(.locked){opacity:1}
.bonus-session .target.selected{border-color:#c09aff;color:#fff;background:linear-gradient(145deg,#6b3da950,#3b225b70);box-shadow:0 0 17px #a974ff38,inset 0 0 20px #ba7bff12}
.bonus-session .target .stake{font-size:11px;font-weight:600;letter-spacing:0}
.bonus-session .target.bonus-pick .stake:before{display:none}
.bonus-selecting .target.bonus-column-open{animation:bonus-yellow 1.7s ease-in-out infinite;border-color:#f5d97488}
.bonus-selecting .target.bonus-column-open:hover:not(:disabled){border-color:#fff1a9;box-shadow:0 0 22px #f5d36a44}
.bonus-selecting .target.bonus-pick{border-color:#efd68e;box-shadow:0 0 16px #efd27626,inset 0 0 20px #b57bff12}
.bonus-selecting .target.bonus-pick:before{border-color:#ebd16c55}
.bonus-selecting .target.bonus-column:disabled:not(.selected){background:linear-gradient(135deg,#281a3c90,#1b122e88);border-color:#4d326052;box-shadow:inset 0 1px 1px #c6a3ff08}
@keyframes bonus-yellow{0%,100%{border-color:#f1cc594d;box-shadow:inset 0 1px #c6a3ff08,0 0 3px #f6d26408}50%{border-color:#ffe899c9;box-shadow:inset 0 1px #c6a3ff08,0 0 17px #ffdf6b33}}
.bonus-speech{position:absolute;width:286px;padding:14px 16px 11px;border:1px solid #f2d8847d;border-radius:17px;background:linear-gradient(135deg,#33223cf5,#20152df5);box-shadow:0 12px 35px #07021066,0 0 22px #f6d16b0c;backdrop-filter:blur(12px);pointer-events:none;color:#f9f0da}
.bonus-speech:after{content:'';position:absolute;left:var(--tail-x,70px);bottom:-8px;width:14px;height:14px;transform:rotate(45deg);background:#24182f;border-right:1px solid #f2d8847d;border-bottom:1px solid #f2d8847d}
.speech-eyebrow{display:flex;align-items:center;gap:9px;font-size:7px;font-weight:750;letter-spacing:1.4px;color:#f0d78f;margin-bottom:9px;height:10px}
#bonus-free-label{margin-left:auto;font-size:6px;letter-spacing:.5px;color:#ba9dc5}
.bonus-speech #bonus-exit{position:static;border:0;width:14px;height:14px;font-size:17px;background:none;color:#bda5cb;pointer-events:auto}
#bonus-prompt-title{font-size:15px;font-weight:750;line-height:1.4;letter-spacing:-.3px}
#bonus-prompt-detail{font-size:10px;line-height:1.6;margin:5px 0 10px;color:#c7b0cd}
.speech-action{display:flex;align-items:center;gap:12px}
#bonus-clock{position:relative;flex-shrink:0;width:52px;height:36px;display:flex;align-items:center;gap:3px;padding-left:9px;color:#ffe7a5}
#bonus-clock svg{position:absolute;left:0;top:0;width:36px;height:36px;overflow:visible;transform:rotate(-90deg)}
#bonus-clock circle{fill:none;stroke-width:1.5}.clock-track{stroke:#9b7e5940}.clock-progress{stroke:#f4d581;stroke-dasharray:var(--remaining,100) 100;stroke-linecap:round}
#bonus-clock b{font-size:13px;font-weight:750}#bonus-clock small{font-size:8px;color:#b8a788;margin-left:10px}
#bonus-clock.urgent{color:#ffb684}#bonus-clock.urgent .clock-progress{stroke:#ffa87c}
.bonus-speech #bonus-lock{display:block;flex:1;min-width:0;padding:11px 9px;font-size:9px;letter-spacing:.5px;color:#36280b;background:linear-gradient(120deg,#ffebb4,#edcb78);border:1px solid #ffe9ae88;border-radius:9px;box-shadow:0 0 18px #f9d47c18;pointer-events:auto}
.bonus-speech #bonus-lock:disabled{background:#49384b;color:#baa4b8;border-color:#9f7e9840;opacity:1;box-shadow:none}
.speech-foot{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:7px;color:#c2abbf}
#bonus-pick-dots{display:flex;gap:3px}#bonus-pick-dots i{display:grid;place-items:center;width:10px;height:10px;border:1px solid #a28a5f88;border-radius:50%;font-size:6px;font-style:normal;color:#30200a}#bonus-pick-dots i.picked{background:#efd289;border-color:#efd289}
#bonus-pick-count{font-size:7px;letter-spacing:0;color:#d8c3ce;white-space:nowrap}
#bonus-timeout-note{margin-left:auto;font-size:6px;color:#907c99;white-space:nowrap}
.bonus-outcomes{position:absolute;bottom:12px;right:20px;left:auto;padding:7px;border:1px solid #9571bd4d;border-radius:13px;background:#1a1028e8;box-shadow:0 12px 30px #0004}
.bonus-selecting #special-banner,.bonus-exiting #special-banner{visibility:hidden}
.bonus-selecting .bonus-running-total,.bonus-session[data-bonus-state="opening"] .bonus-running-total,.bonus-exiting .bonus-running-total{visibility:hidden}
.bonus-result #bonus-summary{left:62%;width:350px}
.bonus-result #motion-character{z-index:8}
.bonus-result .target{opacity:.22!important}
.bonus-exiting #motion-character{z-index:8}
@media(min-width:1500px){.bonus-session .target,.bonus-session .target.bonus-column{font-size:23px}.bonus-session .target .stake{font-size:12px}}
@media(max-width:640px){
  #arena.bonus-session{height:calc(100svh - 205px);min-height:550px}
  .bonus-session .target,.bonus-session .target.bonus-column{border-radius:10px;font-size:13px;letter-spacing:-.3px}
  .bonus-session .target .stake{font-size:9px}
  .bonus-speech{padding:12px 15px 10px;border-radius:15px}
  .speech-eyebrow{margin-bottom:7px}
  #bonus-prompt-title{font-size:15px}
  #bonus-prompt-detail{font-size:10px;margin:4px 0 8px}
  .speech-action{gap:16px}.bonus-speech #bonus-lock{font-size:9px;padding:10px}
  .speech-foot{margin-top:8px}
  .bonus-outcomes{right:10px;bottom:12px;padding:5px}
  .bonus-result #bonus-summary{left:45%;top:36%;width:calc(100% - 80px);padding:20px}
  .bonus-result #bonus-result-amount{font-size:34px}.bonus-result #bonus-summary h2{font-size:12px}
  .bonus-result .bonus-result-actions{flex-direction:column;gap:7px}
  .bonus-result #bonus-collect,.bonus-result #bonus-retry{padding:10px;font-size:10px}
  .bonus-result #bonus-demo-note{font-size:7px}
  .header-right #language{white-space:nowrap;flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){.bonus-selecting .target.bonus-column-open{animation:none;border-color:#f0d382}}

/* A chosen cell stays warm orange from picking through the throw. */
.bonus-session .target.bonus-pick,.bonus-session .target.bonus-free{--chosen-fill:linear-gradient(140deg,#ffce76 0%,#ffb547 52%,#ed922f 100%);border:2px solid #ffe1a3;color:#472507;background:var(--chosen-fill);gap:2px;box-shadow:0 0 0 1px #ffd6a540,0 0 22px #ff913b68,0 0 40px #ff8a2d24,inset 0 0 22px #ff9d3c26;text-shadow:none}
.bonus-session .target.bonus-pick:hover,.bonus-session .target.bonus-free:hover{background:var(--chosen-fill);border-color:#ffd39b;filter:brightness(1.08)}
.bonus-session .target.bonus-pick:before,.bonus-session .target.bonus-free:before{content:'';position:absolute;inset:-4px;border:1px solid #ffbf7270;border-radius:inherit;pointer-events:none;box-shadow:0 0 10px #ffae5150}
.bonus-session .target.bonus-pick:after,.bonus-session .target.bonus-free:after{content:'';position:absolute;inset:-7px;border:1px solid #ffac554d;border-radius:inherit;pointer-events:none;box-shadow:0 0 17px #ff902b45;animation:chosen-orange-halo 1.8s ease-in-out infinite}
.bonus-session .target.bonus-pick .stake,.bonus-session .target.bonus-free .stake{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:9px;line-height:1;padding:0;border:0;background:transparent;color:#65340a;text-shadow:none;white-space:nowrap}
.bonus-session .target.bonus-free .stake:before{color:#ffc575}
@keyframes chosen-orange-halo{0%,100%{opacity:.4;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.3);box-shadow:0 0 24px #ffa04475}}
@media(prefers-reduced-motion:reduce){.bonus-session .target.bonus-pick:after,.bonus-session .target.bonus-free:after{animation:none;opacity:.65}}

.bonus-session .target.bonus-pick .stake:before,.bonus-session .target.bonus-free .stake:before{display:none;content:none}

/* Minimal in-play copy; zero-return rounds close through the normal retreat. */
#bonus-free-label[hidden],#bonus-prompt-detail[hidden],#bonus-timeout-note[hidden],.boost-tag{display:none!important}
.bonus-no-win #bonus-summary>:not(h2){display:none!important}
.bonus-no-win #bonus-summary{padding:30px;width:260px}
.bonus-no-win #bonus-summary h2{margin:0;font-size:19px}

.bonus-result-breakdown,#bonus-demo-note,.bonus-slot em{display:none!important}

.coin-transfer{position:fixed;inset:0;pointer-events:none;z-index:100;overflow:hidden}
.flying-coin{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fffbd0,#ffe67a 28%,#f5ad23 65%,#b86b09);border:2px solid #fff0a4;box-shadow:inset 0 0 0 3px #b76c2466,0 3px 0 #a85c0c,0 0 18px #ffce6966;display:grid;place-items:center;will-change:transform,opacity}
.flying-coin b{font-size:16px;color:#a66512;text-shadow:0 1px #fff3a6;font-style:normal}
.coin-bank-ring{position:absolute;left:-32px;top:-32px;width:64px;height:64px;border:2px solid #ffdf75;border-radius:50%;box-shadow:0 0 18px #ffd251,inset 0 0 15px #ffce6266;opacity:0}
.coin-bank-amount{position:absolute;left:0;top:0;color:#ffe58b;font-size:21px;font-weight:800;text-shadow:0 0 14px #f9b530;translate:-50% -50%;white-space:nowrap;opacity:0}
.receiving-coins #balance{color:#ffe489;text-shadow:0 0 22px #f9b63288;transition:color .2s,text-shadow .2s}
.bonus-collecting .bonus-result-actions{visibility:hidden;pointer-events:none}
.bonus-collecting #bonus-result-amount{opacity:.6;transition:opacity .3s}

/* In-play wins follow the visible line tip; result/collection stays in its panel. */
#win-toast,.bonus-running-total{right:auto;bottom:auto;z-index:9;width:max-content;max-width:calc(100% - 16px);text-align:left;white-space:nowrap;pointer-events:none;transform:none;transition:opacity .2s}
#win-toast.visible{transform:none}
#win-toast strong,.bonus-running-total strong{font-size:26px;line-height:1.15;letter-spacing:-.6px;color:#d0ffa2;text-shadow:0 2px 5px #090513,0 0 18px #a8ff5a66}
.bonus-running-total[hidden]{display:none}
@media(max-width:640px){#win-toast strong,.bonus-running-total strong{font-size:20px}}

/* Selection is orange; a confirmed hit turns lime and pulses twice. */
.bonus-session .target.bonus-hit,.bonus-session .target.bonus-hit:hover{--chosen-fill:linear-gradient(140deg,#dcffab,#adf15f 55%,#73cc43);background:var(--chosen-fill);border:2px solid #e7ffc6;color:#234416;text-shadow:none;box-shadow:0 0 25px #a5ff6670,inset 0 0 18px #eeffc155;animation:confirmed-hit-glow 1s ease-in-out 2}
.bonus-session .target.bonus-hit:before{border-color:#c6ff92;box-shadow:0 0 14px #a5ff6688}
.bonus-session .target.bonus-hit:after{border-color:#b5ff6990;box-shadow:0 0 22px #a5ff6660;animation:none;opacity:.8}
.bonus-session .target.bonus-hit .cell-result{color:#234416;font-size:10px;text-shadow:none}
.bonus-session .target.bonus-miss,.bonus-session .target.bonus-miss:hover{background:linear-gradient(135deg,#32213d,#22172e);border-color:#70557d;color:#a98cb7;box-shadow:none;opacity:.58;animation:none}
.bonus-session .target.bonus-miss:before,.bonus-session .target.bonus-miss:after{display:none}
@keyframes confirmed-hit-glow{0%,100%{filter:brightness(1);box-shadow:0 0 23px #a5ff6670,inset 0 0 18px #eeffc155}50%{filter:brightness(1.3);box-shadow:0 0 38px #c5ff9bb0,inset 0 0 28px #f1ffcfaa}}
@media(prefers-reduced-motion:reduce){.bonus-session .target.bonus-hit{animation:none}}

/* Keep the playing surface focused; secondary actions live in the menu. */
#menu-controls[hidden]{display:none}
#menu-controls{display:grid;gap:4px;margin:4px 0 12px}
.menu-setting{display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:7px 12px;border-bottom:1px solid #ffffff09;color:#d6c6e6}
.menu-link,#bonus-menu-slot #motion-launch{display:flex;width:100%;padding:14px 12px;text-align:left;font-size:13px;font-weight:500;letter-spacing:0;color:#dfcdef;background:transparent;border:0;border-radius:9px;box-shadow:none}
.menu-link:hover,#bonus-menu-slot #motion-launch:hover{background:#31213f;color:#fff}
#bonus-menu-slot #motion-launch:disabled{opacity:.4}
.menu-note{font-size:10px!important;color:#867492!important;margin:16px 0 0!important}
#menu-controls #history{margin:0}
footer{padding-bottom:22px}
@media(min-width:641px){#arena{height:calc(100svh - 265px)}}
