:root {
  --bg_h: #1d2021;
  --bg: #282828;
  --bg_s: #32302f;
  --bg1: #3c3836;
  --bg2: #504945;
  --bg3: #665c54;
  --bg4: #7c6f64;

  --fg: #fbf1c7;
  --fg1: #ebdbb2;
  --fg2: #d5c4a1;
  --fg3: #bdae93;
  --fg4: #a89984;

  --red: #fb4934;
  --green: #b8bb26;
  --yellow: #fabd2f;
  --blue: #83a598;
  --purple: #d3869b;
  --aqua: #8ec07c;
  --gray: #928374;
  --orange: #fe8019;

  --red-dim: #cc2412;
  --green-dim: #98971a;
  --yellow-dim: #d79921;
  --blue-dim: #458588;
  --purple-dim: #b16286;
  --aqua-dim: #689d6a;
  --gray-dim: #a89984;
  --orange-dim: #d65d0e;

  --hover-brightness: 1.3;
}

html, body {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
canvas {
  display: block;
  border: none;
}

#sim-container {
  position: relative;
}

#controls {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

#controls .button-row {
  display: flex;
  gap: 8px;
}

#controls .slider-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

button {
  cursor: pointer;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1em;
  background-color: var(--bg2);
  border: 1px solid var(--fg);
  color: var(--fg);
}

button:hover {
  background-color: var(--bg2);
}

button:active {
  background-color: var(--bg1);
}

#controls span {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1em;
  color: var(--fg);
  min-width: 10em;
  margin-left: 8px;
}

input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  background: var(--bg4);
  border-radius: 2px;
  outline: none;
  cursor: pointer;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--fg);
  border: 1px solid var(--fg);
  cursor: pointer;
}

input[type="range"]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--fg);
  border: 1px solid var(--fg);
  cursor: pointer;
}
