/* A coherent animated discharge, drawn from pooled SVG paths by the ticker. */
:root:is([data-skin="luckyway"], [data-skin="plinko"], [data-skin="racing"], [data-skin="thunder"]) .lw-hot-layer { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-hot-fx { position: absolute; width: var(--lw-cellWidth); height: var(--lw-cellHeight); transform-origin: center; pointer-events: none; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-hot-electric { position: absolute; inset: -8px; mask-image: conic-gradient(from -90deg at 50% 50%, black 0deg var(--lw-hot-reveal, 0deg), transparent var(--lw-hot-reveal, 0deg) 360deg); }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-hot-electric.is-complete { mask-image: none; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-hot-svg { position: absolute; inset: 0; overflow: visible; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell [hidden], :root:is([data-skin="luckyway"], [data-skin="plinko"], [data-skin="racing"], [data-skin="thunder"]) .lw-clock [hidden], :root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-hot-fx[hidden] { display: none !important; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-own, :root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-total, :root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-count { position: absolute; display: flex; align-items: center; justify-content: center; padding: 6px; height: 21px; border-radius: 90px; background: var(--lw-pillBg); font-size: var(--lw-smallSize); line-height: 9px; font-weight: 500; white-space: nowrap; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-count { min-width: 21px; padding-left: 5px; padding-right: 5px; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-total, :root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-count { bottom: var(--lw-pillInset); color: var(--lw-muted); }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-total { left: var(--lw-pillInset); }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-count { right: var(--lw-pillInset); }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-own { top: var(--lw-pillInset); left: 50%; transform: translateX(-50%); color: var(--lw-ink); }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-flash { position: absolute; inset: 0; border-radius: 19px; opacity: 0; pointer-events: none; background-image: linear-gradient(115deg, transparent 30%, rgba(240,242,245,.6) 49%, transparent 68%), radial-gradient(ellipse at 50% 70%, rgba(226,218,255,.7), transparent 78%); background-size: 220% 100%, 100% 100%; background-position: -80% 50%; filter: blur(1px); mix-blend-mode: screen; }
:root:is([data-skin="luckyway"], [data-skin="plinko"], [data-skin="racing"], [data-skin="thunder"]) .lw-player-stat { display: flex; gap: 8px; align-items: start; }
:root:is([data-skin="luckyway"], [data-skin="plinko"], [data-skin="racing"], [data-skin="thunder"]) .lw-player-stat > div { text-box-trim: trim-both; text-box-edge: cap alphabetic; }

/* A single foreground payout chip, overlaid on the fixed clock area. */
:root:is([data-skin="luckyway"], [data-skin="plinko"], [data-skin="racing"], [data-skin="thunder"]) .lw-win-pill { position: absolute; top: var(--lw-winPillTop); left: 50%; z-index: 7; pointer-events: none; width: max-content; max-width: calc(100% - 16px); transform: translateX(-50%); }
:root:is([data-skin="luckyway"], [data-skin="plinko"], [data-skin="racing"], [data-skin="thunder"]) .lw-win-pill[hidden] { display: none; }
:root:is([data-skin="luckyway"], [data-skin="plinko"], [data-skin="racing"], [data-skin="thunder"]) .lw-win-pill-body { display: flex; align-items: center; justify-content: center; height: var(--lw-winPillHeight); padding: 0 var(--lw-winPillPad); border: 1px solid var(--lw-winPillEdge); border-radius: 99px; background: linear-gradient(180deg, var(--lw-winPillTopColor), var(--lw-winPillColor)); background-origin: border-box; color: var(--lw-winPillInk); box-shadow: var(--lw-winPillShadow); font: 650 var(--lw-winPillSize)/1 LuckywayInter, sans-serif; letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap; transform-origin: 50% 50%; }

/* B-клетка бонуса раунда: показ ставке игрока (сервер, ThunderBetResponseMsg.bonus). */
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-bonus { box-shadow: 0 0 0 2px #ffd23f, 0 0 14px rgba(255, 210, 63, .65); }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell-bonus { position: absolute; top: 6%; right: 8%; z-index: 4; font-size: .9em; line-height: 1; pointer-events: none; filter: drop-shadow(0 0 4px rgba(255, 210, 63, .9)); }

/* Отказ ставки (сервер или локально): весь кейс вспыхивает красным, белый крестик, тряска кейса. */
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-case-reject-body { position: absolute; inset: 0; border-radius: var(--lw-case-radius); background: var(--lw-case-rejectBody); box-shadow: var(--lw-case-bodyEdge); opacity: 0; pointer-events: none; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-case-reject-tint { position: absolute; inset: 0; border-radius: inherit; background: var(--lw-case-rejectLid); opacity: 0; pointer-events: none; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-case-reject { position: absolute; left: 50%; top: var(--lw-case-coefTop); width: 30px; height: 30px; transform: translate(-50%, -50%); opacity: 0; pointer-events: none; z-index: 2; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-case-reject svg { display: block; width: 100%; height: 100%; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-case-reject path { fill: none; stroke: var(--lw-case-rejectInk); stroke-width: 4; stroke-linecap: round; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-rejected .lw-cell-face { animation: lw-reject-shake .35s ease; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-rejected .lw-case-reject-tint, :root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-rejected .lw-case-reject-body { animation: lw-reject-tint .8s ease; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-rejected .lw-case-latch { animation: lw-reject-clasp .8s ease; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-rejected .lw-case-reject { animation: lw-reject-x .8s ease forwards; }
:root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-rejected .lw-coef { animation: lw-reject-coef .8s ease; }
@keyframes lw-reject-shake { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-4px); } 40% { transform: translateX(4px); } 60% { transform: translateX(-2px); } 80% { transform: translateX(2px); } }
@keyframes lw-reject-tint { 0% { opacity: 0; } 15%, 70% { opacity: 1; } 100% { opacity: 0; } }
@keyframes lw-reject-x { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.4); } 20%, 70% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(1); } }
@keyframes lw-reject-clasp { 0%, 100% { background: var(--lw-case-clasp); } 15%, 70% { background: var(--lw-case-rejectClasp); } }
@keyframes lw-reject-coef { 0% { opacity: 1; } 12%, 75% { opacity: .18; } 100% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { :root:is([data-skin="luckyway"], [data-skin="plinko"]) .lw-cell.is-rejected .lw-cell-face { animation: none; } }
