:root {
  --bg-color: #f4f4f4;
  --text-color: #222;
  --canvas-bg: #fff;
  --line-color: #000;
  --accent-color: #007bff;
}

body.dark {
  --bg-color: #121212;
  --text-color: #eee;
  --canvas-bg: #222;
  --line-color: #888;
  --accent-color: #66f;
}

body {
  font-family: 'Nunito', sans-serif;
  background-color: var(--bg-color);
  color: var(--text-color);
  margin: 0;
  padding: 1rem;
  transition: background 0.3s, color 0.3s;
  max-width: 320px;
  margin: 0 auto;
}

.hide {
  display: none;
}
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header #menu {
  position: relative;
}
.header #menu #menu-icon {
  background-image: url("settings.svg");
  background-repeat: no-repeat;
  background-position: center;
  width: 24px;
  height: 24px;
  border: none;
}
body.dark .header #menu #menu-icon {
  background-image: url("settings-dark.svg");
}

.controls {
  position: absolute;
  width: 50vw;
  max-width: 300px;
  right: 40px;
  top: 0;
  background: var(--bg-color);
  border: 2px solid;
  padding: 5px;
  border-radius: 6px;
}
.controls .options div {
  margin: 10px 5px;
}
.controls .options div label {
  display: block;
}
.controls .options div select, .controls .options div button {
  width: 100%;
}
.autoRestart {
  display: block;
}
#closeMenu {
  float: right;
  padding: 5px;
  font-weight: bold;
}
.buttons button {
  background-color: var(--bg-color);
  color: var(--text-color);
  border: 2px solid var(--line-color);
  border-radius: 6px;
}
.layout {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 auto;
  flex-direction: column;
  align-items: center;
}

.scoreboard {
  display: flex;
  justify-content: space-between;
}

.scoreboard {
  background-color: var(--bg-color);
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid var(--line-color);
  min-width: 200px;
}

.options {
 margin-top: 15px;
}

select,
input[type="checkbox"],
button {
  font-size: 1rem;
  padding: 6px 12px;
}

select {
  background-color: var(--bg-color);
  color: var(--text-color);
  border: 2px solid var(--line-color);
  border-radius: 6px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-caret-down-fill' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658A.5.5 0 0 1 2.88 5h10.24a.5.5 0 0 1 .429.758l-4.796 5.482a.5.5 0 0 1-.758 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 1em;
  min-width: 60px;
}

body.dark select {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-caret-down-fill' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658A.5.5 0 0 1 2.88 5h10.24a.5.5 0 0 1 .429.758l-4.796 5.482a.5.5 0 0 1-.758 0z'/%3E%3C/svg%3E");
}

select:hover,
select:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 5px var(--accent-color);
  outline: none;
}

.game-area {
  text-align: center;
  min-width: 300px;
}

canvas {
  background: var(--bg-color);
  border: 2px solid var(--line-color);
  touch-action: manipulation;
}

#status {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: bold;
}
#restartButton {
  margin-top: 1rem;
}