/* Pokemon Gen 1 — Pokeball red + Pikachu yellow over GameBoy navy */
:root {
  --qr-bg: #0a0e1a;
  --qr-bg-elev: #141a2a;
  --qr-fg: #f5f0d8;
  --qr-fg-dim: #8a93b3;
  --qr-accent: #e63a30;
  --qr-accent-dim: #7e1410;
  --qr-warn: #ffcc00;
  --qr-danger: #b51d3a;
  --qr-grass: #6abe30;
  --qr-water: #2e8fc4;
  --qr-radius: 6px;
}
.qr-result-sprite { background: rgba(230, 58, 48, 0.05); }
/* Starter selection cards */
.qr-starter-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.qr-starter {
  appearance: none;
  background: var(--qr-bg);
  border: 2px solid var(--qr-accent-dim);
  border-radius: var(--qr-radius);
  padding: 8px;
  color: var(--qr-fg);
  font-family: inherit;
  cursor: pointer;
  min-height: 110px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.qr-starter:hover { border-color: var(--qr-accent); }
.qr-starter.picked { background: rgba(230, 58, 48, 0.18); border-color: var(--qr-accent); }
.qr-starter img { width: 56px; height: 56px; image-rendering: pixelated; }
.qr-starter-name {
  font-family: 'Press Start 2P', monospace;
  font-size: 9px;
  color: var(--qr-warn);
  letter-spacing: 1px;
}
.qr-starter-stat {
  font-size: 10px;
  color: var(--qr-fg-dim);
}
/* Type matchup grid */
.qr-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.qr-type {
  appearance: none;
  background: var(--qr-bg);
  border: 2px solid var(--qr-accent-dim);
  border-radius: var(--qr-radius);
  padding: 12px;
  color: var(--qr-fg);
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
  min-height: 56px;
  text-align: center;
}
.qr-type:hover { border-color: var(--qr-accent); }
.qr-type.water { border-left: 4px solid var(--qr-water); }
.qr-type.grass { border-left: 4px solid var(--qr-grass); }
.qr-type.fire  { border-left: 4px solid var(--qr-accent); }
.qr-type.electric { border-left: 4px solid var(--qr-warn); }
/* Mt. Moon maze 4x4 */
.qr-maze-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  background: rgba(255,255,255,0.04);
  padding: 8px;
  border-radius: var(--qr-radius);
  margin-bottom: 12px;
  aspect-ratio: 1;
}
.qr-maze-cell {
  appearance: none;
  border: 1px solid var(--qr-accent-dim);
  background: var(--qr-bg);
  border-radius: 4px;
  font-family: 'Press Start 2P', monospace;
  font-size: 9px;
  color: var(--qr-fg-dim);
  cursor: pointer;
  min-height: 44px;
}
.qr-maze-cell.zubat { background: rgba(110, 70, 160, 0.18); }
.qr-maze-cell.start { color: var(--qr-warn); border-color: var(--qr-warn); }
.qr-maze-cell.exit  { color: var(--qr-warn); border-color: var(--qr-warn); border-style: dashed; }
.qr-maze-cell.path  { background: rgba(255, 204, 0, 0.18); border-color: var(--qr-warn); }
.qr-maze-cell.battled { background: var(--qr-danger); color: #fff; animation: qrShake 380ms ease; }
