.round-lamp-back{
  position:relative;
  width:260px;
  height:260px;
  margin:60px auto;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #555, #111 70%);
  box-shadow:inset 0 0 45px rgba(0,0,0,.95),0 0 30px rgba(226,0,223,.35);
  font-family:monospace;

  opacity:.45;
  filter:saturate(1.15) contrast(1.05);
  pointer-events:none;
  transform:rotate(-8deg);
  animation: lampFloat 6.2s ease-in-out infinite;
}

@keyframes lampFloat{
  0%,100%{ transform:rotate(-8deg) translateY(0); }
  50%{ transform:rotate(-8.4deg) translateY(-2px); }
}

.round-lamp-back .knob,
.round-lamp-back .btn{
  pointer-events:auto;
}

/* glow */
.round-lamp-back::before{
  content:"";
  position:absolute;
  inset:-18%;
  border-radius:50%;
  background:
    radial-gradient(circle,
      transparent 52%,
      hsla(var(--hue,45),100%,62%,.65) 68%,
      hsla(var(--hue,45),100%,62%,.35) 82%,
      hsla(var(--hue,45),100%,62%,.15) 94%,
      transparent 100%);
  filter:blur(calc(var(--blur,14px) * 1.4));
  opacity:calc(var(--power,0) * 2);
  pointer-events:none;
  transition:.3s;
}

/* display + controls */
.lamp-display{
  position:absolute;
  top:42px;
  left:50%;
  transform:translateX(-50%);
  width:150px;
  height:46px;
  background:linear-gradient(#1e3cff,#162b9e);
  color:#cfe8ff;
  font-size:12px;
  padding:6px 8px;
  box-shadow:inset 0 0 10px rgba(0,0,0,.7);
  border-radius:4px;
}

.display-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.knob{
  position:absolute;
  width:32px;
  height:32px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#777,#222 70%);
  box-shadow:inset 0 0 6px rgba(0,0,0,.8);
  cursor:pointer;
}

.knob::after{
  content:"";
  position:absolute;
  top:5px;
  left:50%;
  width:3px;
  height:9px;
  background:#e200df;
  transform:translateX(-50%);
  border-radius:2px;
}

.knob-soft{ bottom:64px; left:52px; }
.knob-int{ bottom:64px; right:52px; }
.knob-power{ bottom:20px; left:50%; transform:translateX(-50%); }

.button-row{
  position:absolute;
  top:104px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
}

.btn{
  width:30px;
  height:18px;
  background:#333;
  color:#cfe8ff;
  font-size:9px;
  text-align:center;
  line-height:18px;
  border-radius:3px;
  box-shadow:inset 0 0 4px rgba(0,0,0,.8);
  cursor:pointer;
}

