:root { color-scheme: light dark; }
body {
  margin: 0 auto; padding: 12px; max-width: 520px;
  font: 16px/1.4 system-ui, sans-serif;
  background: var(--tg-theme-bg-color, #fff); color: var(--tg-theme-text-color, #111);
}
header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
h1 { font-size: 18px; margin: 0 0 4px; }
h2 { font-size: 16px; margin: 0 0 4px; }
p { margin: 0; }
.dim { opacity: .65; font-size: 14px; }
#coins { font-size: 26px; font-weight: 700; }

#scene {
  width: 100%; margin: 10px 0 6px; border-radius: 14px; display: block;
  image-rendering: pixelated;                       /* пиксельные тайлы не размывать */
  background: #7dbb5a;
}

.panel {
  margin-top: 10px; padding: 12px; border-radius: 14px; display: grid; gap: 8px;
  background: var(--tg-theme-secondary-bg-color, #f2f2f4);
}
button {
  padding: 13px 16px; border: 0; border-radius: 12px; font: inherit; font-weight: 600;
  background: var(--tg-theme-button-color, #2ea6ff); color: var(--tg-theme-button-text-color, #fff);
}
button:disabled { opacity: .45; }
.ghost {
  padding: 6px 10px; font-size: 13px; background: transparent;
  color: var(--tg-theme-link-color, #2ea6ff); border: 1px solid currentColor;
}
#err { color: #e04040; min-height: 1.4em; margin-top: 8px; font-size: 14px; }
