:root {
  color-scheme: dark;
  --bg: #0d0f12;
  --panel: #151922;
  --ink: #e7ebf3;
  --muted: #8c97a8;
  --accent: #ffd54a;
  --border: #222a38;
  --glass: #0e1320cc;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: radial-gradient(1200px 800px at 30% -10%, #141a24, var(--bg));
  color: var(--ink); font: 14px/1.4 ui-sans-serif, system-ui, Segoe UI, Roboto, Helvetica, Arial;
  display: grid; place-items: start center; min-height: 100svh; padding: 16px;
}
.app { width: min(100%, 860px); }
.toolbar {
  background: #121621; border: 1px solid var(--border); border-radius: 10px;
  padding: 10px 12px; display: flex; gap: 12px; align-items: center; justify-content: space-between;
}
.scores { display: flex; gap: 10px; align-items: center; }
.sep { color: var(--muted); }
.controls { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.stage { margin-top: 14px; }
.play { display: grid; grid-template-columns: auto 180px; gap: 16px; align-items: start; }
.canvas-wrap { position: relative; }
#playfield {
  image-rendering: pixelated; border-radius: 10px; border: 1px solid var(--border); background: #000915;
  box-shadow: 0 10px 40px rgba(0,0,0,.5), inset 0 0 40px rgba(0,20,60,.5);
}
.panels { display: grid; gap: 12px; }
.panel {
  background: #121621; border: 1px solid var(--border); border-radius: 10px; padding: 10px 10px 6px;
}
.title { color: var(--muted); margin-bottom: 6px; }
#hold, #next {
  image-rendering: pixelated; background: #0a0f19; border-radius: 8px; border: 1px solid #1a2233;
}
.help { color: var(--muted); font-size: 12px; display: grid; gap: 4px; padding: 6px; }
.overlay {
  position: absolute; inset: 0; display: grid; place-items: center;
  color: var(--accent); font-weight: 700; font-size: 20px; text-align: center;
  background: linear-gradient(transparent, transparent, rgba(0,0,0,.15));
  text-shadow: 0 2px 8px rgba(0,0,0,.6);
  pointer-events: none;
}
.hidden { display: none; }
button, select, input[type="checkbox"] { cursor: pointer; }