*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #1a1714; overflow: hidden; height: 100dvh; font-family: system-ui, sans-serif; }

canvas {
  display: block;
  width: 100vw;
  height: 100dvh;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

#ui {
  position: fixed;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 0.55rem 1rem;
  border-radius: 2rem;
  backdrop-filter: blur(8px);
}

button {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  color: #fff;
  padding: 0.3rem 0.85rem;
  border-radius: 1rem;
  cursor: pointer;
  font-size: 0.82rem;
  line-height: 1.4;
  transition: background 0.15s;
}
button:hover { background: rgba(255,255,255,0.22); }

.control { display: flex; align-items: center; gap: 0.4rem; }
.control label { font-size: 0.75rem; color: rgba(255,255,255,0.55); white-space: nowrap; }

input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  width: 96px;
  height: 3px;
  background: rgba(255,255,255,0.25);
  border-radius: 2px;
  outline: none;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
input[type=range]::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  border: none;
}

#label {
  position: fixed;
  top: 1rem;
  left: 1rem;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.25);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  pointer-events: none;
  user-select: none;
}
