html,
body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #071425;
  touch-action: none;
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
}
canvas {
  display: block;
  touch-action: none;
}

#panel {
  position: fixed;
  left: 18px;
  top: 18px;
  z-index: 10;
  font:
    12px/1.6 ui-monospace,
    "SF Mono",
    Menlo,
    monospace;
  letter-spacing: 0.04em;
  color: #b8cfcc;
  background: rgba(18, 34, 50, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(184, 207, 204, 0.18);
  border-radius: 10px;
  padding: 12px 34px 11px 14px;
  user-select: none;
}
#panel .row {
  display: flex;
  align-items: center;
  gap: 10px;
}
#panel label {
  width: 52px;
}
#panel output {
  width: 34px;
  text-align: right;
  opacity: 0.7;
}
#panel .hint {
  margin-top: 8px;
  opacity: 0.5;
  font-size: 11px;
}

#toggle {
  position: absolute;
  top: 6px;
  right: 8px;
  background: none;
  border: 0;
  padding: 4px 6px;
  color: inherit;
  font: inherit;
  opacity: 0.55;
  cursor: pointer;
}
#panel.collapsed .body {
  display: none;
}
#panel.collapsed {
  padding: 6px 34px 6px 12px;
}

input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 104px;
  height: 2px;
  background: rgba(184, 207, 204, 0.25);
  border-radius: 2px;
  outline: none;
  cursor: grab;
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #cfe3df;
  border: none;
  cursor: grab;
}
input[type="range"]::-moz-range-thumb {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #cfe3df;
  border: none;
  cursor: grab;
}

@media (max-width: 720px), (pointer: coarse) {
  #panel {
    left: 10px;
    top: 10px;
    right: 10px;
    font-size: 11px;
    padding: 10px 34px 9px 12px;
  }
  #panel label {
    width: 44px;
  }
  input[type="range"] {
    width: 100%;
    flex: 1;
  }
  #panel .hint {
    font-size: 10px;
  }
}
