/* ==========================================================================
   max-game-top – Beeren-Bonanza, Glücksrad-Show im Minecraft-Pixelstil („Tiefenschiefer & Erz“).
   Markup/Animation: js/top-games.js (.tg-*). Alles unter #gameOverlay, damit es auch ohne tc-max lesbar bleibt.
   JS-Verträge: .tg-bz-cell nutzt --c/--r (Spalte/Zeile), .is-enter (+ --from, --d) = Einflug per Übergang, .is-win/.is-gone = Gewinn/weg;
   .tg-gs-rotorbox/.tg-ender-rotorbox/.tg-gs-flapbox drehen per Inline-transform (HTML-Kasten, Ursprung 50 %) – kein Filter auf bewegten SVG-Teilen (Safari zeichnet sonst nicht neu); .tg-gs-lamp nutzt --i;
   .tg-slime-ball folgt --bx/--by (.is-live = ohne Übergang); .tg-coin[data-side] + .is-flip; canvas.tg-fx = Partikel.
   ========================================================================== */

#gameOverlay {
  --tg-gold: var(--mx-gold, #ffc93c);
  --tg-emerald: var(--mx-emerald, #2ee59d);
  --tg-red: var(--mx-redstone, #ff4d5e);
  --tg-diamond: var(--mx-diamond, #5be7f0);
  --tg-amethyst: var(--mx-amethyst, #b58cff);
  --tg-text: var(--mx-text, #f2f5fb);
  --tg-text-2: var(--mx-text-2, #a9b5ce);
  --tg-line: var(--mx-line, #28365a);
  --tg-surface: var(--mx-surface, #131c31);
  --tg-display: var(--mx-font-display, 'Big Shoulders Display', 'Arial Narrow', sans-serif);
  --tg-pixel: 'Pixelify Sans', var(--mx-font-display, 'Big Shoulders Display'), monospace;
  /* Zahlen immer in der klaren Anzeigeschrift – in der Pixelschrift sehen 2 und 8 gleich aus */
  --tg-num: var(--mx-font-display, 'Big Shoulders Display'), 'Arial Narrow', sans-serif;
  --tg-body: var(--mx-font-body, 'Onest'), system-ui, sans-serif;
  --tg-bevel: inset 2px 2px 0 rgba(255, 255, 255, .2), inset -2px -2px 0 rgba(0, 0, 0, .38);
  --tg-crack: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 16' shape-rendering='crispEdges'%3E%3Cpath d='M7 7h2v1h-2zM8 8h1v2h-1zM6 6h1v1h-1zM9 5h1v2h-1zM5 9h1v1h-1zM23 7h2v1h-2zM24 8h1v2h-1zM22 6h1v1h-1zM25 5h1v2h-1zM21 9h1v1h-1zM20 5h2v1h-2zM19 4h1v1h-1zM26 4h2v1h-2zM28 3h1v1h-1zM25 10h1v2h-1zM26 12h1v1h-1zM21 10h1v2h-1zM20 12h1v1h-1zM27 8h2v1h-2zM39 7h2v1h-2zM40 8h1v2h-1zM38 6h1v1h-1zM41 5h1v2h-1zM37 9h1v1h-1zM36 5h2v1h-2zM35 4h1v1h-1zM42 4h2v1h-2zM44 3h1v1h-1zM41 10h1v2h-1zM42 12h1v1h-1zM37 10h1v2h-1zM36 12h1v1h-1zM43 8h2v1h-2zM34 3h1v1h-1zM33 2h1v1h-1zM45 2h1v1h-1zM46 1h1v1h-1zM43 13h1v2h-1zM44 15h1v1h-1zM35 13h1v2h-1zM34 15h1v1h-1zM45 9h2v1h-2zM47 10h1v1h-1zM32 7h3v1h-3zM38 1h1v3h-1zM39 0h1v1h-1z' fill='%23000' fill-opacity='.62'/%3E%3C/svg%3E");
}

#gameOverlay .tg-px { display: block; width: 100%; height: 100%; image-rendering: pixelated; shape-rendering: crispEdges; }
#gameOverlay .tg-px-sm { display: inline-block; width: 20px; height: 20px; vertical-align: -5px; margin-right: 6px; }
#gameOverlay .tg-px-xs { display: inline-block; width: 16px; height: 16px; vertical-align: -3px; margin-right: 5px; }
#gameOverlay .tg-px-logo { width: 30px; height: 30px; }
#gameOverlay canvas.tg-fx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 8; image-rendering: pixelated; }

/* ------------------------------------------------------------ Optionen (Hinweis „So geht’s“) */
#gameOverlay .tg-opt { display: grid; gap: 8px; width: 100%; }
#gameOverlay .tg-opt-label { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tg-text-2); }
#gameOverlay .tg-opt-note { color: var(--tg-text-2); font-size: 12px; line-height: 1.45; }

/* ------------------------------------------------------------ Gewinntabelle (aufklappbar) */
#gameOverlay .tg-pays { border: 2px solid #0d0f18; border-radius: 6px; background: #1b1d27; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .06), inset -2px -2px 0 rgba(0, 0, 0, .3); }
#gameOverlay .tg-pays summary { display: flex; justify-content: space-between; gap: 12px; padding: 11px 16px; cursor: pointer; font: 700 15px/1.2 var(--tg-pixel); list-style: none; }
#gameOverlay .tg-pays summary::-webkit-details-marker { display: none; }
#gameOverlay .tg-pays summary small { color: var(--tg-text-2); font-weight: 500; }
#gameOverlay .tg-pays-body { padding: 0 16px 14px; }
#gameOverlay .tg-pays table { width: 100%; border-collapse: collapse; font-size: 13px; }
#gameOverlay .tg-pays th, #gameOverlay .tg-pays td { padding: 6px 8px; border-bottom: 1px solid rgba(148, 170, 220, .1); text-align: right; }
#gameOverlay .tg-pays th[scope="row"], #gameOverlay .tg-pays thead th:first-child { text-align: left; }
#gameOverlay .tg-pays th[scope="row"] { display: flex; align-items: center; font-weight: 700; }
#gameOverlay .tg-pays td { font: 800 15px/1 var(--tg-num); font-variant-numeric: tabular-nums; color: #ffff55; }
#gameOverlay .tg-pays p { margin: 10px 0 0; color: var(--tg-text-2); font-size: 12.5px; line-height: 1.55; }

/* ================================================================== Beeren-Bonanza (Ablauf/Animation wie vor dem Pixel-Umbau, Rahmen im Pixelstil) */
#gameOverlay .tg-bz { display: grid; gap: 10px; width: 100%; max-width: 800px; margin: 0 auto; color: var(--tg-text); font-family: var(--tg-body); }
#gameOverlay .tg-bz-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
#gameOverlay .tg-bz-logo { display: inline-flex; align-items: center; gap: 4px; }
#gameOverlay .tg-bz-logo b { margin-left: 6px; font: 700 27px/1 var(--tg-pixel); letter-spacing: .03em; color: #ffaa00; text-shadow: 3px 3px 0 #3f2a00; text-transform: uppercase; }
#gameOverlay .tg-bz-meta { display: flex; flex-wrap: wrap; gap: 6px; }
#gameOverlay .tg-bz-meta i { display: inline-flex; align-items: center; padding: 4px 8px; border: 2px solid #0d0f18; border-radius: 4px; background: #2b2d38; color: #dfe5f2; font: 600 12px/1 var(--tg-body); font-style: normal; box-shadow: var(--tg-bevel); }
#gameOverlay .tg-bz-frame {
  position: relative;
  aspect-ratio: 6 / 5;
  border: 4px solid #2b1d0e;
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .22)),
    repeating-linear-gradient(90deg, transparent 0 62px, rgba(58, 36, 14, .55) 62px 64px),
    repeating-linear-gradient(0deg, #a57a45 0 14px, #8a6234 14px 15px, #6d4a24 15px 16px);
  box-shadow: inset 3px 3px 0 rgba(255, 232, 186, .25), inset -3px -3px 0 rgba(0, 0, 0, .38), 0 26px 60px -30px #000;
  overflow: hidden;
}
#gameOverlay .tg-bz-slots { position: absolute; inset: 14px; display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(5, 1fr); border: 2px solid #111116; background: #1c1c22; }
#gameOverlay .tg-bz-slots i { margin: 3px; background: #30303a; box-shadow: inset 3px 3px 0 #17171c, inset -3px -3px 0 #50505c; }
#gameOverlay .tg-bz-grid { position: absolute; inset: 16px; }
#gameOverlay .tg-bz-cell {
  position: absolute;
  left: 0; top: 0;
  width: calc(100% / 6);
  height: calc(100% / 5);
  display: grid;
  place-items: center;
  transform: translate(calc(var(--c) * 100%), calc(var(--r) * 100%));
  transition: transform 430ms cubic-bezier(.3, 1.3, .55, 1) var(--d, 0ms), opacity 220ms;
  will-change: transform;
}
#gameOverlay .tg-bz-cell .tg-px { width: 74%; height: 74%; filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .42)); transition: transform 240ms; }
#gameOverlay .tg-bz-cell.is-enter { transform: translate(calc(var(--c) * 100%), calc(var(--from, -6) * 100%)); transition: none; }
#gameOverlay .tg-bz-cell.is-win { z-index: 2; }
#gameOverlay .tg-bz-cell.is-win::before { content: ''; position: absolute; inset: 6%; border-radius: 14px; background: radial-gradient(circle, rgba(255, 224, 138, .55), rgba(255, 150, 60, .15) 60%, transparent 72%); animation: tgGlow .7s ease-in-out infinite alternate; }
#gameOverlay .tg-bz-cell.is-win .tg-px { animation: tgBounce .35s ease-in-out infinite alternate; }
#gameOverlay .tg-bz-cell.is-gone { opacity: 0; }
#gameOverlay .tg-bz-cell.is-gone .tg-px { transform: scale(.2) rotate(18deg); }
#gameOverlay .tg-bz-cell.is-scatter::before { content: ''; position: absolute; inset: 4%; border-radius: 50%; background: radial-gradient(circle, rgba(201, 184, 255, .7), transparent 70%); animation: tgGlow .5s ease-in-out infinite alternate; }
#gameOverlay .tg-bz-cell.is-scatter .tg-px { animation: tgSpinPop .9s ease-in-out infinite; }
#gameOverlay .tg-bz-bomb {
  position: absolute;
  bottom: 5%;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  padding: 1px 7px;
  border: 2px solid #ffaa00;
  border-radius: 4px;
  background: #1c1c24;
  color: #ffff55;
  font: 900 clamp(12px, 2.3vw, 17px)/1.15 var(--tg-num);
  letter-spacing: .03em;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, .5);
}
#gameOverlay .tg-bz-cell.is-bomb-fire .tg-px { animation: tgBounce .25s ease-in-out infinite alternate; filter: drop-shadow(0 0 10px #ffd23f); }
@keyframes tgGlow { from { opacity: .55; transform: scale(.92); } to { opacity: 1; transform: scale(1.04); } }
@keyframes tgBounce { from { transform: translateY(0) scale(1); } to { transform: translateY(-5%) scale(1.08); } }
@keyframes tgSpinPop { 0%, 100% { transform: scale(1) rotate(0); } 50% { transform: scale(1.18) rotate(8deg); } }
@keyframes tgCrack { 0% { background-position: 0 0; } 33% { background-position: 50% 0; } 66%, 100% { background-position: 100% 0; } }
/* Freispiele: Netherrahmen */
#gameOverlay .tg-bz[data-free="true"] .tg-bz-frame {
  border-color: #1a0505;
  background:
    radial-gradient(circle at 30% 30%, #8f2a2a 0 2px, transparent 2.5px) 0 0 / 13px 13px,
    radial-gradient(circle at 60% 70%, #3e0c0c 0 2px, transparent 2.5px) 0 0 / 17px 17px,
    linear-gradient(180deg, #6e2020, #4a1313);
  box-shadow: inset 3px 3px 0 rgba(255, 150, 120, .2), inset -3px -3px 0 rgba(0, 0, 0, .45), 0 0 34px rgba(179, 92, 255, .35), 0 26px 60px -30px #000;
}
#gameOverlay .tg-bz[data-free="true"] .tg-bz-slots { background: #1a1020; }
#gameOverlay .tg-bz[data-free="true"] .tg-bz-slots i { background: #2c1a33; box-shadow: inset 3px 3px 0 #140a18, inset -3px -3px 0 #4d2f57; }
/* Gewinnanzeige in der Mitte, Banner */
#gameOverlay .tg-bz-float { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; pointer-events: none; }
#gameOverlay .tg-bz-floater { grid-area: 1 / 1; display: grid; justify-items: center; gap: 3px; padding: 8px 14px; border: 2px solid #ffaa00; border-radius: 6px; background: rgba(10, 6, 20, .8); text-align: center; animation: tgFloat 2.1s ease-out forwards; }
#gameOverlay .tg-bz-floater b { font: 900 30px/1 var(--tg-num); color: #ffff55; text-shadow: 2px 2px 0 #3f3f15; font-variant-numeric: tabular-nums; }
#gameOverlay .tg-bz-floater small { max-width: 440px; color: #ffe0ee; font: 700 12.5px/1.25 var(--tg-body); }
#gameOverlay .tg-bz-floater.is-big b { font-size: 42px; color: #fff; text-shadow: 3px 3px 0 #3f2a00, 0 0 22px #ffd23f; }
@keyframes tgFloat { 0% { opacity: 0; transform: translateY(18px) scale(.85); } 14% { opacity: 1; transform: translateY(0) scale(1.04); } 70% { opacity: 1; transform: translateY(-8px) scale(1); } 100% { opacity: 0; transform: translateY(-34px) scale(.96); } }
#gameOverlay .tg-bz-banner, #gameOverlay .tg-gs-flash { position: absolute; inset: 0; z-index: 11; display: grid; place-content: center; justify-items: center; gap: 8px; background: radial-gradient(circle, rgba(16, 8, 26, .82), rgba(8, 4, 16, .6)); text-align: center; }
#gameOverlay .tg-bz-banner[hidden] { display: none; }
#gameOverlay .tg-bz-banner b, #gameOverlay .tg-gs-flash b { font: 700 clamp(32px, 7vw, 62px)/1 var(--tg-pixel); letter-spacing: .03em; color: #ffaa00; text-shadow: 4px 4px 0 #3f2a00, 0 0 30px rgba(255, 170, 0, .6); }
#gameOverlay .tg-bz-banner small, #gameOverlay .tg-gs-flash small { color: #ffe0ee; font: 700 16px/1.2 var(--tg-num); letter-spacing: .02em; }
#gameOverlay .tg-bz-banner.is-in b, #gameOverlay .tg-gs-flash b { animation: tgBanner .5s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes tgBanner { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
#gameOverlay .tg-bz-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 10px 14px; border: 2px solid #0d0f18; border-radius: 6px; background: #1b1d27; font: 700 14px/1.2 var(--tg-body); box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .06), inset -2px -2px 0 rgba(0, 0, 0, .3); }
#gameOverlay .tg-bz-total b { color: #ffff55; font: 800 17px/1 var(--tg-num); font-variant-numeric: tabular-nums; letter-spacing: .02em; }
#gameOverlay .tg-bz-fs[hidden] { display: none; }
#gameOverlay .tg-bz-fs { color: #e0c8ff; }
#gameOverlay .tg-bz-fs b { color: #fff; font: 800 16px/1 var(--tg-num); }
#gameOverlay .tg-skip { margin-left: auto; min-height: 34px; padding: 0 12px; border: 2px solid #0d0f18; border-radius: 4px; background: #4a4d5c; color: var(--tg-text); font: 700 14px/1 var(--tg-body); cursor: pointer; box-shadow: var(--tg-bevel); }
#gameOverlay .tg-skip[hidden] { display: none; }
#gameOverlay .tg-skip:disabled { opacity: .55; }
#gameOverlay .tg-bz[data-result="win"] .tg-bz-frame { box-shadow: inset 3px 3px 0 rgba(255, 232, 186, .25), inset -3px -3px 0 rgba(0, 0, 0, .38), 0 0 0 3px rgba(255, 170, 0, .7), 0 0 30px rgba(255, 170, 0, .3); }

/* ================================================================== Glücksrad-Show */
#gameOverlay .tg-gs { display: grid; gap: 12px; width: 100%; max-width: 1000px; margin: 0 auto; color: var(--tg-text); font-family: var(--mx-font-body, system-ui); }
#gameOverlay .tg-gs-stage {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 14px 10px 88px;
  border: 3px solid #0d0f18;
  border-radius: 8px;
  background:
    radial-gradient(60% 55% at 50% 52%, rgba(255, 201, 60, .16), transparent 70%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 32px),
    linear-gradient(180deg, #1d1438 0%, #120c26 60%, #0b0818 100%);
  box-shadow: inset 0 0 0 2px rgba(255, 201, 60, .2);
  overflow: hidden;
}
#gameOverlay .tg-gs-beams { position: absolute; inset: 0; pointer-events: none; }
#gameOverlay .tg-gs-beams i { position: absolute; top: -10%; width: 34%; height: 120%; background: linear-gradient(180deg, rgba(255, 236, 170, .13), rgba(255, 236, 170, 0) 80%); clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%); transform-origin: 50% 0; opacity: .7; }
#gameOverlay .tg-gs-beams i:first-child { left: 2%; transform: rotate(-18deg); }
#gameOverlay .tg-gs-beams i:last-child { right: 2%; transform: rotate(18deg); }
#gameOverlay .tg-gs-stage:has(.is-spinning) .tg-gs-beams i:first-child { animation: tgBeamL 1.6s ease-in-out infinite alternate; }
#gameOverlay .tg-gs-stage:has(.is-spinning) .tg-gs-beams i:last-child { animation: tgBeamR 1.6s ease-in-out infinite alternate; }
@keyframes tgBeamL { from { transform: rotate(-26deg); } to { transform: rotate(8deg); } }
@keyframes tgBeamR { from { transform: rotate(26deg); } to { transform: rotate(-8deg); } }
#gameOverlay .tg-gs-topslot { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; padding: 6px 10px; border: 3px solid #0d0f18; border-radius: 6px; background: #2b2d38; box-shadow: var(--tg-bevel); }
#gameOverlay .tg-gs-top-label { font: 700 15px/1 var(--tg-pixel); letter-spacing: .1em; color: #ffaa00; text-shadow: 2px 2px 0 #3f2a00; }
#gameOverlay .tg-gs-reel { display: block; width: 56px; height: 42px; overflow: hidden; border: 2px solid #111; border-radius: 3px; background: linear-gradient(180deg, #cfcfd8 0%, #fff 30%, #fff 70%, #c9c9d6 100%); box-shadow: inset 0 3px 6px rgba(0, 0, 0, .35), inset 0 -3px 6px rgba(0, 0, 0, .25); }
#gameOverlay .tg-gs-strip { display: flex; flex-direction: column; will-change: transform; }
#gameOverlay .tg-gs-strip i { flex: none; display: grid; place-items: center; height: 42px; font-style: normal; }
#gameOverlay .tg-gs-strip b { font: 900 24px/1 var(--tg-num); color: #1a1030; }
#gameOverlay .tg-gs-reel .tg-px { width: 30px; height: 30px; }
#gameOverlay .tg-gs-topslot.is-set { box-shadow: var(--tg-bevel), 0 0 24px rgba(255, 170, 0, .55); }
#gameOverlay .tg-gs-topslot.is-set .tg-gs-reel-mult b { color: #b3001e; }
#gameOverlay .tg-gs-wheelwrap { position: relative; z-index: 1; width: min(440px, 88vw); aspect-ratio: 1; border-radius: 50%; background: #1a1206; box-shadow: 0 18px 30px -4px rgba(0, 0, 0, .65); }
#gameOverlay .tg-gs-rotorbox { position: absolute; inset: 0; transform-origin: 50% 50%; will-change: transform; }
#gameOverlay .tg-gs-rotorsvg, #gameOverlay .tg-gs-wheel { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
#gameOverlay .tg-gs-wheel { pointer-events: none; }
#gameOverlay .tg-gs-flapbox { position: absolute; left: 50%; top: -.5%; z-index: 2; width: 7%; height: 9.5%; margin-left: -3.5%; transform-origin: 50% 32%; pointer-events: none; }
#gameOverlay .tg-gs-flapbox svg { display: block; width: 100%; height: 100%; overflow: visible; }
#gameOverlay .tg-gs-seg { stroke: rgba(10, 8, 20, .7); stroke-width: 1.2; }
#gameOverlay .tg-gs-glow { fill: #ffffff; opacity: .3; pointer-events: none; animation: tgSegGlow .22s steps(1) 10; }
#gameOverlay .tg-gs-glow.is-still { animation: none; }
@keyframes tgSegGlow { 0% { opacity: .55; } 50% { opacity: .08; } }
#gameOverlay .tg-gs-peg { fill: #fff0a0; stroke: #5a3c00; stroke-width: 1; }
#gameOverlay .tg-gs-lamp { fill: #ffd23f; stroke: #3b2a06; stroke-width: 1.5; }
#gameOverlay .tg-gs-lamp:nth-of-type(even) { fill: #7a4a12; }
/* Lauflicht: Grundlampen im Rad-SVG dunkel, darüber je Lampe ein Licht (.tg-gs-lampbox i), das nur die Deckkraft wechselt
   (Compositor) – wie früher die Hälfte leuchtend, Lampe i 15 ms voraus; kein Umfärben im Rad-SVG mehr. */
#gameOverlay .tg-gs-lampbox { position: absolute; inset: 0; display: none; pointer-events: none; }
#gameOverlay .tg-gs-lampbox i { position: absolute; width: 1.625%; height: 1.625%; background: #fff3a0; opacity: 0; }
#gameOverlay .is-spinning .tg-gs-lamp { fill: #7a4a12; }
#gameOverlay .is-spinning .tg-gs-lampbox { display: block; }
#gameOverlay .is-spinning .tg-gs-lampbox i { animation: tgLampLit .42s steps(1) infinite; }
@keyframes tgLampLit { 0% { opacity: 1; } 50% { opacity: 0; } }
#gameOverlay .is-landed .tg-gs-lamp { animation: tgLampFlash .24s steps(1) 8; }
@keyframes tgLampFlash { 0% { fill: #ffffff; } 50% { fill: #ff5555; } }
#gameOverlay .tg-gs-rotorsvg text { font: 900 19px var(--tg-num); fill: #fff; paint-order: stroke; stroke: rgba(10, 8, 20, .8); stroke-width: 3.5px; }
#gameOverlay .tg-gs-hub { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 26%; aspect-ratio: 1; border-radius: 50%; pointer-events: none; }
#gameOverlay .tg-gs-hub b { font: 700 clamp(20px, 4vw, 30px)/.9 var(--tg-pixel); color: #ffaa00; letter-spacing: .08em; text-shadow: 2px 2px 0 #3f2a00; }
#gameOverlay .tg-gs-hub small { font: 700 11px/1 var(--tg-pixel); color: #d8c8ff; letter-spacing: .3em; }
#gameOverlay .tg-gs-result { position: absolute; left: 0; right: 0; bottom: 10px; z-index: 7; display: grid; justify-items: center; gap: 3px; width: max-content; min-width: min(90%, 360px); max-width: 94%; margin: 0 auto; padding: 10px 18px; border: 3px solid #0d0f18; border-radius: 6px; background: rgba(12, 10, 22, .92); text-align: center; box-shadow: var(--tg-bevel); }
#gameOverlay .tg-gs-result[hidden] { display: none; }
#gameOverlay .tg-gs-result b { font: 900 32px/1.05 var(--tg-num); letter-spacing: .02em; }
#gameOverlay .tg-gs-result small { color: var(--tg-text-2); font: 700 13px/1.25 var(--tg-body); }
#gameOverlay .tg-gs-result.is-win { border-color: #ffaa00; box-shadow: var(--tg-bevel), 0 0 30px rgba(255, 170, 0, .35); animation: tgBanner .45s cubic-bezier(.3, 1.6, .5, 1) both; }
#gameOverlay .tg-gs-result.is-win b { color: #ffff55; text-shadow: 3px 3px 0 #3f3f15; }
#gameOverlay .tg-gs-result.is-lose b, #gameOverlay .tg-gs-result.is-note { color: var(--tg-text-2); }
#gameOverlay .tg-gs-result.is-note { font: 700 13px/1.3 var(--tg-body); }

/* Einsatzfelder */
#gameOverlay .tg-gs-board { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }
#gameOverlay .tg-gs-spot {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 3px;
  min-height: 118px;
  padding: 10px 4px 34px;
  border: 3px solid #0d0f18;
  border-radius: 6px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--spot) 62%, #1a1a24) 0%, color-mix(in srgb, var(--spot) 30%, #101018) 100%);
  color: #fff;
  cursor: pointer;
  box-shadow: inset 3px 3px 0 rgba(255, 255, 255, .22), inset -3px -3px 0 rgba(0, 0, 0, .35);
  transition: transform .12s, box-shadow .2s, filter .2s;
}
#gameOverlay .tg-gs-spot:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.12); }
#gameOverlay .tg-gs-spot:active:not(:disabled) { transform: translateY(1px); box-shadow: inset -3px -3px 0 rgba(255, 255, 255, .12), inset 3px 3px 0 rgba(0, 0, 0, .35); }
#gameOverlay .tg-gs-spot:disabled { cursor: default; }
#gameOverlay .tg-gs-face { display: grid; place-items: center; width: 44px; height: 44px; }
#gameOverlay .tg-gs-face .tg-px { width: 40px; height: 40px; filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .4)); }
#gameOverlay .tg-gs-num { font: 900 40px/1 var(--tg-num); text-shadow: 3px 3px 0 rgba(0, 0, 0, .45); }
#gameOverlay .tg-gs-name { font: 800 12px/1.1 var(--tg-body); text-align: center; }
#gameOverlay .tg-gs-pay { color: rgba(255, 255, 255, .78); font-size: 11px; font-weight: 700; text-align: center; }
#gameOverlay .tg-gs-stack {
  position: absolute;
  left: 50%;
  bottom: 7px;
  min-width: 34px;
  padding: 3px 8px;
  border: 2px dashed rgba(255, 255, 255, .35);
  border-radius: 999px;
  background: rgba(0, 0, 0, .45);
  font: 800 13px/1 var(--tg-num);
  font-variant-numeric: tabular-nums;
  transform: translateX(-50%);
}
#gameOverlay .tg-gs-spot.has-stake .tg-gs-stack { border: 2px solid #fff4d0; background: var(--tg-gold); color: #2a1a00; box-shadow: 0 3px 0 #6b4a00; }
#gameOverlay .tg-gs-spot.is-landed { box-shadow: inset 3px 3px 0 rgba(255, 255, 255, .3), inset -3px -3px 0 rgba(0, 0, 0, .35), 0 0 0 3px #ffff55, 0 0 30px rgba(255, 255, 85, .45); animation: tgSpotLand .5s steps(2) 4; }
@keyframes tgSpotLand { from { filter: brightness(1.35); } to { filter: brightness(1); } }
#gameOverlay .tg-gs-topmark { position: absolute; top: -10px; right: -6px; padding: 2px 7px; border: 2px solid #4a000c; border-radius: 4px; background: #d0102c; color: #fff; font: 700 14px/1.2 var(--tg-num); font-style: normal; box-shadow: 0 2px 0 #4a000c; }
#gameOverlay .tg-gs-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 8px 12px; border: 2px solid #0d0f18; border-radius: 6px; background: #1b1d27; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .06), inset -2px -2px 0 rgba(0, 0, 0, .3); }
#gameOverlay .tg-gs-tools button { min-height: 34px; padding: 0 12px; border: 2px solid #0d0f18; border-radius: 4px; background: #4a4d5c; color: var(--tg-text); font: 700 13px/1 var(--tg-body); cursor: pointer; box-shadow: var(--tg-bevel); }
#gameOverlay .tg-gs-tools button:hover { background: #5c6173; }
#gameOverlay .tg-gs-hint { flex: 1 1 220px; color: var(--tg-text-2); font-size: 12px; }
#gameOverlay .tg-gs-hint-touch { display: none; }
/* Finger statt Maus: Dort gibt es keinen Rechtsklick – der Hinweis nennt das lange Drücken. */
@media (hover: none) and (pointer: coarse) {
  #gameOverlay .tg-gs-hint-mouse { display: none; }
  #gameOverlay .tg-gs-hint-touch { display: inline; }
}
#gameOverlay .tg-gs-total { font: 700 14px/1 var(--tg-body); }
#gameOverlay .tg-gs-total b { color: #ffff55; font-variant-numeric: tabular-nums; }

/* Bonusbühne über dem Rad */
#gameOverlay .tg-gs-bonus { position: absolute; inset: 0 0 80px; z-index: 4; display: grid; place-content: center; justify-items: center; gap: 12px; padding: 16px; background: rgba(8, 6, 18, .92); text-align: center; }
#gameOverlay .tg-gs-bonus[hidden] { display: none; }
#gameOverlay .tg-gs-bonus .tg-gs-btitle { margin: 0; font: 700 26px/1 var(--tg-pixel); letter-spacing: .04em; color: #ffaa00; text-shadow: 3px 3px 0 #3f2a00; }
#gameOverlay .tg-gs-bonus-intro { display: grid; justify-items: center; gap: 8px; animation: tgBanner .5s cubic-bezier(.3, 1.6, .5, 1) both; }
#gameOverlay .tg-gs-bonus-intro b { font: 700 clamp(36px, 7vw, 60px)/1 var(--tg-pixel); color: #ffffff; text-shadow: 4px 4px 0 #3f3f3f, 0 0 26px rgba(255, 201, 60, .6); }
#gameOverlay .tg-gs-bonus-intro small { color: #ffaa00; font: 700 15px/1 var(--tg-pixel); letter-spacing: .12em; text-transform: uppercase; }
#gameOverlay .tg-px-hero { width: 96px; height: 96px; animation: tgHero 1s ease-in-out infinite alternate; }
@keyframes tgHero { from { transform: translateY(0) rotate(-4deg); } to { transform: translateY(-8px) rotate(4deg); } }
/* Münzwurf */
#gameOverlay .tg-coin-scene { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; perspective: 700px; }
#gameOverlay .tg-coin-side { display: grid; gap: 5px; min-width: 110px; padding: 12px 18px; border: 3px solid #0d0f18; border-radius: 6px; box-shadow: var(--tg-bevel); transition: transform .3s, box-shadow .3s; }
#gameOverlay .tg-coin-side span { font: 700 12px/1 var(--tg-pixel); letter-spacing: .12em; text-transform: uppercase; }
#gameOverlay .tg-coin-side b { font: 900 36px/1 var(--tg-num); }
#gameOverlay .tg-coin-side.is-red { background: #5a1414; color: #ffb3a9; }
#gameOverlay .tg-coin-side.is-blue { background: #14305a; color: #a9dcff; }
#gameOverlay .tg-coin-side.is-win { border-color: #ffff55; box-shadow: var(--tg-bevel), 0 0 26px rgba(255, 255, 85, .5); transform: scale(1.08); }
#gameOverlay .tg-coin { position: relative; width: 110px; height: 110px; transform-style: preserve-3d; }
#gameOverlay .tg-coin-face { position: absolute; inset: 0; border: 4px solid #0d0f18; border-radius: 50%; backface-visibility: hidden; box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .18), 0 10px 20px rgba(0, 0, 0, .5); image-rendering: pixelated; }
#gameOverlay .tg-coin-red { background: radial-gradient(circle at 36% 30%, #ff8a7a 0 12%, transparent 13%), repeating-linear-gradient(45deg, rgba(0, 0, 0, .14) 0 6px, transparent 6px 12px), radial-gradient(circle, #ff4a3d, #a0140e 70%); }
#gameOverlay .tg-coin-blue { background: radial-gradient(circle at 36% 30%, #9fd0ff 0 12%, transparent 13%), repeating-linear-gradient(-45deg, rgba(255, 255, 255, .12) 0 6px, transparent 6px 12px), radial-gradient(circle, #3a6fe0, #102c6e 70%); transform: rotateY(180deg); }
#gameOverlay .tg-coin.is-flip[data-side="red"] { animation: tgCoinRed 2s cubic-bezier(.2, .8, .3, 1) forwards; }
#gameOverlay .tg-coin.is-flip[data-side="blue"] { animation: tgCoinBlue 2s cubic-bezier(.2, .8, .3, 1) forwards; }
#gameOverlay .tg-coin.is-still[data-side="red"] { animation: none; transform: rotateY(0); }
#gameOverlay .tg-coin.is-still[data-side="blue"] { animation: none; transform: rotateY(180deg); }
@keyframes tgCoinRed { 0% { transform: translateY(0) rotateY(0); } 45% { transform: translateY(-80px) rotateY(1800deg); } 100% { transform: translateY(0) rotateY(2880deg); } }
@keyframes tgCoinBlue { 0% { transform: translateY(0) rotateY(0); } 45% { transform: translateY(-80px) rotateY(1800deg); } 100% { transform: translateY(0) rotateY(3060deg); } }
/* Schleimball */
#gameOverlay .tg-slime { --slots: 16; position: relative; width: min(560px, 86vw); aspect-ratio: 16 / 12; }
#gameOverlay .tg-slime-pegs { position: absolute; inset: 0 0 16% 0; }
#gameOverlay .tg-slime-pegs i { position: absolute; left: calc(50% + var(--pk) * (100% / var(--slots))); top: calc(4% + var(--pr) * 5.4%); width: 6px; height: 6px; margin: -3px; background: #cfd6ea; box-shadow: 1px 1px 0 #5a6380; transition: background .2s, box-shadow .2s; }
#gameOverlay .tg-slime-pegs i.is-hit { background: #b8f59a; box-shadow: 0 0 10px #7ed957; }
#gameOverlay .tg-slime-ball { position: absolute; left: calc(50% + var(--bx, 0) * (100% / var(--slots))); top: calc(1% + var(--by, 0) * 5.1%); z-index: 2; width: 7%; aspect-ratio: 1; margin-left: -3.5%; transition: left 120ms ease-out, top 120ms cubic-bezier(.4, 1.6, .6, 1); }
#gameOverlay .tg-slime-ball.is-live { transition: none; }
#gameOverlay .tg-slime-slots { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: 2px; margin: 0; padding: 0; list-style: none; }
#gameOverlay .tg-slime-slots li { display: grid; place-items: center; min-height: 38px; padding: 2px 0; border: 2px solid #0d0f18; border-radius: 3px; background: #26324e; color: #cfe9ff; font: 700 clamp(10px, 1.7vw, 14px)/1 var(--tg-num); box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .12); }
#gameOverlay .tg-slime-slots li small { display: block; font-size: 7px; letter-spacing: .02em; }
#gameOverlay .tg-slime-slots li.is-doppelt { background: #ffc93c; color: #2a1a00; }
#gameOverlay .tg-slime-slots li.is-hit { background: #7ed957; color: #0d2a07; box-shadow: 0 0 18px rgba(126, 217, 87, .8); transform: translateY(-3px); }
/* Schatzsuche – Steinblöcke abbauen */
#gameOverlay .tg-hunt-pool { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; max-width: 560px; margin: 0; padding: 0; list-style: none; }
#gameOverlay .tg-hunt-pool li { padding: 2px 7px; border: 2px solid #0d0f18; border-radius: 3px; background: #4a3218; color: #ffd2a1; font: 700 12px/1.3 var(--tg-num); }
#gameOverlay .tg-hunt-grid { display: grid; grid-template-columns: repeat(6, 60px); gap: 5px; }
#gameOverlay .tg-hunt-block {
  position: relative;
  width: 60px;
  height: 56px;
  border: 2px solid #0d0f18;
  border-radius: 2px;
  cursor: pointer;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .13) 0 25%, transparent 25% 50%, rgba(255, 255, 255, .08) 50% 75%, transparent 75%) 0 0 / 16px 8px,
    linear-gradient(0deg, rgba(0, 0, 0, .1) 0 50%, transparent 50%) 0 0 / 8px 16px,
    #7d7d86;
  box-shadow: inset 3px 3px 0 rgba(255, 255, 255, .18), inset -3px -3px 0 rgba(0, 0, 0, .3);
  transition: transform .15s;
}
#gameOverlay .tg-hunt-block:hover:not(:disabled) { transform: translateY(-3px); box-shadow: 0 0 0 2px #ffff55, inset 3px 3px 0 rgba(255, 255, 255, .18), inset -3px -3px 0 rgba(0, 0, 0, .3); }
#gameOverlay .tg-hunt-block span { position: relative; z-index: 2; font: 900 17px/1 var(--tg-num); color: #fff; text-shadow: 2px 2px 0 rgba(0, 0, 0, .6); }
#gameOverlay .tg-hunt-crack { position: absolute; inset: 4px; z-index: 1; opacity: 0; background: var(--tg-crack) 0 0 / 300% 100% no-repeat; image-rendering: pixelated; pointer-events: none; }
#gameOverlay .tg-hunt-block.is-mining .tg-hunt-crack { opacity: 1; animation: tgCrack .36s steps(1) forwards; }
#gameOverlay .tg-hunt-block.is-mining { animation: tgMine .12s steps(2) 3; }
@keyframes tgMine { from { transform: translateX(-1px); } to { transform: translateX(1px); } }
#gameOverlay .tg-hunt-block.is-open { cursor: default; background: #2e2a24; box-shadow: inset 3px 3px 0 rgba(0, 0, 0, .45), inset -3px -3px 0 rgba(255, 255, 255, .06); }
#gameOverlay .tg-hunt-block.is-open .tg-hunt-crack { opacity: 0; }
#gameOverlay .tg-hunt-block.is-open.ore-i { background: radial-gradient(circle at 25% 30%, #d8af93 0 3px, transparent 4px), radial-gradient(circle at 72% 66%, #d8af93 0 3px, transparent 4px), #6b6b74; }
#gameOverlay .tg-hunt-block.is-open.ore-g { background: radial-gradient(circle at 25% 30%, #ffd23f 0 3px, transparent 4px), radial-gradient(circle at 72% 66%, #ffd23f 0 3px, transparent 4px), radial-gradient(circle at 70% 22%, #fff0a0 0 2px, transparent 3px), #6b6b74; }
#gameOverlay .tg-hunt-block.is-open.ore-d { background: radial-gradient(circle at 25% 30%, #5be7f0 0 3px, transparent 4px), radial-gradient(circle at 72% 66%, #5be7f0 0 3px, transparent 4px), radial-gradient(circle at 30% 76%, #c8fbff 0 2px, transparent 3px), #5a5a64; box-shadow: 0 0 14px rgba(91, 231, 240, .45), inset 3px 3px 0 rgba(0, 0, 0, .35); }
#gameOverlay .tg-hunt-block.is-chosen { box-shadow: 0 0 0 3px #ffff55, 0 0 24px rgba(255, 255, 85, .6); z-index: 1; }
#gameOverlay .tg-hunt-block.is-chosen.is-open { transform: scale(1.1); }
#gameOverlay .tg-hunt-block.is-chosen.is-open span { color: #ffff55; font-size: 18px; text-shadow: 2px 2px 0 #3f3f15; }
/* Enderwelt */
#gameOverlay .tg-ender-stage { position: relative; width: min(360px, 78vw); aspect-ratio: 1; }
#gameOverlay .tg-ender-wheel { position: relative; width: 100%; height: 100%; border-radius: 50%; box-shadow: 0 0 26px rgba(70, 199, 164, .28); }
#gameOverlay .tg-ender-rotorbox { position: absolute; inset: 0; transform-origin: 50% 50%; will-change: transform; }
#gameOverlay .tg-ender-rotorbox svg, #gameOverlay .tg-ender-front { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
#gameOverlay .tg-ender-front { pointer-events: none; }
#gameOverlay .tg-ender-wheel text { font: 800 15px var(--tg-num); fill: #fff; paint-order: stroke; stroke: rgba(10, 16, 32, .85); stroke-width: 3px; }
#gameOverlay .tg-ender-wheel path.is-hit { stroke: #fff4d0; stroke-width: 3; fill-opacity: .75; animation: tgSegGlow .22s steps(1) 8; }
#gameOverlay .tg-ender-flaps { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
#gameOverlay .tg-ender-flap {
  --i: 0;
  position: absolute;
  top: 1%;
  left: calc(50% + var(--i) * 8.6%);
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--flap);
  transform: translateX(-50%) rotate(calc(var(--i) * 11.25deg));
  transform-origin: 50% 0;
  pointer-events: auto;
  cursor: pointer;
}
#gameOverlay .tg-ender-flap:nth-child(1) { --i: -1; }
#gameOverlay .tg-ender-flap:nth-child(3) { --i: 1; }
#gameOverlay .tg-ender-flap i { width: 0; height: 0; border-left: 11px solid transparent; border-right: 11px solid transparent; border-top: 24px solid var(--flap); filter: drop-shadow(2px 3px 0 rgba(0, 0, 0, .5)); }
#gameOverlay .tg-ender-flap span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#gameOverlay .tg-ender-flap:disabled { cursor: default; opacity: .7; }
#gameOverlay .tg-ender-flap.is-chosen { opacity: 1; filter: drop-shadow(0 0 10px var(--flap)); }
#gameOverlay .tg-flap-btn { border: 2px solid var(--flap, var(--tg-gold)) !important; box-shadow: inset 6px 0 0 var(--flap, var(--tg-gold)) !important; }

/* ------------------------------------------------------------ Schmale Bildschirme */
@media (max-width: 760px) {
  #gameOverlay .tg-gs-board { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #gameOverlay .tg-gs-spot { min-height: 104px; }
  #gameOverlay .tg-hunt-grid { grid-template-columns: repeat(6, 44px); gap: 4px; }
  #gameOverlay .tg-hunt-block { width: 44px; height: 40px; }
  #gameOverlay .tg-hunt-block span { font-size: 13px; }
  #gameOverlay .tg-coin-scene { grid-template-columns: 1fr; gap: 10px; }
  #gameOverlay .tg-coin { margin: 0 auto; }
  #gameOverlay .tg-bz-meta { display: none; }
  #gameOverlay .tg-bz-frame { border-width: 3px; }
  #gameOverlay .tg-bz-slots { inset: 8px; }
  #gameOverlay .tg-bz-grid { inset: 10px; }
}
/* Handy: Auch die Glücksrad-Show wird gescrollt statt verkleinert – auf halbe Größe gezoomt waren die acht Setzfelder
   kaum zu treffen und ihre Quoten nicht zu lesen. Das Rad ist etwas kleiner, damit die erste Felderreihe gleich mit im Bild
   ist; ein Bonusspiel braucht die volle Bühnenhöhe (top-games.js gsToStage rollt dann nach oben). */
@media (max-width: 560px) {
  body.tc-redesign #gameOverlay .theater-table.theme-gameshow #gameBoard { overflow-x: hidden !important; overflow-y: auto !important; align-items: flex-start !important; justify-content: flex-start !important; overscroll-behavior: contain; }
  body.tc-redesign #gameOverlay .theater-table.theme-gameshow .tc-stage-content { zoom: 1 !important; width: 100% !important; }
  #gameOverlay .tg-gs { gap: 8px; }
  #gameOverlay .tg-gs-stage { gap: 8px; padding: 10px 8px 80px; }
  #gameOverlay .tg-gs-wheelwrap { width: min(252px, 66vw); }
  #gameOverlay .tg-gs-stage:has(> .tg-gs-bonus:not([hidden])) { min-height: 492px; }
  #gameOverlay .tg-gs-bonus { gap: 8px; padding: 10px 6px; }
  #gameOverlay .tg-gs-bonus .tg-gs-btitle { font-size: 20px; line-height: 1.15; }
  /* Schleimball: 16 Fächer passen nur hochkant beschriftet nebeneinander (waagerecht ragten die letzten zwei aus dem Bild). */
  #gameOverlay .tg-slime { width: min(calc(100vw - 46px), 400px); aspect-ratio: 16 / 13; }
  #gameOverlay .tg-slime-slots { gap: 1px; }
  #gameOverlay .tg-slime-slots li { min-height: 48px; padding: 3px 0; border-width: 1px; font-size: 10.5px; letter-spacing: .03em; writing-mode: vertical-rl; }
  #gameOverlay .tg-slime-slots li small { display: none; }
  #gameOverlay .tg-gs-board { gap: 6px; }
  #gameOverlay .tg-gs-spot { min-height: 96px; padding: 8px 2px 32px; }
  #gameOverlay .tg-gs-tools { gap: 6px 8px; padding: 8px; }
  #gameOverlay .tg-gs-hint { flex-basis: 100%; }
}
@media (max-width: 380px) {
  #gameOverlay .tg-gs-pay { font-size: 10px; letter-spacing: 0; white-space: nowrap; }
}
/* ------------------------------------------------------------ „Bewegung reduzieren“
   experience.css schaltet dann seitenweit alle CSS-Übergänge/-Animationen ab (!important). Ohne ihre Bewegung laufen
   die Top-Spiele in einem Augenblick durch (Bonanza-Runde in 0,2 s) – deshalb hier gezielt wieder an. max-games.css sperrt mit
   drei ID-Stufen (#gameOverlay :not(#mx-a):not(#mx-b)), daher hier vier (#gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c)). */
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell { transition: transform 430ms cubic-bezier(.3, 1.3, .55, 1) var(--d, 0ms), opacity 220ms !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell.is-enter { transition: none !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell .tg-px { transition: transform 240ms !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell.is-win::before { animation: tgGlow .7s ease-in-out infinite alternate !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell.is-win .tg-px { animation: tgBounce .35s ease-in-out infinite alternate !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell.is-scatter::before { animation: tgGlow .5s ease-in-out infinite alternate !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell.is-scatter .tg-px { animation: tgSpinPop .9s ease-in-out infinite !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-cell.is-bomb-fire .tg-px { animation: tgBounce .25s ease-in-out infinite alternate !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz .tg-bz-floater { animation: tgFloat 2.1s ease-out forwards !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-bz-banner.is-in b, body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-flash b, body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-bonus-intro, body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-result.is-win { animation: tgBanner .5s cubic-bezier(.3, 1.6, .5, 1) both !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-stage:has(.is-spinning) .tg-gs-beams i:first-child { animation: tgBeamL 1.6s ease-in-out infinite alternate !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-stage:has(.is-spinning) .tg-gs-beams i:last-child { animation: tgBeamR 1.6s ease-in-out infinite alternate !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .is-spinning .tg-gs-lampbox i { animation-name: tgLampLit !important; animation-duration: .42s !important; animation-timing-function: steps(1) !important; animation-iteration-count: infinite !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .is-landed .tg-gs-lamp { animation: tgLampFlash .24s steps(1) 8 !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-glow:not(.is-still) { animation: tgSegGlow .22s steps(1) 10 !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-spot.is-landed { animation: tgSpotLand .5s steps(2) 4 !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-px-hero { animation: tgHero 1s ease-in-out infinite alternate !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-coin.is-flip[data-side="red"] { animation: tgCoinRed 2s cubic-bezier(.2, .8, .3, 1) forwards !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-coin.is-flip[data-side="blue"] { animation: tgCoinBlue 2s cubic-bezier(.2, .8, .3, 1) forwards !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-coin.is-still { animation: none !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-coin-side { transition: transform .3s, box-shadow .3s !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-slime-pegs i { transition: background .2s, box-shadow .2s !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-hunt-block.is-mining { animation: tgMine .12s steps(2) 3 !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-hunt-block.is-mining .tg-hunt-crack { animation: tgCrack .36s steps(1) forwards !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-ender-wheel path.is-hit { animation: tgSegGlow .22s steps(1) 8 !important; }
body.tc-reduced-motion #gameOverlay:not(#tg-a):not(#tg-b):not(#tg-c) .tg-gs-spot { transition: transform .12s, box-shadow .2s, filter .2s !important; }
