/* Game-only rules on top of app.css (the approved design): stage scaling, canvas, inputs, toast. */
html, body { margin: 0; height: 100%; background: #030407; overflow: hidden; color: #F3F5FA; user-select: none; -webkit-user-select: none; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
#stage { position: absolute; left: 50%; top: 50%; width: 344px; height: 744px; border-radius: 0; transform-origin: center; }
#stage [data-a], #stage [data-b], #stage label { cursor: pointer; }
.race { overflow: hidden; }
.race canvas { position: absolute; display: block; }
img.mb { object-fit: cover; vertical-align: middle; }
.lb .mb { position: static; }
.count { pointer-events: none; }
.count.gold { color: var(--gold); }
.body { scrollbar-width: none; }
.body::-webkit-scrollbar { display: none; }
#nm { display: block; width: 100%; background: none; border: 0; outline: 0; color: #fff; font: 900 18px var(--cond); letter-spacing: .8px; padding: 0; text-transform: uppercase; user-select: text; -webkit-user-select: text; }
#toast { position: fixed; left: 50%; bottom: 16%; transform: translate(-50%, 10px); padding: 10px 16px; border-radius: 14px; background: rgba(10,12,19,.95); border: 1px solid rgba(255,255,255,.15); color: #fff; font: 800 14px "Avenir Next Condensed", "Arial Narrow", sans-serif; letter-spacing: .5px; opacity: 0; transition: .2s; pointer-events: none; z-index: 99; white-space: nowrap; }
#toast.on { opacity: 1; transform: translate(-50%, 0); }
