/* Four small emoji live on the scene edge, without taking any betting space. */
.reaction-bar{position:absolute;right:3px;bottom:6px;z-index:51;padding:2px;border:1px solid #ad956a88;border-radius:20px;background:#fff3dcb8;box-shadow:0 1px 4px #54402718;color:#5d6047}
.reaction-bar[hidden],.reaction-layer[hidden]{display:none}
.reaction-presets{display:grid;grid-template-columns:24px;gap:3px}
.reaction-presets button{display:grid;place-items:center;min-width:0;width:24px;height:24px;min-height:24px;padding:0;border:0;border-radius:50%;background:#fffaf0b3;box-shadow:none;touch-action:manipulation;line-height:1;cursor:pointer}
.reaction-presets button>span{font-size:18px;line-height:1;pointer-events:none}
.reaction-presets button:disabled{opacity:.4;cursor:default}
.reaction-presets button:focus-visible{outline:2px solid #365e48;outline-offset:1px}
.reaction-presets button.tapped{animation:cheer-tap .22s ease-out}
#reaction-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reaction-layer{position:absolute;inset:0;z-index:52;overflow:hidden;pointer-events:none;contain:layout paint;isolation:isolate}
.table-cheer{position:absolute;display:grid;place-items:center;white-space:nowrap;width:28px;height:28px;font:24px/28px system-ui;filter:drop-shadow(0 1px 2px #283b2d40);will-change:transform,opacity;transform-origin:center}
.table-cheer.mine{filter:drop-shadow(0 0 4px #ffeab5)}
.table-cheer.moving{animation:cheer-rise var(--cheer-duration) linear both}
.table-cheer.still{animation:cheer-fade var(--cheer-duration) both}
@keyframes cheer-rise{
 0%{transform:translate3d(0,5px,0) scale(.45) rotate(var(--counter-tilt));opacity:0}
 8%{transform:translate3d(var(--drift-08),var(--rise-08),0) scale(1.14) rotate(var(--tilt));opacity:1}
 24%{transform:translate3d(var(--drift-24),var(--rise-24),0) scale(1) rotate(var(--counter-tilt));opacity:1}
 45%{transform:translate3d(var(--drift-45),var(--rise-45),0) scale(.98) rotate(var(--tilt));opacity:.98}
 68%{transform:translate3d(var(--drift-68),var(--rise-68),0) scale(.9) rotate(var(--counter-tilt));opacity:.88}
 86%{transform:translate3d(var(--drift-86),var(--rise-86),0) scale(.76) rotate(var(--tilt));opacity:.5}
 100%{transform:translate3d(var(--drift-end),var(--rise-end),0) scale(.55) rotate(var(--counter-tilt));opacity:0}
}
@keyframes cheer-fade{0%,100%{opacity:0}12%,70%{opacity:1}}
@keyframes cheer-tap{0%{transform:scale(.82);background:#dceac7}70%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.reaction-presets button.tapped{animation:none;background:#e0e9cc}}

.story-controls[hidden]{display:none}
.story-controls{height:100%;display:flex;flex-direction:column;justify-content:center;gap:3px}
.story-controls>div{display:flex;align-items:center;justify-content:space-between;gap:5px}
.story-controls b{font-size:9px;color:#315641;letter-spacing:.5px}
.story-controls button{padding:2px 8px;min-height:23px;background:#e5ecd9;color:#2d523e;border:1px solid #849b70;border-radius:6px;font-size:11px}
.story-controls #story-exit{font-size:9px;min-height:19px;padding:1px 6px}
.story-controls select{min-width:0;flex:1;height:24px;padding:1px 5px;font-size:11px;background:#fff7e4;color:#315641;border:1px solid #849b70;border-radius:5px}
.story-mode .road-heading,.story-mode .road-grid-button,.story-mode .road-legend{display:none}
.story-mode .wallet::before{content:'DEMO'}
.story-mode .wallet small{display:block;font-size:8px}
.story-mode #table-bets{font-size:0}.story-mode #table-bets::after{content:'STORY DEMO';font-size:9px}
.story-mode #table-wins{visibility:hidden}
.story-mode .choice[aria-disabled=true]{opacity:.72}

/* Centre the existing award inside the illustration, keeping its amount above BET. */
.win-celebration{top:calc(var(--scene-top) + var(--scene-height) / 2);translate:-50% -50%}
.win-celebration{width:72%}

/* The award receipt keeps the outcome readable while its badge covers the LCD. */
.win-celebration>small.win-details{display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%;padding:5px 10px 3px;font-size:8px;letter-spacing:.35px;line-height:24px;white-space:nowrap}
.win-details>span:first-child{display:flex;align-items:center;gap:5px}
.win-details #win-deposit{font-size:22px;font-weight:900;color:#fff2ba;letter-spacing:0;font-variant-numeric:tabular-nums}
