/* Pixel Adventure Game */
.pa-wrap { margin: 1.5em auto; box-sizing: border-box; }
.pa-wrap *, .pa-wrap *::before, .pa-wrap *::after { box-sizing: border-box; }
.pa-game { position: relative; width: 100%; background: #1d1b24; outline: none; line-height: 0;
  border: 3px solid #3a3550; border-radius: 4px; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; }
.pa-game:focus-visible { border-color: #8fd36b; }
.pa-game canvas { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
  image-rendering: pixelated; image-rendering: crisp-edges; touch-action: manipulation; }
.pa-pad { display: none; justify-content: space-between; align-items: center; padding: 10px 12px 12px; background: #2a2738; line-height: 1; touch-action: none; }
.pa-pad .pa-dirs { display: flex; gap: 10px; }
.pa-pad button { width: 64px; height: 64px; border-radius: 12px; border: 3px solid #e8e3d4; background: #3a3550; color: #e8e3d4;
  font: 700 22px/1 monospace; touch-action: none; -webkit-user-select: none; user-select: none; cursor: pointer; padding: 0; }
.pa-pad button.pa-jump { width: 108px; }
.pa-pad button.pa-on, .pa-pad button:active { background: #8fd36b; color: #1d1b24; }
@media (pointer: coarse) { .pa-pad { display: flex; } }
.pa-credit { margin-top: 8px; font-size: 13px; line-height: 1.5; color: inherit; opacity: .9; }
.pa-credit summary { cursor: pointer; }
.pa-credit dl { margin: 6px 0 0; display: grid; grid-template-columns: max-content 1fr; gap: 2px 12px; }
.pa-credit dt { font-weight: 600; }
.pa-credit dd { margin: 0; }
