@media (max-width: 520px) {
  .app { width: 100vw; height: 100dvh; max-width: none; max-height: none; }
  .splash img { object-position: center; }
}
@media (min-width: 700px) { .app { border-radius: 24px; } }
@media (max-height: 650px) {
  .panel { padding-top: 20px; }
  .results-grid { margin: 12px 0; }
  .results-grid div { padding: 7px; }
  .final-score strong { font-size: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .hotspot-play, .action-prompt, .floating-message { animation: none; }
}
