.popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(1px);
  z-index: 100;
}

.popup.hidden {
  display: none;
}

.popup-btn {
  width: 65px;
  height: 36px;
  border: 1px solid #555;
  background: #222;
  color: #aaa;
  cursor: pointer;
  font-size: 12px;
  padding: 0;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-appearance: none;
  appearance: none;
}

.popupInner {
  position: relative;
  left: 100px;
  top: 80px;
  min-width: 350px;
  padding: 24px;
  background: #111;
  border-radius: 20px;
  box-shadow: 0 0 40px rgba(120,140,255,1);
  display: inline-flex;
  flex-direction: column;
  gap: 18px;
  opacity: 0.7;
  touch-action: none;
}

.popupInner h2 {
  margin: 0;
  text-align: center;
  color: #ddd;
}

.paramRow {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.param {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.param input[type="range"] {
  writing-mode: vertical-lr;
  direction: rtl;
  width: 36px;
  height: 220px;
}

.paramWrap {
  display:flex;
  align-items: center;
  height: 220px;
}

.paramText {
  min-width: 31px;
  text-align: left;
}

.param select {
  width:80px;
  height: 30px;
  background: #222;
  color: #aaa;
  font-size: 12px;
}

.param span {
  color: #0ff;
  font-size: 12px;
}
