/* Bubi-futam mini game. Self-contained: works inside any [data-bubi-game] element. */
.bg-top { display: block; }
.bg-top .back { margin: 0 0 8px; font: 13px var(--mono, monospace); }
.bg-top .back a { text-decoration: none; }

.bg-game {
	--g-teal: #3ee6c1; --g-bg: #0b141c; --g-line: #1f3443; --g-muted: #8fa6b5;
	position: relative; border: 1px solid var(--g-line); border-radius: 6px; overflow: hidden;
	background: var(--g-bg); outline: none; user-select: none; -webkit-user-select: none;
	font-family: "JBM", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.bg-game:focus-visible { box-shadow: 0 0 0 2px var(--g-teal); }
.bg-cv { display: block; width: 100%; height: 260px; touch-action: none; cursor: pointer; }
.bg-hud { position: absolute; top: 10px; left: 14px; right: 14px; display: flex; justify-content: space-between; gap: 12px; pointer-events: none; font-size: 13px; color: var(--g-muted); }
.bg-hud .bg-score { font-size: 20px; color: #fff; font-variant-numeric: tabular-nums; }
.bg-hud .bg-best { align-self: center; font-variant-numeric: tabular-nums; }
.bg-ov { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 16px; text-align: center; background: rgba(11, 20, 28, .82); }
.bg-ov[hidden] { display: none; }
.bg-ov h2 { margin: 0; font-size: 22px; letter-spacing: .08em; color: #fff; font-weight: 400; }
.bg-ov h2 span { color: var(--g-teal); }
.bg-ov p { margin: 0; max-width: 520px; font: 14px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: #c4d3dc; }
.bg-ov .bg-tip { color: var(--g-muted); font-size: 13px; }
.bg-ov .bg-res { font-family: inherit; color: #fff; }
.bg-ov button { min-height: 44px; padding: 8px 22px; border: 1px solid var(--g-teal); border-radius: 6px; background: rgba(62, 230, 193, .12); color: #fff; font-size: 15px; font-family: inherit; cursor: pointer; }
.bg-ov button:hover, .bg-ov button:focus-visible { background: rgba(62, 230, 193, .28); outline: none; }
@media (max-width: 560px) {
	.bg-cv { height: 220px; }
	.bg-ov h2 { font-size: 18px; }
	.bg-ov p { font-size: 13px; }
}
