:root {
  color-scheme: dark;
  --bg: #121218;
  --panel: #232331;
  --ink: #f4f4ff;
  --you: #7dd3fc;
  --ai: #fca5a5;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, #2f2840, var(--bg));
}

.wrap { max-width: 760px; margin: 0 auto; padding: 16px; }
.top h1 { margin: 0; }
.top p { margin: 6px 0 0; opacity: 0.86; }

.hud {
  margin: 14px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.hud div {
  background: var(--panel);
  border-radius: 10px;
  border: 1px solid #3a3950;
  padding: 10px;
}

.hud span { display: block; font-size: 0.76rem; opacity: 0.8; }

.grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-bottom: 10px;
}

.cell {
  min-height: 86px;
  border: 1px solid #3a3950;
  border-radius: 10px;
  background: #1c1c28;
  color: var(--ink);
  font-weight: 700;
  cursor: pointer;
}

.cell.player { background: #123246; border-color: #2d708f; color: var(--you); }
.cell.ai { background: #431f28; border-color: #944457; color: var(--ai); }
.cell.target { outline: 2px solid #ffd166; }

button {
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 700;
  background: #ffd166;
  color: #3a2a00;
}

@media (max-width: 640px) {
  .hud { grid-template-columns: repeat(2, 1fr); }
}