* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: #1a1a2e;
  color: #e0e0e0;
  font-family: Arial, Helvetica, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

#page-layout {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
}

#sidebar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-self: center;
}

#wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

h1 {
  font-size: 2rem;
  letter-spacing: 2px;
  color: #e0e0e0;
}

#game-container {
  border: 3px solid #4a4a8a;
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(100, 100, 200, 0.4);
  line-height: 0;
}

#gameCanvas {
  display: block;
  background-color: #16213e;
}

#controls-hint {
  font-size: 0.9rem;
  color: #9090b0;
}

.mode-btn {
  background-color: #2a2a5e;
  color: #e0e0e0;
  border: 2px solid #4a4a8a;
  border-radius: 4px;
  padding: 10px 16px;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}

.mode-btn:hover {
  background-color: #3a3a7e;
  border-color: #7a7aba;
}

.mode-btn.active {
  background-color: #4a4a9e;
  border-color: #9090d0;
}

#btn-start {
  background-color: #1a6e1a;
  color: #e0e0e0;
  border: 2px solid #2a9e2a;
  border-radius: 4px;
  padding: 10px 16px;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
  margin-top: 8px;
}

#btn-start:hover {
  background-color: #2a8e2a;
  border-color: #4abe4a;
}

#btn-reset {
  background-color: #6e1a1a;
  color: #e0e0e0;
  border: 2px solid #9e2a2a;
  border-radius: 4px;
  padding: 10px 16px;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}

#btn-reset:hover {
  background-color: #8e2a2a;
  border-color: #be4a4a;
}
