* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: 'Orbitron', sans-serif;
  background: #0b0e17;
  color: #00ffcc;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: hidden;
}
.bg {
  position: fixed; inset:0;
  background: radial-gradient(ellipse at center, #0f1a2e 0%, #05070e 70%);
  z-index: -1;
}
header { text-align:center; padding:1.5rem; }
h1 {
  font-size: 2.4rem;
  letter-spacing: 6px;
  text-shadow: 0 0 15px #00ffcc, 0 0 30px #00aa88;
}
header p { font-family: 'Share Tech Mono', monospace; color:#88ffdd; margin-top:0.4rem; }
.hud {
  display:flex; gap:2rem; margin:1rem 0;
  font-family: 'Share Tech Mono', monospace;
  font-size:1.1rem;
}
.board {
  display:grid;
  grid-template-columns: repeat(5, 60px);
  gap:4px;
  background:#111825;
  padding:12px;
  border:2px solid #00ffcc44;
  border-radius:10px;
  box-shadow: 0 0 25px #00ffcc22;
}
.cell {
  width:60px; height:60px;
  background:#0a1018;
  border:1px solid #00ffcc33;
  border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem;
  cursor:pointer;
  transition: all 0.2s;
  user-select:none;
}
.cell:hover { background:#122030; }
.cell.source { background:#003322; border-color:#00ff88; }
.cell.target { background:#220011; border-color:#ff4488; }
.cell.correct { box-shadow: 0 0 12px #00ff88; }
.cell.wrong { box-shadow: 0 0 12px #ff2244; }
.controls {
  display:flex; gap:1rem; margin:1.5rem 0;
}
button {
  padding:0.7rem 1.3rem;
  background:transparent;
  border:1px solid #00ffcc;
  color:#00ffcc;
  font-family:'Orbitron',sans-serif;
  font-size:0.85rem;
  cursor:pointer;
  border-radius:6px;
  transition:all 0.25s;
}
button:hover:not(:disabled) {
  background:#00ffcc22;
  box-shadow:0 0 12px #00ffcc55;
}
button:disabled { opacity:0.4; cursor:not-allowed; }
.message {
  font-family:'Share Tech Mono',monospace;
  font-size:1.1rem;
  min-height:1.5rem;
  color:#88ffcc;
  text-align:center;
  margin-top:0.5rem;
}