/* Blitz Originals: Plinko, Mines, Crash — dark lobby look */
.blitz-og { --og-bg:#0F1420; --og-panel:#141B2B; --og-raised:#1B2440; --og-line:#222C42; --og-text:#DCE2EE; --og-soft:#B4BDD0; --og-muted:#8B97B3; --og-gold:#FFD23F; --og-hot:#FF4D6D; --og-win:#4ADE80; color:var(--og-text); font-family:var(--blitz-font, Rubik, system-ui, sans-serif); padding:16px; display:flex; flex-direction:column; gap:14px; background:var(--og-bg); border-radius:18px; }
.blitz-game-frame:has(.blitz-og) { background:var(--og-bg, #0F1420); box-shadow:none; }
.og-top { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; }
.og-coins { font-weight:800; color:var(--og-gold); font-size:18px; font-variant-numeric:tabular-nums; display:inline-flex; align-items:center; gap:6px; }
.og-coins::before { content:""; width:16px; height:16px; border-radius:50%; background:radial-gradient(circle at 35% 35%,#FFE9A3,#D9A514); box-shadow:inset 0 0 0 2px #B98A0B; }
.og-title { font-weight:800; font-style:italic; color:#fff; flex:1; }
.og-refill { background:var(--og-gold); color:var(--og-bg); border:0; border-radius:10px; padding:10px 14px; font-weight:800; font-family:inherit; cursor:pointer; min-height:44px; }

.og-layout { display:flex; flex-wrap:wrap; gap:16px; align-items:flex-start; }
.og-panel { flex:1 1 240px; max-width:100%; min-width:0; background:var(--og-panel); border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:14px; }
.og-stage { flex:999 1 420px; min-width:0; background:var(--og-raised); border-radius:14px; padding:14px; position:relative; overflow:hidden; }
.og-field { display:flex; flex-direction:column; gap:6px; }
.og-field label, .og-lab { font-size:13px; color:var(--og-soft); font-weight:500; }
.og-bet { display:flex; gap:6px; }
.og-bet input { flex:1; min-width:0; }
.blitz-og input, .blitz-og select { background:var(--og-bg); color:#fff; border:1px solid var(--og-line); border-radius:10px; padding:10px 12px; font:inherit; font-weight:700; min-height:44px; box-sizing:border-box; width:100%; font-variant-numeric:tabular-nums; }
.og-bet input { width:auto; }
/* Bet amount on its own full-width row so large stakes (e.g. 5,000) are fully visible; ½ / 2× / Max below. */
.og-bet { flex-wrap:wrap; }
.og-bet input { flex:1 1 100%; width:100%; font-size:18px; }
.og-bet button { flex:1 1 0; }
.og-bet button, .og-seg button { background:var(--og-line); color:#fff; border:0; border-radius:10px; padding:0 12px; min-height:44px; min-width:44px; font-weight:700; font-family:inherit; cursor:pointer; }
.og-bet button:hover, .og-seg button:hover { background:#2A3550; }
.og-seg { display:flex; gap:6px; }
.og-seg button { flex:1; }
.og-seg button[aria-pressed="true"] { background:var(--og-gold); color:var(--og-bg); }
.blitz-og button:disabled { opacity:.45; cursor:not-allowed; }
.og-go { background:var(--og-gold); color:var(--og-bg); border:0; border-radius:12px; min-height:52px; font-weight:800; font-size:17px; font-family:inherit; cursor:pointer; }
.og-go:not(:disabled):hover { background:#FFE07A; }
.og-cash { background:var(--og-win); }
.og-cash:not(:disabled):hover { background:#7CF0A9; }
.og-note { margin:0; font-size:13px; color:var(--og-muted); }
.og-note b { color:#fff; }
.og-msg { margin:0; font-weight:700; min-height:24px; }
.blitz-og button:focus-visible, .blitz-og input:focus-visible, .blitz-og select:focus-visible { outline:3px solid var(--og-gold); outline-offset:2px; }

/* Plinko */
.pl-canvas { display:block; width:100%; }
.pl-slots { display:flex; gap:3px; margin:4px auto 0; max-width:100%; }
.pl-slot { flex:1; min-width:0; text-align:center; border-radius:6px; padding:6px 0; font-size:11px; font-weight:800; color:var(--og-bg); font-variant-numeric:tabular-nums; overflow:hidden; }
.pl-t1 { background:#FFE07A; } .pl-t2 { background:#FFB84D; } .pl-t3 { background:#FF8A5C; } .pl-t4 { background:var(--og-hot); color:#fff; }
.pl-hit { animation:pl-hit .45s ease-out; }
@keyframes pl-hit { 30% { transform:translateY(6px); filter:brightness(1.35); } }

/* Mines */
.mn-grid { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:8px; max-width:460px; margin:0 auto; }
.mn-tile { aspect-ratio:1; border:0; border-radius:12px; background:#2A3550; box-shadow:inset 0 -5px 0 rgba(0,0,0,.25); cursor:pointer; display:grid; place-items:center; padding:18%; }
.mn-tile:not(:disabled):hover { background:#34416A; transform:translateY(-2px); }
.mn-tile:disabled { opacity:1; cursor:default; }
.mn-tile svg { width:100%; height:100%; }
.mn-gem { background:#123B2C; box-shadow:inset 0 0 0 2px var(--og-win); }
.mn-mine { background:#3A1622; }
.mn-boom { background:var(--og-hot); }
.mn-dim { opacity:.35 !important; }

/* Crash */
.cr-stage { min-height:260px; }
.cr-canvas { display:block; width:100%; }
.cr-mult { position:absolute; top:22px; left:0; right:0; text-align:center; font-weight:800; font-style:italic; font-size:clamp(34px, 7vw, 56px); color:#fff; font-variant-numeric:tabular-nums; pointer-events:none; }
.cr-dead .cr-mult { color:var(--og-hot); font-size:clamp(24px, 5vw, 40px); }
.cr-hist { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.cr-chip { font-size:12px; font-weight:800; border-radius:99px; padding:4px 9px; font-variant-numeric:tabular-nums; }
.cr-hi { background:rgba(74,222,128,.18); color:var(--og-win); }
.cr-lo { background:rgba(255,77,109,.16); color:#FF9AAA; }

@media (max-width:520px) {
	.blitz-og { padding:10px; }
	.og-panel, .og-stage { padding:12px; }
	.pl-slot { font-size:9px; padding:4px 0; }
	.mn-grid { gap:6px; }
}
@media (prefers-reduced-motion:reduce) { .pl-hit { animation:none; } .mn-tile:not(:disabled):hover { transform:none; } }
