/* Flat suite theme. DINO's screen, assets and game-view chrome are excluded. */
.app:not(.game-view) { background:#091626; }
.app:not(.game-view) .screen:not(#screen-game) { background:#091626; }
.app:not(.game-view) .header { background:#091626; border-bottom:1px solid #213248; }
.app:not(.game-view) .logo { background:none; font:900 22px var(--font-app); color:#f1f6fc; width:auto; height:auto; text-shadow:none; }
.app:not(.game-view) .balance-pill { background:#122238; border:1px solid #263c55; border-radius:10px; box-shadow:none; color:#e6f3ff; }
.app:not(.game-view) .tabbar { background:#0c1a2b; border-color:#22344b; border-radius:0; box-shadow:none; }
.app:not(.game-view) .btn-primary,.app:not(.game-view) .btn-cashout,.app:not(.game-view) .btn-pay,
.app:not(.game-view) .tr-build,.app:not(.game-view) .tr-cash { background:#299eeb; color:white; border:0; box-shadow:none; border-radius:10px; text-shadow:none; }
.app:not(.game-view) .card,.app:not(.game-view) .stat-card,.app:not(.game-view) .row,
.app:not(.game-view) .mines-panel,.app:not(.game-view) .mines-stats,.app:not(.game-view) .tr-panel { background:#101f32; border:1px solid #24384f; box-shadow:none; border-radius:12px; }
.app:not(.game-view) .chip,.app:not(.game-view) .m-bet,.app:not(.game-view) .tr-bet,
.app:not(.game-view) .m-stepper { background:#172a40; border-color:#2b415b; box-shadow:none; color:#cee2f5; border-radius:8px; }
.app:not(.game-view) .chip.active { background:#225578; border-color:#5fb9f2; color:white; }
.app:not(.game-view) .s-value,.app:not(.game-view) .big { color:#f0f6fd; text-shadow:none; }
.game-card:not(.dino) { background:#122238; border:1px solid #283f59; border-radius:14px; box-shadow:none; height:136px; min-height:136px; box-sizing:border-box; justify-content:flex-start; }
.game-card.dino { height:136px; min-height:136px; box-sizing:border-box; justify-content:flex-start; }
.gc-resume { position:absolute; left:16px; bottom:12px; margin-top:0; }
.game-card:not(.dino)::before { display:none; }
.game-card:not(.dino) .gc-title { font-size:24px; text-shadow:none; letter-spacing:0; }
.game-card:not(.dino) .gc-badge { background:#1e3d56; color:#8ccfff; box-shadow:none; font-size:10px; }
.game-card:not(.dino) .gc-meta { background:none; padding-left:0; color:#8ba8c6; }
.gc-minimal { position:absolute; right:26px; top:50%; transform:translateY(-50%); width:68px; height:68px; display:grid; place-items:center; color:#64bdf5; font:800 58px var(--font-app); }
.gc-minimal .ico { width:60px; height:60px; filter:none; }
.gc-blackjack { background:#e7f0fa; color:#17263a; font-size:30px; border-radius:8px; width:48px; }
.gc-plinko { font-size:60px; }

/* Mines */
#screen-mines.screen { background:#091626; }
.mines-board { background:transparent; box-shadow:none; border:0; padding:6px 0 10px; }
.tile { background:#192d46; border:1px solid #223a55; box-shadow:none; border-radius:9px; }
.tile.gem { background:#17364d; border-color:#397b9f; }
.tile.boom { background:#643344; border-color:#b85e72; }
.tile > span { position:absolute; inset:0; display:grid; place-items:center; font-size:0; line-height:0; filter:none; pointer-events:none; }
.tile .ico,.tile.dim .ico { width:58%; height:58%; display:block; filter:none; transform-origin:center; }
.tile.dim { background:#142338; }
.m-step { background:#13243a; border-color:#243c56; }
.m-step.next { background:#225578; color:#e5f5ff; border-color:#5fb9f2; }

/* Rocket: preserve the existing trajectory and rotation. */
.crash-sky { background:#070d18 url('assets/games-v1/sky.jpg?v=1') center / cover no-repeat;
  border:1px solid #20354b; box-shadow:none; border-radius:14px; }
.cr-stars,.cr-clouds,.cr-planet,.crash-graph,.cr-smoke { display:none; }
.crash-sky.idle .crash-rocket { visibility:hidden; }
.cr-twinkles { position:absolute; inset:0; pointer-events:none; z-index:0; }
.cr-twinkles i { position:absolute; width:2px; height:2px; border-radius:50%; background:#f4f7ff; box-shadow:0 0 6px #d5e4ff; opacity:0; animation:crTwinkle 4.8s ease-in-out infinite; }
.cr-twinkles i.lg { width:3px; height:3px; box-shadow:0 0 8px #fff; }
.cr-twinkles i.gold { background:#ffe7a3; box-shadow:0 0 7px #ffd56a; }
@keyframes crTwinkle {
  0%, 20% { opacity:0; transform:scale(.35); }
  46% { opacity:.95; transform:scale(1); }
  62% { opacity:.55; transform:scale(.8); }
  82%, 100% { opacity:0; transform:scale(.3); }
}
.crash-rocket { width:46px; height:68px; --rk-rot:35deg; --flame:.82;
  transform:translate(-50%,-92%) rotate(var(--rk-rot)); transform-origin:50% 92%; }
.crash-rocket::after { display:block; inset:0; background:url('assets/games-v1/rocket-body.png?v=1') center/contain no-repeat; transform:none; filter:none; }
.crash-rocket svg { visibility:hidden; }
.crash-rocket .cr-flame { visibility:visible; left:50%; top:88%; width:14px; height:36px; margin-left:-7px; border-radius:0; z-index:0;
  background:url('assets/games-v1/rocket-flame.png?v=2') center top / 100% 100% no-repeat;
  transform-origin:50% 0; opacity:0; filter:none; animation:none; transition:opacity .2s ease; }
.crash-sky.flying .cr-flame, .crash-sky.won .cr-flame { opacity:1; animation:crFlame .1s ease-in-out infinite alternate; }
@keyframes crFlame {
  from { transform:scaleY(calc(var(--flame) * .94)) scaleX(.98); }
  to { transform:scaleY(calc(var(--flame) * 1.08)) scaleX(1.02); }
}
.cr-puff { width:12px; height:10px; margin:-5px 0 0 -6px; border-radius:0; background:#0000 center/contain no-repeat; }
@keyframes crPuff { from { opacity:.55; transform:scale(.5); } to { opacity:0; transform:translate(var(--dx, -16px), var(--dy, 22px)) scale(1.05); } }
.cr-spark { position:absolute; width:8px; height:11px; margin:-5px 0 0 -4px; z-index:2; pointer-events:none;
  background:url('assets/games-v1/rocket-spark.png?v=1') center/contain no-repeat; animation:crSpark .55s ease-out forwards; }
@keyframes crSpark { from { opacity:.95; transform:scale(.8); } to { opacity:0; transform:translate(var(--dx, -8px), var(--dy, 16px)) scale(.3); } }
@media (prefers-reduced-motion: reduce) {
  .crash-sky.flying .cr-flame, .crash-sky.won .cr-flame { animation:none; opacity:1; transform:scaleY(var(--flame)); }
  .cr-spark { animation:none; }
  .cr-twinkles i { animation:none; opacity:.4; }
}
.gc-crash { display:none; }
/* Ракетка: широкий баннер на всю карточку, текст слева на тёмном небе */
/* DINO: широкий баннер на всю карточку, текст слева на тёмных джунглях */
/* Mines: широкий баннер на всю карточку, текст слева на тёмной пещере */
.app .game-card.mines { background:url('assets/games-v1/mines-banner.webp?v=2') center / cover no-repeat !important; border-color:#ffffff24 !important; }
.app .game-card.mines .gc-mines { display:none !important; }
.app .game-card.mines .gc-title, .app .game-card.mines .gc-sub, .app .game-card.mines .gc-meta { text-shadow:0 2px 6px #000c !important; }
/* Переход: широкий баннер на всю карточку, текст слева на тротуаре и асфальте */
.app .game-card.road { background:url('assets/games-v1/road-banner.jpg?v=1') right center / auto 112% no-repeat !important; border-color:#ffffff24 !important; }
.app .game-card.road .gc-road { display:none !important; }
.app .game-card.road .gc-title, .app .game-card.road .gc-sub { text-shadow:0 2px 6px #000c !important; }
.app .game-card.rocket { background:url('assets/games-v1/rocket-banner.webp') center / cover no-repeat !important; border-color:#ffffff24 !important; }
/* Plinko: широкий баннер, автомат справа, текст слева на небе */
.app .game-card.plinko { background:url('assets/games-v1/plinko-banner.jpg?v=3') right center / auto 118% no-repeat !important; border-color:#ffffff24 !important; }
.app .game-card.plinko .gc-plinko { display:none !important; }
.app .game-card.plinko .gc-title, .app .game-card.plinko .gc-sub { text-shadow:0 2px 6px #000c !important; }
/* Блэкджек: стол справа, текст слева на тёмном поле */
.app .game-card.blackjack { background:url('assets/games-v1/blackjack-banner.jpg?v=1') right center / auto 128% no-repeat !important; border-color:#ffffff24 !important; }
.app .game-card.blackjack .gc-blackjack { display:none !important; }
.app .game-card.blackjack .gc-title, .app .game-card.blackjack .gc-sub { text-shadow:0 2px 6px #000c !important; }
/* Towers: широкий баннер на всю карточку, текст слева на облаках */
.app .game-card.towers { background:url('assets/games-v1/towers-banner.webp') center / cover no-repeat !important; border-color:#ffffff24 !important; }
.app .game-card.towers .gc-towers { display:none !important; }
.app .game-card.towers .gc-title, .app .game-card.towers .gc-sub, .app .game-card.rocket .gc-title, .app .game-card.rocket .gc-sub { text-shadow:0 2px 6px #000c !important; }
.gc-crash .ico { visibility:hidden; }
.gc-mines { right:12px; width:118px; height:112px; background:url('assets/games-v1/mines-bomb.png?v=1') center/contain no-repeat; transform:translateY(-50%); filter:drop-shadow(0 6px 10px #0006); }
.gc-mines .ico { visibility:hidden; }
.crash-mult { color:#f4f8ff; text-shadow:none; }
.cr-line { stroke:#5dc3ff; filter:none; }
.crash-note { color:#89a6c4; }

/* Tower: keep all block dimensions and animation hooks. */
.tr-stage,.tr-sky { background:#091626; box-shadow:none; }
.tr-stage { border:1px solid #20354b; border-radius:14px; }
.tr-cloud,.tr-sun,.tr-bld,.tr-skyline,.tr-lamp { display:none; }
.tr-street { background:#0e2035; border-top:1px solid #4286b1; box-shadow:none; }
.tr-floor[class] { background:#62b5e9; border:1px solid #8cd4ff; box-shadow:none; filter:none; border-radius:3px; }
.tr-floor:nth-child(even) { background:#439bd6; }
.tr-floor .tr-win { visibility:visible; background:#20496b; box-shadow:none; border-radius:1px; }
.tr-win::after,.tr-floor::after,.tr-floor::before,.tr-fsign { display:none; }
.tr-base { background:#337aaf; border:1px solid #6ec2fa; box-shadow:none; border-radius:3px 3px 0 0; }
.tr-base .tr-door { visibility:visible; background:#173d5d; box-shadow:none; }
.tr-base .tr-shopwin { visibility:visible; background:linear-gradient(90deg,#193f5f 0 36%,transparent 36% 64%,#193f5f 64%); box-shadow:none; }
.tr-rope { background:#607b94; width:2px; }
.tr-hook { background:#61b8f0; box-shadow:none; }
.tr-hud { background:#0b1b2be8; box-shadow:none; backdrop-filter:none; }
.tr-mult { color:#f1f7ff; text-shadow:none; }
.tr-panel::before,.tr-panel::after { display:none; }
.tr-build span { background:none; box-shadow:none; color:white; }
.tr-modes button,.tr-quick button { background:#172a40; border-color:#2b415b; box-shadow:none; color:#a7c2dc; }
.tr-modes button.active { background:#225578; color:white; border-color:#5fb9f2; }


